@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.
Files changed (125) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/embedded-app/.config-schema.json +45 -0
  3. package/dist/embedded-app/index.html +1 -1
  4. package/dist/embedded-app/static/1032.96cef90d.chunk.js +5 -0
  5. package/dist/embedded-app/static/1032.96cef90d.chunk.js.map +1 -0
  6. package/dist/embedded-app/static/1105.ac144a87.chunk.js +5 -0
  7. package/dist/embedded-app/static/1105.ac144a87.chunk.js.map +1 -0
  8. package/dist/embedded-app/static/184.5623ac15.chunk.js +5 -0
  9. package/dist/embedded-app/static/184.5623ac15.chunk.js.map +1 -0
  10. package/dist/embedded-app/static/2440.240e2610.chunk.js +5 -0
  11. package/dist/embedded-app/static/2440.240e2610.chunk.js.map +1 -0
  12. package/dist/embedded-app/static/2924.b757596e.chunk.js +3 -0
  13. package/dist/embedded-app/static/2924.b757596e.chunk.js.map +1 -0
  14. package/dist/embedded-app/static/3487.bf80060c.chunk.js +5 -0
  15. package/dist/embedded-app/static/3487.bf80060c.chunk.js.map +1 -0
  16. package/dist/embedded-app/static/3893.0eb40023.chunk.js +3 -0
  17. package/dist/embedded-app/static/3893.0eb40023.chunk.js.map +1 -0
  18. package/dist/embedded-app/static/4966.9cb67949.chunk.js +49 -0
  19. package/dist/embedded-app/static/4966.9cb67949.chunk.js.map +1 -0
  20. package/dist/embedded-app/static/5458.f510f1d2.chunk.js +5 -0
  21. package/dist/embedded-app/static/5458.f510f1d2.chunk.js.map +1 -0
  22. package/dist/embedded-app/static/5877.fa5d49bb.chunk.js +6 -0
  23. package/dist/embedded-app/static/5877.fa5d49bb.chunk.js.map +1 -0
  24. package/dist/embedded-app/static/5914.412625b0.chunk.js +3 -0
  25. package/dist/embedded-app/static/5914.412625b0.chunk.js.map +1 -0
  26. package/dist/embedded-app/static/6051.5b06b988.chunk.js +4 -0
  27. package/dist/embedded-app/static/{6051.9a397327.chunk.js.map → 6051.5b06b988.chunk.js.map} +1 -1
  28. package/dist/embedded-app/static/7670.dce585cd.chunk.js +3 -0
  29. package/dist/embedded-app/static/{7670.714e8960.chunk.js.map → 7670.dce585cd.chunk.js.map} +1 -1
  30. package/dist/embedded-app/static/7750.f3e35b68.chunk.js +8 -0
  31. package/dist/embedded-app/static/7750.f3e35b68.chunk.js.map +1 -0
  32. package/dist/embedded-app/static/7893.67e0b03f.chunk.js +3 -0
  33. package/dist/embedded-app/static/7893.67e0b03f.chunk.js.map +1 -0
  34. package/dist/embedded-app/static/8629.18b8b029.chunk.js +7 -0
  35. package/dist/embedded-app/static/8629.18b8b029.chunk.js.map +1 -0
  36. package/dist/embedded-app/static/8662.e8af541f.chunk.js +3 -0
  37. package/dist/embedded-app/static/8662.e8af541f.chunk.js.map +1 -0
  38. package/dist/embedded-app/static/8951.b8daca92.chunk.js +3 -0
  39. package/dist/embedded-app/static/8951.b8daca92.chunk.js.map +1 -0
  40. package/dist/embedded-app/static/9545.3ea2318c.chunk.js +5 -0
  41. package/dist/embedded-app/static/9545.3ea2318c.chunk.js.map +1 -0
  42. package/dist/embedded-app/static/9598.c8137318.chunk.js +3 -0
  43. package/dist/embedded-app/static/9598.c8137318.chunk.js.map +1 -0
  44. package/dist/embedded-app/static/967.c3c74dec.chunk.js +15 -0
  45. package/dist/embedded-app/static/967.c3c74dec.chunk.js.map +1 -0
  46. package/dist/embedded-app/static/9770.18f87a62.chunk.js +5 -0
  47. package/dist/embedded-app/static/9770.18f87a62.chunk.js.map +1 -0
  48. package/dist/embedded-app/static/main.04af2edd.js +487 -0
  49. package/dist/embedded-app/static/main.04af2edd.js.map +1 -0
  50. package/dist/embedded-app/static/module-i18next.db8a27ed.js +3 -0
  51. package/dist/embedded-app/static/{module-i18next.3eb80014.js.map → module-i18next.db8a27ed.js.map} +1 -1
  52. package/dist/embedded-app/static/module-lodash.8166f005.js +29 -0
  53. package/dist/embedded-app/static/module-lodash.8166f005.js.map +1 -0
  54. package/dist/embedded-app/static/{module-material-table.1d463a12.js → module-material-table.0f5635dd.js} +2 -2
  55. package/dist/embedded-app/static/{module-material-table.1d463a12.js.map → module-material-table.0f5635dd.js.map} +1 -1
  56. package/dist/embedded-app/static/module-material-ui.1b712255.js +24 -0
  57. package/dist/embedded-app/static/module-material-ui.1b712255.js.map +1 -0
  58. package/dist/embedded-app/static/{module-react-beautiful-dnd.ad887878.js → module-react-beautiful-dnd.62627182.js} +2 -2
  59. package/dist/embedded-app/static/{module-react-beautiful-dnd.ad887878.js.map → module-react-beautiful-dnd.62627182.js.map} +1 -1
  60. package/dist/embedded-app/static/{module-react-dom.bd3fd0c6.js → module-react-dom.07625e59.js} +1 -1
  61. package/dist/embedded-app/static/{module-react-dom.bd3fd0c6.js.map → module-react-dom.07625e59.js.map} +1 -1
  62. package/dist/embedded-app/static/module-react-router-dom.a0f835fd.js +22 -0
  63. package/dist/embedded-app/static/module-react-router-dom.a0f835fd.js.map +1 -0
  64. package/dist/embedded-app/static/module-react-router.8e9755f1.js +22 -0
  65. package/dist/embedded-app/static/module-react-router.8e9755f1.js.map +1 -0
  66. package/dist/embedded-app/static/module-zod.c74c6842.js +3 -0
  67. package/dist/embedded-app/static/module-zod.c74c6842.js.map +1 -0
  68. package/dist/embedded-app/static/{runtime.2d4c0606.js → runtime.04af2edd.js} +2 -2
  69. package/dist/embedded-app/static/runtime.04af2edd.js.map +1 -0
  70. package/dist/embedded-app/static/vendor.04af2edd.js +159 -0
  71. package/dist/embedded-app/static/vendor.04af2edd.js.map +1 -0
  72. package/dist/index.cjs.js +1 -1
  73. package/package.json +6 -6
  74. package/dist/embedded-app/static/1032.f8378b05.chunk.js +0 -3
  75. package/dist/embedded-app/static/1032.f8378b05.chunk.js.map +0 -1
  76. package/dist/embedded-app/static/1093.317a4f39.chunk.js +0 -7
  77. package/dist/embedded-app/static/1093.317a4f39.chunk.js.map +0 -1
  78. package/dist/embedded-app/static/1105.a5f2c603.chunk.js +0 -3
  79. package/dist/embedded-app/static/1105.a5f2c603.chunk.js.map +0 -1
  80. package/dist/embedded-app/static/184.2d07d6cf.chunk.js +0 -3
  81. package/dist/embedded-app/static/184.2d07d6cf.chunk.js.map +0 -1
  82. package/dist/embedded-app/static/2440.c513a311.chunk.js +0 -3
  83. package/dist/embedded-app/static/2440.c513a311.chunk.js.map +0 -1
  84. package/dist/embedded-app/static/5458.f60ece35.chunk.js +0 -3
  85. package/dist/embedded-app/static/5458.f60ece35.chunk.js.map +0 -1
  86. package/dist/embedded-app/static/5837.d9697f2a.chunk.js +0 -3
  87. package/dist/embedded-app/static/5837.d9697f2a.chunk.js.map +0 -1
  88. package/dist/embedded-app/static/6051.9a397327.chunk.js +0 -4
  89. package/dist/embedded-app/static/732.b079cbc6.chunk.js +0 -3
  90. package/dist/embedded-app/static/732.b079cbc6.chunk.js.map +0 -1
  91. package/dist/embedded-app/static/7560.f82352d7.chunk.js +0 -3
  92. package/dist/embedded-app/static/7560.f82352d7.chunk.js.map +0 -1
  93. package/dist/embedded-app/static/7670.714e8960.chunk.js +0 -3
  94. package/dist/embedded-app/static/7750.da1a67d5.chunk.js +0 -8
  95. package/dist/embedded-app/static/7750.da1a67d5.chunk.js.map +0 -1
  96. package/dist/embedded-app/static/8951.d0edcfcb.chunk.js +0 -3
  97. package/dist/embedded-app/static/8951.d0edcfcb.chunk.js.map +0 -1
  98. package/dist/embedded-app/static/9545.24f95d89.chunk.js +0 -3
  99. package/dist/embedded-app/static/9545.24f95d89.chunk.js.map +0 -1
  100. package/dist/embedded-app/static/9770.2fa7c11e.chunk.js +0 -3
  101. package/dist/embedded-app/static/9770.2fa7c11e.chunk.js.map +0 -1
  102. package/dist/embedded-app/static/main.2d4c0606.js +0 -522
  103. package/dist/embedded-app/static/main.2d4c0606.js.map +0 -1
  104. package/dist/embedded-app/static/module-ajv.be583887.js +0 -10
  105. package/dist/embedded-app/static/module-ajv.be583887.js.map +0 -1
  106. package/dist/embedded-app/static/module-i18next.3eb80014.js +0 -3
  107. package/dist/embedded-app/static/module-lodash.4c9a1319.js +0 -29
  108. package/dist/embedded-app/static/module-lodash.4c9a1319.js.map +0 -1
  109. package/dist/embedded-app/static/module-luxon.b1d74b2d.js +0 -3
  110. package/dist/embedded-app/static/module-luxon.b1d74b2d.js.map +0 -1
  111. package/dist/embedded-app/static/module-material-ui.1afbaa53.js +0 -51
  112. package/dist/embedded-app/static/module-material-ui.1afbaa53.js.map +0 -1
  113. package/dist/embedded-app/static/module-octokit.7416db07.js +0 -5
  114. package/dist/embedded-app/static/module-octokit.7416db07.js.map +0 -1
  115. package/dist/embedded-app/static/module-react-router-dom.ef191c8f.js +0 -21
  116. package/dist/embedded-app/static/module-react-router-dom.ef191c8f.js.map +0 -1
  117. package/dist/embedded-app/static/module-react-router.d2e96318.js +0 -21
  118. package/dist/embedded-app/static/module-react-router.d2e96318.js.map +0 -1
  119. package/dist/embedded-app/static/module-yaml.00a97896.js +0 -140
  120. package/dist/embedded-app/static/module-yaml.00a97896.js.map +0 -1
  121. package/dist/embedded-app/static/module-zod.49079951.js +0 -3
  122. package/dist/embedded-app/static/module-zod.49079951.js.map +0 -1
  123. package/dist/embedded-app/static/runtime.2d4c0606.js.map +0 -1
  124. package/dist/embedded-app/static/vendor.2d4c0606.js +0 -213
  125. package/dist/embedded-app/static/vendor.2d4c0606.js.map +0 -1
