@techdocs/cli 1.8.17-next.1 → 1.8.17-next.3

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.
Files changed (126) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/embedded-app/.config-schema.json +201 -126
  3. package/dist/embedded-app/index.html +1 -1
  4. package/dist/embedded-app/static/124.7c4c81f4.chunk.js +6 -0
  5. package/dist/embedded-app/static/124.7c4c81f4.chunk.js.map +1 -0
  6. package/dist/embedded-app/static/{1297.f8916d08.chunk.js → 1297.b4799570.chunk.js} +3 -3
  7. package/dist/embedded-app/static/1297.b4799570.chunk.js.map +1 -0
  8. package/dist/embedded-app/static/1902.6f404f8c.chunk.js +10 -0
  9. package/dist/embedded-app/static/1902.6f404f8c.chunk.js.map +1 -0
  10. package/dist/embedded-app/static/2401.14631655.chunk.js +6 -0
  11. package/dist/embedded-app/static/2401.14631655.chunk.js.map +1 -0
  12. package/dist/embedded-app/static/2420.1bc102de.chunk.js +6 -0
  13. package/dist/embedded-app/static/2420.1bc102de.chunk.js.map +1 -0
  14. package/dist/embedded-app/static/287.961ccb08.chunk.js +6 -0
  15. package/dist/embedded-app/static/287.961ccb08.chunk.js.map +1 -0
  16. package/dist/embedded-app/static/3182.3cbe56e4.chunk.js +7 -0
  17. package/dist/embedded-app/static/3182.3cbe56e4.chunk.js.map +1 -0
  18. package/dist/embedded-app/static/3632.681a005c.chunk.js +6 -0
  19. package/dist/embedded-app/static/3632.681a005c.chunk.js.map +1 -0
  20. package/dist/embedded-app/static/3720.1978cecb.chunk.js +11 -0
  21. package/dist/embedded-app/static/3720.1978cecb.chunk.js.map +1 -0
  22. package/dist/embedded-app/static/4036.32efab46.chunk.js +3 -0
  23. package/dist/embedded-app/static/4036.32efab46.chunk.js.map +1 -0
  24. package/dist/embedded-app/static/4487.f9cc6633.chunk.js +3 -0
  25. package/dist/embedded-app/static/4487.f9cc6633.chunk.js.map +1 -0
  26. package/dist/embedded-app/static/4516.b1a92d53.chunk.js +3 -0
  27. package/dist/embedded-app/static/4516.b1a92d53.chunk.js.map +1 -0
  28. package/dist/embedded-app/static/4919.e2124196.chunk.js +3 -0
  29. package/dist/embedded-app/static/4919.e2124196.chunk.js.map +1 -0
  30. package/dist/embedded-app/static/5724.8c459ffd.chunk.js +4 -0
  31. package/dist/embedded-app/static/5724.8c459ffd.chunk.js.map +1 -0
  32. package/dist/embedded-app/static/6271.d5297b21.chunk.js +6 -0
  33. package/dist/embedded-app/static/6271.d5297b21.chunk.js.map +1 -0
  34. package/dist/embedded-app/static/6415.3f0e01a6.chunk.js +6 -0
  35. package/dist/embedded-app/static/6415.3f0e01a6.chunk.js.map +1 -0
  36. package/dist/embedded-app/static/8307.fd2c3bf0.chunk.js +9 -0
  37. package/dist/embedded-app/static/8307.fd2c3bf0.chunk.js.map +1 -0
  38. package/dist/embedded-app/static/8384.bfea9665.chunk.js +6 -0
  39. package/dist/embedded-app/static/8384.bfea9665.chunk.js.map +1 -0
  40. package/dist/embedded-app/static/898.b3655147.chunk.js +4 -0
  41. package/dist/embedded-app/static/898.b3655147.chunk.js.map +1 -0
  42. package/dist/embedded-app/static/{9234.ac5ee4d5.chunk.js → 9234.ad94610e.chunk.js} +2 -2
  43. package/dist/embedded-app/static/{9234.ac5ee4d5.chunk.js.map → 9234.ad94610e.chunk.js.map} +1 -1
  44. package/dist/embedded-app/static/9605.92f660fa.chunk.js +11 -0
  45. package/dist/embedded-app/static/9605.92f660fa.chunk.js.map +1 -0
  46. package/dist/embedded-app/static/9652.aec21fe8.chunk.js +6 -0
  47. package/dist/embedded-app/static/9652.aec21fe8.chunk.js.map +1 -0
  48. package/dist/embedded-app/static/main.3d49bafb.js +509 -0
  49. package/dist/embedded-app/static/main.3d49bafb.js.map +1 -0
  50. package/dist/embedded-app/static/{module-material-table.60f080a9.js → module-material-table.e3f26578.js} +2 -2
  51. package/dist/embedded-app/static/{module-material-table.60f080a9.js.map → module-material-table.e3f26578.js.map} +1 -1
  52. package/dist/embedded-app/static/module-material-ui.f1846a3c.js +24 -0
  53. package/dist/embedded-app/static/module-material-ui.f1846a3c.js.map +1 -0
  54. package/dist/embedded-app/static/module-react-router-dom.0c2bb614.js +23 -0
  55. package/dist/embedded-app/static/module-react-router-dom.0c2bb614.js.map +1 -0
  56. package/dist/embedded-app/static/module-react-router.dac764ce.js +23 -0
  57. package/dist/embedded-app/static/module-react-router.dac764ce.js.map +1 -0
  58. package/dist/embedded-app/static/module-zod.9a0df421.js +3 -0
  59. package/dist/embedded-app/static/{module-zod.18508a39.js.map → module-zod.9a0df421.js.map} +1 -1
  60. package/dist/embedded-app/static/{react-syntax-highlighter_languages_highlight_lisp.4a81e0ae.chunk.js → react-syntax-highlighter_languages_highlight_lisp.e1c07c6d.chunk.js} +2 -2
  61. package/dist/embedded-app/static/{react-syntax-highlighter_languages_highlight_lisp.4a81e0ae.chunk.js.map → react-syntax-highlighter_languages_highlight_lisp.e1c07c6d.chunk.js.map} +1 -1
  62. package/dist/embedded-app/static/{runtime.e9838633.js → runtime.3d49bafb.js} +2 -2
  63. package/dist/embedded-app/static/runtime.3d49bafb.js.map +1 -0
  64. package/dist/embedded-app/static/vendor.3d49bafb.js +155 -0
  65. package/dist/embedded-app/static/vendor.3d49bafb.js.map +1 -0
  66. package/dist/index.cjs.js +1 -1
  67. package/package.json +5 -5
  68. package/dist/embedded-app/static/124.5ba6885f.chunk.js +0 -6
  69. package/dist/embedded-app/static/124.5ba6885f.chunk.js.map +0 -1
  70. package/dist/embedded-app/static/1297.f8916d08.chunk.js.map +0 -1
  71. package/dist/embedded-app/static/2401.d309433f.chunk.js +0 -6
  72. package/dist/embedded-app/static/2401.d309433f.chunk.js.map +0 -1
  73. package/dist/embedded-app/static/2420.037cfc15.chunk.js +0 -6
  74. package/dist/embedded-app/static/2420.037cfc15.chunk.js.map +0 -1
  75. package/dist/embedded-app/static/2745.5b1c08b3.chunk.js +0 -6
  76. package/dist/embedded-app/static/2745.5b1c08b3.chunk.js.map +0 -1
  77. package/dist/embedded-app/static/2772.bdf6f4ac.chunk.js +0 -168
  78. package/dist/embedded-app/static/2772.bdf6f4ac.chunk.js.map +0 -1
  79. package/dist/embedded-app/static/287.0d76734a.chunk.js +0 -6
  80. package/dist/embedded-app/static/287.0d76734a.chunk.js.map +0 -1
  81. package/dist/embedded-app/static/3182.690c18de.chunk.js +0 -7
  82. package/dist/embedded-app/static/3182.690c18de.chunk.js.map +0 -1
  83. package/dist/embedded-app/static/3632.c54686af.chunk.js +0 -6
  84. package/dist/embedded-app/static/3632.c54686af.chunk.js.map +0 -1
  85. package/dist/embedded-app/static/4036.6d4f48ee.chunk.js +0 -3
  86. package/dist/embedded-app/static/4036.6d4f48ee.chunk.js.map +0 -1
  87. package/dist/embedded-app/static/4400.74f2ff55.chunk.js +0 -6
  88. package/dist/embedded-app/static/4400.74f2ff55.chunk.js.map +0 -1
  89. package/dist/embedded-app/static/4943.f9ffc89d.chunk.js +0 -4
  90. package/dist/embedded-app/static/4943.f9ffc89d.chunk.js.map +0 -1
  91. package/dist/embedded-app/static/5502.59e5e2d7.chunk.js +0 -3
  92. package/dist/embedded-app/static/5502.59e5e2d7.chunk.js.map +0 -1
  93. package/dist/embedded-app/static/5580.aad136c2.chunk.js +0 -4
  94. package/dist/embedded-app/static/5580.aad136c2.chunk.js.map +0 -1
  95. package/dist/embedded-app/static/6066.c5fcf8d3.chunk.js +0 -3
  96. package/dist/embedded-app/static/6066.c5fcf8d3.chunk.js.map +0 -1
  97. package/dist/embedded-app/static/6271.50d6fc37.chunk.js +0 -6
  98. package/dist/embedded-app/static/6271.50d6fc37.chunk.js.map +0 -1
  99. package/dist/embedded-app/static/6545.2f399250.chunk.js +0 -3
  100. package/dist/embedded-app/static/6545.2f399250.chunk.js.map +0 -1
  101. package/dist/embedded-app/static/7137.9e328e07.chunk.js +0 -3
  102. package/dist/embedded-app/static/7137.9e328e07.chunk.js.map +0 -1
  103. package/dist/embedded-app/static/8307.0cba06d7.chunk.js +0 -9
  104. package/dist/embedded-app/static/8307.0cba06d7.chunk.js.map +0 -1
  105. package/dist/embedded-app/static/8384.e32c3b89.chunk.js +0 -6
  106. package/dist/embedded-app/static/8384.e32c3b89.chunk.js.map +0 -1
  107. package/dist/embedded-app/static/8721.77fdaf76.chunk.js +0 -11
  108. package/dist/embedded-app/static/8721.77fdaf76.chunk.js.map +0 -1
  109. package/dist/embedded-app/static/9605.c3d05fe5.chunk.js +0 -11
  110. package/dist/embedded-app/static/9605.c3d05fe5.chunk.js.map +0 -1
  111. package/dist/embedded-app/static/9652.f79c63a2.chunk.js +0 -6
  112. package/dist/embedded-app/static/9652.f79c63a2.chunk.js.map +0 -1
  113. package/dist/embedded-app/static/9797.047c7087.chunk.js +0 -10
  114. package/dist/embedded-app/static/9797.047c7087.chunk.js.map +0 -1
  115. package/dist/embedded-app/static/main.e9838633.js +0 -513
  116. package/dist/embedded-app/static/main.e9838633.js.map +0 -1
  117. package/dist/embedded-app/static/module-material-ui.b719b7fa.js +0 -24
  118. package/dist/embedded-app/static/module-material-ui.b719b7fa.js.map +0 -1
  119. package/dist/embedded-app/static/module-react-router-dom.473a1e8a.js +0 -22
  120. package/dist/embedded-app/static/module-react-router-dom.473a1e8a.js.map +0 -1
  121. package/dist/embedded-app/static/module-react-router.933956ac.js +0 -22
  122. package/dist/embedded-app/static/module-react-router.933956ac.js.map +0 -1
  123. package/dist/embedded-app/static/module-zod.18508a39.js +0 -3
  124. package/dist/embedded-app/static/runtime.e9838633.js.map +0 -1
  125. package/dist/embedded-app/static/vendor.e9838633.js +0 -155
  126. package/dist/embedded-app/static/vendor.e9838633.js.map +0 -1
