{"version":3,"file":"static/js/main.59f6e50b.js","mappings":"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","sources":["webpack://frno-frtog/./node_modules/frno-react/dist/Card/card.scss?d8e5","webpack://frno-frtog/./node_modules/frno-react/dist/Container/container.scss?6ce8","webpack://frno-frtog/./node_modules/frno-react/dist/Fieldset/fieldset.scss?a0a2","webpack://frno-frtog/./node_modules/frno-react/dist/FilterModal/filtermodal.scss?6e2d","webpack://frno-frtog/./node_modules/frno-react/dist/SimpleTable/simple-table.scss?c446","webpack://frno-frtog/./node_modules/frno-react/dist/Slider/slider.scss?0782","webpack://frno-frtog/./node_modules/frno-react/dist/Table/table.scss?e1fd","webpack://frno-frtog/./node_modules/frno-react/dist/Tooltip/tooltip.scss?df2e","../node_modules/frno-react/dist/cdn.scss","webpack://frno-frtog/./node_modules/frno-react/dist/common/close-button/closebutton.scss?1d3b","../node_modules/classnames/index.js","../node_modules/frno-react/dist/Button/index.js","../node_modules/frno-react/dist/Card/index.js","../node_modules/frno-react/dist/Col/index.js","../node_modules/frno-react/dist/Container/index.js","../node_modules/frno-react/dist/Fieldset/index.js","../node_modules/frno-react/dist/FilterModal/index.js","../node_modules/frno-react/dist/Footer/index.js","../node_modules/frno-react/dist/FormGroup/index.js","../node_modules/frno-react/dist/FormattedValue/index.js","../node_modules/frno-react/dist/Grid/index.js","../node_modules/frno-react/dist/Header/index.js","../node_modules/frno-react/dist/Hero/index.js","../node_modules/frno-react/dist/Link/index.js","../node_modules/frno-react/dist/LoadingSpinner/index.js","../node_modules/frno-react/dist/Matomo/context/MatomoContext.js","../node_modules/frno-react/dist/Matomo/hook/useMatomo.js","../node_modules/frno-react/dist/Matomo/index.js","../node_modules/frno-react/dist/Matomo/provider/MatomoProvider.js","../node_modules/frno-react/dist/Matomo/tracker/MatomoTracker.js","../node_modules/frno-react/dist/Paragraph/index.js","../node_modules/frno-react/dist/Pill/index.js","../node_modules/frno-react/dist/Post/index.js","../node_modules/frno-react/dist/Section/index.js","../node_modules/frno-react/dist/SimpleTable/index.js","../node_modules/frno-react/dist/Slider/index.js","../node_modules/frno-react/dist/Table/body/ExpandedTableRow.js","../node_modules/frno-react/dist/Table/body/TableBody.js","../node_modules/frno-react/dist/Table/cell/HeaderCell.js","../node_modules/frno-react/dist/Table/cell/IconCell.js","../node_modules/frno-react/dist/Table/cell/TextCell.js","../node_modules/frno-react/dist/Table/common/PlusIcon.js","../node_modules/frno-react/dist/Table/common/SortDirection.js","../node_modules/frno-react/dist/Table/common/SortIcon.js","../node_modules/frno-react/dist/Table/header/TableHeader.js","../node_modules/frno-react/dist/Table/index.js","../node_modules/frno-react/dist/Table/table-types.js","../node_modules/frno-react/dist/TextContainer/index.js","../node_modules/frno-react/dist/Tooltip/index.js","../node_modules/frno-react/dist/TopicBlock/index.js","../node_modules/frno-react/dist/common/close-button/CloseButton.js","../node_modules/frno-react/dist/index.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-query/es/core/focusManager.js","../node_modules/react-query/es/core/logger.js","../node_modules/react-query/es/core/notifyManager.js","../node_modules/react-query/es/core/onlineManager.js","../node_modules/react-query/es/core/query.js","../node_modules/react-query/es/core/queryCache.js","../node_modules/react-query/es/core/mutation.js","../node_modules/react-query/es/core/mutationCache.js","../node_modules/react-query/es/core/infiniteQueryBehavior.js","../node_modules/react-query/es/core/queryClient.js","../node_modules/react-query/es/core/retryer.js","../node_modules/react-query/es/core/subscribable.js","../node_modules/react-query/es/core/utils.js","../node_modules/react-query/es/react/reactBatchedUpdates.js","../node_modules/react-query/es/react/setBatchUpdatesFn.js","../node_modules/react-query/es/react/logger.js","../node_modules/react-query/es/react/setLogger.js","../node_modules/react-query/es/react/QueryClientProvider.js","../node_modules/react-query/es/core/queryObserver.js","../node_modules/react-query/es/react/QueryErrorResetBoundary.js","../node_modules/react-query/es/react/useQuery.js","../node_modules/react-query/es/react/useBaseQuery.js","../node_modules/react-query/es/react/utils.js","../node_modules/react-swipeable/src/types.ts","../node_modules/react-swipeable/src/index.ts","../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/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.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/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","assets/images/logos/vy_logo.svg","assets/images/logos/sj_nord_logo.svg","assets/images/logos/goahead_logo.svg","pages/Index.tsx","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","hooks/useLayout.ts","layout/Footer.tsx","layout/Header.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","// extracted by mini-css-extract-plugin\nexport default {};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Button = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nrequire(\"../cdn.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nconst Button = exports.Button = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n type = \"default\",\n active = false,\n submit = false,\n reset = false,\n disabled = false,\n spinner = false,\n spinnerPosition = \"prepend\",\n onClick = () => null,\n href = \"\",\n target = \"\",\n icon,\n children,\n className = \"\"\n } = _ref;\n const iconPosition = [\"fa-chevron-right\", \"fa-arrow-up-right-from-square\"].includes(icon) ? \"right\" : \"left\";\n const Tag = href && !disabled ? \"a\" : \"button\";\n const extraParams = {};\n if (!!href && !disabled) {\n extraParams.href = href;\n if (!!target) {\n extraParams.target = target;\n }\n } else if (submit === true) {\n extraParams.type = \"submit\";\n } else if (submit === false) {\n extraParams.type = \"button\";\n } else if (reset === true) {\n extraParams.type = \"reset\";\n }\n const Spinner = () => /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"spinner spinner-sm mr-3\"\n });\n return /*#__PURE__*/_react.default.createElement(Tag, _extends({}, extraParams, {\n className: [\"btn\", [\"primary\", \"secondary\", \"featured\", \"chip\"].includes(type) && \"btn-\".concat(type), active && \"is-active\", ...className.split(\" \")].filter(v => !!v).join(\" \"),\n ref: ref,\n onClick: onClick,\n disabled: disabled\n }), spinner && spinnerPosition === \"prepend\" && /*#__PURE__*/_react.default.createElement(Spinner, null), iconPosition === \"left\" && icon && /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular \".concat(icon)\n }), children, iconPosition === \"right\" && icon && /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular \".concat(icon)\n }), spinner && spinnerPosition === \"append\" && /*#__PURE__*/_react.default.createElement(Spinner, null));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Card = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _CloseButton = require(\"../common/close-button/CloseButton\");\nrequire(\"../cdn.scss\");\nrequire(\"./card.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nconst Card = exports.Card = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n title,\n tag = \"h2\",\n text = \"\",\n submit = false,\n onClick = () => null,\n bg = \"cyan-20\",\n href = \"\",\n target = \"\",\n icon,\n small = false,\n className = \"\",\n closeable,\n titleSize = \"fs-h3\"\n } = _ref;\n const HeaderTag = tag;\n const CardTag = href ? \"a\" : \"div\";\n const {\n onClose,\n ariaLabelText\n } = closeable || {};\n titleSize = small ? \"fs-h4\" : titleSize;\n const extraProps = {};\n if (!!href) {\n extraProps[\"href\"] = href;\n if (!!target) {\n extraProps[\"target\"] = target;\n }\n } else if (submit === true) {\n extraProps[\"type\"] = \"submit\";\n }\n const iconColor = ![\"teal\", \"cyan\"].some(color => bg.includes(color)) && \"black-80\";\n return /*#__PURE__*/_react.default.createElement(CardTag, _extends({}, extraProps, {\n className: [\"card\", small && \"card-sm\", href && \"card-link\", \"bg-\".concat(bg), ...className.split(\" \")].filter(v => !!v).join(\" \"),\n ref: ref,\n onClick: onClick\n }), onClose && /*#__PURE__*/_react.default.createElement(_CloseButton.CloseButton, {\n onClick: onClose,\n ariaLabel: ariaLabelText,\n iconColor: iconColor || undefined,\n className: \"ml-auto\"\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"card-content\"\n }, title && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"card-title flex\"\n }, icon && /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular \".concat(icon, \" mr-4 \").concat(iconColor ? \"text-\".concat(iconColor) : \"\")\n }), /*#__PURE__*/_react.default.createElement(HeaderTag, {\n className: titleSize\n }, title)), text && /*#__PURE__*/_react.default.createElement(\"p\", {\n className: \"mt-3\"\n }, text)), href && /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-chevron-right\"\n }));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Col = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nrequire(\"../cdn.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst Col = exports.Col = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n mt = 7,\n span = 4,\n xl = undefined,\n lg = undefined,\n md = 12,\n sm = undefined,\n xs = undefined,\n children,\n className = \"\"\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: [\"col-\".concat(span), xl && \"col-xl-\".concat(xl), lg && \"col-lg-\".concat(lg), md && \"col-md-\".concat(md), sm && \"col-sm-\".concat(sm), xs && \"col-xs-\".concat(xs), ...className.split(\" \")].filter(v => !!v).join(\" \"),\n ref: ref\n }, children);\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Container = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nrequire(\"./container.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst Container = exports.Container = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n mt = 12,\n type,\n className,\n children\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"section\", {\n className: (0, _classnames.default)(type ? \"container-\".concat(type) : \"container\", \"flex\", className, \"mt-\".concat(mt)),\n ref: ref\n }, children);\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Fieldset = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nrequire(\"./fieldset.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst Fieldset = exports.Fieldset = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n className,\n legend,\n children\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"fieldset\", {\n className: className,\n ref: ref\n }, /*#__PURE__*/_react.default.createElement(\"legend\", {\n className: \"fs-h4 fw-500 mb-3\"\n }, legend), children);\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FilterModal = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _reactSwipeable = require(\"react-swipeable\");\nrequire(\"./filtermodal.scss\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nconst FilterModal = _ref => {\n let {\n closeModal,\n header,\n ariaLabelText,\n children\n } = _ref;\n const [initial, setInitial] = (0, _react.useState)(0);\n const [contentHover, setContentHover] = (0, _react.useState)(false);\n const filtersRef = (0, _react.useRef)(null);\n const filtersBackdropRef = (0, _react.useRef)(null);\n const filtersContentRef = (0, _react.useRef)(null);\n const filtersForegroundContentRef = (0, _react.useRef)(null);\n const close = () => {\n document.body.classList.remove(\"no-scroll\");\n closeModal();\n };\n const swipeHandlers = (0, _reactSwipeable.useSwipeable)({\n onSwipeStart: () => {\n var _filtersContentRef$cu;\n setInitial(parseFloat(((_filtersContentRef$cu = filtersContentRef.current) === null || _filtersContentRef$cu === void 0 ? void 0 : _filtersContentRef$cu.style.marginTop.replace(\"px\", \"\")) || \"\") || 0);\n },\n onSwiping: eventData => {\n const contentRef = filtersContentRef.current;\n const backdropRef = filtersBackdropRef.current;\n if (!contentRef || !backdropRef) {\n return;\n }\n let pos = initial + eventData.deltaY;\n const startingTransparency = 0.6;\n if (pos <= 0) {\n pos = 0;\n } else {\n const transparency = startingTransparency - startingTransparency / 100 * (pos / window.innerHeight * 100);\n backdropRef.style.backgroundColor = \"rgba(0, 0, 0, \".concat(Math.min(transparency, 1), \")\");\n }\n contentRef.style.marginTop = \"\".concat(pos, \"px\");\n },\n onSwiped: eventData => {\n const ref = filtersRef.current;\n const contentRef = filtersContentRef.current;\n const backdropRef = filtersBackdropRef.current;\n if (!ref || !contentRef || !backdropRef) {\n return;\n }\n ref.style.transition = \"background-color 200ms\";\n contentRef.style.transition = \"margin 200ms\";\n\n // Close filter if we've scrolled past 50%\n if (initial + eventData.deltaY >= window.innerHeight / 2) {\n backdropRef.style.backgroundColor = \"rgba(0, 0, 0, 0)\";\n contentRef.style.marginTop = \"\".concat(window.innerHeight, \"px\");\n setTimeout(close, 200);\n } else {\n backdropRef.style.backgroundColor = \"\";\n contentRef.style.marginTop = \"0\";\n }\n setTimeout(() => {\n backdropRef.style.transition = \"\";\n contentRef.style.transition = \"\";\n }, 200);\n },\n trackMouse: true\n });\n (0, _react.useEffect)(() => {\n document.body.classList.add(\"no-scroll\");\n if (!filtersForegroundContentRef.current) {\n return;\n }\n const foreground = filtersForegroundContentRef.current;\n foreground.style.height = \"\".concat(foreground.scrollHeight, \"px\");\n const resizeHandler = () => foreground.style.height = \"\".concat(foreground.scrollHeight, \"px\");\n window.addEventListener(\"resize\", resizeHandler);\n return () => window.removeEventListener(\"resize\", resizeHandler);\n }, []);\n (0, _react.useEffect)(() => {\n let startY = 0;\n const handleScrolling = deltaY => {\n if (filtersForegroundContentRef !== null && filtersForegroundContentRef.current !== null && !contentHover) {\n filtersForegroundContentRef.current.scrollTop += deltaY;\n }\n };\n const handleTouchMove = event => {\n if (startY !== 0) {\n const deltaY = event.touches[0].pageY - startY;\n handleScrolling(deltaY);\n }\n startY = event.touches[0].pageY;\n };\n const handleTouchEnd = () => {\n startY = 0;\n };\n const handleWheelScroll = event => {\n handleScrolling(event.deltaY);\n };\n window.addEventListener(\"wheel\", handleWheelScroll);\n window.addEventListener(\"touchmove\", handleTouchMove);\n window.addEventListener(\"touchend\", handleTouchEnd);\n return () => {\n window.removeEventListener(\"wheel\", handleWheelScroll);\n window.removeEventListener(\"touchmove\", handleTouchMove);\n window.removeEventListener(\"touchend\", handleTouchEnd);\n };\n }, [contentHover]);\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"filters\",\n ref: filtersRef\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"filters-backdrop\",\n onClick: close,\n ref: filtersBackdropRef\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"filters-foreground\",\n ref: filtersContentRef\n }, /*#__PURE__*/_react.default.createElement(\"div\", _extends({\n className: \"filters-foreground-header\"\n }, swipeHandlers), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"filters-foreground-header-line\"\n }), header && /*#__PURE__*/_react.default.createElement(\"h2\", {\n className: \"text-center fs-h4 pb-4\"\n }, header), /*#__PURE__*/_react.default.createElement(\"button\", {\n className: \"filters-close\",\n onClick: close,\n \"aria-label\": ariaLabelText\n }, /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-xmark\"\n }))), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"filters-foreground-header-lg\"\n }, header && /*#__PURE__*/_react.default.createElement(\"h2\", {\n className: \"text-center fs-h4 pb-4 pt-4\"\n }, header), /*#__PURE__*/_react.default.createElement(\"button\", {\n className: \"filters-close\",\n onClick: close,\n \"aria-label\": ariaLabelText\n }, /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-xmark\"\n }))), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"filters-foreground-content p-xs-6 pt-6 pb-4 pl-8 pr-8\",\n ref: filtersForegroundContentRef,\n onMouseEnter: () => {\n setContentHover(true);\n },\n onMouseLeave: () => {\n setContentHover(false);\n }\n }, children)));\n};\nexports.FilterModal = FilterModal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Footer = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nrequire(\"../cdn.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst FooterWrapper = _ref => {\n let {\n heading = false,\n element\n } = _ref;\n if (element !== null && element !== void 0 && element.icon) {\n return /*#__PURE__*/_react.default.createElement(\"i\", {\n className: element.icon\n });\n }\n if (heading) {\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"fs-h4\"\n }, element.title);\n }\n return /*#__PURE__*/_react.default.createElement(\"span\", null, element.title);\n};\nconst FooterLink = _ref2 => {\n var _element$classList, _element$classList2, _element$classList3;\n let {\n element\n } = _ref2;\n const isHeading = ((_element$classList = element.classList) === null || _element$classList === void 0 ? void 0 : _element$classList.includes(\"heading\")) || ((_element$classList2 = element.classList) === null || _element$classList2 === void 0 ? void 0 : _element$classList2.includes(\"heading-link\")) || false;\n if (element.url && element.url.length > 0 && element.url !== \"#\" && (_element$classList3 = element.classList) !== null && _element$classList3 !== void 0 && _element$classList3.includes(\"external-link\")) {\n var _element$aria;\n return /*#__PURE__*/_react.default.createElement(\"a\", {\n href: element.url,\n target: \"_blank\",\n rel: \"noreferrer\",\n \"aria-label\": ((_element$aria = element.aria) === null || _element$aria === void 0 ? void 0 : _element$aria.label) || undefined\n }, /*#__PURE__*/_react.default.createElement(FooterWrapper, {\n element: element,\n heading: isHeading\n }), /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-arrow-up-right-from-square\"\n }), isHeading && /*#__PURE__*/_react.default.createElement(\"hr\", null));\n }\n if (element.url && element.url.length > 0 && element.url !== \"#\") {\n var _element$aria2;\n return /*#__PURE__*/_react.default.createElement(\"a\", {\n href: element.url,\n \"aria-label\": ((_element$aria2 = element.aria) === null || _element$aria2 === void 0 ? void 0 : _element$aria2.label) || undefined\n }, /*#__PURE__*/_react.default.createElement(FooterWrapper, {\n element: element,\n heading: isHeading\n }), isHeading && /*#__PURE__*/_react.default.createElement(\"hr\", null));\n }\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(FooterWrapper, {\n element: element,\n heading: isHeading\n }), isHeading && /*#__PURE__*/_react.default.createElement(\"hr\", null));\n};\nconst Footer = exports.Footer = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {\n let {\n columns = 3,\n links = [],\n social = [],\n className = \"\"\n } = _ref3;\n // Ensure columns isn't outside bounds\n if (columns > 4) {\n columns = 4;\n } else if (columns < 1) {\n columns = 1;\n }\n return /*#__PURE__*/_react.default.createElement(\"footer\", {\n className: [\"footer\", \"mt-12\", ...className.split(\" \")].filter(v => !!v).join(\" \"),\n ref: ref\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"container\"\n }, links.length > 0 && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: [\"grid\", \"pt-11\", social.length === 0 && \"pb-9\"].filter(v => !!v).join(\" \")\n }, links.map((column, idx) => /*#__PURE__*/_react.default.createElement(\"div\", {\n className: [\"col-\".concat(12 / columns), \"col-sm-12\"].filter(v => !!v).join(\" \"),\n key: idx\n }, /*#__PURE__*/_react.default.createElement(\"ul\", null, column.map((item, i) => /*#__PURE__*/_react.default.createElement(\"li\", {\n key: i,\n className: item.classList || undefined\n }, /*#__PURE__*/_react.default.createElement(FooterLink, {\n element: item\n }))))))), social.length > 0 && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"flex mt-10 pb-9\"\n }, /*#__PURE__*/_react.default.createElement(\"ul\", {\n className: \"social-icons\"\n }, social.map((item, i) => /*#__PURE__*/_react.default.createElement(\"li\", {\n key: i,\n className: item.classList || undefined\n }, /*#__PURE__*/_react.default.createElement(FooterLink, {\n element: item\n })))))));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormGroup = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nrequire(\"../cdn.scss\");\nvar _Button = require(\"../Button\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst FormGroupElement = props => {\n const {\n type,\n id,\n value,\n disabled = false,\n className\n } = props;\n if (type === \"button\") {\n const {\n btnType,\n btnSubmit = false,\n submit = false,\n reset = false,\n spinner = false,\n spinnerPosition = \"prepend\",\n onClick\n } = props;\n return /*#__PURE__*/_react.default.createElement(_Button.Button, {\n type: btnType,\n submit: !reset && (submit || btnSubmit),\n reset: reset && !submit && !btnSubmit,\n disabled: disabled,\n className: className,\n spinner: spinner,\n spinnerPosition: spinnerPosition,\n onClick: onClick\n }, value);\n }\n if (type === \"select\") {\n const {\n options = [],\n onChange\n } = props;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"form-select\"\n }, /*#__PURE__*/_react.default.createElement(\"select\", {\n id: id,\n className: className,\n onChange: onChange\n }, options.map(option => /*#__PURE__*/_react.default.createElement(\"option\", {\n key: option.value,\n value: option.value,\n selected: option.value === value\n }, option.label))));\n }\n const {\n onChange\n } = props;\n if (type === \"radio\") {\n const {\n options = []\n } = props;\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, options.map(option => /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"form-radio\",\n key: option.value\n }, /*#__PURE__*/_react.default.createElement(\"input\", {\n type: \"radio\",\n className: (0, _classnames.default)(\"form-radio-input\", className),\n id: \"\".concat(id, \"-\").concat(option.value),\n value: option.value,\n checked: value === option.value,\n onChange: onChange\n }), /*#__PURE__*/_react.default.createElement(\"label\", {\n htmlFor: \"\".concat(id, \"-\").concat(option.value),\n className: \"form-radio-label\"\n }, option.label))));\n }\n if (type === \"checkbox\") {\n const {\n options = [],\n value\n } = props;\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, options.map(option => /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"form-check\",\n key: option.value\n }, /*#__PURE__*/_react.default.createElement(\"input\", {\n type: \"checkbox\",\n className: (0, _classnames.default)(\"form-check-input\", className),\n id: \"\".concat(id, \"-\").concat(option.value),\n value: option.value,\n checked: value.includes(option.value),\n onChange: onChange\n }), /*#__PURE__*/_react.default.createElement(\"label\", {\n htmlFor: \"\".concat(id, \"-\").concat(option.value),\n className: \"form-check-label\"\n }, option.label))));\n }\n const {\n placeholder,\n readOnly = false,\n icon,\n onClick,\n ariaLabel\n } = props;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"relative\"\n }, /*#__PURE__*/_react.default.createElement(\"input\", {\n id: id,\n type: type,\n placeholder: placeholder,\n value: value,\n onChange: onChange,\n readOnly: readOnly,\n disabled: disabled,\n className: className,\n \"aria-label\": ariaLabel\n }), icon && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"absolute top-4 right-5\",\n onClick: value && onClick || undefined\n }, /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular mt-1 \".concat(value ? \"fa-xmark mr-1 po cursor-pointer\" : icon)\n })));\n};\nconst FormGroup = exports.FormGroup = /*#__PURE__*/_react.default.forwardRef((props, ref) => {\n const {\n id,\n label,\n labelTag,\n type,\n mt,\n mb,\n reversed = false\n } = props;\n const LabelTag = labelTag || (type === \"radio\" || type === \"checkbox\" ? \"h2\" : \"label\");\n const classes = {\n \"form-group\": type !== \"select\"\n };\n classes[\"mt-\".concat(mt)] = !!mt;\n classes[\"mb-\".concat(mb)] = !!mb;\n const Label = () => /*#__PURE__*/_react.default.createElement(LabelTag, {\n htmlFor: LabelTag === \"label\" ? id : undefined,\n className: labelTag !== \"label\" ? \"fs-h4\" : undefined\n }, label);\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: (0, _classnames.default)(classes),\n ref: ref\n }, label && !reversed && /*#__PURE__*/_react.default.createElement(Label, null), /*#__PURE__*/_react.default.createElement(FormGroupElement, props), label && reversed && /*#__PURE__*/_react.default.createElement(Label, null));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormattedValue = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst defaultFormatOptions = {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n};\nconst FormattedValue = exports.FormattedValue = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n value,\n postfix,\n className,\n formatOptions = defaultFormatOptions\n } = _ref;\n const formattedValue = (value !== null && value !== void 0 ? value : 0).toLocaleString(\"no-NO\", formatOptions);\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n className: className,\n ref: ref\n }, formattedValue, postfix ? \" \".concat(postfix) : \"\");\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Grid = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nrequire(\"../cdn.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst Grid = exports.Grid = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n mt = 7,\n children,\n className = \"\"\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: [\"grid\", \"mt-\".concat(mt), ...className.split(\" \")].filter(v => !!v).join(\" \"),\n ref: ref\n }, children);\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Header = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nrequire(\"../cdn.scss\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nconst HeaderWrapper = _ref => {\n let {\n heading = false,\n element\n } = _ref;\n if (heading) {\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"fs-h4\"\n }, element === null || element === void 0 ? void 0 : element.title);\n }\n return /*#__PURE__*/_react.default.createElement(\"span\", null, element === null || element === void 0 ? void 0 : element.title);\n};\nconst HeaderLink = _ref2 => {\n var _element$classList, _element$classList2, _element$classList3;\n let {\n element\n } = _ref2;\n const isHeading = (element === null || element === void 0 || (_element$classList = element.classList) === null || _element$classList === void 0 ? void 0 : _element$classList.includes(\"heading\")) || (element === null || element === void 0 || (_element$classList2 = element.classList) === null || _element$classList2 === void 0 ? void 0 : _element$classList2.includes(\"heading-link\"));\n if (element !== null && element !== void 0 && element.url && element.url.length > 0 && (element === null || element === void 0 ? void 0 : element.url) !== \"#\" && element !== null && element !== void 0 && (_element$classList3 = element.classList) !== null && _element$classList3 !== void 0 && _element$classList3.includes(\"external-link\")) {\n return /*#__PURE__*/_react.default.createElement(\"a\", {\n href: element.url,\n target: \"_blank\",\n rel: \"noreferrer\"\n }, /*#__PURE__*/_react.default.createElement(HeaderWrapper, {\n element: element,\n heading: isHeading\n }), /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-arrow-up-right-from-square\"\n }), isHeading && /*#__PURE__*/_react.default.createElement(\"hr\", null));\n }\n if (element !== null && element !== void 0 && element.url && element.url.length > 0 && element.url !== \"#\") {\n return /*#__PURE__*/_react.default.createElement(\"a\", {\n href: element.url\n }, /*#__PURE__*/_react.default.createElement(HeaderWrapper, {\n element: element,\n heading: isHeading\n }), isHeading && /*#__PURE__*/_react.default.createElement(\"hr\", null));\n }\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(HeaderWrapper, {\n element: element,\n heading: isHeading\n }), isHeading && /*#__PURE__*/_react.default.createElement(\"hr\", null));\n};\nconst Header = exports.Header = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {\n let {\n logo,\n logoSmall = \"\",\n logoAlt = \"Forbrukerrådet logo\",\n homeLink = \"./\",\n showSearch = true,\n searchTerm = \"Søk\",\n searchActive = false,\n showExpandableMenu = true,\n expandableMenuTerm = \"Meny\",\n expandableMenuColumns = [],\n children,\n className = \"\"\n } = _ref3;\n const [megaMenuActive, setMegaMenuActive] = (0, _react.useState)(false);\n const [megaMenuBtnActive, setMegaMenuBtnActive] = (0, _react.useState)(false);\n const [megaMenuIconActive, setMegaMenuIconActive] = (0, _react.useState)(false);\n const [overlayActive, setOverlayActive] = (0, _react.useState)(false);\n const [headerActive, setHeaderActive] = (0, _react.useState)(false);\n const [openMenu, setOpenMenu] = (0, _react.useState)(false);\n const [delayedOpen, setDelayedOpen] = (0, _react.useState)(false);\n const openMenuRef = (0, _react.useRef)(openMenu);\n const megaMenuRef = (0, _react.useRef)(null);\n const megaMenuBtnRef = (0, _react.useRef)(null);\n const columns = expandableMenuColumns.length > 4 ? 3 : 12 / expandableMenuColumns.length;\n (0, _react.useEffect)(() => {\n openMenuRef.current = openMenu;\n let timeout;\n if (openMenu) {\n setDelayedOpen(true);\n timeout = setTimeout(() => {\n setMegaMenuActive(true);\n setMegaMenuBtnActive(true);\n setMegaMenuIconActive(true);\n setOverlayActive(true);\n setHeaderActive(true);\n document.body.classList.add(\"no-scroll\");\n }, 1);\n } else {\n setMegaMenuActive(false);\n setMegaMenuBtnActive(false);\n setMegaMenuIconActive(false);\n setHeaderActive(false);\n setOverlayActive(false);\n document.body.classList.remove(\"no-scroll\");\n timeout = setTimeout(() => {\n setDelayedOpen(false);\n }, 400);\n }\n\n // Cleanup\n return () => clearTimeout(timeout);\n }, [openMenu]);\n (0, _react.useEffect)(() => {\n if (showExpandableMenu === false) {\n return;\n }\n const handleEscapeClick = e => {\n if (openMenuRef.current) {\n if (e.key === \"Escape\") {\n setOpenMenu(false);\n }\n if (megaMenuRef.current && !megaMenuRef.current.contains(e.target) && e.key === \"Tab\") {\n setOpenMenu(false);\n }\n }\n };\n document.addEventListener(\"keyup\", handleEscapeClick);\n\n // Cleanup\n return () => document.removeEventListener(\"keyup\", handleEscapeClick);\n\n //eslint-disable-next-line\n }, []);\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(\"a\", {\n href: \"#main-content\",\n className: \"skip-link\"\n }, \"Hopp til hovedinnhold\"), /*#__PURE__*/_react.default.createElement(\"header\", {\n id: \"header\",\n className: [\"header\", openMenu && headerActive === true && \"mega-menu-is-active\", ...className.split(\" \")].filter(v => !!v).join(\" \"),\n ref: ref\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"container flex\"\n }, /*#__PURE__*/_react.default.createElement(\"a\", {\n href: homeLink,\n className: \"header-logo\"\n }, /*#__PURE__*/_react.default.createElement(\"img\", {\n src: logo,\n alt: logoAlt\n })), /*#__PURE__*/_react.default.createElement(\"a\", {\n href: homeLink,\n className: \"header-logo-alt\"\n }, /*#__PURE__*/_react.default.createElement(\"img\", {\n src: logoSmall || logo,\n alt: logoAlt\n })), /*#__PURE__*/_react.default.createElement(\"nav\", {\n className: \"header-nav\"\n }, children && /*#__PURE__*/_react.default.createElement(\"ul\", null, Array.isArray(children) ? children.map((child, i) => /*#__PURE__*/_react.default.createElement(\"li\", {\n key: i\n }, child)) : /*#__PURE__*/_react.default.createElement(\"li\", null, children))), showSearch && /*#__PURE__*/_react.default.createElement(\"a\", {\n href: \"/search\",\n className: [\"header-search-btn\", \"btn\", \"button-default\", searchActive && \"is-active\"].filter(v => !!v).join(\" \") || undefined\n }, /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-magnifying-glass text-default\"\n }), /*#__PURE__*/_react.default.createElement(\"span\", null, searchTerm)), showExpandableMenu && /*#__PURE__*/_react.default.createElement(\"button\", {\n className: [\"header-menu-btn\", \"btn\", megaMenuBtnActive === true && \"is-active\"].filter(v => !!v).join(\" \") || undefined,\n onClick: () => setOpenMenu(v => !v),\n ref: megaMenuBtnRef\n }, /*#__PURE__*/_react.default.createElement(\"i\", {\n className: [\"fbr-icon-bars\", megaMenuIconActive === true && \"is-active\"].filter(v => !!v).join(\" \") || undefined\n }, /*#__PURE__*/_react.default.createElement(\"span\", null), /*#__PURE__*/_react.default.createElement(\"span\", null), /*#__PURE__*/_react.default.createElement(\"span\", null)), /*#__PURE__*/_react.default.createElement(\"span\", null, expandableMenuTerm))), showExpandableMenu && /*#__PURE__*/_react.default.createElement(\"div\", {\n id: \"mega-menu\",\n className: [\"mega-menu\", \"pt-10\", \"pb-11\", \"bg-white\", delayedOpen === true && \"block\", megaMenuActive === true && \"is-active\"].filter(v => !!v).join(\" \") || undefined,\n ref: megaMenuRef\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"container grid\"\n }, expandableMenuColumns.map((column, idx) => /*#__PURE__*/_react.default.createElement(\"nav\", {\n key: idx,\n className: \"col-\".concat(columns, \" col-md-6 col-sm-12\")\n }, /*#__PURE__*/_react.default.createElement(\"ul\", null, column.map((item, i) => /*#__PURE__*/_react.default.createElement(\"li\", {\n key: i,\n className: item.classList || undefined\n }, /*#__PURE__*/_react.default.createElement(HeaderLink, {\n element: item\n }))))))))), (showSearch || showExpandableMenu) && /*#__PURE__*/_react.default.createElement(\"div\", {\n id: \"overlay\",\n className: [delayedOpen === true && \"block\", overlayActive === true && \"is-active\"].filter(v => !!v).join(\" \") || undefined\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n id: \"main-content\"\n }));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Hero = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nrequire(\"../cdn.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst Hero = exports.Hero = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n tag = \"h1\",\n title,\n text = \"\",\n image,\n alt = \"\",\n index = false,\n children,\n breadcrumbs = [],\n background = \"teal-10\",\n className = \"\"\n } = _ref;\n const Tag = tag;\n if (index) {\n return /*#__PURE__*/_react.default.createElement(\"section\", {\n className: [\"index-hero\", ...className.split(\" \")].filter(v => !!v).join(\" \"),\n ref: ref\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"flex-row\"\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"left\"\n }, /*#__PURE__*/_react.default.createElement(Tag, {\n className: \"hero-text\"\n }, title)), /*#__PURE__*/_react.default.createElement(\"figure\", {\n className: \"right\"\n }, /*#__PURE__*/_react.default.createElement(\"img\", {\n src: image || undefined,\n alt: alt\n }))), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"container\"\n }, children));\n }\n const Breadcrumbs = () => {\n if (!breadcrumbs || breadcrumbs.length === 0) {\n return null;\n }\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"breadcrumbs\"\n }, breadcrumbs.map((breadcrumb, i) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {\n key: i\n }, i < breadcrumbs.length - 1 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(\"a\", {\n href: breadcrumb.href\n }, breadcrumb.value), /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-chevron-right\"\n })) : /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"current\"\n }, breadcrumb.value))));\n };\n return /*#__PURE__*/_react.default.createElement(\"section\", {\n className: [image === null || image === undefined ? \"center-hero\" : \"hero\", (image === null || image === undefined) && background ? \"bg-\".concat(background) : \"bg-teal-10\", ...className.split(\" \")].filter(v => !!v).join(\" \")\n }, image === null || image === undefined ? /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"container\"\n }, /*#__PURE__*/_react.default.createElement(Breadcrumbs, null), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"hero-text\"\n }, /*#__PURE__*/_react.default.createElement(Tag, null, title), text && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(\"hr\", null), /*#__PURE__*/_react.default.createElement(\"p\", {\n className: \"fs-h3\"\n }, text)))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"left\"\n }, /*#__PURE__*/_react.default.createElement(Breadcrumbs, null), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"hero-text\"\n }, /*#__PURE__*/_react.default.createElement(Tag, null, title), text && /*#__PURE__*/_react.default.createElement(\"p\", {\n className: \"fs-h3\"\n }, text))), /*#__PURE__*/_react.default.createElement(\"figure\", {\n className: \"right\"\n }, /*#__PURE__*/_react.default.createElement(\"img\", {\n src: image,\n alt: alt\n }))));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Link = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst Link = exports.Link = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n href,\n target = \"_self\",\n rel,\n linkText,\n className,\n internalLink = false\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"a\", {\n className: \"fw-500 underline external-link \".concat(className || \"\"),\n href: href,\n target: target,\n rel: rel,\n ref: ref\n }, /*#__PURE__*/_react.default.createElement(\"span\", null, linkText), !internalLink && /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-arrow-up-right-from-square icon-18\"\n }));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LoadingSpinner = void 0;\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst LoadingSpinner = exports.LoadingSpinner = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n className,\n small = false\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"flex content-center \".concat(className || \"\"),\n ref: ref\n }, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: (0, _classnames.default)(\"spinner\", {\n \"spinner-sm\": small\n })\n }));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = require(\"react\");\nconst MatomoContext = /*#__PURE__*/(0, _react.createContext)(null);\nvar _default = exports.default = MatomoContext;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = useMatomo;\nvar _react = require(\"react\");\nvar _MatomoContext = _interopRequireDefault(require(\"../context/MatomoContext\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction useMatomo() {\n const instance = (0, _react.useContext)(_MatomoContext.default);\n const trackPageView = (0, _react.useCallback)(params => instance === null || instance === void 0 ? void 0 : instance.trackPageView(params), [instance]);\n const trackEvent = (0, _react.useCallback)(params => instance === null || instance === void 0 ? void 0 : instance.trackEvent(params), [instance]);\n return {\n trackPageView,\n trackEvent\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"MatomoProvider\", {\n enumerable: true,\n get: function () {\n return _MatomoProvider.default;\n }\n});\nObject.defineProperty(exports, \"createMatomoTracker\", {\n enumerable: true,\n get: function () {\n return _MatomoTracker.createMatomoTracker;\n }\n});\nObject.defineProperty(exports, \"useMatomo\", {\n enumerable: true,\n get: function () {\n return _useMatomo.default;\n }\n});\nvar _MatomoProvider = _interopRequireDefault(require(\"./provider/MatomoProvider\"));\nvar _MatomoTracker = require(\"./tracker/MatomoTracker\");\nvar _useMatomo = _interopRequireDefault(require(\"./hook/useMatomo\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = MatomoProvider;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _MatomoContext = _interopRequireDefault(require(\"../context/MatomoContext\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction MatomoProvider(_ref) {\n let {\n instance,\n children\n } = _ref;\n const Context = _MatomoContext.default;\n return /*#__PURE__*/_react.default.createElement(Context.Provider, {\n value: instance\n }, children);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createMatomoTracker = createMatomoTracker;\nexports.default = void 0;\nconst TRACKING_TYPES = {\n TRACK_VIEW: \"trackPageView\",\n TRACK_EVENT: \"trackEvent\"\n};\nfunction createMatomoTracker(params) {\n return new MatomoTracker(params);\n}\nclass MatomoTracker {\n constructor(userOptions) {\n window._paq = window._paq || [];\n if (typeof window === \"undefined\" || window._paq.length !== 0 || userOptions.disabled) {\n console.warn(\"Matomo was not initialized.\");\n return;\n }\n if (!userOptions.urlBase) {\n throw new Error(\"Matomo urlBase is required.\");\n }\n if (!userOptions.siteId) {\n throw new Error(\"Matomo siteId is required.\");\n }\n this.initialize(userOptions);\n }\n initialize(_ref) {\n let {\n urlBase,\n siteId,\n srcUrl,\n tagManager\n } = _ref;\n const normalizedUrlBase = urlBase[urlBase.length - 1] !== \"/\" ? \"\".concat(urlBase, \"/\") : urlBase;\n this.pushInstructionToMatomo(\"setTrackerUrl\", \"\".concat(normalizedUrlBase, \"matomo.php\"));\n this.pushInstructionToMatomo(\"setSiteId\", siteId);\n //Measure time spent on a page\n this.pushInstructionToMatomo(\"enableHeartBeatTimer\", 15);\n this.pushInstructionToMatomo(\"enableLinkTracking\", true);\n this.addScript(srcUrl || \"\".concat(normalizedUrlBase, \"matomo.js\"));\n if (tagManager) {\n window._mtm = window._mtm || [];\n window._mtm.push({\n \"mtm.startTime\": new Date().getTime(),\n event: \"mtm.Start\"\n });\n this.addScript(tagManager);\n }\n }\n addScript(src) {\n const doc = document;\n const scriptElement = doc.createElement(\"script\");\n const scripts = doc.getElementsByTagName(\"script\")[0];\n scriptElement.type = \"text/javascript\";\n scriptElement.async = true;\n scriptElement.defer = true;\n scriptElement.src = src;\n if (scripts && scripts.parentNode) {\n scripts.parentNode.insertBefore(scriptElement, scripts);\n }\n }\n\n //https://developer.matomo.org/guides/spa-tracking#tracking-a-new-page-view\n trackPageView(params) {\n this.track({\n data: [TRACKING_TYPES.TRACK_VIEW],\n ...params\n });\n }\n trackEvent(params) {\n this.pushInstructionToMatomo(...[TRACKING_TYPES.TRACK_EVENT, params === null || params === void 0 ? void 0 : params.category, params === null || params === void 0 ? void 0 : params.action, params === null || params === void 0 ? void 0 : params.name]);\n }\n track(_ref2) {\n let {\n data = [],\n documentTitle = window.document.title,\n href\n } = _ref2;\n if (data.length) {\n this.pushInstructionToMatomo(\"setCustomUrl\", href !== null && href !== void 0 ? href : window.location.href);\n this.pushInstructionToMatomo(\"setDocumentTitle\", documentTitle);\n this.pushInstructionToMatomo(...data);\n }\n }\n pushInstructionToMatomo(name) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n window._paq.push([name, ...args]);\n }\n}\nvar _default = exports.default = MatomoTracker;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Paragraph = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst Paragraph = exports.Paragraph = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n className,\n children\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"p\", {\n className: className,\n ref: ref\n }, children);\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Pill = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst Pill = exports.Pill = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n content\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"pill bordered mr-2 ml-2\",\n ref: ref\n }, content);\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Post = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nrequire(\"../cdn.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nconst Post = exports.Post = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n tag = \"h2\",\n image,\n alt = \"\",\n label = \"\",\n title,\n href = \"\",\n target = \"\",\n onClick = () => null,\n className = \"\"\n } = _ref;\n const WrapperTag = href ? \"a\" : \"div\";\n const HeaderTag = tag;\n const extraProps = {};\n if (href) {\n extraProps[\"href\"] = href;\n if (target) {\n extraProps[\"target\"] = target;\n }\n }\n return /*#__PURE__*/_react.default.createElement(WrapperTag, _extends({\n className: [\"card\", \"card-news\", ...className.split(\" \")].filter(v => !!v).join(\" \"),\n onClick: onClick,\n ref: ref\n }, extraProps), /*#__PURE__*/_react.default.createElement(\"img\", {\n src: image,\n alt: alt,\n className: \"mb-4\"\n }), label && /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"tag mb-4\"\n }, label), /*#__PURE__*/_react.default.createElement(HeaderTag, {\n className: \"fs-h3\"\n }, title));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Section = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nrequire(\"../cdn.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst Section = exports.Section = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n tag = \"h2\",\n link = \"\",\n href = \"\",\n target = \"\",\n onClick = () => null,\n title = \"\",\n mt = 12,\n children,\n className = \"\"\n } = _ref;\n const Tag = tag;\n return /*#__PURE__*/_react.default.createElement(\"section\", {\n className: [\"container\", \"mt-\".concat(mt), ...className.split(\" \")].filter(v => !!v).join(\" \"),\n ref: ref\n }, link ? /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"flex\"\n }, title && /*#__PURE__*/_react.default.createElement(Tag, {\n className: \"fs-h2\"\n }, title), href ? /*#__PURE__*/_react.default.createElement(\"a\", {\n href: href,\n target: target,\n onClick: onClick,\n className: \"more-link\"\n }, /*#__PURE__*/_react.default.createElement(\"span\", null, link), /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-chevron-right\"\n })) : /*#__PURE__*/_react.default.createElement(\"span\", {\n onClick: onClick,\n className: \"more-link\"\n }, /*#__PURE__*/_react.default.createElement(\"span\", null, link), /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-chevron-right\"\n }))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, title && /*#__PURE__*/_react.default.createElement(Tag, {\n className: \"fs-h2\"\n }, title)), children);\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleTable = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nrequire(\"./simple-table.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nconst SimpleTableRow = _ref => {\n let {\n columns,\n className\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"simple-table-row flex gap-4 py-3 \".concat(className || \"\")\n }, columns.map((col, index) => /*#__PURE__*/_react.default.createElement(\"div\", {\n key: index,\n className: \"simple-table-column\"\n }, col.tooltip && col.tooltip, /*#__PURE__*/_react.default.createElement(\"span\", null, col.content))));\n};\nconst SimpleTable = exports.SimpleTable = /*#__PURE__*/_react.default.forwardRef((_ref2, ref) => {\n let {\n header,\n rows,\n size = \"md\",\n className,\n mt = 8\n } = _ref2;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"simple-table mt-\".concat(mt, \" simple-table-\").concat(size, \" \").concat(className || \"\"),\n ref: ref\n }, header && /*#__PURE__*/_react.default.createElement(\"h4\", {\n className: \"fs-body mb-3\"\n }, header), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"simple-table-body\"\n }, Object.values(rows).map((row, index) => /*#__PURE__*/_react.default.createElement(SimpleTableRow, _extends({\n key: index\n }, row)))));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Slider = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nrequire(\"./slider.scss\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nconst Slider = exports.Slider = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n minValue,\n maxValue,\n currentMin,\n currentMax,\n step = 1,\n onChange,\n minValueLabel,\n maxValueLabel,\n idPrefix,\n onEnd\n } = _ref;\n const [sliderMinValue, setSliderMinValue] = (0, _react.useState)(currentMin || minValue);\n const [sliderMaxValue, setSliderMaxValue] = (0, _react.useState)(currentMax || maxValue);\n const [zIndexMaxValueElement, setZIndexMaxValueElement] = (0, _react.useState)(3);\n const [zIndexMinValueElement, setZIndexMinValueElement] = (0, _react.useState)(5);\n (0, _react.useEffect)(() => {\n currentMin && setSliderMinValue(currentMin);\n currentMax && setSliderMaxValue(currentMax);\n }, [currentMin, currentMax]);\n const sliderRange = Array.from({\n length: maxValue\n }, (_, index) => index + minValue);\n const setZIndex = element => {\n if (element === \"min\") {\n setZIndexMinValueElement(zIndexMaxValueElement);\n setZIndexMaxValueElement(zIndexMinValueElement);\n } else if (element === \"max\") {\n setZIndexMaxValueElement(zIndexMinValueElement);\n setZIndexMinValueElement(zIndexMaxValueElement);\n }\n };\n const handleMinSliderChange = event => {\n const newValue = parseInt(event.target.value, 10);\n if (newValue <= sliderMaxValue) {\n setSliderMinValue(newValue);\n onChange(newValue, sliderMaxValue);\n }\n };\n const handleMaxSliderChange = event => {\n const newValue = parseInt(event.target.value, 10);\n if (newValue >= sliderMinValue) {\n setSliderMaxValue(newValue);\n onChange(sliderMinValue, newValue);\n }\n };\n const calculateRangeWidth = () => {\n const range = sliderMaxValue - sliderMinValue;\n const totalRange = maxValue - minValue;\n return \"\".concat(range / totalRange * 100, \"%\");\n };\n const calculateMargin = () => {\n return \"\".concat((sliderMinValue - minValue) / (maxValue - minValue) * 100, \"%\");\n };\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"slider-container\",\n ref: ref\n }, /*#__PURE__*/_react.default.createElement(\"input\", {\n id: \"\".concat(idPrefix || \"\", \"filter-min-value\"),\n className: \"thumb right\",\n type: \"range\",\n min: minValue,\n max: maxValue,\n step: step,\n value: sliderMinValue,\n onChange: handleMinSliderChange,\n onMouseDown: () => setZIndex(\"min\"),\n style: {\n zIndex: zIndexMinValueElement\n },\n onMouseUp: () => onEnd && onEnd(),\n onKeyUp: e => onEnd && [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(e.key) && onEnd()\n }), /*#__PURE__*/_react.default.createElement(\"input\", {\n id: \"\".concat(idPrefix || \"\", \"filter-max-value\"),\n className: \"thumb left\",\n type: \"range\",\n min: minValue,\n max: maxValue,\n step: step,\n value: sliderMaxValue,\n onChange: handleMaxSliderChange,\n onMouseDown: () => setZIndex(\"max\"),\n style: {\n zIndex: zIndexMaxValueElement\n },\n onMouseUp: () => onEnd && onEnd(),\n onKeyUp: e => onEnd && [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(e.key) && onEnd()\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"slider\"\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"slider-track\"\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"slider-range\",\n style: {\n width: calculateRangeWidth(),\n marginLeft: calculateMargin()\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"slider-values\"\n }, sliderRange.map(value => /*#__PURE__*/_react.default.createElement(\"span\", {\n key: value\n }, value))), /*#__PURE__*/_react.default.createElement(\"label\", {\n htmlFor: \"\".concat(idPrefix || \"\", \"filter-min-value\"),\n className: \"slider-left-value\"\n }, minValueLabel), /*#__PURE__*/_react.default.createElement(\"label\", {\n htmlFor: \"\".concat(idPrefix || \"\", \"filter-max-value\"),\n className: \"slider-right-value\"\n }, maxValueLabel)));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ExpandedTableRow = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst ExpandedTableRow = exports.ExpandedTableRow = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n children\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"expanded-row\",\n ref: ref\n }, children);\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _TextCell = _interopRequireDefault(require(\"../cell/TextCell\"));\nvar _IconCell = _interopRequireDefault(require(\"../cell/IconCell\"));\nvar _PlusIcon = _interopRequireDefault(require(\"../common/PlusIcon\"));\nvar _ExpandedTableRow = require(\"./ExpandedTableRow\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nconst TableRowCell = _ref => {\n let {\n content\n } = _ref;\n const cellData = content.cellData;\n if (\"icon\" in cellData) {\n return /*#__PURE__*/_react.default.createElement(_IconCell.default, content);\n } else {\n return /*#__PURE__*/_react.default.createElement(_TextCell.default, content);\n }\n};\nconst TableRow = _ref2 => {\n let {\n rowContent,\n expandedRowContent,\n highlightRow = false,\n rowRef,\n isExpanded,\n toggleExpanded\n } = _ref2;\n function handleRowClick(event) {\n const clickedTarget = event.target;\n const buttonElement = clickedTarget.closest(\"button\");\n if (buttonElement && isExpanded) {\n buttonElement.blur();\n }\n toggleExpanded();\n }\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(\"button\", {\n className: (0, _classnames.default)(\"table-row\", \"button-reset\", {\n \"is-active\": isExpanded,\n highlighted: highlightRow\n }),\n onClick: handleRowClick,\n ref: rowRef\n }, rowContent && rowContent.map((content, index) => /*#__PURE__*/_react.default.createElement(TableRowCell, {\n key: index,\n content: content\n })), expandedRowContent && /*#__PURE__*/_react.default.createElement(_PlusIcon.default, {\n isActive: isExpanded\n })), isExpanded && expandedRowContent && /*#__PURE__*/_react.default.createElement(_ExpandedTableRow.ExpandedTableRow, null, expandedRowContent));\n};\nconst TableBody = _ref3 => {\n let {\n tableBodyContent,\n targetRowIndex,\n targetRowRef,\n onExpandedRow\n } = _ref3;\n const [expandedRows, setExpandedRows] = (0, _react.useState)(() => Object.fromEntries(tableBodyContent.map(value => [value.rowId, value.defaultExpanded || false])));\n (0, _react.useEffect)(() => {\n setExpandedRows(prevExpandedRows => {\n const updatedExpandedRows = {\n ...prevExpandedRows\n };\n tableBodyContent.forEach(value => {\n const {\n rowId,\n defaultExpanded\n } = value;\n if (defaultExpanded !== undefined && prevExpandedRows[rowId] !== defaultExpanded) {\n updatedExpandedRows[rowId] = defaultExpanded;\n }\n });\n return updatedExpandedRows;\n });\n }, [tableBodyContent]);\n const toggleExpanded = rowId => {\n setExpandedRows(prevExpandedRows => ({\n ...prevExpandedRows,\n [rowId]: !prevExpandedRows[rowId]\n }));\n if (onExpandedRow) {\n onExpandedRow(rowId, expandedRows[rowId]);\n }\n };\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"table-body\"\n }, tableBodyContent.map((content, index) => /*#__PURE__*/_react.default.createElement(TableRow, _extends({}, content, {\n key: content.rowId,\n rowRef: index === targetRowIndex ? targetRowRef : undefined,\n isExpanded: expandedRows[content.rowId],\n toggleExpanded: () => {\n toggleExpanded(content.rowId);\n }\n }))));\n};\nvar _default = exports.default = TableBody;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _SortIcon = _interopRequireDefault(require(\"../common/SortIcon\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst TableHeaderCell = _ref => {\n let {\n columnKey,\n tooltip,\n onClick,\n headerValue,\n sorting\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"header-cell flex \".concat(columnKey, \"-grid\")\n }, tooltip && tooltip, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"item-cell\",\n onClick: onClick ? () => onClick(columnKey) : undefined\n }, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"header-value\"\n }, headerValue), sorting && /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"wrap-icons\"\n }, /*#__PURE__*/_react.default.createElement(_SortIcon.default, sorting))));\n};\nvar _default = exports.default = TableHeaderCell;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst IconCell = _ref => {\n let {\n columnKey,\n cellData,\n mobileHeaderValue\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"item-cell \".concat(columnKey, \"-grid\")\n }, mobileHeaderValue && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"head-cell-mobile mr-2\"\n }, mobileHeaderValue), cellData.icon);\n};\nvar _default = exports.default = IconCell;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _FormattedValue = require(\"../../FormattedValue\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst TextCell = _ref => {\n let {\n mobileHeaderValue,\n columnKey,\n cellData\n } = _ref;\n function renderValue(cellData, index) {\n const {\n value,\n postfix\n } = cellData;\n return postfix ? /*#__PURE__*/_react.default.createElement(_FormattedValue.FormattedValue, {\n key: index,\n value: value,\n postfix: postfix\n }) : /*#__PURE__*/_react.default.createElement(\"span\", {\n key: index\n }, value);\n }\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"item-cell \".concat(columnKey, \"-grid\")\n }, mobileHeaderValue && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"head-cell-mobile mr-2\"\n }, mobileHeaderValue), Array.isArray(cellData) ? /*#__PURE__*/_react.default.createElement(\"div\", {\n className: columnKey\n }, cellData.map((data, index) => renderValue(data, index))) : renderValue(cellData, 0));\n};\nvar _default = exports.default = TextCell;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst PlusIcon = _ref => {\n let {\n isActive\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"item-cell expand-grid\"\n }, isActive ? /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fbr-icon-plus is-active\"\n }) : /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fbr-icon-plus\"\n }));\n};\nvar _default = exports.default = PlusIcon;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SortDirection = void 0;\nexports.getSortDirectionIcon = getSortDirectionIcon;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar sortDown = function sortDown(props) {\n return /*#__PURE__*/_react.default.createElement(\"svg\", props, /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M12.409 27.425a2.002 2.002 0 0 1-2.83 0l-7.997-8a1.992 1.992 0 0 1-.431-2.181A2 2 0 0 1 3 16.006h15.993a2.007 2.007 0 0 1 1.418 3.419l-7.997 8h-.006Z\"\n }), /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#00abc4\",\n fillOpacity: \".8\",\n d: \"M12.409 27.425a2.002 2.002 0 0 1-2.83 0l-7.997-8a1.992 1.992 0 0 1-.431-2.181A2 2 0 0 1 3 16.006h15.993a2.007 2.007 0 0 1 1.418 3.419l-7.997 8h-.006Z\"\n }), /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M12.409.588a2.002 2.002 0 0 0-2.83 0l-7.997 8a1.992 1.992 0 0 0-.431 2.18A2 2 0 0 0 3 12.007h15.993a2.007 2.007 0 0 0 1.418-3.418l-7.997-8h-.006Z\"\n }), /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#00abc4\",\n fillOpacity: \".4\",\n d: \"M12.409.588a2.002 2.002 0 0 0-2.83 0l-7.997 8a1.992 1.992 0 0 0-.431 2.18A2 2 0 0 0 3 12.007h15.993a2.007 2.007 0 0 0 1.418-3.418l-7.997-8h-.006Z\"\n }));\n};\nsortDown.defaultProps = {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 21 29\",\n 'aria-hidden': \"true\"\n};\nvar sortUp = function sortUp(props) {\n return /*#__PURE__*/_react.default.createElement(\"svg\", props, /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M12.409 27.425a2.002 2.002 0 0 1-2.83 0l-7.997-8a1.992 1.992 0 0 1-.431-2.181A2 2 0 0 1 3 16.006h15.993a2.007 2.007 0 0 1 1.418 3.419l-7.997 8h-.006Z\"\n }), /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#00abc4\",\n fillOpacity: \".4\",\n d: \"M12.409 27.425a2.002 2.002 0 0 1-2.83 0l-7.997-8a1.992 1.992 0 0 1-.431-2.181A2 2 0 0 1 3 16.006h15.993a2.007 2.007 0 0 1 1.418 3.419l-7.997 8h-.006Z\"\n }), /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M12.409.588a2.002 2.002 0 0 0-2.83 0l-7.997 8a1.992 1.992 0 0 0-.431 2.18A2 2 0 0 0 3 12.007h15.993a2.007 2.007 0 0 0 1.418-3.418l-7.997-8h-.006Z\"\n }), /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#00abc4\",\n fillOpacity: \".8\",\n d: \"M12.409.588a2.002 2.002 0 0 0-2.83 0l-7.997 8a1.992 1.992 0 0 0-.431 2.18A2 2 0 0 0 3 12.007h15.993a2.007 2.007 0 0 0 1.418-3.418l-7.997-8h-.006Z\"\n }));\n};\nsortUp.defaultProps = {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 21 29\",\n 'aria-hidden': \"true\"\n};\nvar sortNone = function sortNone(props) {\n return /*#__PURE__*/_react.default.createElement(\"svg\", props, /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M12.409 27.425a2.002 2.002 0 0 1-2.83 0l-7.997-8a1.992 1.992 0 0 1-.431-2.181A2 2 0 0 1 3 16.006h15.993a2.007 2.007 0 0 1 1.418 3.419l-7.997 8h-.006Z\"\n }), /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#00abc4\",\n fillOpacity: \".4\",\n d: \"M12.409 27.425a2.002 2.002 0 0 1-2.83 0l-7.997-8a1.992 1.992 0 0 1-.431-2.181A2 2 0 0 1 3 16.006h15.993a2.007 2.007 0 0 1 1.418 3.419l-7.997 8h-.006Z\"\n }), /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M12.409.588a2.002 2.002 0 0 0-2.83 0l-7.997 8a1.992 1.992 0 0 0-.431 2.18A2 2 0 0 0 3 12.007h15.993a2.007 2.007 0 0 0 1.418-3.418l-7.997-8h-.006Z\"\n }), /*#__PURE__*/_react.default.createElement(\"path\", {\n fill: \"#00abc4\",\n fillOpacity: \".4\",\n d: \"M12.409.588a2.002 2.002 0 0 0-2.83 0l-7.997 8a1.992 1.992 0 0 0-.431 2.18A2 2 0 0 0 3 12.007h15.993a2.007 2.007 0 0 0 1.418-3.418l-7.997-8h-.006Z\"\n }));\n};\nsortNone.defaultProps = {\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 21 29\",\n 'aria-hidden': \"true\"\n};\nlet SortDirection = exports.SortDirection = /*#__PURE__*/function (SortDirection) {\n SortDirection[\"ASCENDING\"] = \"asc\";\n SortDirection[\"DESCENDING\"] = \"desc\";\n SortDirection[\"NONE\"] = \"none\";\n return SortDirection;\n}({});\nconst sortDirectionIcons = {\n [SortDirection.ASCENDING]: sortUp,\n [SortDirection.DESCENDING]: sortDown,\n [SortDirection.NONE]: sortNone\n};\nfunction getSortDirectionIcon(sortDirection) {\n return sortDirectionIcons[sortDirection];\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _SortDirection = require(\"./SortDirection\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst SortIcon = _ref => {\n let {\n sortDirection,\n altText\n } = _ref;\n const Icon = (0, _SortDirection.getSortDirectionIcon)(sortDirection);\n return /*#__PURE__*/_react.default.createElement(Icon, {\n className: \"h-full w-full\",\n \"aria-label\": altText\n });\n};\nvar _default = exports.default = SortIcon;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _HeaderCell = _interopRequireDefault(require(\"../cell/HeaderCell\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst TableHeader = _ref => {\n let {\n headerContent,\n sortConfig,\n handleClick,\n lookupTextFunction,\n orderBy,\n hasExpandableRows\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"table-head\"\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"table-row\"\n }, headerContent.map(headerContent => {\n const key = headerContent.columnKey;\n return /*#__PURE__*/_react.default.createElement(_HeaderCell.default, {\n key: key,\n columnKey: key,\n headerValue: headerContent.columnName,\n onClick: sortConfig !== null && sortConfig !== void 0 && sortConfig.sortableColumns.find(columnConfig => columnConfig.columnKey === key) ? handleClick : undefined,\n sorting: orderBy[key] != null ? {\n sortDirection: orderBy[key],\n altText: lookupTextFunction ? lookupTextFunction(\"alt.sort.\".concat(orderBy[key])) : \"sort-\".concat(orderBy[key])\n } : undefined,\n tooltip: headerContent.tooltip\n });\n }), hasExpandableRows && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"item-cell expand-grid\"\n })));\n};\nvar _default = exports.default = TableHeader;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Table = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _SortDirection = require(\"./common/SortDirection\");\nvar _TableBody = _interopRequireDefault(require(\"./body/TableBody\"));\nvar _TableHeader = _interopRequireDefault(require(\"./header/TableHeader\"));\nrequire(\"./table.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nconst Table = exports.Table = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n mt = 8,\n className,\n headerContent,\n bodyContent,\n lookupTextFunction,\n shouldAutoScroll = false,\n onScrollComplete,\n sortConfig,\n onExpandedRow,\n onHeaderClick\n } = _ref;\n const targetRowRef = (0, _react.useRef)(null);\n const constructInitialState = (sortableColumns, defaultSortColumn) => {\n return Object.fromEntries(sortableColumns.map(column => {\n const {\n columnKey,\n defaultSortDirection = _SortDirection.SortDirection.ASCENDING\n } = column;\n return [columnKey, defaultSortColumn === columnKey ? defaultSortDirection : _SortDirection.SortDirection.NONE];\n }));\n };\n const [orderBy, setOrderBy] = (0, _react.useState)(constructInitialState((sortConfig === null || sortConfig === void 0 ? void 0 : sortConfig.sortableColumns) || [], sortConfig === null || sortConfig === void 0 ? void 0 : sortConfig.defaultSortColumn));\n const [targetRowIndex, setTargetRowIndex] = (0, _react.useState)(-1);\n const sortedData = (0, _react.useMemo)(() => {\n return sortConfig ? sortConfig.onSort([...bodyContent], orderBy) : bodyContent;\n }, [bodyContent, orderBy, sortConfig]);\n (0, _react.useEffect)(() => {\n if (targetRowRef.current && targetRowRef.current.classList.contains(\"highlighted\") && shouldAutoScroll) {\n targetRowRef.current.scrollIntoView({\n behavior: \"smooth\"\n });\n onScrollComplete && onScrollComplete();\n }\n }, [targetRowIndex, shouldAutoScroll, onScrollComplete]);\n (0, _react.useEffect)(() => {\n if (sortedData && Array.isArray(sortedData)) {\n const scrollToIndex = sortedData.findIndex(value => value.highlightRow);\n setTargetRowIndex(scrollToIndex);\n }\n }, [sortedData]);\n const handleClick = columnName => {\n function findDefaultSortDirection() {\n var _sortConfig$sortableC;\n return (sortConfig === null || sortConfig === void 0 || (_sortConfig$sortableC = sortConfig.sortableColumns) === null || _sortConfig$sortableC === void 0 || (_sortConfig$sortableC = _sortConfig$sortableC.find(columnConfig => columnConfig.columnKey === columnName)) === null || _sortConfig$sortableC === void 0 ? void 0 : _sortConfig$sortableC.defaultSortDirection) || _SortDirection.SortDirection.ASCENDING;\n }\n setOrderBy(prevState => {\n const updatedState = {\n ...prevState\n };\n const secondarySortColumn = sortConfig === null || sortConfig === void 0 ? void 0 : sortConfig.secondarySortColumn;\n Object.keys(updatedState).forEach(key => {\n let resetValue = false;\n if (key !== columnName && updatedState[key] !== _SortDirection.SortDirection.NONE && key !== secondarySortColumn) {\n updatedState[key] = _SortDirection.SortDirection.NONE;\n resetValue = true;\n }\n if (secondarySortColumn && key === secondarySortColumn && secondarySortColumn !== columnName) {\n updatedState[key] = findDefaultSortDirection();\n } else if (secondarySortColumn === columnName && resetValue) {\n updatedState[secondarySortColumn] = _SortDirection.SortDirection.NONE;\n }\n });\n const currentSortableColumn = updatedState[columnName];\n if (currentSortableColumn === _SortDirection.SortDirection.NONE) {\n updatedState[columnName] = findDefaultSortDirection();\n } else if (currentSortableColumn === _SortDirection.SortDirection.DESCENDING) {\n updatedState[columnName] = _SortDirection.SortDirection.ASCENDING;\n } else {\n updatedState[columnName] = _SortDirection.SortDirection.DESCENDING;\n }\n if (onHeaderClick) {\n onHeaderClick(columnName, updatedState[columnName]);\n }\n return updatedState;\n });\n };\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"grid-table \".concat(className, \" mt-\").concat(mt),\n ref: ref\n }, /*#__PURE__*/_react.default.createElement(_TableHeader.default, {\n headerContent: headerContent,\n orderBy: orderBy,\n handleClick: handleClick,\n lookupTextFunction: lookupTextFunction,\n sortConfig: sortConfig,\n hasExpandableRows: bodyContent.some(rowContent => rowContent.expandedRow)\n }), /*#__PURE__*/_react.default.createElement(_TableBody.default, {\n tableBodyContent: sortedData,\n targetRowIndex: targetRowIndex,\n targetRowRef: targetRowRef,\n onExpandedRow: onExpandedRow\n }));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TextContainer = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst TextContainer = exports.TextContainer = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n children,\n className\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"text-container \".concat(className || \"\")\n }, children);\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Tooltip = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nrequire(\"./tooltip.scss\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nconst Tooltip = _ref => {\n let {\n className,\n title,\n titleTag = \"h4\",\n content,\n children,\n onClick\n } = _ref;\n const [tooltipVisible, setTooltipVisible] = (0, _react.useState)(false);\n const tooltipRef = (0, _react.useRef)(null);\n const buttonRef = (0, _react.useRef)(null);\n const TitleTag = titleTag;\n const showTooltip = () => {\n setTooltipVisible(true);\n if (onClick) {\n onClick();\n }\n };\n const hideTooltip = () => {\n setTooltipVisible(false);\n };\n const calculatePosition = () => {\n if (tooltipRef.current && buttonRef.current) {\n const tooltip = tooltipRef.current;\n const button = buttonRef.current;\n const {\n left: tooltipLeft\n } = tooltip.getBoundingClientRect();\n const computedStyles = window.getComputedStyle(tooltip);\n const maxWidth = parseInt(computedStyles.getPropertyValue(\"max-width\"), 10);\n const viewportWidth = window.innerWidth || document.documentElement.clientWidth;\n const viewportMargin = 32;\n const remainingWidth = viewportWidth - tooltipLeft;\n let tooltipWidth = maxWidth;\n if (viewportWidth < maxWidth) {\n tooltipWidth = viewportWidth - viewportMargin * 2;\n if (tooltipWidth > remainingWidth) {\n const overflow = tooltipWidth - remainingWidth;\n tooltip.style.left = \"\".concat(tooltip.offsetLeft - (overflow + viewportMargin), \"px\");\n } else {\n tooltip.style.left = \"\".concat(tooltip.offsetLeft, \"px\");\n }\n } else if (maxWidth > remainingWidth) {\n const overflow = maxWidth - remainingWidth;\n tooltip.style.left = \"\".concat(tooltip.offsetLeft - (overflow + viewportMargin), \"px\");\n } else {\n const offset = maxWidth / 2;\n if (offset + viewportMargin > tooltipLeft) {\n tooltip.style.left = \"\".concat(tooltip.offsetLeft, \"px\");\n } else {\n tooltip.style.left = \"\".concat(tooltip.offsetLeft - offset, \"px\");\n }\n }\n tooltip.style.width = \"\".concat(tooltipWidth, \"px\");\n tooltip.style.top = \"\".concat(button.offsetTop + button.offsetHeight, \"px\");\n }\n };\n (0, _react.useEffect)(() => {\n if (tooltipVisible) {\n calculatePosition();\n const handleClickOutside = event => {\n const clickedElement = event.target;\n const clickedElementIsTooltipTrigger = clickedElement === buttonRef.current || clickedElement.closest(\".tooltip-trigger\") === buttonRef.current;\n if (tooltipRef.current && !tooltipRef.current.contains(event.target) && !clickedElementIsTooltipTrigger) {\n hideTooltip();\n }\n };\n document.addEventListener(\"click\", handleClickOutside);\n return () => {\n document.removeEventListener(\"click\", handleClickOutside);\n };\n }\n }, [tooltipVisible]);\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"tooltip-container \".concat(className || \"\")\n }, /*#__PURE__*/_react.default.createElement(\"button\", {\n className: \"tooltip-trigger\",\n onClick: showTooltip,\n \"aria-label\": \"\".concat(title || \"\", \"tooltip\"),\n ref: buttonRef\n }, /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-circle-info mr-3 mr-sm-2\"\n }), children && children), tooltipVisible && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"tooltip border border-teal-20\",\n ref: tooltipRef\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"tooltip-body text-default\"\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"tooltip-title flex\"\n }, title && /*#__PURE__*/_react.default.createElement(TitleTag, {\n className: \"mr-2\",\n dangerouslySetInnerHTML: {\n __html: title\n }\n }), /*#__PURE__*/_react.default.createElement(\"button\", {\n className: \"ml-auto tooltip-close\",\n onClick: hideTooltip\n }, /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-close\"\n }))), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: \"tooltip-content mt-3 fs-small fw-400\"\n }, content))));\n};\nexports.Tooltip = Tooltip;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TopicBlock = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nrequire(\"../cdn.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst TopicBlock = exports.TopicBlock = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {\n let {\n tag = \"h2\",\n image,\n alt = \"\",\n label = \"\",\n title,\n separator = \"auto\",\n gap = 5,\n text,\n children,\n className = \"\",\n reversed = false,\n imageContained = false,\n source = \"\"\n } = _ref;\n const Header = tag;\n const showSeparator = separator === true || separator === \"auto\" && title && (text || children);\n let imageContainer = /*#__PURE__*/_react.default.createElement(\"img\", {\n src: image,\n alt: alt,\n className: \"topic-block-image\"\n });\n if (imageContained || source) {\n imageContainer = /*#__PURE__*/_react.default.createElement(\"div\", {\n className: [\"flex\", \"content-center\", \"flex-col\", \"flex-basis-50\"].filter(v => !!v).join(\" \")\n }, imageContainer, source && /*#__PURE__*/_react.default.createElement(\"p\", {\n className: \"text-right w-full px-8 px-sm-7\"\n }, source));\n }\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: [\"topic-block\", reversed && \"topic-block-reverse\", ...className.split(\" \")].filter(v => !!v).join(\" \"),\n ref: ref\n }, imageContainer, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: [\"topic-block-content\"].filter(v => !!v).join(\" \")\n }, label && /*#__PURE__*/_react.default.createElement(\"strong\", null, label), title && /*#__PURE__*/_react.default.createElement(Header, {\n className: \"fs-h1\"\n }, title), showSeparator && /*#__PURE__*/_react.default.createElement(\"hr\", null), text && /*#__PURE__*/_react.default.createElement(\"p\", {\n className: \"fs-h3\"\n }, text), children && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: [\"flex\", Array.isArray(children) && \"flex-wrap gap-\".concat(gap)].filter(v => !!v).join(\" \")\n }, children)));\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CloseButton = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nrequire(\"./closebutton.scss\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst CloseButton = _ref => {\n let {\n onClick,\n className,\n iconColor = \"brand-primary\",\n ariaLabel\n } = _ref;\n return /*#__PURE__*/_react.default.createElement(\"button\", {\n className: \"close-button \".concat(className || \"\"),\n onClick: onClick,\n \"aria-label\": ariaLabel\n }, /*#__PURE__*/_react.default.createElement(\"i\", {\n className: \"fa-regular fa-xmark text-\".concat(iconColor)\n }));\n};\nexports.CloseButton = CloseButton;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _Button = require(\"./Button\");\nObject.keys(_Button).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Button[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Button[key];\n }\n });\n});\nvar _Card = require(\"./Card\");\nObject.keys(_Card).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Card[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Card[key];\n }\n });\n});\nvar _Col = require(\"./Col\");\nObject.keys(_Col).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Col[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Col[key];\n }\n });\n});\nvar _Container = require(\"./Container\");\nObject.keys(_Container).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Container[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Container[key];\n }\n });\n});\nvar _FilterModal = require(\"./FilterModal\");\nObject.keys(_FilterModal).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _FilterModal[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _FilterModal[key];\n }\n });\n});\nvar _Footer = require(\"./Footer\");\nObject.keys(_Footer).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Footer[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Footer[key];\n }\n });\n});\nvar _FormGroup = require(\"./FormGroup\");\nObject.keys(_FormGroup).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _FormGroup[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _FormGroup[key];\n }\n });\n});\nvar _FormattedValue = require(\"./FormattedValue\");\nObject.keys(_FormattedValue).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _FormattedValue[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _FormattedValue[key];\n }\n });\n});\nvar _Grid = require(\"./Grid\");\nObject.keys(_Grid).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Grid[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Grid[key];\n }\n });\n});\nvar _Header = require(\"./Header\");\nObject.keys(_Header).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Header[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Header[key];\n }\n });\n});\nvar _Hero = require(\"./Hero\");\nObject.keys(_Hero).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Hero[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Hero[key];\n }\n });\n});\nvar _Link = require(\"./Link\");\nObject.keys(_Link).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Link[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Link[key];\n }\n });\n});\nvar _LoadingSpinner = require(\"./LoadingSpinner\");\nObject.keys(_LoadingSpinner).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _LoadingSpinner[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _LoadingSpinner[key];\n }\n });\n});\nvar _Matomo = require(\"./Matomo\");\nObject.keys(_Matomo).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Matomo[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Matomo[key];\n }\n });\n});\nvar _Paragraph = require(\"./Paragraph\");\nObject.keys(_Paragraph).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Paragraph[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Paragraph[key];\n }\n });\n});\nvar _Pill = require(\"./Pill\");\nObject.keys(_Pill).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Pill[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Pill[key];\n }\n });\n});\nvar _Post = require(\"./Post\");\nObject.keys(_Post).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Post[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Post[key];\n }\n });\n});\nvar _Section = require(\"./Section\");\nObject.keys(_Section).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Section[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Section[key];\n }\n });\n});\nvar _TextContainer = require(\"./TextContainer\");\nObject.keys(_TextContainer).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _TextContainer[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _TextContainer[key];\n }\n });\n});\nvar _TopicBlock = require(\"./TopicBlock\");\nObject.keys(_TopicBlock).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _TopicBlock[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _TopicBlock[key];\n }\n });\n});\nvar _SimpleTable = require(\"./SimpleTable\");\nObject.keys(_SimpleTable).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _SimpleTable[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _SimpleTable[key];\n }\n });\n});\nvar _Slider = require(\"./Slider\");\nObject.keys(_Slider).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Slider[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Slider[key];\n }\n });\n});\nvar _Table = require(\"./Table\");\nObject.keys(_Table).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Table[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Table[key];\n }\n });\n});\nvar _SortDirection = require(\"./Table/common/SortDirection\");\nObject.keys(_SortDirection).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _SortDirection[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _SortDirection[key];\n }\n });\n});\nvar _tableTypes = require(\"./Table/table-types\");\nObject.keys(_tableTypes).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _tableTypes[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _tableTypes[key];\n }\n });\n});\nvar _Tooltip = require(\"./Tooltip\");\nObject.keys(_Tooltip).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Tooltip[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Tooltip[key];\n }\n });\n});\nvar _Fieldset = require(\"./Fieldset\");\nObject.keys(_Fieldset).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _Fieldset[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _Fieldset[key];\n }\n });\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=3 0 ? this.queries.filter(function (query) {\n return matchQuery(filters, query);\n }) : this.queries;\n };\n\n _proto.notify = function notify(event) {\n var _this3 = this;\n\n notifyManager.batch(function () {\n _this3.listeners.forEach(function (listener) {\n listener(event);\n });\n });\n };\n\n _proto.onFocus = function onFocus() {\n var _this4 = this;\n\n notifyManager.batch(function () {\n _this4.queries.forEach(function (query) {\n query.onFocus();\n });\n });\n };\n\n _proto.onOnline = function onOnline() {\n var _this5 = this;\n\n notifyManager.batch(function () {\n _this5.queries.forEach(function (query) {\n query.onOnline();\n });\n });\n };\n\n return QueryCache;\n}(Subscribable);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getLogger } from './logger';\nimport { notifyManager } from './notifyManager';\nimport { Retryer } from './retryer';\nimport { noop } from './utils'; // TYPES\n\n// CLASS\nexport var Mutation = /*#__PURE__*/function () {\n function Mutation(config) {\n this.options = _extends({}, config.defaultOptions, config.options);\n this.mutationId = config.mutationId;\n this.mutationCache = config.mutationCache;\n this.observers = [];\n this.state = config.state || getDefaultState();\n this.meta = config.meta;\n }\n\n var _proto = Mutation.prototype;\n\n _proto.setState = function setState(state) {\n this.dispatch({\n type: 'setState',\n state: state\n });\n };\n\n _proto.addObserver = function addObserver(observer) {\n if (this.observers.indexOf(observer) === -1) {\n this.observers.push(observer);\n }\n };\n\n _proto.removeObserver = function removeObserver(observer) {\n this.observers = this.observers.filter(function (x) {\n return x !== observer;\n });\n };\n\n _proto.cancel = function cancel() {\n if (this.retryer) {\n this.retryer.cancel();\n return this.retryer.promise.then(noop).catch(noop);\n }\n\n return Promise.resolve();\n };\n\n _proto.continue = function _continue() {\n if (this.retryer) {\n this.retryer.continue();\n return this.retryer.promise;\n }\n\n return this.execute();\n };\n\n _proto.execute = function execute() {\n var _this = this;\n\n var data;\n var restored = this.state.status === 'loading';\n var promise = Promise.resolve();\n\n if (!restored) {\n this.dispatch({\n type: 'loading',\n variables: this.options.variables\n });\n promise = promise.then(function () {\n // Notify cache callback\n _this.mutationCache.config.onMutate == null ? void 0 : _this.mutationCache.config.onMutate(_this.state.variables, _this);\n }).then(function () {\n return _this.options.onMutate == null ? void 0 : _this.options.onMutate(_this.state.variables);\n }).then(function (context) {\n if (context !== _this.state.context) {\n _this.dispatch({\n type: 'loading',\n context: context,\n variables: _this.state.variables\n });\n }\n });\n }\n\n return promise.then(function () {\n return _this.executeMutation();\n }).then(function (result) {\n data = result; // Notify cache callback\n\n _this.mutationCache.config.onSuccess == null ? void 0 : _this.mutationCache.config.onSuccess(data, _this.state.variables, _this.state.context, _this);\n }).then(function () {\n return _this.options.onSuccess == null ? void 0 : _this.options.onSuccess(data, _this.state.variables, _this.state.context);\n }).then(function () {\n return _this.options.onSettled == null ? void 0 : _this.options.onSettled(data, null, _this.state.variables, _this.state.context);\n }).then(function () {\n _this.dispatch({\n type: 'success',\n data: data\n });\n\n return data;\n }).catch(function (error) {\n // Notify cache callback\n _this.mutationCache.config.onError == null ? void 0 : _this.mutationCache.config.onError(error, _this.state.variables, _this.state.context, _this); // Log error\n\n getLogger().error(error);\n return Promise.resolve().then(function () {\n return _this.options.onError == null ? void 0 : _this.options.onError(error, _this.state.variables, _this.state.context);\n }).then(function () {\n return _this.options.onSettled == null ? void 0 : _this.options.onSettled(undefined, error, _this.state.variables, _this.state.context);\n }).then(function () {\n _this.dispatch({\n type: 'error',\n error: error\n });\n\n throw error;\n });\n });\n };\n\n _proto.executeMutation = function executeMutation() {\n var _this2 = this,\n _this$options$retry;\n\n this.retryer = new Retryer({\n fn: function fn() {\n if (!_this2.options.mutationFn) {\n return Promise.reject('No mutationFn found');\n }\n\n return _this2.options.mutationFn(_this2.state.variables);\n },\n onFail: function onFail() {\n _this2.dispatch({\n type: 'failed'\n });\n },\n onPause: function onPause() {\n _this2.dispatch({\n type: 'pause'\n });\n },\n onContinue: function onContinue() {\n _this2.dispatch({\n type: 'continue'\n });\n },\n retry: (_this$options$retry = this.options.retry) != null ? _this$options$retry : 0,\n retryDelay: this.options.retryDelay\n });\n return this.retryer.promise;\n };\n\n _proto.dispatch = function dispatch(action) {\n var _this3 = this;\n\n this.state = reducer(this.state, action);\n notifyManager.batch(function () {\n _this3.observers.forEach(function (observer) {\n observer.onMutationUpdate(action);\n });\n\n _this3.mutationCache.notify(_this3);\n });\n };\n\n return Mutation;\n}();\nexport function getDefaultState() {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n isPaused: false,\n status: 'idle',\n variables: undefined\n };\n}\n\nfunction reducer(state, action) {\n switch (action.type) {\n case 'failed':\n return _extends({}, state, {\n failureCount: state.failureCount + 1\n });\n\n case 'pause':\n return _extends({}, state, {\n isPaused: true\n });\n\n case 'continue':\n return _extends({}, state, {\n isPaused: false\n });\n\n case 'loading':\n return _extends({}, state, {\n context: action.context,\n data: undefined,\n error: null,\n isPaused: false,\n status: 'loading',\n variables: action.variables\n });\n\n case 'success':\n return _extends({}, state, {\n data: action.data,\n error: null,\n status: 'success',\n isPaused: false\n });\n\n case 'error':\n return _extends({}, state, {\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n isPaused: false,\n status: 'error'\n });\n\n case 'setState':\n return _extends({}, state, action.state);\n\n default:\n return state;\n }\n}","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { notifyManager } from './notifyManager';\nimport { Mutation } from './mutation';\nimport { matchMutation, noop } from './utils';\nimport { Subscribable } from './subscribable'; // TYPES\n\n// CLASS\nexport var MutationCache = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(MutationCache, _Subscribable);\n\n function MutationCache(config) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.config = config || {};\n _this.mutations = [];\n _this.mutationId = 0;\n return _this;\n }\n\n var _proto = MutationCache.prototype;\n\n _proto.build = function build(client, options, state) {\n var mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state: state,\n defaultOptions: options.mutationKey ? client.getMutationDefaults(options.mutationKey) : undefined,\n meta: options.meta\n });\n this.add(mutation);\n return mutation;\n };\n\n _proto.add = function add(mutation) {\n this.mutations.push(mutation);\n this.notify(mutation);\n };\n\n _proto.remove = function remove(mutation) {\n this.mutations = this.mutations.filter(function (x) {\n return x !== mutation;\n });\n mutation.cancel();\n this.notify(mutation);\n };\n\n _proto.clear = function clear() {\n var _this2 = this;\n\n notifyManager.batch(function () {\n _this2.mutations.forEach(function (mutation) {\n _this2.remove(mutation);\n });\n });\n };\n\n _proto.getAll = function getAll() {\n return this.mutations;\n };\n\n _proto.find = function find(filters) {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.mutations.find(function (mutation) {\n return matchMutation(filters, mutation);\n });\n };\n\n _proto.findAll = function findAll(filters) {\n return this.mutations.filter(function (mutation) {\n return matchMutation(filters, mutation);\n });\n };\n\n _proto.notify = function notify(mutation) {\n var _this3 = this;\n\n notifyManager.batch(function () {\n _this3.listeners.forEach(function (listener) {\n listener(mutation);\n });\n });\n };\n\n _proto.onFocus = function onFocus() {\n this.resumePausedMutations();\n };\n\n _proto.onOnline = function onOnline() {\n this.resumePausedMutations();\n };\n\n _proto.resumePausedMutations = function resumePausedMutations() {\n var pausedMutations = this.mutations.filter(function (x) {\n return x.state.isPaused;\n });\n return notifyManager.batch(function () {\n return pausedMutations.reduce(function (promise, mutation) {\n return promise.then(function () {\n return mutation.continue().catch(noop);\n });\n }, Promise.resolve());\n });\n };\n\n return MutationCache;\n}(Subscribable);","import { isCancelable } from './retryer';\nimport { getAbortController } from './utils';\nexport function infiniteQueryBehavior() {\n return {\n onFetch: function onFetch(context) {\n context.fetchFn = function () {\n var _context$fetchOptions, _context$fetchOptions2, _context$fetchOptions3, _context$fetchOptions4, _context$state$data, _context$state$data2;\n\n var refetchPage = (_context$fetchOptions = context.fetchOptions) == null ? void 0 : (_context$fetchOptions2 = _context$fetchOptions.meta) == null ? void 0 : _context$fetchOptions2.refetchPage;\n var fetchMore = (_context$fetchOptions3 = context.fetchOptions) == null ? void 0 : (_context$fetchOptions4 = _context$fetchOptions3.meta) == null ? void 0 : _context$fetchOptions4.fetchMore;\n var pageParam = fetchMore == null ? void 0 : fetchMore.pageParam;\n var isFetchingNextPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'forward';\n var isFetchingPreviousPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'backward';\n var oldPages = ((_context$state$data = context.state.data) == null ? void 0 : _context$state$data.pages) || [];\n var oldPageParams = ((_context$state$data2 = context.state.data) == null ? void 0 : _context$state$data2.pageParams) || [];\n var abortController = getAbortController();\n var abortSignal = abortController == null ? void 0 : abortController.signal;\n var newPageParams = oldPageParams;\n var cancelled = false; // Get query function\n\n var queryFn = context.options.queryFn || function () {\n return Promise.reject('Missing queryFn');\n };\n\n var buildNewPages = function buildNewPages(pages, param, page, previous) {\n newPageParams = previous ? [param].concat(newPageParams) : [].concat(newPageParams, [param]);\n return previous ? [page].concat(pages) : [].concat(pages, [page]);\n }; // Create function to fetch a page\n\n\n var fetchPage = function fetchPage(pages, manual, param, previous) {\n if (cancelled) {\n return Promise.reject('Cancelled');\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages);\n }\n\n var queryFnContext = {\n queryKey: context.queryKey,\n signal: abortSignal,\n pageParam: param,\n meta: context.meta\n };\n var queryFnResult = queryFn(queryFnContext);\n var promise = Promise.resolve(queryFnResult).then(function (page) {\n return buildNewPages(pages, param, page, previous);\n });\n\n if (isCancelable(queryFnResult)) {\n var promiseAsAny = promise;\n promiseAsAny.cancel = queryFnResult.cancel;\n }\n\n return promise;\n };\n\n var promise; // Fetch first page?\n\n if (!oldPages.length) {\n promise = fetchPage([]);\n } // Fetch next page?\n else if (isFetchingNextPage) {\n var manual = typeof pageParam !== 'undefined';\n var param = manual ? pageParam : getNextPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param);\n } // Fetch previous page?\n else if (isFetchingPreviousPage) {\n var _manual = typeof pageParam !== 'undefined';\n\n var _param = _manual ? pageParam : getPreviousPageParam(context.options, oldPages);\n\n promise = fetchPage(oldPages, _manual, _param, true);\n } // Refetch pages\n else {\n (function () {\n newPageParams = [];\n var manual = typeof context.options.getNextPageParam === 'undefined';\n var shouldFetchFirstPage = refetchPage && oldPages[0] ? refetchPage(oldPages[0], 0, oldPages) : true; // Fetch first page\n\n promise = shouldFetchFirstPage ? fetchPage([], manual, oldPageParams[0]) : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0])); // Fetch remaining pages\n\n var _loop = function _loop(i) {\n promise = promise.then(function (pages) {\n var shouldFetchNextPage = refetchPage && oldPages[i] ? refetchPage(oldPages[i], i, oldPages) : true;\n\n if (shouldFetchNextPage) {\n var _param2 = manual ? oldPageParams[i] : getNextPageParam(context.options, pages);\n\n return fetchPage(pages, manual, _param2);\n }\n\n return Promise.resolve(buildNewPages(pages, oldPageParams[i], oldPages[i]));\n });\n };\n\n for (var i = 1; i < oldPages.length; i++) {\n _loop(i);\n }\n })();\n }\n\n var finalPromise = promise.then(function (pages) {\n return {\n pages: pages,\n pageParams: newPageParams\n };\n });\n var finalPromiseAsAny = finalPromise;\n\n finalPromiseAsAny.cancel = function () {\n cancelled = true;\n abortController == null ? void 0 : abortController.abort();\n\n if (isCancelable(promise)) {\n promise.cancel();\n }\n };\n\n return finalPromise;\n };\n }\n };\n}\nexport function getNextPageParam(options, pages) {\n return options.getNextPageParam == null ? void 0 : options.getNextPageParam(pages[pages.length - 1], pages);\n}\nexport function getPreviousPageParam(options, pages) {\n return options.getPreviousPageParam == null ? void 0 : options.getPreviousPageParam(pages[0], pages);\n}\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\n\nexport function hasNextPage(options, pages) {\n if (options.getNextPageParam && Array.isArray(pages)) {\n var nextPageParam = getNextPageParam(options, pages);\n return typeof nextPageParam !== 'undefined' && nextPageParam !== null && nextPageParam !== false;\n }\n}\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\n\nexport function hasPreviousPage(options, pages) {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n var previousPageParam = getPreviousPageParam(options, pages);\n return typeof previousPageParam !== 'undefined' && previousPageParam !== null && previousPageParam !== false;\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { hashQueryKey, noop, parseFilterArgs, parseQueryArgs, partialMatchKey, hashQueryKeyByOptions } from './utils';\nimport { QueryCache } from './queryCache';\nimport { MutationCache } from './mutationCache';\nimport { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { notifyManager } from './notifyManager';\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior';\n// CLASS\nexport var QueryClient = /*#__PURE__*/function () {\n function QueryClient(config) {\n if (config === void 0) {\n config = {};\n }\n\n this.queryCache = config.queryCache || new QueryCache();\n this.mutationCache = config.mutationCache || new MutationCache();\n this.defaultOptions = config.defaultOptions || {};\n this.queryDefaults = [];\n this.mutationDefaults = [];\n }\n\n var _proto = QueryClient.prototype;\n\n _proto.mount = function mount() {\n var _this = this;\n\n this.unsubscribeFocus = focusManager.subscribe(function () {\n if (focusManager.isFocused() && onlineManager.isOnline()) {\n _this.mutationCache.onFocus();\n\n _this.queryCache.onFocus();\n }\n });\n this.unsubscribeOnline = onlineManager.subscribe(function () {\n if (focusManager.isFocused() && onlineManager.isOnline()) {\n _this.mutationCache.onOnline();\n\n _this.queryCache.onOnline();\n }\n });\n };\n\n _proto.unmount = function unmount() {\n var _this$unsubscribeFocu, _this$unsubscribeOnli;\n\n (_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);\n (_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);\n };\n\n _proto.isFetching = function isFetching(arg1, arg2) {\n var _parseFilterArgs = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs[0];\n\n filters.fetching = true;\n return this.queryCache.findAll(filters).length;\n };\n\n _proto.isMutating = function isMutating(filters) {\n return this.mutationCache.findAll(_extends({}, filters, {\n fetching: true\n })).length;\n };\n\n _proto.getQueryData = function getQueryData(queryKey, filters) {\n var _this$queryCache$find;\n\n return (_this$queryCache$find = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find.state.data;\n };\n\n _proto.getQueriesData = function getQueriesData(queryKeyOrFilters) {\n return this.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref) {\n var queryKey = _ref.queryKey,\n state = _ref.state;\n var data = state.data;\n return [queryKey, data];\n });\n };\n\n _proto.setQueryData = function setQueryData(queryKey, updater, options) {\n var parsedOptions = parseQueryArgs(queryKey);\n var defaultedOptions = this.defaultQueryOptions(parsedOptions);\n return this.queryCache.build(this, defaultedOptions).setData(updater, options);\n };\n\n _proto.setQueriesData = function setQueriesData(queryKeyOrFilters, updater, options) {\n var _this2 = this;\n\n return notifyManager.batch(function () {\n return _this2.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref2) {\n var queryKey = _ref2.queryKey;\n return [queryKey, _this2.setQueryData(queryKey, updater, options)];\n });\n });\n };\n\n _proto.getQueryState = function getQueryState(queryKey, filters) {\n var _this$queryCache$find2;\n\n return (_this$queryCache$find2 = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find2.state;\n };\n\n _proto.removeQueries = function removeQueries(arg1, arg2) {\n var _parseFilterArgs2 = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs2[0];\n\n var queryCache = this.queryCache;\n notifyManager.batch(function () {\n queryCache.findAll(filters).forEach(function (query) {\n queryCache.remove(query);\n });\n });\n };\n\n _proto.resetQueries = function resetQueries(arg1, arg2, arg3) {\n var _this3 = this;\n\n var _parseFilterArgs3 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs3[0],\n options = _parseFilterArgs3[1];\n\n var queryCache = this.queryCache;\n\n var refetchFilters = _extends({}, filters, {\n active: true\n });\n\n return notifyManager.batch(function () {\n queryCache.findAll(filters).forEach(function (query) {\n query.reset();\n });\n return _this3.refetchQueries(refetchFilters, options);\n });\n };\n\n _proto.cancelQueries = function cancelQueries(arg1, arg2, arg3) {\n var _this4 = this;\n\n var _parseFilterArgs4 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs4[0],\n _parseFilterArgs4$ = _parseFilterArgs4[1],\n cancelOptions = _parseFilterArgs4$ === void 0 ? {} : _parseFilterArgs4$;\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true;\n }\n\n var promises = notifyManager.batch(function () {\n return _this4.queryCache.findAll(filters).map(function (query) {\n return query.cancel(cancelOptions);\n });\n });\n return Promise.all(promises).then(noop).catch(noop);\n };\n\n _proto.invalidateQueries = function invalidateQueries(arg1, arg2, arg3) {\n var _ref3,\n _filters$refetchActiv,\n _filters$refetchInact,\n _this5 = this;\n\n var _parseFilterArgs5 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs5[0],\n options = _parseFilterArgs5[1];\n\n var refetchFilters = _extends({}, filters, {\n // if filters.refetchActive is not provided and filters.active is explicitly false,\n // e.g. invalidateQueries({ active: false }), we don't want to refetch active queries\n active: (_ref3 = (_filters$refetchActiv = filters.refetchActive) != null ? _filters$refetchActiv : filters.active) != null ? _ref3 : true,\n inactive: (_filters$refetchInact = filters.refetchInactive) != null ? _filters$refetchInact : false\n });\n\n return notifyManager.batch(function () {\n _this5.queryCache.findAll(filters).forEach(function (query) {\n query.invalidate();\n });\n\n return _this5.refetchQueries(refetchFilters, options);\n });\n };\n\n _proto.refetchQueries = function refetchQueries(arg1, arg2, arg3) {\n var _this6 = this;\n\n var _parseFilterArgs6 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs6[0],\n options = _parseFilterArgs6[1];\n\n var promises = notifyManager.batch(function () {\n return _this6.queryCache.findAll(filters).map(function (query) {\n return query.fetch(undefined, _extends({}, options, {\n meta: {\n refetchPage: filters == null ? void 0 : filters.refetchPage\n }\n }));\n });\n });\n var promise = Promise.all(promises).then(noop);\n\n if (!(options == null ? void 0 : options.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n };\n\n _proto.fetchQuery = function fetchQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n var defaultedOptions = this.defaultQueryOptions(parsedOptions); // https://github.com/tannerlinsley/react-query/issues/652\n\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false;\n }\n\n var query = this.queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n };\n\n _proto.prefetchQuery = function prefetchQuery(arg1, arg2, arg3) {\n return this.fetchQuery(arg1, arg2, arg3).then(noop).catch(noop);\n };\n\n _proto.fetchInfiniteQuery = function fetchInfiniteQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n parsedOptions.behavior = infiniteQueryBehavior();\n return this.fetchQuery(parsedOptions);\n };\n\n _proto.prefetchInfiniteQuery = function prefetchInfiniteQuery(arg1, arg2, arg3) {\n return this.fetchInfiniteQuery(arg1, arg2, arg3).then(noop).catch(noop);\n };\n\n _proto.cancelMutations = function cancelMutations() {\n var _this7 = this;\n\n var promises = notifyManager.batch(function () {\n return _this7.mutationCache.getAll().map(function (mutation) {\n return mutation.cancel();\n });\n });\n return Promise.all(promises).then(noop).catch(noop);\n };\n\n _proto.resumePausedMutations = function resumePausedMutations() {\n return this.getMutationCache().resumePausedMutations();\n };\n\n _proto.executeMutation = function executeMutation(options) {\n return this.mutationCache.build(this, options).execute();\n };\n\n _proto.getQueryCache = function getQueryCache() {\n return this.queryCache;\n };\n\n _proto.getMutationCache = function getMutationCache() {\n return this.mutationCache;\n };\n\n _proto.getDefaultOptions = function getDefaultOptions() {\n return this.defaultOptions;\n };\n\n _proto.setDefaultOptions = function setDefaultOptions(options) {\n this.defaultOptions = options;\n };\n\n _proto.setQueryDefaults = function setQueryDefaults(queryKey, options) {\n var result = this.queryDefaults.find(function (x) {\n return hashQueryKey(queryKey) === hashQueryKey(x.queryKey);\n });\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.queryDefaults.push({\n queryKey: queryKey,\n defaultOptions: options\n });\n }\n };\n\n _proto.getQueryDefaults = function getQueryDefaults(queryKey) {\n var _this$queryDefaults$f;\n\n return queryKey ? (_this$queryDefaults$f = this.queryDefaults.find(function (x) {\n return partialMatchKey(queryKey, x.queryKey);\n })) == null ? void 0 : _this$queryDefaults$f.defaultOptions : undefined;\n };\n\n _proto.setMutationDefaults = function setMutationDefaults(mutationKey, options) {\n var result = this.mutationDefaults.find(function (x) {\n return hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey);\n });\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.mutationDefaults.push({\n mutationKey: mutationKey,\n defaultOptions: options\n });\n }\n };\n\n _proto.getMutationDefaults = function getMutationDefaults(mutationKey) {\n var _this$mutationDefault;\n\n return mutationKey ? (_this$mutationDefault = this.mutationDefaults.find(function (x) {\n return partialMatchKey(mutationKey, x.mutationKey);\n })) == null ? void 0 : _this$mutationDefault.defaultOptions : undefined;\n };\n\n _proto.defaultQueryOptions = function defaultQueryOptions(options) {\n if (options == null ? void 0 : options._defaulted) {\n return options;\n }\n\n var defaultedOptions = _extends({}, this.defaultOptions.queries, this.getQueryDefaults(options == null ? void 0 : options.queryKey), options, {\n _defaulted: true\n });\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);\n }\n\n return defaultedOptions;\n };\n\n _proto.defaultQueryObserverOptions = function defaultQueryObserverOptions(options) {\n return this.defaultQueryOptions(options);\n };\n\n _proto.defaultMutationOptions = function defaultMutationOptions(options) {\n if (options == null ? void 0 : options._defaulted) {\n return options;\n }\n\n return _extends({}, this.defaultOptions.mutations, this.getMutationDefaults(options == null ? void 0 : options.mutationKey), options, {\n _defaulted: true\n });\n };\n\n _proto.clear = function clear() {\n this.queryCache.clear();\n this.mutationCache.clear();\n };\n\n return QueryClient;\n}();","import { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { sleep } from './utils';\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * Math.pow(2, failureCount), 30000);\n}\n\nexport function isCancelable(value) {\n return typeof (value == null ? void 0 : value.cancel) === 'function';\n}\nexport var CancelledError = function CancelledError(options) {\n this.revert = options == null ? void 0 : options.revert;\n this.silent = options == null ? void 0 : options.silent;\n};\nexport function isCancelledError(value) {\n return value instanceof CancelledError;\n} // CLASS\n\nexport var Retryer = function Retryer(config) {\n var _this = this;\n\n var cancelRetry = false;\n var cancelFn;\n var continueFn;\n var promiseResolve;\n var promiseReject;\n this.abort = config.abort;\n\n this.cancel = function (cancelOptions) {\n return cancelFn == null ? void 0 : cancelFn(cancelOptions);\n };\n\n this.cancelRetry = function () {\n cancelRetry = true;\n };\n\n this.continueRetry = function () {\n cancelRetry = false;\n };\n\n this.continue = function () {\n return continueFn == null ? void 0 : continueFn();\n };\n\n this.failureCount = 0;\n this.isPaused = false;\n this.isResolved = false;\n this.isTransportCancelable = false;\n this.promise = new Promise(function (outerResolve, outerReject) {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n\n var resolve = function resolve(value) {\n if (!_this.isResolved) {\n _this.isResolved = true;\n config.onSuccess == null ? void 0 : config.onSuccess(value);\n continueFn == null ? void 0 : continueFn();\n promiseResolve(value);\n }\n };\n\n var reject = function reject(value) {\n if (!_this.isResolved) {\n _this.isResolved = true;\n config.onError == null ? void 0 : config.onError(value);\n continueFn == null ? void 0 : continueFn();\n promiseReject(value);\n }\n };\n\n var pause = function pause() {\n return new Promise(function (continueResolve) {\n continueFn = continueResolve;\n _this.isPaused = true;\n config.onPause == null ? void 0 : config.onPause();\n }).then(function () {\n continueFn = undefined;\n _this.isPaused = false;\n config.onContinue == null ? void 0 : config.onContinue();\n });\n }; // Create loop function\n\n\n var run = function run() {\n // Do nothing if already resolved\n if (_this.isResolved) {\n return;\n }\n\n var promiseOrValue; // Execute query\n\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n } // Create callback to cancel this fetch\n\n\n cancelFn = function cancelFn(cancelOptions) {\n if (!_this.isResolved) {\n reject(new CancelledError(cancelOptions));\n _this.abort == null ? void 0 : _this.abort(); // Cancel transport if supported\n\n if (isCancelable(promiseOrValue)) {\n try {\n promiseOrValue.cancel();\n } catch (_unused) {}\n }\n }\n }; // Check if the transport layer support cancellation\n\n\n _this.isTransportCancelable = isCancelable(promiseOrValue);\n Promise.resolve(promiseOrValue).then(resolve).catch(function (error) {\n var _config$retry, _config$retryDelay;\n\n // Stop if the fetch is already resolved\n if (_this.isResolved) {\n return;\n } // Do we need to retry the request?\n\n\n var retry = (_config$retry = config.retry) != null ? _config$retry : 3;\n var retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;\n var delay = typeof retryDelay === 'function' ? retryDelay(_this.failureCount, error) : retryDelay;\n var shouldRetry = retry === true || typeof retry === 'number' && _this.failureCount < retry || typeof retry === 'function' && retry(_this.failureCount, error);\n\n if (cancelRetry || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n\n _this.failureCount++; // Notify on fail\n\n config.onFail == null ? void 0 : config.onFail(_this.failureCount, error); // Delay\n\n sleep(delay) // Pause if the document is not visible or when the device is offline\n .then(function () {\n if (!focusManager.isFocused() || !onlineManager.isOnline()) {\n return pause();\n }\n }).then(function () {\n if (cancelRetry) {\n reject(error);\n } else {\n run();\n }\n });\n });\n }; // Start loop\n\n\n run();\n};","export var Subscribable = /*#__PURE__*/function () {\n function Subscribable() {\n this.listeners = [];\n }\n\n var _proto = Subscribable.prototype;\n\n _proto.subscribe = function subscribe(listener) {\n var _this = this;\n\n var callback = listener || function () {\n return undefined;\n };\n\n this.listeners.push(callback);\n this.onSubscribe();\n return function () {\n _this.listeners = _this.listeners.filter(function (x) {\n return x !== callback;\n });\n\n _this.onUnsubscribe();\n };\n };\n\n _proto.hasListeners = function hasListeners() {\n return this.listeners.length > 0;\n };\n\n _proto.onSubscribe = function onSubscribe() {// Do nothing\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {// Do nothing\n };\n\n return Subscribable;\n}();","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// TYPES\n// UTILS\nexport var isServer = typeof window === 'undefined';\nexport function noop() {\n return undefined;\n}\nexport function functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nexport function isValidTimeout(value) {\n return typeof value === 'number' && value >= 0 && value !== Infinity;\n}\nexport function ensureQueryKeyArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function difference(array1, array2) {\n return array1.filter(function (x) {\n return array2.indexOf(x) === -1;\n });\n}\nexport function replaceAt(array, index, value) {\n var copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nexport function timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nexport function parseQueryArgs(arg1, arg2, arg3) {\n if (!isQueryKey(arg1)) {\n return arg1;\n }\n\n if (typeof arg2 === 'function') {\n return _extends({}, arg3, {\n queryKey: arg1,\n queryFn: arg2\n });\n }\n\n return _extends({}, arg2, {\n queryKey: arg1\n });\n}\nexport function parseMutationArgs(arg1, arg2, arg3) {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return _extends({}, arg3, {\n mutationKey: arg1,\n mutationFn: arg2\n });\n }\n\n return _extends({}, arg2, {\n mutationKey: arg1\n });\n }\n\n if (typeof arg1 === 'function') {\n return _extends({}, arg2, {\n mutationFn: arg1\n });\n }\n\n return _extends({}, arg1);\n}\nexport function parseFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [_extends({}, arg2, {\n queryKey: arg1\n }), arg3] : [arg1 || {}, arg2];\n}\nexport function parseMutationFilterArgs(arg1, arg2) {\n return isQueryKey(arg1) ? _extends({}, arg2, {\n mutationKey: arg1\n }) : arg1;\n}\nexport function mapQueryStatusFilter(active, inactive) {\n if (active === true && inactive === true || active == null && inactive == null) {\n return 'all';\n } else if (active === false && inactive === false) {\n return 'none';\n } else {\n // At this point, active|inactive can only be true|false or false|true\n // so, when only one value is provided, the missing one has to be the negated value\n var isActive = active != null ? active : !inactive;\n return isActive ? 'active' : 'inactive';\n }\n}\nexport function matchQuery(filters, query) {\n var active = filters.active,\n exact = filters.exact,\n fetching = filters.fetching,\n inactive = filters.inactive,\n predicate = filters.predicate,\n queryKey = filters.queryKey,\n stale = filters.stale;\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n\n var queryStatusFilter = mapQueryStatusFilter(active, inactive);\n\n if (queryStatusFilter === 'none') {\n return false;\n } else if (queryStatusFilter !== 'all') {\n var isActive = query.isActive();\n\n if (queryStatusFilter === 'active' && !isActive) {\n return false;\n }\n\n if (queryStatusFilter === 'inactive' && isActive) {\n return false;\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false;\n }\n\n if (typeof fetching === 'boolean' && query.isFetching() !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(query)) {\n return false;\n }\n\n return true;\n}\nexport function matchMutation(filters, mutation) {\n var exact = filters.exact,\n fetching = filters.fetching,\n predicate = filters.predicate,\n mutationKey = filters.mutationKey;\n\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n\n if (exact) {\n if (hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n\n if (typeof fetching === 'boolean' && mutation.state.status === 'loading' !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(mutation)) {\n return false;\n }\n\n return true;\n}\nexport function hashQueryKeyByOptions(queryKey, options) {\n var hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashQueryKey;\n return hashFn(queryKey);\n}\n/**\n * Default query keys hash function.\n */\n\nexport function hashQueryKey(queryKey) {\n var asArray = ensureQueryKeyArray(queryKey);\n return stableValueHash(asArray);\n}\n/**\n * Hashes the value into a stable hash.\n */\n\nexport function stableValueHash(value) {\n return JSON.stringify(value, function (_, val) {\n return isPlainObject(val) ? Object.keys(val).sort().reduce(function (result, key) {\n result[key] = val[key];\n return result;\n }, {}) : val;\n });\n}\n/**\n * Checks if key `b` partially matches with key `a`.\n */\n\nexport function partialMatchKey(a, b) {\n return partialDeepEqual(ensureQueryKeyArray(a), ensureQueryKeyArray(b));\n}\n/**\n * Checks if `b` partially matches with `a`.\n */\n\nexport function partialDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some(function (key) {\n return !partialDeepEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\n\nexport function replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n\n var array = Array.isArray(a) && Array.isArray(b);\n\n if (array || isPlainObject(a) && isPlainObject(b)) {\n var aSize = array ? a.length : Object.keys(a).length;\n var bItems = array ? b : Object.keys(b);\n var bSize = bItems.length;\n var copy = array ? [] : {};\n var equalItems = 0;\n\n for (var i = 0; i < bSize; i++) {\n var key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n\n return b;\n}\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\n\nexport function shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n\n for (var key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n} // Copied from: https://github.com/jonschlinkert/is-plain-object\n\nexport function isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n } // If has modified constructor\n\n\n var ctor = o.constructor;\n\n if (typeof ctor === 'undefined') {\n return true;\n } // If has modified prototype\n\n\n var prot = ctor.prototype;\n\n if (!hasObjectPrototype(prot)) {\n return false;\n } // If constructor does not have an Object-specific method\n\n\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n}\n\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nexport function isQueryKey(value) {\n return typeof value === 'string' || Array.isArray(value);\n}\nexport function isError(value) {\n return value instanceof Error;\n}\nexport function sleep(timeout) {\n return new Promise(function (resolve) {\n setTimeout(resolve, timeout);\n });\n}\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\n\nexport function scheduleMicrotask(callback) {\n Promise.resolve().then(callback).catch(function (error) {\n return setTimeout(function () {\n throw error;\n });\n });\n}\nexport function getAbortController() {\n if (typeof AbortController === 'function') {\n return new AbortController();\n }\n}","import ReactDOM from 'react-dom';\nexport var unstable_batchedUpdates = ReactDOM.unstable_batchedUpdates;","import { notifyManager } from '../core';\nimport { unstable_batchedUpdates } from './reactBatchedUpdates';\nnotifyManager.setBatchNotifyFunction(unstable_batchedUpdates);","export var logger = console;","import { setLogger } from '../core';\nimport { logger } from './logger';\nsetLogger(logger);","import React from 'react';\nvar defaultContext = /*#__PURE__*/React.createContext(undefined);\nvar QueryClientSharingContext = /*#__PURE__*/React.createContext(false); // if contextSharing is on, we share the first and at least one\n// instance of the context across the window\n// to ensure that if React Query is used across\n// different bundles or microfrontends they will\n// all use the same **instance** of context, regardless\n// of module scoping.\n\nfunction getQueryClientContext(contextSharing) {\n if (contextSharing && typeof window !== 'undefined') {\n if (!window.ReactQueryClientContext) {\n window.ReactQueryClientContext = defaultContext;\n }\n\n return window.ReactQueryClientContext;\n }\n\n return defaultContext;\n}\n\nexport var useQueryClient = function useQueryClient() {\n var queryClient = React.useContext(getQueryClientContext(React.useContext(QueryClientSharingContext)));\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one');\n }\n\n return queryClient;\n};\nexport var QueryClientProvider = function QueryClientProvider(_ref) {\n var client = _ref.client,\n _ref$contextSharing = _ref.contextSharing,\n contextSharing = _ref$contextSharing === void 0 ? false : _ref$contextSharing,\n children = _ref.children;\n React.useEffect(function () {\n client.mount();\n return function () {\n client.unmount();\n };\n }, [client]);\n var Context = getQueryClientContext(contextSharing);\n return /*#__PURE__*/React.createElement(QueryClientSharingContext.Provider, {\n value: contextSharing\n }, /*#__PURE__*/React.createElement(Context.Provider, {\n value: client\n }, children));\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { isServer, isValidTimeout, noop, replaceEqualDeep, shallowEqualObjects, timeUntilStale } from './utils';\nimport { notifyManager } from './notifyManager';\nimport { focusManager } from './focusManager';\nimport { Subscribable } from './subscribable';\nimport { getLogger } from './logger';\nimport { isCancelledError } from './retryer';\nexport var QueryObserver = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(QueryObserver, _Subscribable);\n\n function QueryObserver(client, options) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.client = client;\n _this.options = options;\n _this.trackedProps = [];\n _this.selectError = null;\n\n _this.bindMethods();\n\n _this.setOptions(options);\n\n return _this;\n }\n\n var _proto = QueryObserver.prototype;\n\n _proto.bindMethods = function bindMethods() {\n this.remove = this.remove.bind(this);\n this.refetch = this.refetch.bind(this);\n };\n\n _proto.onSubscribe = function onSubscribe() {\n if (this.listeners.length === 1) {\n this.currentQuery.addObserver(this);\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch();\n }\n\n this.updateTimers();\n }\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.listeners.length) {\n this.destroy();\n }\n };\n\n _proto.shouldFetchOnReconnect = function shouldFetchOnReconnect() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnReconnect);\n };\n\n _proto.shouldFetchOnWindowFocus = function shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnWindowFocus);\n };\n\n _proto.destroy = function destroy() {\n this.listeners = [];\n this.clearTimers();\n this.currentQuery.removeObserver(this);\n };\n\n _proto.setOptions = function setOptions(options, notifyOptions) {\n var prevOptions = this.options;\n var prevQuery = this.currentQuery;\n this.options = this.client.defaultQueryObserverOptions(options);\n\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n } // Keep previous query key if the user does not supply one\n\n\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n\n this.updateQuery();\n var mounted = this.hasListeners(); // Fetch if there are subscribers\n\n if (mounted && shouldFetchOptionally(this.currentQuery, prevQuery, this.options, prevOptions)) {\n this.executeFetch();\n } // Update result\n\n\n this.updateResult(notifyOptions); // Update stale interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.updateStaleTimeout();\n }\n\n var nextRefetchInterval = this.computeRefetchInterval(); // Update refetch interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.currentRefetchInterval)) {\n this.updateRefetchInterval(nextRefetchInterval);\n }\n };\n\n _proto.getOptimisticResult = function getOptimisticResult(options) {\n var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n return this.createResult(query, defaultedOptions);\n };\n\n _proto.getCurrentResult = function getCurrentResult() {\n return this.currentResult;\n };\n\n _proto.trackResult = function trackResult(result, defaultedOptions) {\n var _this2 = this;\n\n var trackedResult = {};\n\n var trackProp = function trackProp(key) {\n if (!_this2.trackedProps.includes(key)) {\n _this2.trackedProps.push(key);\n }\n };\n\n Object.keys(result).forEach(function (key) {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: function get() {\n trackProp(key);\n return result[key];\n }\n });\n });\n\n if (defaultedOptions.useErrorBoundary || defaultedOptions.suspense) {\n trackProp('error');\n }\n\n return trackedResult;\n };\n\n _proto.getNextResult = function getNextResult(options) {\n var _this3 = this;\n\n return new Promise(function (resolve, reject) {\n var unsubscribe = _this3.subscribe(function (result) {\n if (!result.isFetching) {\n unsubscribe();\n\n if (result.isError && (options == null ? void 0 : options.throwOnError)) {\n reject(result.error);\n } else {\n resolve(result);\n }\n }\n });\n });\n };\n\n _proto.getCurrentQuery = function getCurrentQuery() {\n return this.currentQuery;\n };\n\n _proto.remove = function remove() {\n this.client.getQueryCache().remove(this.currentQuery);\n };\n\n _proto.refetch = function refetch(options) {\n return this.fetch(_extends({}, options, {\n meta: {\n refetchPage: options == null ? void 0 : options.refetchPage\n }\n }));\n };\n\n _proto.fetchOptimistic = function fetchOptimistic(options) {\n var _this4 = this;\n\n var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n return query.fetch().then(function () {\n return _this4.createResult(query, defaultedOptions);\n });\n };\n\n _proto.fetch = function fetch(fetchOptions) {\n var _this5 = this;\n\n return this.executeFetch(fetchOptions).then(function () {\n _this5.updateResult();\n\n return _this5.currentResult;\n });\n };\n\n _proto.executeFetch = function executeFetch(fetchOptions) {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery(); // Fetch\n\n var promise = this.currentQuery.fetch(this.options, fetchOptions);\n\n if (!(fetchOptions == null ? void 0 : fetchOptions.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n };\n\n _proto.updateStaleTimeout = function updateStaleTimeout() {\n var _this6 = this;\n\n this.clearStaleTimeout();\n\n if (isServer || this.currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n\n var time = timeUntilStale(this.currentResult.dataUpdatedAt, this.options.staleTime); // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n\n var timeout = time + 1;\n this.staleTimeoutId = setTimeout(function () {\n if (!_this6.currentResult.isStale) {\n _this6.updateResult();\n }\n }, timeout);\n };\n\n _proto.computeRefetchInterval = function computeRefetchInterval() {\n var _this$options$refetch;\n\n return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.currentResult.data, this.currentQuery) : (_this$options$refetch = this.options.refetchInterval) != null ? _this$options$refetch : false;\n };\n\n _proto.updateRefetchInterval = function updateRefetchInterval(nextInterval) {\n var _this7 = this;\n\n this.clearRefetchInterval();\n this.currentRefetchInterval = nextInterval;\n\n if (isServer || this.options.enabled === false || !isValidTimeout(this.currentRefetchInterval) || this.currentRefetchInterval === 0) {\n return;\n }\n\n this.refetchIntervalId = setInterval(function () {\n if (_this7.options.refetchIntervalInBackground || focusManager.isFocused()) {\n _this7.executeFetch();\n }\n }, this.currentRefetchInterval);\n };\n\n _proto.updateTimers = function updateTimers() {\n this.updateStaleTimeout();\n this.updateRefetchInterval(this.computeRefetchInterval());\n };\n\n _proto.clearTimers = function clearTimers() {\n this.clearStaleTimeout();\n this.clearRefetchInterval();\n };\n\n _proto.clearStaleTimeout = function clearStaleTimeout() {\n if (this.staleTimeoutId) {\n clearTimeout(this.staleTimeoutId);\n this.staleTimeoutId = undefined;\n }\n };\n\n _proto.clearRefetchInterval = function clearRefetchInterval() {\n if (this.refetchIntervalId) {\n clearInterval(this.refetchIntervalId);\n this.refetchIntervalId = undefined;\n }\n };\n\n _proto.createResult = function createResult(query, options) {\n var prevQuery = this.currentQuery;\n var prevOptions = this.options;\n var prevResult = this.currentResult;\n var prevResultState = this.currentResultState;\n var prevResultOptions = this.currentResultOptions;\n var queryChange = query !== prevQuery;\n var queryInitialState = queryChange ? query.state : this.currentQueryInitialState;\n var prevQueryResult = queryChange ? this.currentResult : this.previousQueryResult;\n var state = query.state;\n var dataUpdatedAt = state.dataUpdatedAt,\n error = state.error,\n errorUpdatedAt = state.errorUpdatedAt,\n isFetching = state.isFetching,\n status = state.status;\n var isPreviousData = false;\n var isPlaceholderData = false;\n var data; // Optimistically set result in fetching state if needed\n\n if (options.optimisticResults) {\n var mounted = this.hasListeners();\n var fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n var fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n\n if (fetchOnMount || fetchOptionally) {\n isFetching = true;\n\n if (!dataUpdatedAt) {\n status = 'loading';\n }\n }\n } // Keep previous data if needed\n\n\n if (options.keepPreviousData && !state.dataUpdateCount && (prevQueryResult == null ? void 0 : prevQueryResult.isSuccess) && status !== 'error') {\n data = prevQueryResult.data;\n dataUpdatedAt = prevQueryResult.dataUpdatedAt;\n status = prevQueryResult.status;\n isPreviousData = true;\n } // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === this.selectFn) {\n data = this.selectResult;\n } else {\n try {\n this.selectFn = options.select;\n data = options.select(state.data);\n\n if (options.structuralSharing !== false) {\n data = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, data);\n }\n\n this.selectResult = data;\n this.selectError = null;\n } catch (selectError) {\n getLogger().error(selectError);\n this.selectError = selectError;\n }\n }\n } // Use query data\n else {\n data = state.data;\n } // Show placeholder data if needed\n\n\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && (status === 'loading' || status === 'idle')) {\n var placeholderData; // Memoize placeholder data\n\n if ((prevResult == null ? void 0 : prevResult.isPlaceholderData) && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData() : options.placeholderData;\n\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n\n if (options.structuralSharing !== false) {\n placeholderData = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, placeholderData);\n }\n\n this.selectError = null;\n } catch (selectError) {\n getLogger().error(selectError);\n this.selectError = selectError;\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = placeholderData;\n isPlaceholderData = true;\n }\n }\n\n if (this.selectError) {\n error = this.selectError;\n data = this.selectResult;\n errorUpdatedAt = Date.now();\n status = 'error';\n }\n\n var result = {\n status: status,\n isLoading: status === 'loading',\n isSuccess: status === 'success',\n isError: status === 'error',\n isIdle: status === 'idle',\n data: data,\n dataUpdatedAt: dataUpdatedAt,\n error: error,\n errorUpdatedAt: errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching: isFetching,\n isRefetching: isFetching && status !== 'loading',\n isLoadingError: status === 'error' && state.dataUpdatedAt === 0,\n isPlaceholderData: isPlaceholderData,\n isPreviousData: isPreviousData,\n isRefetchError: status === 'error' && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove\n };\n return result;\n };\n\n _proto.shouldNotifyListeners = function shouldNotifyListeners(result, prevResult) {\n if (!prevResult) {\n return true;\n }\n\n var _this$options = this.options,\n notifyOnChangeProps = _this$options.notifyOnChangeProps,\n notifyOnChangePropsExclusions = _this$options.notifyOnChangePropsExclusions;\n\n if (!notifyOnChangeProps && !notifyOnChangePropsExclusions) {\n return true;\n }\n\n if (notifyOnChangeProps === 'tracked' && !this.trackedProps.length) {\n return true;\n }\n\n var includedProps = notifyOnChangeProps === 'tracked' ? this.trackedProps : notifyOnChangeProps;\n return Object.keys(result).some(function (key) {\n var typedKey = key;\n var changed = result[typedKey] !== prevResult[typedKey];\n var isIncluded = includedProps == null ? void 0 : includedProps.some(function (x) {\n return x === key;\n });\n var isExcluded = notifyOnChangePropsExclusions == null ? void 0 : notifyOnChangePropsExclusions.some(function (x) {\n return x === key;\n });\n return changed && !isExcluded && (!includedProps || isIncluded);\n });\n };\n\n _proto.updateResult = function updateResult(notifyOptions) {\n var prevResult = this.currentResult;\n this.currentResult = this.createResult(this.currentQuery, this.options);\n this.currentResultState = this.currentQuery.state;\n this.currentResultOptions = this.options; // Only notify if something has changed\n\n if (shallowEqualObjects(this.currentResult, prevResult)) {\n return;\n } // Determine which callbacks to trigger\n\n\n var defaultNotifyOptions = {\n cache: true\n };\n\n if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && this.shouldNotifyListeners(this.currentResult, prevResult)) {\n defaultNotifyOptions.listeners = true;\n }\n\n this.notify(_extends({}, defaultNotifyOptions, notifyOptions));\n };\n\n _proto.updateQuery = function updateQuery() {\n var query = this.client.getQueryCache().build(this.client, this.options);\n\n if (query === this.currentQuery) {\n return;\n }\n\n var prevQuery = this.currentQuery;\n this.currentQuery = query;\n this.currentQueryInitialState = query.state;\n this.previousQueryResult = this.currentResult;\n\n if (this.hasListeners()) {\n prevQuery == null ? void 0 : prevQuery.removeObserver(this);\n query.addObserver(this);\n }\n };\n\n _proto.onQueryUpdate = function onQueryUpdate(action) {\n var notifyOptions = {};\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = true;\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true;\n }\n\n this.updateResult(notifyOptions);\n\n if (this.hasListeners()) {\n this.updateTimers();\n }\n };\n\n _proto.notify = function notify(notifyOptions) {\n var _this8 = this;\n\n notifyManager.batch(function () {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n _this8.options.onSuccess == null ? void 0 : _this8.options.onSuccess(_this8.currentResult.data);\n _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(_this8.currentResult.data, null);\n } else if (notifyOptions.onError) {\n _this8.options.onError == null ? void 0 : _this8.options.onError(_this8.currentResult.error);\n _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(undefined, _this8.currentResult.error);\n } // Then trigger the listeners\n\n\n if (notifyOptions.listeners) {\n _this8.listeners.forEach(function (listener) {\n listener(_this8.currentResult);\n });\n } // Then the cache listeners\n\n\n if (notifyOptions.cache) {\n _this8.client.getQueryCache().notify({\n query: _this8.currentQuery,\n type: 'observerResultsUpdated'\n });\n }\n });\n };\n\n return QueryObserver;\n}(Subscribable);\n\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\n\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\n\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n var value = typeof field === 'function' ? field(query) : field;\n return value === 'always' || value !== false && isStale(query, options);\n }\n\n return false;\n}\n\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\n\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n}","import React from 'react'; // CONTEXT\n\nfunction createValue() {\n var _isReset = false;\n return {\n clearReset: function clearReset() {\n _isReset = false;\n },\n reset: function reset() {\n _isReset = true;\n },\n isReset: function isReset() {\n return _isReset;\n }\n };\n}\n\nvar QueryErrorResetBoundaryContext = /*#__PURE__*/React.createContext(createValue()); // HOOK\n\nexport var useQueryErrorResetBoundary = function useQueryErrorResetBoundary() {\n return React.useContext(QueryErrorResetBoundaryContext);\n}; // COMPONENT\n\nexport var QueryErrorResetBoundary = function QueryErrorResetBoundary(_ref) {\n var children = _ref.children;\n var value = React.useMemo(function () {\n return createValue();\n }, []);\n return /*#__PURE__*/React.createElement(QueryErrorResetBoundaryContext.Provider, {\n value: value\n }, typeof children === 'function' ? children(value) : children);\n};","import { QueryObserver } from '../core';\nimport { parseQueryArgs } from '../core/utils';\nimport { useBaseQuery } from './useBaseQuery'; // HOOK\n\nexport function useQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n return useBaseQuery(parsedOptions, QueryObserver);\n}","import React from 'react';\nimport { notifyManager } from '../core/notifyManager';\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary';\nimport { useQueryClient } from './QueryClientProvider';\nimport { shouldThrowError } from './utils';\nexport function useBaseQuery(options, Observer) {\n var mountedRef = React.useRef(false);\n\n var _React$useState = React.useState(0),\n forceUpdate = _React$useState[1];\n\n var queryClient = useQueryClient();\n var errorResetBoundary = useQueryErrorResetBoundary();\n var defaultedOptions = queryClient.defaultQueryObserverOptions(options); // Make sure results are optimistically set in fetching state before subscribing or updating options\n\n defaultedOptions.optimisticResults = true; // Include callbacks in batch renders\n\n if (defaultedOptions.onError) {\n defaultedOptions.onError = notifyManager.batchCalls(defaultedOptions.onError);\n }\n\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = notifyManager.batchCalls(defaultedOptions.onSuccess);\n }\n\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = notifyManager.batchCalls(defaultedOptions.onSettled);\n }\n\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000;\n } // Set cache time to 1 if the option has been set to 0\n // when using suspense to prevent infinite loop of fetches\n\n\n if (defaultedOptions.cacheTime === 0) {\n defaultedOptions.cacheTime = 1;\n }\n }\n\n if (defaultedOptions.suspense || defaultedOptions.useErrorBoundary) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n defaultedOptions.retryOnMount = false;\n }\n }\n\n var _React$useState2 = React.useState(function () {\n return new Observer(queryClient, defaultedOptions);\n }),\n observer = _React$useState2[0];\n\n var result = observer.getOptimisticResult(defaultedOptions);\n React.useEffect(function () {\n mountedRef.current = true;\n errorResetBoundary.clearReset();\n var unsubscribe = observer.subscribe(notifyManager.batchCalls(function () {\n if (mountedRef.current) {\n forceUpdate(function (x) {\n return x + 1;\n });\n }\n })); // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n\n observer.updateResult();\n return function () {\n mountedRef.current = false;\n unsubscribe();\n };\n }, [errorResetBoundary, observer]);\n React.useEffect(function () {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, {\n listeners: false\n });\n }, [defaultedOptions, observer]); // Handle suspense\n\n if (defaultedOptions.suspense && result.isLoading) {\n throw observer.fetchOptimistic(defaultedOptions).then(function (_ref) {\n var data = _ref.data;\n defaultedOptions.onSuccess == null ? void 0 : defaultedOptions.onSuccess(data);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(data, null);\n }).catch(function (error) {\n errorResetBoundary.clearReset();\n defaultedOptions.onError == null ? void 0 : defaultedOptions.onError(error);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(undefined, error);\n });\n } // Handle error boundary\n\n\n if (result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(defaultedOptions.suspense, defaultedOptions.useErrorBoundary, [result.error, observer.getCurrentQuery()])) {\n throw result.error;\n } // Handle result property usage tracking\n\n\n if (defaultedOptions.notifyOnChangeProps === 'tracked') {\n result = observer.trackResult(result, defaultedOptions);\n }\n\n return result;\n}","export function shouldThrowError(suspense, _useErrorBoundary, params) {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary.apply(void 0, params);\n } // Allow useErrorBoundary to override suspense's throwing behavior\n\n\n if (typeof _useErrorBoundary === 'boolean') return _useErrorBoundary; // If suspense is enabled default to throwing errors\n\n return !!suspense;\n}","import * as React from \"react\";\n\nexport const LEFT = \"Left\";\nexport const RIGHT = \"Right\";\nexport const UP = \"Up\";\nexport const DOWN = \"Down\";\nexport type HandledEvents = React.MouseEvent | TouchEvent | MouseEvent;\nexport type Vector2 = [number, number];\nexport type SwipeDirections =\n | typeof LEFT\n | typeof RIGHT\n | typeof UP\n | typeof DOWN;\nexport interface SwipeEventData {\n /**\n * Absolute displacement of swipe in x. Math.abs(deltaX);\n */\n absX: number;\n /**\n * Absolute displacement of swipe in y. Math.abs(deltaY);\n */\n absY: number;\n /**\n * Displacement of swipe in x. (current.x - initial.x)\n */\n deltaX: number;\n /**\n * Displacement of swipe in y. (current.y - initial.y)\n */\n deltaY: number;\n /**\n * Direction of swipe - Left | Right | Up | Down\n */\n dir: SwipeDirections;\n /**\n * Source event.\n */\n event: HandledEvents;\n /**\n * True for the first event of a tracked swipe.\n */\n first: boolean;\n /**\n * Location where swipe started - [x, y].\n */\n initial: Vector2;\n /**\n * \"Absolute velocity\" (speed) - √(absX^2 + absY^2) / time\n */\n velocity: number;\n /**\n * Velocity per axis - [ deltaX/time, deltaY/time ]\n */\n vxvy: Vector2;\n}\n\nexport type SwipeCallback = (eventData: SwipeEventData) => void;\nexport type TapCallback = ({ event }: { event: HandledEvents }) => void;\n\nexport type SwipeableDirectionCallbacks = {\n /**\n * Called after a DOWN swipe\n */\n onSwipedDown: SwipeCallback;\n /**\n * Called after a LEFT swipe\n */\n onSwipedLeft: SwipeCallback;\n /**\n * Called after a RIGHT swipe\n */\n onSwipedRight: SwipeCallback;\n /**\n * Called after a UP swipe\n */\n onSwipedUp: SwipeCallback;\n};\n\nexport type SwipeableCallbacks = SwipeableDirectionCallbacks & {\n /**\n * Called at start of a tracked swipe.\n */\n onSwipeStart: SwipeCallback;\n /**\n * Called after any swipe.\n */\n onSwiped: SwipeCallback;\n /**\n * Called for each move event during a tracked swipe.\n */\n onSwiping: SwipeCallback;\n /**\n * Called after a tap. A touch under the min distance, `delta`.\n */\n onTap: TapCallback;\n /**\n * Called for `touchstart` and `mousedown`.\n */\n onTouchStartOrOnMouseDown: TapCallback;\n /**\n * Called for `touchend` and `mouseup`.\n */\n onTouchEndOrOnMouseUp: TapCallback;\n};\n\n// Configuration Options\nexport type ConfigurationOptionDelta =\n | number\n | { [key in Lowercase]?: number };\n\nexport interface ConfigurationOptions {\n /**\n * Min distance(px) before a swipe starts. **Default**: `10`\n */\n delta: ConfigurationOptionDelta;\n /**\n * Prevents scroll during swipe in most cases. **Default**: `false`\n */\n preventScrollOnSwipe: boolean;\n /**\n * Set a rotation angle. **Default**: `0`\n */\n rotationAngle: number;\n /**\n * Track mouse input. **Default**: `false`\n */\n trackMouse: boolean;\n /**\n * Track touch input. **Default**: `true`\n */\n trackTouch: boolean;\n /**\n * Allowable duration of a swipe (ms). **Default**: `Infinity`\n */\n swipeDuration: number;\n /**\n * Options for touch event listeners\n */\n touchEventOptions: { passive: boolean };\n}\n\nexport type SwipeableProps = Partial;\n\nexport type SwipeablePropsWithDefaultOptions = Partial &\n ConfigurationOptions;\n\nexport interface SwipeableHandlers {\n ref(element: HTMLElement | null): void;\n onMouseDown?(event: React.MouseEvent): void;\n}\n\nexport type SwipeableState = {\n cleanUpTouch?: () => void;\n el?: HTMLElement;\n eventData?: SwipeEventData;\n first: boolean;\n initial: Vector2;\n start: number;\n swiping: boolean;\n xy: Vector2;\n};\n\nexport type StateSetter = (\n state: SwipeableState,\n props: SwipeablePropsWithDefaultOptions\n) => SwipeableState;\nexport type Setter = (stateSetter: StateSetter) => void;\nexport type AttachTouch = (\n el: HTMLElement,\n props: SwipeablePropsWithDefaultOptions\n) => () => void;\n","/* global document */\nimport * as React from \"react\";\nimport {\n AttachTouch,\n SwipeDirections,\n DOWN,\n SwipeEventData,\n HandledEvents,\n LEFT,\n RIGHT,\n Setter,\n ConfigurationOptions,\n SwipeableDirectionCallbacks,\n SwipeableHandlers,\n SwipeableProps,\n SwipeablePropsWithDefaultOptions,\n SwipeableState,\n SwipeCallback,\n TapCallback,\n UP,\n Vector2,\n} from \"./types\";\n\nexport {\n LEFT,\n RIGHT,\n UP,\n DOWN,\n SwipeDirections,\n SwipeEventData,\n SwipeableDirectionCallbacks,\n SwipeCallback,\n TapCallback,\n SwipeableHandlers,\n SwipeableProps,\n Vector2,\n};\n\nconst defaultProps: ConfigurationOptions = {\n delta: 10,\n preventScrollOnSwipe: false,\n rotationAngle: 0,\n trackMouse: false,\n trackTouch: true,\n swipeDuration: Infinity,\n touchEventOptions: { passive: true },\n};\nconst initialState: SwipeableState = {\n first: true,\n initial: [0, 0],\n start: 0,\n swiping: false,\n xy: [0, 0],\n};\nconst mouseMove = \"mousemove\";\nconst mouseUp = \"mouseup\";\nconst touchEnd = \"touchend\";\nconst touchMove = \"touchmove\";\nconst touchStart = \"touchstart\";\n\nfunction getDirection(\n absX: number,\n absY: number,\n deltaX: number,\n deltaY: number\n): SwipeDirections {\n if (absX > absY) {\n if (deltaX > 0) {\n return RIGHT;\n }\n return LEFT;\n } else if (deltaY > 0) {\n return DOWN;\n }\n return UP;\n}\n\nfunction rotateXYByAngle(pos: Vector2, angle: number): Vector2 {\n if (angle === 0) return pos;\n const angleInRadians = (Math.PI / 180) * angle;\n const x =\n pos[0] * Math.cos(angleInRadians) + pos[1] * Math.sin(angleInRadians);\n const y =\n pos[1] * Math.cos(angleInRadians) - pos[0] * Math.sin(angleInRadians);\n return [x, y];\n}\n\nfunction getHandlers(\n set: Setter,\n handlerProps: { trackMouse: boolean | undefined }\n): [\n {\n ref: (element: HTMLElement | null) => void;\n onMouseDown?: (event: React.MouseEvent) => void;\n },\n AttachTouch\n] {\n const onStart = (event: HandledEvents) => {\n const isTouch = \"touches\" in event;\n // if more than a single touch don't track, for now...\n if (isTouch && event.touches.length > 1) return;\n\n set((state, props) => {\n // setup mouse listeners on document to track swipe since swipe can leave container\n if (props.trackMouse && !isTouch) {\n document.addEventListener(mouseMove, onMove);\n document.addEventListener(mouseUp, onUp);\n }\n const { clientX, clientY } = isTouch ? event.touches[0] : event;\n const xy = rotateXYByAngle([clientX, clientY], props.rotationAngle);\n\n props.onTouchStartOrOnMouseDown &&\n props.onTouchStartOrOnMouseDown({ event });\n\n return {\n ...state,\n ...initialState,\n initial: xy.slice() as Vector2,\n xy,\n start: event.timeStamp || 0,\n };\n });\n };\n\n const onMove = (event: HandledEvents) => {\n set((state, props) => {\n const isTouch = \"touches\" in event;\n // Discount a swipe if additional touches are present after\n // a swipe has started.\n if (isTouch && event.touches.length > 1) {\n return state;\n }\n\n // if swipe has exceeded duration stop tracking\n if (event.timeStamp - state.start > props.swipeDuration) {\n return state.swiping ? { ...state, swiping: false } : state;\n }\n\n const { clientX, clientY } = isTouch ? event.touches[0] : event;\n const [x, y] = rotateXYByAngle([clientX, clientY], props.rotationAngle);\n const deltaX = x - state.xy[0];\n const deltaY = y - state.xy[1];\n const absX = Math.abs(deltaX);\n const absY = Math.abs(deltaY);\n const time = (event.timeStamp || 0) - state.start;\n const velocity = Math.sqrt(absX * absX + absY * absY) / (time || 1);\n const vxvy: Vector2 = [deltaX / (time || 1), deltaY / (time || 1)];\n\n const dir = getDirection(absX, absY, deltaX, deltaY);\n\n // if swipe is under delta and we have not started to track a swipe: skip update\n const delta =\n typeof props.delta === \"number\"\n ? props.delta\n : props.delta[dir.toLowerCase() as Lowercase] ||\n defaultProps.delta;\n if (absX < delta && absY < delta && !state.swiping) return state;\n\n const eventData = {\n absX,\n absY,\n deltaX,\n deltaY,\n dir,\n event,\n first: state.first,\n initial: state.initial,\n velocity,\n vxvy,\n };\n\n // call onSwipeStart if present and is first swipe event\n eventData.first && props.onSwipeStart && props.onSwipeStart(eventData);\n\n // call onSwiping if present\n props.onSwiping && props.onSwiping(eventData);\n\n // track if a swipe is cancelable (handler for swiping or swiped(dir) exists)\n // so we can call preventDefault if needed\n let cancelablePageSwipe = false;\n if (\n props.onSwiping ||\n props.onSwiped ||\n props[`onSwiped${dir}` as keyof SwipeableDirectionCallbacks]\n ) {\n cancelablePageSwipe = true;\n }\n\n if (\n cancelablePageSwipe &&\n props.preventScrollOnSwipe &&\n props.trackTouch &&\n event.cancelable\n ) {\n event.preventDefault();\n }\n\n return {\n ...state,\n // first is now always false\n first: false,\n eventData,\n swiping: true,\n };\n });\n };\n\n const onEnd = (event: HandledEvents) => {\n set((state, props) => {\n let eventData: SwipeEventData | undefined;\n if (state.swiping && state.eventData) {\n // if swipe is less than duration fire swiped callbacks\n if (event.timeStamp - state.start < props.swipeDuration) {\n eventData = { ...state.eventData, event };\n props.onSwiped && props.onSwiped(eventData);\n\n const onSwipedDir =\n props[\n `onSwiped${eventData.dir}` as keyof SwipeableDirectionCallbacks\n ];\n onSwipedDir && onSwipedDir(eventData);\n }\n } else {\n props.onTap && props.onTap({ event });\n }\n\n props.onTouchEndOrOnMouseUp && props.onTouchEndOrOnMouseUp({ event });\n\n return { ...state, ...initialState, eventData };\n });\n };\n\n const cleanUpMouse = () => {\n // safe to just call removeEventListener\n document.removeEventListener(mouseMove, onMove);\n document.removeEventListener(mouseUp, onUp);\n };\n\n const onUp = (e: HandledEvents) => {\n cleanUpMouse();\n onEnd(e);\n };\n\n /**\n * The value of passive on touchMove depends on `preventScrollOnSwipe`:\n * - true => { passive: false }\n * - false => { passive: true } // Default\n *\n * NOTE: When preventScrollOnSwipe is true, we attempt to call preventDefault to prevent scroll.\n *\n * props.touchEventOptions can also be set for all touch event listeners,\n * but for `touchmove` specifically when `preventScrollOnSwipe` it will\n * supersede and force passive to false.\n *\n */\n const attachTouch: AttachTouch = (el, props) => {\n let cleanup = () => {};\n if (el && el.addEventListener) {\n const baseOptions = {\n ...defaultProps.touchEventOptions,\n ...props.touchEventOptions,\n };\n // attach touch event listeners and handlers\n const tls: [\n typeof touchStart | typeof touchMove | typeof touchEnd,\n (e: HandledEvents) => void,\n { passive: boolean }\n ][] = [\n [touchStart, onStart, baseOptions],\n // preventScrollOnSwipe option supersedes touchEventOptions.passive\n [\n touchMove,\n onMove,\n {\n ...baseOptions,\n ...(props.preventScrollOnSwipe ? { passive: false } : {}),\n },\n ],\n [touchEnd, onEnd, baseOptions],\n ];\n tls.forEach(([e, h, o]) => el.addEventListener(e, h, o));\n // return properly scoped cleanup method for removing listeners, options not required\n cleanup = () => tls.forEach(([e, h]) => el.removeEventListener(e, h));\n }\n return cleanup;\n };\n\n const onRef = (el: HTMLElement | null) => {\n // \"inline\" ref functions are called twice on render, once with null then again with DOM element\n // ignore null here\n if (el === null) return;\n set((state, props) => {\n // if the same DOM el as previous just return state\n if (state.el === el) return state;\n\n const addState: { cleanUpTouch?: () => void } = {};\n // if new DOM el clean up old DOM and reset cleanUpTouch\n if (state.el && state.el !== el && state.cleanUpTouch) {\n state.cleanUpTouch();\n addState.cleanUpTouch = void 0;\n }\n // only attach if we want to track touch\n if (props.trackTouch && el) {\n addState.cleanUpTouch = attachTouch(el, props);\n }\n\n // store event attached DOM el for comparison, clean up, and re-attachment\n return { ...state, el, ...addState };\n });\n };\n\n // set ref callback to attach touch event listeners\n const output: { ref: typeof onRef; onMouseDown?: typeof onStart } = {\n ref: onRef,\n };\n\n // if track mouse attach mouse down listener\n if (handlerProps.trackMouse) {\n output.onMouseDown = onStart;\n }\n\n return [output, attachTouch];\n}\n\nfunction updateTransientState(\n state: SwipeableState,\n props: SwipeablePropsWithDefaultOptions,\n previousProps: SwipeablePropsWithDefaultOptions,\n attachTouch: AttachTouch\n) {\n // if trackTouch is off or there is no el, then remove handlers if necessary and exit\n if (!props.trackTouch || !state.el) {\n if (state.cleanUpTouch) {\n state.cleanUpTouch();\n }\n\n return {\n ...state,\n cleanUpTouch: undefined,\n };\n }\n\n // trackTouch is on, so if there are no handlers attached, attach them and exit\n if (!state.cleanUpTouch) {\n return {\n ...state,\n cleanUpTouch: attachTouch(state.el, props),\n };\n }\n\n // trackTouch is on and handlers are already attached, so if preventScrollOnSwipe changes value,\n // remove and reattach handlers (this is required to update the passive option when attaching\n // the handlers)\n if (\n props.preventScrollOnSwipe !== previousProps.preventScrollOnSwipe ||\n props.touchEventOptions.passive !== previousProps.touchEventOptions.passive\n ) {\n state.cleanUpTouch();\n\n return {\n ...state,\n cleanUpTouch: attachTouch(state.el, props),\n };\n }\n\n return state;\n}\n\nexport function useSwipeable(options: SwipeableProps): SwipeableHandlers {\n const { trackMouse } = options;\n const transientState = React.useRef({ ...initialState });\n const transientProps = React.useRef({\n ...defaultProps,\n });\n\n // track previous rendered props\n const previousProps = React.useRef({\n ...transientProps.current,\n });\n previousProps.current = { ...transientProps.current };\n\n // update current render props & defaults\n transientProps.current = {\n ...defaultProps,\n ...options,\n };\n // Force defaults for config properties\n let defaultKey: keyof ConfigurationOptions;\n for (defaultKey in defaultProps) {\n if (transientProps.current[defaultKey] === void 0) {\n (transientProps.current[defaultKey] as any) = defaultProps[defaultKey];\n }\n }\n\n const [handlers, attachTouch] = React.useMemo(\n () =>\n getHandlers(\n (stateSetter) =>\n (transientState.current = stateSetter(\n transientState.current,\n transientProps.current\n )),\n { trackMouse }\n ),\n [trackMouse]\n );\n\n transientState.current = updateTransientState(\n transientState.current,\n transientProps.current,\n previousProps.current,\n attachTouch\n );\n\n return handlers;\n}\n","/**\n * @license React\n * react-jsx-runtime.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'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.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'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"0814a0fe\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"frno-frtog:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/tog/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfrno_frtog\"] = self[\"webpackChunkfrno_frtog\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","////////////////////////////////////////////////////////////////////////////////\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, compiledParams] = 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 = compiledParams.reduce>(\n (memo, { paramName, isOptional }, 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 const value = captureGroups[index];\n if (isOptional && !value) {\n memo[paramName] = undefined;\n } else {\n memo[paramName] = safelyDecodeURIComponent(value || \"\", paramName);\n }\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\ntype CompiledPathParam = { paramName: string; isOptional?: boolean };\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, CompiledPathParam[]] {\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 params: CompiledPathParam[] = [];\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, isOptional) => {\n params.push({ paramName, isOptional: isOptional != null });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n params.push({ paramName: \"*\" });\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, params];\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\nexport type ErrorResponse = {\n status: number;\n statusText: string;\n data: any;\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nexport class ErrorResponseImpl implements ErrorResponse {\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/**\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 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 * Return the window associated with the router\n */\n get window(): RouterInit[\"window\"];\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_fetcherPersist: boolean;\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\ntype ViewTransitionOpts = {\n currentLocation: Location;\n nextLocation: Location;\n};\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (\n state: RouterState,\n opts: {\n deletedFetchers: string[];\n unstable_viewTransitionOpts?: ViewTransitionOpts;\n }\n ): 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 unstable_viewTransition?: boolean;\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\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\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_fetcherPersist: false,\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 // Should the current navigation enable document.startViewTransition?\n let pendingViewTransitionEnabled = false;\n\n // Store applied view transitions so we can apply them on POP\n let appliedViewTransitions: Map> = new Map<\n string,\n Set\n >();\n\n // Cleanup function for persisting applied transitions to sessionStorage\n let removePageHideEventListener: (() => void) | null = 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 // Ref-count mounted fetchers so we know when it's ok to clean them up\n let activeFetchers = new Map();\n\n // Fetchers that have requested a delete when using v7_fetcherPersist,\n // they'll be officially removed after they return to idle\n let deletedFetchers = new Set();\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 if (isBrowser) {\n // FIXME: This feels gross. How can we cleanup the lines between\n // scrollRestoration/appliedTransitions persistance?\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () =>\n persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () =>\n routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\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 if (removePageHideEventListener) {\n removePageHideEventListener();\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(\n newState: Partial,\n viewTransitionOpts?: ViewTransitionOpts\n ): void {\n state = {\n ...state,\n ...newState,\n };\n\n // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n // can be removed\n let completedFetchers: string[] = [];\n let deletedFetchersKeys: string[] = [];\n\n if (future.v7_fetcherPersist) {\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (deletedFetchers.has(key)) {\n // Unmounted from the UI and can be totally removed\n deletedFetchersKeys.push(key);\n } else {\n // Returned to idle but still mounted in the UI, so semi-remains for\n // revalidations and such\n completedFetchers.push(key);\n }\n }\n });\n }\n\n subscribers.forEach((subscriber) =>\n subscriber(state, {\n deletedFetchers: deletedFetchersKeys,\n unstable_viewTransitionOpts: viewTransitionOpts,\n })\n );\n\n // Remove idle fetchers from state since we only care about in-flight fetchers.\n if (future.v7_fetcherPersist) {\n completedFetchers.forEach((key) => state.fetchers.delete(key));\n deletedFetchersKeys.forEach((key) => deleteFetcher(key));\n }\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 let viewTransitionOpts: ViewTransitionOpts | undefined;\n\n // On POP, enable transitions if they were enabled on the original navigation\n if (pendingAction === HistoryAction.Pop) {\n // Forward takes precedence so they behave like the original navigation\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n // If we don't have a previous forward nav, assume we're popping back to\n // the new location and enable if that location previously enabled\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location,\n };\n }\n } else if (pendingViewTransitionEnabled) {\n // Store the applied transition on PUSH/REPLACE\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location,\n };\n }\n\n updateState(\n {\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 viewTransitionOpts\n );\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = 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 enableViewTransition: opts && opts.unstable_viewTransition,\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 enableViewTransition?: 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 pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === 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 if (future.v7_fetcherPersist) {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n // If this fetcher was previously marked for deletion, unmark it since we\n // have a new instance\n if (deletedFetchers.has(key)) {\n deletedFetchers.delete(key);\n }\n }\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 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 (deletedFetchers.has(key)) {\n state.fetchers.set(key, getDoneFetcher(undefined));\n updateState({ fetchers: new Map(state.fetchers) });\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 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 fetchers: new Map(state.fetchers),\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 (deletedFetchers.has(key)) {\n state.fetchers.set(key, getDoneFetcher(undefined));\n updateState({ fetchers: new Map(state.fetchers) });\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 setFetcherError(key, routeId, result.error);\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 deletedFetchers.delete(key);\n state.fetchers.delete(key);\n }\n\n function deleteFetcherAndUpdateState(key: string): void {\n if (future.v7_fetcherPersist) {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n deletedFetchers.add(key);\n } else {\n activeFetchers.set(key, count);\n }\n } else {\n deleteFetcher(key);\n }\n updateState({ fetchers: new Map(state.fetchers) });\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 get window() {\n return routerWindow;\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: deleteFetcherAndUpdateState,\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: BaseNavigateOrFetchOptions\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?: BaseNavigateOrFetchOptions\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 =\n routes.length === 1\n ? routes[0]\n : 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\nfunction restoreAppliedTransitions(\n _window: Window,\n transitions: Map>\n) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(\n TRANSITIONS_STORAGE_KEY\n );\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n // no-op, use default empty object\n }\n}\n\nfunction persistAppliedTransitions(\n _window: Window,\n transitions: Map>\n) {\n if (transitions.size > 0) {\n let json: Record = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(\n TRANSITIONS_STORAGE_KEY,\n JSON.stringify(json)\n );\n } catch (error) {\n warning(\n false,\n `Failed to save applied view transitions in sessionStorage (${error}).`\n );\n }\n }\n}\n\n//#endregion\n","import * as React from \"react\";\nimport type {\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n AgnosticRouteMatch,\n History,\n LazyRouteFunction,\n Location,\n Action as NavigationType,\n RelativeRoutingType,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n Component?: React.ComponentType | null;\n ErrorBoundary?: React.ComponentType | null;\n lazy?: LazyRouteFunction;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch {}\n\nexport interface DataRouteMatch extends RouteMatch {}\n\nexport interface DataRouterContextObject extends NavigationContextObject {\n router: Router;\n staticContext?: StaticHandlerContext;\n}\n\nexport const DataRouterContext =\n React.createContext(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n unstable_viewTransition?: boolean;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level `` API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n // Optional for backwards-compat with Router/HistoryRouter usage (edge case)\n encodeLocation?: History[\"encodeLocation\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n isDataRoute: boolean;\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false,\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Blocker,\n BlockerFunction,\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n RelativeRoutingType,\n Router as RemixRouter,\n RevalidationState,\n To,\n UIMatch,\n} from \"@remix-run/router\";\nimport {\n IDLE_BLOCKER,\n Action as NavigationType,\n UNSAFE_convertRouteMatchToUiMatch as convertRouteMatchToUiMatch,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n UNSAFE_invariant as invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\n\nimport type {\n DataRouteMatch,\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n} from \"./context\";\nimport {\n AwaitContext,\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a ``.\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * ``.\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nconst navigateEffectWarning =\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`;\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(\n cb: Parameters[0]\n) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by ``s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n let { isDataRoute } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\n\nfunction useNavigateUnstable(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let dataRouterContext = React.useContext(DataRouterContext);\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [\n basename,\n navigator,\n routePathnamesJson,\n locationPathname,\n dataRouterContext,\n ]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by `` to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an `` to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nexport function useRoutesImpl(\n routes: RouteObject[],\n locationArg?: Partial | string,\n dataRouterState?: RemixRouter[\"state\"]\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { navigator } = React.useContext(NavigationContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined ||\n matches[matches.length - 1].route.Component !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" ` +\n `does not have an element or Component. This means it will render an with a ` +\n `null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathname).pathname\n : match.pathname,\n ]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathnameBase).pathname\n : match.pathnameBase,\n ]),\n })\n ),\n parentMatches,\n dataRouterState\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n \n {renderedMatches}\n \n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n\n let devInfo = null;\n if (__DEV__) {\n console.error(\n \"Error handled by React Router default ErrorBoundary:\",\n error\n );\n\n devInfo = (\n <>\n

💿 Hey developer 👋

\n

\n You can provide a way better UX than this when your app throws errors\n by providing your own ErrorBoundary or{\" \"}\n errorElement prop on your route.\n

\n \n );\n }\n\n return (\n <>\n

Unexpected Application Error!

\n

{message}

\n {stack ?
{stack}
: null}\n {devInfo}\n \n );\n}\n\nconst defaultErrorElement = ;\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n revalidation: RevalidationState;\n error: any;\n component: React.ReactNode;\n routeContext: RouteContextObject;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n revalidation: RevalidationState;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (\n state.location !== props.location ||\n (state.revalidation !== \"idle\" && props.revalidation === \"idle\")\n ) {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error || state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error ? (\n \n \n \n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (\n dataRouterContext &&\n dataRouterContext.static &&\n dataRouterContext.staticContext &&\n (match.route.errorElement || match.route.ErrorBoundary)\n ) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n \n {children}\n \n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState: RemixRouter[\"state\"] | null = null\n): React.ReactElement | null {\n if (matches == null) {\n if (dataRouterState?.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id]\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for errors on route IDs: ${Object.keys(\n errors\n ).join(\",\")}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors?.[match.route.id] : null;\n // Only data routers handle errors\n let errorElement: React.ReactNode | null = null;\n if (dataRouterState) {\n errorElement = match.route.errorElement || defaultErrorElement;\n }\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children: React.ReactNode;\n if (error) {\n children = errorElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `` in `` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = ;\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return (\n \n );\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState &&\n (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? (\n \n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseBlocker = \"useBlocker\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n}\n\nenum DataRouterStateHook {\n UseBlocker = \"useBlocker\",\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n UseNavigateStable = \"useNavigate\",\n UseRouteId = \"useRouteId\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\nfunction useRouteContext(hookName: DataRouterStateHook) {\n let route = React.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName: DataRouterStateHook) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nexport function useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return React.useMemo(\n () => ({\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n }),\n [dataRouterContext.router.revalidate, state.revalidation]\n );\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches(): UIMatch[] {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () => matches.map((m) => convertRouteMatchToUiMatch(m, loaderData)),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n\n if (state.errors && state.errors[routeId] != null) {\n console.error(\n `You cannot \\`useLoaderData\\` in an errorElement (routeId: ${routeId})`\n );\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useActionData must be used inside a RouteContext`);\n\n return Object.values(state?.actionData || {})[0];\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return state.errors?.[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor `` value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor `` value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nexport function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker {\n let { router, basename } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback(\n (arg) => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let { currentLocation, nextLocation, historyAction } = arg;\n return shouldBlock({\n currentLocation: {\n ...currentLocation,\n pathname:\n stripBasename(currentLocation.pathname, basename) ||\n currentLocation.pathname,\n },\n nextLocation: {\n ...nextLocation,\n pathname:\n stripBasename(nextLocation.pathname, basename) ||\n nextLocation.pathname,\n },\n historyAction,\n });\n },\n [basename, shouldBlock]\n );\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey)\n ? state.blockers.get(blockerKey)!\n : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable(): NavigateFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, { fromRouteId: id, ...options });\n }\n },\n [router, id]\n );\n\n return navigate;\n}\n\nconst alreadyWarned: Record = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import type {\n InitialEntry,\n LazyRouteFunction,\n Location,\n MemoryHistory,\n RelativeRoutingType,\n Router as RemixRouter,\n RouterState,\n RouterSubscriber,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\nimport {\n AbortedDeferredError,\n Action as NavigationType,\n createMemoryHistory,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n UNSAFE_invariant as invariant,\n parsePath,\n resolveTo,\n stripBasename,\n UNSAFE_warning as warning,\n} from \"@remix-run/router\";\nimport * as React from \"react\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n Navigator,\n NonIndexRouteObject,\n RouteMatch,\n RouteObject,\n} from \"./context\";\nimport {\n AwaitContext,\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n} from \"./context\";\nimport {\n _renderMatches,\n useAsyncValue,\n useInRouterContext,\n useLocation,\n useNavigate,\n useOutlet,\n useRoutes,\n useRoutesImpl,\n} from \"./hooks\";\n\nexport interface FutureConfig {\n v7_startTransition: boolean;\n}\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n future?: Partial;\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n future,\n}: RouterProviderProps): React.ReactElement {\n let [state, setStateImpl] = React.useState(router.state);\n let { v7_startTransition } = future || {};\n\n let setState = React.useCallback(\n (newState: RouterState) => {\n if (v7_startTransition && startTransitionImpl) {\n startTransitionImpl(() => setStateImpl(newState));\n } else {\n setStateImpl(newState);\n }\n },\n [setStateImpl, v7_startTransition]\n );\n\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/)\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n let dataRouterContext = React.useMemo(\n () => ({\n router,\n navigator,\n static: false,\n basename,\n }),\n [router, navigator, basename]\n );\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a