{"version":3,"file":"static/js/main.605067e6.js","mappings":"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","sources":["contexts/MembershipContext.js","contexts/UserContext.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@remix-run/router/router.ts","../node_modules/exenv/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-modal/lib/components/Modal.js","../node_modules/react-modal/lib/components/ModalPortal.js","../node_modules/react-modal/lib/helpers/ariaAppHider.js","../node_modules/react-modal/lib/helpers/bodyTrap.js","../node_modules/react-modal/lib/helpers/classList.js","../node_modules/react-modal/lib/helpers/focusManager.js","../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../node_modules/react-modal/lib/helpers/scopeTab.js","../node_modules/react-modal/lib/helpers/tabbable.js","../node_modules/react-modal/lib/index.js","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/warning/warning.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/react-toastify/node_modules/clsx/dist/clsx.m.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","PrivateRoute.js","components/DelayedFallback.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["import React, { useState, createContext, useEffect } from 'react';\r\n\r\nexport const MembershipContext = createContext();\r\n\r\nexport const MembershipProvider = ({ children }) => {\r\n const defaultMembership = 'Minas Estándar'; // Ajusta este valor según tu necesidad\r\n const initialMembership = localStorage.getItem('selectedMembership') || defaultMembership;\r\n const [selectedMembership, setSelectedMembership] = useState(initialMembership);\r\n\r\n useEffect(() => {\r\n if (selectedMembership) {\r\n localStorage.setItem('selectedMembership', selectedMembership);\r\n }\r\n }, [selectedMembership]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n","import React, { createContext, useState, useEffect } from 'react';\r\n\r\nexport const UserContext = createContext();\r\n\r\nexport const UserProvider = ({ children }) => {\r\n const [userData, setUserData] = useState(() => {\r\n const saved = localStorage.getItem('userInfo');\r\n const initialValue = saved ? JSON.parse(saved) : null;\r\n return initialValue || {};\r\n });\r\n\r\n useEffect(() => {\r\n localStorage.setItem('userInfo', JSON.stringify(userData));\r\n }, [userData]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n// TODO: (v7) Change the Location generic default from `any` to `unknown` and\n// remove Remix `useLocation` wrapper.\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: State;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. This may be either a URL or the pieces\n * of a URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route () since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\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);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\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\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\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 if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { invariant, parsePath, warning } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: any;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n status: number;\n location: string;\n revalidate: boolean;\n reloadDocument?: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: any;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase;\n\n/**\n * Users can specify either lowercase or uppercase form methods on
,\n * useSubmit(), , etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState. This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\"\n | \"application/json\"\n | \"text/plain\";\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport type Submission =\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n json: undefined;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: JsonValue;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: undefined;\n text: string;\n };\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n context?: Context;\n}\n\n// TODO: (v7) Change the defaults from any to unknown in and remove Remix wrappers:\n// ActionFunction, ActionFunctionArgs, LoaderFunction, LoaderFunctionArgs\n// Also, make them a type alias instead of an interface\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs\n extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs\n extends DataFunctionArgs {}\n\n/**\n * Loaders and actions can return anything except `undefined` (`null` is a\n * valid return value if there is no data to return). Responses are preferred\n * and will ease any future migration to Remix\n */\ntype DataFunctionValue = Response | NonNullable | null;\n\n/**\n * Route loader function signature\n */\nexport interface LoaderFunction {\n (args: LoaderFunctionArgs):\n | Promise\n | DataFunctionValue;\n}\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (args: ActionFunctionArgs):\n | Promise\n | DataFunctionValue;\n}\n\n/**\n * Arguments passed to shouldRevalidate function\n */\nexport interface ShouldRevalidateFunctionArgs {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n text?: Submission[\"text\"];\n formData?: Submission[\"formData\"];\n json?: Submission[\"json\"];\n actionResult?: any;\n defaultShouldRevalidate: boolean;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: ShouldRevalidateFunctionArgs): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n *\n * @deprecated Use `mapRouteProperties` instead\n */\nexport interface DetectErrorBoundaryFunction {\n (route: AgnosticRouteObject): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set any framework-specific\n * properties from framework-agnostic properties\n */\nexport interface MapRoutePropertiesFunction {\n (route: AgnosticRouteObject): {\n hasErrorBoundary: boolean;\n } & Record;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n | \"lazy\"\n | \"caseSensitive\"\n | \"path\"\n | \"id\"\n | \"index\"\n | \"children\";\n\nexport const immutableRouteKeys = new Set([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\",\n]);\n\ntype RequireOne = Exclude<\n {\n [K in keyof T]: K extends Key ? Omit & Required> : never;\n }[keyof T],\n undefined\n>;\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction {\n (): Promise>>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction;\n action?: ActionFunction;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n lazy?: LazyRouteFunction;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam | _PathParam\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\ntype PathParam =\n // check if path is just a wildcard\n Path extends \"*\" | \"/*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam\n : // look for params in the absence of wildcards\n _PathParam;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise, return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n // if you could not find path params, fallback to `string`\n [PathParam] extends [never] ? string : PathParam;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n mapRouteProperties: MapRoutePropertiesFunction,\n parentPath: number[] = [],\n manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n children: undefined,\n };\n manifest[id] = pathOrLayoutRoute;\n\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n mapRouteProperties,\n treePath,\n manifest\n );\n }\n\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename = \"/\"\n): AgnosticRouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(\n branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname)\n );\n }\n\n return matches;\n}\n\nexport interface UIMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: Data;\n handle: Handle;\n}\n\nexport function convertRouteMatchToUiMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UIMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle,\n };\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array, so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children, so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explode _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then, if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch,\n pathname: string\n): AgnosticRouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nexport function generatePath(\n originalPath: Path,\n params: {\n [key in PathParam]: string | null;\n } = {} as any\n): string {\n let path: string = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n const stringify = (p: any) =>\n p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n\n const segments = path\n .split(/\\/+/)\n .map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\" as PathParam;\n // Apply the splat\n return stringify(params[star]);\n }\n\n const keyMatch = segment.match(/^:(\\w+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key as PathParam];\n invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n return stringify(param);\n }\n\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter((segment) => !!segment);\n\n return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"/([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex, so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURI(value: string) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = (\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport interface TrackedPromise extends Promise {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set = new Set();\n private controller: AbortController;\n private abortPromise: Promise;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, undefined, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\n `Deferred data for key \"${key}\" resolved/rejected with \\`undefined\\`, ` +\n `you must resolve/reject with a value or \\`null\\`.`\n );\n Object.defineProperty(promise, \"_error\", { get: () => undefinedError });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record,\n init?: number | ResponseInit\n) => DeferredData;\n\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirectDocument: RedirectFunction = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n */\nexport class ErrorResponseImpl {\n status: number;\n statusText: string;\n data: any;\n private error?: Error;\n private internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n// We don't want the class exported since usage of it at runtime is an\n// implementation detail, but we do want to export the shape so folks can\n// build their own abstractions around instances via isRouteErrorResponse()\nexport type ErrorResponse = InstanceType;\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _toArray(r) {\n return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();\n}\nexport { _toArray as default };","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n warning,\n} from \"./history\";\nimport type {\n ActionFunction,\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n AgnosticRouteObject,\n DataResult,\n DeferredData,\n DeferredResult,\n DetectErrorBoundaryFunction,\n ErrorResult,\n FormEncType,\n FormMethod,\n HTMLFormMethod,\n ImmutableRouteKey,\n LoaderFunction,\n MapRoutePropertiesFunction,\n MutationFormMethod,\n RedirectResult,\n RouteData,\n RouteManifest,\n ShouldRevalidateFunctionArgs,\n Submission,\n SuccessResult,\n UIMatch,\n V7_FormMethod,\n V7_MutationFormMethod,\n} from \"./utils\";\nimport {\n ErrorResponseImpl,\n ResultType,\n convertRouteMatchToUiMatch,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n immutableRouteKeys,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n resolveTo,\n stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To | null, opts?: RouterNavigateOptions): Promise;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher(key?: string): Fetcher;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key?: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map;\n\n /**\n * Map of current blockers\n */\n blockers: Map;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n v7_normalizeFormMethod: boolean;\n v7_prependBasename: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n routes: AgnosticRouteObject[];\n history: History;\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial;\n hydrationData?: HydrationState;\n window?: Window;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record;\n actionHeaders: Record;\n activeDeferreds: Record | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: { requestContext?: unknown }\n ): Promise;\n queryRoute(\n request: Request,\n opts?: { routeId?: string; requestContext?: unknown }\n ): Promise;\n}\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (state: RouterState): void;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UIMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\n// Allowed for any navigation or fetch\ntype BaseNavigateOrFetchOptions = {\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n};\n\n// Only allowed for navigations\ntype BaseNavigateOptions = BaseNavigateOrFetchOptions & {\n replace?: boolean;\n state?: any;\n fromRouteId?: string;\n};\n\n// Only allowed for submission navigations\ntype BaseSubmissionOptions = {\n formMethod?: HTMLFormMethod;\n formEncType?: FormEncType;\n} & (\n | { formData: FormData; body?: undefined }\n | { formData?: undefined; body: any }\n);\n\n/**\n * Options for a navigate() call for a normal (non-submission) navigation\n */\ntype LinkNavigateOptions = BaseNavigateOptions;\n\n/**\n * Options for a navigate() call for a submission navigation\n */\ntype SubmissionNavigateOptions = BaseNavigateOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to navigate() for a navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options for a fetch() load\n */\ntype LoadFetchOptions = BaseNavigateOrFetchOptions;\n\n/**\n * Options for a fetch() submission\n */\ntype SubmitFetchOptions = BaseNavigateOrFetchOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions = LoadFetchOptions | SubmitFetchOptions;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n json: undefined;\n text: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n text: Submission[\"text\"] | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n text: Submission[\"text\"];\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n text: undefined;\n formData: undefined;\n json: undefined;\n data: TData | undefined;\n };\n Loading: {\n state: \"loading\";\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n text: Submission[\"text\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n data: TData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n text: Submission[\"text\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n data: TData | undefined;\n };\n};\n\nexport type Fetcher =\n FetcherStates[keyof FetcherStates];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Error thrown from the current action, keyed by the route containing the\n * error boundary to render the error. To be committed to the state after\n * loaders have completed\n */\n pendingActionError?: RouteData;\n /**\n * Data returned from the current action, keyed by the route owning the action.\n * To be committed to the state after loaders have completed\n */\n pendingActionData?: RouteData;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n controller: AbortController | null;\n}\n\n/**\n * Wrapper object to allow us to throw any response out from callLoaderOrAction\n * for queryRouter while preserving whether or not it was thrown or returned\n * from the loader/action\n */\ninterface QueryRouteResponse {\n type: ResultType.data | ResultType.error;\n response: Response;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst defaultMapRouteProperties: MapRoutePropertiesFunction = (route) => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary),\n});\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n const routerWindow = init.window\n ? init.window\n : typeof window !== \"undefined\"\n ? window\n : undefined;\n const isBrowser =\n typeof routerWindow !== \"undefined\" &&\n typeof routerWindow.document !== \"undefined\" &&\n typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n // Routes keyed by ID\n let manifest: RouteManifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n let basename = init.basename || \"/\";\n // Config driven behavior flags\n let future: FutureConfig = {\n v7_normalizeFormMethod: false,\n v7_prependBasename: false,\n ...init.future,\n };\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n let initialized =\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n !initialMatches.some((m) => m.route.lazy) &&\n // And we have to either have no loaders or have been provided hydrationData\n (!initialMatches.some((m) => m.route.loader) || init.hydrationData != null);\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: string[] = [];\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location);\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(newState: Partial): void {\n state = {\n ...state,\n ...newState,\n };\n subscribers.forEach((subscriber) => subscriber(state));\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial>\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n updateState({\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers,\n });\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To | null,\n opts?: RouterNavigateOptions\n ): Promise {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n to,\n opts?.fromRouteId,\n opts?.relative\n );\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n false,\n normalizedPath,\n opts\n );\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n { overrideNavigation: state.navigation }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponseImpl;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n }\n ): Promise {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n });\n return;\n }\n\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial load will always\n // be \"same hash\". For example, on /page#hash and submit a \n // which will default to a navigation to /page\n if (\n state.initialized &&\n !isRevalidationRequired &&\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionData: RouteData | undefined;\n let pendingError: RouteData | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError,\n };\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n { replace: opts.replace }\n );\n\n if (actionOutput.shortCircuited) {\n return;\n }\n\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n\n // Create a GET request for the loaders\n request = new Request(request.url, { signal: request.signal });\n }\n\n // Call loaders\n let { shortCircuited, loaderData, errors } = await handleLoaders(\n request,\n location,\n matches,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n pendingActionData,\n pendingError\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n opts: { replace?: boolean } = {}\n ): Promise {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({ navigation });\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace =\n result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, { submission, replace });\n return { shortCircuited: true };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: { [boundaryMatch.route.id]: result.error },\n };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n return {\n pendingActionData: { [actionMatch.route.id]: result.data },\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n overrideNavigation?: Navigation,\n submission?: Submission,\n fetcherSubmission?: Submission,\n replace?: boolean,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n ): Promise {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation =\n overrideNavigation || getLoadingNavigation(location, submission);\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission =\n submission ||\n fetcherSubmission ||\n getSubmissionFromNavigation(loadingNavigation);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n pendingActionData,\n pendingError\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n pendingNavigationLoadId = ++incrementingLoadId;\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(location, {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n ...(updatedFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n });\n return { shortCircuited: true };\n }\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n if (!isUninterruptedRevalidation) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n fetcher ? fetcher.data : undefined\n );\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState({\n navigation: loadingNavigation,\n ...(actionData\n ? Object.keys(actionData).length === 0\n ? { actionData: null }\n : { actionData }\n : {}),\n ...(revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n }\n\n revalidatingFetchers.forEach((rf) => {\n if (fetchControllers.has(rf.key)) {\n abortFetcher(rf.key);\n }\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey =\n revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n await startRedirectNavigation(state, redirect.result, { replace });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n matchesToLoad,\n loaderResults,\n pendingError,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers =\n updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n\n return {\n loaderData,\n errors,\n ...(shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n };\n }\n\n function getFetcher(key: string): Fetcher {\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n if (fetchControllers.has(key)) abortFetcher(key);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n href,\n routeId,\n opts?.relative\n );\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: normalizedPath })\n );\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n true,\n normalizedPath,\n opts\n );\n\n if (error) {\n setFetcherError(key, routeId, error);\n return;\n }\n\n let match = getTargetMatch(matches, path);\n\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, submission);\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(key, routeId, path, match, matches, submission);\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error);\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n let fetcher = getSubmittingFetcher(submission, existingFetcher);\n state.fetchers.set(key, fetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let actionResult = await callLoaderOrAction(\n \"action\",\n fetchRequest,\n match,\n requestMatches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n let doneFetcher = getDoneFetcher(undefined);\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n return;\n } else {\n fetchRedirectIds.add(key);\n let loadingFetcher = getLoadingFetcher(submission);\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n return startRedirectNavigation(state, actionResult, {\n fetcherSubmission: submission,\n });\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n { [match.route.id]: actionResult.data },\n undefined // No need to send through errors since we short circuit above\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(staleKey, revalidatingFetcher);\n if (fetchControllers.has(staleKey)) {\n abortFetcher(staleKey);\n }\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n\n abortController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n abortController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey =\n revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n return startRedirectNavigation(state, redirect.result);\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n state.matches,\n matchesToLoad,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n\n let didAbortFetchLoads = abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n ...(didAbortFetchLoads || revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n // Put this fetcher into it's loading state\n let loadingFetcher = getLoadingFetcher(\n submission,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let result: DataResult = await callLoaderOrAction(\n \"loader\",\n fetchRequest,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n let doneFetcher = getDoneFetcher(undefined);\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(state, result);\n return;\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n state.fetchers.delete(key);\n // TODO: In remix, this would reset to IDLE_NAVIGATION if it was a catch -\n // do we need to behave any differently with our non-redirect errors?\n // What if it was a non-redirect Response?\n updateState({\n fetchers: new Map(state.fetchers),\n errors: {\n [boundaryMatch.route.id]: result.error,\n },\n });\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n state: RouterState,\n redirect: RedirectResult,\n {\n submission,\n fetcherSubmission,\n replace,\n }: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n replace?: boolean;\n } = {}\n ) {\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n\n let redirectLocation = createLocation(state.location, redirect.location, {\n _isRedirect: true,\n });\n invariant(\n redirectLocation,\n \"Expected a location on the redirect navigation\"\n );\n\n if (isBrowser) {\n let isDocumentReload = false;\n\n if (redirect.reloadDocument) {\n // Hard reload if the response contained X-Remix-Reload-Document\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(redirect.location)) {\n const url = init.history.createURL(redirect.location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n\n if (isDocumentReload) {\n if (replace) {\n routerWindow.location.replace(redirect.location);\n } else {\n routerWindow.location.assign(redirect.location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true ? HistoryAction.Replace : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let { formMethod, formAction, formEncType } = state.navigation;\n if (\n !submission &&\n !fetcherSubmission &&\n formMethod &&\n formAction &&\n formEncType\n ) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n let activeSubmission = submission || fetcherSubmission;\n if (\n redirectPreserveMethodStatusCodes.has(redirect.status) &&\n activeSubmission &&\n isMutationMethod(activeSubmission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...activeSubmission,\n formAction: redirect.location,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else {\n // If we have a navigation submission, we will preserve it through the\n // redirect navigation\n let overrideNavigation = getLoadingNavigation(\n redirectLocation,\n submission\n );\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n }\n }\n\n async function callLoadersAndMaybeResolveData(\n currentMatches: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename\n )\n ),\n ...fetchersToLoad.map((f) => {\n if (f.matches && f.match && f.controller) {\n return callLoaderOrAction(\n \"loader\",\n createClientSideRequest(init.history, f.path, f.controller.signal),\n f.match,\n f.matches,\n manifest,\n mapRouteProperties,\n basename\n );\n } else {\n let error: ErrorResult = {\n type: ResultType.error,\n error: getInternalRouterError(404, { pathname: f.path }),\n };\n return error;\n }\n }),\n ]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n\n await Promise.all([\n resolveDeferredResults(\n currentMatches,\n matchesToLoad,\n loaderResults,\n loaderResults.map(() => request.signal),\n false,\n state.loaderData\n ),\n resolveDeferredResults(\n currentMatches,\n fetchersToLoad.map((f) => f.match),\n fetcherResults,\n fetchersToLoad.map((f) => (f.controller ? f.controller.signal : null)),\n true\n ),\n ]);\n\n return { results, loaderResults, fetcherResults };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n\n function setFetcherError(key: string, routeId: string, error: any) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n });\n }\n\n function deleteFetcher(key: string): void {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (\n fetchControllers.has(key) &&\n !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))\n ) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n state.fetchers.delete(key);\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n invariant(controller, `Expected fetch controller: ${key}`);\n controller.abort();\n fetchControllers.delete(key);\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): boolean {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({ blockers });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(\n positions: Record,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function getScrollKey(location: Location, matches: AgnosticDataRouteMatch[]) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(\n location,\n matches.map((m) => convertRouteMatchToUiMatch(m, state.loaderData))\n );\n return key || location.key;\n }\n return location.key;\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(\n newRoutes,\n mapRouteProperties,\n undefined,\n manifest\n );\n }\n\n router = {\n get basename() {\n return basename;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n}\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: CreateStaticHandlerOptions\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let manifest: RouteManifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (opts?.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts?.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(\n request: Request,\n { requestContext }: { requestContext?: unknown } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n }: { requestContext?: unknown; routeId?: string } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n match\n );\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch\n ): Promise | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n isRouteRequest: boolean\n ): Promise | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n mapRouteProperties,\n basename,\n { isStaticRequest: true, isRouteRequest, requestContext }\n );\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(\n `${method}() call aborted: ${request.method} ${request.url}`\n );\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(\n request,\n matches,\n requestContext,\n undefined,\n {\n [boundaryMatch.route.id]: result.error,\n }\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n\n return {\n ...context,\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch,\n pendingActionError?: RouteData\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (\n isRouteRequest &&\n !routeMatch?.route.loader &&\n !routeMatch?.route.lazy\n ) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(pendingActionError || {})[0]\n );\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename,\n { isStaticRequest: true, isRouteRequest, requestContext }\n )\n ),\n ]);\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(\n `${method}() call aborted: ${request.method} ${request.url}`\n );\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingActionError,\n activeDeferreds\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction isSubmissionNavigation(\n opts: RouterNavigateOptions\n): opts is SubmissionNavigateOptions {\n return (\n opts != null &&\n ((\"formData\" in opts && opts.formData != null) ||\n (\"body\" in opts && opts.body !== undefined))\n );\n}\n\nfunction normalizeTo(\n location: Path,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n prependBasename: boolean,\n to: To | null,\n fromRouteId?: string,\n relative?: RelativeRoutingType\n) {\n let contextualMatches: AgnosticDataRouteMatch[];\n let activeRouteMatch: AgnosticDataRouteMatch | undefined;\n if (fromRouteId != null && relative !== \"path\") {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route. When using relative:path,\n // fromRouteId is ignored since that is always relative to the current\n // location path\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n\n // Resolve the relative path\n let path = resolveTo(\n to ? to : \".\",\n getPathContributingMatches(contextualMatches).map((m) => m.pathnameBase),\n stripBasename(location.pathname, basename) || location.pathname,\n relative === \"path\"\n );\n\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n\n // Add an ?index param for matched index routes if we don't already have one\n if (\n (to == null || to === \"\" || to === \".\") &&\n activeRouteMatch &&\n activeRouteMatch.route.index &&\n !hasNakedIndexQuery(path.search)\n ) {\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n }\n\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n normalizeFormMethod: boolean,\n isFetcher: boolean,\n path: string,\n opts?: RouterNavigateOptions\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponseImpl;\n} {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, { type: \"invalid-body\" }),\n });\n\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod\n ? (rawFormMethod.toUpperCase() as V7_FormMethod)\n : (rawFormMethod.toLowerCase() as FormMethod);\n let formAction = stripHashFromPath(path);\n\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n let text =\n typeof opts.body === \"string\"\n ? opts.body\n : opts.body instanceof FormData ||\n opts.body instanceof URLSearchParams\n ? // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce(\n (acc, [name, value]) => `${acc}${name}=${value}\\n`,\n \"\"\n )\n : String(opts.body);\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text,\n },\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n try {\n let json =\n typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined,\n },\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n\n invariant(\n typeof FormData === \"function\",\n \"FormData is not available in this environment\"\n );\n\n let searchParams: URLSearchParams;\n let formData: FormData;\n\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n\n let submission: Submission = {\n formMethod,\n formAction,\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId?: string\n) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: string[],\n fetchLoadMatches: Map,\n fetchRedirectIds: Set,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingError\n ? Object.values(pendingError)[0]\n : pendingActionData\n ? Object.values(pendingActionData)[0]\n : undefined;\n\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n if (match.route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (match.route.loader == null) {\n return false;\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n defaultShouldRevalidate:\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.pathname + currentUrl.search ===\n nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate if fetcher won't be present in the subsequent render\n if (!matches.some((m) => m.route.id === f.routeId)) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null,\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.includes(key)) {\n // Always revalidate if the fetcher was cancelled\n shouldRevalidate = true;\n } else if (\n fetcher &&\n fetcher.state !== \"idle\" &&\n fetcher.data === undefined\n ) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n defaultShouldRevalidate: isRevalidationRequired,\n });\n }\n\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController(),\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: ShouldRevalidateFunctionArgs\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n route: AgnosticDataRouteObject,\n mapRouteProperties: MapRoutePropertiesFunction,\n manifest: RouteManifest\n) {\n if (!route.lazy) {\n return;\n }\n\n let lazyRoute = await route.lazy();\n\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates: Record = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue =\n routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n let isPropertyStaticallyDefined =\n staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n `defined but its lazy function is also returning a value for this property. ` +\n `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n\n if (\n !isPropertyStaticallyDefined &&\n !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n ) {\n routeUpdates[lazyRouteProperty] =\n lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n }\n }\n\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided\n // `mapRouteProperties` (or wrapped `detectErrorBoundary`) function to\n // set the framework-aware properties (`element`/`hasErrorBoundary`) since\n // the logic will differ between frameworks.\n ...mapRouteProperties(routeToUpdate),\n lazy: undefined,\n });\n}\n\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction,\n basename: string,\n opts: {\n isStaticRequest?: boolean;\n isRouteRequest?: boolean;\n requestContext?: unknown;\n } = {}\n): Promise {\n let resultType;\n let result;\n let onReject: (() => void) | undefined;\n\n let runHandler = (handler: ActionFunction | LoaderFunction) => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n let abortPromise = new Promise((_, r) => (reject = r));\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([\n handler({\n request,\n params: match.params,\n context: opts.requestContext,\n }),\n abortPromise,\n ]);\n };\n\n try {\n let handler = match.route[type];\n\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let handlerError;\n let values = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch((e) => {\n handlerError = e;\n }),\n loadLazyRouteModule(match.route, mapRouteProperties, manifest),\n ]);\n if (handlerError) {\n throw handlerError;\n }\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id,\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return { type: ResultType.data, data: undefined };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname,\n });\n } else {\n result = await runHandler(handler);\n }\n\n invariant(\n result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n\n if (isResponse(result)) {\n let status = result.status;\n\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n location = normalizeTo(\n new URL(request.url),\n matches.slice(0, matches.indexOf(match) + 1),\n basename,\n true,\n location\n );\n } else if (!opts.isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\")\n ? new URL(currentUrl.protocol + location)\n : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (opts.isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n reloadDocument: result.headers.get(\"X-Remix-Reload-Document\") !== null,\n };\n }\n\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (opts.isRouteRequest) {\n let queryRouteResponse: QueryRouteResponse = {\n type:\n resultType === ResultType.error ? ResultType.error : ResultType.data,\n response: result,\n };\n throw queryRouteResponse;\n }\n\n let data: any;\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponseImpl(status, result.statusText, data),\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (resultType === ResultType.error) {\n return { type: resultType, error: result };\n }\n\n if (isDeferredData(result)) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n\n if (formEncType === \"application/json\") {\n init.headers = new Headers({ \"Content-Type\": formEncType });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (\n formEncType === \"application/x-www-form-urlencoded\" &&\n submission.formData\n ) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n\n return searchParams;\n}\n\nfunction convertSearchParamsToFormData(\n searchParams: URLSearchParams\n): FormData {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record = {};\n\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: DataResult[],\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingError,\n activeDeferreds\n );\n\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, match, controller } = revalidatingFetchers[index];\n invariant(\n fetcherResults !== undefined && fetcherResults[index] !== undefined,\n \"Did not find corresponding fetcher result\"\n );\n let result = fetcherResults[index];\n\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n continue;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\" | \"invalid-body\";\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponseImpl(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(\n results: DataResult[]\n): { result: RedirectResult; idx: number } | undefined {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return { result, idx: i };\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n let deferred: DeferredData = value;\n return (\n deferred &&\n typeof deferred === \"object\" &&\n typeof deferred.data === \"object\" &&\n typeof deferred.subscribe === \"function\" &&\n typeof deferred.cancel === \"function\" &&\n typeof deferred.resolveData === \"function\"\n );\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isQueryRouteResponse(obj: any): obj is QueryRouteResponse {\n return (\n obj &&\n isResponse(obj.response) &&\n (obj.type === ResultType.data || obj.type === ResultType.error)\n );\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveDeferredResults(\n currentMatches: AgnosticDataRouteMatch[],\n matchesToLoad: (AgnosticDataRouteMatch | null)[],\n results: DataResult[],\n signals: (AbortSignal | null)[],\n isFetcher: boolean,\n currentLoaderData?: RouteData\n) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n let signal = signals[index];\n invariant(\n signal,\n \"Expected an AbortSignal for revalidating fetcher deferred result\"\n );\n await resolveDeferredData(result, signal, isFetcher).then((result) => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n\nfunction getSubmissionFromNavigation(\n navigation: Navigation\n): Submission | undefined {\n let { formMethod, formAction, formEncType, text, formData, json } =\n navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text,\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined,\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined,\n };\n }\n}\n\nfunction getLoadingNavigation(\n location: Location,\n submission?: Submission\n): NavigationStates[\"Loading\"] {\n if (submission) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n } else {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n };\n return navigation;\n }\n}\n\nfunction getSubmittingNavigation(\n location: Location,\n submission: Submission\n): NavigationStates[\"Submitting\"] {\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n}\n\nfunction getLoadingFetcher(\n submission?: Submission,\n data?: Fetcher[\"data\"]\n): FetcherStates[\"Loading\"] {\n if (submission) {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data,\n };\n return fetcher;\n } else {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n }\n}\n\nfunction getSubmittingFetcher(\n submission: Submission,\n existingFetcher?: Fetcher\n): FetcherStates[\"Submitting\"] {\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined,\n };\n return fetcher;\n}\n\nfunction getDoneFetcher(data: Fetcher[\"data\"]): FetcherStates[\"Idle\"] {\n let fetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n };\n return fetcher;\n}\n//#endregion\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=318 (which dropped IE support).\n */\nvar isTabKey = function isTabKey(event) {\n return event.code === \"Tab\" || event.keyCode === 9;\n};\nvar isEscKey = function isEscKey(event) {\n return event.code === \"Escape\" || event.keyCode === 27;\n};\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName,\n parentSelector = _this$props.parentSelector;\n\n\n var parentDocument = parentSelector && parentSelector().ownerDocument || document;\n\n // Remove classes.\n bodyOpenClassName && classList.remove(parentDocument.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(parentDocument.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.openAnimationFrame = requestAnimationFrame(function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (isTabKey(event)) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && isEscKey(event)) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n cancelAnimationFrame(this.openAnimationFrame);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName,\n parentSelector = _props.parentSelector;\n\n\n var parentDocument = parentSelector && parentSelector().ownerDocument || document;\n\n // Add classes.\n bodyOpenClassName && classList.add(parentDocument.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(parentDocument.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n parentSelector: _propTypes2.default.func,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n if (globalElement) {\n if (globalElement.removeAttribute) {\n globalElement.removeAttribute(\"aria-hidden\");\n } else if (globalElement.length != null) {\n globalElement.forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n } else {\n document.querySelectorAll(globalElement).forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n }\n }\n globalElement = null;\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var check = globalElement || {};\n console.log(\"ariaAppHider ----------\");\n console.log(check.nodeName, check.className, check.id);\n console.log(\"end ariaAppHider ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n var el = appElement || globalElement;\n if (el) {\n return Array.isArray(el) || el instanceof HTMLCollection || el instanceof NodeList ? el : [el];\n } else {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return [];\n }\n}\n\nfunction hide(appElement) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = validateElement(appElement)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var el = _step.value;\n\n el.setAttribute(\"aria-hidden\", \"true\");\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n\nfunction show(appElement) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = validateElement(appElement)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var el = _step2.value;\n\n el.removeAttribute(\"aria-hidden\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n var _arr = [before, after];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var item = _arr[_i];\n if (!item) continue;\n item.parentNode && item.parentNode.removeChild(item);\n }\n before = after = null;\n instances = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n console.log(\"bodyTrap ----------\");\n console.log(instances.length);\n var _arr2 = [before, after];\n for (var _i2 = 0; _i2 < _arr2.length; _i2++) {\n var item = _arr2[_i2];\n var check = item || {};\n console.log(check.nodeName, check.className, check.id);\n }\n console.log(\"edn bodyTrap ----------\");\n}\n/* eslint-enable no-console */\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before && !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction removeClass(at, cls) {\n at.classList.remove(cls);\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n var htmlElement = document.getElementsByTagName(\"html\")[0];\n for (var cls in htmlClassList) {\n removeClass(htmlElement, htmlClassList[cls]);\n }\n\n var body = document.body;\n for (var _cls in docBodyClassList) {\n removeClass(body, docBodyClassList[_cls]);\n }\n\n htmlClassList = {};\n docBodyClassList = {};\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \" (\" + classes + \"):\\n \";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n \";\n }\n\n classes = document.body.className;\n\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n \";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n \";\n }\n\n buffer += \"\\n\";\n\n console.log(buffer);\n }\n}\n/* eslint-enable no-console */\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n focusLaterElements = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n console.log(\"focusManager ----------\");\n focusLaterElements.forEach(function (f) {\n var check = f || {};\n console.log(check.nodeName, check.className, check.id);\n });\n console.log(\"end focusManager ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({ preventScroll: preventScroll });\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.log = log;\nexports.resetState = resetState;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction log() {\n console.log(\"portalOpenInstances ----------\");\n console.log(portalOpenInstances.openInstances.length);\n portalOpenInstances.openInstances.forEach(function (p) {\n return console.log(p);\n });\n console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexports.default = portalOpenInstances;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.SafeNodeList = exports.SafeHTMLCollection = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar SafeHTMLCollection = exports.SafeHTMLCollection = EE.canUseDOM ? window.HTMLCollection : {};\n\nvar SafeNodeList = exports.SafeNodeList = EE.canUseDOM ? window.NodeList : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getActiveElement() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n\n return el.activeElement.shadowRoot ? getActiveElement(el.activeElement.shadowRoot) : el.activeElement;\n}\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n var activeElement = getActiveElement();\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar DISPLAY_NONE = \"none\";\nvar DISPLAY_CONTENTS = \"contents\";\n\nvar tabbableNode = /input|select|textarea|button|object|iframe/;\n\nfunction isNotOverflowing(element, style) {\n return style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0;\n}\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n try {\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n var displayValue = style.getPropertyValue(\"display\");\n return zeroSize ? displayValue !== DISPLAY_CONTENTS && isNotOverflowing(element, style) : displayValue === DISPLAY_NONE;\n } catch (exception) {\n // eslint-disable-next-line no-console\n console.warn(\"Failed to inspect element style\");\n return false;\n }\n}\n\nfunction visible(element) {\n var parentElement = element;\n var rootNode = element.getRootNode && element.getRootNode();\n while (parentElement) {\n if (parentElement === document.body) break;\n\n // if we are not hidden yet, skip to checking outside the Web Component\n if (rootNode && parentElement === rootNode) parentElement = rootNode.host.parentNode;\n\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n var descendants = [].slice.call(element.querySelectorAll(\"*\"), 0).reduce(function (finished, el) {\n return finished.concat(!el.shadowRoot ? [el] : findTabbableDescendants(el.shadowRoot));\n }, []);\n return descendants.filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","import type {\n FormEncType,\n HTMLFormMethod,\n RelativeRoutingType,\n} from \"@remix-run/router\";\nimport { stripBasename, UNSAFE_warning as warning } from \"@remix-run/router\";\n\nexport const defaultMethod: HTMLFormMethod = \"get\";\nconst defaultEncType: FormEncType = \"application/x-www-form-urlencoded\";\n\nexport function isHtmlElement(object: any): object is HTMLElement {\n return object != null && typeof object.tagName === \"string\";\n}\n\nexport function isButtonElement(object: any): object is HTMLButtonElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\n\nexport function isFormElement(object: any): object is HTMLFormElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\n\nexport function isInputElement(object: any): object is HTMLInputElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\n\ntype LimitedMouseEvent = Pick<\n MouseEvent,\n \"button\" | \"metaKey\" | \"altKey\" | \"ctrlKey\" | \"shiftKey\"\n>;\n\nfunction isModifiedEvent(event: LimitedMouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport function shouldProcessLinkClick(\n event: LimitedMouseEvent,\n target?: string\n) {\n return (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n );\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n\nexport function getSearchParamsForLocation(\n locationSearch: string,\n defaultSearchParams: URLSearchParams | null\n) {\n let searchParams = createSearchParams(locationSearch);\n\n if (defaultSearchParams) {\n // Use `defaultSearchParams.forEach(...)` here instead of iterating of\n // `defaultSearchParams.keys()` to work-around a bug in Firefox related to\n // web extensions. Relevant Bugzilla tickets:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1414602\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1023984\n defaultSearchParams.forEach((_, key) => {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n });\n }\n\n return searchParams;\n}\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\nexport type SubmitTarget =\n | HTMLFormElement\n | HTMLButtonElement\n | HTMLInputElement\n | FormData\n | URLSearchParams\n | JsonValue\n | null;\n\n// One-time check for submitter support\nlet _formDataSupportsSubmitter: boolean | null = null;\n\nfunction isFormDataSubmitterSupported() {\n if (_formDataSupportsSubmitter === null) {\n try {\n new FormData(\n document.createElement(\"form\"),\n // @ts-expect-error if FormData supports the submitter parameter, this will throw\n 0\n );\n _formDataSupportsSubmitter = false;\n } catch (e) {\n _formDataSupportsSubmitter = true;\n }\n }\n return _formDataSupportsSubmitter;\n}\n\nexport interface SubmitOptions {\n /**\n * The HTTP method used to submit the form. Overrides ``.\n * Defaults to \"GET\".\n */\n method?: HTMLFormMethod;\n\n /**\n * The action URL path used to submit the form. Overrides ``.\n * Defaults to the path of the current route.\n */\n action?: string;\n\n /**\n * The encoding used to submit the form. Overrides ``.\n * Defaults to \"application/x-www-form-urlencoded\".\n */\n encType?: FormEncType;\n\n /**\n * Set `true` to replace the current entry in the browser's history stack\n * instead of creating a new one (i.e. stay on \"the same page\"). Defaults\n * to `false`.\n */\n replace?: boolean;\n\n /**\n * State object to add to the history stack entry for this navigation\n */\n state?: any;\n\n /**\n * Determines whether the form action is relative to the route hierarchy or\n * the pathname. Use this if you want to opt out of navigating the route\n * hierarchy and want to instead route based on /-delimited URL segments\n */\n relative?: RelativeRoutingType;\n\n /**\n * In browser-based environments, prevent resetting scroll after this\n * navigation when using the component\n */\n preventScrollReset?: boolean;\n}\n\nconst supportedFormEncTypes: Set = new Set([\n \"application/x-www-form-urlencoded\",\n \"multipart/form-data\",\n \"text/plain\",\n]);\n\nfunction getFormEncType(encType: string | null) {\n if (encType != null && !supportedFormEncTypes.has(encType as FormEncType)) {\n warning(\n false,\n `\"${encType}\" is not a valid \\`encType\\` for \\`\\`/\\`\\` ` +\n `and will default to \"${defaultEncType}\"`\n );\n\n return null;\n }\n return encType;\n}\n\nexport function getFormSubmissionInfo(\n target: SubmitTarget,\n basename: string\n): {\n action: string | null;\n method: string;\n encType: string;\n formData: FormData | undefined;\n body: any;\n} {\n let method: string;\n let action: string | null;\n let encType: string;\n let formData: FormData | undefined;\n let body: any;\n\n if (isFormElement(target)) {\n // When grabbing the action from the element, it will have had the basename\n // prefixed to ensure non-JS scenarios work, so strip it since we'll\n // re-prefix in the router\n let attr = target.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n\n formData = new FormData(target);\n } else if (\n isButtonElement(target) ||\n (isInputElement(target) &&\n (target.type === \"submit\" || target.type === \"image\"))\n ) {\n let form = target.form;\n\n if (form == null) {\n throw new Error(\n `Cannot submit a