@@ -1,22 +0,0 @@
1
- "use strict";(()=>{(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[9669],{73970:(oa,Sr,Re)=>{Re.d(Sr,{Kd:()=>Mn,N_:()=>jn});var re=Re(14041),Tt=Re.t(re,2),Er=Re(43144),Pr=Re.t(Er,2),De=Re(18690),_t=Re(74808);/**
2
- * @remix-run/router v1.15.3
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 j(){return j=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},j.apply(this,arguments)}var K;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(K||(K={}));const Ct="popstate";function la(e){e===void 0&&(e={});let{initialEntries:t=["/"],initialIndex:r,v5Compat:n=!1}=e,a;a=t.map((y,R)=>c(y,typeof y=="string"?null:y.state,R===0?"default":void 0));let o=u(r??a.length-1),i=K.Pop,s=null;function u(y){return Math.min(Math.max(y,0),a.length-1)}function f(){return a[o]}function c(y,R,w){R===void 0&&(R=null);let g=le(a?f().pathname:"/",y,R,w);return oe(g.pathname.charAt(0)==="/","relative pathnames are not supported in memory history: "+JSON.stringify(y)),g}function S(y){return typeof y=="string"?y:se(y)}return{get index(){return o},get action(){return i},get location(){return f()},createHref:S,createURL(y){return new URL(S(y),"http://localhost")},encodeLocation(y){let R=typeof y=="string"?ie(y):y;return{pathname:R.pathname||"",search:R.search||"",hash:R.hash||""}},push(y,R){i=K.Push;let w=c(y,R);o+=1,a.splice(o,a.length,w),n&&s&&s({action:i,location:w,delta:1})},replace(y,R){i=K.Replace;let w=c(y,R);a[o]=w,n&&s&&s({action:i,location:w,delta:0})},go(y){i=K.Pop;let R=u(o+y),w=a[R];o=R,s&&s({action:i,location:w,delta:y})},listen(y){return s=y,()=>{s=null}}}}function xr(e){e===void 0&&(e={});function t(n,a){let{pathname:o,search:i,hash:s}=n.location;return le("",{pathname:o,search:i,hash:s},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:se(a)}return Ft(t,r,null,e)}function sa(e){e===void 0&&(e={});function t(a,o){let{pathname:i="/",search:s="",hash:u=""}=ie(a.location.hash.substr(1));return!i.startsWith("/")&&!i.startsWith(".")&&(i="/"+i),le("",{pathname:i,search:s,hash:u},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function r(a,o){let i=a.document.querySelector("base"),s="";if(i&&i.getAttribute("href")){let u=a.location.href,f=u.indexOf("#");s=f===-1?u:u.slice(0,f)}return s+"#"+(typeof o=="string"?o:se(o))}function n(a,o){oe(a.pathname.charAt(0)==="/","relative pathnames are not supported in hash history.push("+JSON.stringify(o)+")")}return Ft(t,r,n,e)}function I(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function oe(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Lr(){return Math.random().toString(36).substr(2,8)}function At(e,t){return{usr:e.state,key:e.key,idx:t}}function le(e,t,r,n){return r===void 0&&(r=null),j({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?ie(t):t,{state:r,key:t&&t.key||n||Lr()})}function se(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 ie(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 Ft(e,t,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,s=K.Pop,u=null,f=c();f==null&&(f=0,i.replaceState(j({},i.state,{idx:f}),""));function c(){return(i.state||{idx:null}).idx}function S(){s=K.Pop;let g=c(),p=g==null?null:g-f;f=g,u&&u({action:s,location:w.location,delta:p})}function v(g,p){s=K.Push;let P=le(w.location,g,p);r&&r(P,g),f=c()+1;let L=At(P,f),C=w.createHref(P);try{i.pushState(L,"",C)}catch(M){if(M instanceof DOMException&&M.name==="DataCloneError")throw M;a.location.assign(C)}o&&u&&u({action:s,location:w.location,delta:1})}function y(g,p){s=K.Replace;let P=le(w.location,g,p);r&&r(P,g),f=c();let L=At(P,f),C=w.createHref(P);i.replaceState(L,"",C),o&&u&&u({action:s,location:w.location,delta:0})}function R(g){let p=a.location.origin!=="null"?a.location.origin:a.location.href,P=typeof g=="string"?g:se(g);return P=P.replace(/ $/,"%20"),I(p,"No window.location.(origin|href) available to create URL for href: "+P),new URL(P,p)}let w={get action(){return s},get location(){return e(a,i)},listen(g){if(u)throw new Error("A history only accepts one active listener");return a.addEventListener(Ct,S),u=g,()=>{a.removeEventListener(Ct,S),u=null}},createHref(g){return t(a,g)},createURL:R,encodeLocation(g){let p=R(g);return{pathname:p.pathname,search:p.search,hash:p.hash}},push:v,replace:y,go(g){return i.go(g)}};return w}var z;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(z||(z={}));const Dr=new Set(["lazy","caseSensitive","path","id","index","children"]);function Tr(e){return e.index===!0}function Xe(e,t,r,n){return r===void 0&&(r=[]),n===void 0&&(n={}),e.map((a,o)=>{let i=[...r,o],s=typeof a.id=="string"?a.id:i.join("-");if(I(a.index!==!0||!a.children,"Cannot specify children on an index route"),I(!n[s],'Found a route id collision on id "'+s+`". Route id's must be globally unique within Data Router usages`),Tr(a)){let u=j({},a,t(a),{id:s});return n[s]=u,u}else{let u=j({},a,t(a),{id:s,children:void 0});return n[s]=u,a.children&&(u.children=Xe(a.children,t,i,n)),u}})}function be(e,t,r){r===void 0&&(r="/");let n=typeof t=="string"?ie(t):t,a=Oe(n.pathname||"/",r);if(a==null)return null;let o=Ut(e);Cr(o);let i=null;for(let s=0;i==null&&s<o.length;++s){let u=kr(a);i=Hr(o[s],u)}return i}function _r(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 Ut(e,t,r,n){t===void 0&&(t=[]),r===void 0&&(r=[]),n===void 0&&(n="");let a=(o,i,s)=>{let u={relativePath:s===void 0?o.path||"":s,caseSensitive:o.caseSensitive===!0,childrenIndex:i,route:o};u.relativePath.startsWith("/")&&(I(u.relativePath.startsWith(n),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(n.length));let f=je([n,u.relativePath]),c=r.concat(u);o.children&&o.children.length>0&&(I(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+f+'".')),Ut(o.children,t,c,f)),!(o.path==null&&!o.index)&&t.push({path:f,score:jr(f,o.index),routesMeta:c})};return e.forEach((o,i)=>{var s;if(o.path===""||!((s=o.path)!=null&&s.includes("?")))a(o,i);else for(let u of Mt(o.path))a(o,i,u)}),t}function Mt(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=Mt(n.join("/")),s=[];return s.push(...i.map(u=>u===""?o:[o,u].join("/"))),a&&s.push(...i),s.map(u=>e.startsWith("/")&&u===""?"/":u)}function Cr(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:Ir(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const Ar=/^:[\w-]+$/,Fr=3,Ur=2,Mr=1,Nr=10,Or=null,Nt=e=>e==="*";function jr(e,t){let r=e.split("/"),n=r.length;return r.some(Nt)&&(n+=Or),t&&(n+=Ur),r.filter(a=>!Nt(a)).reduce((a,o)=>a+(Ar.test(o)?Fr:o===""?Mr:Nr),n)}function Ir(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 Hr(e,t){let{routesMeta:r}=e,n={},a="/",o=[];for(let i=0;i<r.length;++i){let s=r[i],u=i===r.length-1,f=a==="/"?t:t.slice(a.length)||"/",c=Br({path:s.relativePath,caseSensitive:s.caseSensitive,end:u},f);if(!c)return null;Object.assign(n,c.params);let S=s.route;o.push({params:n,pathname:je([a,c.pathname]),pathnameBase:Yr(je([a,c.pathnameBase])),route:S}),c.pathnameBase!=="/"&&(a=je([a,c.pathnameBase]))}return o}function ua(e,t){t===void 0&&(t={});let r=e;r.endsWith("*")&&r!=="*"&&!r.endsWith("/*")&&(oe(!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=i=>i==null?"":typeof i=="string"?i:String(i),o=r.split(/\/+/).map((i,s,u)=>{if(s===u.length-1&&i==="*")return a(t["*"]);const c=i.match(/^:([\w-]+)(\??)$/);if(c){const[,S,v]=c;let y=t[S];return I(v==="?"||y!=null,'Missing ":'+S+'" param'),a(y)}return i.replace(/\?$/g,"")}).filter(i=>!!i);return n+o.join("/")}function Br(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=zr(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),s=a.slice(1);return{params:n.reduce((f,c,S)=>{let{paramName:v,isOptional:y}=c;if(v==="*"){let w=s[S]||"";i=o.slice(0,o.length-w.length).replace(/(.)\/+$/,"$1")}const R=s[S];return y&&!R?f[v]=void 0:f[v]=(R||"").replace(/%2F/g,"/"),f},{}),pathname:o,pathnameBase:i,pattern:e}}function zr(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),oe(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,s,u)=>(n.push({paramName:s,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function kr(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return oe(!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 Oe(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 Kr(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?ie(e):e;return{pathname:r?r.startsWith("/")?r:Wr(r,t):t,search:Jr(n),hash:Gr(a)}}function Wr(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 ut(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 Ot(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function Vr(e,t){let r=Ot(e);return t?r.map((n,a)=>a===e.length-1?n.pathname:n.pathnameBase):r.map(n=>n.pathnameBase)}function $r(e,t,r,n){n===void 0&&(n=!1);let a;typeof e=="string"?a=ie(e):(a=j({},e),I(!a.pathname||!a.pathname.includes("?"),ut("?","pathname","search",a)),I(!a.pathname||!a.pathname.includes("#"),ut("#","pathname","hash",a)),I(!a.search||!a.search.includes("#"),ut("#","search","hash",a)));let o=e===""||a.pathname==="",i=o?"/":a.pathname,s;if(i==null)s=r;else{let S=t.length-1;if(!n&&i.startsWith("..")){let v=i.split("/");for(;v[0]==="..";)v.shift(),S-=1;a.pathname=v.join("/")}s=S>=0?t[S]:"/"}let u=Kr(a,s),f=i&&i!=="/"&&i.endsWith("/"),c=(o||i===".")&&r.endsWith("/");return!u.pathname.endsWith("/")&&(f||c)&&(u.pathname+="/"),u}function ca(e){return e===""||e.pathname===""?"/":typeof e=="string"?ie(e).pathname:e.pathname}const je=e=>e.join("/").replace(/\/\/+/g,"/"),Yr=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Jr=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Gr=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,da=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),j({},n,{headers:a}))};class jt extends null{}class Xr{constructor(t,r){this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],I(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 jt("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[s,u]=i;return Object.assign(o,{[s]:this.trackPromise(s,u)})},{}),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,void 0,a),a=>this.onSettle(n,t,a));return n.catch(()=>{}),Object.defineProperty(n,"_tracked",{get:()=>!0}),n}onSettle(t,r,n,a){if(this.controller.signal.aborted&&n instanceof jt)return this.unlistenAbortSignal(),Object.defineProperty(t,"_error",{get:()=>n}),Promise.reject(n);if(this.pendingKeysSet.delete(r),this.done&&this.unlistenAbortSignal(),n===void 0&&a===void 0){let o=new Error('Deferred data for key "'+r+'" resolved/rejected with `undefined`, you must resolve/reject with a value or `null`.');return Object.defineProperty(t,"_error",{get:()=>o}),this.emit(!1,r),Promise.reject(o)}return a===void 0?(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 I(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]:Zr(a)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}function Qr(e){return e instanceof Promise&&e._tracked===!0}function Zr(e){if(!Qr(e))return e;if(e._error)throw e._error;return e._data}const fa=function(t,r){r===void 0&&(r={});let n=typeof r=="number"?{status:r}:r;return new Xr(t,n)},qr=function(t,r){r===void 0&&(r=302);let n=r;typeof n=="number"?n={status:n}:typeof n.status>"u"&&(n.status=302);let a=new Headers(n.headers);return a.set("Location",t),new Response(null,j({},n,{headers:a}))},ha=(e,t)=>{let r=qr(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r};class It{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 ct(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"],en=new Set(Ht),tn=["get",...Ht],rn=new Set(tn),nn=new Set([301,302,303,307,308]),an=new Set([307,308]),dt={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},on={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ie={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Bt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,zt=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),kt="remix-router-transitions";function ma(e){const t=e.window?e.window:typeof window<"u"?window:void 0,r=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",n=!r;I(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let a;if(e.mapRouteProperties)a=e.mapRouteProperties;else if(e.detectErrorBoundary){let l=e.detectErrorBoundary;a=d=>({hasErrorBoundary:l(d)})}else a=zt;let o={},i=Xe(e.routes,a,void 0,o),s,u=e.basename||"/",f=j({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1},e.future),c=null,S=new Set,v=null,y=null,R=null,w=e.hydrationData!=null,g=be(i,e.history.location,u),p=null;if(g==null){let l=W(404,{pathname:e.history.location.pathname}),{matches:d,route:m}=Qe(i);g=d,p={[m.id]:l}}let P,L=g.some(l=>l.route.lazy),C=g.some(l=>l.route.loader);if(L)P=!1;else if(!C)P=!0;else if(f.v7_partialHydration){let l=e.hydrationData?e.hydrationData.loaderData:null,d=e.hydrationData?e.hydrationData.errors:null,m=b=>b.route.loader?b.route.loader.hydrate===!0?!1:l&&l[b.route.id]!==void 0||d&&d[b.route.id]!==void 0:!0;if(d){let b=g.findIndex(E=>d[E.route.id]!==void 0);P=g.slice(0,b+1).every(m)}else P=g.every(m)}else P=e.hydrationData!=null;let M,h={historyAction:e.history.action,location:e.history.location,matches:g,initialized:P,navigation:dt,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||p,fetchers:new Map,blockers:new Map},T=K.Pop,A=!1,U,X=!1,V=new Map,q=null,Q=!1,ue=!1,rt=[],nt=[],$=new Map,at=0,We=-1,Ae=new Map,ce=new Set,Fe=new Map,Ve=new Map,de=new Set,Ee=new Map,Pe=new Map,St=!1;function Vn(){if(c=e.history.listen(l=>{let{action:d,location:m,delta:b}=l;if(St){St=!1;return}oe(Pe.size===0||b!=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 E=wr({currentLocation:h.location,nextLocation:m,historyAction:d});if(E&&b!=null){St=!0,e.history.go(b*-1),ot(E,{state:"blocked",location:m,proceed(){ot(E,{state:"proceeding",proceed:void 0,reset:void 0,location:m}),e.history.go(b)},reset(){let N=new Map(h.blockers);N.set(E,Ie),ee({blockers:N})}});return}return xe(d,m)}),r){vn(t,V);let l=()=>gn(t,V);t.addEventListener("pagehide",l),q=()=>t.removeEventListener("pagehide",l)}return h.initialized||xe(K.Pop,h.location,{initialHydration:!0}),M}function $n(){c&&c(),q&&q(),S.clear(),U&&U.abort(),h.fetchers.forEach((l,d)=>it(d)),h.blockers.forEach((l,d)=>yr(d))}function Yn(l){return S.add(l),()=>S.delete(l)}function ee(l,d){d===void 0&&(d={}),h=j({},h,l);let m=[],b=[];f.v7_fetcherPersist&&h.fetchers.forEach((E,N)=>{E.state==="idle"&&(de.has(N)?b.push(N):m.push(N))}),[...S].forEach(E=>E(h,{deletedFetchers:b,unstable_viewTransitionOpts:d.viewTransitionOpts,unstable_flushSync:d.flushSync===!0})),f.v7_fetcherPersist&&(m.forEach(E=>h.fetchers.delete(E)),b.forEach(E=>it(E)))}function $e(l,d,m){var b,E;let{flushSync:N}=m===void 0?{}:m,_=h.actionData!=null&&h.navigation.formMethod!=null&&ne(h.navigation.formMethod)&&h.navigation.state==="loading"&&((b=l.state)==null?void 0:b._isRedirect)!==!0,D;d.actionData?Object.keys(d.actionData).length>0?D=d.actionData:D=null:_?D=h.actionData:D=null;let x=d.loaderData?qt(h.loaderData,d.loaderData,d.matches||[],d.errors):h.loaderData,O=h.blockers;O.size>0&&(O=new Map(O),O.forEach((k,G)=>O.set(G,Ie)));let Y=A===!0||h.navigation.formMethod!=null&&ne(h.navigation.formMethod)&&((E=l.state)==null?void 0:E._isRedirect)!==!0;s&&(i=s,s=void 0),Q||T===K.Pop||(T===K.Push?e.history.push(l,l.state):T===K.Replace&&e.history.replace(l,l.state));let F;if(T===K.Pop){let k=V.get(h.location.pathname);k&&k.has(l.pathname)?F={currentLocation:h.location,nextLocation:l}:V.has(l.pathname)&&(F={currentLocation:l,nextLocation:h.location})}else if(X){let k=V.get(h.location.pathname);k?k.add(l.pathname):(k=new Set([l.pathname]),V.set(h.location.pathname,k)),F={currentLocation:h.location,nextLocation:l}}ee(j({},d,{actionData:D,loaderData:x,historyAction:T,location:l,initialized:!0,navigation:dt,revalidation:"idle",restoreScrollPosition:br(l,d.matches||h.matches),preventScrollReset:Y,blockers:O}),{viewTransitionOpts:F,flushSync:N===!0}),T=K.Pop,A=!1,X=!1,Q=!1,ue=!1,rt=[],nt=[]}async function fr(l,d){if(typeof l=="number"){e.history.go(l);return}let m=ft(h.location,h.matches,u,f.v7_prependBasename,l,f.v7_relativeSplatPath,d?.fromRouteId,d?.relative),{path:b,submission:E,error:N}=Wt(f.v7_normalizeFormMethod,!1,m,d),_=h.location,D=le(h.location,b,d&&d.state);D=j({},D,e.history.encodeLocation(D));let x=d&&d.replace!=null?d.replace:void 0,O=K.Push;x===!0?O=K.Replace:x===!1||E!=null&&ne(E.formMethod)&&E.formAction===h.location.pathname+h.location.search&&(O=K.Replace);let Y=d&&"preventScrollReset"in d?d.preventScrollReset===!0:void 0,F=(d&&d.unstable_flushSync)===!0,k=wr({currentLocation:_,nextLocation:D,historyAction:O});if(k){ot(k,{state:"blocked",location:D,proceed(){ot(k,{state:"proceeding",proceed:void 0,reset:void 0,location:D}),fr(l,d)},reset(){let G=new Map(h.blockers);G.set(k,Ie),ee({blockers:G})}});return}return await xe(O,D,{submission:E,pendingError:N,preventScrollReset:Y,replace:d&&d.replace,enableViewTransition:d&&d.unstable_viewTransition,flushSync:F})}function Jn(){if(Et(),ee({revalidation:"loading"}),h.navigation.state!=="submitting"){if(h.navigation.state==="idle"){xe(h.historyAction,h.location,{startUninterruptedRevalidation:!0});return}xe(T||h.historyAction,h.navigation.location,{overrideNavigation:h.navigation})}}async function xe(l,d,m){U&&U.abort(),U=null,T=l,Q=(m&&m.startUninterruptedRevalidation)===!0,na(h.location,h.matches),A=(m&&m.preventScrollReset)===!0,X=(m&&m.enableViewTransition)===!0;let b=s||i,E=m&&m.overrideNavigation,N=be(b,d,u),_=(m&&m.flushSync)===!0;if(!N){let G=W(404,{pathname:d.pathname}),{matches:te,route:J}=Qe(b);Pt(),$e(d,{matches:te,loaderData:{},errors:{[J.id]:G}},{flushSync:_});return}if(h.initialized&&!ue&&cn(h.location,d)&&!(m&&m.submission&&ne(m.submission.formMethod))){$e(d,{matches:N},{flushSync:_});return}U=new AbortController;let D=He(e.history,d,U.signal,m&&m.submission),x,O;if(m&&m.pendingError)O={[Te(N).route.id]:m.pendingError};else if(m&&m.submission&&ne(m.submission.formMethod)){let G=await Gn(D,d,m.submission,N,{replace:m.replace,flushSync:_});if(G.shortCircuited)return;x=G.pendingActionData,O=G.pendingActionError,E=vt(d,m.submission),_=!1,D=new Request(D.url,{signal:D.signal})}let{shortCircuited:Y,loaderData:F,errors:k}=await Xn(D,d,N,E,m&&m.submission,m&&m.fetcherSubmission,m&&m.replace,m&&m.initialHydration===!0,_,x,O);Y||(U=null,$e(d,j({matches:N},x?{actionData:x}:{},{loaderData:F,errors:k})))}async function Gn(l,d,m,b,E){E===void 0&&(E={}),Et();let N=mn(d,m);ee({navigation:N},{flushSync:E.flushSync===!0});let _,D=Be(b,d);if(!D.route.action&&!D.route.lazy)_={type:z.error,error:W(405,{method:l.method,pathname:d.pathname,routeId:D.route.id})};else if(_=await Se("action",l,D,b,o,a,u,f.v7_relativeSplatPath),l.signal.aborted)return{shortCircuited:!0};if(me(_)){let x;return E&&E.replace!=null?x=E.replace:x=_.location===h.location.pathname+h.location.search,await Ye(h,_,{submission:m,replace:x}),{shortCircuited:!0}}if(he(_)){let x=Te(b,D.route.id);return(E&&E.replace)!==!0&&(T=K.Push),{pendingActionData:{},pendingActionError:{[x.route.id]:_.error}}}if(fe(_))throw W(400,{type:"defer-action"});return{pendingActionData:{[D.route.id]:_.data}}}async function Xn(l,d,m,b,E,N,_,D,x,O,Y){let F=b||vt(d,E),k=E||N||ar(F),G=s||i,[te,J]=$t(e.history,h,m,k,d,f.v7_partialHydration&&D===!0,ue,rt,nt,de,Fe,ce,G,u,O,Y);if(Pt(H=>!(m&&m.some(B=>B.route.id===H))||te&&te.some(B=>B.route.id===H)),We=++at,te.length===0&&J.length===0){let H=vr();return $e(d,j({matches:m,loaderData:{},errors:Y||null},O?{actionData:O}:{},H?{fetchers:new Map(h.fetchers)}:{}),{flushSync:x}),{shortCircuited:!0}}if(!Q&&(!f.v7_partialHydration||!D)){J.forEach(B=>{let Z=h.fetchers.get(B.key),st=ze(void 0,Z?Z.data:void 0);h.fetchers.set(B.key,st)});let H=O||h.actionData;ee(j({navigation:F},H?Object.keys(H).length===0?{actionData:null}:{actionData:H}:{},J.length>0?{fetchers:new Map(h.fetchers)}:{}),{flushSync:x})}J.forEach(H=>{$.has(H.key)&&ye(H.key),H.controller&&$.set(H.key,H.controller)});let Ue=()=>J.forEach(H=>ye(H.key));U&&U.signal.addEventListener("abort",Ue);let{results:xt,loaderResults:Me,fetcherResults:we}=await hr(h.matches,m,te,J,l);if(l.signal.aborted)return{shortCircuited:!0};U&&U.signal.removeEventListener("abort",Ue),J.forEach(H=>$.delete(H.key));let Le=er(xt);if(Le){if(Le.idx>=te.length){let H=J[Le.idx-te.length].key;ce.add(H)}return await Ye(h,Le.result,{replace:_}),{shortCircuited:!0}}let{loaderData:Lt,errors:Ge}=Zt(h,m,te,Me,Y,J,we,Ee);Ee.forEach((H,B)=>{H.subscribe(Z=>{(Z||H.done)&&Ee.delete(B)})}),f.v7_partialHydration&&D&&h.errors&&Object.entries(h.errors).filter(H=>{let[B]=H;return!te.some(Z=>Z.route.id===B)}).forEach(H=>{let[B,Z]=H;Ge=Object.assign(Ge||{},{[B]:Z})});let Dt=vr(),Ne=gr(We),lt=Dt||Ne||J.length>0;return j({loaderData:Lt,errors:Ge},lt?{fetchers:new Map(h.fetchers)}:{})}function Qn(l,d,m,b){if(n)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.");$.has(l)&&ye(l);let E=(b&&b.unstable_flushSync)===!0,N=s||i,_=ft(h.location,h.matches,u,f.v7_prependBasename,m,f.v7_relativeSplatPath,d,b?.relative),D=be(N,_,u);if(!D){Je(l,d,W(404,{pathname:_}),{flushSync:E});return}let{path:x,submission:O,error:Y}=Wt(f.v7_normalizeFormMethod,!0,_,b);if(Y){Je(l,d,Y,{flushSync:E});return}let F=Be(D,x);if(A=(b&&b.preventScrollReset)===!0,O&&ne(O.formMethod)){Zn(l,d,x,F,D,E,O);return}Fe.set(l,{routeId:d,path:x}),qn(l,d,x,F,D,E,O)}async function Zn(l,d,m,b,E,N,_){if(Et(),Fe.delete(l),!b.route.action&&!b.route.lazy){let B=W(405,{method:_.formMethod,pathname:m,routeId:d});Je(l,d,B,{flushSync:N});return}let D=h.fetchers.get(l);ge(l,pn(_,D),{flushSync:N});let x=new AbortController,O=He(e.history,m,x.signal,_);$.set(l,x);let Y=at,F=await Se("action",O,b,E,o,a,u,f.v7_relativeSplatPath);if(O.signal.aborted){$.get(l)===x&&$.delete(l);return}if(f.v7_fetcherPersist&&de.has(l)){if(me(F)||he(F)){ge(l,pe(void 0));return}}else{if(me(F))if($.delete(l),We>Y){ge(l,pe(void 0));return}else return ce.add(l),ge(l,ze(_)),Ye(h,F,{fetcherSubmission:_});if(he(F)){Je(l,d,F.error);return}}if(fe(F))throw W(400,{type:"defer-action"});let k=h.navigation.location||h.location,G=He(e.history,k,x.signal),te=s||i,J=h.navigation.state!=="idle"?be(te,h.navigation.location,u):h.matches;I(J,"Didn't find any matches after fetcher action");let Ue=++at;Ae.set(l,Ue);let xt=ze(_,F.data);h.fetchers.set(l,xt);let[Me,we]=$t(e.history,h,J,_,k,!1,ue,rt,nt,de,Fe,ce,te,u,{[b.route.id]:F.data},void 0);we.filter(B=>B.key!==l).forEach(B=>{let Z=B.key,st=h.fetchers.get(Z),ia=ze(void 0,st?st.data:void 0);h.fetchers.set(Z,ia),$.has(Z)&&ye(Z),B.controller&&$.set(Z,B.controller)}),ee({fetchers:new Map(h.fetchers)});let Le=()=>we.forEach(B=>ye(B.key));x.signal.addEventListener("abort",Le);let{results:Lt,loaderResults:Ge,fetcherResults:Dt}=await hr(h.matches,J,Me,we,G);if(x.signal.aborted)return;x.signal.removeEventListener("abort",Le),Ae.delete(l),$.delete(l),we.forEach(B=>$.delete(B.key));let Ne=er(Lt);if(Ne){if(Ne.idx>=Me.length){let B=we[Ne.idx-Me.length].key;ce.add(B)}return Ye(h,Ne.result)}let{loaderData:lt,errors:H}=Zt(h,h.matches,Me,Ge,void 0,we,Dt,Ee);if(h.fetchers.has(l)){let B=pe(F.data);h.fetchers.set(l,B)}gr(Ue),h.navigation.state==="loading"&&Ue>We?(I(T,"Expected pending action"),U&&U.abort(),$e(h.navigation.location,{matches:J,loaderData:lt,errors:H,fetchers:new Map(h.fetchers)})):(ee({errors:H,loaderData:qt(h.loaderData,lt,J,H),fetchers:new Map(h.fetchers)}),ue=!1)}async function qn(l,d,m,b,E,N,_){let D=h.fetchers.get(l);ge(l,ze(_,D?D.data:void 0),{flushSync:N});let x=new AbortController,O=He(e.history,m,x.signal);$.set(l,x);let Y=at,F=await Se("loader",O,b,E,o,a,u,f.v7_relativeSplatPath);if(fe(F)&&(F=await nr(F,O.signal,!0)||F),$.get(l)===x&&$.delete(l),!O.signal.aborted){if(de.has(l)){ge(l,pe(void 0));return}if(me(F))if(We>Y){ge(l,pe(void 0));return}else{ce.add(l),await Ye(h,F);return}if(he(F)){Je(l,d,F.error);return}I(!fe(F),"Unhandled fetcher deferred data"),ge(l,pe(F.data))}}async function Ye(l,d,m){let{submission:b,fetcherSubmission:E,replace:N}=m===void 0?{}:m;d.revalidate&&(ue=!0);let _=le(l.location,d.location,{_isRedirect:!0});if(I(_,"Expected a location on the redirect navigation"),r){let k=!1;if(d.reloadDocument)k=!0;else if(Bt.test(d.location)){const G=e.history.createURL(d.location);k=G.origin!==t.location.origin||Oe(G.pathname,u)==null}if(k){N?t.location.replace(d.location):t.location.assign(d.location);return}}U=null;let D=N===!0?K.Replace:K.Push,{formMethod:x,formAction:O,formEncType:Y}=l.navigation;!b&&!E&&x&&O&&Y&&(b=ar(l.navigation));let F=b||E;if(an.has(d.status)&&F&&ne(F.formMethod))await xe(D,_,{submission:j({},F,{formAction:d.location}),preventScrollReset:A});else{let k=vt(_,b);await xe(D,_,{overrideNavigation:k,fetcherSubmission:E,preventScrollReset:A})}}async function hr(l,d,m,b,E){let N=await Promise.all([...m.map(x=>Se("loader",E,x,d,o,a,u,f.v7_relativeSplatPath)),...b.map(x=>x.matches&&x.match&&x.controller?Se("loader",He(e.history,x.path,x.controller.signal),x.match,x.matches,o,a,u,f.v7_relativeSplatPath):{type:z.error,error:W(404,{pathname:x.path})})]),_=N.slice(0,m.length),D=N.slice(m.length);return await Promise.all([rr(l,m,_,_.map(()=>E.signal),!1,h.loaderData),rr(l,b.map(x=>x.match),D,b.map(x=>x.controller?x.controller.signal:null),!0)]),{results:N,loaderResults:_,fetcherResults:D}}function Et(){ue=!0,rt.push(...Pt()),Fe.forEach((l,d)=>{$.has(d)&&(nt.push(d),ye(d))})}function ge(l,d,m){m===void 0&&(m={}),h.fetchers.set(l,d),ee({fetchers:new Map(h.fetchers)},{flushSync:(m&&m.flushSync)===!0})}function Je(l,d,m,b){b===void 0&&(b={});let E=Te(h.matches,d);it(l),ee({errors:{[E.route.id]:m},fetchers:new Map(h.fetchers)},{flushSync:(b&&b.flushSync)===!0})}function mr(l){return f.v7_fetcherPersist&&(Ve.set(l,(Ve.get(l)||0)+1),de.has(l)&&de.delete(l)),h.fetchers.get(l)||on}function it(l){let d=h.fetchers.get(l);$.has(l)&&!(d&&d.state==="loading"&&Ae.has(l))&&ye(l),Fe.delete(l),Ae.delete(l),ce.delete(l),de.delete(l),h.fetchers.delete(l)}function ea(l){if(f.v7_fetcherPersist){let d=(Ve.get(l)||0)-1;d<=0?(Ve.delete(l),de.add(l)):Ve.set(l,d)}else it(l);ee({fetchers:new Map(h.fetchers)})}function ye(l){let d=$.get(l);I(d,"Expected fetch controller: "+l),d.abort(),$.delete(l)}function pr(l){for(let d of l){let m=mr(d),b=pe(m.data);h.fetchers.set(d,b)}}function vr(){let l=[],d=!1;for(let m of ce){let b=h.fetchers.get(m);I(b,"Expected fetcher: "+m),b.state==="loading"&&(ce.delete(m),l.push(m),d=!0)}return pr(l),d}function gr(l){let d=[];for(let[m,b]of Ae)if(b<l){let E=h.fetchers.get(m);I(E,"Expected fetcher: "+m),E.state==="loading"&&(ye(m),Ae.delete(m),d.push(m))}return pr(d),d.length>0}function ta(l,d){let m=h.blockers.get(l)||Ie;return Pe.get(l)!==d&&Pe.set(l,d),m}function yr(l){h.blockers.delete(l),Pe.delete(l)}function ot(l,d){let m=h.blockers.get(l)||Ie;I(m.state==="unblocked"&&d.state==="blocked"||m.state==="blocked"&&d.state==="blocked"||m.state==="blocked"&&d.state==="proceeding"||m.state==="blocked"&&d.state==="unblocked"||m.state==="proceeding"&&d.state==="unblocked","Invalid blocker state transition: "+m.state+" -> "+d.state);let b=new Map(h.blockers);b.set(l,d),ee({blockers:b})}function wr(l){let{currentLocation:d,nextLocation:m,historyAction:b}=l;if(Pe.size===0)return;Pe.size>1&&oe(!1,"A router only supports one blocker at a time");let E=Array.from(Pe.entries()),[N,_]=E[E.length-1],D=h.blockers.get(N);if(!(D&&D.state==="proceeding")&&_({currentLocation:d,nextLocation:m,historyAction:b}))return N}function Pt(l){let d=[];return Ee.forEach((m,b)=>{(!l||l(b))&&(m.cancel(),d.push(b),Ee.delete(b))}),d}function ra(l,d,m){if(v=l,R=d,y=m||null,!w&&h.navigation===dt){w=!0;let b=br(h.location,h.matches);b!=null&&ee({restoreScrollPosition:b})}return()=>{v=null,R=null,y=null}}function Rr(l,d){return y&&y(l,d.map(b=>_r(b,h.loaderData)))||l.key}function na(l,d){if(v&&R){let m=Rr(l,d);v[m]=R()}}function br(l,d){if(v){let m=Rr(l,d),b=v[m];if(typeof b=="number")return b}return null}function aa(l){o={},s=Xe(l,a,void 0,o)}return M={get basename(){return u},get future(){return f},get state(){return h},get routes(){return i},get window(){return t},initialize:Vn,subscribe:Yn,enableScrollRestoration:ra,navigate:fr,fetch:Qn,revalidate:Jn,createHref:l=>e.history.createHref(l),encodeLocation:l=>e.history.encodeLocation(l),getFetcher:mr,deleteFetcher:ea,dispose:$n,getBlocker:ta,deleteBlocker:yr,_internalFetchControllers:$,_internalActiveDeferreds:Ee,_internalSetRoutes:aa},M}const ln=Symbol("deferred");function pa(e,t){I(e.length>0,"You must provide a non-empty routes array to createStaticHandler");let r={},n=(t?t.basename:null)||"/",a;if(t!=null&&t.mapRouteProperties)a=t.mapRouteProperties;else if(t!=null&&t.detectErrorBoundary){let v=t.detectErrorBoundary;a=y=>({hasErrorBoundary:v(y)})}else a=zt;let o=j({v7_relativeSplatPath:!1,v7_throwAbortReason:!1},t?t.future:null),i=Xe(e,a,void 0,r);async function s(v,y){let{requestContext:R}=y===void 0?{}:y,w=new URL(v.url),g=v.method,p=le("",se(w),null,"default"),P=be(i,p,n);if(!mt(g)&&g!=="HEAD"){let C=W(405,{method:g}),{matches:M,route:h}=Qe(i);return{basename:n,location:p,matches:M,loaderData:{},actionData:null,errors:{[h.id]:C},statusCode:C.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}else if(!P){let C=W(404,{pathname:p.pathname}),{matches:M,route:h}=Qe(i);return{basename:n,location:p,matches:M,loaderData:{},actionData:null,errors:{[h.id]:C},statusCode:C.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}let L=await f(v,p,P,R);return _e(L)?L:j({location:p,basename:n},L)}async function u(v,y){let{routeId:R,requestContext:w}=y===void 0?{}:y,g=new URL(v.url),p=v.method,P=le("",se(g),null,"default"),L=be(i,P,n);if(!mt(p)&&p!=="HEAD"&&p!=="OPTIONS")throw W(405,{method:p});if(!L)throw W(404,{pathname:P.pathname});let C=R?L.find(A=>A.route.id===R):Be(L,P);if(R&&!C)throw W(403,{pathname:P.pathname,routeId:R});if(!C)throw W(404,{pathname:P.pathname});let M=await f(v,P,L,w,C);if(_e(M))return M;let h=M.errors?Object.values(M.errors)[0]:void 0;if(h!==void 0)throw h;if(M.actionData)return Object.values(M.actionData)[0];if(M.loaderData){var T;let A=Object.values(M.loaderData)[0];return(T=M.activeDeferreds)!=null&&T[C.route.id]&&(A[ln]=M.activeDeferreds[C.route.id]),A}}async function f(v,y,R,w,g){I(v.signal,"query()/queryRoute() requests must contain an AbortController signal");try{if(ne(v.method.toLowerCase()))return await c(v,R,g||Be(R,y),w,g!=null);let p=await S(v,R,w,g);return _e(p)?p:j({},p,{actionData:null,actionHeaders:{}})}catch(p){if(hn(p)){if(p.type===z.error)throw p.response;return p.response}if(fn(p))return p;throw p}}async function c(v,y,R,w,g){let p;if(!R.route.action&&!R.route.lazy){let C=W(405,{method:v.method,pathname:new URL(v.url).pathname,routeId:R.route.id});if(g)throw C;p={type:z.error,error:C}}else p=await Se("action",v,R,y,r,a,n,o.v7_relativeSplatPath,{isStaticRequest:!0,isRouteRequest:g,requestContext:w}),v.signal.aborted&&Kt(v,g,o);if(me(p))throw new Response(null,{status:p.status,headers:{Location:p.location}});if(fe(p)){let C=W(400,{type:"defer-action"});if(g)throw C;p={type:z.error,error:C}}if(g){if(he(p))throw p.error;return{matches:[R],loaderData:{},actionData:{[R.route.id]:p.data},errors:null,statusCode:200,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}if(he(p)){let C=Te(y,R.route.id),M=await S(v,y,w,void 0,{[C.route.id]:p.error});return j({},M,{statusCode:ct(p.error)?p.error.status:500,actionData:null,actionHeaders:j({},p.headers?{[R.route.id]:p.headers}:{})})}let P=new Request(v.url,{headers:v.headers,redirect:v.redirect,signal:v.signal}),L=await S(P,y,w);return j({},L,p.statusCode?{statusCode:p.statusCode}:{},{actionData:{[R.route.id]:p.data},actionHeaders:j({},p.headers?{[R.route.id]:p.headers}:{})})}async function S(v,y,R,w,g){let p=w!=null;if(p&&!(w!=null&&w.route.loader)&&!(w!=null&&w.route.lazy))throw W(400,{method:v.method,pathname:new URL(v.url).pathname,routeId:w?.route.id});let L=(w?[w]:Vt(y,Object.keys(g||{})[0])).filter(A=>A.route.loader||A.route.lazy);if(L.length===0)return{matches:y,loaderData:y.reduce((A,U)=>Object.assign(A,{[U.route.id]:null}),{}),errors:g||null,statusCode:200,loaderHeaders:{},activeDeferreds:null};let C=await Promise.all([...L.map(A=>Se("loader",v,A,y,r,a,n,o.v7_relativeSplatPath,{isStaticRequest:!0,isRouteRequest:p,requestContext:R}))]);v.signal.aborted&&Kt(v,p,o);let M=new Map,h=Qt(y,L,C,g,M),T=new Set(L.map(A=>A.route.id));return y.forEach(A=>{T.has(A.route.id)||(h.loaderData[A.route.id]=null)}),j({},h,{matches:y,activeDeferreds:M.size>0?Object.fromEntries(M.entries()):null})}return{dataRoutes:i,query:s,queryRoute:u}}function va(e,t,r){return j({},t,{statusCode:ct(r)?r.status:500,errors:{[t._deepestRenderedBoundaryId||e[0].id]:r}})}function Kt(e,t,r){if(r.v7_throwAbortReason&&e.signal.reason!==void 0)throw e.signal.reason;let n=t?"queryRoute":"query";throw new Error(n+"() call aborted: "+e.method+" "+e.url)}function sn(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function ft(e,t,r,n,a,o,i,s){let u,f;if(i){u=[];for(let S of t)if(u.push(S),S.route.id===i){f=S;break}}else u=t,f=t[t.length-1];let c=$r(a||".",Vr(u,o),Oe(e.pathname,r)||e.pathname,s==="path");return a==null&&(c.search=e.search,c.hash=e.hash),(a==null||a===""||a===".")&&f&&f.route.index&&!pt(c.search)&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),n&&r!=="/"&&(c.pathname=c.pathname==="/"?r:je([r,c.pathname])),se(c)}function Wt(e,t,r,n){if(!n||!sn(n))return{path:r};if(n.formMethod&&!mt(n.formMethod))return{path:r,error:W(405,{method:n.formMethod})};let a=()=>({path:r,error:W(400,{type:"invalid-body"})}),o=n.formMethod||"get",i=e?o.toUpperCase():o.toLowerCase(),s=tr(r);if(n.body!==void 0){if(n.formEncType==="text/plain"){if(!ne(i))return a();let v=typeof n.body=="string"?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((y,R)=>{let[w,g]=R;return""+y+w+"="+g+`
11
- `},""):String(n.body);return{path:r,submission:{formMethod:i,formAction:s,formEncType:n.formEncType,formData:void 0,json:void 0,text:v}}}else if(n.formEncType==="application/json"){if(!ne(i))return a();try{let v=typeof n.body=="string"?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:i,formAction:s,formEncType:n.formEncType,formData:void 0,json:v,text:void 0}}}catch{return a()}}}I(typeof FormData=="function","FormData is not available in this environment");let u,f;if(n.formData)u=ht(n.formData),f=n.formData;else if(n.body instanceof FormData)u=ht(n.body),f=n.body;else if(n.body instanceof URLSearchParams)u=n.body,f=Xt(u);else if(n.body==null)u=new URLSearchParams,f=new FormData;else try{u=new URLSearchParams(n.body),f=Xt(u)}catch{return a()}let c={formMethod:i,formAction:s,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:f,json:void 0,text:void 0};if(ne(c.formMethod))return{path:r,submission:c};let S=ie(r);return t&&S.search&&pt(S.search)&&u.append("index",""),S.search="?"+u,{path:se(S),submission:c}}function Vt(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 $t(e,t,r,n,a,o,i,s,u,f,c,S,v,y,R,w){let g=w?Object.values(w)[0]:R?Object.values(R)[0]:void 0,p=e.createURL(t.location),P=e.createURL(a),L=w?Object.keys(w)[0]:void 0,M=Vt(r,L).filter((T,A)=>{let{route:U}=T;if(U.lazy)return!0;if(U.loader==null)return!1;if(o)return U.loader.hydrate?!0:t.loaderData[U.id]===void 0&&(!t.errors||t.errors[U.id]===void 0);if(un(t.loaderData,t.matches[A],T)||s.some(q=>q===T.route.id))return!0;let X=t.matches[A],V=T;return Jt(T,j({currentUrl:p,currentParams:X.params,nextUrl:P,nextParams:V.params},n,{actionResult:g,defaultShouldRevalidate:i||p.pathname+p.search===P.pathname+P.search||p.search!==P.search||Yt(X,V)}))}),h=[];return c.forEach((T,A)=>{if(o||!r.some(Q=>Q.route.id===T.routeId)||f.has(A))return;let U=be(v,T.path,y);if(!U){h.push({key:A,routeId:T.routeId,path:T.path,matches:null,match:null,controller:null});return}let X=t.fetchers.get(A),V=Be(U,T.path),q=!1;S.has(A)?q=!1:u.includes(A)?q=!0:X&&X.state!=="idle"&&X.data===void 0?q=i:q=Jt(V,j({currentUrl:p,currentParams:t.matches[t.matches.length-1].params,nextUrl:P,nextParams:r[r.length-1].params},n,{actionResult:g,defaultShouldRevalidate:i})),q&&h.push({key:A,routeId:T.routeId,path:T.path,matches:U,match:V,controller:new AbortController})}),[M,h]}function un(e,t,r){let n=!t||r.route.id!==t.route.id,a=e[r.route.id]===void 0;return n||a}function Yt(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Jt(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}async function Gt(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];I(a,"No route found in manifest");let o={};for(let i in n){let u=a[i]!==void 0&&i!=="hasErrorBoundary";oe(!u,'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.')),!u&&!Dr.has(i)&&(o[i]=n[i])}Object.assign(a,o),Object.assign(a,j({},t(a),{lazy:void 0}))}async function Se(e,t,r,n,a,o,i,s,u){u===void 0&&(u={});let f,c,S,v=w=>{let g,p=new Promise((P,L)=>g=L);return S=()=>g(),t.signal.addEventListener("abort",S),Promise.race([w({request:t,params:r.params,context:u.requestContext}),p])};try{let w=r.route[e];if(r.route.lazy)if(w){let g,p=await Promise.all([v(w).catch(P=>{g=P}),Gt(r.route,o,a)]);if(g)throw g;c=p[0]}else if(await Gt(r.route,o,a),w=r.route[e],w)c=await v(w);else if(e==="action"){let g=new URL(t.url),p=g.pathname+g.search;throw W(405,{method:t.method,pathname:p,routeId:r.route.id})}else return{type:z.data,data:void 0};else if(w)c=await v(w);else{let g=new URL(t.url),p=g.pathname+g.search;throw W(404,{pathname:p})}I(c!==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(w){f=z.error,c=w}finally{S&&t.signal.removeEventListener("abort",S)}if(_e(c)){let w=c.status;if(nn.has(w)){let p=c.headers.get("Location");if(I(p,"Redirects returned/thrown from loaders/actions must have a Location header"),!Bt.test(p))p=ft(new URL(t.url),n.slice(0,n.indexOf(r)+1),i,!0,p,s);else if(!u.isStaticRequest){let P=new URL(t.url),L=p.startsWith("//")?new URL(P.protocol+p):new URL(p),C=Oe(L.pathname,i)!=null;L.origin===P.origin&&C&&(p=L.pathname+L.search+L.hash)}if(u.isStaticRequest)throw c.headers.set("Location",p),c;return{type:z.redirect,status:w,location:p,revalidate:c.headers.get("X-Remix-Revalidate")!==null,reloadDocument:c.headers.get("X-Remix-Reload-Document")!==null}}if(u.isRouteRequest)throw{type:f===z.error?z.error:z.data,response:c};let g;try{let p=c.headers.get("Content-Type");p&&/\bapplication\/json\b/.test(p)?c.body==null?g=null:g=await c.json():g=await c.text()}catch(p){return{type:z.error,error:p}}return f===z.error?{type:f,error:new It(w,c.statusText,g),headers:c.headers}:{type:z.data,data:g,statusCode:c.status,headers:c.headers}}if(f===z.error)return{type:f,error:c};if(dn(c)){var y,R;return{type:z.deferred,deferredData:c,statusCode:(y=c.init)==null?void 0:y.status,headers:((R=c.init)==null?void 0:R.headers)&&new Headers(c.init.headers)}}return{type:z.data,data:c}}function He(e,t,r,n){let a=e.createURL(tr(t)).toString(),o={signal:r};if(n&&ne(n.formMethod)){let{formMethod:i,formEncType:s}=n;o.method=i.toUpperCase(),s==="application/json"?(o.headers=new Headers({"Content-Type":s}),o.body=JSON.stringify(n.json)):s==="text/plain"?o.body=n.text:s==="application/x-www-form-urlencoded"&&n.formData?o.body=ht(n.formData):o.body=n.formData}return new Request(a,o)}function ht(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function Xt(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function Qt(e,t,r,n,a){let o={},i=null,s,u=!1,f={};return r.forEach((c,S)=>{let v=t[S].route.id;if(I(!me(c),"Cannot handle redirect results in processLoaderData"),he(c)){let y=Te(e,v),R=c.error;n&&(R=Object.values(n)[0],n=void 0),i=i||{},i[y.route.id]==null&&(i[y.route.id]=R),o[v]=void 0,u||(u=!0,s=ct(c.error)?c.error.status:500),c.headers&&(f[v]=c.headers)}else fe(c)?(a.set(v,c.deferredData),o[v]=c.deferredData.data):o[v]=c.data,c.statusCode!=null&&c.statusCode!==200&&!u&&(s=c.statusCode),c.headers&&(f[v]=c.headers)}),n&&(i=n,o[Object.keys(n)[0]]=void 0),{loaderData:o,errors:i,statusCode:s||200,loaderHeaders:f}}function Zt(e,t,r,n,a,o,i,s){let{loaderData:u,errors:f}=Qt(t,r,n,a,s);for(let c=0;c<o.length;c++){let{key:S,match:v,controller:y}=o[c];I(i!==void 0&&i[c]!==void 0,"Did not find corresponding fetcher result");let R=i[c];if(!(y&&y.signal.aborted))if(he(R)){let w=Te(e.matches,v?.route.id);f&&f[w.route.id]||(f=j({},f,{[w.route.id]:R.error})),e.fetchers.delete(S)}else if(me(R))I(!1,"Unhandled fetcher revalidation redirect");else if(fe(R))I(!1,"Unhandled fetcher deferred data");else{let w=pe(R.data);e.fetchers.set(S,w)}}return{loaderData:u,errors:f}}function qt(e,t,r,n){let a=j({},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 Te(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 Qe(e){let t=e.length===1?e[0]:e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function W(e,t){let{pathname:r,routeId:n,method:a,type:o}=t===void 0?{}:t,i="Unknown Server Error",s="Unknown @remix-run/router error";return e===400?(i="Bad Request",a&&r&&n?s="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"?s="defer() is not supported in actions":o==="invalid-body"&&(s="Unable to encode submission body")):e===403?(i="Forbidden",s='Route "'+n+'" does not match URL "'+r+'"'):e===404?(i="Not Found",s='No route matches URL "'+r+'"'):e===405&&(i="Method Not Allowed",a&&r&&n?s="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&&(s='Invalid request method "'+a.toUpperCase()+'"')),new It(e||500,i,new Error(s),!0)}function er(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(me(r))return{result:r,idx:t}}}function tr(e){let t=typeof e=="string"?ie(e):e;return se(j({},t,{hash:""}))}function cn(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function fe(e){return e.type===z.deferred}function he(e){return e.type===z.error}function me(e){return(e&&e.type)===z.redirect}function dn(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}function _e(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function fn(e){if(!_e(e))return!1;let t=e.status,r=e.headers.get("Location");return t>=300&&t<=399&&r!=null}function hn(e){return e&&_e(e.response)&&(e.type===z.data||e.type===z.error)}function mt(e){return rn.has(e.toLowerCase())}function ne(e){return en.has(e.toLowerCase())}async function rr(e,t,r,n,a,o){for(let i=0;i<r.length;i++){let s=r[i],u=t[i];if(!u)continue;let f=e.find(S=>S.route.id===u.route.id),c=f!=null&&!Yt(f,u)&&(o&&o[u.route.id])!==void 0;if(fe(s)&&(a||c)){let S=n[i];I(S,"Expected an AbortSignal for revalidating fetcher deferred result"),await nr(s,S,a).then(v=>{v&&(r[i]=v||r[i])})}}}async function nr(e,t,r){if(r===void 0&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:z.data,data:e.deferredData.unwrappedData}}catch(a){return{type:z.error,error:a}}return{type:z.data,data:e.deferredData.data}}}function pt(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Be(e,t){let r=typeof t=="string"?ie(t).search:t.search;if(e[e.length-1].route.index&&pt(r||""))return e[e.length-1];let n=Ot(e);return n[n.length-1]}function ar(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(!(!t||!r||!n)){if(a!=null)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(o!=null)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};if(i!==void 0)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function vt(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function mn(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function ze(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function pn(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function pe(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function vn(e,t){try{let r=e.sessionStorage.getItem(kt);if(r){let n=JSON.parse(r);for(let[a,o]of Object.entries(n||{}))o&&Array.isArray(o)&&t.set(a,new Set(o||[]))}}catch{}}function gn(e,t){if(t.size>0){let r={};for(let[n,a]of t)r[n]=[...a];try{e.sessionStorage.setItem(kt,JSON.stringify(r))}catch(n){oe(!1,"Failed to save applied view transitions in sessionStorage ("+n+").")}}}/**
12
- * React Router DOM v6.22.3
13
- *
14
- * Copyright (c) Remix Software Inc.
15
- *
16
- * This source code is licensed under the MIT license found in the
17
- * LICENSE.md file in the root directory of this source tree.
18
- *
19
- * @license MIT
20
- */function ae(){return ae=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},ae.apply(this,arguments)}function yn(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 gt="get",yt="application/x-www-form-urlencoded";function Ze(e){return e!=null&&typeof e.tagName=="string"}function wn(e){return Ze(e)&&e.tagName.toLowerCase()==="button"}function Rn(e){return Ze(e)&&e.tagName.toLowerCase()==="form"}function bn(e){return Ze(e)&&e.tagName.toLowerCase()==="input"}function Sn(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function En(e,t){return e.button===0&&(!t||t==="_self")&&!Sn(e)}function wt(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 Pn(e,t){let r=wt(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(o=>{r.append(a,o)})}),r}let qe=null;function xn(){if(qe===null)try{new FormData(document.createElement("form"),0),qe=!1}catch{qe=!0}return qe}const Ln=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Rt(e){return e!=null&&!Ln.has(e)?null:e}function Dn(e,t){let r,n,a,o,i;if(Rn(e)){let s=e.getAttribute("action");n=s?stripBasename(s,t):null,r=e.getAttribute("method")||gt,a=Rt(e.getAttribute("enctype"))||yt,o=new FormData(e)}else if(wn(e)||bn(e)&&(e.type==="submit"||e.type==="image")){let s=e.form;if(s==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let u=e.getAttribute("formaction")||s.getAttribute("action");if(n=u?stripBasename(u,t):null,r=e.getAttribute("formmethod")||s.getAttribute("method")||gt,a=Rt(e.getAttribute("formenctype"))||Rt(s.getAttribute("enctype"))||yt,o=new FormData(s,e),!xn()){let{name:f,type:c,value:S}=e;if(c==="image"){let v=f?f+".":"";o.append(v+"x","0"),o.append(v+"y","0")}else f&&o.append(f,S)}}else{if(Ze(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=gt,n=null,a=yt,i=e}return o&&a==="text/plain"&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}const Tn=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],ga=null,ya=null,_n="6";try{window.__reactRouterVersion=_n}catch{}function wa(e,t){return createRouter({basename:t?.basename,future:ae({},t?.future,{v7_prependBasename:!0}),history:createBrowserHistory({window:t?.window}),hydrationData:t?.hydrationData||ir(),routes:e,mapRouteProperties:UNSAFE_mapRouteProperties,window:t?.window}).initialize()}function Ra(e,t){return createRouter({basename:t?.basename,future:ae({},t?.future,{v7_prependBasename:!0}),history:createHashHistory({window:t?.window}),hydrationData:t?.hydrationData||ir(),routes:e,mapRouteProperties:UNSAFE_mapRouteProperties,window:t?.window}).initialize()}function ir(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=ae({},t,{errors:Cn(t.errors)})),t}function Cn(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 UNSAFE_ErrorResponseImpl(a.status,a.statusText,a.data,a.internal===!0);else if(a&&a.__type==="Error"){if(a.__subType){let o=window[a.__subType];if(typeof o=="function")try{let i=new o(a.message);i.stack="",r[n]=i}catch{}}if(r[n]==null){let o=new Error(a.message);o.stack="",r[n]=o}}else r[n]=a;return r}const or=re.createContext({isTransitioning:!1}),lr=re.createContext(new Map),ve=Tt["startTransition"],sr=Pr["flushSync"],ur=Tt["useId"];function An(e){ve?ve(e):e()}function ke(e){sr?sr(e):e()}class Fn{constructor(){this.status="pending",this.promise=new Promise((t,r)=>{this.resolve=n=>{this.status==="pending"&&(this.status="resolved",t(n))},this.reject=n=>{this.status==="pending"&&(this.status="rejected",r(n))}})}}function Pa(e){let{fallbackElement:t,router:r,future:n}=e,[a,o]=React.useState(r.state),[i,s]=React.useState(),[u,f]=React.useState({isTransitioning:!1}),[c,S]=React.useState(),[v,y]=React.useState(),[R,w]=React.useState(),g=React.useRef(new Map),{v7_startTransition:p}=n||{},P=React.useCallback(T=>{p?An(T):T()},[p]),L=React.useCallback((T,A)=>{let{deletedFetchers:U,unstable_flushSync:X,unstable_viewTransitionOpts:V}=A;U.forEach(Q=>g.current.delete(Q)),T.fetchers.forEach((Q,ue)=>{Q.data!==void 0&&g.current.set(ue,Q.data)});let q=r.window==null||typeof r.window.document.startViewTransition!="function";if(!V||q){X?ke(()=>o(T)):P(()=>o(T));return}if(X){ke(()=>{v&&(c&&c.resolve(),v.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:V.currentLocation,nextLocation:V.nextLocation})});let Q=r.window.document.startViewTransition(()=>{ke(()=>o(T))});Q.finished.finally(()=>{ke(()=>{S(void 0),y(void 0),s(void 0),f({isTransitioning:!1})})}),ke(()=>y(Q));return}v?(c&&c.resolve(),v.skipTransition(),w({state:T,currentLocation:V.currentLocation,nextLocation:V.nextLocation})):(s(T),f({isTransitioning:!0,flushSync:!1,currentLocation:V.currentLocation,nextLocation:V.nextLocation}))},[r.window,v,c,g,P]);React.useLayoutEffect(()=>r.subscribe(L),[r,L]),React.useEffect(()=>{u.isTransitioning&&!u.flushSync&&S(new Fn)},[u]),React.useEffect(()=>{if(c&&i&&r.window){let T=i,A=c.promise,U=r.window.document.startViewTransition(async()=>{P(()=>o(T)),await A});U.finished.finally(()=>{S(void 0),y(void 0),s(void 0),f({isTransitioning:!1})}),y(U)}},[P,i,c,r.window]),React.useEffect(()=>{c&&i&&a.location.key===i.location.key&&c.resolve()},[c,v,a.location,i]),React.useEffect(()=>{!u.isTransitioning&&R&&(s(R.state),f({isTransitioning:!0,flushSync:!1,currentLocation:R.currentLocation,nextLocation:R.nextLocation}),w(void 0))},[u.isTransitioning,R]),React.useEffect(()=>{},[]);let C=React.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:T=>r.navigate(T),push:(T,A,U)=>r.navigate(T,{state:A,preventScrollReset:U?.preventScrollReset}),replace:(T,A,U)=>r.navigate(T,{replace:!0,state:A,preventScrollReset:U?.preventScrollReset})}),[r]),M=r.basename||"/",h=React.useMemo(()=>({router:r,navigator:C,static:!1,basename:M}),[r,C,M]);return React.createElement(React.Fragment,null,React.createElement(UNSAFE_DataRouterContext.Provider,{value:h},React.createElement(UNSAFE_DataRouterStateContext.Provider,{value:a},React.createElement(lr.Provider,{value:g.current},React.createElement(or.Provider,{value:u},React.createElement(Router,{basename:M,location:a.location,navigationType:a.historyAction,navigator:C,future:{v7_relativeSplatPath:r.future.v7_relativeSplatPath}},a.initialized||r.future.v7_partialHydration?React.createElement(Un,{routes:r.routes,future:r.future,state:a}):t))))),null)}function Un(e){let{routes:t,future:r,state:n}=e;return UNSAFE_useRoutesImpl(t,void 0,n,r)}function Mn(e){let{basename:t,children:r,future:n,window:a}=e,o=re.useRef();o.current==null&&(o.current=xr({window:a,v5Compat:!0}));let i=o.current,[s,u]=re.useState({action:i.action,location:i.location}),{v7_startTransition:f}=n||{},c=re.useCallback(S=>{f&&ve?ve(()=>u(S)):u(S)},[u,f]);return re.useLayoutEffect(()=>i.listen(c),[i,c]),re.createElement(De.Ix,{basename:t,children:r,location:s.location,navigationType:s.action,navigator:i,future:n})}function xa(e){let{basename:t,children:r,future:n,window:a}=e,o=React.useRef();o.current==null&&(o.current=createHashHistory({window:a,v5Compat:!0}));let i=o.current,[s,u]=React.useState({action:i.action,location:i.location}),{v7_startTransition:f}=n||{},c=React.useCallback(S=>{f&&ve?ve(()=>u(S)):u(S)},[u,f]);return React.useLayoutEffect(()=>i.listen(c),[i,c]),React.createElement(Router,{basename:t,children:r,location:s.location,navigationType:s.action,navigator:i,future:n})}function La(e){let{basename:t,children:r,future:n,history:a}=e,[o,i]=React.useState({action:a.action,location:a.location}),{v7_startTransition:s}=n||{},u=React.useCallback(f=>{s&&ve?ve(()=>i(f)):i(f)},[i,s]);return React.useLayoutEffect(()=>a.listen(u),[a,u]),React.createElement(Router,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:a,future:n})}const Nn=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",On=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,jn=re.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:o,replace:i,state:s,target:u,to:f,preventScrollReset:c,unstable_viewTransition:S}=t,v=yn(t,Tn),{basename:y}=re.useContext(De.jb),R,w=!1;if(typeof f=="string"&&On.test(f)&&(R=f,Nn))try{let L=new URL(window.location.href),C=f.startsWith("//")?new URL(L.protocol+f):new URL(f),M=Oe(C.pathname,y);C.origin===L.origin&&M!=null?f=M+C.search+C.hash:w=!0}catch{}let g=(0,De.$P)(f,{relative:a}),p=Hn(f,{replace:i,state:s,target:u,preventScrollReset:c,relative:a,unstable_viewTransition:S});function P(L){n&&n(L),L.defaultPrevented||p(L)}return re.createElement("a",ae({},v,{href:R||g,onClick:w||o?n:P,ref:r,target:u}))}),Da=null,In=null;function Ta(e){let{getKey:t,storageKey:r}=e;return Kn({getKey:t,storageKey:r}),null}var Ce;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Ce||(Ce={}));var Ke;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Ke||(Ke={}));function _a(e){return e+" must be used within a data router. See https://reactrouter.com/routers/picking-a-router."}function et(e){let t=React.useContext(UNSAFE_DataRouterContext);return t||UNSAFE_invariant(!1),t}function bt(e){let t=React.useContext(UNSAFE_DataRouterStateContext);return t||UNSAFE_invariant(!1),t}function Hn(e,t){let{target:r,replace:n,state:a,preventScrollReset:o,relative:i,unstable_viewTransition:s}=t===void 0?{}:t,u=(0,De.Zp)(),f=(0,De.zy)(),c=(0,De.x$)(e,{relative:i});return re.useCallback(S=>{if(En(S,r)){S.preventDefault();let v=n!==void 0?n:(0,_t.AO)(f)===(0,_t.AO)(c);u(e,{replace:v,state:a,preventScrollReset:o,relative:i,unstable_viewTransition:s})}},[f,u,c,n,a,r,e,o,i,s])}function Ca(e){let t=React.useRef(wt(e)),r=React.useRef(!1),n=useLocation(),a=React.useMemo(()=>Pn(n.search,r.current?null:t.current),[n.search]),o=useNavigate(),i=React.useCallback((s,u)=>{const f=wt(typeof s=="function"?s(a):s);r.current=!0,o("?"+f,u)},[o,a]);return[a,i]}function Bn(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}let zn=0,cr=()=>"__"+String(++zn)+"__";function kn(){let{router:e}=et(Ce.UseSubmit),{basename:t}=React.useContext(UNSAFE_NavigationContext),r=UNSAFE_useRouteId();return React.useCallback(function(n,a){a===void 0&&(a={}),Bn();let{action:o,method:i,encType:s,formData:u,body:f}=Dn(n,t);if(a.navigate===!1){let c=a.fetcherKey||cr();e.fetch(c,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:u,body:f,formMethod:a.method||i,formEncType:a.encType||s,unstable_flushSync:a.unstable_flushSync})}else e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:u,body:f,formMethod:a.method||i,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:r,unstable_flushSync:a.unstable_flushSync,unstable_viewTransition:a.unstable_viewTransition})},[e,t,r])}function Aa(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=ae({},useResolvedPath(e||".",{relative:r})),s=useLocation();if(e==null){i.search=s.search;let u=new URLSearchParams(i.search);u.has("index")&&u.get("index")===""&&(u.delete("index"),i.search=u.toString()?"?"+u.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 Fa(e){var t;let{key:r}=e===void 0?{}:e,{router:n}=et(Ce.UseFetcher),a=bt(Ke.UseFetcher),o=React.useContext(lr),i=React.useContext(UNSAFE_RouteContext),s=(t=i.matches[i.matches.length-1])==null?void 0:t.route.id;o||UNSAFE_invariant(!1),i||UNSAFE_invariant(!1),s==null&&UNSAFE_invariant(!1);let u=ur?ur():"",[f,c]=React.useState(r||u);r&&r!==f?c(r):f||c(cr()),React.useEffect(()=>(n.getFetcher(f),()=>{n.deleteFetcher(f)}),[n,f]);let S=React.useCallback((P,L)=>{s||UNSAFE_invariant(!1),n.fetch(f,s,P,L)},[f,s,n]),v=kn(),y=React.useCallback((P,L)=>{v(P,ae({},L,{navigate:!1,fetcherKey:f}))},[f,v]),R=React.useMemo(()=>React.forwardRef((L,C)=>React.createElement(In,ae({},L,{navigate:!1,fetcherKey:f,ref:C}))),[f]),w=a.fetchers.get(f)||IDLE_FETCHER,g=o.get(f);return React.useMemo(()=>ae({Form:R,submit:y,load:S},w,{data:g}),[R,y,S,w,g])}function Ua(){let e=bt(Ke.UseFetchers);return Array.from(e.fetchers.entries()).map(t=>{let[r,n]=t;return ae({},n,{key:r})})}const dr="react-router-scroll-positions";let tt={};function Kn(e){let{getKey:t,storageKey:r}=e===void 0?{}:e,{router:n}=et(Ce.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:o}=bt(Ke.UseScrollRestoration),{basename:i}=React.useContext(UNSAFE_NavigationContext),s=useLocation(),u=useMatches(),f=useNavigation();React.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),Wn(React.useCallback(()=>{if(f.state==="idle"){let c=(t?t(s,u):null)||s.key;tt[c]=window.scrollY}try{sessionStorage.setItem(r||dr,JSON.stringify(tt))}catch{}window.history.scrollRestoration="auto"},[r,t,f.state,s,u])),typeof document<"u"&&(React.useLayoutEffect(()=>{try{let c=sessionStorage.getItem(r||dr);c&&(tt=JSON.parse(c))}catch{}},[r]),React.useLayoutEffect(()=>{let c=t&&i!=="/"?(v,y)=>t(ae({},v,{pathname:stripBasename(v.pathname,i)||v.pathname}),y):t,S=n?.enableScrollRestoration(tt,()=>window.scrollY,c);return()=>S&&S()},[n,i,t]),React.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}if(s.hash){let c=document.getElementById(decodeURIComponent(s.hash.slice(1)));if(c){c.scrollIntoView();return}}o!==!0&&window.scrollTo(0,0)}},[s,a,o]))}function Ma(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 Wn(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 Na(e){let{when:t,message:r}=e,n=useBlocker(t);React.useEffect(()=>{n.state==="blocked"&&(window.confirm(r)?setTimeout(n.proceed,0):n.reset())},[n,r]),React.useEffect(()=>{n.state==="blocked"&&!t&&n.reset()},[n,t])}function Oa(e,t){t===void 0&&(t={});let r=React.useContext(or);r==null&&UNSAFE_invariant(!1);let{basename:n}=et(Ce.useViewTransitionState),a=useResolvedPath(e,{relative:t.relative});if(!r.isTransitioning)return!1;let o=stripBasename(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=stripBasename(r.nextLocation.pathname,n)||r.nextLocation.pathname;return matchPath(a.pathname,i)!=null||matchPath(a.pathname,o)!=null}}}]);})();
21
-
22
- //# sourceMappingURL=module-react-router-dom.473a1e8a.js.map