@@ -0,0 +1,22 @@
1
+ "use strict";(()=>{(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[5109],{71597:function(On,ur,Ae){Ae.d(ur,{VK:function(){return hn},rU:function(){return gn}});var Q=Ae(2784),cr=Ae.t(Q,2),be=Ae(73557),yt=Ae(84800);/**
2
+ * @remix-run/router v1.8.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 I;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(I||(I={}));const vt="popstate";function In(e){e===void 0&&(e={});let{initialEntries:t=["/"],initialIndex:r,v5Compat:n=!1}=e,a;a=t.map((y,v)=>h(y,typeof y=="string"?null:y.state,v===0?"default":void 0));let o=u(r==null?a.length-1:r),i=I.Pop,l=null;function u(y){return Math.min(Math.max(y,0),a.length-1)}function d(){return a[o]}function h(y,v,b){v===void 0&&(v=null);let m=re(a?d().pathname:"/",y,v,b);return te(m.pathname.charAt(0)==="/","relative pathnames are not supported in memory history: "+JSON.stringify(y)),m}function g(y){return typeof y=="string"?y:ne(y)}return{get index(){return o},get action(){return i},get location(){return d()},createHref:g,createURL(y){return new URL(g(y),"http://localhost")},encodeLocation(y){let v=typeof y=="string"?q(y):y;return{pathname:v.pathname||"",search:v.search||"",hash:v.hash||""}},push(y,v){i=I.Push;let b=h(y,v);o+=1,a.splice(o,a.length,b),n&&l&&l({action:i,location:b,delta:1})},replace(y,v){i=I.Replace;let b=h(y,v);a[o]=b,n&&l&&l({action:i,location:b,delta:0})},go(y){i=I.Pop;let v=u(o+y),b=a[v];o=v,l&&l({action:i,location:b,delta:y})},listen(y){return l=y,()=>{l=null}}}}function dr(e){e===void 0&&(e={});function t(n,a){let{pathname:o,search:i,hash:l}=n.location;return re("",{pathname:o,search:i,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:ne(a)}return bt(t,r,null,e)}function kn(e){e===void 0&&(e={});function t(a,o){let{pathname:i="/",search:l="",hash:u=""}=q(a.location.hash.substr(1));return!i.startsWith("/")&&!i.startsWith(".")&&(i="/"+i),re("",{pathname:i,search:l,hash:u},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function r(a,o){let i=a.document.querySelector("base"),l="";if(i&&i.getAttribute("href")){let u=a.location.href,d=u.indexOf("#");l=d===-1?u:u.slice(0,d)}return l+"#"+(typeof o=="string"?o:ne(o))}function n(a,o){te(a.pathname.charAt(0)==="/","relative pathnames are not supported in hash history.push("+JSON.stringify(o)+")")}return bt(t,r,n,e)}function _(e,t){if(e===!1||e===null||typeof e=="undefined")throw new Error(t)}function te(e,t){if(!e){typeof console!="undefined"&&console.warn(t);try{throw new Error(t)}catch{}}}function fr(){return Math.random().toString(36).substr(2,8)}function Rt(e,t){return{usr:e.state,key:e.key,idx:t}}function re(e,t,r,n){return r===void 0&&(r=null),M({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?q(t):t,{state:r,key:t&&t.key||n||fr()})}function ne(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 q(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 bt(e,t,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,l=I.Pop,u=null,d=h();d==null&&(d=0,i.replaceState(M({},i.state,{idx:d}),""));function h(){return(i.state||{idx:null}).idx}function g(){l=I.Pop;let m=h(),D=m==null?null:m-d;d=m,u&&u({action:l,location:b.location,delta:D})}function R(m,D){l=I.Push;let A=re(b.location,m,D);r&&r(A,m),d=h()+1;let x=Rt(A,d),s=b.createHref(A);try{i.pushState(x,"",s)}catch(U){if(U instanceof DOMException&&U.name==="DataCloneError")throw U;a.location.assign(s)}o&&u&&u({action:l,location:b.location,delta:1})}function y(m,D){l=I.Replace;let A=re(b.location,m,D);r&&r(A,m),d=h();let x=Rt(A,d),s=b.createHref(A);i.replaceState(x,"",s),o&&u&&u({action:l,location:b.location,delta:0})}function v(m){let D=a.location.origin!=="null"?a.location.origin:a.location.href,A=typeof m=="string"?m:ne(m);return _(D,"No window.location.(origin|href) available to create URL for href: "+A),new URL(A,D)}let b={get action(){return l},get location(){return e(a,i)},listen(m){if(u)throw new Error("A history only accepts one active listener");return a.addEventListener(vt,g),u=m,()=>{a.removeEventListener(vt,g),u=null}},createHref(m){return t(a,m)},createURL:v,encodeLocation(m){let D=v(m);return{pathname:D.pathname,search:D.search,hash:D.hash}},push:R,replace:y,go(m){return i.go(m)}};return b}var O;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(O||(O={}));const hr=new Set(["lazy","caseSensitive","path","id","index","children"]);function mr(e){return e.index===!0}function He(e,t,r,n){return r===void 0&&(r=[]),n===void 0&&(n={}),e.map((a,o)=>{let i=[...r,o],l=typeof a.id=="string"?a.id:i.join("-");if(_(a.index!==!0||!a.children,"Cannot specify children on an index route"),_(!n[l],'Found a route id collision on id "'+l+`". Route id's must be globally unique within Data Router usages`),mr(a)){let u=M({},a,t(a),{id:l});return n[l]=u,u}else{let u=M({},a,t(a),{id:l,children:void 0});return n[l]=u,a.children&&(u.children=He(a.children,t,i,n)),u}})}function de(e,t,r){r===void 0&&(r="/");let n=typeof t=="string"?q(t):t,a=Ce(n.pathname||"/",r);if(a==null)return null;let o=wt(e);pr(o);let i=null;for(let l=0;i==null&&l<o.length;++l)i=Dr(o[l],Lr(a));return i}function wt(e,t,r,n){t===void 0&&(t=[]),r===void 0&&(r=[]),n===void 0&&(n="");let a=(o,i,l)=>{let u={relativePath:l===void 0?o.path||"":l,caseSensitive:o.caseSensitive===!0,childrenIndex:i,route:o};u.relativePath.startsWith("/")&&(_(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 d=Fe([n,u.relativePath]),h=r.concat(u);o.children&&o.children.length>0&&(_(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+d+'".')),wt(o.children,t,h,d)),!(o.path==null&&!o.index)&&t.push({path:d,score:Sr(d,o.index),routesMeta:h})};return e.forEach((o,i)=>{var l;if(o.path===""||!((l=o.path)!=null&&l.includes("?")))a(o,i);else for(let u of St(o.path))a(o,i,u)}),t}function St(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=St(n.join("/")),l=[];return l.push(...i.map(u=>u===""?o:[o,u].join("/"))),a&&l.push(...i),l.map(u=>e.startsWith("/")&&u===""?"/":u)}function pr(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:Er(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const gr=/^:\w+$/,yr=3,vr=2,Rr=1,br=10,wr=null,Et=e=>e==="*";function Sr(e,t){let r=e.split("/"),n=r.length;return r.some(Et)&&(n+=wr),t&&(n+=vr),r.filter(a=>!Et(a)).reduce((a,o)=>a+(gr.test(o)?yr:o===""?Rr:br),n)}function Er(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 Dr(e,t){let{routesMeta:r}=e,n={},a="/",o=[];for(let i=0;i<r.length;++i){let l=r[i],u=i===r.length-1,d=a==="/"?t:t.slice(a.length)||"/",h=xr({path:l.relativePath,caseSensitive:l.caseSensitive,end:u},d);if(!h)return null;Object.assign(n,h.params);let g=l.route;o.push({params:n,pathname:Fe([a,h.pathname]),pathnameBase:Mr(Fe([a,h.pathnameBase])),route:g}),h.pathnameBase!=="/"&&(a=Fe([a,h.pathnameBase]))}return o}function Hn(e,t){t===void 0&&(t={});let r=e;r.endsWith("*")&&r!=="*"&&!r.endsWith("/*")&&(te(!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,l,u)=>{if(l===u.length-1&&i==="*")return a(t["*"]);const h=i.match(/^:(\w+)(\??)$/);if(h){const[,g,R]=h;let y=t[g];return _(R==="?"||y!=null,'Missing ":'+g+'" param'),a(y)}return i.replace(/\?$/g,"")}).filter(i=>!!i);return n+o.join("/")}function xr(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=Pr(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:n.reduce((d,h,g)=>{if(h==="*"){let R=l[g]||"";i=o.slice(0,o.length-R.length).replace(/(.)\/+$/,"$1")}return d[h]=Ar(l[g]||"",h),d},{}),pathname:o,pathnameBase:i,pattern:e}}function Pr(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),te(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,l)=>(n.push(l),"/([^\\/]+)"));return e.endsWith("*")?(n.push("*"),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function Lr(e){try{return decodeURI(e)}catch(t){return te(!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 Ar(e,t){try{return decodeURIComponent(e)}catch(r){return te(!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 Ce(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 Cr(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?q(e):e;return{pathname:r?r.startsWith("/")?r:Fr(r,t):t,search:_r(n),hash:Tr(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 qe(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 Dt(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function Ur(e,t,r,n){n===void 0&&(n=!1);let a;typeof e=="string"?a=q(e):(a=M({},e),_(!a.pathname||!a.pathname.includes("?"),qe("?","pathname","search",a)),_(!a.pathname||!a.pathname.includes("#"),qe("#","pathname","hash",a)),_(!a.search||!a.search.includes("#"),qe("#","search","hash",a)));let o=e===""||a.pathname==="",i=o?"/":a.pathname,l;if(n||i==null)l=r;else{let g=t.length-1;if(i.startsWith("..")){let R=i.split("/");for(;R[0]==="..";)R.shift(),g-=1;a.pathname=R.join("/")}l=g>=0?t[g]:"/"}let u=Cr(a,l),d=i&&i!=="/"&&i.endsWith("/"),h=(o||i===".")&&r.endsWith("/");return!u.pathname.endsWith("/")&&(d||h)&&(u.pathname+="/"),u}function Bn(e){return e===""||e.pathname===""?"/":typeof e=="string"?q(e).pathname:e.pathname}const Fe=e=>e.join("/").replace(/\/\/+/g,"/"),Mr=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),_r=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Tr=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,zn=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 xt extends null{}class Nr{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 xt("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[l,u]=i;return Object.assign(o,{[l]:this.trackPromise(l,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 xt)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 _(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]:Or(a)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}function jr(e){return e instanceof Promise&&e._tracked===!0}function Or(e){if(!jr(e))return e;if(e._error)throw e._error;return e._data}const Kn=function(t,r){r===void 0&&(r={});let n=typeof r=="number"?{status:r}:r;return new Nr(t,n)},Ir=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}))},Wn=(e,t)=>{let r=Ir(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r};class Pt{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 Lt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const At=["post","put","patch","delete"],kr=new Set(At),Hr=["get",...At],Br=new Set(Hr),zr=new Set([301,302,303,307,308]),Kr=new Set([307,308]),Ze={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Wr={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ue={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Ct=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ft=e=>({hasErrorBoundary:Boolean(e.hasErrorBoundary)});function $n(e){const t=e.window?e.window:typeof window!="undefined"?window:void 0,r=typeof t!="undefined"&&typeof t.document!="undefined"&&typeof t.document.createElement!="undefined",n=!r;_(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 c=e.detectErrorBoundary;a=f=>({hasErrorBoundary:c(f)})}else a=Ft;let o={},i=He(e.routes,a,void 0,o),l,u=e.basename||"/",d=M({v7_normalizeFormMethod:!1,v7_prependBasename:!1},e.future),h=null,g=new Set,R=null,y=null,v=null,b=e.hydrationData!=null,m=de(i,e.history.location,u),D=null;if(m==null){let c=H(404,{pathname:e.history.location.pathname}),{matches:f,route:p}=Be(i);m=f,D={[p.id]:c}}let A=!m.some(c=>c.route.lazy)&&(!m.some(c=>c.route.loader)||e.hydrationData!=null),x,s={historyAction:e.history.action,location:e.history.location,matches:m,initialized:A,navigation:Ze,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||D,fetchers:new Map,blockers:new Map},U=I.Pop,k=!1,F,Y=!1,G=!1,ee=[],xe=[],z=new Map,Je=0,Ne=-1,Pe=new Map,ae=new Set,Le=new Map,ge=new Map,ye=new Map,st=!1;function En(){return h=e.history.listen(c=>{let{action:f,location:p,delta:w}=c;if(st){st=!1;return}te(ye.size===0||w!=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 C=or({currentLocation:s.location,nextLocation:p,historyAction:f});if(C&&w!=null){st=!0,e.history.go(w*-1),Xe(C,{state:"blocked",location:p,proceed(){Xe(C,{state:"proceeding",proceed:void 0,reset:void 0,location:p}),e.history.go(w)},reset(){let P=new Map(s.blockers);P.set(C,Ue),W({blockers:P})}});return}return se(f,p)}),s.initialized||se(I.Pop,s.location),x}function Dn(){h&&h(),g.clear(),F&&F.abort(),s.fetchers.forEach((c,f)=>ct(f)),s.blockers.forEach((c,f)=>ar(f))}function xn(c){return g.add(c),()=>g.delete(c)}function W(c){s=M({},s,c),g.forEach(f=>f(s))}function je(c,f){var p,w;let C=s.actionData!=null&&s.navigation.formMethod!=null&&J(s.navigation.formMethod)&&s.navigation.state==="loading"&&((p=c.state)==null?void 0:p._isRedirect)!==!0,P;f.actionData?Object.keys(f.actionData).length>0?P=f.actionData:P=null:C?P=s.actionData:P=null;let L=f.loaderData?Ht(s.loaderData,f.loaderData,f.matches||[],f.errors):s.loaderData,E=s.blockers;E.size>0&&(E=new Map(E),E.forEach((j,V)=>E.set(V,Ue)));let S=k===!0||s.navigation.formMethod!=null&&J(s.navigation.formMethod)&&((w=c.state)==null?void 0:w._isRedirect)!==!0;l&&(i=l,l=void 0),Y||U===I.Pop||(U===I.Push?e.history.push(c,c.state):U===I.Replace&&e.history.replace(c,c.state)),W(M({},f,{actionData:P,loaderData:L,historyAction:U,location:c,initialized:!0,navigation:Ze,revalidation:"idle",restoreScrollPosition:lr(c,f.matches||s.matches),preventScrollReset:S,blockers:E})),U=I.Pop,k=!1,Y=!1,G=!1,ee=[],xe=[]}async function qt(c,f){if(typeof c=="number"){e.history.go(c);return}let p=et(s.location,s.matches,u,d.v7_prependBasename,c,f==null?void 0:f.fromRouteId,f==null?void 0:f.relative),{path:w,submission:C,error:P}=Ut(d.v7_normalizeFormMethod,!1,p,f),L=s.location,E=re(s.location,w,f&&f.state);E=M({},E,e.history.encodeLocation(E));let S=f&&f.replace!=null?f.replace:void 0,j=I.Push;S===!0?j=I.Replace:S===!1||C!=null&&J(C.formMethod)&&C.formAction===s.location.pathname+s.location.search&&(j=I.Replace);let V=f&&"preventScrollReset"in f?f.preventScrollReset===!0:void 0,T=or({currentLocation:L,nextLocation:E,historyAction:j});if(T){Xe(T,{state:"blocked",location:E,proceed(){Xe(T,{state:"proceeding",proceed:void 0,reset:void 0,location:E}),qt(c,f)},reset(){let B=new Map(s.blockers);B.set(T,Ue),W({blockers:B})}});return}return await se(j,E,{submission:C,pendingError:P,preventScrollReset:V,replace:f&&f.replace})}function Pn(){if(ut(),W({revalidation:"loading"}),s.navigation.state!=="submitting"){if(s.navigation.state==="idle"){se(s.historyAction,s.location,{startUninterruptedRevalidation:!0});return}se(U||s.historyAction,s.navigation.location,{overrideNavigation:s.navigation})}}async function se(c,f,p){F&&F.abort(),F=null,U=c,Y=(p&&p.startUninterruptedRevalidation)===!0,Tn(s.location,s.matches),k=(p&&p.preventScrollReset)===!0;let w=l||i,C=p&&p.overrideNavigation,P=de(w,f,u);if(!P){let B=H(404,{pathname:f.pathname}),{matches:$,route:ve}=Be(w);dt(),je(f,{matches:$,loaderData:{},errors:{[ve.id]:B}});return}if(s.initialized&&!G&&Jr(s.location,f)&&!(p&&p.submission&&J(p.submission.formMethod))){je(f,{matches:P});return}F=new AbortController;let L=Me(e.history,f,F.signal,p&&p.submission),E,S;if(p&&p.pendingError)S={[he(P).route.id]:p.pendingError};else if(p&&p.submission&&J(p.submission.formMethod)){let B=await Ln(L,f,p.submission,P,{replace:p.replace});if(B.shortCircuited)return;E=B.pendingActionData,S=B.pendingActionError,C=ze(f,p.submission),L=new Request(L.url,{signal:L.signal})}let{shortCircuited:j,loaderData:V,errors:T}=await An(L,f,P,C,p&&p.submission,p&&p.fetcherSubmission,p&&p.replace,E,S);j||(F=null,je(f,M({matches:P},E?{actionData:E}:{},{loaderData:V,errors:T})))}async function Ln(c,f,p,w,C){C===void 0&&(C={}),ut();let P=Zr(f,p);W({navigation:P});let L,E=_e(w,f);if(!E.route.action&&!E.route.lazy)L={type:O.error,error:H(405,{method:c.method,pathname:f.pathname,routeId:E.route.id})};else if(L=await fe("action",c,E,w,o,a,u),c.signal.aborted)return{shortCircuited:!0};if(pe(L)){let S;return C&&C.replace!=null?S=C.replace:S=L.location===s.location.pathname+s.location.search,await Oe(s,L,{submission:p,replace:S}),{shortCircuited:!0}}if(me(L)){let S=he(w,E.route.id);return(C&&C.replace)!==!0&&(U=I.Push),{pendingActionData:{},pendingActionError:{[S.route.id]:L.error}}}if(le(L))throw H(400,{type:"defer-action"});return{pendingActionData:{[E.route.id]:L.data}}}async function An(c,f,p,w,C,P,L,E,S){let j=w||ze(f,C),V=C||P||$t(j),T=l||i,[B,$]=_t(e.history,s,p,V,f,G,ee,xe,Le,ae,T,u,E,S);if(dt(N=>!(p&&p.some(X=>X.route.id===N))||B&&B.some(X=>X.route.id===N)),Ne=++Je,B.length===0&&$.length===0){let N=rr();return je(f,M({matches:p,loaderData:{},errors:S||null},E?{actionData:E}:{},N?{fetchers:new Map(s.fetchers)}:{})),{shortCircuited:!0}}if(!Y){$.forEach(X=>{let ce=s.fetchers.get(X.key),gt=Te(void 0,ce?ce.data:void 0);s.fetchers.set(X.key,gt)});let N=E||s.actionData;W(M({navigation:j},N?Object.keys(N).length===0?{actionData:null}:{actionData:N}:{},$.length>0?{fetchers:new Map(s.fetchers)}:{}))}$.forEach(N=>{z.has(N.key)&&ue(N.key),N.controller&&z.set(N.key,N.controller)});let ve=()=>$.forEach(N=>ue(N.key));F&&F.signal.addEventListener("abort",ve);let{results:Re,loaderResults:Ie,fetcherResults:ft}=await er(s.matches,p,B,$,c);if(c.signal.aborted)return{shortCircuited:!0};F&&F.signal.removeEventListener("abort",ve),$.forEach(N=>z.delete(N.key));let oe=Bt(Re);if(oe){if(oe.idx>=B.length){let N=$[oe.idx-B.length].key;ae.add(N)}return await Oe(s,oe.result,{replace:L}),{shortCircuited:!0}}let{loaderData:ie,errors:Qe}=kt(s,p,B,Ie,S,$,ft,ge);ge.forEach((N,X)=>{N.subscribe(ce=>{(ce||N.done)&&ge.delete(X)})});let ht=rr(),mt=nr(Ne),pt=ht||mt||$.length>0;return M({loaderData:ie,errors:Qe},pt?{fetchers:new Map(s.fetchers)}:{})}function Zt(c){return s.fetchers.get(c)||Wr}function Cn(c,f,p,w){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.");z.has(c)&&ue(c);let C=l||i,P=et(s.location,s.matches,u,d.v7_prependBasename,p,f,w==null?void 0:w.relative),L=de(C,P,u);if(!L){Ge(c,f,H(404,{pathname:P}));return}let{path:E,submission:S,error:j}=Ut(d.v7_normalizeFormMethod,!0,P,w);if(j){Ge(c,f,j);return}let V=_e(L,E);if(k=(w&&w.preventScrollReset)===!0,S&&J(S.formMethod)){Fn(c,f,E,V,L,S);return}Le.set(c,{routeId:f,path:E}),Un(c,f,E,V,L,S)}async function Fn(c,f,p,w,C,P){if(ut(),Le.delete(c),!w.route.action&&!w.route.lazy){let K=H(405,{method:P.formMethod,pathname:p,routeId:f});Ge(c,f,K);return}let L=s.fetchers.get(c),E=en(P,L);s.fetchers.set(c,E),W({fetchers:new Map(s.fetchers)});let S=new AbortController,j=Me(e.history,p,S.signal,P);z.set(c,S);let V=Je,T=await fe("action",j,w,C,o,a,u);if(j.signal.aborted){z.get(c)===S&&z.delete(c);return}if(pe(T))if(z.delete(c),Ne>V){let K=Se(void 0);s.fetchers.set(c,K),W({fetchers:new Map(s.fetchers)});return}else{ae.add(c);let K=Te(P);return s.fetchers.set(c,K),W({fetchers:new Map(s.fetchers)}),Oe(s,T,{submission:P,isFetchActionRedirect:!0})}if(me(T)){Ge(c,f,T.error);return}if(le(T))throw H(400,{type:"defer-action"});let B=s.navigation.location||s.location,$=Me(e.history,B,S.signal),ve=l||i,Re=s.navigation.state!=="idle"?de(ve,s.navigation.location,u):s.matches;_(Re,"Didn't find any matches after fetcher action");let Ie=++Je;Pe.set(c,Ie);let ft=Te(P,T.data);s.fetchers.set(c,ft);let[oe,ie]=_t(e.history,s,Re,P,B,G,ee,xe,Le,ae,ve,u,{[w.route.id]:T.data},void 0);ie.filter(K=>K.key!==c).forEach(K=>{let ke=K.key,sr=s.fetchers.get(ke),jn=Te(void 0,sr?sr.data:void 0);s.fetchers.set(ke,jn),z.has(ke)&&ue(ke),K.controller&&z.set(ke,K.controller)}),W({fetchers:new Map(s.fetchers)});let Qe=()=>ie.forEach(K=>ue(K.key));S.signal.addEventListener("abort",Qe);let{results:ht,loaderResults:mt,fetcherResults:pt}=await er(s.matches,Re,oe,ie,$);if(S.signal.aborted)return;S.signal.removeEventListener("abort",Qe),Pe.delete(c),z.delete(c),ie.forEach(K=>z.delete(K.key));let N=Bt(ht);if(N){if(N.idx>=oe.length){let K=ie[N.idx-oe.length].key;ae.add(K)}return Oe(s,N.result)}let{loaderData:X,errors:ce}=kt(s,s.matches,oe,mt,void 0,ie,pt,ge);if(s.fetchers.has(c)){let K=Se(T.data);s.fetchers.set(c,K)}let gt=nr(Ie);s.navigation.state==="loading"&&Ie>Ne?(_(U,"Expected pending action"),F&&F.abort(),je(s.navigation.location,{matches:Re,loaderData:X,errors:ce,fetchers:new Map(s.fetchers)})):(W(M({errors:ce,loaderData:Ht(s.loaderData,X,Re,ce)},gt||ie.length>0?{fetchers:new Map(s.fetchers)}:{})),G=!1)}async function Un(c,f,p,w,C,P){let L=s.fetchers.get(c),E=Te(P,L?L.data:void 0);s.fetchers.set(c,E),W({fetchers:new Map(s.fetchers)});let S=new AbortController,j=Me(e.history,p,S.signal);z.set(c,S);let V=Je,T=await fe("loader",j,w,C,o,a,u);if(le(T)&&(T=await Wt(T,j.signal,!0)||T),z.get(c)===S&&z.delete(c),j.signal.aborted)return;if(pe(T))if(Ne>V){let $=Se(void 0);s.fetchers.set(c,$),W({fetchers:new Map(s.fetchers)});return}else{ae.add(c),await Oe(s,T);return}if(me(T)){let $=he(s.matches,f);s.fetchers.delete(c),W({fetchers:new Map(s.fetchers),errors:{[$.route.id]:T.error}});return}_(!le(T),"Unhandled fetcher deferred data");let B=Se(T.data);s.fetchers.set(c,B),W({fetchers:new Map(s.fetchers)})}async function Oe(c,f,p){let{submission:w,replace:C,isFetchActionRedirect:P}=p===void 0?{}:p;f.revalidate&&(G=!0);let L=re(c.location,f.location,M({_isRedirect:!0},P?{_isFetchActionRedirect:!0}:{}));if(_(L,"Expected a location on the redirect navigation"),r){let j=!1;if(f.reloadDocument)j=!0;else if(Ct.test(f.location)){const V=e.history.createURL(f.location);j=V.origin!==t.location.origin||Ce(V.pathname,u)==null}if(j){C?t.location.replace(f.location):t.location.assign(f.location);return}}F=null;let E=C===!0?I.Replace:I.Push,S=w||$t(c.navigation);if(Kr.has(f.status)&&S&&J(S.formMethod))await se(E,L,{submission:M({},S,{formAction:f.location}),preventScrollReset:k});else if(P)await se(E,L,{overrideNavigation:ze(L),fetcherSubmission:S,preventScrollReset:k});else{let j=ze(L,S);await se(E,L,{overrideNavigation:j,preventScrollReset:k})}}async function er(c,f,p,w,C){let P=await Promise.all([...p.map(S=>fe("loader",C,S,f,o,a,u)),...w.map(S=>S.matches&&S.match&&S.controller?fe("loader",Me(e.history,S.path,S.controller.signal),S.match,S.matches,o,a,u):{type:O.error,error:H(404,{pathname:S.path})})]),L=P.slice(0,p.length),E=P.slice(p.length);return await Promise.all([Kt(c,p,L,L.map(()=>C.signal),!1,s.loaderData),Kt(c,w.map(S=>S.match),E,w.map(S=>S.controller?S.controller.signal:null),!0)]),{results:P,loaderResults:L,fetcherResults:E}}function ut(){G=!0,ee.push(...dt()),Le.forEach((c,f)=>{z.has(f)&&(xe.push(f),ue(f))})}function Ge(c,f,p){let w=he(s.matches,f);ct(c),W({errors:{[w.route.id]:p},fetchers:new Map(s.fetchers)})}function ct(c){let f=s.fetchers.get(c);z.has(c)&&!(f&&f.state==="loading"&&Pe.has(c))&&ue(c),Le.delete(c),Pe.delete(c),ae.delete(c),s.fetchers.delete(c)}function ue(c){let f=z.get(c);_(f,"Expected fetch controller: "+c),f.abort(),z.delete(c)}function tr(c){for(let f of c){let p=Zt(f),w=Se(p.data);s.fetchers.set(f,w)}}function rr(){let c=[],f=!1;for(let p of ae){let w=s.fetchers.get(p);_(w,"Expected fetcher: "+p),w.state==="loading"&&(ae.delete(p),c.push(p),f=!0)}return tr(c),f}function nr(c){let f=[];for(let[p,w]of Pe)if(w<c){let C=s.fetchers.get(p);_(C,"Expected fetcher: "+p),C.state==="loading"&&(ue(p),Pe.delete(p),f.push(p))}return tr(f),f.length>0}function Mn(c,f){let p=s.blockers.get(c)||Ue;return ye.get(c)!==f&&ye.set(c,f),p}function ar(c){s.blockers.delete(c),ye.delete(c)}function Xe(c,f){let p=s.blockers.get(c)||Ue;_(p.state==="unblocked"&&f.state==="blocked"||p.state==="blocked"&&f.state==="blocked"||p.state==="blocked"&&f.state==="proceeding"||p.state==="blocked"&&f.state==="unblocked"||p.state==="proceeding"&&f.state==="unblocked","Invalid blocker state transition: "+p.state+" -> "+f.state);let w=new Map(s.blockers);w.set(c,f),W({blockers:w})}function or(c){let{currentLocation:f,nextLocation:p,historyAction:w}=c;if(ye.size===0)return;ye.size>1&&te(!1,"A router only supports one blocker at a time");let C=Array.from(ye.entries()),[P,L]=C[C.length-1],E=s.blockers.get(P);if(!(E&&E.state==="proceeding")&&L({currentLocation:f,nextLocation:p,historyAction:w}))return P}function dt(c){let f=[];return ge.forEach((p,w)=>{(!c||c(w))&&(p.cancel(),f.push(w),ge.delete(w))}),f}function _n(c,f,p){if(R=c,v=f,y=p||null,!b&&s.navigation===Ze){b=!0;let w=lr(s.location,s.matches);w!=null&&W({restoreScrollPosition:w})}return()=>{R=null,v=null,y=null}}function ir(c,f){return y&&y(c,f.map(w=>qr(w,s.loaderData)))||c.key}function Tn(c,f){if(R&&v){let p=ir(c,f);R[p]=v()}}function lr(c,f){if(R){let p=ir(c,f),w=R[p];if(typeof w=="number")return w}return null}function Nn(c){o={},l=He(c,a,void 0,o)}return x={get basename(){return u},get state(){return s},get routes(){return i},initialize:En,subscribe:xn,enableScrollRestoration:_n,navigate:qt,fetch:Cn,revalidate:Pn,createHref:c=>e.history.createHref(c),encodeLocation:c=>e.history.encodeLocation(c),getFetcher:Zt,deleteFetcher:ct,dispose:Dn,getBlocker:Mn,deleteBlocker:ar,_internalFetchControllers:z,_internalActiveDeferreds:ge,_internalSetRoutes:Nn},x}const $r=Symbol("deferred");function Vn(e,t){_(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 g=t.detectErrorBoundary;a=R=>({hasErrorBoundary:g(R)})}else a=Ft;let o=He(e,a,void 0,r);async function i(g,R){let{requestContext:y}=R===void 0?{}:R,v=new URL(g.url),b=g.method,m=re("",ne(v),null,"default"),D=de(o,m,n);if(!rt(b)&&b!=="HEAD"){let x=H(405,{method:b}),{matches:s,route:U}=Be(o);return{basename:n,location:m,matches:s,loaderData:{},actionData:null,errors:{[U.id]:x},statusCode:x.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}else if(!D){let x=H(404,{pathname:m.pathname}),{matches:s,route:U}=Be(o);return{basename:n,location:m,matches:s,loaderData:{},actionData:null,errors:{[U.id]:x},statusCode:x.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}let A=await u(g,m,D,y);return we(A)?A:M({location:m,basename:n},A)}async function l(g,R){let{routeId:y,requestContext:v}=R===void 0?{}:R,b=new URL(g.url),m=g.method,D=re("",ne(b),null,"default"),A=de(o,D,n);if(!rt(m)&&m!=="HEAD"&&m!=="OPTIONS")throw H(405,{method:m});if(!A)throw H(404,{pathname:D.pathname});let x=y?A.find(F=>F.route.id===y):_e(A,D);if(y&&!x)throw H(403,{pathname:D.pathname,routeId:y});if(!x)throw H(404,{pathname:D.pathname});let s=await u(g,D,A,v,x);if(we(s))return s;let U=s.errors?Object.values(s.errors)[0]:void 0;if(U!==void 0)throw U;if(s.actionData)return Object.values(s.actionData)[0];if(s.loaderData){var k;let F=Object.values(s.loaderData)[0];return(k=s.activeDeferreds)!=null&&k[x.route.id]&&(F[$r]=s.activeDeferreds[x.route.id]),F}}async function u(g,R,y,v,b){_(g.signal,"query()/queryRoute() requests must contain an AbortController signal");try{if(J(g.method.toLowerCase()))return await d(g,y,b||_e(y,R),v,b!=null);let m=await h(g,y,v,b);return we(m)?m:M({},m,{actionData:null,actionHeaders:{}})}catch(m){if(Qr(m)){if(m.type===O.error)throw m.response;return m.response}if(Xr(m))return m;throw m}}async function d(g,R,y,v,b){let m;if(!y.route.action&&!y.route.lazy){let x=H(405,{method:g.method,pathname:new URL(g.url).pathname,routeId:y.route.id});if(b)throw x;m={type:O.error,error:x}}else if(m=await fe("action",g,y,R,r,a,n,{isStaticRequest:!0,isRouteRequest:b,requestContext:v}),g.signal.aborted){let x=b?"queryRoute":"query";throw new Error(x+"() call aborted")}if(pe(m))throw new Response(null,{status:m.status,headers:{Location:m.location}});if(le(m)){let x=H(400,{type:"defer-action"});if(b)throw x;m={type:O.error,error:x}}if(b){if(me(m))throw m.error;return{matches:[y],loaderData:{},actionData:{[y.route.id]:m.data},errors:null,statusCode:200,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}if(me(m)){let x=he(R,y.route.id),s=await h(g,R,v,void 0,{[x.route.id]:m.error});return M({},s,{statusCode:Lt(m.error)?m.error.status:500,actionData:null,actionHeaders:M({},m.headers?{[y.route.id]:m.headers}:{})})}let D=new Request(g.url,{headers:g.headers,redirect:g.redirect,signal:g.signal}),A=await h(D,R,v);return M({},A,m.statusCode?{statusCode:m.statusCode}:{},{actionData:{[y.route.id]:m.data},actionHeaders:M({},m.headers?{[y.route.id]:m.headers}:{})})}async function h(g,R,y,v,b){let m=v!=null;if(m&&!(v!=null&&v.route.loader)&&!(v!=null&&v.route.lazy))throw H(400,{method:g.method,pathname:new URL(g.url).pathname,routeId:v==null?void 0:v.route.id});let A=(v?[v]:Mt(R,Object.keys(b||{})[0])).filter(F=>F.route.loader||F.route.lazy);if(A.length===0)return{matches:R,loaderData:R.reduce((F,Y)=>Object.assign(F,{[Y.route.id]:null}),{}),errors:b||null,statusCode:200,loaderHeaders:{},activeDeferreds:null};let x=await Promise.all([...A.map(F=>fe("loader",g,F,R,r,a,n,{isStaticRequest:!0,isRouteRequest:m,requestContext:y}))]);if(g.signal.aborted){let F=m?"queryRoute":"query";throw new Error(F+"() call aborted")}let s=new Map,U=It(R,A,x,b,s),k=new Set(A.map(F=>F.route.id));return R.forEach(F=>{k.has(F.route.id)||(U.loaderData[F.route.id]=null)}),M({},U,{matches:R,activeDeferreds:s.size>0?Object.fromEntries(s.entries()):null})}return{dataRoutes:o,query:i,queryRoute:l}}function Yn(e,t,r){return M({},t,{statusCode:500,errors:{[t._deepestRenderedBoundaryId||e[0].id]:r}})}function Vr(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function et(e,t,r,n,a,o,i){let l,u;if(o!=null&&i!=="path"){l=[];for(let h of t)if(l.push(h),h.route.id===o){u=h;break}}else l=t,u=t[t.length-1];let d=Ur(a||".",Dt(l).map(h=>h.pathnameBase),Ce(e.pathname,r)||e.pathname,i==="path");return a==null&&(d.search=e.search,d.hash=e.hash),(a==null||a===""||a===".")&&u&&u.route.index&&!nt(d.search)&&(d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index"),n&&r!=="/"&&(d.pathname=d.pathname==="/"?r:Fe([r,d.pathname])),ne(d)}function Ut(e,t,r,n){if(!n||!Vr(n))return{path:r};if(n.formMethod&&!rt(n.formMethod))return{path:r,error:H(405,{method:n.formMethod})};let a=()=>({path:r,error:H(400,{type:"invalid-body"})}),o=n.formMethod||"get",i=e?o.toUpperCase():o.toLowerCase(),l=zt(r);if(n.body!==void 0){if(n.formEncType==="text/plain"){if(!J(i))return a();let R=typeof n.body=="string"?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((y,v)=>{let[b,m]=v;return""+y+b+"="+m+`
11
+ `},""):String(n.body);return{path:r,submission:{formMethod:i,formAction:l,formEncType:n.formEncType,formData:void 0,json:void 0,text:R}}}else if(n.formEncType==="application/json"){if(!J(i))return a();try{let R=typeof n.body=="string"?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:i,formAction:l,formEncType:n.formEncType,formData:void 0,json:R,text:void 0}}}catch{return a()}}}_(typeof FormData=="function","FormData is not available in this environment");let u,d;if(n.formData)u=tt(n.formData),d=n.formData;else if(n.body instanceof FormData)u=tt(n.body),d=n.body;else if(n.body instanceof URLSearchParams)u=n.body,d=Ot(u);else if(n.body==null)u=new URLSearchParams,d=new FormData;else try{u=new URLSearchParams(n.body),d=Ot(u)}catch{return a()}let h={formMethod:i,formAction:l,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:d,json:void 0,text:void 0};if(J(h.formMethod))return{path:r,submission:h};let g=q(r);return t&&g.search&&nt(g.search)&&u.append("index",""),g.search="?"+u,{path:ne(g),submission:h}}function Mt(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,l,u,d,h,g,R,y){let v=y?Object.values(y)[0]:R?Object.values(R)[0]:void 0,b=e.createURL(t.location),m=e.createURL(a),D=y?Object.keys(y)[0]:void 0,x=Mt(r,D).filter((U,k)=>{if(U.route.lazy)return!0;if(U.route.loader==null)return!1;if(Yr(t.loaderData,t.matches[k],U)||i.some(G=>G===U.route.id))return!0;let F=t.matches[k],Y=U;return Nt(U,M({currentUrl:b,currentParams:F.params,nextUrl:m,nextParams:Y.params},n,{actionResult:v,defaultShouldRevalidate:o||b.pathname+b.search===m.pathname+m.search||b.search!==m.search||Tt(F,Y)}))}),s=[];return u.forEach((U,k)=>{if(!r.some(xe=>xe.route.id===U.routeId))return;let F=de(h,U.path,g);if(!F){s.push({key:k,routeId:U.routeId,path:U.path,matches:null,match:null,controller:null});return}let Y=t.fetchers.get(k),G=_e(F,U.path),ee=!1;d.has(k)?ee=!1:l.includes(k)?ee=!0:Y&&Y.state!=="idle"&&Y.data===void 0?ee=o:ee=Nt(G,M({currentUrl:b,currentParams:t.matches[t.matches.length-1].params,nextUrl:m,nextParams:r[r.length-1].params},n,{actionResult:v,defaultShouldRevalidate:o})),ee&&s.push({key:k,routeId:U.routeId,path:U.path,matches:F,match:G,controller:new AbortController})}),[x,s]}function Yr(e,t,r){let n=!t||r.route.id!==t.route.id,a=e[r.route.id]===void 0;return n||a}function Tt(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Nt(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}async function jt(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 u=a[i]!==void 0&&i!=="hasErrorBoundary";te(!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&&!hr.has(i)&&(o[i]=n[i])}Object.assign(a,o),Object.assign(a,M({},t(a),{lazy:void 0}))}async function fe(e,t,r,n,a,o,i,l){l===void 0&&(l={});let u,d,h,g=v=>{let b,m=new Promise((D,A)=>b=A);return h=()=>b(),t.signal.addEventListener("abort",h),Promise.race([v({request:t,params:r.params,context:l.requestContext}),m])};try{let v=r.route[e];if(r.route.lazy)if(v)d=(await Promise.all([g(v),jt(r.route,o,a)]))[0];else if(await jt(r.route,o,a),v=r.route[e],v)d=await g(v);else if(e==="action"){let b=new URL(t.url),m=b.pathname+b.search;throw H(405,{method:t.method,pathname:m,routeId:r.route.id})}else return{type:O.data,data:void 0};else if(v)d=await g(v);else{let b=new URL(t.url),m=b.pathname+b.search;throw H(404,{pathname:m})}_(d!==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(v){u=O.error,d=v}finally{h&&t.signal.removeEventListener("abort",h)}if(we(d)){let v=d.status;if(zr.has(v)){let D=d.headers.get("Location");if(_(D,"Redirects returned/thrown from loaders/actions must have a Location header"),!Ct.test(D))D=et(new URL(t.url),n.slice(0,n.indexOf(r)+1),i,!0,D);else if(!l.isStaticRequest){let A=new URL(t.url),x=D.startsWith("//")?new URL(A.protocol+D):new URL(D),s=Ce(x.pathname,i)!=null;x.origin===A.origin&&s&&(D=x.pathname+x.search+x.hash)}if(l.isStaticRequest)throw d.headers.set("Location",D),d;return{type:O.redirect,status:v,location:D,revalidate:d.headers.get("X-Remix-Revalidate")!==null,reloadDocument:d.headers.get("X-Remix-Reload-Document")!==null}}if(l.isRouteRequest)throw{type:u===O.error?O.error:O.data,response:d};let b,m=d.headers.get("Content-Type");return m&&/\bapplication\/json\b/.test(m)?b=await d.json():b=await d.text(),u===O.error?{type:u,error:new Pt(v,d.statusText,b),headers:d.headers}:{type:O.data,data:b,statusCode:d.status,headers:d.headers}}if(u===O.error)return{type:u,error:d};if(Gr(d)){var R,y;return{type:O.deferred,deferredData:d,statusCode:(R=d.init)==null?void 0:R.status,headers:((y=d.init)==null?void 0:y.headers)&&new Headers(d.init.headers)}}return{type:O.data,data:d}}function Me(e,t,r,n){let a=e.createURL(zt(t)).toString(),o={signal:r};if(n&&J(n.formMethod)){let{formMethod:i,formEncType:l}=n;o.method=i.toUpperCase(),l==="application/json"?(o.headers=new Headers({"Content-Type":l}),o.body=JSON.stringify(n.json)):l==="text/plain"?o.body=n.text:l==="application/x-www-form-urlencoded"&&n.formData?o.body=tt(n.formData):o.body=n.formData}return new Request(a,o)}function tt(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function Ot(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function It(e,t,r,n,a){let o={},i=null,l,u=!1,d={};return r.forEach((h,g)=>{let R=t[g].route.id;if(_(!pe(h),"Cannot handle redirect results in processLoaderData"),me(h)){let y=he(e,R),v=h.error;n&&(v=Object.values(n)[0],n=void 0),i=i||{},i[y.route.id]==null&&(i[y.route.id]=v),o[R]=void 0,u||(u=!0,l=Lt(h.error)?h.error.status:500),h.headers&&(d[R]=h.headers)}else le(h)?(a.set(R,h.deferredData),o[R]=h.deferredData.data):o[R]=h.data,h.statusCode!=null&&h.statusCode!==200&&!u&&(l=h.statusCode),h.headers&&(d[R]=h.headers)}),n&&(i=n,o[Object.keys(n)[0]]=void 0),{loaderData:o,errors:i,statusCode:l||200,loaderHeaders:d}}function kt(e,t,r,n,a,o,i,l){let{loaderData:u,errors:d}=It(t,r,n,a,l);for(let h=0;h<o.length;h++){let{key:g,match:R,controller:y}=o[h];_(i!==void 0&&i[h]!==void 0,"Did not find corresponding fetcher result");let v=i[h];if(!(y&&y.signal.aborted))if(me(v)){let b=he(e.matches,R==null?void 0:R.route.id);d&&d[b.route.id]||(d=M({},d,{[b.route.id]:v.error})),e.fetchers.delete(g)}else if(pe(v))_(!1,"Unhandled fetcher revalidation redirect");else if(le(v))_(!1,"Unhandled fetcher deferred data");else{let b=Se(v.data);e.fetchers.set(g,b)}}return{loaderData:u,errors:d}}function Ht(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 he(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 Be(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 H(e,t){let{pathname:r,routeId:n,method:a,type:o}=t===void 0?{}:t,i="Unknown Server Error",l="Unknown @remix-run/router error";return e===400?(i="Bad Request",a&&r&&n?l="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"?l="defer() is not supported in actions":o==="invalid-body"&&(l="Unable to encode submission body")):e===403?(i="Forbidden",l='Route "'+n+'" does not match URL "'+r+'"'):e===404?(i="Not Found",l='No route matches URL "'+r+'"'):e===405&&(i="Method Not Allowed",a&&r&&n?l="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&&(l='Invalid request method "'+a.toUpperCase()+'"')),new Pt(e||500,i,new Error(l),!0)}function Bt(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(pe(r))return{result:r,idx:t}}}function zt(e){let t=typeof e=="string"?q(e):e;return ne(M({},t,{hash:""}))}function Jr(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function le(e){return e.type===O.deferred}function me(e){return e.type===O.error}function pe(e){return(e&&e.type)===O.redirect}function Gr(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 we(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body!="undefined"}function Xr(e){if(!we(e))return!1;let t=e.status,r=e.headers.get("Location");return t>=300&&t<=399&&r!=null}function Qr(e){return e&&we(e.response)&&(e.type===O.data||e.type===O.error)}function rt(e){return Br.has(e.toLowerCase())}function J(e){return kr.has(e.toLowerCase())}async function Kt(e,t,r,n,a,o){for(let i=0;i<r.length;i++){let l=r[i],u=t[i];if(!u)continue;let d=e.find(g=>g.route.id===u.route.id),h=d!=null&&!Tt(d,u)&&(o&&o[u.route.id])!==void 0;if(le(l)&&(a||h)){let g=n[i];_(g,"Expected an AbortSignal for revalidating fetcher deferred result"),await Wt(l,g,a).then(R=>{R&&(r[i]=R||r[i])})}}}async function Wt(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 nt(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function qr(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 _e(e,t){let r=typeof t=="string"?q(t).search:t.search;if(e[e.length-1].route.index&&nt(r||""))return e[e.length-1];let n=Dt(e);return n[n.length-1]}function $t(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 ze(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 Zr(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 Te(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," _hasFetcherDoneAnything ":!0}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t," _hasFetcherDoneAnything ":!0}}function en(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," _hasFetcherDoneAnything ":!0}}function Se(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e," _hasFetcherDoneAnything ":!0}}/**
12
+ * React Router DOM v6.15.0
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 Z(){return Z=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},Z.apply(this,arguments)}function tn(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 at="get",ot="application/x-www-form-urlencoded";function Ke(e){return e!=null&&typeof e.tagName=="string"}function rn(e){return Ke(e)&&e.tagName.toLowerCase()==="button"}function nn(e){return Ke(e)&&e.tagName.toLowerCase()==="form"}function an(e){return Ke(e)&&e.tagName.toLowerCase()==="input"}function on(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function ln(e,t){return e.button===0&&(!t||t==="_self")&&!on(e)}function it(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 sn(e,t){let r=it(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(o=>{r.append(a,o)})}),r}let We=null;function un(){if(We===null)try{new FormData(document.createElement("form"),0),We=!1}catch{We=!0}return We}const cn=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function lt(e){return e!=null&&!cn.has(e)?null:e}function Vt(e,t){let r,n,a,o,i;if(nn(e)){let l=e.getAttribute("action");n=l?stripBasename(l,t):null,r=e.getAttribute("method")||at,a=lt(e.getAttribute("enctype"))||ot,o=new FormData(e)}else if(rn(e)||an(e)&&(e.type==="submit"||e.type==="image")){let l=e.form;if(l==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let u=e.getAttribute("formaction")||l.getAttribute("action");if(n=u?stripBasename(u,t):null,r=e.getAttribute("formmethod")||l.getAttribute("method")||at,a=lt(e.getAttribute("formenctype"))||lt(l.getAttribute("enctype"))||ot,o=new FormData(l,e),!un()){let{name:d,type:h,value:g}=e;if(h==="image"){let R=d?d+".":"";o.append(R+"x","0"),o.append(R+"y","0")}else d&&o.append(d,g)}}else{if(Ke(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=at,n=null,a=ot,i=e}return o&&a==="text/plain"&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}const dn=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],Jn=null,Gn=null;function Xn(e,t){return createRouter({basename:t==null?void 0:t.basename,future:Z({},t==null?void 0:t.future,{v7_prependBasename:!0}),history:createBrowserHistory({window:t==null?void 0:t.window}),hydrationData:(t==null?void 0:t.hydrationData)||Yt(),routes:e,mapRouteProperties:UNSAFE_mapRouteProperties}).initialize()}function Qn(e,t){return createRouter({basename:t==null?void 0:t.basename,future:Z({},t==null?void 0:t.future,{v7_prependBasename:!0}),history:createHashHistory({window:t==null?void 0:t.window}),hydrationData:(t==null?void 0:t.hydrationData)||Yt(),routes:e,mapRouteProperties:UNSAFE_mapRouteProperties}).initialize()}function Yt(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=Z({},t,{errors:fn(t.errors)})),t}function fn(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"){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 Ee=cr["startTransition"];function hn(e){let{basename:t,children:r,future:n,window:a}=e,o=Q.useRef();o.current==null&&(o.current=dr({window:a,v5Compat:!0}));let i=o.current,[l,u]=Q.useState({action:i.action,location:i.location}),{v7_startTransition:d}=n||{},h=Q.useCallback(g=>{d&&Ee?Ee(()=>u(g)):u(g)},[u,d]);return Q.useLayoutEffect(()=>i.listen(h),[i,h]),Q.createElement(be.F0,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i})}function Zn(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,[l,u]=React.useState({action:i.action,location:i.location}),{v7_startTransition:d}=n||{},h=React.useCallback(g=>{d&&Ee?Ee(()=>u(g)):u(g)},[u,d]);return React.useLayoutEffect(()=>i.listen(h),[i,h]),React.createElement(Router,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i})}function ea(e){let{basename:t,children:r,future:n,history:a}=e,[o,i]=React.useState({action:a.action,location:a.location}),{v7_startTransition:l}=n||{},u=React.useCallback(d=>{l&&Ee?Ee(()=>i(d)):i(d)},[i,l]);return React.useLayoutEffect(()=>a.listen(u),[a,u]),React.createElement(Router,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:a})}const mn=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined",pn=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,gn=Q.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:o,replace:i,state:l,target:u,to:d,preventScrollReset:h}=t,g=tn(t,dn),{basename:R}=Q.useContext(be.Us),y,v=!1;if(typeof d=="string"&&pn.test(d)&&(y=d,mn))try{let A=new URL(window.location.href),x=d.startsWith("//")?new URL(A.protocol+d):new URL(d),s=Ce(x.pathname,R);x.origin===A.origin&&s!=null?d=s+x.search+x.hash:v=!0}catch{}let b=(0,be.oQ)(d,{relative:a}),m=vn(d,{replace:i,state:l,target:u,preventScrollReset:h,relative:a});function D(A){n&&n(A),A.defaultPrevented||m(A)}return Q.createElement("a",Z({},g,{href:y||b,onClick:v||o?n:D,ref:r,target:u}))}),ta=null,ra=null,yn=null;function na(e){let{getKey:t,storageKey:r}=e;return wn({getKey:t,storageKey:r}),null}var De;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher"})(De||(De={}));var $e;(function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})($e||($e={}));function aa(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 Jt(e){let t=React.useContext(UNSAFE_DataRouterStateContext);return t||UNSAFE_invariant(!1),t}function vn(e,t){let{target:r,replace:n,state:a,preventScrollReset:o,relative:i}=t===void 0?{}:t,l=(0,be.s0)(),u=(0,be.TH)(),d=(0,be.WU)(e,{relative:i});return Q.useCallback(h=>{if(ln(h,r)){h.preventDefault();let g=n!==void 0?n:(0,yt.Ep)(u)===(0,yt.Ep)(d);l(e,{replace:g,state:a,preventScrollReset:o,relative:i})}},[u,l,d,n,a,r,e,o,i])}function oa(e){let t=React.useRef(it(e)),r=React.useRef(!1),n=useLocation(),a=React.useMemo(()=>sn(n.search,r.current?null:t.current),[n.search]),o=useNavigate(),i=React.useCallback((l,u)=>{const d=it(typeof l=="function"?l(a):l);r.current=!0,o("?"+d,u)},[o,a]);return[a,i]}function Gt(){if(typeof document=="undefined")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}function ia(){let{router:e}=Ve(De.UseSubmit),{basename:t}=React.useContext(UNSAFE_NavigationContext),r=UNSAFE_useRouteId();return React.useCallback(function(n,a){a===void 0&&(a={}),Gt();let{action:o,method:i,encType:l,formData:u,body:d}=Vt(n,t);e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:u,body:d,formMethod:a.method||i,formEncType:a.encType||l,replace:a.replace,state:a.state,fromRouteId:r})},[e,t,r])}function Xt(e,t){let{router:r}=Ve(De.UseSubmitFetcher),{basename:n}=React.useContext(UNSAFE_NavigationContext);return React.useCallback(function(a,o){o===void 0&&(o={}),Gt();let{action:i,method:l,encType:u,formData:d,body:h}=Vt(a,n);t==null&&UNSAFE_invariant(!1),r.fetch(e,t,o.action||i,{preventScrollReset:o.preventScrollReset,formData:d,body:h,formMethod:o.method||l,formEncType:o.encType||u})},[r,n,e,t])}function la(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=Z({},useResolvedPath(e||".",{relative:r})),l=useLocation();if(e==null&&(i.search=l.search,o.route.index)){let u=new URLSearchParams(i.search);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 Rn(e,t){return React.forwardRef((n,a)=>{let o=Xt(e,t);return React.createElement(yn,Z({},n,{ref:a,submit:o}))})}let bn=0;function sa(){var e;let{router:t}=Ve(De.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(++bn)),[o]=React.useState(()=>(n||UNSAFE_invariant(!1),Rn(a,n))),[i]=React.useState(()=>h=>{t||UNSAFE_invariant(!1),n||UNSAFE_invariant(!1),t.fetch(a,n,h)}),l=Xt(a,n),u=t.getFetcher(a),d=React.useMemo(()=>Z({Form:o,submit:l,load:i},u),[u,o,l,i]);return React.useEffect(()=>()=>{if(!t){console.warn("No router available to clean up from useFetcher()");return}t.deleteFetcher(a)},[t,a]),d}function ua(){return[...Jt($e.UseFetchers).fetchers.values()]}const Qt="react-router-scroll-positions";let Ye={};function wn(e){let{getKey:t,storageKey:r}=e===void 0?{}:e,{router:n}=Ve(De.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:o}=Jt($e.UseScrollRestoration),{basename:i}=React.useContext(UNSAFE_NavigationContext),l=useLocation(),u=useMatches(),d=useNavigation();React.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),Sn(React.useCallback(()=>{if(d.state==="idle"){let h=(t?t(l,u):null)||l.key;Ye[h]=window.scrollY}sessionStorage.setItem(r||Qt,JSON.stringify(Ye)),window.history.scrollRestoration="auto"},[r,t,d.state,l,u])),typeof document!="undefined"&&(React.useLayoutEffect(()=>{try{let h=sessionStorage.getItem(r||Qt);h&&(Ye=JSON.parse(h))}catch{}},[r]),React.useLayoutEffect(()=>{let h=t&&i!=="/"?(R,y)=>t(Z({},R,{pathname:stripBasename(R.pathname,i)||R.pathname}),y):t,g=n==null?void 0:n.enableScrollRestoration(Ye,()=>window.scrollY,h);return()=>g&&g()},[n,i,t]),React.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}if(l.hash){let h=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(h){h.scrollIntoView();return}}o!==!0&&window.scrollTo(0,0)}},[l,a,o]))}function ca(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 Sn(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 da(e){let{when:t,message:r}=e,n=unstable_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])}}}]);})();
21
+
22
+ //# sourceMappingURL=module-react-router-dom.a0f835fd.js.map