@json-to-office/jto 0.38.1 → 1.2.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 (52) hide show
  1. package/dist/cli.js +54 -43
  2. package/dist/cli.js.map +1 -1
  3. package/dist/client/assets/HomePage-jkIz_s7u.js +106 -0
  4. package/dist/client/assets/HomePage-jkIz_s7u.js.map +1 -0
  5. package/dist/client/assets/{JsonEditorPage-BoJnbChX.js → JsonEditorPage-DR8UoROz.js} +3 -3
  6. package/dist/client/assets/{JsonEditorPage-BoJnbChX.js.map → JsonEditorPage-DR8UoROz.js.map} +1 -1
  7. package/dist/client/assets/{MonacoPluginProvider-DDx6uqtm.js → MonacoPluginProvider-CE5NPGwN.js} +3 -3
  8. package/dist/client/assets/MonacoPluginProvider-CE5NPGwN.js.map +1 -0
  9. package/dist/client/assets/{NotFoundPage-SV9cseZ6.js → NotFoundPage-rSUaByPC.js} +2 -2
  10. package/dist/client/assets/{NotFoundPage-SV9cseZ6.js.map → NotFoundPage-rSUaByPC.js.map} +1 -1
  11. package/dist/client/assets/editor-edmvhW9F.js +9 -0
  12. package/dist/client/assets/editor-edmvhW9F.js.map +1 -0
  13. package/dist/client/assets/{editor-monaco-json-K0Hhbxle.js → editor-monaco-json-CAlvfPc7.js} +2 -2
  14. package/dist/client/assets/{editor-monaco-json-K0Hhbxle.js.map → editor-monaco-json-CAlvfPc7.js.map} +1 -1
  15. package/dist/client/assets/{editor-refs-store-CXOr2HlU.js → editor-refs-store-DKOJcTAk.js} +2 -2
  16. package/dist/client/assets/{editor-refs-store-CXOr2HlU.js.map → editor-refs-store-DKOJcTAk.js.map} +1 -1
  17. package/dist/client/assets/index-CNvLzaJ7.css +1 -0
  18. package/dist/client/assets/index-DLlW4q4v.js +5 -0
  19. package/dist/client/assets/index-DLlW4q4v.js.map +1 -0
  20. package/dist/client/assets/{monaco-editor-BcgxPCqT.js → monaco-editor-DJsdM0WK.js} +2 -2
  21. package/dist/client/assets/{monaco-editor-BcgxPCqT.js.map → monaco-editor-DJsdM0WK.js.map} +1 -1
  22. package/dist/client/assets/preview-zo-CHAU0.js +2 -0
  23. package/dist/client/assets/preview-zo-CHAU0.js.map +1 -0
  24. package/dist/client/assets/{query-vendor-Df8-oete.js → query-vendor--rhYD8mC.js} +2 -2
  25. package/dist/client/assets/{query-vendor-Df8-oete.js.map → query-vendor--rhYD8mC.js.map} +1 -1
  26. package/dist/client/assets/radix-ui-DFNP5I4e.js +51 -0
  27. package/dist/client/assets/radix-ui-DFNP5I4e.js.map +1 -0
  28. package/dist/client/assets/{react-vendor-CTFDOf2G.js → react-vendor-BmQ2Ko_D.js} +2 -2
  29. package/dist/client/assets/{react-vendor-CTFDOf2G.js.map → react-vendor-BmQ2Ko_D.js.map} +1 -1
  30. package/dist/client/assets/{state-vendor-ByFYl9bq.js → state-vendor-Cq67_JbF.js} +2 -2
  31. package/dist/client/assets/{state-vendor-ByFYl9bq.js.map → state-vendor-Cq67_JbF.js.map} +1 -1
  32. package/dist/client/assets/{ui-vendor-DyQLnWB8.js → ui-vendor-DpjQWJgX.js} +24 -29
  33. package/dist/client/assets/ui-vendor-DpjQWJgX.js.map +1 -0
  34. package/dist/client/index.html +8 -8
  35. package/dist/client/templates/media/tech-report/fonts/OFL.txt +93 -0
  36. package/package.json +7 -8
  37. package/dist/client/assets/HomePage-BCVcUf-F.js +0 -106
  38. package/dist/client/assets/HomePage-BCVcUf-F.js.map +0 -1
  39. package/dist/client/assets/MonacoPluginProvider-DDx6uqtm.js.map +0 -1
  40. package/dist/client/assets/docx-preview-DQa8jhzH.js +0 -34
  41. package/dist/client/assets/docx-preview-DQa8jhzH.js.map +0 -1
  42. package/dist/client/assets/editor-fCoqmCGh.js +0 -9
  43. package/dist/client/assets/editor-fCoqmCGh.js.map +0 -1
  44. package/dist/client/assets/index-994wDsNx.js +0 -5
  45. package/dist/client/assets/index-994wDsNx.js.map +0 -1
  46. package/dist/client/assets/index-ddkpZJkm.css +0 -1
  47. package/dist/client/assets/preview-B8AVap46.js +0 -4
  48. package/dist/client/assets/preview-B8AVap46.js.map +0 -1
  49. package/dist/client/assets/radix-ui-Bq-7y_Sq.js +0 -51
  50. package/dist/client/assets/radix-ui-Bq-7y_Sq.js.map +0 -1
  51. package/dist/client/assets/ui-vendor-DyQLnWB8.js.map +0 -1
  52. package/dist/client/css/preview/docxjs.css +0 -11
@@ -57,5 +57,5 @@ Error generating stack: `+a.message+`
57
57
  * @license MIT
