git-truck 3.2.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -28
- package/build/client/assets/ChevronButton-ANoRM4oe.js +1 -0
- package/build/client/assets/CollapsibleHeader-Bu4p-oqI.js +1 -0
- package/build/client/assets/Tooltip-DRu0grUy.js +5 -0
- package/build/client/assets/api.abort-CX5xkHwa.js +1 -0
- package/build/client/assets/api.abort-DxAkeS-W.js +1 -0
- package/build/client/assets/api.commits-DAF4WH2m.js +1 -0
- package/build/client/assets/api.commits-iEgBtL-A.js +1 -0
- package/build/client/assets/api.progress-BENNzkFW.js +1 -0
- package/build/client/assets/api.progress-DICNnGq5.js +1 -0
- package/build/client/assets/browse-DGrdg-dm.js +1 -0
- package/build/client/assets/browse-Mvd04mK4.js +1 -0
- package/build/client/assets/clear-cache-BTEuD7P-.js +1 -0
- package/build/client/assets/clear-cache-BdU23_cx.js +1 -0
- package/build/client/assets/crashedTruck_48x-DZ8PrkDC.gif +0 -0
- package/build/client/assets/dist-QDdB6dtJ.js +2 -0
- package/build/client/assets/drivingTruck_32x-C9OqTj6H.gif +0 -0
- package/build/client/assets/drivingTruck_48x-CILwQUl6.gif +0 -0
- package/build/client/assets/{entry.client-Ci1gLbyI.js → entry.client-GhdqqEEy.js} +4 -4
- package/build/client/assets/jsx-runtime-GK6fC0y1.js +26 -0
- package/build/client/assets/loadingTruck_48x-ClwSXdP8.gif +0 -0
- package/build/client/assets/manifest-a38e366c.js +1 -0
- package/build/client/assets/react-YTRJEZSD.js +1 -0
- package/build/client/assets/react-dom-QjzVRb79.js +1 -0
- package/build/client/assets/root-CA2KruPD.js +3 -0
- package/build/client/assets/root-CV-2KSQa.css +2 -0
- package/build/client/assets/ui-HOyuwkxV.js +1 -0
- package/build/client/assets/unloadingTruck_48x-stS0XDD5.gif +0 -0
- package/build/client/assets/util-CPW5oMgy.js +44 -0
- package/build/client/assets/view-Cwcd1vTK.js +4 -0
- package/build/client/assets/viewParams-BaE5Z0S4.js +1 -0
- package/build/server/assets/dist-Cm7_4uo5.js +6716 -0
- package/build/server/assets/server-build-D8iMgYfe.js +65279 -0
- package/build/server/index.js +23040 -4
- package/cli.mjs +798 -2463
- package/package.json +122 -98
- package/build/client/assets/RepoTabs-CxO-avi8.js +0 -1
- package/build/client/assets/browse-Bvc2-R26.js +0 -1
- package/build/client/assets/browse-n3hSveGT.js +0 -9
- package/build/client/assets/clear-cache-BJQQzFka.js +0 -1
- package/build/client/assets/clear-cache-DkN7P69Z.js +0 -1
- package/build/client/assets/dist-Bpk5WHYg.js +0 -2
- package/build/client/assets/jsx-runtime-s_YwNCZb.js +0 -26
- package/build/client/assets/manifest-1770f4ad.js +0 -1
- package/build/client/assets/react-dom-B9ui1jR3.js +0 -1
- package/build/client/assets/root-BK0u4vgl.css +0 -1
- package/build/client/assets/root-CGqKHKfX.js +0 -3
- package/build/client/assets/truck-BgAoc4Gr.gif +0 -0
- package/build/client/assets/ui-Dwu6e1gT.js +0 -1
- package/build/client/assets/view-PpNM0R4w.js +0 -1
- package/build/client/assets/view._index-jmCCN9mA.js +0 -1
- package/build/client/assets/view.commits-CUFKse0G.js +0 -1
- package/build/client/assets/view.details-12HQVV2q.js +0 -1
- package/build/server/assets/server-build-UP6uUcLa.js +0 -15737
- /package/build/client/assets/{_-CT17qCl3.js → _-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{_._well-known._-8QUD84tm.js → _._well-known._-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{_index-VLoUE117.js → _index-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{_path-DzSNgPJP.js → _path-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{commitcount-B_3CeIvr.js → api.commit-intervals-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{commits-DDIAHyHU.js → api.contributor-distribution-BvRk9kiK.js} +0 -0
- /package/build/client/assets/{view.progress-CEmcNaLe.js → api.metrics-BvRk9kiK.js} +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{n as e,r as t,t as n}from"./react-YTRJEZSD.js";var r=t(n(),1),i=`modulepreload`,a=function(e){return`/`+e},o={},s=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),s=document.querySelector(`meta[property=csp-nonce]`),c=s?.nonce||s?.getAttribute(`nonce`);function l(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=l(t.map(t=>{if(t=a(t,n),t in o)return;o[t]=!0;let r=t.endsWith(`.css`),s=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${s}`))return;let l=document.createElement(`link`);if(l.rel=r?`stylesheet`:i,r||(l.as=`script`),l.crossOrigin=``,l.href=t,c&&l.setAttribute(`nonce`,c),document.head.appendChild(l),r)return new Promise((e,n)=>{l.addEventListener(`load`,e),l.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function s(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&s(e.reason);return e().catch(s)})},c=e=>{throw TypeError(e)},l=(e,t,n)=>t.has(e)||c(`Cannot `+n),u=(e,t,n)=>(l(e,t,`read from private field`),n?n.call(e):t.get(e)),d=(e,t,n)=>t.has(e)?c(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),f=(e,t,n,r)=>(l(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n),p=`popstate`;function m(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function h(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return b(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:x(t)}return C(t,n,null,e)}function g(e,t){if(e===!1||e==null)throw Error(t)}function _(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function v(){return Math.random().toString(36).substring(2,10)}function y(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function b(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?S(t):t,state:n,key:t&&t.key||r||v(),mask:i}}function x({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function S(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function C(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:_.location,delta:t})}function f(e,t){s=`PUSH`;let r=m(e)?e:b(_.location,e,t);n&&n(r,e),l=u()+1;let d=y(r,l),f=_.createHref(r.mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:_.location,delta:1})}function h(e,t){s=`REPLACE`;let r=m(e)?e:b(_.location,e,t);n&&n(r,e),l=u();let i=y(r,l),d=_.createHref(r.mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:_.location,delta:0})}function g(e){return w(e)}let _={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(p,d),c=e,()=>{i.removeEventListener(p,d),c=null}},createHref(e){return t(i,e)},createURL:g,encodeLocation(e){let t=g(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:h,go(e){return o.go(e)}};return _}function w(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),g(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:x(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function T(e){return{defaultValue:e}}var E,D=class{constructor(e){if(d(this,E,new Map),e)for(let[t,n]of e)this.set(t,n)}get(e){if(u(this,E).has(e))return u(this,E).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw Error(`No value found for context`)}set(e,t){u(this,E).set(e,t)}};E=new WeakMap;var O=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`children`]);function k(e){return O.has(e)}var A=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`middleware`,`children`]);function j(e){return A.has(e)}function M(e){return e.index===!0}function ee(e,t,n=[],r={},i=!1){return e.map((e,a)=>{let o=[...n,String(a)],s=typeof e.id==`string`?e.id:o.join(`-`);if(g(e.index!==!0||!e.children,`Cannot specify children on an index route`),g(i||!r[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),M(e)){let n={...e,id:s};return r[s]=N(n,t(n)),n}else{let n={...e,id:s,children:void 0};return r[s]=N(n,t(n)),e.children&&(n.children=ee(e.children,t,o,r,i)),n}})}function N(e,t){return Object.assign(e,{...t,...typeof t.lazy==`object`&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function P(e,t,n=`/`){return F(e,t,n,!1)}function F(e,t,n,r,i){let a=V((typeof t==`string`?S(t):t).pathname||`/`,n);if(a==null)return null;let o=i??I(e),s=null,c=pe(a);for(let e=0;s==null&&e<o.length;++e)s=z(o[e],c,r);return s}function te(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,data:t[n.id],loaderData:t[n.id],handle:n.handle}}function I(e){let t=ne(e);return ie(t),t}function ne(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;g(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=W([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(g(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),ne(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:de(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of re(e.path))a(e,t,!0,n)}),t}function re(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=re(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function ie(e){e.sort((e,t)=>e.score===t.score?R(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var ae=/^:[\w-]+$/,oe=3,L=2,se=1,ce=10,le=-2,ue=e=>e===`*`;function de(e,t){let n=e.split(`/`),r=n.length;return n.some(ue)&&(r+=le),t&&(r+=L),n.filter(e=>!ue(e)).reduce((e,t)=>e+(ae.test(t)?oe:t===``?se:ce),r)}function R(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function z(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u=B({path:s.relativePath,caseSensitive:s.caseSensitive,end:c},l),d=s.route;if(!u&&c&&n&&!r[r.length-1].route.index&&(u=B({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:W([a,u.pathname]),pathnameBase:Ce(W([a,u.pathnameBase])),route:d}),u.pathnameBase!==`/`&&(a=W([a,u.pathnameBase]))}return o}function B(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=fe(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function fe(e,t=!1,n=!0){_(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 r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function pe(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return _(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function V(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function me({basename:e,pathname:t}){return t===`/`?e:W([e,t])}var he=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ge=e=>he.test(e);function _e(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?S(e):e,a;return n?(n=xe(n),a=n.startsWith(`/`)?H(n.substring(1),`/`):H(n,t)):a=t,{pathname:a,search:we(r),hash:Te(i)}}function H(e,t){let n=Se(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function ve(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function ye(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function be(e){let t=ye(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function U(e,t,n,r=!1){let i;typeof e==`string`?i=S(e):(i={...e},g(!i.pathname||!i.pathname.includes(`?`),ve(`?`,`pathname`,`search`,i)),g(!i.pathname||!i.pathname.includes(`#`),ve(`#`,`pathname`,`hash`,i)),g(!i.search||!i.search.includes(`#`),ve(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=_e(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var xe=e=>e.replace(/\/\/+/g,`/`),W=e=>xe(e.join(`/`)),Se=e=>e.replace(/\/+$/,``),Ce=e=>Se(e).replace(/^\/*/,`/`),we=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Te=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Ee=class{constructor(e,t){this.type=`DataWithResponseInit`,this.data=e,this.init=t||null}};function De(e,t){return new Ee(e,typeof t==`number`?{status:t}:t)}var Oe=(e,t=302)=>{let n=t;typeof n==`number`?n={status:n}:n.status===void 0&&(n.status=302);let r=new Headers(n.headers);return r.set(`Location`,e),new Response(null,{...n,headers:r})},G=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function ke(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Ae(e){return W(e.map(e=>e.route.path).filter(Boolean))||`/`}var je=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Me(e,t){let n=e;if(typeof n!=`string`||!he.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(je)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=V(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{_(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}var Ne=Symbol(`Uninstrumented`);function Pe(e,t){let n={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(e=>e({id:t.id,index:t.index,path:t.path,instrument(e){let t=Object.keys(n);for(let r of t)e[r]&&n[r].push(e[r])}}));let r={};if(typeof t.lazy==`function`&&n.lazy.length>0){let e=Ie(n.lazy,t.lazy,()=>void 0);e&&(r.lazy=e)}if(typeof t.lazy==`object`){let e=t.lazy;[`middleware`,`loader`,`action`].forEach(t=>{let i=e[t],a=n[`lazy.${t}`];if(typeof i==`function`&&a.length>0){let e=Ie(a,i,()=>void 0);e&&(r.lazy=Object.assign(r.lazy||{},{[t]:e}))}})}return[`loader`,`action`].forEach(e=>{let i=t[e];if(typeof i==`function`&&n[e].length>0){let t=i[Ne]??i,a=Ie(n[e],t,(...e)=>Re(e[0]));a&&(e===`loader`&&t.hydrate===!0&&(a.hydrate=!0),a[Ne]=t,r[e]=a)}}),t.middleware&&t.middleware.length>0&&n.middleware.length>0&&(r.middleware=t.middleware.map(e=>{let t=e[Ne]??e,r=Ie(n.middleware,t,(...e)=>Re(e[0]));return r?(r[Ne]=t,r):e})),r}function Fe(e,t){let n={navigate:[],fetch:[]};if(t.forEach(e=>e({instrument(e){let t=Object.keys(e);for(let r of t)e[r]&&n[r].push(e[r])}})),n.navigate.length>0){let t=e.navigate[Ne]??e.navigate,r=Ie(n.navigate,t,(...t)=>{let[n,r]=t;return{to:typeof n==`number`||typeof n==`string`?n:n?x(n):`.`,...ze(e,r??{})}});r&&(r[Ne]=t,e.navigate=r)}if(n.fetch.length>0){let t=e.fetch[Ne]??e.fetch,r=Ie(n.fetch,t,(...t)=>{let[n,,r,i]=t;return{href:r??`.`,fetcherKey:n,...ze(e,i??{})}});r&&(r[Ne]=t,e.fetch=r)}return e}function Ie(e,t,n){return e.length===0?null:async(...r)=>{let i=await Le(e,n(...r),()=>t(...r),e.length-1);if(i.type===`error`)throw i.value;return i.value}}async function Le(e,t,n,r){let i=e[r],a;if(i){let o,s=async()=>(o?console.error(`You cannot call instrumented handlers more than once`):o=Le(e,t,n,r-1),a=await o,g(a,`Expected a result`),a.type===`error`&&a.value instanceof Error?{status:`error`,error:a.value}:{status:`success`,error:void 0});try{await i(s,t)}catch(e){console.error(`An instrumentation function threw an error:`,e)}o||await s(),await o}else try{a={type:`success`,value:await n()}}catch(e){a={type:`error`,value:e}}return a||{type:`error`,value:Error(`No result assigned in instrumentation chain.`)}}function Re(e){let{request:t,context:n,params:r,pattern:i}=e;return{request:Be(t),params:{...r},pattern:i,context:Ve(n)}}function ze(e,t){return{currentUrl:x(e.state.location),...`formMethod`in t?{formMethod:t.formMethod}:{},...`formEncType`in t?{formEncType:t.formEncType}:{},...`formData`in t?{formData:t.formData}:{},...`body`in t?{body:t.body}:{}}}function Be(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function Ve(e){if(Ue(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var He=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function Ue(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===He}var We=[`POST`,`PUT`,`PATCH`,`DELETE`],Ge=new Set(We),Ke=[`GET`,...We],qe=new Set(Ke),Je=new Set([301,302,303,307,308]),Ye=new Set([307,308]),Xe={state:`idle`,location:void 0,matches:void 0,historyAction:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ze={state:`idle`,data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Qe={state:`unblocked`,proceed:void 0,reset:void 0,location:void 0},$e=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),et=`remix-router-transitions`,tt=Symbol(`ResetLoaderData`),nt,rt,K,it,at=class{constructor(e){d(this,nt),d(this,rt),d(this,K),d(this,it),f(this,nt,e),f(this,rt,I(e))}get stableRoutes(){return u(this,nt)}get activeRoutes(){return u(this,K)??u(this,nt)}get branches(){return u(this,it)??u(this,rt)}get hasHMRRoutes(){return u(this,K)!=null}setRoutes(e){f(this,nt,e),f(this,rt,I(e))}setHmrRoutes(e){f(this,K,e),f(this,it,I(e))}commitHmrRoutes(){u(this,K)&&(f(this,nt,u(this,K)),f(this,rt,u(this,it)),f(this,K,void 0),f(this,it,void 0))}};nt=new WeakMap,rt=new WeakMap,K=new WeakMap,it=new WeakMap;function ot(e){let t=e.window?e.window:typeof window<`u`?window:void 0,n=t!==void 0&&t.document!==void 0&&t.document.createElement!==void 0;g(e.routes.length>0,`You must provide a non-empty routes array to createRouter`);let r=e.hydrationRouteProperties||[],i=e.mapRouteProperties||$e,a=i;if(e.instrumentations){let t=e.instrumentations;a=e=>({...i(e),...Pe(t.map(e=>e.route).filter(Boolean),e)})}let o={},s=new at(ee(e.routes,a,void 0,o)),c=e.basename||`/`;c.startsWith(`/`)||(c=`/${c}`);let l=e.dataStrategy||Ct,u={...e.future},d=null,f=new Set,p=null,m=null,h=null,v=null,y=e.hydrationData!=null,x=F(s.activeRoutes,e.history.location,c,!1,s.branches),C=!1,T=null,E,O;if(x==null&&!e.patchRoutesOnNavigation){let t=q(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=Kt(s.activeRoutes);E=!0,O=!E,x=n,T={[r.id]:t}}else if(x&&!e.hydrationData&&rt(x,s.activeRoutes,e.history.location.pathname).active&&(x=null),!x){E=!1,O=!E,x=[];let t=rt(null,s.activeRoutes,e.history.location.pathname);t.active&&t.matches&&(C=!0,x=t.matches)}else if(x.some(e=>e.route.lazy))E=!1,O=!E;else if(!x.some(e=>dt(e.route)))E=!0,O=!E;else{let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null,r=x;if(n){let e=x.findIndex(e=>n[e.route.id]!==void 0);r=r.slice(0,e+1)}O=!1,E=!0,r.forEach(e=>{let r=ft(e.route,t,n);O||=r.renderFallback,E&&=!r.shouldLoad})}let k,A={historyAction:e.history.action,location:e.history.location,matches:x,initialized:E,renderFallback:O,navigation:Xe,restoreScrollPosition:e.hydrationData==null?null:!1,preventScrollReset:!1,revalidation:`idle`,loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||T,fetchers:new Map,blockers:new Map},j=`POP`,M=null,N=!1,P,I=!1,ne=new Map,re=null,ie=!1,ae=!1,oe=new Set,L=new Map,se=0,ce=-1,le=new Map,ue=new Set,de=new Map,R=new Map,z=new Set,B=new Map,fe,pe=null;function me(){if(d=e.history.listen(({action:t,location:n,delta:r})=>{if(fe){fe(),fe=void 0;return}_(B.size===0||r!=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 i=Ke({currentLocation:A.location,nextLocation:n,historyAction:t});if(i&&r!=null){let t=new Promise(e=>{fe=e});e.history.go(r*-1),Ge(i,{state:`blocked`,location:n,proceed(){Ge(i,{state:`proceeding`,proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(r))},reset(){let e=new Map(A.blockers);e.set(i,Qe),H({blockers:e})}}),M?.resolve(),M=null;return}return U(t,n)}),n){hn(t,ne);let e=()=>gn(t,ne);t.addEventListener(`pagehide`,e),re=()=>t.removeEventListener(`pagehide`,e)}return A.initialized||U(`POP`,A.location,{initialHydration:!0}),k}function he(){d&&d(),re&&re(),f.clear(),P&&P.abort(),A.fetchers.forEach((e,t)=>Le(A.fetchers,t)),A.blockers.forEach((e,t)=>We(t))}function _e(e){if(f.add(e),p){let{newErrors:t}=p;p=null,e(A,{deletedFetchers:[],newErrors:t,viewTransitionOpts:void 0,flushSync:!1})}return()=>f.delete(e)}function H(e,t={}){e.matches&&=e.matches.map(e=>{let t=o[e.route.id],n=e.route;return n.element!==t.element||n.errorElement!==t.errorElement||n.hydrateFallbackElement!==t.hydrateFallbackElement?{...e,route:t}:e}),A={...A,...e};let n=[],r=[];A.fetchers.forEach((e,t)=>{e.state===`idle`&&(z.has(t)?n.push(t):r.push(t))}),z.forEach(e=>{!A.fetchers.has(e)&&!L.has(e)&&n.push(e)}),f.size===0&&(p={newErrors:e.errors??null}),[...f].forEach(r=>r(A,{deletedFetchers:n,newErrors:e.errors??null,viewTransitionOpts:t.viewTransitionOpts,flushSync:t.flushSync===!0})),n.forEach(e=>Le(A.fetchers,e)),r.forEach(e=>A.fetchers.delete(e))}function ve(t,n,{flushSync:r}={}){let i=A.actionData!=null&&A.navigation.formMethod!=null&&Y(A.navigation.formMethod)&&A.navigation.state===`loading`&&t.state?._isRedirect!==!0,a;a=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:i?A.actionData:null;let o=n.loaderData?Ut(A.loaderData,n.loaderData,n.matches||[],n.errors):A.loaderData,c=A.blockers;c.size>0&&(c=new Map(c),c.forEach((e,t)=>c.set(t,Qe)));let l=ie?!1:nt(t,n.matches||A.matches),u=N===!0||A.navigation.formMethod!=null&&Y(A.navigation.formMethod)&&t.state?._isRedirect!==!0;s.commitHmrRoutes(),ie||j===`POP`||(j===`PUSH`?e.history.push(t,t.state):j===`REPLACE`&&e.history.replace(t,t.state));let d;if(j===`POP`){let e=ne.get(A.location.pathname);e&&e.has(t.pathname)?d={currentLocation:A.location,nextLocation:t}:ne.has(t.pathname)&&(d={currentLocation:t,nextLocation:A.location})}else if(I){let e=ne.get(A.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),ne.set(A.location.pathname,e)),d={currentLocation:A.location,nextLocation:t}}H({...n,actionData:a,loaderData:o,historyAction:j,location:t,initialized:!0,renderFallback:!1,navigation:Xe,revalidation:`idle`,restoreScrollPosition:l,preventScrollReset:u,blockers:c},{viewTransitionOpts:d,flushSync:r===!0}),j=`POP`,N=!1,I=!1,ie=!1,ae=!1,M?.resolve(),M=null,pe?.resolve(),pe=null}async function ye(t,n){if(M?.resolve(),M=null,typeof t==`number`){M||=_n();let n=M.promise;return e.history.go(t),n}let{path:r,submission:i,error:a}=lt(!1,ct(A.location,A.matches,c,t,n?.fromRouteId,n?.relative),n),o;n?.mask&&(o={pathname:``,search:``,hash:``,...typeof n.mask==`string`?S(n.mask):{...A.location.mask,...n.mask}});let s=A.location,l=b(s,r,n&&n.state,void 0,o);l={...l,...e.history.encodeLocation(l)};let u=n&&n.replace!=null?n.replace:void 0,d=`PUSH`;u===!0?d=`REPLACE`:u===!1||i!=null&&Y(i.formMethod)&&i.formAction===A.location.pathname+A.location.search&&(d=`REPLACE`);let f=n&&`preventScrollReset`in n?n.preventScrollReset===!0:void 0,p=(n&&n.flushSync)===!0,m=Ke({currentLocation:s,nextLocation:l,historyAction:d});if(m){Ge(m,{state:`blocked`,location:l,proceed(){Ge(m,{state:`proceeding`,proceed:void 0,reset:void 0,location:l}),ye(t,n)},reset(){let e=new Map(A.blockers);e.set(m,Qe),H({blockers:e})}});return}await U(d,l,{submission:i,pendingError:a,preventScrollReset:f,replace:n&&n.replace,enableViewTransition:n&&n.viewTransition,flushSync:p,callSiteDefaultShouldRevalidate:n&&n.defaultShouldRevalidate})}function be(){pe||=_n(),Ae(),H({revalidation:`loading`});let e=pe.promise;return A.navigation.state===`submitting`?e:A.navigation.state===`idle`?(U(A.historyAction,A.location,{startUninterruptedRevalidation:!0}),e):(U(j||A.historyAction,A.navigation.location,{overrideNavigation:A.navigation,enableViewTransition:I===!0}),e)}async function U(t,n,r){P&&P.abort(),P=null,j=t,ie=(r&&r.startUninterruptedRevalidation)===!0,tt(A.location,A.matches),N=(r&&r.preventScrollReset)===!0,I=(r&&r.enableViewTransition)===!0;let i=s.activeRoutes,a=r?.initialHydration&&A.matches&&A.matches.length>0&&!C?A.matches:F(i,n,c,!1,s.branches),o=(r&&r.flushSync)===!0;if(a&&A.initialized&&!ae&&Yt(A.location,n)&&!(r&&r.submission&&Y(r.submission.formMethod))){ve(n,{matches:a},{flushSync:o});return}let l=rt(a,i,n.pathname);if(l.active&&l.matches&&(a=l.matches),!a){let{error:e,notFoundMatches:t,route:r}=qe(n.pathname);ve(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:o});return}let u=r&&r.overrideNavigation?{...r.overrideNavigation,matches:a,historyAction:t}:void 0;P=new AbortController;let d=Lt(e.history,n,P.signal,r&&r.submission),f=e.getContext?await e.getContext():new D,p;if(r&&r.pendingError)p=[Gt(a).route.id,{type:`error`,error:r.pendingError}];else if(r&&r.submission&&Y(r.submission.formMethod)){let i=await xe(d,n,r.submission,a,t,f,l.active,r&&r.initialHydration===!0,{replace:r.replace,flushSync:o});if(i.shortCircuited)return;if(i.pendingActionResult){let[e,t]=i.pendingActionResult;if(J(t)&&ke(t.error)&&t.error.status===404){P=null,ve(n,{matches:i.matches,loaderData:{},errors:{[e]:t.error}});return}}a=i.matches||a,p=i.pendingActionResult,u=un(n,a,t,r.submission),o=!1,l.active=!1,d=Lt(e.history,d.url,d.signal)}let{shortCircuited:m,matches:h,loaderData:g,errors:_,workingFetchers:v}=await W(d,n,a,t,f,l.active,u,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&r.initialHydration===!0,o,p,r&&r.callSiteDefaultShouldRevalidate);m||(P=null,ve(n,{matches:h||a,...Wt(p),loaderData:g,errors:_,...v?{fetchers:v}:{}}))}async function xe(t,n,i,l,u,d,f,p,m={}){if(Ae(),H({navigation:dn(n,l,u,i)},{flushSync:m.flushSync===!0}),f){let e=await K(l,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=Kt(s.activeRoutes);return{matches:t,pendingActionResult:[n.id,{type:`error`,error:e.error}]}}let t=Gt(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:`error`,error:e.error}]}}else if(e.matches)l=e.matches;else{let{notFoundMatches:e,error:t,route:r}=qe(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:`error`,error:t}]}}}let h,g=cn(l,n);if(!g.route.action&&!g.route.lazy)h={type:`error`,error:q(405,{method:t.method,pathname:n.pathname,routeId:g.route.id})};else{let e=await Oe(t,n,kt(a,o,t,n,l,g,p?[]:r,d),d,null);if(h=e[g.route.id],!h){for(let t of l)if(e[t.route.id]){h=e[t.route.id];break}}if(t.signal.aborted)return{shortCircuited:!0}}if(en(h)){let n;return n=m&&m.replace!=null?m.replace:It(h.response.headers.get(`Location`),new URL(t.url),c,e.history)===A.location.pathname+A.location.search,await De(t,h,!0,{submission:i,replace:n}),{shortCircuited:!0}}if(J(h)){let e=Gt(l,g.route.id);return(m&&m.replace)!==!0&&(j=`PUSH`),{matches:l,pendingActionResult:[e.route.id,h,g.route.id]}}return{matches:l,pendingActionResult:[g.route.id,h]}}async function W(t,n,i,l,u,d,f,p,m,h,g,_,v,y){let b=f||un(n,i,l,p),x=p||m||ln(b),S=!ie&&!g;if(d){if(S){let e=Se(v);H({navigation:b,...e===void 0?{}:{actionData:e}},{flushSync:_})}let e=await K(i,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=Kt(s.activeRoutes);return{matches:t,loaderData:{},errors:{[n.id]:e.error}}}let t=Gt(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}else if(e.matches)i=e.matches;else{let{error:e,notFoundMatches:t,route:r}=qe(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let C=s.activeRoutes,{dsMatches:w,revalidatingFetchers:T}=ut(t,u,a,o,e.history,A,i,x,n,g?[]:r,g===!0,ae,oe,z,de,ue,C,c,e.patchRoutesOnNavigation!=null,s.branches,v,y);if(ce=++se,!e.dataStrategy&&!w.some(e=>e.shouldLoad)&&!w.some(e=>e.route.middleware&&e.route.middleware.length>0)&&T.length===0){let e=new Map(A.fetchers),t=Ve(e);return ve(n,{matches:i,loaderData:{},errors:v&&J(v[1])?{[v[0]]:v[1].error}:null,...Wt(v),...t?{fetchers:e}:{}},{flushSync:_}),{shortCircuited:!0}}if(S){let e={};if(!d){e.navigation=b;let t=Se(v);t!==void 0&&(e.actionData=t)}T.length>0&&(e.fetchers=Ce(T)),H(e,{flushSync:_})}T.forEach(e=>{ze(e.key),e.controller&&L.set(e.key,e.controller)});let E=()=>T.forEach(e=>ze(e.key));P&&P.signal.addEventListener(`abort`,E);let{loaderResults:D,fetcherResults:O}=await G(w,T,t,n,u);if(t.signal.aborted)return{shortCircuited:!0};P&&P.signal.removeEventListener(`abort`,E),T.forEach(e=>L.delete(e.key));let k=qt(D);if(k)return await De(t,k.result,!0,{replace:h}),{shortCircuited:!0};if(k=qt(O),k)return ue.add(k.key),await De(t,k.result,!0,{replace:h}),{shortCircuited:!0};let j=new Map(A.fetchers),{loaderData:M,errors:ee}=Ht(A,i,D,v,T,O,j);g&&A.errors&&(ee={...A.errors,...ee});let N=Ve(j),F=He(ce,j),te=N||F||T.length>0;return{matches:i,loaderData:M,errors:ee,...te?{workingFetchers:j}:{}}}function Se(e){if(e&&!J(e[1]))return{[e[0]]:e[1].data};if(A.actionData)return Object.keys(A.actionData).length===0?null:A.actionData}function Ce(e){let t=new Map(A.fetchers);return e.forEach(e=>{let n=t.get(e.key),r=fn(void 0,n?n.data:void 0);t.set(e.key,r)}),t}async function we(t,n,r,i){ze(t);let a=(i&&i.flushSync)===!0,o=s.activeRoutes,l=ct(A.location,A.matches,c,r,n,i?.relative),u=F(o,l,c,!1,s.branches),d=rt(u,o,l);if(d.active&&d.matches&&(u=d.matches),!u){Me(t,n,q(404,{pathname:l}),{flushSync:a});return}let{path:f,submission:p,error:m}=lt(!0,l,i);if(m){Me(t,n,m,{flushSync:a});return}let h=e.getContext?await e.getContext():new D,g=(i&&i.preventScrollReset)===!0;if(p&&Y(p.formMethod)){await Te(t,n,f,u,h,d.active,a,g,p,i&&i.defaultShouldRevalidate);return}de.set(t,{routeId:n,path:f}),await Ee(t,n,f,u,h,d.active,a,g,p)}async function Te(t,n,i,l,u,d,f,p,m,h){Ae(),de.delete(t),je(t,pn(m,A.fetchers.get(t)),{flushSync:f});let _=new AbortController,v=Lt(e.history,i,_.signal,m);if(d){let e=await K(l,new URL(v.url).pathname,v.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){Me(t,n,e.error,{flushSync:f});return}else if(e.matches)l=e.matches;else{Me(t,n,q(404,{pathname:i}),{flushSync:f});return}}let y=cn(l,i);if(!y.route.action&&!y.route.lazy){Me(t,n,q(405,{method:m.formMethod,pathname:i,routeId:n}),{flushSync:f});return}L.set(t,_);let b=se,x=kt(a,o,v,i,l,y,r,u),S=await Oe(v,i,x,u,t),C=S[y.route.id];if(!C){for(let e of x)if(S[e.route.id]){C=S[e.route.id];break}}if(v.signal.aborted){L.get(t)===_&&L.delete(t);return}if(z.has(t)){if(en(C)||J(C)){je(t,mn(void 0));return}}else{if(en(C))if(L.delete(t),ce>b){je(t,mn(void 0));return}else return ue.add(t),je(t,fn(m)),De(v,C,!1,{fetcherSubmission:m,preventScrollReset:p});if(J(C)){Me(t,n,C.error);return}}let w=A.navigation.location||A.location,T=Lt(e.history,w,_.signal),E=s.activeRoutes,D=A.navigation.state===`idle`?A.matches:F(E,A.navigation.location,c,!1,s.branches);g(D,`Didn't find any matches after fetcher action`);let O=++se;le.set(t,O);let{dsMatches:k,revalidatingFetchers:M}=ut(T,u,a,o,e.history,A,D,m,w,r,!1,ae,oe,z,de,ue,E,c,e.patchRoutesOnNavigation!=null,s.branches,[y.route.id,C],h),ee=fn(m,C.data),N=new Map(A.fetchers);N.set(t,ee),M.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=N.get(t),r=fn(void 0,n?n.data:void 0);N.set(t,r),ze(t),e.controller&&L.set(t,e.controller)}),H({fetchers:N});let te=()=>M.forEach(e=>ze(e.key));_.signal.addEventListener(`abort`,te);let{loaderResults:I,fetcherResults:ne}=await G(k,M,T,w,u);if(_.signal.aborted)return;_.signal.removeEventListener(`abort`,te),le.delete(t),L.delete(t),M.forEach(e=>L.delete(e.key));let re=A.fetchers.has(t),ie=e=>{if(!re)return e;let n=new Map(e.fetchers);return n.set(t,mn(C.data)),{...e,fetchers:n}},R=qt(I);if(R)return A=ie(A),De(T,R.result,!1,{preventScrollReset:p});if(R=qt(ne),R)return ue.add(R.key),A=ie(A),De(T,R.result,!1,{preventScrollReset:p});let B=new Map(A.fetchers);re&&B.set(t,mn(C.data));let{loaderData:fe,errors:pe}=Ht(A,D,I,void 0,M,ne,B);He(O,B),A.navigation.state===`loading`&&O>ce?(g(j,`Expected pending action`),P&&P.abort(),ve(A.navigation.location,{matches:D,loaderData:fe,errors:pe,fetchers:B})):(H({errors:pe,loaderData:Ut(A.loaderData,fe,D,pe),fetchers:B}),ae=!1)}async function Ee(t,n,i,s,c,l,u,d,f){let p=A.fetchers.get(t);je(t,fn(f,p?p.data:void 0),{flushSync:u});let m=new AbortController,h=Lt(e.history,i,m.signal);if(l){let e=await K(s,new URL(h.url).pathname,h.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){Me(t,n,e.error,{flushSync:u});return}else if(e.matches)s=e.matches;else{Me(t,n,q(404,{pathname:i}),{flushSync:u});return}}let g=cn(s,i);L.set(t,m);let _=se,v=await Oe(h,i,kt(a,o,h,i,s,g,r,c),c,t),y=v[g.route.id];if(!y){for(let e of s)if(v[e.route.id]){y=v[e.route.id];break}}if(L.get(t)===m&&L.delete(t),!h.signal.aborted){if(z.has(t)){je(t,mn(void 0));return}if(en(y))if(ce>_){je(t,mn(void 0));return}else{ue.add(t),await De(h,y,!1,{preventScrollReset:d});return}if(J(y)){Me(t,n,y.error);return}je(t,mn(y.data))}}async function De(r,i,a,{submission:o,fetcherSubmission:s,preventScrollReset:l,replace:u}={}){a||(M?.resolve(),M=null),i.response.headers.has(`X-Remix-Revalidate`)&&(ae=!0);let d=i.response.headers.get(`Location`);g(d,`Expected a Location header on the redirect Response`),d=It(d,new URL(r.url),c,e.history);let f=b(A.location,d,{_isRedirect:!0});if(n){let e=!1;if(i.response.headers.has(`X-Remix-Reload-Document`))e=!0;else if(ge(d)){let n=w(d,!0);e=n.origin!==t.location.origin||V(n.pathname,c)==null}if(e){u?t.location.replace(d):t.location.assign(d);return}}P=null;let p=u===!0||i.response.headers.has(`X-Remix-Replace`)?`REPLACE`:`PUSH`,{formMethod:m,formAction:h,formEncType:_}=A.navigation;!o&&!s&&m&&h&&_&&(o=ln(A.navigation));let v=o||s;Ye.has(i.response.status)&&v&&Y(v.formMethod)?await U(p,f,{submission:{...v,formAction:d},preventScrollReset:l||N,enableViewTransition:a?I:void 0}):await U(p,f,{overrideNavigation:un(f,[],p,o),fetcherSubmission:s,preventScrollReset:l||N,enableViewTransition:a?I:void 0})}async function Oe(e,t,n,r,i){let a,o={};try{a=await At(l,e,t,n,i,r,!1)}catch(e){return n.filter(e=>e.shouldLoad).forEach(t=>{o[t.route.id]={type:`error`,error:e}}),o}if(e.signal.aborted)return o;if(!Y(e.method))for(let e of n){if(a[e.route.id]?.type===`error`)break;!a.hasOwnProperty(e.route.id)&&!A.loaderData.hasOwnProperty(e.route.id)&&(!A.errors||!A.errors.hasOwnProperty(e.route.id))&&e.shouldCallHandler()&&(a[e.route.id]={type:`error`,result:Error(`No result returned from dataStrategy for route ${e.route.id}`)})}for(let[t,r]of Object.entries(a))if($t(r)){let i=r.result;o[t]={type:`redirect`,response:Pt(i,e,t,n,c)}}else o[t]=await Nt(r);return o}async function G(e,t,n,r,i){let a=Oe(n,r,e,i,null),o=Promise.all(t.map(async e=>{if(e.matches&&e.match&&e.request&&e.controller){let t=(await Oe(e.request,e.path,e.matches,i,e.key))[e.match.route.id];return{[e.key]:t}}else return Promise.resolve({[e.key]:{type:`error`,error:q(404,{pathname:e.path})}})}));return{loaderResults:await a,fetcherResults:(await o).reduce((e,t)=>Object.assign(e,t),{})}}function Ae(){ae=!0,de.forEach((e,t)=>{L.has(t)&&oe.add(t),ze(t)})}function je(e,t,n={}){let r=new Map(A.fetchers);r.set(e,t),H({fetchers:r},{flushSync:(n&&n.flushSync)===!0})}function Me(e,t,n,r={}){let i=Gt(A.matches,t),a=new Map(A.fetchers);Le(a,e),H({errors:{[i.route.id]:n},fetchers:a},{flushSync:(r&&r.flushSync)===!0})}function Ne(e){return R.set(e,(R.get(e)||0)+1),z.has(e)&&z.delete(e),A.fetchers.get(e)||Ze}function Ie(e,t){ze(e,t?.reason),je(e,mn(null))}function Le(e,t){let n=A.fetchers.get(t);L.has(t)&&!(n&&n.state===`loading`&&le.has(t))&&ze(t),de.delete(t),le.delete(t),ue.delete(t),z.delete(t),oe.delete(t),e.delete(t)}function Re(e){let t=(R.get(e)||0)-1;t<=0?(R.delete(e),z.add(e)):R.set(e,t),H({fetchers:new Map(A.fetchers)})}function ze(e,t){let n=L.get(e);n&&(n.abort(t),L.delete(e))}function Be(e,t){for(let n of e){let e=t.get(n);g(e,`Expected fetcher: ${n}`);let r=mn(e.data);t.set(n,r)}}function Ve(e){let t=[],n=!1;for(let r of ue){let i=e.get(r);g(i,`Expected fetcher: ${r}`),i.state===`loading`&&(ue.delete(r),t.push(r),n=!0)}return Be(t,e),n}function He(e,t){let n=[];for(let[r,i]of le)if(i<e){let e=t.get(r);g(e,`Expected fetcher: ${r}`),e.state===`loading`&&(ze(r),le.delete(r),n.push(r))}return Be(n,t),n.length>0}function Ue(e,t){let n=A.blockers.get(e)||Qe;return B.get(e)!==t&&B.set(e,t),n}function We(e){A.blockers.delete(e),B.delete(e)}function Ge(e,t){let n=A.blockers.get(e)||Qe;g(n.state===`unblocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`proceeding`||n.state===`blocked`&&t.state===`unblocked`||n.state===`proceeding`&&t.state===`unblocked`,`Invalid blocker state transition: ${n.state} -> ${t.state}`);let r=new Map(A.blockers);r.set(e,t),H({blockers:r})}function Ke({currentLocation:e,nextLocation:t,historyAction:n}){if(B.size===0)return;B.size>1&&_(!1,`A router only supports one blocker at a time`);let r=Array.from(B.entries()),[i,a]=r[r.length-1],o=A.blockers.get(i);if(!(o&&o.state===`proceeding`)&&a({currentLocation:e,nextLocation:t,historyAction:n}))return i}function qe(e){let t=q(404,{pathname:e}),n=s.activeRoutes,{matches:r,route:i}=Kt(n);return{notFoundMatches:r,route:i,error:t}}function Je(e,t,n){if(m=e,v=t,h=n||null,!y&&A.navigation===Xe){y=!0;let e=nt(A.location,A.matches);e!=null&&H({restoreScrollPosition:e})}return()=>{m=null,v=null,h=null}}function et(e,t){return h&&h(e,t.map(e=>te(e,A.loaderData)))||e.key}function tt(e,t){if(m&&v){let n=et(e,t);m[n]=v()}}function nt(e,t){if(m){let n=et(e,t),r=m[n];if(typeof r==`number`)return r}return null}function rt(t,n,r){if(e.patchRoutesOnNavigation){let e=s.branches;if(!t)return{active:!0,matches:F(n,r,c,!0,e)||[]};if(Object.keys(t[0].params).length>0)return{active:!0,matches:F(n,r,c,!0,e)}}return{active:!1,matches:null}}async function K(t,n,r,i){if(!e.patchRoutesOnNavigation)return{type:`success`,matches:t};let l=t;for(;;){let t=o;try{await e.patchRoutesOnNavigation({signal:r,path:n,matches:l,fetcherKey:i,patch:(e,n)=>{r.aborted||gt(e,n,s,t,a,!1)}})}catch(e){return{type:`error`,error:e,partialMatches:l}}if(r.aborted)return{type:`aborted`};let u=s.branches,d=F(s.activeRoutes,n,c,!1,u),f=null;if(d&&(Object.keys(d[0].params).length===0||(f=F(s.activeRoutes,n,c,!0,u),!(f&&l.length<f.length&&it(l,f.slice(0,l.length))))))return{type:`success`,matches:d};if(f||=F(s.activeRoutes,n,c,!0,u),!f||it(l,f))return{type:`success`,matches:null};l=f}}function it(e,t){return e.length===t.length&&e.every((e,n)=>e.route.id===t[n].route.id)}function ot(e){o={},s.setHmrRoutes(ee(e,a,void 0,o))}function st(e,t,n=!1){gt(e,t,s,o,a,n),s.hasHMRRoutes||H({})}return k={get basename(){return c},get future(){return u},get state(){return A},get routes(){return s.stableRoutes},get branches(){return s.branches},get manifest(){return o},get window(){return t},initialize:me,subscribe:_e,enableScrollRestoration:Je,navigate:ye,fetch:we,revalidate:be,createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:Ne,resetFetcher:Ie,deleteFetcher:Re,dispose:he,getBlocker:Ue,deleteBlocker:We,patchRoutes:st,_internalFetchControllers:L,_internalSetRoutes:ot,_internalSetStateDoNotUseOrYouWillBreakYourApp(e){H(e)}},e.instrumentations&&(k=Fe(k,e.instrumentations.map(e=>e.router).filter(Boolean))),k}function st(e){return e!=null&&(`formData`in e&&e.formData!=null||`body`in e&&e.body!==void 0)}function ct(e,t,n,r,i,a){let o,s;if(i){o=[];for(let e of t)if(o.push(e),e.route.id===i){s=e;break}}else o=t,s=t[t.length-1];let c=U(r||`.`,be(o),V(e.pathname,n)||e.pathname,a===`path`);if(r??(c.search=e.search,c.hash=e.hash),(r==null||r===``||r===`.`)&&s){let e=sn(c.search);if(s.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,`?index&`):`?index`;else if(!s.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll(`index`);e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();c.search=n?`?${n}`:``}}return n!==`/`&&(c.pathname=me({basename:n,pathname:c.pathname})),x(c)}function lt(e,t,n){if(!n||!st(n))return{path:t};if(n.formMethod&&!on(n.formMethod))return{path:t,error:q(405,{method:n.formMethod})};let r=()=>({path:t,error:q(400,{type:`invalid-body`})}),i=(n.formMethod||`get`).toUpperCase(),a=Jt(t);if(n.body!==void 0){if(n.formEncType===`text/plain`){if(!Y(i))return r();let e=typeof n.body==`string`?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,[t,n])=>`${e}${t}=${n}
|
|
2
|
+
`,``):String(n.body);return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if(n.formEncType===`application/json`){if(!Y(i))return r();try{let e=typeof n.body==`string`?JSON.parse(n.body):n.body;return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch{return r()}}}g(typeof FormData==`function`,`FormData is not available in this environment`);let o,s;if(n.formData)o=zt(n.formData),s=n.formData;else if(n.body instanceof FormData)o=zt(n.body),s=n.body;else if(n.body instanceof URLSearchParams)o=n.body,s=Bt(o);else if(n.body==null)o=new URLSearchParams,s=new FormData;else try{o=new URLSearchParams(n.body),s=Bt(o)}catch{return r()}let c={formMethod:i,formAction:a,formEncType:n&&n.formEncType||`application/x-www-form-urlencoded`,formData:s,json:void 0,text:void 0};if(Y(c.formMethod))return{path:t,submission:c};let l=S(t);return e&&l.search&&sn(l.search)&&o.append(`index`,``),l.search=`?${o}`,{path:x(l),submission:c}}function ut(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){let S=b?J(b[1])?b[1].error:b[1].data:void 0,C=i.createURL(a.location),w=i.createURL(c),T;if(u&&a.errors){let e=Object.keys(a.errors)[0];T=o.findIndex(t=>t.route.id===e)}else if(b&&J(b[1])){let e=b[0];T=o.findIndex(t=>t.route.id===e)-1}let E=b?b[1].statusCode:void 0,D=E&&E>=400,O={currentUrl:C,currentParams:a.matches[0]?.params||{},nextUrl:w,nextParams:o[0].params,...s,actionResult:S,actionStatus:E},k=Ae(o),A=o.map((i,o)=>{let{route:s}=i,f=null;if(T!=null&&o>T)f=!1;else if(s.lazy)f=!0;else if(!dt(s))f=!1;else if(u){let{shouldLoad:e}=ft(s,a.loaderData,a.errors);f=e}else pt(a.loaderData,a.matches[o],i)&&(f=!0);if(f!==null)return Ot(n,r,e,c,k,i,l,t,f);let p=!1;typeof x==`boolean`?p=x:D?p=!1:d||C.pathname+C.search===w.pathname+w.search?p=!0:C.search===w.search?mt(a.matches[o],i)&&(p=!0):p=!0;let m={...O,defaultShouldRevalidate:p};return Ot(n,r,e,c,k,i,l,t,ht(i,m),m,x)}),j=[];return m.forEach((e,s)=>{if(u||!o.some(t=>t.route.id===e.routeId)||p.has(s))return;let c=a.fetchers.get(s),m=c&&c.state!==`idle`&&c.data===void 0,b=F(g,e.path,_??`/`,!1,y);if(!b){if(v&&m)return;j.push({key:s,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null});return}if(h.has(s))return;let S=cn(b,e.path),C=new AbortController,w=Lt(i,e.path,C.signal),T=null;if(f.has(s))f.delete(s),T=kt(n,r,w,e.path,b,S,l,t);else if(m)d&&(T=kt(n,r,w,e.path,b,S,l,t));else{let i;i=typeof x==`boolean`?x:D?!1:d;let a={...O,defaultShouldRevalidate:i};ht(S,a)&&(T=kt(n,r,w,e.path,b,S,l,t,a))}T&&j.push({key:s,routeId:e.routeId,path:e.path,matches:T,match:S,request:w,controller:C})}),{dsMatches:A,revalidatingFetchers:j}}function dt(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function ft(e,t,n){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!dt(e))return{shouldLoad:!1,renderFallback:!1};let r=t!=null&&e.id in t,i=n!=null&&n[e.id]!==void 0;if(!r&&i)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader==`function`&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!r};let a=!r&&!i;return{shouldLoad:a,renderFallback:a}}function pt(e,t,n){let r=!t||n.route.id!==t.route.id,i=!e.hasOwnProperty(n.route.id);return r||i}function mt(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith(`*`)&&e.params[`*`]!==t.params[`*`]}function ht(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n==`boolean`)return n}return t.defaultShouldRevalidate}function gt(e,t,n,r,i,a){let o;if(e){let t=r[e];g(t,`No route found to patch children into: routeId = ${e}`),t.children||=[],o=t.children}else o=n.activeRoutes;let s=[],c=[];if(t.forEach(e=>{let t=o.find(t=>_t(e,t));t?c.push({existingRoute:t,newRoute:e}):s.push(e)}),s.length>0){let t=ee(s,i,[e||`_`,`patch`,String(o?.length||`0`)],r);o.push(...t)}if(a&&c.length>0)for(let e=0;e<c.length;e++){let{existingRoute:t,newRoute:n}=c[e],r=t,[a]=ee([n],i,[],{},!0);Object.assign(r,{element:a.element?a.element:r.element,errorElement:a.errorElement?a.errorElement:r.errorElement,hydrateFallbackElement:a.hydrateFallbackElement?a.hydrateFallbackElement:r.hydrateFallbackElement})}n.hasHMRRoutes||n.setRoutes([...n.activeRoutes])}function _t(e,t){return`id`in e&&`id`in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((e,n)=>t.children?.some(t=>_t(e,t)))??!1:!1}var vt=new WeakMap,yt=({key:e,route:t,manifest:n,mapRouteProperties:r})=>{let i=n[t.id];if(g(i,`No route found in manifest`),!i.lazy||typeof i.lazy!=`object`)return;let a=i.lazy[e];if(!a)return;let o=vt.get(i);o||(o={},vt.set(i,o));let s=o[e];if(s)return s;let c=(async()=>{let t=k(e),n=i[e]!==void 0&&e!==`hasErrorBoundary`;if(t)_(!t,`Route property `+e+` is not a supported lazy route property. This property will be ignored.`),o[e]=Promise.resolve();else if(n)_(!1,`Route "${i.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let t=await a();t!=null&&(Object.assign(i,{[e]:t}),Object.assign(i,r(i)))}typeof i.lazy==`object`&&(i.lazy[e]=void 0,Object.values(i.lazy).every(e=>e===void 0)&&(i.lazy=void 0))})();return o[e]=c,c},bt=new WeakMap;function xt(e,t,n,r,i){let a=n[e.id];if(g(a,`No route found in manifest`),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy==`function`){let t=bt.get(a);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let n=(async()=>{g(typeof e.lazy==`function`,`No lazy route function found`);let t=await e.lazy(),n={};for(let e in t){let r=t[e];if(r===void 0)continue;let i=j(e),o=a[e]!==void 0&&e!==`hasErrorBoundary`;i?_(!i,`Route property `+e+` is not a supported property to be returned from a lazy route function. This property will be ignored.`):o?_(!o,`Route "${a.id}" has a static property "${e}" defined but its lazy function is also returning a value for this property. The lazy route property "${e}" will be ignored.`):n[e]=r}Object.assign(a,n),Object.assign(a,{...r(a),lazy:void 0})})();return bt.set(a,n),n.catch(()=>{}),{lazyRoutePromise:n,lazyHandlerPromise:n}}let o=Object.keys(e.lazy),s=[],c;for(let a of o){if(i&&i.includes(a))continue;let o=yt({key:a,route:e,manifest:n,mapRouteProperties:r});o&&(s.push(o),a===t&&(c=o))}let l=s.length>0?Promise.all(s).then(()=>{}):void 0;return l?.catch(()=>{}),c?.catch(()=>{}),{lazyRoutePromise:l,lazyHandlerPromise:c}}async function St(e){let t=e.matches.filter(e=>e.shouldLoad),n={};return(await Promise.all(t.map(e=>e.resolve()))).forEach((e,r)=>{n[t[r].route.id]=e}),n}async function Ct(e){return e.matches.some(e=>e.route.middleware)?wt(e,()=>St(e)):St(e)}function wt(e,t){return Tt(e,t,e=>{if(an(e))throw e;return e},Zt,n);function n(t,n,r){if(r)return Promise.resolve(Object.assign(r.value,{[n]:{type:`error`,result:t}}));{let{matches:r}=e,i=Gt(r,r[Math.min(Math.max(r.findIndex(e=>e.route.id===n),0),Math.max(r.findIndex(e=>e.shouldCallHandler()),0))].route.id).route.id;return Promise.resolve({[i]:{type:`error`,result:t}})}}}async function Tt(e,t,n,r,i){let{matches:a,...o}=e;return await Et(o,a.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]),t,n,r,i)}async function Et(e,t,n,r,i,a,o=0){let{request:s}=e;if(s.signal.aborted)throw s.signal.reason??Error(`Request aborted: ${s.method} ${s.url}`);let c=t[o];if(!c)return await n();let[l,u]=c,d,f=async()=>{if(d)throw Error("You may only call `next()` once per middleware");try{return d={value:await Et(e,t,n,r,i,a,o+1)},d.value}catch(e){return d={value:await a(e,l,d)},d.value}};try{let t=await u(e,f),n=t==null?void 0:r(t);return i(n)?n:d?n??d.value:(d={value:await f()},d.value)}catch(e){return await a(e,l,d)}}function Dt(e,t,n,r,i){let a=yt({key:`middleware`,route:r.route,manifest:t,mapRouteProperties:e}),o=xt(r.route,Y(n.method)?`action`:`loader`,t,e,i);return{middleware:a,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function Ot(e,t,n,r,i,a,o,s,c,l=null,u){let d=!1,f=Dt(e,t,n,a,o);return{...a,_lazyPromises:f,shouldLoad:c,shouldRevalidateArgs:l,shouldCallHandler(e){return d=!0,l?typeof u==`boolean`?ht(a,{...l,defaultShouldRevalidate:u}):typeof e==`boolean`?ht(a,{...l,defaultShouldRevalidate:e}):ht(a,l):c},resolve(e){let{lazy:t,loader:o,middleware:l}=a.route,u=d||c||e&&!Y(n.method)&&(t||o),p=l&&l.length>0&&!o&&!t;return u&&(Y(n.method)||!p)?jt({request:n,path:r,pattern:i,match:a,lazyHandlerPromise:f?.handler,lazyRoutePromise:f?.route,handlerOverride:e,scopedContext:s}):Promise.resolve({type:`data`,result:void 0})}}}function kt(e,t,n,r,i,a,o,s,c=null){return i.map(l=>l.route.id===a.route.id?Ot(e,t,n,r,Ae(i),l,o,s,!0,c):{...l,shouldLoad:!1,shouldRevalidateArgs:c,shouldCallHandler:()=>!1,_lazyPromises:Dt(e,t,n,l,o),resolve:()=>Promise.resolve({type:`data`,result:void 0})})}async function At(e,t,n,r,i,a,o){r.some(e=>e._lazyPromises?.middleware)&&await Promise.all(r.map(e=>e._lazyPromises?.middleware));let s={request:t,url:Rt(t,n),pattern:Ae(r),params:r[0].params,context:a,matches:r},c=o?()=>{throw Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`")}:e=>{let t=s;return wt(t,()=>e({...t,fetcherKey:i,runClientMiddleware:()=>{throw Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))},l=await e({...s,fetcherKey:i,runClientMiddleware:c});try{await Promise.all(r.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch{}return l}async function jt({request:e,path:t,pattern:n,match:r,lazyHandlerPromise:i,lazyRoutePromise:a,handlerOverride:o,scopedContext:s}){let c,l,u=Y(e.method),d=u?`action`:`loader`,f=i=>{let a,c=new Promise((e,t)=>a=t);l=()=>a(),e.signal.addEventListener(`abort`,l);let u=a=>typeof i==`function`?i({request:e,url:Rt(e,t),pattern:n,params:r.params,context:s},...a===void 0?[]:[a]):Promise.reject(Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${r.route.id}]`)),f=(async()=>{try{return{type:`data`,result:await(o?o(e=>u(e)):u())}}catch(e){return{type:`error`,result:e}}})();return Promise.race([f,c])};try{let t=u?r.route.action:r.route.loader;if(i||a)if(t){let e,[n]=await Promise.all([f(t).catch(t=>{e=t}),i,a]);if(e!==void 0)throw e;c=n}else{await i;let t=u?r.route.action:r.route.loader;if(t)[c]=await Promise.all([f(t),a]);else if(d===`action`){let t=new URL(e.url),n=t.pathname+t.search;throw q(405,{method:e.method,pathname:n,routeId:r.route.id})}else return{type:`data`,result:void 0}}else if(t)c=await f(t);else{let t=new URL(e.url);throw q(404,{pathname:t.pathname+t.search})}}catch(e){return{type:`error`,result:e}}finally{l&&e.signal.removeEventListener(`abort`,l)}return c}async function Mt(e){let t=e.headers.get(`Content-Type`);return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function Nt(e){let{result:t,type:n}=e;if(nn(t)){let e;try{e=await Mt(t)}catch(e){return{type:`error`,error:e}}return n===`error`?{type:`error`,error:new G(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:`data`,data:e,statusCode:t.status,headers:t.headers}}return n===`error`?tn(t)?t.data instanceof Error?{type:`error`,error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:Xt(t),statusCode:ke(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:t,statusCode:ke(t)?t.status:void 0}:tn(t)?{type:`data`,data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`data`,data:t}}function Pt(e,t,n,r,i){let a=e.headers.get(`Location`);if(g(a,`Redirects returned/thrown from loaders/actions must have a Location header`),!ge(a)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);a=ct(new URL(t.url),o,i,a),e.headers.set(`Location`,a)}return e}var Ft=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function It(e,t,n,r){if(ge(e)){let r=e,i=r.startsWith(`//`)?new URL(t.protocol+r):new URL(r);if(Ft.includes(i.protocol))throw Error(`Invalid redirect location`);let a=V(i.pathname,n)!=null;if(i.origin===t.origin&&a)return xe(i.pathname)+i.search+i.hash}try{let t=r.createURL(e);if(Ft.includes(t.protocol))throw Error(`Invalid redirect location`)}catch{}return e}function Lt(e,t,n,r){let i=e.createURL(Jt(t)).toString(),a={signal:n};if(r&&Y(r.formMethod)){let{formMethod:e,formEncType:t}=r;a.method=e.toUpperCase(),t===`application/json`?(a.headers=new Headers({"Content-Type":t}),a.body=JSON.stringify(r.json)):t===`text/plain`?a.body=r.text:t===`application/x-www-form-urlencoded`&&r.formData?a.body=zt(r.formData):a.body=r.formData}return new Request(i,a)}function Rt(e,t){let n=new URL(e.url),r=typeof t==`string`?S(t):t;if(n.pathname=r.pathname||`/`,r.search){let e=new URLSearchParams(r.search),t=e.getAll(`index`);e.delete(`index`);for(let n of t.filter(Boolean))e.append(`index`,n);n.search=e.size?`?${e.toString()}`:``}else n.search=``;return n.hash=r.hash||``,n}function zt(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r==`string`?r:r.name);return t}function Bt(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function Vt(e,t,n,r=!1,i=!1){let a={},o=null,s,c=!1,l={},u=n&&J(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let d=n.route.id,f=t[d];if(g(!en(f),`Cannot handle redirect results in processLoaderData`),J(f)){let t=f.error;if(u!==void 0&&(t=u,u=void 0),o||={},i)o[d]=t;else{let n=Gt(e,d);o[n.route.id]??(o[n.route.id]=t)}r||(a[d]=tt),c||(c=!0,s=ke(f.error)?f.error.status:500),f.headers&&(l[d]=f.headers)}else a[d]=f.data,f.statusCode&&f.statusCode!==200&&!c&&(s=f.statusCode),f.headers&&(l[d]=f.headers)}),u!==void 0&&n&&(o={[n[0]]:u},n[2]&&(a[n[2]]=void 0)),{loaderData:a,errors:o,statusCode:s||200,loaderHeaders:l}}function Ht(e,t,n,r,i,a,o){let{loaderData:s,errors:c}=Vt(t,n,r);return i.filter(e=>!e.matches||e.matches.some(e=>e.shouldLoad)).forEach(t=>{let{key:n,match:r,controller:i}=t;if(i&&i.signal.aborted)return;let s=a[n];if(g(s,`Did not find corresponding fetcher result`),J(s)){let t=Gt(e.matches,r?.route.id);c&&c[t.route.id]||(c={...c,[t.route.id]:s.error}),o.delete(n)}else if(en(s))g(!1,`Unhandled fetcher revalidation redirect`);else{let e=mn(s.data);o.set(n,e)}}),{loaderData:s,errors:c}}function Ut(e,t,n,r){let i=Object.entries(t).filter(([,e])=>e!==tt).reduce((e,[t,n])=>(e[t]=n,e),{});for(let a of n){let n=a.route.id;if(!t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&a.route.loader&&(i[n]=e[n]),r&&r.hasOwnProperty(n))break}return i}function Wt(e){return e?J(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Gt(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>e.route.hasErrorBoundary===!0)||e[0]}function Kt(e){let t=e.length===1?e[0]:e.find(e=>e.index||!e.path||e.path===`/`)||{id:`__shim-error-route__`};return{matches:[{params:{},pathname:``,pathnameBase:``,route:t}],route:t}}function q(e,{pathname:t,routeId:n,method:r,type:i,message:a}={}){let o=`Unknown Server Error`,s=`Unknown @remix-run/router error`;return e===400?(o=`Bad Request`,r&&t&&n?s=`You made a ${r} request to "${t}" but did not provide a \`loader\` for route "${n}", so there is no way to handle the request.`:i===`invalid-body`&&(s=`Unable to encode submission body`)):e===403?(o=`Forbidden`,s=`Route "${n}" does not match URL "${t}"`):e===404?(o=`Not Found`,s=`No route matches URL "${t}"`):e===405&&(o=`Method Not Allowed`,r&&t&&n?s=`You made a ${r.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${n}", so there is no way to handle the request.`:r&&(s=`Invalid request method "${r.toUpperCase()}"`)),new G(e||500,o,Error(s),!0)}function qt(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(en(r))return{key:n,result:r}}}function Jt(e){return x({...typeof e==`string`?S(e):e,hash:``})}function Yt(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===``?t.hash!==``:e.hash===t.hash?!0:t.hash!==``}function Xt(e){return new G(e.init?.status??500,e.init?.statusText??`Internal Server Error`,e.data)}function Zt(e){return typeof e==`object`&&!!e&&Object.entries(e).every(([e,t])=>typeof e==`string`&&Qt(t))}function Qt(e){return typeof e==`object`&&!!e&&`type`in e&&`result`in e&&(e.type===`data`||e.type===`error`)}function $t(e){return nn(e.result)&&Je.has(e.result.status)}function J(e){return e.type===`error`}function en(e){return(e&&e.type)===`redirect`}function tn(e){return typeof e==`object`&&!!e&&`type`in e&&`data`in e&&`init`in e&&e.type===`DataWithResponseInit`}function nn(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.headers==`object`&&e.body!==void 0}function rn(e){return Je.has(e)}function an(e){return nn(e)&&rn(e.status)&&e.headers.has(`Location`)}function on(e){return qe.has(e.toUpperCase())}function Y(e){return Ge.has(e.toUpperCase())}function sn(e){return new URLSearchParams(e).getAll(`index`).some(e=>e===``)}function cn(e,t){let n=typeof t==`string`?S(t).search:t.search;if(e[e.length-1].route.index&&sn(n||``))return e[e.length-1];let r=ye(e);return r[r.length-1]}function ln(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:a,json:o}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:a,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function un(e,t,n,r){return r?{state:`loading`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}:{state:`loading`,location:e,matches:t,historyAction:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function dn(e,t,n,r){return{state:`submitting`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}}function fn(e,t){return e?{state:`loading`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:`loading`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function pn(e,t){return{state:`submitting`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function mn(e){return{state:`idle`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function hn(e,t){try{let n=e.sessionStorage.getItem(et);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch{}}function gn(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(et,JSON.stringify(n))}catch(e){_(!1,`Failed to save applied view transitions in sessionStorage (${e}).`)}}}function _n(){let e,t,n=new Promise((r,i)=>{e=async e=>{r(e);try{await n}catch{}},t=async e=>{i(e);try{await n}catch{}}});return{promise:n,resolve:e,reject:t}}var vn=r.createContext(null);vn.displayName=`DataRouter`;var yn=r.createContext(null);yn.displayName=`DataRouterState`;var bn=r.createContext(!1);function xn(){return r.useContext(bn)}var Sn=r.createContext({isTransitioning:!1});Sn.displayName=`ViewTransition`;var Cn=r.createContext(new Map);Cn.displayName=`Fetchers`;var wn=r.createContext(null);wn.displayName=`Await`;var X=r.createContext(null);X.displayName=`Navigation`;var Tn=r.createContext(null);Tn.displayName=`Location`;var Z=r.createContext({outlet:null,matches:[],isDataRoute:!1});Z.displayName=`Route`;var En=r.createContext(null);En.displayName=`RouteError`;var Dn=`REACT_ROUTER_ERROR`,On=`REDIRECT`,kn=`ROUTE_ERROR_RESPONSE`;function An(e){if(e.startsWith(`${Dn}:${On}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function jn(e){if(e.startsWith(`${Dn}:${kn}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new G(t.status,t.statusText,t.data)}catch{}}function Mn(e,{relative:t}={}){g(Nn(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:i}=r.useContext(X),{hash:a,pathname:o,search:s}=Vn(e,{relative:t}),c=o;return n!==`/`&&(c=o===`/`?n:W([n,o])),i.createHref({pathname:c,search:s,hash:a})}function Nn(){return r.useContext(Tn)!=null}function Q(){return g(Nn(),`useLocation() may be used only in the context of a <Router> component.`),r.useContext(Tn).location}var Pn=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function Fn(e){r.useContext(X).static||r.useLayoutEffect(e)}function In(){let{isDataRoute:e}=r.useContext(Z);return e?cr():Ln()}function Ln(){g(Nn(),`useNavigate() may be used only in the context of a <Router> component.`);let e=r.useContext(vn),{basename:t,navigator:n}=r.useContext(X),{matches:i}=r.useContext(Z),{pathname:a}=Q(),o=JSON.stringify(be(i)),s=r.useRef(!1);return Fn(()=>{s.current=!0}),r.useCallback((r,i={})=>{if(_(s.current,Pn),!s.current)return;if(typeof r==`number`){n.go(r);return}let c=U(r,JSON.parse(o),a,i.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:W([t,c.pathname])),(i.replace?n.replace:n.push)(c,i.state,i)},[t,n,o,a,e])}var Rn=r.createContext(null);function zn(e){let t=r.useContext(Z).outlet;return r.useMemo(()=>t&&r.createElement(Rn.Provider,{value:e},t),[t,e])}function Bn(){let{matches:e}=r.useContext(Z);return e[e.length-1]?.params??{}}function Vn(e,{relative:t}={}){let{matches:n}=r.useContext(Z),{pathname:i}=Q(),a=JSON.stringify(be(n));return r.useMemo(()=>U(e,JSON.parse(a),i,t===`path`),[e,a,i,t])}function Hn(e,t,n){g(Nn(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:i}=r.useContext(X),{matches:a}=r.useContext(Z),o=a[a.length-1],s=o?o.params:{},c=o?o.pathname:`/`,l=o?o.pathnameBase:`/`,u=o&&o.route;{let e=u&&u.path||``;ur(c,!u||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${e}">) 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.
|
|
3
|
+
|
|
4
|
+
Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let d=Q(),f;if(t){let e=typeof t==`string`?S(t):t;g(l===`/`||e.pathname?.startsWith(l),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${l}" but pathname "${e.pathname}" was given in the \`location\` prop.`),f=e}else f=d;let p=f.pathname||`/`,m=p;if(l!==`/`){let e=l.replace(/^\//,``).split(`/`);m=`/`+p.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let h=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):P(e,{pathname:m});_(u||h!=null,`No routes matched location "${f.pathname}${f.search}${f.hash}" `),_(h==null||h[h.length-1].route.element!==void 0||h[h.length-1].route.Component!==void 0||h[h.length-1].route.lazy!==void 0,`Matched leaf route at location "${f.pathname}${f.search}${f.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.`);let v=Yn(h&&h.map(e=>Object.assign({},e,{params:Object.assign({},s,e.params),pathname:W([l,i.encodeLocation?i.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?l:W([l,i.encodeLocation?i.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),a,n);return t&&v?r.createElement(Tn.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...f},navigationType:`POP`}},v):v}function Un(){let e=or(),t=ke(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i=`rgba(200,200,200, 0.5)`,a={padding:`0.5rem`,backgroundColor:i},o={padding:`2px 4px`,backgroundColor:i},s=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),s=r.createElement(r.Fragment,null,r.createElement(`p`,null,`💿 Hey developer 👋`),r.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,r.createElement(`code`,{style:o},`ErrorBoundary`),` or`,` `,r.createElement(`code`,{style:o},`errorElement`),` prop on your route.`)),r.createElement(r.Fragment,null,r.createElement(`h2`,null,`Unexpected Application Error!`),r.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?r.createElement(`pre`,{style:a},n):null,s)}var Wn=r.createElement(Un,null),Gn=class extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=jn(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:r.createElement(Z.Provider,{value:this.props.routeContext},r.createElement(En.Provider,{value:e,children:this.props.component}));return this.context?r.createElement(qn,{error:e},t):t}};Gn.contextType=bn;var Kn=new WeakMap;function qn({children:e,error:t}){let{basename:n}=r.useContext(X);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=An(t.digest);if(e){let i=Kn.get(t);if(i)throw i;let a=Me(e.location,n);if(je&&!Kn.get(t))if(a.isExternal||e.reloadDocument)window.location.href=a.absoluteURL||a.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:e.replace}));throw Kn.set(t,n),n}return r.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a.absoluteURL||a.to}`})}}return e}function Jn({routeContext:e,match:t,children:n}){let i=r.useContext(vn);return i&&i.static&&i.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=t.route.id),r.createElement(Z.Provider,{value:e},n)}function Yn(e,t=[],n){let i=n?.state;if(e==null){if(!i)return null;if(i.errors)e=i.matches;else if(t.length===0&&!i.initialized&&i.matches.length>0)e=i.matches;else return null}let a=e,o=i?.errors;if(o!=null){let e=a.findIndex(e=>e.route.id&&o?.[e.route.id]!==void 0);g(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(`,`)}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,c=-1;if(n&&i){s=i.renderFallback;for(let e=0;e<a.length;e++){let t=a[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(c=e),t.route.id){let{loaderData:e,errors:r}=i,o=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!r||r[t.route.id]===void 0);if(t.route.lazy||o){n.isStatic&&(s=!0),a=c>=0?a.slice(0,c+1):[a[0]];break}}}}let l=n?.onError,u=i&&l?(e,t)=>{l(e,{location:i.location,params:i.matches?.[0]?.params??{},pattern:Ae(i.matches),errorInfo:t})}:void 0;return a.reduceRight((e,n,l)=>{let d,f=!1,p=null,m=null;i&&(d=o&&n.route.id?o[n.route.id]:void 0,p=n.route.errorElement||Wn,s&&(c<0&&l===0?(ur(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),f=!0,m=null):c===l&&(f=!0,m=n.route.hydrateFallbackElement||null)));let h=t.concat(a.slice(0,l+1)),g=()=>{let t;return t=d?p:f?m:n.route.Component?r.createElement(n.route.Component,null):n.route.element?n.route.element:e,r.createElement(Jn,{match:n,routeContext:{outlet:e,matches:h,isDataRoute:i!=null},children:t})};return i&&(n.route.ErrorBoundary||n.route.errorElement||l===0)?r.createElement(Gn,{location:i.location,revalidation:i.revalidation,component:p,error:d,children:g(),routeContext:{outlet:null,matches:h,isDataRoute:!0},onError:u}):g()},null)}function Xn(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Zn(e){let t=r.useContext(vn);return g(t,Xn(e)),t}function Qn(e){let t=r.useContext(yn);return g(t,Xn(e)),t}function $n(e){let t=r.useContext(Z);return g(t,Xn(e)),t}function er(e){let t=$n(e),n=t.matches[t.matches.length-1];return g(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function tr(){return er(`useRouteId`)}function nr(){let e=Qn(`useNavigation`);return r.useMemo(()=>{let{matches:t,historyAction:n,...r}=e.navigation;return r},[e.navigation])}function rr(){let{matches:e,loaderData:t}=Qn(`useMatches`);return r.useMemo(()=>e.map(e=>te(e,t)),[e,t])}function ir(){let e=Qn(`useLoaderData`),t=er(`useLoaderData`);return e.loaderData[t]}function ar(){let e=Qn(`useActionData`),t=er(`useLoaderData`);return e.actionData?e.actionData[t]:void 0}function or(){let e=r.useContext(En),t=Qn(`useRouteError`),n=er(`useRouteError`);return e===void 0?t.errors?.[n]:e}function sr(){return r.useContext(wn)?._data}function cr(){let{router:e}=Zn(`useNavigate`),t=er(`useNavigate`),n=r.useRef(!1);return Fn(()=>{n.current=!0}),r.useCallback(async(r,i={})=>{_(n.current,Pn),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var lr={};function ur(e,t,n){!t&&!lr[e]&&(lr[e]=!0,_(!1,n))}var dr={};function fr(e,t){!e&&!dr[t]&&(dr[t]=!0,console.warn(t))}var pr=r.useOptimistic,mr=()=>void 0;function hr(e){return pr?pr(e):[e,mr]}function gr(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&_(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:r.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&_(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:r.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&_(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:r.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var _r=[`HydrateFallback`,`hydrateFallbackElement`],vr=class{constructor(){this.status=`pending`,this.promise=new Promise((e,t)=>{this.resolve=t=>{this.status===`pending`&&(this.status=`resolved`,e(t))},this.reject=e=>{this.status===`pending`&&(this.status=`rejected`,t(e))}})}};function yr({router:e,flushSync:t,onError:n,useTransitions:i}){i=xn()||i;let[a,o]=r.useState(e.state),[s,c]=hr(a),[l,u]=r.useState(),[d,f]=r.useState({isTransitioning:!1}),[p,m]=r.useState(),[h,g]=r.useState(),[_,v]=r.useState(),y=r.useRef(new Map),b=r.useCallback((a,{deletedFetchers:s,newErrors:l,flushSync:d,viewTransitionOpts:_})=>{l&&n&&Object.values(l).forEach(e=>n(e,{location:a.location,params:a.matches[0]?.params??{},pattern:Ae(a.matches)})),a.fetchers.forEach((e,t)=>{e.data!==void 0&&y.current.set(t,e.data)}),s.forEach(e=>y.current.delete(e)),fr(d===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let b=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition==`function`;if(fr(_==null||b,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!_||!b){t&&d?t(()=>o(a)):i===!1?o(a):r.startTransition(()=>{i===!0&&c(e=>br(e,a)),o(a)});return}if(t&&d){t(()=>{h&&(p?.resolve(),h.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:_.currentLocation,nextLocation:_.nextLocation})});let n=e.window.document.startViewTransition(()=>{t(()=>o(a))});n.finished.finally(()=>{t(()=>{m(void 0),g(void 0),u(void 0),f({isTransitioning:!1})})}),t(()=>g(n));return}h?(p?.resolve(),h.skipTransition(),v({state:a,currentLocation:_.currentLocation,nextLocation:_.nextLocation})):(u(a),f({isTransitioning:!0,flushSync:!1,currentLocation:_.currentLocation,nextLocation:_.nextLocation}))},[e.window,t,h,p,i,c,n]);r.useLayoutEffect(()=>e.subscribe(b),[e,b]),r.useEffect(()=>{d.isTransitioning&&!d.flushSync&&m(new vr)},[d]),r.useEffect(()=>{if(p&&l&&e.window){let t=l,n=p.promise,a=e.window.document.startViewTransition(async()=>{i===!1?o(t):r.startTransition(()=>{i===!0&&c(e=>br(e,t)),o(t)}),await n});a.finished.finally(()=>{m(void 0),g(void 0),u(void 0),f({isTransitioning:!1})}),g(a)}},[l,p,e.window,i,c]),r.useEffect(()=>{p&&l&&s.location.key===l.location.key&&p.resolve()},[p,h,s.location,l]),r.useEffect(()=>{!d.isTransitioning&&_&&(u(_.state),f({isTransitioning:!0,flushSync:!1,currentLocation:_.currentLocation,nextLocation:_.nextLocation}),v(void 0))},[d.isTransitioning,_]);let x=r.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:t=>e.navigate(t),push:(t,n,r)=>e.navigate(t,{state:n,preventScrollReset:r?.preventScrollReset}),replace:(t,n,r)=>e.navigate(t,{replace:!0,state:n,preventScrollReset:r?.preventScrollReset})}),[e]),S=e.basename||`/`,C=r.useMemo(()=>({router:e,navigator:x,static:!1,basename:S,onError:n}),[e,x,S,n]);return r.createElement(r.Fragment,null,r.createElement(vn.Provider,{value:C},r.createElement(yn.Provider,{value:s},r.createElement(Cn.Provider,{value:y.current},r.createElement(Sn.Provider,{value:d},r.createElement(wr,{basename:S,location:s.location,navigationType:s.historyAction,navigator:x,useTransitions:i},r.createElement(xr,{routes:e.routes,manifest:e.manifest,future:e.future,state:s,isStatic:!1,onError:n})))))),null)}function br(e,t){return{...e,navigation:t.navigation.state===`idle`?e.navigation:t.navigation,revalidation:t.revalidation===`idle`?e.revalidation:t.revalidation,actionData:t.navigation.state===`submitting`?e.actionData:t.actionData,fetchers:t.fetchers}}var xr=r.memo(Sr);function Sr({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return Hn(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function Cr(e){return zn(e.context)}function wr({basename:e=`/`,children:t=null,location:n,navigationType:i=`POP`,navigator:a,static:o=!1,useTransitions:s}){g(!Nn(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let c=e.replace(/^\/*/,`/`),l=r.useMemo(()=>({basename:c,navigator:a,static:o,useTransitions:s,future:{}}),[c,a,o,s]);typeof n==`string`&&(n=S(n));let{pathname:u=`/`,search:d=``,hash:f=``,state:p=null,key:m=`default`,mask:h}=n,v=r.useMemo(()=>{let e=V(u,c);return e==null?null:{location:{pathname:e,search:d,hash:f,state:p,key:m,mask:h},navigationType:i}},[c,u,d,f,p,m,i,h]);return _(v!=null,`<Router basename="${c}"> is not able to match the URL "${u}${d}${f}" because it does not start with the basename, so the <Router> won't render anything.`),v==null?null:r.createElement(X.Provider,{value:l},r.createElement(Tn.Provider,{children:t,value:v}))}function Tr({children:e,errorElement:t,resolve:n}){let i=r.useContext(vn),a=r.useContext(yn),o=r.useCallback((e,t)=>{i&&i.onError&&a&&i.onError(e,{location:a.location,params:a.matches[0]?.params||{},pattern:Ae(a.matches),errorInfo:t})},[i,a]);return r.createElement(Er,{resolve:n,errorElement:t,onError:o},r.createElement(Dr,null,e))}var Er=class extends r.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`<Await> caught the following error during render`,e,t)}render(){let{children:e,errorElement:t,resolve:n}=this.props,i=null,a=0;if(!(n instanceof Promise))a=1,i=Promise.resolve(),Object.defineProperty(i,"_tracked",{get:()=>!0}),Object.defineProperty(i,"_data",{get:()=>n});else if(this.state.error){a=2;let e=this.state.error;i=Promise.reject().catch(()=>{}),Object.defineProperty(i,"_tracked",{get:()=>!0}),Object.defineProperty(i,"_error",{get:()=>e})}else n._tracked?(i=n,a=`_error`in i?2:+(`_data`in i)):(a=0,Object.defineProperty(n,"_tracked",{get:()=>!0}),i=n.then(e=>Object.defineProperty(n,"_data",{get:()=>e}),e=>{this.props.onError?.(e),Object.defineProperty(n,"_error",{get:()=>e})}));if(a===2&&!t)throw i._error;if(a===2)return r.createElement(wn.Provider,{value:i,children:t});if(a===1)return r.createElement(wn.Provider,{value:i,children:e});throw i}};function Dr({children:e}){let t=sr(),n=typeof e==`function`?e(t):e;return r.createElement(r.Fragment,null,n)}function Or(){return{params:Bn(),loaderData:ir(),actionData:ar(),matches:rr()}}function kr(e){return function(){let t=Or();return r.createElement(e,t)}}function Ar(){return{params:Bn(),loaderData:ir(),actionData:ar(),error:or()}}function jr(e){return function(){let t=Ar();return r.createElement(e,t)}}var Mr=`get`,Nr=`application/x-www-form-urlencoded`;function Pr(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function Fr(e){return Pr(e)&&e.tagName.toLowerCase()===`button`}function Ir(e){return Pr(e)&&e.tagName.toLowerCase()===`form`}function Lr(e){return Pr(e)&&e.tagName.toLowerCase()===`input`}function Rr(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function zr(e,t){return e.button===0&&(!t||t===`_self`)&&!Rr(e)}function Br(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function Vr(e,t){let n=Br(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var Hr=null;function Ur(){if(Hr===null)try{new FormData(document.createElement(`form`),0),Hr=!1}catch{Hr=!0}return Hr}var Wr=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function Gr(e){return e!=null&&!Wr.has(e)?(_(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Nr}"`),null):e}function Kr(e,t){let n,r,i,a,o;if(Ir(e)){let o=e.getAttribute(`action`);r=o?V(o,t):null,n=e.getAttribute(`method`)||Mr,i=Gr(e.getAttribute(`enctype`))||Nr,a=new FormData(e)}else if(Fr(e)||Lr(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?V(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||Mr,i=Gr(e.getAttribute(`formenctype`))||Gr(o.getAttribute(`enctype`))||Nr,a=new FormData(o,e),!Ur()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(Pr(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=Mr,r=null,i=Nr,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}var qr=-1,Jr=-2,Yr=-3,Xr=-4,Zr=-5,Qr=-6,$r=-7,ei=`B`,ti=`D`,ni=`E`,ri=`M`,ii=`N`,ai=`P`,oi=`R`,si=`S`,ci=`Y`,li=`U`,ui=`Z`,di=[`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],fi=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function pi(){let e=new TextDecoder,t=``;return new TransformStream({transform(n,r){let i=e.decode(n,{stream:!0}),a=(t+i).split(`
|
|
5
|
+
`);t=a.pop()||``;for(let e of a)r.enqueue(e)},flush(e){t&&e.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var mi=typeof window<`u`?window:typeof globalThis<`u`?globalThis:void 0;function hi(e){let{hydrated:t,values:n}=this;if(typeof e==`number`)return gi.call(this,e);if(!Array.isArray(e)||!e.length)throw SyntaxError();let r=n.length;for(let t of e)n.push(t);return t.length=n.length,gi.call(this,r)}function gi(e){let{hydrated:t,values:n,deferred:r,plugins:i}=this,a,o=[[e,e=>{a=e}]],s=[];for(;o.length>0;){let[e,a]=o.pop();switch(e){case $r:a(void 0);continue;case Zr:a(null);continue;case Jr:a(NaN);continue;case Qr:a(1/0);continue;case Yr:a(-1/0);continue;case Xr:a(-0);continue}if(t[e]){a(t[e]);continue}let c=n[e];if(!c||typeof c!=`object`){t[e]=c,a(c);continue}if(Array.isArray(c))if(typeof c[0]==`string`){let[n,l,u]=c;switch(n){case ti:a(t[e]=new Date(l));continue;case li:a(t[e]=new URL(l));continue;case ei:a(t[e]=BigInt(l));continue;case oi:a(t[e]=new RegExp(l,u));continue;case ci:a(t[e]=Symbol.for(l));continue;case si:let n=new Set;t[e]=n;for(let e=c.length-1;e>0;e--)o.push([c[e],e=>{n.add(e)}]);a(n);continue;case ri:let d=new Map;t[e]=d;for(let e=c.length-2;e>0;e-=2){let t=[];o.push([c[e+1],e=>{t[1]=e}]),o.push([c[e],e=>{t[0]=e}]),s.push(()=>{d.set(t[0],t[1])})}a(d);continue;case ii:let f=Object.create(null);t[e]=f;for(let e of Object.keys(l).reverse()){let t=[];o.push([l[e],e=>{t[1]=e}]),o.push([Number(e.slice(1)),e=>{t[0]=e}]),s.push(()=>{f[t[0]]=t[1]})}a(f);continue;case ai:if(t[l])a(t[e]=t[l]);else{let n=new fi;r[l]=n,a(t[e]=n.promise)}continue;case ni:let[,p,m]=c,h=m&&mi&&di.includes(m)&&m in mi&&typeof mi[m]==`function`?new mi[m](p):Error(p);t[e]=h,a(h);continue;case ui:a(t[e]=t[l]);continue;default:if(Array.isArray(i)){let n=[],r=c.slice(1);for(let e=0;e<r.length;e++){let t=r[e];o.push([t,t=>{n[e]=t}])}s.push(()=>{for(let r of i){let i=r(c[0],...n);if(i){a(t[e]=i.value);return}}throw SyntaxError()});continue}throw SyntaxError()}}else{let n=[];t[e]=n;for(let e=0;e<c.length;e++){let t=c[e];t!==qr&&o.push([t,t=>{n[e]=t}])}a(n);continue}else{let n={};t[e]=n;for(let e of Object.keys(c).reverse()){let t=[];o.push([c[e],e=>{t[1]=e}]),o.push([Number(e.slice(1)),e=>{t[0]=e}]),s.push(()=>{n[t[0]]=t[1]})}a(n);continue}}for(;s.length>0;)s.pop()();return a}async function _i(e,t){let{plugins:n}=t??{},r=new fi,i=e.pipeThrough(pi()).getReader(),a={values:[],hydrated:[],deferred:{},plugins:n},o=await vi.call(a,i),s=r.promise;return o.done?r.resolve():s=yi.call(a,i).then(r.resolve).catch(e=>{for(let t of Object.values(a.deferred))t.reject(e);r.reject(e)}),{done:s.then(()=>i.closed),value:o.value}}async function vi(e){let t=await e.read();if(!t.value)throw SyntaxError();let n;try{n=JSON.parse(t.value)}catch{throw SyntaxError()}return{done:t.done,value:hi.call(this,n)}}async function yi(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;let n=t.value;switch(n[0]){case ai:{let e=n.indexOf(`:`),t=Number(n.slice(1,e)),r=this.deferred[t];if(!r)throw Error(`Deferred ID ${t} not found in stream`);let i=n.slice(e+1),a;try{a=JSON.parse(i)}catch{throw SyntaxError()}let o=hi.call(this,a);r.resolve(o);break}case ni:{let e=n.indexOf(`:`),t=Number(n.slice(1,e)),r=this.deferred[t];if(!r)throw Error(`Deferred ID ${t} not found in stream`);let i=n.slice(e+1),a;try{a=JSON.parse(i)}catch{throw SyntaxError()}let o=hi.call(this,a);r.reject(o);break}default:throw SyntaxError()}t=await e.read()}}async function bi(e){let t={signal:e.signal};if(e.method!==`GET`){t.method=e.method;let n=e.headers.get(`Content-Type`);n&&/\bapplication\/json\b/.test(n)?(t.headers={"Content-Type":n},t.body=JSON.stringify(await e.json())):n&&/\btext\/plain\b/.test(n)?(t.headers={"Content-Type":n},t.body=await e.text()):n&&/\bapplication\/x-www-form-urlencoded\b/.test(n)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}var xi={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},Si=/[&><\u2028\u2029]/g;function Ci(e){return e.replace(Si,e=>xi[e])}function $(e,t){if(e===!1||e==null)throw Error(t)}var wi=Symbol(`SingleFetchRedirect`),Ti=class extends Error{},Ei=new Set([100,101,204,205]);function Di(e,t,n,r,i,a){let o=Oi(e,e=>{let n=t.routes[e.route.id];return $(n,`Route not found in manifest`),{hasLoader:n.hasLoader,hasClientLoader:n.hasClientLoader}},Ii,r,i,a);return async e=>e.runClientMiddleware(o)}function Oi(e,t,n,r,i,a,o=()=>!0){return async s=>{let{request:c,matches:l,fetcherKey:u}=s,d=e();if(c.method!==`GET`)return ki(s,n,i,a);let f=l.some(e=>{let{hasLoader:n,hasClientLoader:r}=t(e);return e.shouldCallHandler()&&n&&!r});return!r&&!f?Ai(s,t,n,i,a):u?Ni(s,n,i,a):ji(s,d,t,n,r,i,a,o)}}async function ki(e,t,n,r){let i=e.matches.find(e=>e.shouldCallHandler());$(i,`No action match found`);let a,o=await i.resolve(async o=>await o(async()=>{let{data:o,status:s}=await t(e,n,r,[i.route.id]);return a=s,Ri(o,i.route.id)}));return nn(o.result)||ke(o.result)||tn(o.result)?{[i.route.id]:o}:{[i.route.id]:{type:o.type,result:De(o.result,a)}}}async function Ai(e,t,n,r,i){let a=e.matches.filter(e=>e.shouldCallHandler()),o={};return await Promise.all(a.map(a=>a.resolve(async s=>{try{let{hasClientLoader:c}=t(a),l=a.route.id,u=c?await s(async()=>{let{data:t}=await n(e,r,i,[l]);return Ri(t,l)}):await s();o[a.route.id]={type:`data`,result:u}}catch(e){o[a.route.id]={type:`error`,result:e}}}))),o}async function ji(e,t,n,r,i,a,o,s=()=>!0){let c=new Set,l=!1,u=e.matches.map(()=>zi()),d=zi(),f={},p=Promise.all(e.matches.map(async(t,i)=>t.resolve(async p=>{u[i].resolve();let m=t.route.id,{hasLoader:h,hasClientLoader:g}=n(t),_=!t.shouldRevalidateArgs||t.shouldRevalidateArgs.actionStatus==null||t.shouldRevalidateArgs.actionStatus<400;if(!t.shouldCallHandler(_)){l||=t.shouldRevalidateArgs!=null&&h;return}if(s(t)&&g){h&&(l=!0);try{f[m]={type:`data`,result:await p(async()=>{let{data:t}=await r(e,a,o,[m]);return Ri(t,m)})}}catch(e){f[m]={type:`error`,result:e}}return}h&&c.add(m);try{f[m]={type:`data`,result:await p(async()=>Ri(await d.promise,m))}}catch(e){f[m]={type:`error`,result:e}}})));if(await Promise.all(u.map(e=>e.promise)),(!t.state.initialized&&t.state.navigation.state===`idle`||c.size===0)&&!window.__reactRouterHdrActive)d.resolve({routes:{}});else{let t=i&&l&&c.size>0?[...c.keys()]:void 0;try{let n=await r(e,a,o,t);d.resolve(n.data)}catch(e){d.reject(e)}}return await p,await Mi(d.promise,e.matches,c,f),f}async function Mi(e,t,n,r){try{let i,a=await e;if(`routes`in a){for(let e of t)if(e.route.id in a.routes){let t=a.routes[e.route.id];if(`error`in t){i=t.error,r[e.route.id]?.result??(r[e.route.id]={type:`error`,result:i});break}}}i!==void 0&&Array.from(n.values()).forEach(e=>{r[e].result instanceof Ti&&(r[e].result=i)})}catch{}}async function Ni(e,t,n,r){let i=e.matches.find(e=>e.shouldCallHandler());$(i,`No fetcher match found`);let a=i.route.id,o=await i.resolve(async i=>i(async()=>{let{data:i}=await t(e,n,r,[a]);return Ri(i,a)}));return{[i.route.id]:o}}function Pi(e){let t=e.searchParams.getAll(`index`);e.searchParams.delete(`index`);let n=[];for(let e of t)e&&n.push(e);for(let t of n)e.searchParams.append(`index`,t);return e}function Fi(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n?i.pathname.endsWith(`/`)?i.pathname=`${i.pathname}_.${r}`:i.pathname=`${i.pathname}.${r}`:i.pathname===`/`?i.pathname=`_root.${r}`:t&&V(i.pathname,t)===`/`?i.pathname=`${Se(t)}/_root.${r}`:i.pathname=`${Se(i.pathname)}.${r}`,i}async function Ii(e,t,n,r){let{request:i}=e,a=Fi(i.url,t,n,`data`);i.method===`GET`&&(a=Pi(a),r&&a.searchParams.set(`_routes`,r.join(`,`)));let o=await fetch(a,await bi(i));if(o.status>=400&&!o.headers.has(`X-Remix-Response`))throw new G(o.status,o.statusText,await o.text());if(o.status===204&&o.headers.has(`X-Remix-Redirect`))return{status:202,data:{redirect:{redirect:o.headers.get(`X-Remix-Redirect`),status:Number(o.headers.get(`X-Remix-Status`)||`302`),revalidate:o.headers.get(`X-Remix-Revalidate`)===`true`,reload:o.headers.get(`X-Remix-Reload-Document`)===`true`,replace:o.headers.get(`X-Remix-Replace`)===`true`}}};if(Ei.has(o.status)){let e={};return r&&i.method!==`GET`&&(e[r[0]]={data:void 0}),{status:o.status,data:{routes:e}}}$(o.body,`No response body to decode`);try{let e=await Li(o.body,window),t;if(i.method===`GET`){let n=e.value;t=wi in n?{redirect:n[wi]}:{routes:n}}else{let n=e.value,i=r?.[0];$(i,`No routeId found for single fetch call decoding`),t=`redirect`in n?{redirect:n}:{routes:{[i]:n}}}return{status:o.status,data:t}}catch{throw Error(`Unable to decode turbo-stream response`)}}function Li(e,t){return _i(e,{plugins:[(e,...n)=>{if(e===`SanitizedError`){let[e,r,i]=n,a=Error;e&&di.includes(e)&&e in t&&typeof t[e]==`function`&&(a=t[e]);let o=new a(r);return o.stack=i,{value:o}}if(e===`ErrorResponse`){let[e,t,r]=n;return{value:new G(t,r,e)}}if(e===`SingleFetchRedirect`)return{value:{[wi]:n[0]}};if(e===`SingleFetchClassInstance`)return{value:n[0]};if(e===`SingleFetchFallback`)return{value:void 0}}]})}function Ri(e,t){if(`redirect`in e){let{redirect:t,revalidate:n,reload:r,replace:i,status:a}=e.redirect;throw Oe(t,{status:a,headers:{...n?{"X-Remix-Revalidate":`yes`}:null,...r?{"X-Remix-Reload-Document":`yes`}:null,...i?{"X-Remix-Replace":`yes`}:null}})}let n=e.routes[t];if(n==null)throw new Ti(`No result found for routeId "${t}"`);if(`error`in n)throw n.error;if(`data`in n)return n.data;throw Error(`Invalid response found for routeId "${t}"`)}function zi(){let e,t,n=new Promise((r,i)=>{e=async e=>{r(e);try{await n}catch{}},t=async e=>{i(e);try{await n}catch{}}});return{promise:n,resolve:e,reject:t}}async function Bi(e,t){if(e.id in t)return t[e.id];try{let n=await s(()=>import(e.module),[]);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Vi(e,t,n){return $i(e.map(e=>{let r=t[e.route.id],i=n.routes[e.route.id];return[i&&i.css?i.css.map(e=>({rel:`stylesheet`,href:e})):[],r?.links?.()||[]]}).flat(2),Xi(e,n))}function Hi(e){return e.css?e.css.map(e=>({rel:`stylesheet`,href:e})):[]}async function Ui(e){if(!e.css)return;let t=Hi(e);await Promise.all(t.map(Gi))}async function Wi(e,t){if(!e.css&&!t.links||!ta())return;let n=[];if(e.css&&n.push(...Hi(e)),t.links&&n.push(...t.links()),n.length===0)return;let r=[];for(let e of n)!Ki(e)&&e.rel===`stylesheet`&&r.push({...e,rel:`preload`,as:`style`});await Promise.all(r.map(Gi))}async function Gi(e){return new Promise(t=>{if(e.media&&!window.matchMedia(e.media).matches||document.querySelector(`link[rel="stylesheet"][href="${e.href}"]`))return t();let n=document.createElement(`link`);Object.assign(n,e);function r(){document.head.contains(n)&&document.head.removeChild(n)}n.onload=()=>{r(),t()},n.onerror=()=>{r(),t()},document.head.appendChild(n)})}function Ki(e){return e!=null&&typeof e.page==`string`}function qi(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function Ji(e,t,n){return $i((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await Bi(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(qi).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Yi(e,t,n,r,i,a){let o=(e,t)=>n[t]?e.route.id!==n[t].route.id:!0,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function Xi(e,t,{includeHydrateFallback:n}={}){return Zi(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function Zi(e){return[...new Set(e)]}function Qi(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function $i(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!Ki(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(Qi(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}var ea;function ta(){if(ea!==void 0)return ea;let e=document.createElement(`link`);return ea=e.relList.supports(`preload`),e=null,ea}function na(){return r.createElement(qa,{title:`Loading...`,renderScripts:!0},r.createElement(`script`,{dangerouslySetInnerHTML:{__html:`
|
|
6
|
+
console.log(
|
|
7
|
+
"💿 Hey developer 👋. You can provide a way better UX than this " +
|
|
8
|
+
"when your app is loading JS modules and/or running \`clientLoader\` " +
|
|
9
|
+
"functions. Check out https://reactrouter.com/start/framework/route-module#hydratefallback " +
|
|
10
|
+
"for more information."
|
|
11
|
+
);
|
|
12
|
+
`}}))}function ra(e){let t={};return Object.values(e).forEach(e=>{if(e){let n=e.parentId||``;t[n]||(t[n]=[]),t[n].push(e)}}),t}function ia(e,t,n){let i=fa(t),a=t.HydrateFallback&&(!n||e.id===`root`)?t.HydrateFallback:e.id===`root`?na:void 0,o=t.ErrorBoundary?t.ErrorBoundary:e.id===`root`?()=>r.createElement(Ka,{error:or()}):void 0;return e.id===`root`&&t.Layout?{...i?{element:r.createElement(t.Layout,null,r.createElement(i,null))}:{Component:i},...o?{errorElement:r.createElement(t.Layout,null,r.createElement(o,null))}:{ErrorBoundary:o},...a?{hydrateFallbackElement:r.createElement(t.Layout,null,r.createElement(a,null))}:{HydrateFallback:a}}:{Component:i,ErrorBoundary:o,HydrateFallback:a}}function aa(e,t,n,r,i,a){return ca(t,n,r,i,a,``,ra(t),e)}function oa(e,t){if(e===`loader`&&!t.hasLoader||e===`action`&&!t.hasAction){let n=`You are trying to call ${e===`action`?`serverAction()`:`serverLoader()`} on a route that does not have a server ${e} (routeId: "${t.id}")`;throw console.error(n),new G(400,`Bad Request`,Error(n),!0)}}function sa(e,t){let n=e===`clientAction`?`a`:`an`,r=`Route "${t}" does not have ${n} ${e}, but you are trying to submit to it. To fix this, please add ${n} \`${e}\` function to the route`;throw console.error(r),new G(405,`Method Not Allowed`,Error(r),!0)}function ca(e,t,n,r,i,a=``,o=ra(e),c){return(o[a]||[]).map(a=>{let l=t[a.id];function u(e){return $(typeof e==`function`,`No single fetch function available for route handler`),e()}function d(e){return a.hasLoader?u(e):Promise.resolve(null)}function f(e){if(!a.hasAction)throw sa(`action`,a.id);return u(e)}function p(e){s(()=>import(e),[])}function m(e){e.clientActionModule&&p(e.clientActionModule),e.clientLoaderModule&&p(e.clientLoaderModule)}async function h(e){let n=t[a.id],r=n?Wi(a,n):Promise.resolve();try{return e()}finally{await r}}let g={id:a.id,index:a.index,path:a.path};if(l){Object.assign(g,{...g,...ia(a,l,i),middleware:l.clientMiddleware,handle:l.handle,shouldRevalidate:la(g.path,l,a,r,c)});let e=n&&n.loaderData&&a.id in n.loaderData,t=e?n?.loaderData?.[a.id]:void 0,o=n&&n.errors&&a.id in n.errors,s=o?n?.errors?.[a.id]:void 0,u=c==null&&(l.clientLoader?.hydrate===!0||!a.hasLoader);g.loader=async({request:n,params:r,context:i,pattern:c,url:f},p)=>{let m=u;return u=!1,await h(async()=>($(l,"No `routeModule` available for critical-route loader"),l.clientLoader?l.clientLoader({request:n,params:r,context:i,pattern:c,url:f,async serverLoader(){if(oa(`loader`,a),m){if(e)return t;if(o)throw s}return d(p)}}):d(p)))},g.loader.hydrate=pa(a.id,l.clientLoader,a.hasLoader,i),g.action=({request:e,params:t,context:n,pattern:r,url:o},s)=>h(async()=>{if($(l,"No `routeModule` available for critical-route action"),!l.clientAction){if(i)throw sa(`clientAction`,a.id);return f(s)}return l.clientAction({request:e,params:t,context:n,pattern:r,url:o,async serverAction(){return oa(`action`,a),f(s)}})})}else{a.hasClientLoader||(g.loader=(e,t)=>h(()=>d(t))),a.hasClientAction||(g.action=(e,t)=>h(()=>{if(i)throw sa(`clientAction`,a.id);return f(t)}));let e;async function n(){return e||=(async()=>{(a.clientLoaderModule||a.clientActionModule)&&await new Promise(e=>setTimeout(e,0));let e=da(a,t);return m(a),await e})(),await e}g.lazy={loader:a.hasClientLoader?async()=>{let{clientLoader:e}=a.clientLoaderModule?await s(()=>import(a.clientLoaderModule),[]):await n();return $(e,"No `clientLoader` export found"),(t,n)=>e({...t,async serverLoader(){return oa(`loader`,a),d(n)}})}:void 0,action:a.hasClientAction?async()=>{let e=a.clientActionModule?s(()=>import(a.clientActionModule),[]):n();m(a);let{clientAction:t}=await e;return $(t,"No `clientAction` export found"),(e,n)=>t({...e,async serverAction(){return oa(`action`,a),f(n)}})}:void 0,middleware:a.hasClientMiddleware?async()=>{let{clientMiddleware:e}=a.clientMiddlewareModule?await s(()=>import(a.clientMiddlewareModule),[]):await n();return $(e,"No `clientMiddleware` export found"),e}:void 0,shouldRevalidate:async()=>{let e=await n();return la(g.path,e,a,r,c)},handle:async()=>(await n()).handle,Component:async()=>(await n()).Component,ErrorBoundary:a.hasErrorBoundary?async()=>(await n()).ErrorBoundary:void 0}}let _=ca(e,t,n,r,i,a.id,o,c);return _.length>0&&(g.children=_),g})}function la(e,t,n,r,i){if(i)return ua(n.id,t.shouldRevalidate,i);if(!r&&n.hasLoader&&!n.hasClientLoader){let n=e?fe(e)[1].map(e=>e.paramName):[],r=e=>n.some(t=>e.currentParams[t]!==e.nextParams[t]);if(t.shouldRevalidate){let e=t.shouldRevalidate;return t=>e({...t,defaultShouldRevalidate:r(t)})}else return e=>r(e)}return t.shouldRevalidate}function ua(e,t,n){let r=!1;return i=>r?t?t(i):i.defaultShouldRevalidate:(r=!0,n.has(e))}async function da(e,t){let n=Bi(e,t),r=Ui(e),i=await n;return await Promise.all([r,Wi(e,i)]),{Component:fa(i),ErrorBoundary:i.ErrorBoundary,clientMiddleware:i.clientMiddleware,clientAction:i.clientAction,clientLoader:i.clientLoader,handle:i.handle,links:i.links,meta:i.meta,shouldRevalidate:i.shouldRevalidate}}function fa(e){if(e.default!=null&&!(typeof e.default==`object`&&Object.keys(e.default).length===0))return e.default}function pa(e,t,n,r){return r&&e!==`root`||t!=null&&(t.hydrate===!0||n!==!0)}var ma=new Set,ha=1e3,ga=new Set;function _a(e,t){return e.mode===`lazy`&&t===!0}function va({sri:e,...t},n){let r=new Set(n.state.matches.map(e=>e.route.id)),i=n.state.location.pathname.split(`/`).filter(Boolean),a=[`/`];for(i.pop();i.length>0;)a.push(`/${i.join(`/`)}`),i.pop();a.forEach(e=>{let t=F(n.routes,e,n.basename||`/`,!1,n.branches);t&&t.forEach(e=>r.add(e.route.id))});let o=[...r].reduce((e,n)=>Object.assign(e,{[n]:t.routes[n]}),{});return{...t,routes:o,sri:e?!0:void 0}}function ya(e,t,n,r,i,a,o){if(_a(i,r))return async({path:s,patch:c,signal:l,fetcherKey:u})=>{if(ga.has(s))return;let{state:d}=e();await Ca([s],u?window.location.href:x(d.navigation.location||d.location),t,n,r,a,o,i.manifestPath,c,l)}}function ba(e,t,n,i,a,o){r.useEffect(()=>{if(!_a(a,i)||window.navigator?.connection?.saveData===!0)return;function r(e){let t=e.tagName===`FORM`?e.getAttribute(`action`):e.getAttribute(`href`);if(!t)return;let n=e.tagName===`A`?e.pathname:new URL(t,window.location.origin).pathname;ga.has(n)||ma.add(n)}async function s(){document.querySelectorAll(`a[data-discover], form[data-discover]`).forEach(r);let s=Array.from(ma.keys()).filter(e=>ga.has(e)?(ma.delete(e),!1):!0);if(s.length!==0)try{await Ca(s,null,t,n,i,o,e.basename,a.manifestPath,e.patchRoutes)}catch(e){console.error(`Failed to fetch manifest patches`,e)}}let c=Ta(s,100);s();let l=new MutationObserver(()=>c());return l.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`data-discover`,`href`,`action`]}),()=>l.disconnect()},[i,o,t,n,e,a])}function xa(e,t){let n=e||`/__manifest`;return t==null?n:W([t,n])}var Sa=`react-router-manifest-version`;async function Ca(e,t,n,r,i,a,o,s,c,l){let u=new URLSearchParams;u.set(`paths`,e.sort().join(`,`)),u.set(`version`,n.version);let d=new URL(xa(s,o),window.location.origin);if(d.search=u.toString(),d.toString().length>7680){ma.clear();return}let f;try{let e=await fetch(d,{signal:l});if(!e.ok)throw Error(`${e.status} ${e.statusText}`);if(e.status===204&&e.headers.has(`X-Remix-Reload-Document`)){if(!t){console.warn(`Detected a manifest version mismatch during eager route discovery. The next navigation/fetch to an undiscovered route will result in a new document navigation to sync up with the latest manifest.`);return}try{if(sessionStorage.getItem(Sa)===n.version){console.error(`Unable to discover routes due to manifest version mismatch.`);return}sessionStorage.setItem(Sa,n.version)}catch{}window.location.href=t,console.warn(`Detected manifest version mismatch, reloading...`),await new Promise(()=>{})}else if(e.status>=400)throw Error(await e.text());try{sessionStorage.removeItem(Sa)}catch{}f=await e.json()}catch(e){if(l?.aborted)return;throw e}let p=new Set(Object.keys(n.routes)),m=Object.values(f).reduce((e,t)=>(t&&!p.has(t.id)&&(e[t.id]=t),e),{});Object.assign(n.routes,m),e.forEach(e=>wa(e,ga));let h=new Set;Object.values(m).forEach(e=>{e&&(!e.parentId||!m[e.parentId])&&h.add(e.parentId)}),h.forEach(e=>c(e||null,ca(m,r,null,i,a,e)))}function wa(e,t){if(t.size>=ha){let e=t.values().next().value;t.delete(e)}t.add(e)}function Ta(e,t){let n;return(...r)=>{window.clearTimeout(n),n=window.setTimeout(()=>e(...r),t)}}function Ea(){let e=r.useContext(vn);return $(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Da(){let e=r.useContext(yn);return $(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var Oa=r.createContext(void 0);Oa.displayName=`FrameworkContext`;function ka(){let e=r.useContext(Oa);return $(e,`You must render this element inside a <HydratedRouter> element`),e}function Aa(e,t){let n=r.useContext(Oa),[i,a]=r.useState(!1),[o,s]=r.useState(!1),{onFocus:c,onBlur:l,onMouseEnter:u,onMouseLeave:d,onTouchStart:f}=t,p=r.useRef(null);r.useEffect(()=>{if(e===`render`&&s(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{s(e.isIntersecting)})},{threshold:.5});return p.current&&e.observe(p.current),()=>{e.disconnect()}}},[e]),r.useEffect(()=>{if(i){let e=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(e)}}},[i]);let m=()=>{a(!0)},h=()=>{a(!1),s(!1)};return n?e===`intent`?[o,p,{onFocus:ja(c,m),onBlur:ja(l,h),onMouseEnter:ja(u,m),onMouseLeave:ja(d,h),onTouchStart:ja(f,m)}]:[o,p,{}]:[!1,p,{}]}function ja(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Ma(e,t,n){if(n&&!Va)return[e[0]];if(t){let n=e.findIndex(e=>t[e.route.id]!==void 0);return e.slice(0,n+1)}return e}var Na=`data-react-router-critical-css`;function Pa({nonce:e,crossOrigin:t}){let{isSpaMode:n,manifest:i,routeModules:a,criticalCss:o}=ka(),{errors:s,matches:c}=Da(),l=Ma(c,s,n),u=r.useMemo(()=>Vi(l,a,i),[l,a,i]);return r.createElement(r.Fragment,null,typeof o==`string`?r.createElement(`style`,{[Na]:``,nonce:e,dangerouslySetInnerHTML:{__html:o}}):null,typeof o==`object`?r.createElement(`link`,{[Na]:``,rel:`stylesheet`,href:o.href,nonce:e,crossOrigin:t}):null,u.map(({key:n,link:i})=>Ki(i)?r.createElement(Fa,{key:n,nonce:e,...i,crossOrigin:i.crossOrigin??t}):r.createElement(`link`,{key:n,nonce:e,...i,crossOrigin:i.crossOrigin??t})))}function Fa({page:e,...t}){let n=xn(),{router:i}=Ea(),a=r.useMemo(()=>P(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?n?r.createElement(La,{page:e,matches:a,...t}):r.createElement(Ra,{page:e,matches:a,...t}):null}function Ia(e){let{manifest:t,routeModules:n}=ka(),[i,a]=r.useState([]);return r.useEffect(()=>{let r=!1;return Ji(e,t,n).then(e=>{r||a(e)}),()=>{r=!0}},[e,t,n]),i}function La({page:e,matches:t,...n}){let i=Q(),{future:a}=ka(),{basename:o}=Ea(),s=r.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let n=Fi(e,o,a.unstable_trailingSlashAwareDataRequests,`rsc`),r=!1,s=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?r=!0:s.push(e.route.id);return r&&s.length>0&&n.searchParams.set(`_routes`,s.join(`,`)),[n.pathname+n.search]},[o,a.unstable_trailingSlashAwareDataRequests,e,i,t]);return r.createElement(r.Fragment,null,s.map(e=>r.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function Ra({page:e,matches:t,...n}){let i=Q(),{future:a,manifest:o,routeModules:s}=ka(),{basename:c}=Ea(),{loaderData:l,matches:u}=Da(),d=r.useMemo(()=>Yi(e,t,u,o,i,`data`),[e,t,u,o,i]),f=r.useMemo(()=>Yi(e,t,u,o,i,`assets`),[e,t,u,o,i]),p=r.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let n=new Set,r=!1;if(t.forEach(e=>{let t=o.routes[e.route.id];!t||!t.hasLoader||(!d.some(t=>t.route.id===e.route.id)&&e.route.id in l&&s[e.route.id]?.shouldRevalidate||t.hasClientLoader?r=!0:n.add(e.route.id))}),n.size===0)return[];let u=Fi(e,c,a.unstable_trailingSlashAwareDataRequests,`data`);return r&&n.size>0&&u.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[u.pathname+u.search]},[c,a.unstable_trailingSlashAwareDataRequests,l,i,o,d,t,e,s]),m=r.useMemo(()=>Xi(f,o),[f,o]),h=Ia(f);return r.createElement(r.Fragment,null,p.map(e=>r.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),m.map(e=>r.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),h.map(({key:e,link:t})=>r.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function za(){let{isSpaMode:e,routeModules:t}=ka(),{errors:n,matches:i,loaderData:a}=Da(),o=Q(),s=Ma(i,n,e),c=null;n&&(c=n[s[s.length-1].route.id]);let l=[],u=null,d=[];for(let e=0;e<s.length;e++){let n=s[e],r=n.route.id,i=a[r],f=n.params,p=t[r],m=[],h={id:r,data:i,loaderData:i,meta:[],params:n.params,pathname:n.pathname,handle:n.route.handle,error:c};if(d[e]=h,p?.meta?m=typeof p.meta==`function`?p.meta({data:i,loaderData:i,params:f,location:o,matches:d,error:c}):Array.isArray(p.meta)?[...p.meta]:p.meta:u&&(m=[...u]),m||=[],!Array.isArray(m))throw Error(`The route at `+n.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
|
|
13
|
+
|
|
14
|
+
To reference the meta function API, see https://reactrouter.com/start/framework/route-module#meta`);h.meta=m,d[e]=h,l=[...m],u=l}return r.createElement(r.Fragment,null,l.flat().map(e=>{if(!e)return null;if(`tagName`in e){let{tagName:t,...n}=e;if(!Ba(t))return console.warn(`A meta object uses an invalid tagName: ${t}. Expected either 'link' or 'meta'`),null;let i=t;return r.createElement(i,{key:JSON.stringify(n),...n})}if(`title`in e)return r.createElement(`title`,{key:`title`},String(e.title));if(`charset`in e&&(e.charSet??=e.charset,delete e.charset),`charSet`in e&&e.charSet!=null)return typeof e.charSet==`string`?r.createElement(`meta`,{key:`charSet`,charSet:e.charSet}):null;if(`script:ld+json`in e)try{let t=JSON.stringify(e[`script:ld+json`]);return r.createElement(`script`,{key:`script:ld+json:${t}`,type:`application/ld+json`,dangerouslySetInnerHTML:{__html:Ci(t)}})}catch{return null}return r.createElement(`meta`,{key:JSON.stringify(e),...e})}))}function Ba(e){return typeof e==`string`&&/^(meta|link)$/.test(e)}var Va=!1;function Ha(){Va=!0}function Ua(e){let{manifest:t,serverHandoffString:n,isSpaMode:i,renderMeta:a,routeDiscovery:o,ssr:s}=ka(),{router:c,static:l,staticContext:u}=Ea(),{matches:d}=Da(),f=xn(),p=_a(o,s);a&&(a.didRenderScripts=!0);let m=Ma(d,null,i);r.useEffect(()=>{Ha()},[]);let h=r.useMemo(()=>{if(f)return null;let i=u?`window.__reactRouterContext = ${n};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());`:` `,a=l?`${t.hmr?.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:``}${p?``:`import ${JSON.stringify(t.url)}`};
|
|
15
|
+
${m.map((e,n)=>{let r=`route${n}`,i=t.routes[e.route.id];$(i,`Route ${e.route.id} not found in manifest`);let{clientActionModule:a,clientLoaderModule:o,clientMiddlewareModule:s,hydrateFallbackModule:c,module:l}=i,u=[...a?[{module:a,varName:`${r}_clientAction`}]:[],...o?[{module:o,varName:`${r}_clientLoader`}]:[],...s?[{module:s,varName:`${r}_clientMiddleware`}]:[],...c?[{module:c,varName:`${r}_HydrateFallback`}]:[],{module:l,varName:`${r}_main`}];return u.length===1?`import * as ${r} from ${JSON.stringify(l)};`:[u.map(e=>`import * as ${e.varName} from "${e.module}";`).join(`
|
|
16
|
+
`),`const ${r} = {${u.map(e=>`...${e.varName}`).join(`,`)}};`].join(`
|
|
17
|
+
`)}).join(`
|
|
18
|
+
`)}
|
|
19
|
+
${p?`window.__reactRouterManifest = ${JSON.stringify(va(t,c),null,2)};`:``}
|
|
20
|
+
window.__reactRouterRouteModules = {${m.map((e,t)=>`${JSON.stringify(e.route.id)}:route${t}`).join(`,`)}};
|
|
21
|
+
|
|
22
|
+
import(${JSON.stringify(t.entry.module)});`:` `;return r.createElement(r.Fragment,null,r.createElement(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:i},type:void 0}),r.createElement(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a},type:`module`,async:!0}))},[]),g=Va||f?[]:[...new Set(t.entry.imports.concat(Xi(m,t,{includeHydrateFallback:!0})))],_=typeof t.sri==`object`?t.sri:{};return fr(!f,`The <Scripts /> element is a no-op when using RSC and can be safely removed.`),Va||f?null:r.createElement(r.Fragment,null,typeof t.sri==`object`?r.createElement(`script`,{...e,"rr-importmap":``,type:`importmap`,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify({integrity:_})}}):null,p?null:r.createElement(`link`,{rel:`modulepreload`,href:t.url,crossOrigin:e.crossOrigin,integrity:_[t.url],nonce:e.nonce,suppressHydrationWarning:!0}),r.createElement(`link`,{rel:`modulepreload`,href:t.entry.module,crossOrigin:e.crossOrigin,integrity:_[t.entry.module],nonce:e.nonce,suppressHydrationWarning:!0}),g.map(t=>r.createElement(`link`,{key:t,rel:`modulepreload`,href:t,crossOrigin:e.crossOrigin,integrity:_[t],nonce:e.nonce,suppressHydrationWarning:!0})),h)}function Wa(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}var Ga=class extends r.Component{constructor(e){super(e),this.state={error:e.error||null,location:e.location}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location===e.location?{error:e.error||t.error,location:t.location}:{error:e.error||null,location:e.location}}render(){return this.state.error?r.createElement(Ka,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}};function Ka({error:e,isOutsideRemixApp:t}){console.error(e);let n=r.createElement(`script`,{dangerouslySetInnerHTML:{__html:`
|
|
23
|
+
console.log(
|
|
24
|
+
"💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."
|
|
25
|
+
);
|
|
26
|
+
`}});if(ke(e))return r.createElement(qa,{title:`Unhandled Thrown Response!`},r.createElement(`h1`,{style:{fontSize:`24px`}},e.status,` `,e.statusText),n);let i;if(e instanceof Error)i=e;else{let t=e==null?`Unknown Error`:typeof e==`object`&&`toString`in e?e.toString():JSON.stringify(e);i=Error(t)}return r.createElement(qa,{title:`Application Error!`,isOutsideRemixApp:t},r.createElement(`h1`,{style:{fontSize:`24px`}},`Application Error`),r.createElement(`pre`,{style:{padding:`2rem`,background:`hsla(10, 50%, 50%, 0.1)`,color:`red`,overflow:`auto`}},i.stack),n)}function qa({title:e,renderScripts:t,isOutsideRemixApp:n,children:i}){let{routeModules:a}=ka();return a.root?.Layout&&!n?i:r.createElement(`html`,{lang:`en`},r.createElement(`head`,null,r.createElement(`meta`,{charSet:`utf-8`}),r.createElement(`meta`,{name:`viewport`,content:`width=device-width,initial-scale=1,viewport-fit=cover`}),r.createElement(`title`,null,e)),r.createElement(`body`,null,r.createElement(`main`,{style:{fontFamily:`system-ui, sans-serif`,padding:`2rem`}},i,t?r.createElement(Ua,null):null)))}var Ja=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{Ja&&(window.__reactRouterVersion=`7.15.1`)}catch{}function Ya({basename:e,children:t,history:n,useTransitions:i}){let[a,o]=r.useState({action:n.action,location:n.location}),s=r.useCallback(e=>{i===!1?o(e):r.startTransition(()=>o(e))},[i]);return r.useLayoutEffect(()=>n.listen(s),[n,s]),r.createElement(wr,{basename:e,children:t,location:a.location,navigationType:a.action,navigator:n,useTransitions:i})}Ya.displayName=`unstable_HistoryRouter`;var Xa=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Za=r.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:i,reloadDocument:a,replace:o,mask:s,state:c,target:l,to:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p,...m},h){let{basename:g,navigator:_,useTransitions:v}=r.useContext(X),y=typeof u==`string`&&Xa.test(u),b=Me(u,g);u=b.to;let x=Mn(u,{relative:i}),S=Q(),C=null;if(s){let e=U(s,[],S.mask?S.mask.pathname:`/`,!0);g!==`/`&&(e.pathname=e.pathname===`/`?g:W([g,e.pathname])),C=_.createHref(e)}let[w,T,E]=Aa(n,m),D=io(u,{replace:o,mask:s,state:c,target:l,preventScrollReset:d,relative:i,viewTransition:f,defaultShouldRevalidate:p,useTransitions:v});function O(t){e&&e(t),t.defaultPrevented||D(t)}let k=!(b.isExternal||a),A=r.createElement(`a`,{...m,...E,href:(k?C:void 0)||b.absoluteURL||x,onClick:k?O:e,ref:Wa(h,T),target:l,"data-discover":!y&&t===`render`?`true`:void 0});return w&&!y?r.createElement(r.Fragment,null,A,r.createElement(Fa,{page:x})):A});Za.displayName=`Link`;var Qa=r.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:i=!1,style:a,to:o,viewTransition:s,children:c,...l},u){let d=Vn(o,{relative:l.relative}),f=Q(),p=r.useContext(yn),{navigator:m,basename:h}=r.useContext(X),g=p!=null&&vo(d)&&s===!0,_=m.encodeLocation?m.encodeLocation(d).pathname:d.pathname,v=f.pathname,y=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;t||(v=v.toLowerCase(),y=y?y.toLowerCase():null,_=_.toLowerCase()),y&&h&&(y=V(y,h)||y);let b=_!==`/`&&_.endsWith(`/`)?_.length-1:_.length,x=v===_||!i&&v.startsWith(_)&&v.charAt(b)===`/`,S=y!=null&&(y===_||!i&&y.startsWith(_)&&y.charAt(_.length)===`/`),C={isActive:x,isPending:S,isTransitioning:g},w=x?e:void 0,T;T=typeof n==`function`?n(C):[n,x?`active`:null,S?`pending`:null,g?`transitioning`:null].filter(Boolean).join(` `);let E=typeof a==`function`?a(C):a;return r.createElement(Za,{...l,"aria-current":w,className:T,ref:u,style:E,to:o,viewTransition:s},typeof c==`function`?c(C):c)});Qa.displayName=`NavLink`;var $a=r.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:i,replace:a,state:o,method:s=Mr,action:c,onSubmit:l,relative:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p,...m},h)=>{let{useTransitions:g}=r.useContext(X),_=co(),v=lo(c,{relative:u}),y=s.toLowerCase()===`get`?`get`:`post`,b=typeof c==`string`&&Xa.test(c);return r.createElement(`form`,{ref:h,method:y,action:v,onSubmit:i?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let i=e.nativeEvent.submitter,c=i?.getAttribute(`formmethod`)||s,m=()=>_(i||e.currentTarget,{fetcherKey:t,method:c,navigate:n,replace:a,state:o,relative:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p});g&&n!==!1?r.startTransition(()=>m()):m()},...m,"data-discover":!b&&e===`render`?`true`:void 0})});$a.displayName=`Form`;function eo({getKey:e,storageKey:t,...n}){let i=r.useContext(Oa),{basename:a}=r.useContext(X),o=Q(),s=rr();go({getKey:e,storageKey:t});let c=r.useMemo(()=>{if(!i||!e)return null;let t=ho(o,s,a,e);return t===o.key?null:t},[]);if(!i||i.isSpaMode)return null;let l=((e,t)=>{if(!window.history.state||!window.history.state.key){let e=Math.random().toString(32).slice(2);window.history.replaceState({key:e},``)}try{let n=JSON.parse(sessionStorage.getItem(e)||`{}`)[t||window.history.state.key];typeof n==`number`&&window.scrollTo(0,n)}catch(t){console.error(t),sessionStorage.removeItem(e)}}).toString();return r.createElement(`script`,{...n,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${l})(${Ci(JSON.stringify(t||po))}, ${Ci(JSON.stringify(c))})`}})}eo.displayName=`ScrollRestoration`;function to(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function no(e){let t=r.useContext(vn);return g(t,to(e)),t}function ro(e){let t=r.useContext(yn);return g(t,to(e)),t}function io(e,{target:t,replace:n,mask:i,state:a,preventScrollReset:o,relative:s,viewTransition:c,defaultShouldRevalidate:l,useTransitions:u}={}){let d=In(),f=Q(),p=Vn(e,{relative:s});return r.useCallback(m=>{if(zr(m,t)){m.preventDefault();let t=n===void 0?x(f)===x(p):n,h=()=>d(e,{replace:t,mask:i,state:a,preventScrollReset:o,relative:s,viewTransition:c,defaultShouldRevalidate:l});u?r.startTransition(()=>h()):h()}},[f,d,p,n,i,a,t,e,o,s,c,l,u])}function ao(e){_(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=r.useRef(Br(e)),n=r.useRef(!1),i=Q(),a=r.useMemo(()=>Vr(i.search,n.current?null:t.current),[i.search]),o=In();return[a,r.useCallback((e,t)=>{let r=Br(typeof e==`function`?e(new URLSearchParams(a)):e);n.current=!0,o(`?`+r,t)},[o,a])]}var oo=0,so=()=>`__${String(++oo)}__`;function co(){let{router:e}=no(`useSubmit`),{basename:t}=r.useContext(X),n=tr(),i=e.fetch,a=e.navigate;return r.useCallback(async(e,r={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=Kr(e,t);r.navigate===!1?await i(r.fetcherKey||so(),n,r.action||o,{defaultShouldRevalidate:r.defaultShouldRevalidate,preventScrollReset:r.preventScrollReset,formData:l,body:u,formMethod:r.method||s,formEncType:r.encType||c,flushSync:r.flushSync}):await a(r.action||o,{defaultShouldRevalidate:r.defaultShouldRevalidate,preventScrollReset:r.preventScrollReset,formData:l,body:u,formMethod:r.method||s,formEncType:r.encType||c,replace:r.replace,state:r.state,fromRouteId:n,flushSync:r.flushSync,viewTransition:r.viewTransition})},[i,a,t,n])}function lo(e,{relative:t}={}){let{basename:n}=r.useContext(X),i=r.useContext(Z);g(i,`useFormAction must be used inside a RouteContext`);let[a]=i.matches.slice(-1),o={...Vn(e||`.`,{relative:t})},s=Q();if(e==null){o.search=s.search;let e=new URLSearchParams(o.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();o.search=n?`?${n}`:``}}return(!e||e===`.`)&&a.route.index&&(o.search=o.search?o.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(o.pathname=o.pathname===`/`?n:W([n,o.pathname])),x(o)}function uo({key:e}={}){let{router:t}=no(`useFetcher`),n=ro(`useFetcher`),i=r.useContext(Cn),a=r.useContext(Z),o=a.matches[a.matches.length-1]?.route.id;g(i,`useFetcher must be used inside a FetchersContext`),g(a,`useFetcher must be used inside a RouteContext`),g(o!=null,`useFetcher can only be used on routes that contain a unique "id"`);let s=r.useId(),[c,l]=r.useState(e||s);e&&e!==c&&l(e);let{deleteFetcher:u,getFetcher:d,resetFetcher:f,fetch:p}=t;r.useEffect(()=>(d(c),()=>u(c)),[u,d,c]);let m=r.useCallback(async(e,t)=>{g(o,`No routeId available for fetcher.load()`),await p(c,o,e,t)},[c,o,p]),h=co(),_=r.useCallback(async(e,t)=>{await h(e,{...t,navigate:!1,fetcherKey:c})},[c,h]),v=r.useCallback(e=>f(c,e),[f,c]),y=r.useMemo(()=>{let e=r.forwardRef((e,t)=>r.createElement($a,{...e,navigate:!1,fetcherKey:c,ref:t}));return e.displayName=`fetcher.Form`,e},[c]),b=n.fetchers.get(c)||Ze,x=i.get(c);return r.useMemo(()=>({Form:y,submit:_,load:m,reset:v,...b,data:x}),[y,_,m,v,b,x])}function fo(){let e=ro(`useFetchers`);return r.useMemo(()=>Array.from(e.fetchers.entries()).map(([e,t])=>({...t,key:e})),[e.fetchers])}var po=`react-router-scroll-positions`,mo={};function ho(e,t,n,r){let i=null;return r&&(i=r(n===`/`?e:{...e,pathname:V(e.pathname,n)||e.pathname},t)),i??=e.key,i}function go({getKey:e,storageKey:t}={}){let{router:n}=no(`useScrollRestoration`),{restoreScrollPosition:i,preventScrollReset:a}=ro(`useScrollRestoration`),{basename:o}=r.useContext(X),s=Q(),c=rr(),l=nr();r.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),_o(r.useCallback(()=>{if(l.state===`idle`){let t=ho(s,c,o,e);mo[t]=window.scrollY}try{sessionStorage.setItem(t||po,JSON.stringify(mo))}catch(e){_(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[l.state,e,o,s,c,t])),typeof document<`u`&&(r.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||po);e&&(mo=JSON.parse(e))}catch{}},[t]),r.useLayoutEffect(()=>{let t=n?.enableScrollRestoration(mo,()=>window.scrollY,e?(t,n)=>ho(t,n,o,e):void 0);return()=>t&&t()},[n,o,e]),r.useLayoutEffect(()=>{if(i!==!1){if(typeof i==`number`){window.scrollTo(0,i);return}try{if(s.hash){let e=document.getElementById(decodeURIComponent(s.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{_(!1,`"${s.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}a!==!0&&window.scrollTo(0,0)}},[s,i,a]))}function _o(e,t){let{capture:n}=t||{};r.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,n])}function vo(e,{relative:t}={}){let n=r.useContext(Sn);g(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:i}=no(`useViewTransitionState`),a=Vn(e,{relative:t});if(!n.isTransitioning)return!1;let o=V(n.currentLocation.pathname,i)||n.currentLocation.pathname,s=V(n.nextLocation.pathname,i)||n.nextLocation.pathname;return B(a.pathname,s)!=null||B(a.pathname,o)!=null}[...Ei];function yo(e,...t){let n=t[0],r=bo(e).replace(/\/:([\w-]+)(\?)?/g,(t,r,i)=>{let a=i===void 0,o=n?.[r];if(a&&o===void 0)throw Error(`Path '${e}' requires param '${r}' but it was not provided`);return o===void 0?``:`/`+o});if(e.endsWith(`*`)){let e=n?.[`*`];e!==void 0&&(r+=`/`+e)}return r||`/`}function bo(e){let t=e.length-1,n=e[t];if(n!==`*`&&n!==`/`)return e;for(t--;t>=0&&e[t]===`/`;t--);return e.slice(0,t+1)}new TextEncoder,r.Component;function xo(e){if(!e)return null;let t=Object.entries(e),n={};for(let[e,r]of t)if(r&&r.__type===`RouteErrorResponse`)n[e]=new G(r.status,r.statusText,r.data,r.internal===!0);else if(r&&r.__type===`Error`){if(r.__subType){let t=window[r.__subType];if(typeof t==`function`)try{let i=new t(r.message);i.stack=r.stack,n[e]=i}catch{}}if(n[e]==null){let t=Error(r.message);t.stack=r.stack,n[e]=t}}else n[e]=r;return n}function So({state:e,routes:t,getRouteInfo:n,location:r,basename:i,isSpaMode:a}){let o={...e,loaderData:{...e.loaderData}},s=P(t,r,i);if(s)for(let e of s){let t=e.route.id,r=n(t);pa(t,r.clientLoader,r.hasLoader,a)&&(r.hasHydrateFallback||!r.hasLoader)?delete o.loaderData[t]:r.hasLoader||(o.loaderData[t]=null)}return o}var Co=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),wo=e(((e,t)=>{t.exports=Co()}));export{Q as A,Di as C,uo as D,gr as E,co as F,kr as I,jr as L,nr as M,or as N,fo as O,ao as P,ya as S,g as T,ca as _,Tr as a,ot as b,Za as c,Cr as d,Ga as f,h as g,eo as h,yo as i,In as j,ba as k,Pa as l,Ua as m,xo as n,$a as o,yr as p,So as r,Oa as s,wo as t,za as u,aa as v,_r as w,Li as x,T as y};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-GhdqqEEy.js","imports":["/assets/react-YTRJEZSD.js","/assets/jsx-runtime-GK6fC0y1.js","/assets/react-dom-QjzVRb79.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-CA2KruPD.js","imports":["/assets/react-YTRJEZSD.js","/assets/jsx-runtime-GK6fC0y1.js","/assets/react-dom-QjzVRb79.js","/assets/util-CPW5oMgy.js","/assets/clear-cache-BdU23_cx.js","/assets/dist-QDdB6dtJ.js","/assets/ChevronButton-ANoRM4oe.js","/assets/CollapsibleHeader-Bu4p-oqI.js","/assets/viewParams-BaE5Z0S4.js"],"css":["/assets/root-CV-2KSQa.css"]},"routes/api.contributor-distribution":{"id":"routes/api.contributor-distribution","parentId":"root","path":"api/contributor-distribution","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.contributor-distribution-BvRk9kiK.js","imports":[],"css":[]},"routes/api.commit-intervals":{"id":"routes/api.commit-intervals","parentId":"root","path":"api/commit-intervals","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.commit-intervals-BvRk9kiK.js","imports":[],"css":[]},"routes/[.]well-known.$":{"id":"routes/[.]well-known.$","parentId":"root","path":".well-known/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/_._well-known._-BvRk9kiK.js","imports":[],"css":[]},"routes/api.progress":{"id":"routes/api.progress","parentId":"root","path":"api/progress","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.progress-DICNnGq5.js","imports":["/assets/api.progress-BENNzkFW.js","/assets/dist-QDdB6dtJ.js","/assets/viewParams-BaE5Z0S4.js","/assets/react-YTRJEZSD.js"],"css":[]},"routes/api.commits":{"id":"routes/api.commits","parentId":"root","path":"api/commits","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.commits-DAF4WH2m.js","imports":["/assets/api.commits-iEgBtL-A.js","/assets/dist-QDdB6dtJ.js","/assets/viewParams-BaE5Z0S4.js","/assets/react-YTRJEZSD.js"],"css":[]},"routes/api.metrics":{"id":"routes/api.metrics","parentId":"root","path":"api/metrics","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.metrics-BvRk9kiK.js","imports":[],"css":[]},"routes/clear-cache":{"id":"routes/clear-cache","parentId":"root","path":"clear-cache","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/clear-cache-BTEuD7P-.js","imports":["/assets/clear-cache-BdU23_cx.js","/assets/react-YTRJEZSD.js","/assets/jsx-runtime-GK6fC0y1.js"],"css":[]},"routes/api.abort":{"id":"routes/api.abort","parentId":"root","path":"api/abort","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/api.abort-DxAkeS-W.js","imports":["/assets/api.abort-CX5xkHwa.js","/assets/dist-QDdB6dtJ.js","/assets/react-YTRJEZSD.js"],"css":[]},"routes/_index":{"id":"routes/_index","parentId":"root","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/_index-BvRk9kiK.js","imports":[],"css":[]},"routes/browse":{"id":"routes/browse","parentId":"root","path":"browse","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/browse-DGrdg-dm.js","imports":["/assets/browse-Mvd04mK4.js","/assets/react-YTRJEZSD.js","/assets/jsx-runtime-GK6fC0y1.js","/assets/util-CPW5oMgy.js","/assets/clear-cache-BdU23_cx.js","/assets/dist-QDdB6dtJ.js","/assets/viewParams-BaE5Z0S4.js","/assets/react-dom-QjzVRb79.js"],"css":[]},"routes/$path":{"id":"routes/$path","parentId":"root","path":":path","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/_path-BvRk9kiK.js","imports":[],"css":[]},"routes/view":{"id":"routes/view","parentId":"root","path":"view","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/view-Cwcd1vTK.js","imports":["/assets/react-YTRJEZSD.js","/assets/jsx-runtime-GK6fC0y1.js","/assets/util-CPW5oMgy.js","/assets/Tooltip-DRu0grUy.js","/assets/clear-cache-BdU23_cx.js","/assets/dist-QDdB6dtJ.js","/assets/viewParams-BaE5Z0S4.js","/assets/react-dom-QjzVRb79.js","/assets/browse-Mvd04mK4.js","/assets/CollapsibleHeader-Bu4p-oqI.js","/assets/api.abort-CX5xkHwa.js","/assets/api.commits-iEgBtL-A.js","/assets/ChevronButton-ANoRM4oe.js","/assets/api.progress-BENNzkFW.js"],"css":[]},"routes/ui":{"id":"routes/ui","parentId":"root","path":"ui","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/ui-HOyuwkxV.js","imports":["/assets/react-YTRJEZSD.js","/assets/jsx-runtime-GK6fC0y1.js","/assets/util-CPW5oMgy.js","/assets/Tooltip-DRu0grUy.js","/assets/clear-cache-BdU23_cx.js","/assets/ChevronButton-ANoRM4oe.js","/assets/browse-Mvd04mK4.js","/assets/dist-QDdB6dtJ.js","/assets/viewParams-BaE5Z0S4.js","/assets/react-dom-QjzVRb79.js","/assets/api.progress-BENNzkFW.js"],"css":[]},"routes/$":{"id":"routes/$","parentId":"root","path":"*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/_-BvRk9kiK.js","imports":[],"css":[]}},"url":"/assets/manifest-a38e366c.js","version":"a38e366c"};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.6`})),u=o(((e,t)=>{t.exports=l()}));export{o as n,c as r,u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./react-YTRJEZSD.js";var n=e((e=>{var n=t();function r(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function i(){}var a={d:{f:i,r:function(){throw Error(r(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},o=Symbol.for(`react.portal`);function s(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var c=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(r(299));return s(e,t,null,n)},e.flushSync=function(e){var t=c.T,n=a.p;try{if(c.T=null,a.p=2,e)return e()}finally{c.T=t,a.p=n,a.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,a.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&a.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin),i=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?a.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:i,fetchPriority:o}):n===`script`&&a.d.X(e,{crossOrigin:r,integrity:i,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=l(t.as,t.crossOrigin);a.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??a.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin);a.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=l(t.as,t.crossOrigin);a.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else a.d.m(e)},e.requestFormReset=function(e){a.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return c.H.useFormState(e,t,n)},e.useFormStatus=function(){return c.H.useHostTransitionStatus()},e.version=`19.2.6`})),r=e(((e,t)=>{function r(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(e){console.error(e)}}r(),t.exports=n()}));export{r as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{r as e,t}from"./react-YTRJEZSD.js";import{A as n,I as r,L as i,N as a,P as o,c as s,d as c,h as l,j as u,l as d,m as f,t as p,u as m,y as h}from"./jsx-runtime-GK6fC0y1.js";import{_t as g,d as _,n as v,t as y,vt as b}from"./clear-cache-BdU23_cx.js";import{r as x}from"./util-CPW5oMgy.js";import{c as S,d as C,f as w,h as T,l as E,m as D,p as O,u as k}from"./dist-QDdB6dtJ.js";import{n as A}from"./ChevronButton-ANoRM4oe.js";import{t as j}from"./CollapsibleHeader-Bu4p-oqI.js";var M=b(),ee={name:`git-truck`,version:`4.0.0`,private:!1,description:`Visualizing a Git repository`,license:`MIT`,main:`./cli.mjs`,bin:{"git-truck":`cli.mjs`},files:[`LICENSE`,`README.md`,`build/`,`public/`,`cli.mjs`],type:`module`,scripts:{test:`npm run test:e2e && npm run test:unit`,"test:unit":`vitest run`,"test:unit:watch":`vitest watch`,"test:e2e":`npx playwright test`,"test:e2e:headed":`npx playwright test --headed`,"pretest:e2e":`npm run build`,"pretest:e2e:headed":`npm run build`,build:`cross-env NODE_ENV=production npm run build-vite && npm run build-cli`,"build:dev":`cross-env NODE_ENV=development npm run build-vite && npm run build-cli:dev`,"build-cli":`cross-env NODE_ENV=production tsdown --env.NODE_ENV=production`,"build-cli:dev":`cross-env NODE_ENV=development tsdown --env.NODE_ENV=development`,"build-vite":`react-router build`,dev:`bun dev:portless`,"dev:portless":`bunx --bun portless proxy start --no-tls && bunx --bun portless git-truck bun dev:bun`,"dev:bun":`NODE_ENV=development bun --bun ./src/cli.ts`,"dev:node":`cross-env NODE_ENV=development tsx --env-file-if-exists=.env --env-file-if-exists=.env.local ./src/cli.ts`,start:`cross-env NODE_ENV=production node . --env-file-if-exists=.env --env-file-if-exists=.env.local`,clean:`npx -y rimraf build .react-router .cache .temp cli.mjs cli.js cli.cjs`,typecheck:`react-router typegen && tsc -b`,"typegen:watch":`react-router typegen --watch`,"pub-pre":`npm version prerelease && npm publish --tag next`,"pub-premajor":`npm version premajor && npm publish --tag next`,"pub-preminor":`npm version preminor && npm publish --tag next`,"pub-prepatch":`npm version prepatch && npm publish --tag next`,"pub-exp":`node ./scripts/publish-experimental`,prepublishOnly:`npm run clean && npm run build`,"format:write":`prettier --log-level warn --write src scripts e2e`,"lint:fix":`eslint --fix --cache`,"check:write":`react-router typegen && npm run knip:write && npm run lint:fix && npm run format:write`,check:`react-router typegen && npm run knip && npm run lint && npm run format:check`,"format:check":`prettier --check src scripts e2e`,lint:`eslint --cache`,"update-deps":`bun update --latest -i`,knip:`knip`,"knip:write":`knip --fix`,commit:`cz`,changeset:`bunx @changesets/cli && git add .changeset && git commit -m "chore: add changeset"`,release:`bun run build && bunx @changesets/cli publish`},dependencies:{"@duckdb/node-api":`1.5.1-r.1`},devDependencies:{"@babel/core":`7.29.0`,"@changesets/cli":`2.30.0`,"@eslint/js":`9.39.2`,"@headlessui/react":`2.2.9`,"@mdi/js":`7.4.47`,"@playwright/test":`1.58.2`,"@react-router/dev":`7.15.1`,"@react-router/express":`7.15.1`,"@react-router/fs-routes":`7.15.1`,"@react-router/node":`7.15.1`,"@rolldown/plugin-babel":`0.2.2`,"@tailwindcss/vite":`4.3.0`,"@types/bun":`1.3.10`,"@types/byte-size":`8.1.2`,"@types/d3":`7.4.3`,"@types/d3-hierarchy":`3.1.7`,"@types/express":`5.0.6`,"@types/node":`^25.9.1`,"@types/randomstring":`1.3.0`,"@types/react":`19.2.15`,"@types/react-dom":`19.2.3`,"@types/semver":`7.7.1`,"@types/sha1":`1.1.5`,"@vitejs/plugin-react":`6.0.2`,"ansi-colors":`4.1.3`,"async-mutex":`0.5.0`,"babel-plugin-react-compiler":`1.0.0`,"byte-size":`9.0.1`,clsx:`2.1.1`,"color-convert":`3.1.3`,commitizen:`4.3.1`,"cross-env":`10.1.0`,"cz-conventional-changelog":`3.3.0`,d3:`7.9.0`,"d3-hierarchy":`3.1.2`,eslint:`9.39.2`,"eslint-import-resolver-typescript":`4.4.4`,"eslint-plugin-import":`2.32.0`,"eslint-plugin-jsx-a11y":`6.10.2`,"eslint-plugin-react":`7.37.5`,"eslint-plugin-react-hooks":`7.0.1`,"eslint-plugin-react-you-might-not-need-an-effect":`0.9.3`,express:`5.2.1`,"get-port":`7.1.0`,globals:`17.3.0`,ignore:`7.0.5`,isbot:`5.1.35`,knip:`6.1.0`,"language-map":`1.5.0`,nanospinner:`1.2.2`,nuqs:`2.8.9`,open:`11.0.0`,prettier:`3.8.1`,"prettier-plugin-tailwindcss":`0.7.2`,"radix-ui":`1.4.3`,randomstring:`1.3.1`,react:`19.2.6`,"react-colorful":`5.6.1`,"react-compound-slider":`3.4.0`,"react-dom":`19.2.6`,"react-router":`7.15.1`,"react-router-devtools":`6.2.0`,"react-tiny-popover":`8.1.6`,"react-use-size":`5.0.1`,semver:`7.7.4`,sha1:`1.1.1`,"tailwind-merge":`3.4.0`,tailwindcss:`4.3.0`,"temporal-polyfill":`0.3.2`,tsdown:`0.22.0`,tsx:`4.21.0`,typescript:`6.0.3`,"typescript-eslint":`8.60.0`,vite:`8.0.14`,vitest:`4.1.7`,zustand:`5.0.13`},tsdown:{entry:`./src/cli.ts`,outDir:`.`,treeshake:!0,clean:!1,minify:!0,deps:{onlyBundle:!1,alwaysBundle:[`ansi-colors`,`async-mutex`,`color-convert`,`express`,`ignore`,`nanospinner`,`semver`,`yargs-parser`],neverBundle:[`vite`,`lightningcss`,`/^@duckdb//`]},"cjs-interop":!0,env:{NODE_ENV:`production`}},prettier:{semi:!1,printWidth:120,trailingComma:`none`,endOfLine:`lf`,plugins:[`prettier-plugin-tailwindcss`]},knip:{entry:[`src/server/app.ts`,`src/routes/**/*.tsx`,`scripts/**/*.{ts,js}`]},engines:{node:`>=22.0.0`},repository:{type:`git`,url:`git+https://github.com/git-truck/git-truck.git`},bugs:{url:`https://github.com/git-truck/git-truck/issues`},homepage:`https://github.com/git-truck/git-truck#readme`,config:{commitizen:{path:`./node_modules/cz-conventional-changelog`}}};function N(e,t,n){return r=>{if(!(t.length===0||t.some(t=>!S(r.getAll(t),e.getAll(t)))))return O("[nuqs `%s`] no change, returning previous",t.join(`,`),r),r;let i=P(e,t,n);return O(`[nuqs \`%s\`] subbed search params change
|
|
2
|
+
from %O
|
|
3
|
+
to %O`,t.join(`,`),r,i),i}}function P(e,t,n){if(t.length===0)return e;let r=n?new URLSearchParams(e):e;for(let n of e.keys())t.includes(n)||r.delete(n);return r}var F=0;function I(e=1){F=e}function L(e=R){F=Math.max(0,F-1),!(F>0)&&e()}function R(){O(`[nuqs] Aborting queues`),k.abortAll(),C.abort().forEach(e=>k.queuedQuerySync.emit(e))}var z=`__nuqs__`;function B(e){if(e instanceof URL)return e.searchParams;if(e.startsWith(`?`))return new URLSearchParams(e);try{return new URL(e,location.origin).searchParams}catch{return new URLSearchParams(e)}}function V(e){return typeof history>`u`?!1:history.nuqs?.version&&history.nuqs.version!==`2.8.9`?(console.error(D(409),history.nuqs.version,`2.8.9`,e),!1):!history.nuqs?.adapters?.includes(e)}function H(e){history.nuqs=history.nuqs??{version:`2.8.9`,adapters:[]},history.nuqs.adapters.push(e)}function U(e,t){if(!V(t))return;let n=typeof location==`object`?location.search:``;e.on(`update`,e=>{let t=e.toString();n=t.length?`?`+t:``}),window.addEventListener(`popstate`,()=>{n=location.search,R()}),O(`[nuqs %s] Patching history (%s adapter)`,`2.8.9`,t);function r(t){L();try{if(new URL(t,location.origin).search===n)return}catch{}try{e.emit(`update`,B(t))}catch(e){console.error(e)}}let i=history.pushState,a=history.replaceState;history.pushState=function(e,t,n){i.call(history,e,``,n),n&&t!==`__nuqs__`&&r(n)},history.replaceState=function(e,t,n){a.call(history,e,``,n),n&&t!==`__nuqs__`&&r(n)},H(t)}var W=e(t(),1);function G({adapter:e,useNavigate:t,useSearchParams:n}){let r=E();function i(n){let i=t();return{searchParams:a(n),updateUrl:(0,W.useCallback)((t,n)=>{(0,W.startTransition)(()=>{r.emit(`update`,t)});let a=new URL(location.href);a.search=T(t),O(`[nuqs ${e}] Updating url: %s`,a);let o=n.history===`push`?history.pushState:history.replaceState;I(n.shallow?1:2),o.call(history,history.state,z,a),n.shallow===!1&&i({hash:a.hash,search:a.search},{replace:!0,preventScrollReset:!0,state:history.state?.usr}),n.scroll&&window.scrollTo(0,0)},[i]),autoResetQueueOnUpdate:!1}}function a(e=[]){let[t]=n(typeof location>`u`?new URLSearchParams:new URLSearchParams(location.search)),[i,a]=(0,W.useState)(()=>typeof location>`u`?P(t,e,!0):P(new URLSearchParams(location.search),e,!1));return(0,W.useEffect)(()=>{function t(){(0,W.startTransition)(()=>{a(N(new URLSearchParams(location.search),e,!1))})}function n(t){(0,W.startTransition)(()=>{a(N(t,e,!0))})}return r.on(`update`,n),window.addEventListener(`popstate`,t),()=>{r.off(`update`,n),window.removeEventListener(`popstate`,t)}},[e.join(`&`)]),i}return U(r,e),{NuqsAdapter:w(i),useOptimisticSearchParams:a}}var K=G({adapter:`react-router-v7`,useNavigate:u,useSearchParams:o}),q=K.NuqsAdapter;K.useOptimisticSearchParams;var J=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACPElEQVR4AexUvU4CQRCe8xnURuNvZSEFhZY0EAs7Q3wBE4Ox0MRHAGOLiRd9ARsKrayg4RUwxsqYiDYmmlhZ4n4b1uwJhzc3i0pcwnc7O//fDMcYjfjHE/jtBfoN+A0IJ+B/QsIBisP9BsQjFCbwGxAOUBzuNyAeoTDB/9pAs9nsSCEceE84ewOZTIbSwlTHEIwsPdkEpAURv7CwQu32u94m7hKwCDQaDUmtnlgQkW6DRSCfz/c0kUZxcPVCBuHtIm2ePXbS5EEMiwACXOH6uEAA8uFMS4JBAKWGh7Qk/gwBjCYNCRYB1y8xmpaCRcDVS4ympzaqtLxXh6hPyNBBwXkfWASQ/Cewu3SXuAybQKvVorRAV4VCIfKX+dq+IQA2g2w2a8RvTxaBWq1GQKVSIRu5XI5KpVJEN1ut0lcgxu4IjTcO1+jpYj9CYuv8zXYbKLMIhGEYnIShTliv14MuaEc1XywWSd0BrZ+7vAy0o/VQdm2rlaYD1TjwGavupBDABlhhA0UWAWRSXekmIBuMT0wYMXKChI2IsXuJi+2avz3YBPpkDMrlMgHKpvipZ/KvJFZXSUxgZ32+MwCkbMAgnx7b0fYqdIgDIH9Cd5fgkZjA6dV9YJAgb8RlZmoycjeXh6dnI+rT5MepFQkeiQnYuVCgH2wfW/7aKGycePjHIRWBuGT9morTxeXg6p0S4BZ34e8JuJiiJIffgGR6LmL9BlxMUZJjOBuQdMSM9QSYA3Pu7jfgfKTMhCO/gQ8AAAD//8PpGL8AAAAGSURBVAMAPflvcLxWBRkAAAAASUVORK5CYIIA`,Y=p();function X(e){let t=(0,M.c)(16),{className:n,message:r,truck:i,children:a}=e,o=i===void 0?`crashed`:i,s;t[0]===n?s=t[1]:(s=v(`app-container`,n),t[0]=n,t[1]=s);let c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Y.jsx)(`div`,{}),t[2]=c):c=t[2];let l=o===`crashed`?A:J,u;t[3]===l?u=t[4]:(u=(0,Y.jsx)(`img`,{src:l,alt:`Git Truck`,className:`pixelated w-full min-w-0`}),t[3]=l,t[4]=u);let d;t[5]===r?d=t[6]:(d=(0,Y.jsx)(`div`,{className:`text-4xl leading-tight font-extrabold`,children:r}),t[5]=r,t[6]=d);let f;t[7]===a?f=t[8]:(f=(0,Y.jsx)(`div`,{className:`flex flex-col gap-8`,children:a}),t[7]=a,t[8]=f);let p;t[9]!==u||t[10]!==d||t[11]!==f?(p=(0,Y.jsxs)(`div`,{className:`flex max-w-2xl flex-col items-center gap-4 text-center`,children:[u,d,f]}),t[9]=u,t[10]=d,t[11]=f,t[12]=p):p=t[12];let m;return t[13]!==s||t[14]!==p?(m=(0,Y.jsxs)(`div`,{className:s,children:[c,p]}),t[13]=s,t[14]=p,t[15]=m):m=t[15],m}var Z=()=>[{title:`Git Truck`}],Q=r(function(){let e=(0,M.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Y.jsx)(q,{children:(0,Y.jsx)($,{children:(0,Y.jsx)(c,{})})}),e[0]=t):t=e[0],t});h();function $(e){let t=(0,M.c)(8),{children:n,className:r}=e,i=r===void 0?``:r,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Y.jsxs)(`head`,{children:[(0,Y.jsx)(`meta`,{charSet:`utf-8`}),(0,Y.jsx)(`meta`,{name:`viewport`,content:`width=device-width,initial-scale=1`}),(0,Y.jsx)(m,{}),(0,Y.jsx)(d,{})]}),t[0]=a):a=t[0];let o;t[1]===i?o=t[2]:(o=v(`bg-secondary-bg dark:bg-secondary-bg-dark text-primary-text dark:text-primary-text-dark`,i),t[1]=i,t[2]=o);let s,c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Y.jsx)(l,{}),c=(0,Y.jsx)(f,{}),t[3]=s,t[4]=c):(s=t[3],c=t[4]);let u;return t[5]!==n||t[6]!==o?(u=(0,Y.jsxs)(`html`,{lang:`en`,children:[a,(0,Y.jsxs)(`body`,{className:o,children:[n,s,c]})]}),t[5]=n,t[6]=o,t[7]=u):u=t[7],u}var te=i(()=>{let e=(0,M.c)(34),{pathname:t,search:r}=n(),i=a(),o;e[0]===i?o=e[1]:(o=i instanceof Error&&i.message.startsWith(`Failed to fetch`),e[0]=i,e[1]=o);let c=o,l=c?`Git Truck is not running, please start it and try again.`:`Oh no, the Git Truck crashed!`,u,d,f,p,m,h,v,b;if(e[2]!==i||e[3]!==c||e[4]!==l||e[5]!==t||e[6]!==r){let n=new URL(`https://github.com/git-truck/git-truck/issues/new?template=bug.yml`);n.searchParams.append(`title`,`crash: `+(i instanceof Error?i.message:`Unknown error`)),n.searchParams.append(`os`,navigator.platform),n.searchParams.append(`version`,ee.version),i&&i instanceof Error&&n.searchParams.append(`description`,`\n\n\`\`\`\n${i.stack}\n\`\`\``),d=$,u=X,h=`min-h-screen`,v=l,b=c?`parked`:`crashed`,f=`flex flex-wrap justify-center gap-2`;let a=t+r;e[15]===a?p=e[16]:(p=(0,Y.jsx)(s,{reloadDocument:!0,className:`btn`,to:a,children:`Retry`}),e[15]=a,e[16]=p),m=c?null:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(s,{className:`btn btn--primary`,to:`..`,children:`Go back`}),(0,Y.jsx)(y,{redirectPath:t+r}),(0,Y.jsxs)(`a`,{href:n.toString(),target:`_blank`,rel:`noopener noreferrer`,className:`btn btn--secondary`,children:[(0,Y.jsx)(g,{path:_}),`Report issue`]})]}),e[2]=i,e[3]=c,e[4]=l,e[5]=t,e[6]=r,e[7]=u,e[8]=d,e[9]=f,e[10]=p,e[11]=m,e[12]=h,e[13]=v,e[14]=b}else u=e[7],d=e[8],f=e[9],p=e[10],m=e[11],h=e[12],v=e[13],b=e[14];let S;e[17]!==f||e[18]!==p||e[19]!==m?(S=(0,Y.jsxs)(`div`,{className:f,children:[p,m]}),e[17]=f,e[18]=p,e[19]=m,e[20]=S):S=e[20];let C;e[21]!==i||e[22]!==c?(C=c?null:(0,Y.jsx)(`div`,{className:`mx-auto w-2xl space-y-2`,children:(0,Y.jsx)(j,{className:`card`,title:ne,defaultOpen:!1,children:(0,Y.jsx)(x,{className:`overflow-x-auto border-0 text-left whitespace-pre`,children:i instanceof Error?i.stack:`No stack trace available`})})}),e[21]=i,e[22]=c,e[23]=C):C=e[23];let w;e[24]!==u||e[25]!==h||e[26]!==v||e[27]!==b||e[28]!==S||e[29]!==C?(w=(0,Y.jsxs)(u,{className:h,message:v,truck:b,children:[S,C]}),e[24]=u,e[25]=h,e[26]=v,e[27]=b,e[28]=S,e[29]=C,e[30]=w):w=e[30];let T;return e[31]!==d||e[32]!==w?(T=(0,Y.jsx)(d,{children:w}),e[31]=d,e[32]=w,e[33]=T):T=e[33],T});function ne(){return`Error`}export{te as ErrorBoundary,Q as default,Z as meta};
|