@techdocs/cli 1.5.0-next.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/dist/embedded-app/.config-schema.json +45 -0
- package/dist/embedded-app/index.html +1 -1
- package/dist/embedded-app/static/1032.96cef90d.chunk.js +5 -0
- package/dist/embedded-app/static/1032.96cef90d.chunk.js.map +1 -0
- package/dist/embedded-app/static/1105.ac144a87.chunk.js +5 -0
- package/dist/embedded-app/static/1105.ac144a87.chunk.js.map +1 -0
- package/dist/embedded-app/static/184.5623ac15.chunk.js +5 -0
- package/dist/embedded-app/static/184.5623ac15.chunk.js.map +1 -0
- package/dist/embedded-app/static/2440.240e2610.chunk.js +5 -0
- package/dist/embedded-app/static/2440.240e2610.chunk.js.map +1 -0
- package/dist/embedded-app/static/2924.b757596e.chunk.js +3 -0
- package/dist/embedded-app/static/2924.b757596e.chunk.js.map +1 -0
- package/dist/embedded-app/static/3487.bf80060c.chunk.js +5 -0
- package/dist/embedded-app/static/3487.bf80060c.chunk.js.map +1 -0
- package/dist/embedded-app/static/3893.0eb40023.chunk.js +3 -0
- package/dist/embedded-app/static/3893.0eb40023.chunk.js.map +1 -0
- package/dist/embedded-app/static/4966.9cb67949.chunk.js +49 -0
- package/dist/embedded-app/static/4966.9cb67949.chunk.js.map +1 -0
- package/dist/embedded-app/static/5458.f510f1d2.chunk.js +5 -0
- package/dist/embedded-app/static/5458.f510f1d2.chunk.js.map +1 -0
- package/dist/embedded-app/static/5877.fa5d49bb.chunk.js +6 -0
- package/dist/embedded-app/static/5877.fa5d49bb.chunk.js.map +1 -0
- package/dist/embedded-app/static/5914.412625b0.chunk.js +3 -0
- package/dist/embedded-app/static/5914.412625b0.chunk.js.map +1 -0
- package/dist/embedded-app/static/6051.5b06b988.chunk.js +4 -0
- package/dist/embedded-app/static/{6051.9a397327.chunk.js.map → 6051.5b06b988.chunk.js.map} +1 -1
- package/dist/embedded-app/static/7670.dce585cd.chunk.js +3 -0
- package/dist/embedded-app/static/{7670.714e8960.chunk.js.map → 7670.dce585cd.chunk.js.map} +1 -1
- package/dist/embedded-app/static/7750.f3e35b68.chunk.js +8 -0
- package/dist/embedded-app/static/7750.f3e35b68.chunk.js.map +1 -0
- package/dist/embedded-app/static/7893.67e0b03f.chunk.js +3 -0
- package/dist/embedded-app/static/7893.67e0b03f.chunk.js.map +1 -0
- package/dist/embedded-app/static/8629.18b8b029.chunk.js +7 -0
- package/dist/embedded-app/static/8629.18b8b029.chunk.js.map +1 -0
- package/dist/embedded-app/static/8662.e8af541f.chunk.js +3 -0
- package/dist/embedded-app/static/8662.e8af541f.chunk.js.map +1 -0
- package/dist/embedded-app/static/8951.b8daca92.chunk.js +3 -0
- package/dist/embedded-app/static/8951.b8daca92.chunk.js.map +1 -0
- package/dist/embedded-app/static/9545.3ea2318c.chunk.js +5 -0
- package/dist/embedded-app/static/9545.3ea2318c.chunk.js.map +1 -0
- package/dist/embedded-app/static/9598.c8137318.chunk.js +3 -0
- package/dist/embedded-app/static/9598.c8137318.chunk.js.map +1 -0
- package/dist/embedded-app/static/967.c3c74dec.chunk.js +15 -0
- package/dist/embedded-app/static/967.c3c74dec.chunk.js.map +1 -0
- package/dist/embedded-app/static/9770.18f87a62.chunk.js +5 -0
- package/dist/embedded-app/static/9770.18f87a62.chunk.js.map +1 -0
- package/dist/embedded-app/static/main.04af2edd.js +487 -0
- package/dist/embedded-app/static/main.04af2edd.js.map +1 -0
- package/dist/embedded-app/static/module-i18next.db8a27ed.js +3 -0
- package/dist/embedded-app/static/{module-i18next.3eb80014.js.map → module-i18next.db8a27ed.js.map} +1 -1
- package/dist/embedded-app/static/module-lodash.8166f005.js +29 -0
- package/dist/embedded-app/static/module-lodash.8166f005.js.map +1 -0
- package/dist/embedded-app/static/{module-material-table.1d463a12.js → module-material-table.0f5635dd.js} +2 -2
- package/dist/embedded-app/static/{module-material-table.1d463a12.js.map → module-material-table.0f5635dd.js.map} +1 -1
- package/dist/embedded-app/static/module-material-ui.1b712255.js +24 -0
- package/dist/embedded-app/static/module-material-ui.1b712255.js.map +1 -0
- package/dist/embedded-app/static/{module-react-beautiful-dnd.ad887878.js → module-react-beautiful-dnd.62627182.js} +2 -2
- package/dist/embedded-app/static/{module-react-beautiful-dnd.ad887878.js.map → module-react-beautiful-dnd.62627182.js.map} +1 -1
- package/dist/embedded-app/static/{module-react-dom.bd3fd0c6.js → module-react-dom.07625e59.js} +1 -1
- package/dist/embedded-app/static/{module-react-dom.bd3fd0c6.js.map → module-react-dom.07625e59.js.map} +1 -1
- package/dist/embedded-app/static/module-react-router-dom.a0f835fd.js +22 -0
- package/dist/embedded-app/static/module-react-router-dom.a0f835fd.js.map +1 -0
- package/dist/embedded-app/static/module-react-router.8e9755f1.js +22 -0
- package/dist/embedded-app/static/module-react-router.8e9755f1.js.map +1 -0
- package/dist/embedded-app/static/module-zod.c74c6842.js +3 -0
- package/dist/embedded-app/static/module-zod.c74c6842.js.map +1 -0
- package/dist/embedded-app/static/{runtime.2d4c0606.js → runtime.04af2edd.js} +2 -2
- package/dist/embedded-app/static/runtime.04af2edd.js.map +1 -0
- package/dist/embedded-app/static/vendor.04af2edd.js +159 -0
- package/dist/embedded-app/static/vendor.04af2edd.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/package.json +6 -6
- package/dist/embedded-app/static/1032.f8378b05.chunk.js +0 -3
- package/dist/embedded-app/static/1032.f8378b05.chunk.js.map +0 -1
- package/dist/embedded-app/static/1093.317a4f39.chunk.js +0 -7
- package/dist/embedded-app/static/1093.317a4f39.chunk.js.map +0 -1
- package/dist/embedded-app/static/1105.a5f2c603.chunk.js +0 -3
- package/dist/embedded-app/static/1105.a5f2c603.chunk.js.map +0 -1
- package/dist/embedded-app/static/184.2d07d6cf.chunk.js +0 -3
- package/dist/embedded-app/static/184.2d07d6cf.chunk.js.map +0 -1
- package/dist/embedded-app/static/2440.c513a311.chunk.js +0 -3
- package/dist/embedded-app/static/2440.c513a311.chunk.js.map +0 -1
- package/dist/embedded-app/static/5458.f60ece35.chunk.js +0 -3
- package/dist/embedded-app/static/5458.f60ece35.chunk.js.map +0 -1
- package/dist/embedded-app/static/5837.d9697f2a.chunk.js +0 -3
- package/dist/embedded-app/static/5837.d9697f2a.chunk.js.map +0 -1
- package/dist/embedded-app/static/6051.9a397327.chunk.js +0 -4
- package/dist/embedded-app/static/732.b079cbc6.chunk.js +0 -3
- package/dist/embedded-app/static/732.b079cbc6.chunk.js.map +0 -1
- package/dist/embedded-app/static/7560.f82352d7.chunk.js +0 -3
- package/dist/embedded-app/static/7560.f82352d7.chunk.js.map +0 -1
- package/dist/embedded-app/static/7670.714e8960.chunk.js +0 -3
- package/dist/embedded-app/static/7750.da1a67d5.chunk.js +0 -8
- package/dist/embedded-app/static/7750.da1a67d5.chunk.js.map +0 -1
- package/dist/embedded-app/static/8951.d0edcfcb.chunk.js +0 -3
- package/dist/embedded-app/static/8951.d0edcfcb.chunk.js.map +0 -1
- package/dist/embedded-app/static/9545.24f95d89.chunk.js +0 -3
- package/dist/embedded-app/static/9545.24f95d89.chunk.js.map +0 -1
- package/dist/embedded-app/static/9770.2fa7c11e.chunk.js +0 -3
- package/dist/embedded-app/static/9770.2fa7c11e.chunk.js.map +0 -1
- package/dist/embedded-app/static/main.2d4c0606.js +0 -522
- package/dist/embedded-app/static/main.2d4c0606.js.map +0 -1
- package/dist/embedded-app/static/module-ajv.be583887.js +0 -10
- package/dist/embedded-app/static/module-ajv.be583887.js.map +0 -1
- package/dist/embedded-app/static/module-i18next.3eb80014.js +0 -3
- package/dist/embedded-app/static/module-lodash.4c9a1319.js +0 -29
- package/dist/embedded-app/static/module-lodash.4c9a1319.js.map +0 -1
- package/dist/embedded-app/static/module-luxon.b1d74b2d.js +0 -3
- package/dist/embedded-app/static/module-luxon.b1d74b2d.js.map +0 -1
- package/dist/embedded-app/static/module-material-ui.1afbaa53.js +0 -51
- package/dist/embedded-app/static/module-material-ui.1afbaa53.js.map +0 -1
- package/dist/embedded-app/static/module-octokit.7416db07.js +0 -5
- package/dist/embedded-app/static/module-octokit.7416db07.js.map +0 -1
- package/dist/embedded-app/static/module-react-router-dom.ef191c8f.js +0 -21
- package/dist/embedded-app/static/module-react-router-dom.ef191c8f.js.map +0 -1
- package/dist/embedded-app/static/module-react-router.d2e96318.js +0 -21
- package/dist/embedded-app/static/module-react-router.d2e96318.js.map +0 -1
- package/dist/embedded-app/static/module-yaml.00a97896.js +0 -140
- package/dist/embedded-app/static/module-yaml.00a97896.js.map +0 -1
- package/dist/embedded-app/static/module-zod.49079951.js +0 -3
- package/dist/embedded-app/static/module-zod.49079951.js.map +0 -1
- package/dist/embedded-app/static/runtime.2d4c0606.js.map +0 -1
- package/dist/embedded-app/static/vendor.2d4c0606.js +0 -213
- package/dist/embedded-app/static/vendor.2d4c0606.js.map +0 -1
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";(()=>{(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[5109],{71597:function(gn,Vt,Le){Le.d(Vt,{VK:function(){return zr},rU:function(){return Wr}});var ee=Le(2784),he=Le(73557),tt=Le(84800);/**
|
|
2
|
-
* @remix-run/router v1.4.0
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) Remix Software Inc.
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/function M(){return M=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},M.apply(this,arguments)}var k;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(k||(k={}));const rt="popstate";function yn(e){e===void 0&&(e={});let{initialEntries:t=["/"],initialIndex:r,v5Compat:n=!1}=e,a;a=t.map((y,v)=>m(y,typeof y=="string"?null:y.state,v===0?"default":void 0));let o=f(r==null?a.length-1:r),i=k.Pop,u=null;function f(y){return Math.min(Math.max(y,0),a.length-1)}function g(){return a[o]}function m(y,v,l){v===void 0&&(v=null);let d=Z(a?g().pathname:"/",y,v,l);return X(d.pathname.charAt(0)==="/","relative pathnames are not supported in memory history: "+JSON.stringify(y)),d}function h(y){return typeof y=="string"?y:W(y)}return{get index(){return o},get action(){return i},get location(){return g()},createHref:h,createURL(y){return new URL(h(y),"http://localhost")},encodeLocation(y){let v=typeof y=="string"?Y(y):y;return{pathname:v.pathname||"",search:v.search||"",hash:v.hash||""}},push(y,v){i=k.Push;let l=m(y,v);o+=1,a.splice(o,a.length,l),n&&u&&u({action:i,location:l,delta:1})},replace(y,v){i=k.Replace;let l=m(y,v);a[o]=l,n&&u&&u({action:i,location:l,delta:0})},go(y){i=k.Pop;let v=f(o+y),l=a[v];o=v,u&&u({action:i,location:l,delta:y})},listen(y){return u=y,()=>{u=null}}}}function Yt(e){e===void 0&&(e={});function t(n,a){let{pathname:o,search:i,hash:u}=n.location;return Z("",{pathname:o,search:i,hash:u},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:W(a)}return at(t,r,null,e)}function vn(e){e===void 0&&(e={});function t(a,o){let{pathname:i="/",search:u="",hash:f=""}=Y(a.location.hash.substr(1));return Z("",{pathname:i,search:u,hash:f},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function r(a,o){let i=a.document.querySelector("base"),u="";if(i&&i.getAttribute("href")){let f=a.location.href,g=f.indexOf("#");u=g===-1?f:f.slice(0,g)}return u+"#"+(typeof o=="string"?o:W(o))}function n(a,o){X(a.pathname.charAt(0)==="/","relative pathnames are not supported in hash history.push("+JSON.stringify(o)+")")}return at(t,r,n,e)}function _(e,t){if(e===!1||e===null||typeof e=="undefined")throw new Error(t)}function X(e,t){if(!e){typeof console!="undefined"&&console.warn(t);try{throw new Error(t)}catch{}}}function Jt(){return Math.random().toString(36).substr(2,8)}function nt(e,t){return{usr:e.state,key:e.key,idx:t}}function Z(e,t,r,n){return r===void 0&&(r=null),M({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Y(t):t,{state:r,key:t&&t.key||n||Jt()})}function W(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&r!=="?"&&(t+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function Y(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function at(e,t,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,u=k.Pop,f=null,g=m();g==null&&(g=0,i.replaceState(M({},i.state,{idx:g}),""));function m(){return(i.state||{idx:null}).idx}function h(){u=k.Pop;let d=m(),A=d==null?null:d-g;g=d,f&&f({action:u,location:l.location,delta:A})}function w(d,A){u=k.Push;let E=Z(l.location,d,A);r&&r(E,d),g=m()+1;let P=nt(E,g),C=l.createHref(E);try{i.pushState(P,"",C)}catch{a.location.assign(C)}o&&f&&f({action:u,location:l.location,delta:1})}function y(d,A){u=k.Replace;let E=Z(l.location,d,A);r&&r(E,d),g=m();let P=nt(E,g),C=l.createHref(E);i.replaceState(P,"",C),o&&f&&f({action:u,location:l.location,delta:0})}function v(d){let A=a.location.origin!=="null"?a.location.origin:a.location.href,E=typeof d=="string"?d:W(d);return _(A,"No window.location.(origin|href) available to create URL for href: "+E),new URL(E,A)}let l={get action(){return u},get location(){return e(a,i)},listen(d){if(f)throw new Error("A history only accepts one active listener");return a.addEventListener(rt,h),f=d,()=>{a.removeEventListener(rt,h),f=null}},createHref(d){return t(a,d)},createURL:v,encodeLocation(d){let A=v(d);return{pathname:A.pathname,search:A.search,hash:A.hash}},push:w,replace:y,go(d){return i.go(d)}};return l}var O;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(O||(O={}));const Gt=new Set(["lazy","caseSensitive","path","id","index","children"]);function Qt(e){return e.index===!0}function Ie(e,t,r,n){return r===void 0&&(r=[]),n===void 0&&(n={}),e.map((a,o)=>{let i=[...r,o],u=typeof a.id=="string"?a.id:i.join("-");if(_(a.index!==!0||!a.children,"Cannot specify children on an index route"),_(!n[u],'Found a route id collision on id "'+u+`". Route id's must be globally unique within Data Router usages`),Qt(a)){let f=M({},a,{hasErrorBoundary:t(a),id:u});return n[u]=f,f}else{let f=M({},a,{id:u,hasErrorBoundary:t(a),children:void 0});return n[u]=f,a.children&&(f.children=Ie(a.children,t,i,n)),f}})}function ae(e,t,r){r===void 0&&(r="/");let n=typeof t=="string"?Y(t):t,a=xe(n.pathname||"/",r);if(a==null)return null;let o=ot(e);Xt(o);let i=null;for(let u=0;i==null&&u<o.length;++u)i=ir(o[u],ur(a));return i}function ot(e,t,r,n){t===void 0&&(t=[]),r===void 0&&(r=[]),n===void 0&&(n="");let a=(o,i,u)=>{let f={relativePath:u===void 0?o.path||"":u,caseSensitive:o.caseSensitive===!0,childrenIndex:i,route:o};f.relativePath.startsWith("/")&&(_(f.relativePath.startsWith(n),'Absolute route path "'+f.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),f.relativePath=f.relativePath.slice(n.length));let g=ve([n,f.relativePath]),m=r.concat(f);o.children&&o.children.length>0&&(_(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+g+'".')),ot(o.children,t,m,g)),!(o.path==null&&!o.index)&&t.push({path:g,score:ar(g,o.index),routesMeta:m})};return e.forEach((o,i)=>{var u;if(o.path===""||!((u=o.path)!=null&&u.includes("?")))a(o,i);else for(let f of it(o.path))a(o,i,f)}),t}function it(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),o=r.replace(/\?$/,"");if(n.length===0)return a?[o,""]:[o];let i=it(n.join("/")),u=[];return u.push(...i.map(f=>f===""?o:[o,f].join("/"))),a&&u.push(...i),u.map(f=>e.startsWith("/")&&f===""?"/":f)}function Xt(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:or(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const Zt=/^:\w+$/,qt=3,er=2,tr=1,rr=10,nr=null,lt=e=>e==="*";function ar(e,t){let r=e.split("/"),n=r.length;return r.some(lt)&&(n+=nr),t&&(n+=er),r.filter(a=>!lt(a)).reduce((a,o)=>a+(Zt.test(o)?qt:o===""?tr:rr),n)}function or(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function ir(e,t){let{routesMeta:r}=e,n={},a="/",o=[];for(let i=0;i<r.length;++i){let u=r[i],f=i===r.length-1,g=a==="/"?t:t.slice(a.length)||"/",m=lr({path:u.relativePath,caseSensitive:u.caseSensitive,end:f},g);if(!m)return null;Object.assign(n,m.params);let h=u.route;o.push({params:n,pathname:ve([a,m.pathname]),pathnameBase:mr(ve([a,m.pathnameBase])),route:h}),m.pathnameBase!=="/"&&(a=ve([a,m.pathnameBase]))}return o}function wn(e,t){t===void 0&&(t={});let r=e;r.endsWith("*")&&r!=="*"&&!r.endsWith("/*")&&(X(!1,'Route path "'+r+'" will be treated as if it were '+('"'+r.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+r.replace(/\*$/,"/*")+'".')),r=r.replace(/\*$/,"/*"));const n=r.startsWith("/")?"/":"",a=r.split(/\/+/).map((o,i,u)=>{if(i===u.length-1&&o==="*")return t["*"];const g=o.match(/^:(\w+)(\??)$/);if(g){const[,m,h]=g;let w=t[m];return h==="?"?w==null?"":w:(w==null&&_(!1,'Missing ":'+m+'" param'),w)}return o.replace(/\?$/g,"")}).filter(o=>!!o);return n+a.join("/")}function lr(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=sr(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),u=a.slice(1);return{params:n.reduce((g,m,h)=>{if(m==="*"){let w=u[h]||"";i=o.slice(0,o.length-w.length).replace(/(.)\/+$/,"$1")}return g[m]=cr(u[h]||"",m),g},{}),pathname:o,pathnameBase:i,pattern:e}}function sr(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),X(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/\/:(\w+)/g,(i,u)=>(n.push(u),"/([^\\/]+)"));return e.endsWith("*")?(n.push("*"),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function ur(e){try{return decodeURI(e)}catch(t){return X(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function cr(e,t){try{return decodeURIComponent(e)}catch(r){return X(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+r+").")),e}}function xe(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function dr(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?Y(e):e;return{pathname:r?r.startsWith("/")?r:fr(r,t):t,search:pr(n),hash:gr(a)}}function fr(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function je(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function st(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function hr(e,t,r,n){n===void 0&&(n=!1);let a;typeof e=="string"?a=Y(e):(a=M({},e),_(!a.pathname||!a.pathname.includes("?"),je("?","pathname","search",a)),_(!a.pathname||!a.pathname.includes("#"),je("#","pathname","hash",a)),_(!a.search||!a.search.includes("#"),je("#","search","hash",a)));let o=e===""||a.pathname==="",i=o?"/":a.pathname,u;if(n||i==null)u=r;else{let h=t.length-1;if(i.startsWith("..")){let w=i.split("/");for(;w[0]==="..";)w.shift(),h-=1;a.pathname=w.join("/")}u=h>=0?t[h]:"/"}let f=dr(a,u),g=i&&i!=="/"&&i.endsWith("/"),m=(o||i===".")&&r.endsWith("/");return!f.pathname.endsWith("/")&&(g||m)&&(f.pathname+="/"),f}function bn(e){return e===""||e.pathname===""?"/":typeof e=="string"?Y(e).pathname:e.pathname}const ve=e=>e.join("/").replace(/\/\/+/g,"/"),mr=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),pr=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,gr=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,Rn=function(t,r){r===void 0&&(r={});let n=typeof r=="number"?{status:r}:r,a=new Headers(n.headers);return a.has("Content-Type")||a.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(t),M({},n,{headers:a}))};class ut extends null{}class ct{constructor(t,r){this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],_(t&&typeof t=="object"&&!Array.isArray(t),"defer() only accepts plain objects");let n;this.abortPromise=new Promise((o,i)=>n=i),this.controller=new AbortController;let a=()=>n(new ut("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",a),this.controller.signal.addEventListener("abort",a),this.data=Object.entries(t).reduce((o,i)=>{let[u,f]=i;return Object.assign(o,{[u]:this.trackPromise(u,f)})},{}),this.done&&this.unlistenAbortSignal(),this.init=r}trackPromise(t,r){if(!(r instanceof Promise))return r;this.deferredKeys.push(t),this.pendingKeysSet.add(t);let n=Promise.race([r,this.abortPromise]).then(a=>this.onSettle(n,t,null,a),a=>this.onSettle(n,t,a));return n.catch(()=>{}),Object.defineProperty(n,"_tracked",{get:()=>!0}),n}onSettle(t,r,n,a){return this.controller.signal.aborted&&n instanceof ut?(this.unlistenAbortSignal(),Object.defineProperty(t,"_error",{get:()=>n}),Promise.reject(n)):(this.pendingKeysSet.delete(r),this.done&&this.unlistenAbortSignal(),n?(Object.defineProperty(t,"_error",{get:()=>n}),this.emit(!1,r),Promise.reject(n)):(Object.defineProperty(t,"_data",{get:()=>a}),this.emit(!1,r),a))}emit(t,r){this.subscribers.forEach(n=>n(t,r))}subscribe(t){return this.subscribers.add(t),()=>this.subscribers.delete(t)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach((t,r)=>this.pendingKeysSet.delete(r)),this.emit(!0)}async resolveData(t){let r=!1;if(!this.done){let n=()=>this.cancel();t.addEventListener("abort",n),r=await new Promise(a=>{this.subscribe(o=>{t.removeEventListener("abort",n),(o||this.done)&&a(o)})})}return r}get done(){return this.pendingKeysSet.size===0}get unwrappedData(){return _(this.data!==null&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce((t,r)=>{let[n,a]=r;return Object.assign(t,{[n]:vr(a)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}function yr(e){return e instanceof Promise&&e._tracked===!0}function vr(e){if(!yr(e))return e;if(e._error)throw e._error;return e._data}const Sn=function(t,r){r===void 0&&(r={});let n=typeof r=="number"?{status:r}:r;return new ct(t,n)},En=function(t,r){r===void 0&&(r=302);let n=r;typeof n=="number"?n={status:n}:typeof n.status=="undefined"&&(n.status=302);let a=new Headers(n.headers);return a.set("Location",t),new Response(null,M({},n,{headers:a}))};class dt{constructor(t,r,n,a){a===void 0&&(a=!1),this.status=t,this.statusText=r||"",this.internal=a,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}}function ft(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const ht=["post","put","patch","delete"],wr=new Set(ht),br=["get",...ht],Rr=new Set(br),Sr=new Set([301,302,303,307,308]),Er=new Set([307,308]),He={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},Pr={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},mt={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},pt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,gt=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined",Dr=!gt,yt=e=>Boolean(e.hasErrorBoundary);function Pn(e){_(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let t=e.detectErrorBoundary||yt,r={},n=Ie(e.routes,t,void 0,r),a,o=null,i=new Set,u=null,f=null,g=null,m=e.hydrationData!=null,h=ae(n,e.history.location,e.basename),w=null;if(h==null){let s=j(404,{pathname:e.history.location.pathname}),{matches:c,route:p}=Ae(n);h=c,w={[p.id]:s}}let y=!h.some(s=>s.route.lazy)&&(!h.some(s=>s.route.loader)||e.hydrationData!=null),v,l={historyAction:e.history.action,location:e.history.location,matches:h,initialized:y,navigation:He,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||w,fetchers:new Map,blockers:new Map},d=k.Pop,A=!1,E,P=!1,C=!1,F=[],N=[],L=new Map,$=0,pe=-1,ce=new Map,Fe=new Set,ge=new Map,de=new Map,re=new Map,Ye=!1;function Zr(){if(o=e.history.listen(p=>{let{action:b,location:R,delta:x}=p;if(Ye){Ye=!1;return}X(re.size===0||x!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let D=Kt({currentLocation:l.location,nextLocation:R,historyAction:b});if(D&&x!=null){Ye=!0,e.history.go(x*-1),Te(D,{state:"blocked",location:R,proceed(){Te(D,{state:"proceeding",proceed:void 0,reset:void 0,location:R}),e.history.go(x)},reset(){Pe(D),H({blockers:new Map(v.state.blockers)})}});return}return ne(b,R)}),l.initialized)return v;let s=l.matches.filter(p=>p.route.lazy);if(s.length===0)return ne(k.Pop,l.location),v;let c=s.map(p=>ze(p.route,t,r));return Promise.all(c).then(()=>{!l.matches.some(b=>b.route.loader)||e.hydrationData!=null?H({initialized:!0}):ne(k.Pop,l.location)}),v}function qr(){o&&o(),i.clear(),E&&E.abort(),l.fetchers.forEach((s,c)=>Qe(c)),l.blockers.forEach((s,c)=>Pe(c))}function en(s){return i.add(s),()=>i.delete(s)}function H(s){l=M({},l,s),i.forEach(c=>c(l))}function Se(s,c){var p,b;let R=l.actionData!=null&&l.navigation.formMethod!=null&&J(l.navigation.formMethod)&&l.navigation.state==="loading"&&((p=s.state)==null?void 0:p._isRedirect)!==!0,x;c.actionData?Object.keys(c.actionData).length>0?x=c.actionData:x=null:R?x=l.actionData:x=null;let D=c.loaderData?Lt(l.loaderData,c.loaderData,c.matches||[],c.errors):l.loaderData;for(let[S]of re)Pe(S);let U=A===!0||l.navigation.formMethod!=null&&J(l.navigation.formMethod)&&((b=s.state)==null?void 0:b._isRedirect)!==!0;a&&(n=a,a=void 0),H(M({},c,{actionData:x,loaderData:D,historyAction:d,location:s,initialized:!0,navigation:He,revalidation:"idle",restoreScrollPosition:Wt(s,c.matches||l.matches),preventScrollReset:U,blockers:new Map(l.blockers)})),P||d===k.Pop||(d===k.Push?e.history.push(s,s.state):d===k.Replace&&e.history.replace(s,s.state)),d=k.Pop,A=!1,P=!1,C=!1,F=[],N=[]}async function It(s,c){if(typeof s=="number"){e.history.go(s);return}let{path:p,submission:b,error:R}=vt(s,c),x=l.location,D=Z(l.location,p,c&&c.state);D=M({},D,e.history.encodeLocation(D));let U=c&&c.replace!=null?c.replace:void 0,S=k.Push;U===!0?S=k.Replace:U===!1||b!=null&&J(b.formMethod)&&b.formAction===l.location.pathname+l.location.search&&(S=k.Replace);let z=c&&"preventScrollReset"in c?c.preventScrollReset===!0:void 0,T=Kt({currentLocation:x,nextLocation:D,historyAction:S});if(T){Te(T,{state:"blocked",location:D,proceed(){Te(T,{state:"proceeding",proceed:void 0,reset:void 0,location:D}),It(s,c)},reset(){Pe(T),H({blockers:new Map(l.blockers)})}});return}return await ne(S,D,{submission:b,pendingError:R,preventScrollReset:z,replace:c&&c.replace})}function tn(){if(Je(),H({revalidation:"loading"}),l.navigation.state!=="submitting"){if(l.navigation.state==="idle"){ne(l.historyAction,l.location,{startUninterruptedRevalidation:!0});return}ne(d||l.historyAction,l.navigation.location,{overrideNavigation:l.navigation})}}async function ne(s,c,p){E&&E.abort(),E=null,d=s,P=(p&&p.startUninterruptedRevalidation)===!0,dn(l.location,l.matches),A=(p&&p.preventScrollReset)===!0;let b=a||n,R=p&&p.overrideNavigation,x=ae(b,c,e.basename);if(!x){let I=j(404,{pathname:c.pathname}),{matches:G,route:V}=Ae(b);Xe(),Se(c,{matches:G,loaderData:{},errors:{[V.id]:I}});return}if(Cr(l.location,c)&&!(p&&p.submission&&J(p.submission.formMethod))){Se(c,{matches:x});return}E=new AbortController;let D=we(e.history,c,E.signal,p&&p.submission),U,S;if(p&&p.pendingError)S={[ie(x).route.id]:p.pendingError};else if(p&&p.submission&&J(p.submission.formMethod)){let I=await rn(D,c,p.submission,x,{replace:p.replace});if(I.shortCircuited)return;U=I.pendingActionData,S=I.pendingActionError,R=M({state:"loading",location:c},p.submission),D=new Request(D.url,{signal:D.signal})}let{shortCircuited:z,loaderData:T,errors:K}=await nn(D,c,x,R,p&&p.submission,p&&p.replace,U,S);z||(E=null,Se(c,M({matches:x},U?{actionData:U}:{},{loaderData:T,errors:K})))}async function rn(s,c,p,b,R){Je();let x=M({state:"submitting",location:c},p);H({navigation:x});let D,U=be(b,c);if(!U.route.action&&!U.route.lazy)D={type:O.error,error:j(405,{method:s.method,pathname:c.pathname,routeId:U.route.id})};else if(D=await oe("action",s,U,b,r,t,v.basename),s.signal.aborted)return{shortCircuited:!0};if(se(D)){let S;return R&&R.replace!=null?S=R.replace:S=D.location===l.location.pathname+l.location.search,await Ee(l,D,{submission:p,replace:S}),{shortCircuited:!0}}if(le(D)){let S=ie(b,U.route.id);return(R&&R.replace)!==!0&&(d=k.Push),{pendingActionData:{},pendingActionError:{[S.route.id]:D.error}}}if(te(D))throw j(400,{type:"defer-action"});return{pendingActionData:{[U.route.id]:D.data}}}async function nn(s,c,p,b,R,x,D,U){let S=b;S||(S=M({state:"loading",location:c,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},R));let z=R||(S.formMethod&&S.formAction&&S.formData&&S.formEncType?{formMethod:S.formMethod,formAction:S.formAction,formData:S.formData,formEncType:S.formEncType}:void 0),T=a||n,[K,I]=bt(e.history,l,p,z,c,C,F,N,ge,T,e.basename,D,U);if(Xe(B=>!(p&&p.some(Q=>Q.route.id===B))||K&&K.some(Q=>Q.route.id===B)),K.length===0&&I.length===0)return Se(c,M({matches:p,loaderData:{},errors:U||null},D?{actionData:D}:{})),{shortCircuited:!0};if(!P){I.forEach(Q=>{let fe=l.fetchers.get(Q.key),ke={state:"loading",data:fe&&fe.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};l.fetchers.set(Q.key,ke)});let B=D||l.actionData;H(M({navigation:S},B?Object.keys(B).length===0?{actionData:null}:{actionData:B}:{},I.length>0?{fetchers:new Map(l.fetchers)}:{}))}pe=++$,I.forEach(B=>L.set(B.key,E));let{results:G,loaderResults:V,fetcherResults:De}=await Ht(l.matches,p,K,I,s);if(s.signal.aborted)return{shortCircuited:!0};I.forEach(B=>L.delete(B.key));let Ne=xt(G);if(Ne)return await Ee(l,Ne,{replace:x}),{shortCircuited:!0};let{loaderData:Oe,errors:ye}=Dt(l,p,K,V,U,I,De,de);de.forEach((B,Q)=>{B.subscribe(fe=>{(fe||B.done)&&de.delete(Q)})}),sn();let Ze=Bt(pe);return M({loaderData:Oe,errors:ye},Ze||I.length>0?{fetchers:new Map(l.fetchers)}:{})}function jt(s){return l.fetchers.get(s)||Pr}function an(s,c,p,b){if(Dr)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");L.has(s)&&_e(s);let x=ae(a||n,p,e.basename);if(!x){Ge(s,c,j(404,{pathname:p}));return}let{path:D,submission:U}=vt(p,b,!0),S=be(x,D);if(A=(b&&b.preventScrollReset)===!0,U&&J(U.formMethod)){on(s,c,D,S,x,U);return}ge.set(s,{routeId:c,path:D}),ln(s,c,D,S,x,U)}async function on(s,c,p,b,R,x){if(Je(),ge.delete(s),!b.route.action&&!b.route.lazy){let q=j(405,{method:x.formMethod,pathname:p,routeId:c});Ge(s,c,q);return}let D=l.fetchers.get(s),U=M({state:"submitting"},x,{data:D&&D.data," _hasFetcherDoneAnything ":!0});l.fetchers.set(s,U),H({fetchers:new Map(l.fetchers)});let S=new AbortController,z=we(e.history,p,S.signal,x);L.set(s,S);let T=await oe("action",z,b,R,r,t,v.basename);if(z.signal.aborted){L.get(s)===S&&L.delete(s);return}if(se(T)){L.delete(s),Fe.add(s);let q=M({state:"loading"},x,{data:void 0," _hasFetcherDoneAnything ":!0});return l.fetchers.set(s,q),H({fetchers:new Map(l.fetchers)}),Ee(l,T,{isFetchActionRedirect:!0})}if(le(T)){Ge(s,c,T.error);return}if(te(T))throw j(400,{type:"defer-action"});let K=l.navigation.location||l.location,I=we(e.history,K,S.signal),G=a||n,V=l.navigation.state!=="idle"?ae(G,l.navigation.location,e.basename):l.matches;_(V,"Didn't find any matches after fetcher action");let De=++$;ce.set(s,De);let Ne=M({state:"loading",data:T.data},x,{" _hasFetcherDoneAnything ":!0});l.fetchers.set(s,Ne);let[Oe,ye]=bt(e.history,l,V,x,K,C,F,N,ge,G,e.basename,{[b.route.id]:T.data},void 0);ye.filter(q=>q.key!==s).forEach(q=>{let et=q.key,$t=l.fetchers.get(et),pn={state:"loading",data:$t&&$t.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};l.fetchers.set(et,pn),L.set(et,S)}),H({fetchers:new Map(l.fetchers)});let{results:Ze,loaderResults:B,fetcherResults:Q}=await Ht(l.matches,V,Oe,ye,I);if(S.signal.aborted)return;ce.delete(s),L.delete(s),ye.forEach(q=>L.delete(q.key));let fe=xt(Ze);if(fe)return Ee(l,fe);let{loaderData:ke,errors:qe}=Dt(l,l.matches,Oe,B,void 0,ye,Q,de),hn={state:"idle",data:T.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};l.fetchers.set(s,hn);let mn=Bt(De);l.navigation.state==="loading"&&De>pe?(_(d,"Expected pending action"),E&&E.abort(),Se(l.navigation.location,{matches:V,loaderData:ke,errors:qe,fetchers:new Map(l.fetchers)})):(H(M({errors:qe,loaderData:Lt(l.loaderData,ke,V,qe)},mn?{fetchers:new Map(l.fetchers)}:{})),C=!1)}async function ln(s,c,p,b,R,x){let D=l.fetchers.get(s),U=M({state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},x,{data:D&&D.data," _hasFetcherDoneAnything ":!0});l.fetchers.set(s,U),H({fetchers:new Map(l.fetchers)});let S=new AbortController,z=we(e.history,p,S.signal);L.set(s,S);let T=await oe("loader",z,b,R,r,t,v.basename);if(te(T)&&(T=await Ut(T,z.signal,!0)||T),L.get(s)===S&&L.delete(s),z.signal.aborted)return;if(se(T)){await Ee(l,T);return}if(le(T)){let I=ie(l.matches,c);l.fetchers.delete(s),H({fetchers:new Map(l.fetchers),errors:{[I.route.id]:T.error}});return}_(!te(T),"Unhandled fetcher deferred data");let K={state:"idle",data:T.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};l.fetchers.set(s,K),H({fetchers:new Map(l.fetchers)})}async function Ee(s,c,p){var b;let{submission:R,replace:x,isFetchActionRedirect:D}=p===void 0?{}:p;c.revalidate&&(C=!0);let U=Z(s.location,c.location,M({_isRedirect:!0},D?{_isFetchActionRedirect:!0}:{}));if(_(U,"Expected a location on the redirect navigation"),pt.test(c.location)&>&&typeof((b=window)==null?void 0:b.location)!="undefined"){let G=e.history.createURL(c.location),V=xe(G.pathname,e.basename||"/")==null;if(window.location.origin!==G.origin||V){x?window.location.replace(c.location):window.location.assign(c.location);return}}E=null;let S=x===!0?k.Replace:k.Push,{formMethod:z,formAction:T,formEncType:K,formData:I}=s.navigation;!R&&z&&T&&I&&K&&(R={formMethod:z,formAction:T,formEncType:K,formData:I}),Er.has(c.status)&&R&&J(R.formMethod)?await ne(S,U,{submission:M({},R,{formAction:c.location}),preventScrollReset:A}):await ne(S,U,{overrideNavigation:{state:"loading",location:U,formMethod:R?R.formMethod:void 0,formAction:R?R.formAction:void 0,formEncType:R?R.formEncType:void 0,formData:R?R.formData:void 0},preventScrollReset:A})}async function Ht(s,c,p,b,R){let x=await Promise.all([...p.map(S=>oe("loader",R,S,c,r,t,v.basename)),...b.map(S=>S.matches&&S.match?oe("loader",we(e.history,S.path,R.signal),S.match,S.matches,r,t,v.basename):{type:O.error,error:j(404,{pathname:S.path})})]),D=x.slice(0,p.length),U=x.slice(p.length);return await Promise.all([Mt(s,p,D,R.signal,!1,l.loaderData),Mt(s,b.map(S=>S.match),U,R.signal,!0)]),{results:x,loaderResults:D,fetcherResults:U}}function Je(){C=!0,F.push(...Xe()),ge.forEach((s,c)=>{L.has(c)&&(N.push(c),_e(c))})}function Ge(s,c,p){let b=ie(l.matches,c);Qe(s),H({errors:{[b.route.id]:p},fetchers:new Map(l.fetchers)})}function Qe(s){L.has(s)&&_e(s),ge.delete(s),ce.delete(s),Fe.delete(s),l.fetchers.delete(s)}function _e(s){let c=L.get(s);_(c,"Expected fetch controller: "+s),c.abort(),L.delete(s)}function zt(s){for(let c of s){let b={state:"idle",data:jt(c).data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};l.fetchers.set(c,b)}}function sn(){let s=[];for(let c of Fe){let p=l.fetchers.get(c);_(p,"Expected fetcher: "+c),p.state==="loading"&&(Fe.delete(c),s.push(c))}zt(s)}function Bt(s){let c=[];for(let[p,b]of ce)if(b<s){let R=l.fetchers.get(p);_(R,"Expected fetcher: "+p),R.state==="loading"&&(_e(p),ce.delete(p),c.push(p))}return zt(c),c.length>0}function un(s,c){let p=l.blockers.get(s)||mt;return re.get(s)!==c&&re.set(s,c),p}function Pe(s){l.blockers.delete(s),re.delete(s)}function Te(s,c){let p=l.blockers.get(s)||mt;_(p.state==="unblocked"&&c.state==="blocked"||p.state==="blocked"&&c.state==="blocked"||p.state==="blocked"&&c.state==="proceeding"||p.state==="blocked"&&c.state==="unblocked"||p.state==="proceeding"&&c.state==="unblocked","Invalid blocker state transition: "+p.state+" -> "+c.state),l.blockers.set(s,c),H({blockers:new Map(l.blockers)})}function Kt(s){let{currentLocation:c,nextLocation:p,historyAction:b}=s;if(re.size===0)return;re.size>1&&X(!1,"A router only supports one blocker at a time");let R=Array.from(re.entries()),[x,D]=R[R.length-1],U=l.blockers.get(x);if(!(U&&U.state==="proceeding")&&D({currentLocation:c,nextLocation:p,historyAction:b}))return x}function Xe(s){let c=[];return de.forEach((p,b)=>{(!s||s(b))&&(p.cancel(),c.push(b),de.delete(b))}),c}function cn(s,c,p){if(u=s,g=c,f=p||(b=>b.key),!m&&l.navigation===He){m=!0;let b=Wt(l.location,l.matches);b!=null&&H({restoreScrollPosition:b})}return()=>{u=null,g=null,f=null}}function dn(s,c){if(u&&f&&g){let p=c.map(R=>_t(R,l.loaderData)),b=f(s,p)||s.key;u[b]=g()}}function Wt(s,c){if(u&&f&&g){let p=c.map(x=>_t(x,l.loaderData)),b=f(s,p)||s.key,R=u[b];if(typeof R=="number")return R}return null}function fn(s){a=s}return v={get basename(){return e.basename},get state(){return l},get routes(){return n},initialize:Zr,subscribe:en,enableScrollRestoration:cn,navigate:It,fetch:an,revalidate:tn,createHref:s=>e.history.createHref(s),encodeLocation:s=>e.history.encodeLocation(s),getFetcher:jt,deleteFetcher:Qe,dispose:qr,getBlocker:un,deleteBlocker:Pe,_internalFetchControllers:L,_internalActiveDeferreds:de,_internalSetRoutes:fn},v}const Lr=Symbol("deferred");function Dn(e,t){_(e.length>0,"You must provide a non-empty routes array to createStaticHandler");let r={},n=(t==null?void 0:t.detectErrorBoundary)||yt,a=Ie(e,n,void 0,r),o=(t?t.basename:null)||"/";async function i(h,w){let{requestContext:y}=w===void 0?{}:w,v=new URL(h.url),l=h.method.toLowerCase(),d=Z("",W(v),null,"default"),A=ae(a,d,o);if(!Be(l)&&l!=="head"){let P=j(405,{method:l}),{matches:C,route:F}=Ae(a);return{basename:o,location:d,matches:C,loaderData:{},actionData:null,errors:{[F.id]:P},statusCode:P.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}else if(!A){let P=j(404,{pathname:d.pathname}),{matches:C,route:F}=Ae(a);return{basename:o,location:d,matches:C,loaderData:{},actionData:null,errors:{[F.id]:P},statusCode:P.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}let E=await f(h,d,A,y);return me(E)?E:M({location:d,basename:o},E)}async function u(h,w){let{routeId:y,requestContext:v}=w===void 0?{}:w,l=new URL(h.url),d=h.method.toLowerCase(),A=Z("",W(l),null,"default"),E=ae(a,A,o);if(!Be(d)&&d!=="head"&&d!=="options")throw j(405,{method:d});if(!E)throw j(404,{pathname:A.pathname});let P=y?E.find(L=>L.route.id===y):be(E,A);if(y&&!P)throw j(403,{pathname:A.pathname,routeId:y});if(!P)throw j(404,{pathname:A.pathname});let C=await f(h,A,E,v,P);if(me(C))return C;let F=C.errors?Object.values(C.errors)[0]:void 0;if(F!==void 0)throw F;if(C.actionData)return Object.values(C.actionData)[0];if(C.loaderData){var N;let L=Object.values(C.loaderData)[0];return(N=C.activeDeferreds)!=null&&N[P.route.id]&&(L[Lr]=C.activeDeferreds[P.route.id]),L}}async function f(h,w,y,v,l){_(h.signal,"query()/queryRoute() requests must contain an AbortController signal");try{if(J(h.method.toLowerCase()))return await g(h,y,l||be(y,w),v,l!=null);let d=await m(h,y,v,l);return me(d)?d:M({},d,{actionData:null,actionHeaders:{}})}catch(d){if(Mr(d)){if(d.type===O.error&&!Ct(d.response))throw d.response;return d.response}if(Ct(d))return d;throw d}}async function g(h,w,y,v,l){let d;if(!y.route.action&&!y.route.lazy){let P=j(405,{method:h.method,pathname:new URL(h.url).pathname,routeId:y.route.id});if(l)throw P;d={type:O.error,error:P}}else if(d=await oe("action",h,y,w,r,n,o,!0,l,v),h.signal.aborted){let P=l?"queryRoute":"query";throw new Error(P+"() call aborted")}if(se(d))throw new Response(null,{status:d.status,headers:{Location:d.location}});if(te(d)){let P=j(400,{type:"defer-action"});if(l)throw P;d={type:O.error,error:P}}if(l){if(le(d))throw d.error;return{matches:[y],loaderData:{},actionData:{[y.route.id]:d.data},errors:null,statusCode:200,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}if(le(d)){let P=ie(w,y.route.id),C=await m(h,w,v,void 0,{[P.route.id]:d.error});return M({},C,{statusCode:ft(d.error)?d.error.status:500,actionData:null,actionHeaders:M({},d.headers?{[y.route.id]:d.headers}:{})})}let A=new Request(h.url,{headers:h.headers,redirect:h.redirect,signal:h.signal}),E=await m(A,w,v);return M({},E,d.statusCode?{statusCode:d.statusCode}:{},{actionData:{[y.route.id]:d.data},actionHeaders:M({},d.headers?{[y.route.id]:d.headers}:{})})}async function m(h,w,y,v,l){let d=v!=null;if(d&&!(v!=null&&v.route.loader)&&!(v!=null&&v.route.lazy))throw j(400,{method:h.method,pathname:new URL(h.url).pathname,routeId:v==null?void 0:v.route.id});let E=(v?[v]:wt(w,Object.keys(l||{})[0])).filter(L=>L.route.loader||L.route.lazy);if(E.length===0)return{matches:w,loaderData:w.reduce((L,$)=>Object.assign(L,{[$.route.id]:null}),{}),errors:l||null,statusCode:200,loaderHeaders:{},activeDeferreds:null};let P=await Promise.all([...E.map(L=>oe("loader",h,L,w,r,n,o,!0,d,y))]);if(h.signal.aborted){let L=d?"queryRoute":"query";throw new Error(L+"() call aborted")}let C=new Map,F=Pt(w,E,P,l,C),N=new Set(E.map(L=>L.route.id));return w.forEach(L=>{N.has(L.route.id)||(F.loaderData[L.route.id]=null)}),M({},F,{matches:w,activeDeferreds:C.size>0?Object.fromEntries(C.entries()):null})}return{dataRoutes:a,query:i,queryRoute:u}}function Ln(e,t,r){return M({},t,{statusCode:500,errors:{[t._deepestRenderedBoundaryId||e[0].id]:r}})}function xr(e){return e!=null&&"formData"in e}function vt(e,t,r){r===void 0&&(r=!1);let n=typeof e=="string"?e:W(e);if(!t||!xr(t))return{path:n};if(t.formMethod&&!Be(t.formMethod))return{path:n,error:j(405,{method:t.formMethod})};let a;if(t.formData&&(a={formMethod:t.formMethod||"get",formAction:At(n),formEncType:t&&t.formEncType||"application/x-www-form-urlencoded",formData:t.formData},J(a.formMethod)))return{path:n,submission:a};let o=Y(n),i=Et(t.formData);return r&&o.search&&Ft(o.search)&&i.append("index",""),o.search="?"+i,{path:W(o),submission:a}}function wt(e,t){let r=e;if(t){let n=e.findIndex(a=>a.route.id===t);n>=0&&(r=e.slice(0,n))}return r}function bt(e,t,r,n,a,o,i,u,f,g,m,h,w){let y=w?Object.values(w)[0]:h?Object.values(h)[0]:void 0,v=e.createURL(t.location),l=e.createURL(a),d=o||v.toString()===l.toString()||v.search!==l.search,A=w?Object.keys(w)[0]:void 0,P=wt(r,A).filter((F,N)=>{if(F.route.lazy)return!0;if(F.route.loader==null)return!1;if(Ar(t.loaderData,t.matches[N],F)||i.some(pe=>pe===F.route.id))return!0;let L=t.matches[N],$=F;return St(F,M({currentUrl:v,currentParams:L.params,nextUrl:l,nextParams:$.params},n,{actionResult:y,defaultShouldRevalidate:d||Rt(L,$)}))}),C=[];return f.forEach((F,N)=>{if(!r.some(ce=>ce.route.id===F.routeId))return;let L=ae(g,F.path,m);if(!L){C.push(M({key:N},F,{matches:null,match:null}));return}let $=be(L,F.path);if(u.includes(N)){C.push(M({key:N,matches:L,match:$},F));return}St($,M({currentUrl:v,currentParams:t.matches[t.matches.length-1].params,nextUrl:l,nextParams:r[r.length-1].params},n,{actionResult:y,defaultShouldRevalidate:d}))&&C.push(M({key:N,matches:L,match:$},F))}),[P,C]}function Ar(e,t,r){let n=!t||r.route.id!==t.route.id,a=e[r.route.id]===void 0;return n||a}function Rt(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function St(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}async function ze(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];_(a,"No route found in manifest");let o={};for(let i in n){let f=a[i]!==void 0&&i!=="hasErrorBoundary";X(!f,'Route "'+a.id+'" has a static property "'+i+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+i+'" will be ignored.')),!f&&!Gt.has(i)&&(o[i]=n[i])}Object.assign(a,o),Object.assign(a,{hasErrorBoundary:t(M({},a)),lazy:void 0})}async function oe(e,t,r,n,a,o,i,u,f,g){i===void 0&&(i="/"),u===void 0&&(u=!1),f===void 0&&(f=!1);let m,h,w,y=d=>{let A,E=new Promise((P,C)=>A=C);return w=()=>A(),t.signal.addEventListener("abort",w),Promise.race([d({request:t,params:r.params,context:g}),E])};try{let d=r.route[e];if(r.route.lazy)if(d)h=(await Promise.all([y(d),ze(r.route,o,a)]))[0];else if(await ze(r.route,o,a),d=r.route[e],d)h=await y(d);else{if(e==="action")throw j(405,{method:t.method,pathname:new URL(t.url).pathname,routeId:r.route.id});return{type:O.data,data:void 0}}else _(d,"Could not find the "+e+' to run on the "'+r.route.id+'" route'),h=await y(d);_(h!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+r.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(d){m=O.error,h=d}finally{w&&t.signal.removeEventListener("abort",w)}if(me(h)){let d=h.status;if(Sr.has(d)){let P=h.headers.get("Location");if(_(P,"Redirects returned/thrown from loaders/actions must have a Location header"),pt.test(P)){if(!u){let C=new URL(t.url),F=P.startsWith("//")?new URL(C.protocol+P):new URL(P),N=xe(F.pathname,i)!=null;F.origin===C.origin&&N&&(P=F.pathname+F.search+F.hash)}}else{let C=n.slice(0,n.indexOf(r)+1),F=st(C).map(L=>L.pathnameBase),N=hr(P,F,new URL(t.url).pathname);if(_(W(N),"Unable to resolve redirect location: "+P),i){let L=N.pathname;N.pathname=L==="/"?i:ve([i,L])}P=W(N)}if(u)throw h.headers.set("Location",P),h;return{type:O.redirect,status:d,location:P,revalidate:h.headers.get("X-Remix-Revalidate")!==null}}if(f)throw{type:m||O.data,response:h};let A,E=h.headers.get("Content-Type");return E&&/\bapplication\/json\b/.test(E)?A=await h.json():A=await h.text(),m===O.error?{type:m,error:new dt(d,h.statusText,A),headers:h.headers}:{type:O.data,data:A,statusCode:h.status,headers:h.headers}}if(m===O.error)return{type:m,error:h};if(h instanceof ct){var v,l;return{type:O.deferred,deferredData:h,statusCode:(v=h.init)==null?void 0:v.status,headers:((l=h.init)==null?void 0:l.headers)&&new Headers(h.init.headers)}}return{type:O.data,data:h}}function we(e,t,r,n){let a=e.createURL(At(t)).toString(),o={signal:r};if(n&&J(n.formMethod)){let{formMethod:i,formEncType:u,formData:f}=n;o.method=i.toUpperCase(),o.body=u==="application/x-www-form-urlencoded"?Et(f):f}return new Request(a,o)}function Et(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,n instanceof File?n.name:n);return t}function Pt(e,t,r,n,a){let o={},i=null,u,f=!1,g={};return r.forEach((m,h)=>{let w=t[h].route.id;if(_(!se(m),"Cannot handle redirect results in processLoaderData"),le(m)){let y=ie(e,w),v=m.error;n&&(v=Object.values(n)[0],n=void 0),i=i||{},i[y.route.id]==null&&(i[y.route.id]=v),o[w]=void 0,f||(f=!0,u=ft(m.error)?m.error.status:500),m.headers&&(g[w]=m.headers)}else te(m)?(a.set(w,m.deferredData),o[w]=m.deferredData.data):o[w]=m.data,m.statusCode!=null&&m.statusCode!==200&&!f&&(u=m.statusCode),m.headers&&(g[w]=m.headers)}),n&&(i=n,o[Object.keys(n)[0]]=void 0),{loaderData:o,errors:i,statusCode:u||200,loaderHeaders:g}}function Dt(e,t,r,n,a,o,i,u){let{loaderData:f,errors:g}=Pt(t,r,n,a,u);for(let m=0;m<o.length;m++){let{key:h,match:w}=o[m];_(i!==void 0&&i[m]!==void 0,"Did not find corresponding fetcher result");let y=i[m];if(le(y)){let v=ie(e.matches,w==null?void 0:w.route.id);g&&g[v.route.id]||(g=M({},g,{[v.route.id]:y.error})),e.fetchers.delete(h)}else if(se(y))_(!1,"Unhandled fetcher revalidation redirect");else if(te(y))_(!1,"Unhandled fetcher deferred data");else{let v={state:"idle",data:y.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};e.fetchers.set(h,v)}}return{loaderData:f,errors:g}}function Lt(e,t,r,n){let a=M({},t);for(let o of r){let i=o.route.id;if(t.hasOwnProperty(i)?t[i]!==void 0&&(a[i]=t[i]):e[i]!==void 0&&o.route.loader&&(a[i]=e[i]),n&&n.hasOwnProperty(i))break}return a}function ie(e,t){return(t?e.slice(0,e.findIndex(n=>n.route.id===t)+1):[...e]).reverse().find(n=>n.route.hasErrorBoundary===!0)||e[0]}function Ae(e){let t=e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function j(e,t){let{pathname:r,routeId:n,method:a,type:o}=t===void 0?{}:t,i="Unknown Server Error",u="Unknown @remix-run/router error";return e===400?(i="Bad Request",a&&r&&n?u="You made a "+a+' request to "'+r+'" but '+('did not provide a `loader` for route "'+n+'", ')+"so there is no way to handle the request.":o==="defer-action"&&(u="defer() is not supported in actions")):e===403?(i="Forbidden",u='Route "'+n+'" does not match URL "'+r+'"'):e===404?(i="Not Found",u='No route matches URL "'+r+'"'):e===405&&(i="Method Not Allowed",a&&r&&n?u="You made a "+a.toUpperCase()+' request to "'+r+'" but '+('did not provide an `action` for route "'+n+'", ')+"so there is no way to handle the request.":a&&(u='Invalid request method "'+a.toUpperCase()+'"')),new dt(e||500,i,new Error(u),!0)}function xt(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(se(r))return r}}function At(e){let t=typeof e=="string"?Y(e):e;return W(M({},t,{hash:""}))}function Cr(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash!==t.hash}function te(e){return e.type===O.deferred}function le(e){return e.type===O.error}function se(e){return(e&&e.type)===O.redirect}function me(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body!="undefined"}function Ct(e){if(!me(e))return!1;let t=e.status,r=e.headers.get("Location");return t>=300&&t<=399&&r!=null}function Mr(e){return e&&me(e.response)&&(e.type===O.data||O.error)}function Be(e){return Rr.has(e)}function J(e){return wr.has(e)}async function Mt(e,t,r,n,a,o){for(let i=0;i<r.length;i++){let u=r[i],f=t[i];if(!f)continue;let g=e.find(h=>h.route.id===f.route.id),m=g!=null&&!Rt(g,f)&&(o&&o[f.route.id])!==void 0;te(u)&&(a||m)&&await Ut(u,n,a).then(h=>{h&&(r[i]=h||r[i])})}}async function Ut(e,t,r){if(r===void 0&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:O.data,data:e.deferredData.unwrappedData}}catch(a){return{type:O.error,error:a}}return{type:O.data,data:e.deferredData.data}}}function Ft(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function _t(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}function be(e,t){let r=typeof t=="string"?Y(t).search:t.search;if(e[e.length-1].route.index&&Ft(r||""))return e[e.length-1];let n=st(e);return n[n.length-1]}/**
|
|
11
|
-
* React Router DOM v6.9.0
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Remix Software Inc.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
17
|
-
*
|
|
18
|
-
* @license MIT
|
|
19
|
-
*/function ue(){return ue=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ue.apply(this,arguments)}function Ur(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,o;for(o=0;o<n.length;o++)a=n[o],!(t.indexOf(a)>=0)&&(r[a]=e[a]);return r}const Ke="get",We="application/x-www-form-urlencoded";function Ce(e){return e!=null&&typeof e.tagName=="string"}function Fr(e){return Ce(e)&&e.tagName.toLowerCase()==="button"}function _r(e){return Ce(e)&&e.tagName.toLowerCase()==="form"}function Tr(e){return Ce(e)&&e.tagName.toLowerCase()==="input"}function Nr(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Or(e,t){return e.button===0&&(!t||t==="_self")&&!Nr(e)}function $e(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(a=>[r,a]):[[r,n]])},[]))}function kr(e,t){let r=$e(e);if(t)for(let n of t.keys())r.has(n)||t.getAll(n).forEach(a=>{r.append(n,a)});return r}function Ir(e,t,r){let n,a,o,i;if(_r(e)){let m=r.submissionTrigger;n=r.method||e.getAttribute("method")||Ke,a=r.action||e.getAttribute("action")||t,o=r.encType||e.getAttribute("enctype")||We,i=new FormData(e),m&&m.name&&i.append(m.name,m.value)}else if(Fr(e)||Tr(e)&&(e.type==="submit"||e.type==="image")){let m=e.form;if(m==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');n=r.method||e.getAttribute("formmethod")||m.getAttribute("method")||Ke,a=r.action||e.getAttribute("formaction")||m.getAttribute("action")||t,o=r.encType||e.getAttribute("formenctype")||m.getAttribute("enctype")||We,i=new FormData(m),e.name&&i.append(e.name,e.value)}else{if(Ce(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');if(n=r.method||Ke,a=r.action||t,o=r.encType||We,e instanceof FormData)i=e;else if(i=new FormData,e instanceof URLSearchParams)for(let[m,h]of e)i.append(m,h);else if(e!=null)for(let m of Object.keys(e))i.append(m,e[m])}let{protocol:u,host:f}=window.location;return{url:new URL(a,u+"//"+f),method:n.toLowerCase(),encType:o,formData:i}}const jr=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],xn=null,An=null;function Cn(e,t){return createRouter({basename:t==null?void 0:t.basename,history:createBrowserHistory({window:t==null?void 0:t.window}),hydrationData:(t==null?void 0:t.hydrationData)||Tt(),routes:e,detectErrorBoundary:UNSAFE_detectErrorBoundary}).initialize()}function Mn(e,t){return createRouter({basename:t==null?void 0:t.basename,history:createHashHistory({window:t==null?void 0:t.window}),hydrationData:(t==null?void 0:t.hydrationData)||Tt(),routes:e,detectErrorBoundary:UNSAFE_detectErrorBoundary}).initialize()}function Tt(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=ue({},t,{errors:Hr(t.errors)})),t}function Hr(e){if(!e)return null;let t=Object.entries(e),r={};for(let[n,a]of t)if(a&&a.__type==="RouteErrorResponse")r[n]=new ErrorResponse(a.status,a.statusText,a.data,a.internal===!0);else if(a&&a.__type==="Error"){let o=new Error(a.message);o.stack="",r[n]=o}else r[n]=a;return r}function zr(e){let{basename:t,children:r,window:n}=e,a=ee.useRef();a.current==null&&(a.current=Yt({window:n,v5Compat:!0}));let o=a.current,[i,u]=ee.useState({action:o.action,location:o.location});return ee.useLayoutEffect(()=>o.listen(u),[o]),ee.createElement(he.F0,{basename:t,children:r,location:i.location,navigationType:i.action,navigator:o})}function Un(e){let{basename:t,children:r,window:n}=e,a=React.useRef();a.current==null&&(a.current=createHashHistory({window:n,v5Compat:!0}));let o=a.current,[i,u]=React.useState({action:o.action,location:o.location});return React.useLayoutEffect(()=>o.listen(u),[o]),React.createElement(Router,{basename:t,children:r,location:i.location,navigationType:i.action,navigator:o})}function Fn(e){let{basename:t,children:r,history:n}=e;const[a,o]=React.useState({action:n.action,location:n.location});return React.useLayoutEffect(()=>n.listen(o),[n]),React.createElement(Router,{basename:t,children:r,location:a.location,navigationType:a.action,navigator:n})}const Br=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined",Kr=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Wr=ee.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:o,replace:i,state:u,target:f,to:g,preventScrollReset:m}=t,h=Ur(t,jr),{basename:w}=ee.useContext(he.Us),y,v=!1;if(typeof g=="string"&&Kr.test(g)&&(y=g,Br)){let E=new URL(window.location.href),P=g.startsWith("//")?new URL(E.protocol+g):new URL(g),C=xe(P.pathname,w);P.origin===E.origin&&C!=null?g=C+P.search+P.hash:v=!0}let l=(0,he.oQ)(g,{relative:a}),d=Vr(g,{replace:i,state:u,target:f,preventScrollReset:m,relative:a});function A(E){n&&n(E),E.defaultPrevented||d(E)}return ee.createElement("a",ue({},h,{href:y||l,onClick:v||o?n:A,ref:r,target:f}))}),_n=null,Tn=null,$r=null;function Nn(e){let{getKey:t,storageKey:r}=e;return Qr({getKey:t,storageKey:r}),null}var Re;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(Re||(Re={}));var Me;(function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Me||(Me={}));function On(e){return e+" must be used within a data router. See https://reactrouter.com/routers/picking-a-router."}function Ve(e){let t=React.useContext(UNSAFE_DataRouterContext);return t||UNSAFE_invariant(!1),t}function Nt(e){let t=React.useContext(UNSAFE_DataRouterStateContext);return t||UNSAFE_invariant(!1),t}function Vr(e,t){let{target:r,replace:n,state:a,preventScrollReset:o,relative:i}=t===void 0?{}:t,u=(0,he.s0)(),f=(0,he.TH)(),g=(0,he.WU)(e,{relative:i});return ee.useCallback(m=>{if(Or(m,r)){m.preventDefault();let h=n!==void 0?n:(0,tt.Ep)(f)===(0,tt.Ep)(g);u(e,{replace:h,state:a,preventScrollReset:o,relative:i})}},[f,u,g,n,a,r,e,o,i])}function kn(e){let t=React.useRef($e(e)),r=React.useRef(!1),n=useLocation(),a=React.useMemo(()=>kr(n.search,r.current?null:t.current),[n.search]),o=useNavigate(),i=React.useCallback((u,f)=>{const g=$e(typeof u=="function"?u(a):u);r.current=!0,o("?"+g,f)},[o,a]);return[a,i]}function In(){return Ot()}function Ot(e,t){let{router:r}=Ve(Re.UseSubmitImpl),n=Yr();return React.useCallback(function(a,o){if(o===void 0&&(o={}),typeof document=="undefined")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");let{method:i,encType:u,formData:f,url:g}=Ir(a,n,o),m=g.pathname+g.search,h={replace:o.replace,preventScrollReset:o.preventScrollReset,formData:f,formMethod:i,formEncType:u};e?(t==null&&UNSAFE_invariant(!1),r.fetch(e,t,m,h)):r.navigate(m,h)},[n,r,e,t])}function Yr(e,t){let{relative:r}=t===void 0?{}:t,{basename:n}=React.useContext(UNSAFE_NavigationContext),a=React.useContext(UNSAFE_RouteContext);a||UNSAFE_invariant(!1);let[o]=a.matches.slice(-1),i=ue({},useResolvedPath(e||".",{relative:r})),u=useLocation();if(e==null&&(i.search=u.search,i.hash=u.hash,o.route.index)){let f=new URLSearchParams(i.search);f.delete("index"),i.search=f.toString()?"?"+f.toString():""}return(!e||e===".")&&o.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(i.pathname=i.pathname==="/"?n:joinPaths([n,i.pathname])),createPath(i)}function Jr(e,t){return React.forwardRef((n,a)=>React.createElement($r,ue({},n,{ref:a,fetcherKey:e,routeId:t})))}let Gr=0;function jn(){var e;let{router:t}=Ve(Re.UseFetcher),r=React.useContext(UNSAFE_RouteContext);r||UNSAFE_invariant(!1);let n=(e=r.matches[r.matches.length-1])==null?void 0:e.route.id;n==null&&UNSAFE_invariant(!1);let[a]=React.useState(()=>String(++Gr)),[o]=React.useState(()=>(n||UNSAFE_invariant(!1),Jr(a,n))),[i]=React.useState(()=>m=>{t||UNSAFE_invariant(!1),n||UNSAFE_invariant(!1),t.fetch(a,n,m)}),u=Ot(a,n),f=t.getFetcher(a),g=React.useMemo(()=>ue({Form:o,submit:u,load:i},f),[f,o,u,i]);return React.useEffect(()=>()=>{if(!t){console.warn("No fetcher available to clean up from useFetcher()");return}t.deleteFetcher(a)},[t,a]),g}function Hn(){return[...Nt(Me.UseFetchers).fetchers.values()]}const kt="react-router-scroll-positions";let Ue={};function Qr(e){let{getKey:t,storageKey:r}=e===void 0?{}:e,{router:n}=Ve(Re.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:o}=Nt(Me.UseScrollRestoration),i=useLocation(),u=useMatches(),f=useNavigation();React.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),Xr(React.useCallback(()=>{if(f.state==="idle"){let g=(t?t(i,u):null)||i.key;Ue[g]=window.scrollY}sessionStorage.setItem(r||kt,JSON.stringify(Ue)),window.history.scrollRestoration="auto"},[r,t,f.state,i,u])),typeof document!="undefined"&&(React.useLayoutEffect(()=>{try{let g=sessionStorage.getItem(r||kt);g&&(Ue=JSON.parse(g))}catch{}},[r]),React.useLayoutEffect(()=>{let g=n==null?void 0:n.enableScrollRestoration(Ue,()=>window.scrollY,t);return()=>g&&g()},[n,t]),React.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}if(i.hash){let g=document.getElementById(i.hash.slice(1));if(g){g.scrollIntoView();return}}o!==!0&&window.scrollTo(0,0)}},[i,a,o]))}function zn(e,t){let{capture:r}=t||{};React.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("beforeunload",e,n),()=>{window.removeEventListener("beforeunload",e,n)}},[e,r])}function Xr(e,t){let{capture:r}=t||{};React.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,r])}function Bn(e){let{when:t,message:r}=e,n=unstable_useBlocker(t);React.useEffect(()=>{n.state==="blocked"&&!t&&n.reset()},[n,t]),React.useEffect(()=>{n.state==="blocked"&&(window.confirm(r)?setTimeout(n.proceed,0):n.reset())},[n,r])}}}]);})();
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=module-react-router-dom.ef191c8f.js.map
|