58
58
  */var Fd="popstate";function Py(f={}){function r(o,h){let{pathname:b,search:_,hash:U}=o.location;return Nc("",{pathname:b,search:_,hash:U},h.state&&h.state.usr||null,h.state&&h.state.key||"default")}function d(o,h){return typeof h=="string"?h:Ru(h)}return lv(r,d,null,f)}function Yt(f,r){if(f===!1||f===null||typeof f>"u")throw new Error(r)}function Nl(f,r){if(!f){typeof console<"u"&&console.warn(r);try{throw new Error(r)}catch{}}}function tv(){return Math.random().toString(36).substring(2,10)}function Id(f,r){return{usr:f.state,key:f.key,idx:r}}function Nc(f,r,d=null,o){return{pathname:typeof f=="string"?f:f.pathname,search:"",hash:"",...typeof r=="string"?Uu(r):r,state:d,key:r&&r.key||o||tv()}}function Ru({pathname:f="/",search:r="",hash:d=""}){return r&&r!=="?"&&(f+=r.charAt(0)==="?"?r:"?"+r),d&&d!=="#"&&(f+=d.charAt(0)==="#"?d:"#"+d),f}function Uu(f){let r={};if(f){let d=f.indexOf("#");d>=0&&(r.hash=f.substring(d),f=f.substring(0,d));let o=f.indexOf("?");o>=0&&(r.search=f.substring(o),f=f.substring(0,o)),f&&(r.pathname=f)}return r}function lv(f,r,d,o={}){let{window:h=document.defaultView,v5Compat:b=!1}=o,_=h.history,U="POP",S=null,m=H();m==null&&(m=0,_.replaceState({..._.state,idx:m},""));function H(){return(_.state||{idx:null}).idx}function N(){U="POP";let Z=H(),q=Z==null?null:Z-m;m=Z,S&&S({action:U,location:Q.location,delta:q})}function B(Z,q){U="PUSH";let at=Nc(Q.location,Z,q);m=H()+1;let $=Id(at,m),bt=Q.createHref(at);try{_.pushState($,"",bt)}catch(Tt){if(Tt instanceof DOMException&&Tt.name==="DataCloneError")throw Tt;h.location.assign(bt)}b&&S&&S({action:U,location:Q.location,delta:1})}function X(Z,q){U="REPLACE";let at=Nc(Q.location,Z,q);m=H();let $=Id(at,m),bt=Q.createHref(at);_.replaceState($,"",bt),b&&S&&S({action:U,location:Q.location,delta:0})}function w(Z){let q=h.location.origin!=="null"?h.location.origin:h.location.href,at=typeof Z=="string"?Z:Ru(Z);return at=at.replace(/ $/,"%20"),Yt(q,`No window.location.(origin|href) available to create URL for href: ${at}`),new URL(at,q)}let Q={get action(){return U},get location(){return f(h,_)},listen(Z){if(S)throw new Error("A history only accepts one active listener");return h.addEventListener(Fd,N),S=Z,()=>{h.removeEventListener(Fd,N),S=null}},createHref(Z){return r(h,Z)},createURL:w,encodeLocation(Z){let q=w(Z);return{pathname:q.pathname,search:q.search,hash:q.hash}},push:B,replace:X,go(Z){return _.go(Z)}};return Q}function um(f,r,d="/"){return ev(f,r,d,!1)}function ev(f,r,d,o){let h=typeof r=="string"?Uu(r):r,b=Oe(h.pathname||"/",d);if(b==null)return null;let _=nm(f);av(_);let U=null;for(let S=0;U==null&&S<_.length;++S){let m=hv(b);U=dv(_[S],m,o)}return U}function nm(f,r=[],d=[],o=""){let h=(b,_,U)=>{let S={relativePath:U===void 0?b.path||"":U,caseSensitive:b.caseSensitive===!0,childrenIndex:_,route:b};S.relativePath.startsWith("/")&&(Yt(S.relativePath.startsWith(o),`Absolute route path "${S.relativePath}" nested under path "${o}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),S.relativePath=S.relativePath.slice(o.length));let m=te([o,S.relativePath]),H=d.concat(S);b.children&&b.children.length>0&&(Yt(b.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${m}".`),nm(b.children,r,H,m)),!(b.path==null&&!b.index)&&r.push({path:m,score:rv(m,b.index),routesMeta:H})};return f.forEach((b,_)=>{var U;if(b.path===""||!((U=b.path)!=null&&U.includes("?")))h(b,_);else for(let S of im(b.path))h(b,_,S)}),r}function im(f){let r=f.split("/");if(r.length===0)return[];let[d,...o]=r,h=d.endsWith("?"),b=d.replace(/\?$/,"");if(o.length===0)return h?[b,""]:[b];let _=im(o.join("/")),U=[];return U.push(..._.map(S=>S===""?b:[b,S].join("/"))),h&&U.push(..._),U.map(S=>f.startsWith("/")&&S===""?"/":S)}function av(f){f.sort((r,d)=>r.score!==d.score?d.score-r.score:sv(r.routesMeta.map(o=>o.childrenIndex),d.routesMeta.map(o=>o.childrenIndex)))}var uv=/^:[\w-]+$/,nv=3,iv=2,fv=1,cv=10,ov=-2,Pd=f=>f==="*";function rv(f,r){let d=f.split("/"),o=d.length;return d.some(Pd)&&(o+=ov),r&&(o+=iv),d.filter(h=>!Pd(h)).reduce((h,b)=>h+(uv.test(b)?nv:b===""?fv:cv),o)}function sv(f,r){return f.length===r.length&&f.slice(0,-1).every((o,h)=>o===r[h])?f[f.length-1]-r[r.length-1]:0}function dv(f,r,d=!1){let{routesMeta:o}=f,h={},b="/",_=[];for(let U=0;U<o.length;++U){let S=o[U],m=U===o.length-1,H=b==="/"?r:r.slice(b.length)||"/",N=li({path:S.relativePath,caseSensitive:S.caseSensitive,end:m},H),B=S.route;if(!N&&m&&d&&!o[o.length-1].route.index&&(N=li({path:S.relativePath,caseSensitive:S.caseSensitive,end:!1},H)),!N)return null;Object.assign(h,N.params),_.push({params:h,pathname:te([b,N.pathname]),pathnameBase:Sv(te([b,N.pathnameBase])),route:B}),N.pathnameBase!=="/"&&(b=te([b,N.pathnameBase]))}return _}function li(f,r){typeof f=="string"&&(f={path:f,caseSensitive:!1,end:!0});let[d,o]=mv(f.path,f.caseSensitive,f.end),h=r.match(d);if(!h)return null;let b=h[0],_=b.replace(/(.)\/+$/,"$1"),U=h.slice(1);return{params:o.reduce((m,{paramName:H,isOptional:N},B)=>{if(H==="*"){let w=U[B]||"";_=b.slice(0,b.length-w.length).replace(/(.)\/+$/,"$1")}const X=U[B];return N&&!X?m[H]=void 0:m[H]=(X||"").replace(/%2F/g,"/"),m},{}),pathname:b,pathnameBase:_,pattern:f}}function mv(f,r=!1,d=!0){Nl(f==="*"||!f.endsWith("*")||f.endsWith("/*"),`Route path "${f}" will be treated as if it were "${f.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${f.replace(/\*$/,"/*")}".`);let o=[],h="^"+f.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(_,U,S)=>(o.push({paramName:U,isOptional:S!=null}),S?"/?([^\\/]+)?":"/([^\\/]+)"));return f.endsWith("*")?(o.push({paramName:"*"}),h+=f==="*"||f==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):d?h+="\\/*$":f!==""&&f!=="/"&&(h+="(?:(?=\\/|$))"),[new RegExp(h,r?void 0:"i"),o]}function hv(f){try{return f.split("/").map(r=>decodeURIComponent(r).replace(/\//g,"%2F")).join("/")}catch(r){return Nl(!1,`The URL path "${f}" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding (${r}).`),f}}function Oe(f,r){if(r==="/")return f;if(!f.toLowerCase().startsWith(r.toLowerCase()))return null;let d=r.endsWith("/")?r.length-1:r.length,o=f.charAt(d);return o&&o!=="/"?null:f.slice(d)||"/"}function yv(f,r="/"){let{pathname:d,search:o="",hash:h=""}=typeof f=="string"?Uu(f):f;return{pathname:d?d.startsWith("/")?d:vv(d,r):r,search:bv(o),hash:pv(h)}}function vv(f,r){let d=r.replace(/\/+$/,"").split("/");return f.split("/").forEach(h=>{h===".."?d.length>1&&d.pop():h!=="."&&d.push(h)}),d.length>1?d.join("/"):"/"}function Uc(f,r,d,o){return`Cannot include a '${f}' character in a manually specified \`to.${r}\` field [${JSON.stringify(o)}]. Please separate it out to the \`to.${d}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function gv(f){return f.filter((r,d)=>d===0||r.route.path&&r.route.path.length>0)}function fm(f){let r=gv(f);return r.map((d,o)=>o===r.length-1?d.pathname:d.pathnameBase)}function cm(f,r,d,o=!1){let h;typeof f=="string"?h=Uu(f):(h={...f},Yt(!h.pathname||!h.pathname.includes("?"),Uc("?","pathname","search",h)),Yt(!h.pathname||!h.pathname.includes("#"),Uc("#","pathname","hash",h)),Yt(!h.search||!h.search.includes("#"),Uc("#","search","hash",h)));let b=f===""||h.pathname==="",_=b?"/":h.pathname,U;if(_==null)U=d;else{let N=r.length-1;if(!o&&_.startsWith("..")){let B=_.split("/");for(;B[0]==="..";)B.shift(),N-=1;h.pathname=B.join("/")}U=N>=0?r[N]:"/"}let S=yv(h,U),m=_&&_!=="/"&&_.endsWith("/"),H=(b||_===".")&&d.endsWith("/");return!S.pathname.endsWith("/")&&(m||H)&&(S.pathname+="/"),S}var te=f=>f.join("/").replace(/\/\/+/g,"/"),Sv=f=>f.replace(/\/+$/,"").replace(/^\/*/,"/"),bv=f=>!f||f==="?"?"":f.startsWith("?")?f:"?"+f,pv=f=>!f||f==="#"?"":f.startsWith("#")?f:"#"+f;function Ev(f){return f!=null&&typeof f.status=="number"&&typeof f.statusText=="string"&&typeof f.internal=="boolean"&&"data"in f}var om=["POST","PUT","PATCH","DELETE"];new Set(om);var zv=["GET",...om];new Set(zv);var Na=C.createContext(null);Na.displayName="DataRouter";var ei=C.createContext(null);ei.displayName="DataRouterState";var rm=C.createContext({isTransitioning:!1});rm.displayName="ViewTransition";var Tv=C.createContext(new Map);Tv.displayName="Fetchers";var Av=C.createContext(null);Av.displayName="Await";var Hl=C.createContext(null);Hl.displayName="Navigation";var ai=C.createContext(null);ai.displayName="Location";var Bl=C.createContext({outlet:null,matches:[],isDataRoute:!1});Bl.displayName="Route";var Bc=C.createContext(null);Bc.displayName="RouteError";function _v(f,{relative:r}={}){Yt(Cu(),"useHref() may be used only in the context of a <Router> component.");let{basename:d,navigator:o}=C.useContext(Hl),{hash:h,pathname:b,search:_}=Nu(f,{relative:r}),U=b;return d!=="/"&&(U=b==="/"?d:te([d,b])),o.createHref({pathname:U,search:_,hash:h})}function Cu(){return C.useContext(ai)!=null}function we(){return Yt(Cu(),"useLocation() may be used only in the context of a <Router> component."),C.useContext(ai).location}var sm="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function dm(f){C.useContext(Hl).static||C.useLayoutEffect(f)}function Ov(){let{isDataRoute:f}=C.useContext(Bl);return f?jv():Mv()}function Mv(){Yt(Cu(),"useNavigate() may be used only in the context of a <Router> component.");let f=C.useContext(Na),{basename:r,navigator:d}=C.useContext(Hl),{matches:o}=C.useContext(Bl),{pathname:h}=we(),b=JSON.stringify(fm(o)),_=C.useRef(!1);return dm(()=>{_.current=!0}),C.useCallback((S,m={})=>{if(Nl(_.current,sm),!_.current)return;if(typeof S=="number"){d.go(S);return}let H=cm(S,JSON.parse(b),h,m.relative==="path");f==null&&r!=="/"&&(H.pathname=H.pathname==="/"?r:te([r,H.pathname])),(m.replace?d.replace:d.push)(H,m.state,m)},[r,d,b,h,f])}var Dv=C.createContext(null);function Rv(f){let r=C.useContext(Bl).outlet;return r&&C.createElement(Dv.Provider,{value:f},r)}function Nu(f,{relative:r}={}){let{matches:d}=C.useContext(Bl),{pathname:o}=we(),h=JSON.stringify(fm(d));return C.useMemo(()=>cm(f,JSON.parse(h),o,r==="path"),[f,h,o,r])}function O0(f,r){return mm(f)}function mm(f,r,d,o){Yt(Cu(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:h}=C.useContext(Hl),{matches:b}=C.useContext(Bl),_=b[b.length-1],U=_?_.params:{},S=_?_.pathname:"/",m=_?_.pathnameBase:"/",H=_&&_.route;{let q=H&&H.path||"";hm(S,!H||q.endsWith("*")||q.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${S}" (under <Route path="${q}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
59
59
 
60
- Please change the parent <Route path="${q}"> to <Route path="${q==="/"?"*":`${q}/*`}">.`)}let N=we(),B;B=N;let X=B.pathname||"/",w=X;if(m!=="/"){let q=m.replace(/^\//,"").split("/");w="/"+X.replace(/^\//,"").split("/").slice(q.length).join("/")}let Q=um(f,{pathname:w});return Nl(H||Q!=null,`No routes matched location "${B.pathname}${B.search}${B.hash}" `),Nl(Q==null||Q[Q.length-1].route.element!==void 0||Q[Q.length-1].route.Component!==void 0||Q[Q.length-1].route.lazy!==void 0,`Matched leaf route at location "${B.pathname}${B.search}${B.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),Bv(Q&&Q.map(q=>Object.assign({},q,{params:Object.assign({},U,q.params),pathname:te([m,h.encodeLocation?h.encodeLocation(q.pathname).pathname:q.pathname]),pathnameBase:q.pathnameBase==="/"?m:te([m,h.encodeLocation?h.encodeLocation(q.pathnameBase).pathname:q.pathnameBase])})),b,d,o)}function Uv(){let f=Lv(),r=Ev(f)?`${f.status} ${f.statusText}`:f instanceof Error?f.message:JSON.stringify(f),d=f instanceof Error?f.stack:null,o="rgba(200,200,200, 0.5)",h={padding:"0.5rem",backgroundColor:o},b={padding:"2px 4px",backgroundColor:o},_=null;return console.error("Error handled by React Router default ErrorBoundary:",f),_=C.createElement(C.Fragment,null,C.createElement("p",null,"💿 Hey developer 👋"),C.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",C.createElement("code",{style:b},"ErrorBoundary")," or"," ",C.createElement("code",{style:b},"errorElement")," prop on your route.")),C.createElement(C.Fragment,null,C.createElement("h2",null,"Unexpected Application Error!"),C.createElement("h3",{style:{fontStyle:"italic"}},r),d?C.createElement("pre",{style:h},d):null,_)}var Cv=C.createElement(Uv,null),Nv=class extends C.Component{constructor(f){super(f),this.state={location:f.location,revalidation:f.revalidation,error:f.error}}static getDerivedStateFromError(f){return{error:f}}static getDerivedStateFromProps(f,r){return r.location!==f.location||r.revalidation!=="idle"&&f.revalidation==="idle"?{error:f.error,location:f.location,revalidation:f.revalidation}:{error:f.error!==void 0?f.error:r.error,location:r.location,revalidation:f.revalidation||r.revalidation}}componentDidCatch(f,r){console.error("React Router caught the following error during render",f,r)}render(){return this.state.error!==void 0?C.createElement(Bl.Provider,{value:this.props.routeContext},C.createElement(Bc.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Hv({routeContext:f,match:r,children:d}){let o=C.useContext(Na);return o&&o.static&&o.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=r.route.id),C.createElement(Bl.Provider,{value:f},d)}function Bv(f,r=[],d=null,o=null){if(f==null){if(!d)return null;if(d.errors)f=d.matches;else if(r.length===0&&!d.initialized&&d.matches.length>0)f=d.matches;else return null}let h=f,b=d==null?void 0:d.errors;if(b!=null){let S=h.findIndex(m=>m.route.id&&(b==null?void 0:b[m.route.id])!==void 0);Yt(S>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(b).join(",")}`),h=h.slice(0,Math.min(h.length,S+1))}let _=!1,U=-1;if(d)for(let S=0;S<h.length;S++){let m=h[S];if((m.route.HydrateFallback||m.route.hydrateFallbackElement)&&(U=S),m.route.id){let{loaderData:H,errors:N}=d,B=m.route.loader&&!H.hasOwnProperty(m.route.id)&&(!N||N[m.route.id]===void 0);if(m.route.lazy||B){_=!0,U>=0?h=h.slice(0,U+1):h=[h[0]];break}}}return h.reduceRight((S,m,H)=>{let N,B=!1,X=null,w=null;d&&(N=b&&m.route.id?b[m.route.id]:void 0,X=m.route.errorElement||Cv,_&&(U<0&&H===0?(hm("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),B=!0,w=null):U===H&&(B=!0,w=m.route.hydrateFallbackElement||null)));let Q=r.concat(h.slice(0,H+1)),Z=()=>{let q;return N?q=X:B?q=w:m.route.Component?q=C.createElement(m.route.Component,null):m.route.element?q=m.route.element:q=S,C.createElement(Hv,{match:m,routeContext:{outlet:S,matches:Q,isDataRoute:d!=null},children:q})};return d&&(m.route.ErrorBoundary||m.route.errorElement||H===0)?C.createElement(Nv,{location:d.location,revalidation:d.revalidation,component:X,error:N,children:Z(),routeContext:{outlet:null,matches:Q,isDataRoute:!0}}):Z()},null)}function xc(f){return`${f} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function xv(f){let r=C.useContext(Na);return Yt(r,xc(f)),r}function qv(f){let r=C.useContext(ei);return Yt(r,xc(f)),r}function Yv(f){let r=C.useContext(Bl);return Yt(r,xc(f)),r}function qc(f){let r=Yv(f),d=r.matches[r.matches.length-1];return Yt(d.route.id,`${f} can only be used on routes that contain a unique "id"`),d.route.id}function Gv(){return qc("useRouteId")}function Lv(){var o;let f=C.useContext(Bc),r=qv("useRouteError"),d=qc("useRouteError");return f!==void 0?f:(o=r.errors)==null?void 0:o[d]}function jv(){let{router:f}=xv("useNavigate"),r=qc("useNavigate"),d=C.useRef(!1);return dm(()=>{d.current=!0}),C.useCallback(async(h,b={})=>{Nl(d.current,sm),d.current&&(typeof h=="number"?f.navigate(h):await f.navigate(h,{fromRouteId:r,...b}))},[f,r])}var tm={};function hm(f,r,d){!r&&!tm[f]&&(tm[f]=!0,Nl(!1,d))}C.memo(Xv);function Xv({routes:f,future:r,state:d}){return mm(f,void 0,d,r)}function M0(f){return Rv(f.context)}function Qv({basename:f="/",children:r=null,location:d,navigationType:o="POP",navigator:h,static:b=!1}){Yt(!Cu(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let _=f.replace(/^\/*/,"/"),U=C.useMemo(()=>({basename:_,navigator:h,static:b,future:{}}),[_,h,b]);typeof d=="string"&&(d=Uu(d));let{pathname:S="/",search:m="",hash:H="",state:N=null,key:B="default"}=d,X=C.useMemo(()=>{let w=Oe(S,_);return w==null?null:{location:{pathname:w,search:m,hash:H,state:N,key:B},navigationType:o}},[_,S,m,H,N,B,o]);return Nl(X!=null,`<Router basename="${_}"> is not able to match the URL "${S}${m}${H}" because it does not start with the basename, so the <Router> won't render anything.`),X==null?null:C.createElement(Hl.Provider,{value:U},C.createElement(ai.Provider,{children:r,value:X}))}var Pn="get",ti="application/x-www-form-urlencoded";function ui(f){return f!=null&&typeof f.tagName=="string"}function Zv(f){return ui(f)&&f.tagName.toLowerCase()==="button"}function Vv(f){return ui(f)&&f.tagName.toLowerCase()==="form"}function Kv(f){return ui(f)&&f.tagName.toLowerCase()==="input"}function Jv(f){return!!(f.metaKey||f.altKey||f.ctrlKey||f.shiftKey)}function wv(f,r){return f.button===0&&(!r||r==="_self")&&!Jv(f)}var In=null;function Wv(){if(In===null)try{new FormData(document.createElement("form"),0),In=!1}catch{In=!0}return In}var $v=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Cc(f){return f!=null&&!$v.has(f)?(Nl(!1,`"${f}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${ti}"`),null):f}function kv(f,r){let d,o,h,b,_;if(Vv(f)){let U=f.getAttribute("action");o=U?Oe(U,r):null,d=f.getAttribute("method")||Pn,h=Cc(f.getAttribute("enctype"))||ti,b=new FormData(f)}else if(Zv(f)||Kv(f)&&(f.type==="submit"||f.type==="image")){let U=f.form;if(U==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let S=f.getAttribute("formaction")||U.getAttribute("action");if(o=S?Oe(S,r):null,d=f.getAttribute("formmethod")||U.getAttribute("method")||Pn,h=Cc(f.getAttribute("formenctype"))||Cc(U.getAttribute("enctype"))||ti,b=new FormData(U,f),!Wv()){let{name:m,type:H,value:N}=f;if(H==="image"){let B=m?`${m}.`:"";b.append(`${B}x`,"0"),b.append(`${B}y`,"0")}else m&&b.append(m,N)}}else{if(ui(f))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');d=Pn,o=null,h=ti,_=f}return b&&h==="text/plain"&&(_=b,b=void 0),{action:o,method:d.toLowerCase(),encType:h,formData:b,body:_}}function Yc(f,r){if(f===!1||f===null||typeof f>"u")throw new Error(r)}async function Fv(f,r){if(f.id in r)return r[f.id];try{let d=await import(f.module);return r[f.id]=d,d}catch(d){return console.error(`Error loading route module \`${f.module}\`, reloading page...`),console.error(d),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Iv(f){return f==null?!1:f.href==null?f.rel==="preload"&&typeof f.imageSrcSet=="string"&&typeof f.imageSizes=="string":typeof f.rel=="string"&&typeof f.href=="string"}async function Pv(f,r,d){let o=await Promise.all(f.map(async h=>{let b=r.routes[h.route.id];if(b){let _=await Fv(b,d);return _.links?_.links():[]}return[]}));return a0(o.flat(1).filter(Iv).filter(h=>h.rel==="stylesheet"||h.rel==="preload").map(h=>h.rel==="stylesheet"?{...h,rel:"prefetch",as:"style"}:{...h,rel:"prefetch"}))}function lm(f,r,d,o,h,b){let _=(S,m)=>d[m]?S.route.id!==d[m].route.id:!0,U=(S,m)=>{var H;return d[m].pathname!==S.pathname||((H=d[m].route.path)==null?void 0:H.endsWith("*"))&&d[m].params["*"]!==S.params["*"]};return b==="assets"?r.filter((S,m)=>_(S,m)||U(S,m)):b==="data"?r.filter((S,m)=>{var N;let H=o.routes[S.route.id];if(!H||!H.hasLoader)return!1;if(_(S,m)||U(S,m))return!0;if(S.route.shouldRevalidate){let B=S.route.shouldRevalidate({currentUrl:new URL(h.pathname+h.search+h.hash,window.origin),currentParams:((N=d[0])==null?void 0:N.params)||{},nextUrl:new URL(f,window.origin),nextParams:S.params,defaultShouldRevalidate:!0});if(typeof B=="boolean")return B}return!0}):[]}function t0(f,r){return l0(f.map(d=>{let o=r.routes[d.route.id];if(!o)return[];let h=[o.module];return o.imports&&(h=h.concat(o.imports)),h}).flat(1))}function l0(f){return[...new Set(f)]}function e0(f){let r={},d=Object.keys(f).sort();for(let o of d)r[o]=f[o];return r}function a0(f,r){let d=new Set;return new Set(r),f.reduce((o,h)=>{let b=JSON.stringify(e0(h));return d.has(b)||(d.add(b),o.push({key:b,link:h})),o},[])}function u0(f){let r=typeof f=="string"?new URL(f,typeof window>"u"?"server://singlefetch/":window.location.origin):f;return r.pathname==="/"?r.pathname="_root.data":r.pathname=`${r.pathname.replace(/\/$/,"")}.data`,r}function n0(){let f=C.useContext(Na);return Yc(f,"You must render this element inside a <DataRouterContext.Provider> element"),f}function i0(){let f=C.useContext(ei);return Yc(f,"You must render this element inside a <DataRouterStateContext.Provider> element"),f}var Gc=C.createContext(void 0);Gc.displayName="FrameworkContext";function ym(){let f=C.useContext(Gc);return Yc(f,"You must render this element inside a <HydratedRouter> element"),f}function f0(f,r){let d=C.useContext(Gc),[o,h]=C.useState(!1),[b,_]=C.useState(!1),{onFocus:U,onBlur:S,onMouseEnter:m,onMouseLeave:H,onTouchStart:N}=r,B=C.useRef(null);C.useEffect(()=>{if(f==="render"&&_(!0),f==="viewport"){let Q=q=>{q.forEach(at=>{_(at.isIntersecting)})},Z=new IntersectionObserver(Q,{threshold:.5});return B.current&&Z.observe(B.current),()=>{Z.disconnect()}}},[f]),C.useEffect(()=>{if(o){let Q=setTimeout(()=>{_(!0)},100);return()=>{clearTimeout(Q)}}},[o]);let X=()=>{h(!0)},w=()=>{h(!1),_(!1)};return d?f!=="intent"?[b,B,{}]:[b,B,{onFocus:Du(U,X),onBlur:Du(S,w),onMouseEnter:Du(m,X),onMouseLeave:Du(H,w),onTouchStart:Du(N,X)}]:[!1,B,{}]}function Du(f,r){return d=>{f&&f(d),d.defaultPrevented||r(d)}}function c0({page:f,...r}){let{router:d}=n0(),o=C.useMemo(()=>um(d.routes,f,d.basename),[d.routes,f,d.basename]);return o?C.createElement(r0,{page:f,matches:o,...r}):(console.warn(`Tried to prefetch ${f} but no routes matched.`),null)}function o0(f){let{manifest:r,routeModules:d}=ym(),[o,h]=C.useState([]);return C.useEffect(()=>{let b=!1;return Pv(f,r,d).then(_=>{b||h(_)}),()=>{b=!0}},[f,r,d]),o}function r0({page:f,matches:r,...d}){let o=we(),{manifest:h,routeModules:b}=ym(),{loaderData:_,matches:U}=i0(),S=C.useMemo(()=>lm(f,r,U,h,o,"data"),[f,r,U,h,o]),m=C.useMemo(()=>lm(f,r,U,h,o,"assets"),[f,r,U,h,o]),H=C.useMemo(()=>{if(f===o.pathname+o.search+o.hash)return[];let X=new Set,w=!1;if(r.forEach(Z=>{var at;let q=h.routes[Z.route.id];!q||!q.hasLoader||(!S.some($=>$.route.id===Z.route.id)&&Z.route.id in _&&((at=b[Z.route.id])!=null&&at.shouldRevalidate)||q.hasClientLoader?w=!0:X.add(Z.route.id))}),X.size===0)return[];let Q=u0(f);return w&&X.size>0&&Q.searchParams.set("_routes",r.filter(Z=>X.has(Z.route.id)).map(Z=>Z.route.id).join(",")),[Q.pathname+Q.search]},[_,o,h,S,r,f,b]),N=C.useMemo(()=>t0(m,h),[m,h]),B=o0(m);return C.createElement(C.Fragment,null,H.map(X=>C.createElement("link",{key:X,rel:"prefetch",as:"fetch",href:X,...d})),N.map(X=>C.createElement("link",{key:X,rel:"modulepreload",href:X,...d})),B.map(({key:X,link:w})=>C.createElement("link",{key:X,...w})))}function s0(...f){return r=>{f.forEach(d=>{typeof d=="function"?d(r):d!=null&&(d.current=r)})}}var vm=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{vm&&(window.__reactRouterVersion="7.0.2")}catch{}function D0({basename:f,children:r,window:d}){let o=C.useRef();o.current==null&&(o.current=Py({window:d,v5Compat:!0}));let h=o.current,[b,_]=C.useState({action:h.action,location:h.location}),U=C.useCallback(S=>{C.startTransition(()=>_(S))},[_]);return C.useLayoutEffect(()=>h.listen(U),[h,U]),C.createElement(Qv,{basename:f,children:r,location:b.location,navigationType:b.action,navigator:h})}var gm=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Sm=C.forwardRef(function({onClick:r,discover:d="render",prefetch:o="none",relative:h,reloadDocument:b,replace:_,state:U,target:S,to:m,preventScrollReset:H,viewTransition:N,...B},X){let{basename:w}=C.useContext(Hl),Q=typeof m=="string"&&gm.test(m),Z,q=!1;if(typeof m=="string"&&Q&&(Z=m,vm))try{let At=new URL(window.location.href),el=m.startsWith("//")?new URL(At.protocol+m):new URL(m),al=Oe(el.pathname,w);el.origin===At.origin&&al!=null?m=al+el.search+el.hash:q=!0}catch{Nl(!1,`<Link to="${m}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let at=_v(m,{relative:h}),[$,bt,Tt]=f0(o,B),Bt=y0(m,{replace:_,state:U,target:S,preventScrollReset:H,relative:h,viewTransition:N});function I(At){r&&r(At),At.defaultPrevented||Bt(At)}let xt=C.createElement("a",{...B,...Tt,href:Z||at,onClick:q||b?r:I,ref:s0(X,bt),target:S,"data-discover":!Q&&d==="render"?"true":void 0});return $&&!Q?C.createElement(C.Fragment,null,xt,C.createElement(c0,{page:at})):xt});Sm.displayName="Link";var d0=C.forwardRef(function({"aria-current":r="page",caseSensitive:d=!1,className:o="",end:h=!1,style:b,to:_,viewTransition:U,children:S,...m},H){let N=Nu(_,{relative:m.relative}),B=we(),X=C.useContext(ei),{navigator:w,basename:Q}=C.useContext(Hl),Z=X!=null&&p0(N)&&U===!0,q=w.encodeLocation?w.encodeLocation(N).pathname:N.pathname,at=B.pathname,$=X&&X.navigation&&X.navigation.location?X.navigation.location.pathname:null;d||(at=at.toLowerCase(),$=$?$.toLowerCase():null,q=q.toLowerCase()),$&&Q&&($=Oe($,Q)||$);const bt=q!=="/"&&q.endsWith("/")?q.length-1:q.length;let Tt=at===q||!h&&at.startsWith(q)&&at.charAt(bt)==="/",Bt=$!=null&&($===q||!h&&$.startsWith(q)&&$.charAt(q.length)==="/"),I={isActive:Tt,isPending:Bt,isTransitioning:Z},xt=Tt?r:void 0,At;typeof o=="function"?At=o(I):At=[o,Tt?"active":null,Bt?"pending":null,Z?"transitioning":null].filter(Boolean).join(" ");let el=typeof b=="function"?b(I):b;return C.createElement(Sm,{...m,"aria-current":xt,className:At,ref:H,style:el,to:_,viewTransition:U},typeof S=="function"?S(I):S)});d0.displayName="NavLink";var m0=C.forwardRef(({discover:f="render",fetcherKey:r,navigate:d,reloadDocument:o,replace:h,state:b,method:_=Pn,action:U,onSubmit:S,relative:m,preventScrollReset:H,viewTransition:N,...B},X)=>{let w=S0(),Q=b0(U,{relative:m}),Z=_.toLowerCase()==="get"?"get":"post",q=typeof U=="string"&&gm.test(U),at=$=>{if(S&&S($),$.defaultPrevented)return;$.preventDefault();let bt=$.nativeEvent.submitter,Tt=(bt==null?void 0:bt.getAttribute("formmethod"))||_;w(bt||$.currentTarget,{fetcherKey:r,method:Tt,navigate:d,replace:h,state:b,relative:m,preventScrollReset:H,viewTransition:N})};return C.createElement("form",{ref:X,method:Z,action:Q,onSubmit:o?S:at,...B,"data-discover":!q&&f==="render"?"true":void 0})});m0.displayName="Form";function h0(f){return`${f} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function bm(f){let r=C.useContext(Na);return Yt(r,h0(f)),r}function y0(f,{target:r,replace:d,state:o,preventScrollReset:h,relative:b,viewTransition:_}={}){let U=Ov(),S=we(),m=Nu(f,{relative:b});return C.useCallback(H=>{if(wv(H,r)){H.preventDefault();let N=d!==void 0?d:Ru(S)===Ru(m);U(f,{replace:N,state:o,preventScrollReset:h,relative:b,viewTransition:_})}},[S,U,m,d,o,r,f,h,b,_])}var v0=0,g0=()=>`__${String(++v0)}__`;function S0(){let{router:f}=bm("useSubmit"),{basename:r}=C.useContext(Hl),d=Gv();return C.useCallback(async(o,h={})=>{let{action:b,method:_,encType:U,formData:S,body:m}=kv(o,r);if(h.navigate===!1){let H=h.fetcherKey||g0();await f.fetch(H,d,h.action||b,{preventScrollReset:h.preventScrollReset,formData:S,body:m,formMethod:h.method||_,formEncType:h.encType||U,flushSync:h.flushSync})}else await f.navigate(h.action||b,{preventScrollReset:h.preventScrollReset,formData:S,body:m,formMethod:h.method||_,formEncType:h.encType||U,replace:h.replace,state:h.state,fromRouteId:d,flushSync:h.flushSync,viewTransition:h.viewTransition})},[f,r,d])}function b0(f,{relative:r}={}){let{basename:d}=C.useContext(Hl),o=C.useContext(Bl);Yt(o,"useFormAction must be used inside a RouteContext");let[h]=o.matches.slice(-1),b={...Nu(f||".",{relative:r})},_=we();if(f==null){b.search=_.search;let U=new URLSearchParams(b.search),S=U.getAll("index");if(S.some(H=>H==="")){U.delete("index"),S.filter(N=>N).forEach(N=>U.append("index",N));let H=U.toString();b.search=H?`?${H}`:""}}return(!f||f===".")&&h.route.index&&(b.search=b.search?b.search.replace(/^\?/,"?index&"):"?index"),d!=="/"&&(b.pathname=b.pathname==="/"?d:te([d,b.pathname])),Ru(b)}function p0(f,r={}){let d=C.useContext(rm);Yt(d!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:o}=bm("useViewTransitionState"),h=Nu(f,{relative:r.relative});if(!d.isTransitioning)return!1;let b=Oe(d.currentLocation.pathname,o)||d.currentLocation.pathname,_=Oe(d.nextLocation.pathname,o)||d.nextLocation.pathname;return li(h.pathname,_)!=null||li(h.pathname,b)!=null}new TextEncoder;var E0=am();const R0=em(E0);export{D0 as B,Sm as L,M0 as O,A0 as R,E0 as a,R0 as b,wy as c,z0 as d,_0 as e,em as g,T0 as j,C as r,O0 as u};
61
- //# sourceMappingURL=react-vendor-CTFDOf2G.js.map
60
+ Please change the parent <Route path="${q}"> to <Route path="${q==="/"?"*":`${q}/*`}">.`)}let N=we(),B;B=N;let X=B.pathname||"/",w=X;if(m!=="/"){let q=m.replace(/^\//,"").split("/");w="/"+X.replace(/^\//,"").split("/").slice(q.length).join("/")}let Q=um(f,{pathname:w});return Nl(H||Q!=null,`No routes matched location "${B.pathname}${B.search}${B.hash}" `),Nl(Q==null||Q[Q.length-1].route.element!==void 0||Q[Q.length-1].route.Component!==void 0||Q[Q.length-1].route.lazy!==void 0,`Matched leaf route at location "${B.pathname}${B.search}${B.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),Bv(Q&&Q.map(q=>Object.assign({},q,{params:Object.assign({},U,q.params),pathname:te([m,h.encodeLocation?h.encodeLocation(q.pathname).pathname:q.pathname]),pathnameBase:q.pathnameBase==="/"?m:te([m,h.encodeLocation?h.encodeLocation(q.pathnameBase).pathname:q.pathnameBase])})),b,d,o)}function Uv(){let f=Lv(),r=Ev(f)?`${f.status} ${f.statusText}`:f instanceof Error?f.message:JSON.stringify(f),d=f instanceof Error?f.stack:null,o="rgba(200,200,200, 0.5)",h={padding:"0.5rem",backgroundColor:o},b={padding:"2px 4px",backgroundColor:o},_=null;return console.error("Error handled by React Router default ErrorBoundary:",f),_=C.createElement(C.Fragment,null,C.createElement("p",null,"💿 Hey developer 👋"),C.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",C.createElement("code",{style:b},"ErrorBoundary")," or"," ",C.createElement("code",{style:b},"errorElement")," prop on your route.")),C.createElement(C.Fragment,null,C.createElement("h2",null,"Unexpected Application Error!"),C.createElement("h3",{style:{fontStyle:"italic"}},r),d?C.createElement("pre",{style:h},d):null,_)}var Cv=C.createElement(Uv,null),Nv=class extends C.Component{constructor(f){super(f),this.state={location:f.location,revalidation:f.revalidation,error:f.error}}static getDerivedStateFromError(f){return{error:f}}static getDerivedStateFromProps(f,r){return r.location!==f.location||r.revalidation!=="idle"&&f.revalidation==="idle"?{error:f.error,location:f.location,revalidation:f.revalidation}:{error:f.error!==void 0?f.error:r.error,location:r.location,revalidation:f.revalidation||r.revalidation}}componentDidCatch(f,r){console.error("React Router caught the following error during render",f,r)}render(){return this.state.error!==void 0?C.createElement(Bl.Provider,{value:this.props.routeContext},C.createElement(Bc.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Hv({routeContext:f,match:r,children:d}){let o=C.useContext(Na);return o&&o.static&&o.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=r.route.id),C.createElement(Bl.Provider,{value:f},d)}function Bv(f,r=[],d=null,o=null){if(f==null){if(!d)return null;if(d.errors)f=d.matches;else if(r.length===0&&!d.initialized&&d.matches.length>0)f=d.matches;else return null}let h=f,b=d==null?void 0:d.errors;if(b!=null){let S=h.findIndex(m=>m.route.id&&(b==null?void 0:b[m.route.id])!==void 0);Yt(S>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(b).join(",")}`),h=h.slice(0,Math.min(h.length,S+1))}let _=!1,U=-1;if(d)for(let S=0;S<h.length;S++){let m=h[S];if((m.route.HydrateFallback||m.route.hydrateFallbackElement)&&(U=S),m.route.id){let{loaderData:H,errors:N}=d,B=m.route.loader&&!H.hasOwnProperty(m.route.id)&&(!N||N[m.route.id]===void 0);if(m.route.lazy||B){_=!0,U>=0?h=h.slice(0,U+1):h=[h[0]];break}}}return h.reduceRight((S,m,H)=>{let N,B=!1,X=null,w=null;d&&(N=b&&m.route.id?b[m.route.id]:void 0,X=m.route.errorElement||Cv,_&&(U<0&&H===0?(hm("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),B=!0,w=null):U===H&&(B=!0,w=m.route.hydrateFallbackElement||null)));let Q=r.concat(h.slice(0,H+1)),Z=()=>{let q;return N?q=X:B?q=w:m.route.Component?q=C.createElement(m.route.Component,null):m.route.element?q=m.route.element:q=S,C.createElement(Hv,{match:m,routeContext:{outlet:S,matches:Q,isDataRoute:d!=null},children:q})};return d&&(m.route.ErrorBoundary||m.route.errorElement||H===0)?C.createElement(Nv,{location:d.location,revalidation:d.revalidation,component:X,error:N,children:Z(),routeContext:{outlet:null,matches:Q,isDataRoute:!0}}):Z()},null)}function xc(f){return`${f} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function xv(f){let r=C.useContext(Na);return Yt(r,xc(f)),r}function qv(f){let r=C.useContext(ei);return Yt(r,xc(f)),r}function Yv(f){let r=C.useContext(Bl);return Yt(r,xc(f)),r}function qc(f){let r=Yv(f),d=r.matches[r.matches.length-1];return Yt(d.route.id,`${f} can only be used on routes that contain a unique "id"`),d.route.id}function Gv(){return qc("useRouteId")}function Lv(){var o;let f=C.useContext(Bc),r=qv("useRouteError"),d=qc("useRouteError");return f!==void 0?f:(o=r.errors)==null?void 0:o[d]}function jv(){let{router:f}=xv("useNavigate"),r=qc("useNavigate"),d=C.useRef(!1);return dm(()=>{d.current=!0}),C.useCallback(async(h,b={})=>{Nl(d.current,sm),d.current&&(typeof h=="number"?f.navigate(h):await f.navigate(h,{fromRouteId:r,...b}))},[f,r])}var tm={};function hm(f,r,d){!r&&!tm[f]&&(tm[f]=!0,Nl(!1,d))}C.memo(Xv);function Xv({routes:f,future:r,state:d}){return mm(f,void 0,d,r)}function M0(f){return Rv(f.context)}function Qv({basename:f="/",children:r=null,location:d,navigationType:o="POP",navigator:h,static:b=!1}){Yt(!Cu(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let _=f.replace(/^\/*/,"/"),U=C.useMemo(()=>({basename:_,navigator:h,static:b,future:{}}),[_,h,b]);typeof d=="string"&&(d=Uu(d));let{pathname:S="/",search:m="",hash:H="",state:N=null,key:B="default"}=d,X=C.useMemo(()=>{let w=Oe(S,_);return w==null?null:{location:{pathname:w,search:m,hash:H,state:N,key:B},navigationType:o}},[_,S,m,H,N,B,o]);return Nl(X!=null,`<Router basename="${_}"> is not able to match the URL "${S}${m}${H}" because it does not start with the basename, so the <Router> won't render anything.`),X==null?null:C.createElement(Hl.Provider,{value:U},C.createElement(ai.Provider,{children:r,value:X}))}var Pn="get",ti="application/x-www-form-urlencoded";function ui(f){return f!=null&&typeof f.tagName=="string"}function Zv(f){return ui(f)&&f.tagName.toLowerCase()==="button"}function Vv(f){return ui(f)&&f.tagName.toLowerCase()==="form"}function Kv(f){return ui(f)&&f.tagName.toLowerCase()==="input"}function Jv(f){return!!(f.metaKey||f.altKey||f.ctrlKey||f.shiftKey)}function wv(f,r){return f.button===0&&(!r||r==="_self")&&!Jv(f)}var In=null;function Wv(){if(In===null)try{new FormData(document.createElement("form"),0),In=!1}catch{In=!0}return In}var $v=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Cc(f){return f!=null&&!$v.has(f)?(Nl(!1,`"${f}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${ti}"`),null):f}function kv(f,r){let d,o,h,b,_;if(Vv(f)){let U=f.getAttribute("action");o=U?Oe(U,r):null,d=f.getAttribute("method")||Pn,h=Cc(f.getAttribute("enctype"))||ti,b=new FormData(f)}else if(Zv(f)||Kv(f)&&(f.type==="submit"||f.type==="image")){let U=f.form;if(U==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let S=f.getAttribute("formaction")||U.getAttribute("action");if(o=S?Oe(S,r):null,d=f.getAttribute("formmethod")||U.getAttribute("method")||Pn,h=Cc(f.getAttribute("formenctype"))||Cc(U.getAttribute("enctype"))||ti,b=new FormData(U,f),!Wv()){let{name:m,type:H,value:N}=f;if(H==="image"){let B=m?`${m}.`:"";b.append(`${B}x`,"0"),b.append(`${B}y`,"0")}else m&&b.append(m,N)}}else{if(ui(f))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');d=Pn,o=null,h=ti,_=f}return b&&h==="text/plain"&&(_=b,b=void 0),{action:o,method:d.toLowerCase(),encType:h,formData:b,body:_}}function Yc(f,r){if(f===!1||f===null||typeof f>"u")throw new Error(r)}async function Fv(f,r){if(f.id in r)return r[f.id];try{let d=await import(f.module);return r[f.id]=d,d}catch(d){return console.error(`Error loading route module \`${f.module}\`, reloading page...`),console.error(d),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Iv(f){return f==null?!1:f.href==null?f.rel==="preload"&&typeof f.imageSrcSet=="string"&&typeof f.imageSizes=="string":typeof f.rel=="string"&&typeof f.href=="string"}async function Pv(f,r,d){let o=await Promise.all(f.map(async h=>{let b=r.routes[h.route.id];if(b){let _=await Fv(b,d);return _.links?_.links():[]}return[]}));return a0(o.flat(1).filter(Iv).filter(h=>h.rel==="stylesheet"||h.rel==="preload").map(h=>h.rel==="stylesheet"?{...h,rel:"prefetch",as:"style"}:{...h,rel:"prefetch"}))}function lm(f,r,d,o,h,b){let _=(S,m)=>d[m]?S.route.id!==d[m].route.id:!0,U=(S,m)=>{var H;return d[m].pathname!==S.pathname||((H=d[m].route.path)==null?void 0:H.endsWith("*"))&&d[m].params["*"]!==S.params["*"]};return b==="assets"?r.filter((S,m)=>_(S,m)||U(S,m)):b==="data"?r.filter((S,m)=>{var N;let H=o.routes[S.route.id];if(!H||!H.hasLoader)return!1;if(_(S,m)||U(S,m))return!0;if(S.route.shouldRevalidate){let B=S.route.shouldRevalidate({currentUrl:new URL(h.pathname+h.search+h.hash,window.origin),currentParams:((N=d[0])==null?void 0:N.params)||{},nextUrl:new URL(f,window.origin),nextParams:S.params,defaultShouldRevalidate:!0});if(typeof B=="boolean")return B}return!0}):[]}function t0(f,r){return l0(f.map(d=>{let o=r.routes[d.route.id];if(!o)return[];let h=[o.module];return o.imports&&(h=h.concat(o.imports)),h}).flat(1))}function l0(f){return[...new Set(f)]}function e0(f){let r={},d=Object.keys(f).sort();for(let o of d)r[o]=f[o];return r}function a0(f,r){let d=new Set;return new Set(r),f.reduce((o,h)=>{let b=JSON.stringify(e0(h));return d.has(b)||(d.add(b),o.push({key:b,link:h})),o},[])}function u0(f){let r=typeof f=="string"?new URL(f,typeof window>"u"?"server://singlefetch/":window.location.origin):f;return r.pathname==="/"?r.pathname="_root.data":r.pathname=`${r.pathname.replace(/\/$/,"")}.data`,r}function n0(){let f=C.useContext(Na);return Yc(f,"You must render this element inside a <DataRouterContext.Provider> element"),f}function i0(){let f=C.useContext(ei);return Yc(f,"You must render this element inside a <DataRouterStateContext.Provider> element"),f}var Gc=C.createContext(void 0);Gc.displayName="FrameworkContext";function ym(){let f=C.useContext(Gc);return Yc(f,"You must render this element inside a <HydratedRouter> element"),f}function f0(f,r){let d=C.useContext(Gc),[o,h]=C.useState(!1),[b,_]=C.useState(!1),{onFocus:U,onBlur:S,onMouseEnter:m,onMouseLeave:H,onTouchStart:N}=r,B=C.useRef(null);C.useEffect(()=>{if(f==="render"&&_(!0),f==="viewport"){let Q=q=>{q.forEach(at=>{_(at.isIntersecting)})},Z=new IntersectionObserver(Q,{threshold:.5});return B.current&&Z.observe(B.current),()=>{Z.disconnect()}}},[f]),C.useEffect(()=>{if(o){let Q=setTimeout(()=>{_(!0)},100);return()=>{clearTimeout(Q)}}},[o]);let X=()=>{h(!0)},w=()=>{h(!1),_(!1)};return d?f!=="intent"?[b,B,{}]:[b,B,{onFocus:Du(U,X),onBlur:Du(S,w),onMouseEnter:Du(m,X),onMouseLeave:Du(H,w),onTouchStart:Du(N,X)}]:[!1,B,{}]}function Du(f,r){return d=>{f&&f(d),d.defaultPrevented||r(d)}}function c0({page:f,...r}){let{router:d}=n0(),o=C.useMemo(()=>um(d.routes,f,d.basename),[d.routes,f,d.basename]);return o?C.createElement(r0,{page:f,matches:o,...r}):(console.warn(`Tried to prefetch ${f} but no routes matched.`),null)}function o0(f){let{manifest:r,routeModules:d}=ym(),[o,h]=C.useState([]);return C.useEffect(()=>{let b=!1;return Pv(f,r,d).then(_=>{b||h(_)}),()=>{b=!0}},[f,r,d]),o}function r0({page:f,matches:r,...d}){let o=we(),{manifest:h,routeModules:b}=ym(),{loaderData:_,matches:U}=i0(),S=C.useMemo(()=>lm(f,r,U,h,o,"data"),[f,r,U,h,o]),m=C.useMemo(()=>lm(f,r,U,h,o,"assets"),[f,r,U,h,o]),H=C.useMemo(()=>{if(f===o.pathname+o.search+o.hash)return[];let X=new Set,w=!1;if(r.forEach(Z=>{var at;let q=h.routes[Z.route.id];!q||!q.hasLoader||(!S.some($=>$.route.id===Z.route.id)&&Z.route.id in _&&((at=b[Z.route.id])!=null&&at.shouldRevalidate)||q.hasClientLoader?w=!0:X.add(Z.route.id))}),X.size===0)return[];let Q=u0(f);return w&&X.size>0&&Q.searchParams.set("_routes",r.filter(Z=>X.has(Z.route.id)).map(Z=>Z.route.id).join(",")),[Q.pathname+Q.search]},[_,o,h,S,r,f,b]),N=C.useMemo(()=>t0(m,h),[m,h]),B=o0(m);return C.createElement(C.Fragment,null,H.map(X=>C.createElement("link",{key:X,rel:"prefetch",as:"fetch",href:X,...d})),N.map(X=>C.createElement("link",{key:X,rel:"modulepreload",href:X,...d})),B.map(({key:X,link:w})=>C.createElement("link",{key:X,...w})))}function s0(...f){return r=>{f.forEach(d=>{typeof d=="function"?d(r):d!=null&&(d.current=r)})}}var vm=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{vm&&(window.__reactRouterVersion="7.0.2")}catch{}function D0({basename:f,children:r,window:d}){let o=C.useRef();o.current==null&&(o.current=Py({window:d,v5Compat:!0}));let h=o.current,[b,_]=C.useState({action:h.action,location:h.location}),U=C.useCallback(S=>{C.startTransition(()=>_(S))},[_]);return C.useLayoutEffect(()=>h.listen(U),[h,U]),C.createElement(Qv,{basename:f,children:r,location:b.location,navigationType:b.action,navigator:h})}var gm=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Sm=C.forwardRef(function({onClick:r,discover:d="render",prefetch:o="none",relative:h,reloadDocument:b,replace:_,state:U,target:S,to:m,preventScrollReset:H,viewTransition:N,...B},X){let{basename:w}=C.useContext(Hl),Q=typeof m=="string"&&gm.test(m),Z,q=!1;if(typeof m=="string"&&Q&&(Z=m,vm))try{let At=new URL(window.location.href),el=m.startsWith("//")?new URL(At.protocol+m):new URL(m),al=Oe(el.pathname,w);el.origin===At.origin&&al!=null?m=al+el.search+el.hash:q=!0}catch{Nl(!1,`<Link to="${m}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let at=_v(m,{relative:h}),[$,bt,Tt]=f0(o,B),Bt=y0(m,{replace:_,state:U,target:S,preventScrollReset:H,relative:h,viewTransition:N});function I(At){r&&r(At),At.defaultPrevented||Bt(At)}let xt=C.createElement("a",{...B,...Tt,href:Z||at,onClick:q||b?r:I,ref:s0(X,bt),target:S,"data-discover":!Q&&d==="render"?"true":void 0});return $&&!Q?C.createElement(C.Fragment,null,xt,C.createElement(c0,{page:at})):xt});Sm.displayName="Link";var d0=C.forwardRef(function({"aria-current":r="page",caseSensitive:d=!1,className:o="",end:h=!1,style:b,to:_,viewTransition:U,children:S,...m},H){let N=Nu(_,{relative:m.relative}),B=we(),X=C.useContext(ei),{navigator:w,basename:Q}=C.useContext(Hl),Z=X!=null&&p0(N)&&U===!0,q=w.encodeLocation?w.encodeLocation(N).pathname:N.pathname,at=B.pathname,$=X&&X.navigation&&X.navigation.location?X.navigation.location.pathname:null;d||(at=at.toLowerCase(),$=$?$.toLowerCase():null,q=q.toLowerCase()),$&&Q&&($=Oe($,Q)||$);const bt=q!=="/"&&q.endsWith("/")?q.length-1:q.length;let Tt=at===q||!h&&at.startsWith(q)&&at.charAt(bt)==="/",Bt=$!=null&&($===q||!h&&$.startsWith(q)&&$.charAt(q.length)==="/"),I={isActive:Tt,isPending:Bt,isTransitioning:Z},xt=Tt?r:void 0,At;typeof o=="function"?At=o(I):At=[o,Tt?"active":null,Bt?"pending":null,Z?"transitioning":null].filter(Boolean).join(" ");let el=typeof b=="function"?b(I):b;return C.createElement(Sm,{...m,"aria-current":xt,className:At,ref:H,style:el,to:_,viewTransition:U},typeof S=="function"?S(I):S)});d0.displayName="NavLink";var m0=C.forwardRef(({discover:f="render",fetcherKey:r,navigate:d,reloadDocument:o,replace:h,state:b,method:_=Pn,action:U,onSubmit:S,relative:m,preventScrollReset:H,viewTransition:N,...B},X)=>{let w=S0(),Q=b0(U,{relative:m}),Z=_.toLowerCase()==="get"?"get":"post",q=typeof U=="string"&&gm.test(U),at=$=>{if(S&&S($),$.defaultPrevented)return;$.preventDefault();let bt=$.nativeEvent.submitter,Tt=(bt==null?void 0:bt.getAttribute("formmethod"))||_;w(bt||$.currentTarget,{fetcherKey:r,method:Tt,navigate:d,replace:h,state:b,relative:m,preventScrollReset:H,viewTransition:N})};return C.createElement("form",{ref:X,method:Z,action:Q,onSubmit:o?S:at,...B,"data-discover":!q&&f==="render"?"true":void 0})});m0.displayName="Form";function h0(f){return`${f} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function bm(f){let r=C.useContext(Na);return Yt(r,h0(f)),r}function y0(f,{target:r,replace:d,state:o,preventScrollReset:h,relative:b,viewTransition:_}={}){let U=Ov(),S=we(),m=Nu(f,{relative:b});return C.useCallback(H=>{if(wv(H,r)){H.preventDefault();let N=d!==void 0?d:Ru(S)===Ru(m);U(f,{replace:N,state:o,preventScrollReset:h,relative:b,viewTransition:_})}},[S,U,m,d,o,r,f,h,b,_])}var v0=0,g0=()=>`__${String(++v0)}__`;function S0(){let{router:f}=bm("useSubmit"),{basename:r}=C.useContext(Hl),d=Gv();return C.useCallback(async(o,h={})=>{let{action:b,method:_,encType:U,formData:S,body:m}=kv(o,r);if(h.navigate===!1){let H=h.fetcherKey||g0();await f.fetch(H,d,h.action||b,{preventScrollReset:h.preventScrollReset,formData:S,body:m,formMethod:h.method||_,formEncType:h.encType||U,flushSync:h.flushSync})}else await f.navigate(h.action||b,{preventScrollReset:h.preventScrollReset,formData:S,body:m,formMethod:h.method||_,formEncType:h.encType||U,replace:h.replace,state:h.state,fromRouteId:d,flushSync:h.flushSync,viewTransition:h.viewTransition})},[f,r,d])}function b0(f,{relative:r}={}){let{basename:d}=C.useContext(Hl),o=C.useContext(Bl);Yt(o,"useFormAction must be used inside a RouteContext");let[h]=o.matches.slice(-1),b={...Nu(f||".",{relative:r})},_=we();if(f==null){b.search=_.search;let U=new URLSearchParams(b.search),S=U.getAll("index");if(S.some(H=>H==="")){U.delete("index"),S.filter(N=>N).forEach(N=>U.append("index",N));let H=U.toString();b.search=H?`?${H}`:""}}return(!f||f===".")&&h.route.index&&(b.search=b.search?b.search.replace(/^\?/,"?index&"):"?index"),d!=="/"&&(b.pathname=b.pathname==="/"?d:te([d,b.pathname])),Ru(b)}function p0(f,r={}){let d=C.useContext(rm);Yt(d!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:o}=bm("useViewTransitionState"),h=Nu(f,{relative:r.relative});if(!d.isTransitioning)return!1;let b=Oe(d.currentLocation.pathname,o)||d.currentLocation.pathname,_=Oe(d.nextLocation.pathname,o)||d.nextLocation.pathname;return li(h.pathname,_)!=null||li(h.pathname,b)!=null}new TextEncoder;var E0=am();const R0=em(E0);export{D0 as B,Sm as L,M0 as O,A0 as R,E0 as a,R0 as b,wy as c,_0 as d,z0 as e,em as g,T0 as j,C as r,O0 as u};
61
+ //# sourceMappingURL=react-vendor-BmQ2Ko_D.js.map