@epic-web/workshop-app 5.1.1 → 5.1.2
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/build/client/assets/{_-ZHCWB__B.js → _-CWSCXcBv.js} +2 -2
- package/build/client/assets/{_-ZHCWB__B.js.map → _-CWSCXcBv.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber-BFTlBdr4.js → _exerciseNumber-DarnXgbX.js} +2 -2
- package/build/client/assets/{_exerciseNumber-BFTlBdr4.js.map → _exerciseNumber-DarnXgbX.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_._stepNumber-_687iGFh.js → _exerciseNumber_._stepNumber-BA2Xhzqs.js} +2 -2
- package/build/client/assets/{_exerciseNumber_._stepNumber-_687iGFh.js.map → _exerciseNumber_._stepNumber-BA2Xhzqs.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_.finished-BEfn-nJi.js → _exerciseNumber_.finished-DEzaS_Ji.js} +2 -2
- package/build/client/assets/{_exerciseNumber_.finished-BEfn-nJi.js.map → _exerciseNumber_.finished-DEzaS_Ji.js.map} +1 -1
- package/build/client/assets/{_layout-Cfbi6StB.js → _layout-88n0To1b.js} +2 -2
- package/build/client/assets/{_layout-Cfbi6StB.js.map → _layout-88n0To1b.js.map} +1 -1
- package/build/client/assets/{_layout-BriOqd2R.js → _layout-BTrPWpBz.js} +2 -2
- package/build/client/assets/{_layout-BriOqd2R.js.map → _layout-BTrPWpBz.js.map} +1 -1
- package/build/client/assets/{_layout-frPHZWgR.js → _layout-T2hZtl0D.js} +2 -2
- package/build/client/assets/{_layout-frPHZWgR.js.map → _layout-T2hZtl0D.js.map} +1 -1
- package/build/client/assets/{_layout-BLJr2x2F.js → _layout-gyrNluke.js} +2 -2
- package/build/client/assets/{_layout-BLJr2x2F.js.map → _layout-gyrNluke.js.map} +1 -1
- package/build/client/assets/{accordion-DuE9VejZ.js → accordion-DC885Li1.js} +2 -2
- package/build/client/assets/{accordion-DuE9VejZ.js.map → accordion-DC885Li1.js.map} +1 -1
- package/build/client/assets/{account-DDuV9rZX.js → account-CPFwPYf1.js} +2 -2
- package/build/client/assets/{account-DDuV9rZX.js.map → account-CPFwPYf1.js.map} +1 -1
- package/build/client/assets/app-CM8yuYni.js +2 -0
- package/build/client/assets/{app-wbMCZEiv.js.map → app-CM8yuYni.js.map} +1 -1
- package/build/client/assets/{button-CMkJ8p0a.js → button-DQ001ob0.js} +2 -2
- package/build/client/assets/{button-CMkJ8p0a.js.map → button-DQ001ob0.js.map} +1 -1
- package/build/client/assets/components-9EGYHTc_.js +158 -0
- package/build/client/assets/components-9EGYHTc_.js.map +1 -0
- package/build/client/assets/{diff-B6thd_Sf.js → diff-assn_bSK.js} +2 -2
- package/build/client/assets/{diff-B6thd_Sf.js.map → diff-assn_bSK.js.map} +1 -1
- package/build/client/assets/diff-jlCv3hv0.js +2 -0
- package/build/client/assets/{diff-BEk79KPK.js.map → diff-jlCv3hv0.js.map} +1 -1
- package/build/client/assets/{discord-C9bVfiZ6.js → discord-CHsbqaqM.js} +2 -2
- package/build/client/assets/{discord-C9bVfiZ6.js.map → discord-CHsbqaqM.js.map} +1 -1
- package/build/client/assets/discord-DoeazikD.js +2 -0
- package/build/client/assets/discord-DoeazikD.js.map +1 -0
- package/build/client/assets/entry.client-BTYTUpFV.js +44 -0
- package/build/client/assets/entry.client-BTYTUpFV.js.map +1 -0
- package/build/client/assets/epic-video-GDpD7_Qt.js +3053 -0
- package/build/client/assets/epic-video-GDpD7_Qt.js.map +1 -0
- package/build/client/assets/{error-boundary-BcGxKpte.js → error-boundary-1-dmC941.js} +2 -2
- package/build/client/assets/{error-boundary-BcGxKpte.js.map → error-boundary-1-dmC941.js.map} +1 -1
- package/build/client/assets/{finished-C2dgX1d-.js → finished-DVV0zwmP.js} +2 -2
- package/build/client/assets/{finished-C2dgX1d-.js.map → finished-DVV0zwmP.js.map} +1 -1
- package/build/client/assets/{index-DBrRQJxF.js → index-BCxBKsqT.js} +2 -2
- package/build/client/assets/{index-DBrRQJxF.js.map → index-BCxBKsqT.js.map} +1 -1
- package/build/client/assets/index-BFGhCX_U.js +38 -0
- package/build/client/assets/index-BFGhCX_U.js.map +1 -0
- package/build/client/assets/index-BuA_RWlU.js +2 -0
- package/build/client/assets/index-BuA_RWlU.js.map +1 -0
- package/build/client/assets/index-BuoaxPEj.js +42 -0
- package/build/client/assets/index-BuoaxPEj.js.map +1 -0
- package/build/client/assets/index-DJF1fiZI.js +2 -0
- package/build/client/assets/index-DJF1fiZI.js.map +1 -0
- package/build/client/assets/{index-YtpQLUzj.js → index-DRH72MzK.js} +2 -2
- package/build/client/assets/{index-YtpQLUzj.js.map → index-DRH72MzK.js.map} +1 -1
- package/build/client/assets/{index-CuV1bRbu.js → index-KgMLc41c.js} +2 -2
- package/build/client/assets/{index-CuV1bRbu.js.map → index-KgMLc41c.js.map} +1 -1
- package/build/client/assets/index-_J-F_Dnc.js +36 -0
- package/build/client/assets/index-_J-F_Dnc.js.map +1 -0
- package/build/client/assets/{loading-Br41_Pbf.js → loading-Dk0n07O3.js} +2 -2
- package/build/client/assets/{loading-Br41_Pbf.js.map → loading-Dk0n07O3.js.map} +1 -1
- package/build/client/assets/{login-kjV7hrVt.js → login-pZYDEC_l.js} +2 -2
- package/build/client/assets/{login-kjV7hrVt.js.map → login-pZYDEC_l.js.map} +1 -1
- package/build/client/assets/{manifest-b22910a7.js → manifest-3338a6ab.js} +1 -1
- package/build/client/assets/mdx-hW1uYjc1.js +2 -0
- package/build/client/assets/mdx-hW1uYjc1.js.map +1 -0
- package/build/client/assets/misc-BJtHv_Jh.js +2 -0
- package/build/client/assets/misc-BJtHv_Jh.js.map +1 -0
- package/build/client/assets/{nav-chevrons-DYiI8EMU.js → nav-chevrons-CgbSMLeb.js} +2 -2
- package/build/client/assets/{nav-chevrons-DYiI8EMU.js.map → nav-chevrons-CgbSMLeb.js.map} +1 -1
- package/build/client/assets/{onboarding-B4Z_yevk.js → onboarding-DCuSqnkZ.js} +2 -2
- package/build/client/assets/{onboarding-B4Z_yevk.js.map → onboarding-DCuSqnkZ.js.map} +1 -1
- package/build/client/assets/{pe-CvPIToj6.js → pe-ChIwTk8v.js} +2 -2
- package/build/client/assets/pe-ChIwTk8v.js.map +1 -0
- package/build/client/assets/presence-CdyMdOKk.js +28 -0
- package/build/client/assets/presence-CdyMdOKk.js.map +1 -0
- package/build/client/assets/{preview-DZcdG4kw.js → preview-CW_12I0i.js} +2 -2
- package/build/client/assets/{preview-DZcdG4kw.js.map → preview-CW_12I0i.js.map} +1 -1
- package/build/client/assets/{product-mjsTrqXs.js → product-C1ynnrN_.js} +2 -2
- package/build/client/assets/{product-mjsTrqXs.js.map → product-C1ynnrN_.js.map} +1 -1
- package/build/client/assets/progress-DAB3nDa2.js +2 -0
- package/build/client/assets/progress-DAB3nDa2.js.map +1 -0
- package/build/client/assets/{progress-bar-F8_2mvYp.js → progress-bar-Cj5R4Zk7.js} +2 -2
- package/build/client/assets/{progress-bar-F8_2mvYp.js.map → progress-bar-Cj5R4Zk7.js.map} +1 -1
- package/build/client/assets/{request-info-DGnmXtfj.js → request-info-DCIQLE6H.js} +2 -2
- package/build/client/assets/{request-info-DGnmXtfj.js.map → request-info-DCIQLE6H.js.map} +1 -1
- package/build/client/assets/{revalidation-ws-DcvYvzyj.js → revalidation-ws-DU-PzW-_.js} +2 -2
- package/build/client/assets/{revalidation-ws-DcvYvzyj.js.map → revalidation-ws-DU-PzW-_.js.map} +1 -1
- package/build/client/assets/{root-Cl86OUog.js → root-DojjHZlY.js} +4 -4
- package/build/client/assets/root-DojjHZlY.js.map +1 -0
- package/build/client/assets/{set-playground-pMKmtPtz.js → set-playground-DgnOJqFN.js} +2 -2
- package/build/client/assets/{set-playground-pMKmtPtz.js.map → set-playground-DgnOJqFN.js.map} +1 -1
- package/build/client/assets/{support-B0E_F4Zh.js → support-BNS-kEhc.js} +2 -2
- package/build/client/assets/{support-B0E_F4Zh.js.map → support-BNS-kEhc.js.map} +1 -1
- package/build/client/assets/tailwind-B5AAMtGC.css +1 -0
- package/build/client/assets/test-DJ7oeeeg.js +2 -0
- package/build/client/assets/{test-B6zIK2V6.js.map → test-DJ7oeeeg.js.map} +1 -1
- package/build/client/assets/{tests-BeAEgPAw.js → tests-Bw1rCopV.js} +2 -2
- package/build/client/assets/{tests-BeAEgPAw.js.map → tests-Bw1rCopV.js.map} +1 -1
- package/build/client/assets/tooltip-BgynKV2c.js +2 -0
- package/build/client/assets/tooltip-BgynKV2c.js.map +1 -0
- package/build/client/assets/use-event-source-x59d4R2Z.js +2 -0
- package/build/client/assets/use-event-source-x59d4R2Z.js.map +1 -0
- package/build/client/assets/{user-Boua6jiU.js → user-BBryXlM_.js} +2 -2
- package/build/client/assets/{user-Boua6jiU.js.map → user-BBryXlM_.js.map} +1 -1
- package/build/client/assets/{workshop-config-Ce9sSc3I.js → workshop-config-DJY2cXU_.js} +2 -2
- package/build/client/assets/{workshop-config-Ce9sSc3I.js.map → workshop-config-DJY2cXU_.js.map} +1 -1
- package/build/server/index.js +3 -3
- package/dist/server/index.js +7 -12
- package/package.json +68 -73
- package/build/client/assets/app-wbMCZEiv.js +0 -2
- package/build/client/assets/components-DZ8XIeZ3.js +0 -166
- package/build/client/assets/components-DZ8XIeZ3.js.map +0 -1
- package/build/client/assets/diff-BEk79KPK.js +0 -2
- package/build/client/assets/discord-DYeU0QX6.js +0 -2
- package/build/client/assets/discord-DYeU0QX6.js.map +0 -1
- package/build/client/assets/entry.client-CW5CUf_W.js +0 -43
- package/build/client/assets/entry.client-CW5CUf_W.js.map +0 -1
- package/build/client/assets/epic-video-bs7WmhbC.js +0 -2988
- package/build/client/assets/epic-video-bs7WmhbC.js.map +0 -1
- package/build/client/assets/index-BczhSZ3e.js +0 -2
- package/build/client/assets/index-BczhSZ3e.js.map +0 -1
- package/build/client/assets/index-BjNhezSK.js +0 -42
- package/build/client/assets/index-BjNhezSK.js.map +0 -1
- package/build/client/assets/index-BvihEwfB.js +0 -36
- package/build/client/assets/index-BvihEwfB.js.map +0 -1
- package/build/client/assets/index-C2yr7Uiu.js +0 -2
- package/build/client/assets/index-C2yr7Uiu.js.map +0 -1
- package/build/client/assets/index-DF_XBInP.js +0 -37
- package/build/client/assets/index-DF_XBInP.js.map +0 -1
- package/build/client/assets/mdx-CRxPouxB.js +0 -2
- package/build/client/assets/mdx-CRxPouxB.js.map +0 -1
- package/build/client/assets/misc-BE75ioh8.js +0 -2
- package/build/client/assets/misc-BE75ioh8.js.map +0 -1
- package/build/client/assets/pe-CvPIToj6.js.map +0 -1
- package/build/client/assets/presence-Dd98AJ_5.js +0 -28
- package/build/client/assets/presence-Dd98AJ_5.js.map +0 -1
- package/build/client/assets/progress-Co-59mG2.js +0 -2
- package/build/client/assets/progress-Co-59mG2.js.map +0 -1
- package/build/client/assets/root-Cl86OUog.js.map +0 -1
- package/build/client/assets/tailwind-B9pSujyx.css +0 -1
- package/build/client/assets/test-B6zIK2V6.js +0 -2
- package/build/client/assets/tooltip-6-WS-Xux.js +0 -2
- package/build/client/assets/tooltip-6-WS-Xux.js.map +0 -1
- package/build/client/assets/use-event-source-CCGBLG92.js +0 -2
- package/build/client/assets/use-event-source-CCGBLG92.js.map +0 -1
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
var At=Object.defineProperty;var Dt=(e,t,r)=>t in e?At(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var X=(e,t,r)=>Dt(e,typeof t!="symbol"?t+"":t,r);import{r as o,l as Nt,u as M,e as Ge,D as _e,o as ie,p as Ft,q as It,N as K,s as U,t as xe,v as oe,w as we,x as jt,y as Qe,z as $,A as $t,I as Ut,B as Ze,C as $e,k as Mt,c as Ht,F as zt,G as Bt,H as Jt,i as qe,J as Yt,K as et,E as ne,a as Vt,m as tt,L as Kt,M as Xt,P as Wt,Q as Gt}from"./index-BFGhCX_U.js";function Qt(e,t){for(var r=0;r<t.length;r++){const n=t[r];if(typeof n!="string"&&!Array.isArray(n)){for(const a in n)if(a!=="default"&&!(a in e)){const i=Object.getOwnPropertyDescriptor(n,a);i&&Object.defineProperty(e,a,i.get?i:{enumerable:!0,get:()=>n[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var rt={exports:{}},k={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react-dom.production.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var Zt=o;function nt(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}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 j(){}var C={d:{f:j,r:function(){throw Error(nt(522))},D:j,C:j,L:j,m:j,X:j,S:j,M:j},p:0,findDOMNode:null},qt=Symbol.for("react.portal");function er(e,t,r){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:qt,key:n==null?null:""+n,children:e,containerInfo:t,implementation:r}}var Y=Zt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function le(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}k.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=C;k.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(nt(299));return er(e,t,null,r)};k.flushSync=function(e){var t=Y.T,r=C.p;try{if(Y.T=null,C.p=2,e)return e()}finally{Y.T=t,C.p=r,C.d.f()}};k.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,C.d.C(e,t))};k.prefetchDNS=function(e){typeof e=="string"&&C.d.D(e)};k.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var r=t.as,n=le(r,t.crossOrigin),a=typeof t.integrity=="string"?t.integrity:void 0,i=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;r==="style"?C.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:n,integrity:a,fetchPriority:i}):r==="script"&&C.d.X(e,{crossOrigin:n,integrity:a,fetchPriority:i,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};k.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var r=le(t.as,t.crossOrigin);C.d.M(e,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&C.d.M(e)};k.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var r=t.as,n=le(r,t.crossOrigin);C.d.L(e,r,{crossOrigin:n,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})}};k.preloadModule=function(e,t){if(typeof e=="string")if(t){var r=le(t.as,t.crossOrigin);C.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else C.d.m(e)};k.requestFormReset=function(e){C.d.r(e)};k.unstable_batchedUpdates=function(e,t){return e(t)};k.useFormState=function(e,t,r){return Y.H.useFormState(e,t,r)};k.useFormStatus=function(){return Y.H.useHostTransitionStatus()};k.version="19.0.0-rc-1460d67c-20241003";function at(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(at)}catch(e){console.error(e)}}at(),rt.exports=k;var it=rt.exports;const tr=Nt(it),rr=Qt({__proto__:null,default:tr},[it]);/**
|
|
10
|
+
* React Router DOM v6.26.2
|
|
11
|
+
*
|
|
12
|
+
* Copyright (c) Remix Software Inc.
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the MIT license found in the
|
|
15
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
16
|
+
*
|
|
17
|
+
* @license MIT
|
|
18
|
+
*/function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},D.apply(this,arguments)}function Le(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,i;for(i=0;i<n.length;i++)a=n[i],!(t.indexOf(a)>=0)&&(r[a]=e[a]);return r}const ee="get",ye="application/x-www-form-urlencoded";function se(e){return e!=null&&typeof e.tagName=="string"}function nr(e){return se(e)&&e.tagName.toLowerCase()==="button"}function ar(e){return se(e)&&e.tagName.toLowerCase()==="form"}function ir(e){return se(e)&&e.tagName.toLowerCase()==="input"}function or(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function lr(e,t){return e.button===0&&(!t||t==="_self")&&!or(e)}function Ee(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(a=>[r,a]):[[r,n]])},[]))}function sr(e,t){let r=Ee(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(i=>{r.append(a,i)})}),r}let W=null;function ur(){if(W===null)try{new FormData(document.createElement("form"),0),W=!1}catch{W=!0}return W}const cr=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function pe(e){return e!=null&&!cr.has(e)?null:e}function dr(e,t){let r,n,a,i,u;if(ar(e)){let l=e.getAttribute("action");n=l?U(l,t):null,r=e.getAttribute("method")||ee,a=pe(e.getAttribute("enctype"))||ye,i=new FormData(e)}else if(nr(e)||ir(e)&&(e.type==="submit"||e.type==="image")){let l=e.form;if(l==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||l.getAttribute("action");if(n=s?U(s,t):null,r=e.getAttribute("formmethod")||l.getAttribute("method")||ee,a=pe(e.getAttribute("formenctype"))||pe(l.getAttribute("enctype"))||ye,i=new FormData(l,e),!ur()){let{name:c,type:m,value:f}=e;if(m==="image"){let h=c?c+".":"";i.append(h+"x","0"),i.append(h+"y","0")}else c&&i.append(c,f)}}else{if(se(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=ee,n=null,a=ye,u=e}return i&&a==="text/plain"&&(u=i,i=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:i,body:u}}const fr=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],hr=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],mr=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","unstable_viewTransition"],yr="6";try{window.__reactRouterVersion=yr}catch{}const ot=o.createContext({isTransitioning:!1}),lt=o.createContext(new Map),pr="startTransition",Ue=Ze[pr],vr="flushSync",Me=rr[vr],gr="useId",He=Ze[gr];function wr(e){Ue?Ue(e):e()}function B(e){Me?Me(e):e()}let Er=class{constructor(){this.status="pending",this.promise=new Promise((t,r)=>{this.resolve=n=>{this.status==="pending"&&(this.status="resolved",t(n))},this.reject=n=>{this.status==="pending"&&(this.status="rejected",r(n))}})}};function Wn(e){let{fallbackElement:t,router:r,future:n}=e,[a,i]=o.useState(r.state),[u,l]=o.useState(),[s,c]=o.useState({isTransitioning:!1}),[m,f]=o.useState(),[h,p]=o.useState(),[d,E]=o.useState(),R=o.useRef(new Map),{v7_startTransition:S}=n||{},v=o.useCallback(b=>{S?wr(b):b()},[S]),w=o.useCallback((b,L)=>{let{deletedFetchers:T,unstable_flushSync:A,unstable_viewTransitionOpts:P}=L;T.forEach(F=>R.current.delete(F)),b.fetchers.forEach((F,N)=>{F.data!==void 0&&R.current.set(N,F.data)});let he=r.window==null||r.window.document==null||typeof r.window.document.startViewTransition!="function";if(!P||he){A?B(()=>i(b)):v(()=>i(b));return}if(A){B(()=>{h&&(m&&m.resolve(),h.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:P.currentLocation,nextLocation:P.nextLocation})});let F=r.window.document.startViewTransition(()=>{B(()=>i(b))});F.finished.finally(()=>{B(()=>{f(void 0),p(void 0),l(void 0),c({isTransitioning:!1})})}),B(()=>p(F));return}h?(m&&m.resolve(),h.skipTransition(),E({state:b,currentLocation:P.currentLocation,nextLocation:P.nextLocation})):(l(b),c({isTransitioning:!0,flushSync:!1,currentLocation:P.currentLocation,nextLocation:P.nextLocation}))},[r.window,h,m,R,v]);o.useLayoutEffect(()=>r.subscribe(w),[r,w]),o.useEffect(()=>{s.isTransitioning&&!s.flushSync&&f(new Er)},[s]),o.useEffect(()=>{if(m&&u&&r.window){let b=u,L=m.promise,T=r.window.document.startViewTransition(async()=>{v(()=>i(b)),await L});T.finished.finally(()=>{f(void 0),p(void 0),l(void 0),c({isTransitioning:!1})}),p(T)}},[v,u,m,r.window]),o.useEffect(()=>{m&&u&&a.location.key===u.location.key&&m.resolve()},[m,h,a.location,u]),o.useEffect(()=>{!s.isTransitioning&&d&&(l(d.state),c({isTransitioning:!0,flushSync:!1,currentLocation:d.currentLocation,nextLocation:d.nextLocation}),E(void 0))},[s.isTransitioning,d]),o.useEffect(()=>{},[]);let y=o.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:b=>r.navigate(b),push:(b,L,T)=>r.navigate(b,{state:L,preventScrollReset:T==null?void 0:T.preventScrollReset}),replace:(b,L,T)=>r.navigate(b,{replace:!0,state:L,preventScrollReset:T==null?void 0:T.preventScrollReset})}),[r]),_=r.basename||"/",g=o.useMemo(()=>({router:r,navigator:y,static:!1,basename:_}),[r,y,_]),x=o.useMemo(()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath}),[r.future.v7_relativeSplatPath]);return o.createElement(o.Fragment,null,o.createElement(_e.Provider,{value:g},o.createElement(ie.Provider,{value:a},o.createElement(lt.Provider,{value:R.current},o.createElement(ot.Provider,{value:s},o.createElement(Ft,{basename:_,location:a.location,navigationType:a.historyAction,navigator:y,future:x},a.initialized||r.future.v7_partialHydration?o.createElement(Sr,{routes:r.routes,future:r.future,state:a}):t))))),null)}const Sr=o.memo(Rr);function Rr(e){let{routes:t,future:r,state:n}=e;return It(t,void 0,n,r)}const br=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",_r=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,st=o.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:i,replace:u,state:l,target:s,to:c,preventScrollReset:m,unstable_viewTransition:f}=t,h=Le(t,fr),{basename:p}=o.useContext(K),d,E=!1;if(typeof c=="string"&&_r.test(c)&&(d=c,br))try{let w=new URL(window.location.href),y=c.startsWith("//")?new URL(w.protocol+c):new URL(c),_=U(y.pathname,p);y.origin===w.origin&&_!=null?c=_+y.search+y.hash:E=!0}catch{}let R=xe(c,{relative:a}),S=Lr(c,{replace:u,state:l,target:s,preventScrollReset:m,relative:a,unstable_viewTransition:f});function v(w){n&&n(w),w.defaultPrevented||S(w)}return o.createElement("a",D({},h,{href:d||R,onClick:E||i?n:v,ref:r,target:s}))}),xr=o.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:a=!1,className:i="",end:u=!1,style:l,to:s,unstable_viewTransition:c,children:m}=t,f=Le(t,hr),h=oe(s,{relative:f.relative}),p=M(),d=o.useContext(ie),{navigator:E,basename:R}=o.useContext(K),S=d!=null&&Ar(h)&&c===!0,v=E.encodeLocation?E.encodeLocation(h).pathname:h.pathname,w=p.pathname,y=d&&d.navigation&&d.navigation.location?d.navigation.location.pathname:null;a||(w=w.toLowerCase(),y=y?y.toLowerCase():null,v=v.toLowerCase()),y&&R&&(y=U(y,R)||y);const _=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let g=w===v||!u&&w.startsWith(v)&&w.charAt(_)==="/",x=y!=null&&(y===v||!u&&y.startsWith(v)&&y.charAt(v.length)==="/"),b={isActive:g,isPending:x,isTransitioning:S},L=g?n:void 0,T;typeof i=="function"?T=i(b):T=[i,g?"active":null,x?"pending":null,S?"transitioning":null].filter(Boolean).join(" ");let A=typeof l=="function"?l(b):l;return o.createElement(st,D({},f,{"aria-current":L,className:T,ref:r,style:A,to:s,unstable_viewTransition:c}),typeof m=="function"?m(b):m)}),ut=o.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:a,replace:i,state:u,method:l=ee,action:s,onSubmit:c,relative:m,preventScrollReset:f,unstable_viewTransition:h}=e,p=Le(e,mr),d=dt(),E=Pr(s,{relative:m}),R=l.toLowerCase()==="get"?"get":"post",S=v=>{if(c&&c(v),v.defaultPrevented)return;v.preventDefault();let w=v.nativeEvent.submitter,y=(w==null?void 0:w.getAttribute("formmethod"))||l;d(w||v.currentTarget,{fetcherKey:r,method:y,navigate:n,replace:i,state:u,relative:m,preventScrollReset:f,unstable_viewTransition:h})};return o.createElement("form",D({ref:t,method:R,action:E,onSubmit:a?c:S},p))});var H;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(H||(H={}));var V;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(V||(V={}));function ue(e){let t=o.useContext(_e);return t||$(!1),t}function Te(e){let t=o.useContext(ie);return t||$(!1),t}function Lr(e,t){let{target:r,replace:n,state:a,preventScrollReset:i,relative:u,unstable_viewTransition:l}=t===void 0?{}:t,s=Ge(),c=M(),m=oe(e,{relative:u});return o.useCallback(f=>{if(lr(f,r)){f.preventDefault();let h=n!==void 0?n:we(c)===we(m);s(e,{replace:h,state:a,preventScrollReset:i,relative:u,unstable_viewTransition:l})}},[c,s,m,n,a,r,e,i,u,l])}function Gn(e){let t=o.useRef(Ee(e)),r=o.useRef(!1),n=M(),a=o.useMemo(()=>sr(n.search,r.current?null:t.current),[n.search]),i=Ge(),u=o.useCallback((l,s)=>{const c=Ee(typeof l=="function"?l(a):l);r.current=!0,i("?"+c,s)},[i,a]);return[a,u]}function Tr(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}let Or=0,ct=()=>"__"+String(++Or)+"__";function dt(){let{router:e}=ue(H.UseSubmit),{basename:t}=o.useContext(K),r=jt();return o.useCallback(function(n,a){a===void 0&&(a={}),Tr();let{action:i,method:u,encType:l,formData:s,body:c}=dr(n,t);if(a.navigate===!1){let m=a.fetcherKey||ct();e.fetch(m,r,a.action||i,{preventScrollReset:a.preventScrollReset,formData:s,body:c,formMethod:a.method||u,formEncType:a.encType||l,unstable_flushSync:a.unstable_flushSync})}else e.navigate(a.action||i,{preventScrollReset:a.preventScrollReset,formData:s,body:c,formMethod:a.method||u,formEncType:a.encType||l,replace:a.replace,state:a.state,fromRouteId:r,unstable_flushSync:a.unstable_flushSync,unstable_viewTransition:a.unstable_viewTransition})},[e,t,r])}function Pr(e,t){let{relative:r}=t===void 0?{}:t,{basename:n}=o.useContext(K),a=o.useContext(Qe);a||$(!1);let[i]=a.matches.slice(-1),u=D({},oe(e||".",{relative:r})),l=M();if(e==null){u.search=l.search;let s=new URLSearchParams(u.search);s.has("index")&&s.get("index")===""&&(s.delete("index"),u.search=s.toString()?"?"+s.toString():"")}return(!e||e===".")&&i.route.index&&(u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(u.pathname=u.pathname==="/"?n:$t([n,u.pathname])),we(u)}function Cr(e){var t;let{key:r}=e===void 0?{}:e,{router:n}=ue(H.UseFetcher),a=Te(V.UseFetcher),i=o.useContext(lt),u=o.useContext(Qe),l=(t=u.matches[u.matches.length-1])==null?void 0:t.route.id;i||$(!1),u||$(!1),l==null&&$(!1);let s=He?He():"",[c,m]=o.useState(r||s);r&&r!==c?m(r):c||m(ct()),o.useEffect(()=>(n.getFetcher(c),()=>{n.deleteFetcher(c)}),[n,c]);let f=o.useCallback((v,w)=>{l||$(!1),n.fetch(c,l,v,w)},[c,l,n]),h=dt(),p=o.useCallback((v,w)=>{h(v,D({},w,{navigate:!1,fetcherKey:c}))},[c,h]),d=o.useMemo(()=>o.forwardRef((w,y)=>o.createElement(ut,D({},w,{navigate:!1,fetcherKey:c,ref:y}))),[c]),E=a.fetchers.get(c)||Ut,R=i.get(c);return o.useMemo(()=>D({Form:d,submit:p,load:f},E,{data:R}),[d,p,f,E,R])}function Qn(){let e=Te(V.UseFetchers);return Array.from(e.fetchers.entries()).map(t=>{let[r,n]=t;return D({},n,{key:r})})}const ze="react-router-scroll-positions";let G={};function Zn(e){let{getKey:t,storageKey:r}=e===void 0?{}:e,{router:n}=ue(H.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:i}=Te(V.UseScrollRestoration),{basename:u}=o.useContext(K),l=M(),s=Mt(),c=Ht();o.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),kr(o.useCallback(()=>{if(c.state==="idle"){let m=(t?t(l,s):null)||l.key;G[m]=window.scrollY}try{sessionStorage.setItem(r||ze,JSON.stringify(G))}catch{}window.history.scrollRestoration="auto"},[r,t,c.state,l,s])),typeof document<"u"&&(o.useLayoutEffect(()=>{try{let m=sessionStorage.getItem(r||ze);m&&(G=JSON.parse(m))}catch{}},[r]),o.useLayoutEffect(()=>{let m=t&&u!=="/"?(h,p)=>t(D({},h,{pathname:U(h.pathname,u)||h.pathname}),p):t,f=n==null?void 0:n.enableScrollRestoration(G,()=>window.scrollY,m);return()=>f&&f()},[n,u,t]),o.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}if(l.hash){let m=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(m){m.scrollIntoView();return}}i!==!0&&window.scrollTo(0,0)}},[l,a,i]))}function kr(e,t){let{capture:r}={};o.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,r])}function Ar(e,t){t===void 0&&(t={});let r=o.useContext(ot);r==null&&$(!1);let{basename:n}=ue(H.useViewTransitionState),a=oe(e,{relative:t.relative});if(!r.isTransitioning)return!1;let i=U(r.currentLocation.pathname,n)||r.currentLocation.pathname,u=U(r.nextLocation.pathname,n)||r.nextLocation.pathname;return $e(a.pathname,u)!=null||$e(a.pathname,i)!=null}var Dr=-1,Nr=-2,Fr=-3,Ir=-4,jr=-5,$r=-6,Ur=-7,Mr="B",Hr="D",ft="E",zr="M",Br="N",ht="P",Jr="R",Yr="S",Vr="Y",Kr="U",Xr="Z",mt=class{constructor(){X(this,"promise");X(this,"resolve");X(this,"reject");this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function Wr(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,n){const a=e.decode(r,{stream:!0}),i=(t+a).split(`
|
|
19
|
+
`);t=i.pop()||"";for(const u of i)n.enqueue(u)},flush(r){t&&r.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ve=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function Se(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return Be.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const n=r.length;for(const a of e)r.push(a);return t.length=r.length,Be.call(this,n)}function Be(e){const{hydrated:t,values:r,deferred:n,plugins:a}=this;let i;const u=[[e,s=>{i=s}]];let l=[];for(;u.length>0;){const[s,c]=u.pop();switch(s){case Ur:c(void 0);continue;case jr:c(null);continue;case Nr:c(NaN);continue;case $r:c(1/0);continue;case Fr:c(-1/0);continue;case Ir:c(-0);continue}if(t[s]){c(t[s]);continue}const m=r[s];if(!m||typeof m!="object"){t[s]=m,c(m);continue}if(Array.isArray(m))if(typeof m[0]=="string"){const[f,h,p]=m;switch(f){case Hr:c(t[s]=new Date(h));continue;case Kr:c(t[s]=new URL(h));continue;case Mr:c(t[s]=BigInt(h));continue;case Jr:c(t[s]=new RegExp(h,p));continue;case Vr:c(t[s]=Symbol.for(h));continue;case Yr:const d=new Set;t[s]=d;for(let y=1;y<m.length;y++)u.push([m[y],_=>{d.add(_)}]);c(d);continue;case zr:const E=new Map;t[s]=E;for(let y=1;y<m.length;y+=2){const _=[];u.push([m[y+1],g=>{_[1]=g}]),u.push([m[y],g=>{_[0]=g}]),l.push(()=>{E.set(_[0],_[1])})}c(E);continue;case Br:const R=Object.create(null);t[s]=R;for(const y of Object.keys(h).reverse()){const _=[];u.push([h[y],g=>{_[1]=g}]),u.push([Number(y.slice(1)),g=>{_[0]=g}]),l.push(()=>{R[_[0]]=_[1]})}c(R);continue;case ht:if(t[h])c(t[s]=t[h]);else{const y=new mt;n[h]=y,c(t[s]=y.promise)}continue;case ft:const[,S,v]=m;let w=v&&ve&&ve[v]?new ve[v](S):new Error(S);t[s]=w,c(w);continue;case Xr:c(t[s]=t[h]);continue;default:if(Array.isArray(a)){const y=[],_=m.slice(1);for(let g=0;g<_.length;g++){const x=_[g];u.push([x,b=>{y[g]=b}])}l.push(()=>{for(const g of a){const x=g(m[0],...y);if(x){c(t[s]=x.value);return}}throw new SyntaxError});continue}throw new SyntaxError}}else{const f=[];t[s]=f;for(let h=0;h<m.length;h++){const p=m[h];p!==Dr&&u.push([p,d=>{f[h]=d}])}c(f);continue}else{const f={};t[s]=f;for(const h of Object.keys(m).reverse()){const p=[];u.push([m[h],d=>{p[1]=d}]),u.push([Number(h.slice(1)),d=>{p[0]=d}]),l.push(()=>{f[p[0]]=p[1]})}c(f);continue}}for(;l.length>0;)l.pop()();return i}async function Gr(e,t){const{plugins:r}=t??{},n=new mt,a=e.pipeThrough(Wr()).getReader(),i={values:[],hydrated:[],deferred:{},plugins:r},u=await Qr.call(i,a);let l=n.promise;return u.done?n.resolve():l=Zr.call(i,a).then(n.resolve).catch(s=>{for(const c of Object.values(i.deferred))c.reject(s);n.reject(s)}),{done:l.then(()=>a.closed),value:u.value}}async function Qr(e){const t=await e.read();if(!t.value)throw new SyntaxError;let r;try{r=JSON.parse(t.value)}catch{throw new SyntaxError}return{done:t.done,value:Se.call(this,r)}}async function Zr(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case ht:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const u=r.slice(n+1);let l;try{l=JSON.parse(u)}catch{throw new SyntaxError}const s=Se.call(this,l);i.resolve(s);break}case ft:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const u=r.slice(n+1);let l;try{l=JSON.parse(u)}catch{throw new SyntaxError}const s=Se.call(this,l);i.reject(s);break}default:throw new SyntaxError}t=await e.read()}}/**
|
|
20
|
+
* @remix-run/server-runtime v2.12.1
|
|
21
|
+
*
|
|
22
|
+
* Copyright (c) Remix Software Inc.
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the MIT license found in the
|
|
25
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
26
|
+
*
|
|
27
|
+
* @license MIT
|
|
28
|
+
*/const yt=Symbol("SingleFetchRedirect");/**
|
|
29
|
+
* @remix-run/react v2.12.1
|
|
30
|
+
*
|
|
31
|
+
* Copyright (c) Remix Software Inc.
|
|
32
|
+
*
|
|
33
|
+
* This source code is licensed under the MIT license found in the
|
|
34
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
35
|
+
*
|
|
36
|
+
* @license MIT
|
|
37
|
+
*/function O(){return O=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},O.apply(this,arguments)}/**
|
|
38
|
+
* @remix-run/react v2.12.1
|
|
39
|
+
*
|
|
40
|
+
* Copyright (c) Remix Software Inc.
|
|
41
|
+
*
|
|
42
|
+
* This source code is licensed under the MIT license found in the
|
|
43
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
44
|
+
*
|
|
45
|
+
* @license MIT
|
|
46
|
+
*/function I(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}/**
|
|
47
|
+
* @remix-run/react v2.12.1
|
|
48
|
+
*
|
|
49
|
+
* Copyright (c) Remix Software Inc.
|
|
50
|
+
*
|
|
51
|
+
* This source code is licensed under the MIT license found in the
|
|
52
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
53
|
+
*
|
|
54
|
+
* @license MIT
|
|
55
|
+
*/async function pt(e,t){if(e.id in t)return t[e.id];try{let r=await import(e.module);return t[e.id]=r,r}catch(r){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(r),window.__remixContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}/**
|
|
56
|
+
* @remix-run/react v2.12.1
|
|
57
|
+
*
|
|
58
|
+
* Copyright (c) Remix Software Inc.
|
|
59
|
+
*
|
|
60
|
+
* This source code is licensed under the MIT license found in the
|
|
61
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
62
|
+
*
|
|
63
|
+
* @license MIT
|
|
64
|
+
*/function qr(e,t,r){let n=e.map(i=>{var u;let l=t[i.route.id],s=r.routes[i.route.id];return[s.css?s.css.map(c=>({rel:"stylesheet",href:c})):[],(l==null||(u=l.links)===null||u===void 0?void 0:u.call(l))||[]]}).flat(2),a=on(e,r);return gt(n,a)}async function vt(e,t){var r,n;if(!e.css&&!t.links||!sn())return;let a=[((r=e.css)===null||r===void 0?void 0:r.map(l=>({rel:"stylesheet",href:l})))??[],((n=t.links)===null||n===void 0?void 0:n.call(t))??[]].flat(1);if(a.length===0)return;let i=[];for(let l of a)!Oe(l)&&l.rel==="stylesheet"&&i.push({...l,rel:"preload",as:"style"});let u=i.filter(l=>(!l.media||window.matchMedia(l.media).matches)&&!document.querySelector(`link[rel="stylesheet"][href="${l.href}"]`));await Promise.all(u.map(en))}async function en(e){return new Promise(t=>{let r=document.createElement("link");Object.assign(r,e);function n(){document.head.contains(r)&&document.head.removeChild(r)}r.onload=()=>{n(),t()},r.onerror=()=>{n(),t()},document.head.appendChild(r)})}function Oe(e){return e!=null&&typeof e.page=="string"}function tn(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 rn(e,t,r){let n=await Promise.all(e.map(async a=>{let i=await pt(t.routes[a.route.id],r);return i.links?i.links():[]}));return gt(n.flat(1).filter(tn).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function Je(e,t,r,n,a,i){let u=wt(e),l=(m,f)=>r[f]?m.route.id!==r[f].route.id:!0,s=(m,f)=>{var h;return r[f].pathname!==m.pathname||((h=r[f].route.path)===null||h===void 0?void 0:h.endsWith("*"))&&r[f].params["*"]!==m.params["*"]};return i==="data"&&a.search!==u.search?t.filter((m,f)=>{if(!n.routes[m.route.id].hasLoader)return!1;if(l(m,f)||s(m,f))return!0;if(m.route.shouldRevalidate){var p;let d=m.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:((p=r[0])===null||p===void 0?void 0:p.params)||{},nextUrl:new URL(e,window.origin),nextParams:m.params,defaultShouldRevalidate:!0});if(typeof d=="boolean")return d}return!0}):t.filter((m,f)=>{let h=n.routes[m.route.id];return(i==="assets"||h.hasLoader)&&(l(m,f)||s(m,f))})}function nn(e,t,r){let n=wt(e);return Pe(t.filter(a=>r.routes[a.route.id].hasLoader&&!r.routes[a.route.id].hasClientLoader).map(a=>{let{pathname:i,search:u}=n,l=new URLSearchParams(u);return l.set("_data",a.route.id),`${i}?${l}`}))}function an(e,t){return Pe(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function on(e,t){return Pe(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function Pe(e){return[...new Set(e)]}function ln(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function gt(e,t){let r=new Set,n=new Set(t);return e.reduce((a,i)=>{if(t&&!Oe(i)&&i.as==="script"&&i.href&&n.has(i.href))return a;let l=JSON.stringify(ln(i));return r.has(l)||(r.add(l),a.push({key:l,link:i})),a},[])}function wt(e){let t=zt(e);return t.search===void 0&&(t.search=""),t}let Q;function sn(){if(Q!==void 0)return Q;let e=document.createElement("link");return Q=e.relList.supports("preload"),e=null,Q}/**
|
|
65
|
+
* @remix-run/react v2.12.1
|
|
66
|
+
*
|
|
67
|
+
* Copyright (c) Remix Software Inc.
|
|
68
|
+
*
|
|
69
|
+
* This source code is licensed under the MIT license found in the
|
|
70
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
71
|
+
*
|
|
72
|
+
* @license MIT
|
|
73
|
+
*/const un={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},cn=/[&><\u2028\u2029]/g;function Z(e){return e.replace(cn,t=>un[t])}function Ye(e){return{__html:e}}/**
|
|
74
|
+
* @remix-run/react v2.12.1
|
|
75
|
+
*
|
|
76
|
+
* Copyright (c) Remix Software Inc.
|
|
77
|
+
*
|
|
78
|
+
* This source code is licensed under the MIT license found in the
|
|
79
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
80
|
+
*
|
|
81
|
+
* @license MIT
|
|
82
|
+
*/function dn(e){return e.headers.get("X-Remix-Catch")!=null}function fn(e){return e.headers.get("X-Remix-Error")!=null}function hn(e){return Ce(e)&&e.status>=400&&e.headers.get("X-Remix-Error")==null&&e.headers.get("X-Remix-Catch")==null&&e.headers.get("X-Remix-Response")==null}function mn(e){return e.headers.get("X-Remix-Redirect")!=null}function yn(e){var t;return!!((t=e.headers.get("Content-Type"))!==null&&t!==void 0&&t.match(/text\/remix-deferred/))}function Ce(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function pn(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}async function Et(e,t,r=0){let n=new URL(e.url);n.searchParams.set("_data",t),r>0&&await new Promise(l=>setTimeout(l,5**r*10));let a=await ce(e),i=window.__remixRevalidation,u=await fetch(n.href,a).catch(l=>{if(typeof i=="number"&&i===window.__remixRevalidation&&(l==null?void 0:l.name)==="TypeError"&&r<3)return Et(e,t,r+1);throw l});if(fn(u)){let l=await u.json(),s=new Error(l.message);return s.stack=l.stack,s}if(hn(u)){let l=await u.text(),s=new Error(l);return s.stack=void 0,s}return u}async function ce(e){let t={signal:e.signal};if(e.method!=="GET"){t.method=e.method;let r=e.headers.get("Content-Type");r&&/\bapplication\/json\b/.test(r)?(t.headers={"Content-Type":r},t.body=JSON.stringify(await e.json())):r&&/\btext\/plain\b/.test(r)?(t.headers={"Content-Type":r},t.body=await e.text()):r&&/\bapplication\/x-www-form-urlencoded\b/.test(r)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}const vn="__deferred_promise:";async function gn(e){if(!e)throw new Error("parseDeferredReadableStream requires stream argument");let t,r={};try{let n=wn(e),i=(await n.next()).value;if(!i)throw new Error("no critical data");let u=JSON.parse(i);if(typeof u=="object"&&u!==null)for(let[l,s]of Object.entries(u))typeof s!="string"||!s.startsWith(vn)||(t=t||{},t[l]=new Promise((c,m)=>{r[l]={resolve:f=>{c(f),delete r[l]},reject:f=>{m(f),delete r[l]}}}));return(async()=>{try{for await(let l of n){let[s,...c]=l.split(":"),m=c.join(":"),f=JSON.parse(m);if(s==="data")for(let[h,p]of Object.entries(f))r[h]&&r[h].resolve(p);else if(s==="error")for(let[h,p]of Object.entries(f)){let d=new Error(p.message);d.stack=p.stack,r[h]&&r[h].reject(d)}}for(let[l,s]of Object.entries(r))s.reject(new Bt(`Deferred ${l} will never be resolved`))}catch(l){for(let s of Object.values(r))s.reject(l)}})(),new Jt({...u,...t})}catch(n){for(let a of Object.values(r))a.reject(n);throw n}}async function*wn(e){let t=e.getReader(),r=[],n=[],a=!1,i=new TextEncoder,u=new TextDecoder,l=async()=>{if(n.length>0)return n.shift();for(;!a&&n.length===0;){let c=await t.read();if(c.done){a=!0;break}r.push(c.value);try{let f=u.decode(Ve(...r)).split(`
|
|
83
|
+
|
|
84
|
+
`);if(f.length>=2&&(n.push(...f.slice(0,-1)),r=[i.encode(f.slice(-1).join(`
|
|
85
|
+
|
|
86
|
+
`))]),n.length>0)break}catch{continue}}return n.length>0||r.length>0&&(n=u.decode(Ve(...r)).split(`
|
|
87
|
+
|
|
88
|
+
`).filter(m=>m),r=[]),n.shift()},s=await l();for(;s;)yield s,s=await l()}function Ve(...e){let t=new Uint8Array(e.reduce((n,a)=>n+a.length,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}/**
|
|
89
|
+
* @remix-run/react v2.12.1
|
|
90
|
+
*
|
|
91
|
+
* Copyright (c) Remix Software Inc.
|
|
92
|
+
*
|
|
93
|
+
* This source code is licensed under the MIT license found in the
|
|
94
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
95
|
+
*
|
|
96
|
+
* @license MIT
|
|
97
|
+
*/function qn(e,t,r){return async({request:n,matches:a,fetcherKey:i})=>n.method!=="GET"?En(n,a):i?Rn(n,a):Sn(e,t,r(),n,a)}async function En(e,t){let r=t.find(i=>i.shouldLoad);I(r,"No action match found");let n,a=await r.resolve(async i=>await i(async()=>{let l=de(e.url),s=await ce(e),{data:c,status:m}=await ke(l,s);return n=m,Re(c,r.route.id)}));return Ce(a.result)||qe(a.result)?{[r.route.id]:a}:{[r.route.id]:{type:a.type,result:Yt(a.result,n)}}}async function Sn(e,t,r,n,a){let i=new Set,u=!1,l=a.map(()=>Ke()),s=Promise.all(l.map(d=>d.promise)),c=Ke(),m=Rt(de(n.url)),f=await ce(n),h={},p=Promise.all(a.map(async(d,E)=>d.resolve(async R=>{if(l[E].resolve(),!d.shouldLoad){var S;if(!r.state.initialized)return;if(d.route.id in r.state.loaderData&&e.routes[d.route.id].hasLoader&&(S=t[d.route.id])!==null&&S!==void 0&&S.shouldRevalidate){u=!0;return}}if(e.routes[d.route.id].hasClientLoader){e.routes[d.route.id].hasLoader&&(u=!0);try{let v=await St(R,m,f,d.route.id);h[d.route.id]={type:"data",result:v}}catch(v){h[d.route.id]={type:"error",result:v}}return}e.routes[d.route.id].hasLoader&&i.add(d.route.id);try{let v=await R(async()=>{let w=await c.promise;return bt(w,d.route.id)});h[d.route.id]={type:"data",result:v}}catch(v){h[d.route.id]={type:"error",result:v}}})));if(await s,(!r.state.initialized||i.size===0)&&!window.__remixHdrActive)c.resolve({});else try{u&&i.size>0&&m.searchParams.set("_routes",a.filter(E=>i.has(E.route.id)).map(E=>E.route.id).join(","));let d=await ke(m,f);c.resolve(d.data)}catch(d){c.reject(d)}return await p,h}async function Rn(e,t){let r=t.find(a=>a.shouldLoad);I(r,"No fetcher match found");let n=await r.resolve(async a=>{let i=Rt(de(e.url)),u=await ce(e);return St(a,i,u,r.route.id)});return{[r.route.id]:n}}function St(e,t,r,n){return e(async()=>{let a=new URL(t);a.searchParams.set("_routes",n);let{data:i}=await ke(a,r);return bt(i,n)})}function Rt(e){let t=e.searchParams.getAll("index");e.searchParams.delete("index");let r=[];for(let n of t)n&&r.push(n);for(let n of r)e.searchParams.append("index",n);return e}function de(e){let t=typeof e=="string"?new URL(e,window.location.origin):e;return t.pathname==="/"?t.pathname="_root.data":t.pathname=`${t.pathname.replace(/\/$/,"")}.data`,t}async function ke(e,t){let r=await fetch(e,t);I(r.body,"No response body to decode");try{let n=await bn(r.body,window);return{status:r.status,data:n.value}}catch(n){throw console.error(n),new Error(`Unable to decode turbo-stream response from URL: ${e.toString()}`)}}function bn(e,t){return Gr(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,i,u]=n,l=Error;a&&a in t&&typeof t[a]=="function"&&(l=t[a]);let s=new l(i);return s.stack=u,{value:s}}if(r==="ErrorResponse"){let[a,i,u]=n;return{value:new ne(i,u,a)}}if(r==="SingleFetchRedirect")return{value:{[yt]:n[0]}}},(r,n)=>{if(r==="SingleFetchFallback")return{value:void 0};if(r==="SingleFetchClassInstance")return{value:n}}]})}function bt(e,t){let r=e[yt];return r?Re(r,t):e[t]!==void 0?Re(e[t],t):null}function Re(e,t){if("error"in e)throw e.error;if("redirect"in e){let r={};return e.revalidate&&(r["X-Remix-Revalidate"]="yes"),e.reload&&(r["X-Remix-Reload-Document"]="yes"),e.replace&&(r["X-Remix-Replace"]="yes"),et(e.redirect,{status:e.status,headers:r})}else{if("data"in e)return e.data;throw new Error(`No response found for routeId "${t}"`)}}function Ke(){let e,t,r=new Promise((n,a)=>{e=async i=>{n(i);try{await r}catch{}},t=async i=>{a(i);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}/**
|
|
98
|
+
* @remix-run/react v2.12.1
|
|
99
|
+
*
|
|
100
|
+
* Copyright (c) Remix Software Inc.
|
|
101
|
+
*
|
|
102
|
+
* This source code is licensed under the MIT license found in the
|
|
103
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
104
|
+
*
|
|
105
|
+
* @license MIT
|
|
106
|
+
*/class ea extends o.Component{constructor(t){super(t),this.state={error:t.error||null,location:t.location}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location?{error:t.error||null,location:t.location}:{error:t.error||r.error,location:r.location}}render(){return this.state.error?o.createElement(_t,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}}function _t({error:e,isOutsideRemixApp:t}){console.error(e);let r=o.createElement("script",{dangerouslySetInnerHTML:{__html:`
|
|
107
|
+
console.log(
|
|
108
|
+
"💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information."
|
|
109
|
+
);
|
|
110
|
+
`}});if(qe(e))return o.createElement(be,{title:"Unhandled Thrown Response!"},o.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let n;if(e instanceof Error)n=e;else{let a=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);n=new Error(a)}return o.createElement(be,{title:"Application Error!",isOutsideRemixApp:t},o.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),o.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),r)}function be({title:e,renderScripts:t,isOutsideRemixApp:r,children:n}){var a;let{routeModules:i}=z();return(a=i.root)!==null&&a!==void 0&&a.Layout&&!r?n:o.createElement("html",{lang:"en"},o.createElement("head",null,o.createElement("meta",{charSet:"utf-8"}),o.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),o.createElement("title",null,e)),o.createElement("body",null,o.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},n,t?o.createElement(Bn,null):null)))}/**
|
|
111
|
+
* @remix-run/react v2.12.1
|
|
112
|
+
*
|
|
113
|
+
* Copyright (c) Remix Software Inc.
|
|
114
|
+
*
|
|
115
|
+
* This source code is licensed under the MIT license found in the
|
|
116
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
117
|
+
*
|
|
118
|
+
* @license MIT
|
|
119
|
+
*/function _n(){return o.createElement(be,{title:"Loading...",renderScripts:!0},o.createElement("script",{dangerouslySetInnerHTML:{__html:`
|
|
120
|
+
console.log(
|
|
121
|
+
"💿 Hey developer 👋. You can provide a way better UX than this " +
|
|
122
|
+
"when your app is loading JS modules and/or running \`clientLoader\` " +
|
|
123
|
+
"functions. Check out https://remix.run/route/hydrate-fallback " +
|
|
124
|
+
"for more information."
|
|
125
|
+
);
|
|
126
|
+
`}}))}/**
|
|
127
|
+
* @remix-run/react v2.12.1
|
|
128
|
+
*
|
|
129
|
+
* Copyright (c) Remix Software Inc.
|
|
130
|
+
*
|
|
131
|
+
* This source code is licensed under the MIT license found in the
|
|
132
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
133
|
+
*
|
|
134
|
+
* @license MIT
|
|
135
|
+
*/function xt(e){let t={};return Object.values(e).forEach(r=>{let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}),t}function xn(e,t,r){let n=Lt(t),a=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?_n:void 0,i=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>o.createElement(_t,{error:Vt()}):void 0;return e.id==="root"&&t.Layout?{...n?{element:o.createElement(t.Layout,null,o.createElement(n,null))}:{Component:n},...i?{errorElement:o.createElement(t.Layout,null,o.createElement(i,null))}:{ErrorBoundary:i},...a?{hydrateFallbackElement:o.createElement(t.Layout,null,o.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:i,HydrateFallback:a}}function ta(e,t,r,n,a,i){return Ae(t,r,n,a,i,"",xt(t),e)}function q(e,t,r){if(r){let u=`You cannot call ${e==="action"?"serverAction()":"serverLoader()"} in SPA Mode (routeId: "${t.id}")`;throw console.error(u),new ne(400,"Bad Request",new Error(u),!0)}let a=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${t.id}")`;if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction)throw console.error(a),new ne(400,"Bad Request",new Error(a),!0)}function ge(e,t){let r=e==="clientAction"?"a":"an",n=`Route "${t}" does not have ${r} ${e}, but you are trying to submit to it. To fix this, please add ${r} \`${e}\` function to the route`;throw console.error(n),new ne(405,"Method Not Allowed",new Error(n),!0)}function Ae(e,t,r,n,a,i="",u=xt(e),l){return(u[i]||[]).map(s=>{let c=t[s.id];async function m(w,y,_){if(typeof _=="function")return await _();let g=await Tn(w,s);return y?On(g):g}function f(w,y,_){return s.hasLoader?m(w,y,_):Promise.resolve(null)}function h(w,y,_){if(!s.hasAction)throw ge("action",s.id);return m(w,y,_)}async function p(w){let y=t[s.id],_=y?vt(s,y):Promise.resolve();try{return w()}finally{await _}}let d={id:s.id,index:s.index,path:s.path};if(c){var E,R,S;Object.assign(d,{...d,...xn(s,c,a),handle:c.handle,shouldRevalidate:l?Xe(s.id,c.shouldRevalidate,l):c.shouldRevalidate});let w=r==null||(E=r.loaderData)===null||E===void 0?void 0:E[s.id],y=r==null||(R=r.errors)===null||R===void 0?void 0:R[s.id],_=l==null&&(((S=c.clientLoader)===null||S===void 0?void 0:S.hydrate)===!0||!s.hasLoader);d.loader=async({request:g,params:x},b)=>{try{return await p(async()=>(I(c,"No `routeModule` available for critical-route loader"),c.clientLoader?c.clientLoader({request:g,params:x,async serverLoader(){if(q("loader",s,a),_){if(y!==void 0)throw y;return w}return f(g,!0,b)}}):a?null:f(g,!1,b)))}finally{_=!1}},d.loader.hydrate=Cn(s,c,a),d.action=({request:g,params:x},b)=>p(async()=>{if(I(c,"No `routeModule` available for critical-route action"),!c.clientAction){if(a)throw ge("clientAction",s.id);return h(g,!1,b)}return c.clientAction({request:g,params:x,async serverAction(){return q("action",s,a),h(g,!0,b)}})})}else s.hasClientLoader||(d.loader=({request:w},y)=>p(()=>a?Promise.resolve(null):f(w,!1,y))),s.hasClientAction||(d.action=({request:w},y)=>p(()=>{if(a)throw ge("clientAction",s.id);return h(w,!1,y)})),d.lazy=async()=>{let w=await Ln(s,t),y={...w};if(w.clientLoader){let _=w.clientLoader;y.loader=(g,x)=>_({...g,async serverLoader(){return q("loader",s,a),f(g.request,!0,x)}})}if(w.clientAction){let _=w.clientAction;y.action=(g,x)=>_({...g,async serverAction(){return q("action",s,a),h(g.request,!0,x)}})}return l&&(y.shouldRevalidate=Xe(s.id,w.shouldRevalidate,l)),{...y.loader?{loader:y.loader}:{},...y.action?{action:y.action}:{},hasErrorBoundary:y.hasErrorBoundary,shouldRevalidate:y.shouldRevalidate,handle:y.handle,Component:y.Component,ErrorBoundary:y.ErrorBoundary}};let v=Ae(e,t,r,n,a,s.id,u,l);return v.length>0&&(d.children=v),d})}function Xe(e,t,r){let n=!1;return a=>n?t?t(a):a.defaultShouldRevalidate:(n=!0,r.has(e))}async function Ln(e,t){let r=await pt(e,t);return await vt(e,r),{Component:Lt(r),ErrorBoundary:r.ErrorBoundary,clientAction:r.clientAction,clientLoader:r.clientLoader,handle:r.handle,links:r.links,meta:r.meta,shouldRevalidate:r.shouldRevalidate}}async function Tn(e,t){let r=await Et(e,t.id);if(r instanceof Error)throw r;if(mn(r))throw Pn(r);if(dn(r))throw r;return yn(r)&&r.body?await gn(r.body):r}function On(e){if(pn(e))return e.data;if(Ce(e)){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.json():e.text()}return e}function Pn(e){let t=parseInt(e.headers.get("X-Remix-Status"),10)||302,r=e.headers.get("X-Remix-Redirect"),n={},a=e.headers.get("X-Remix-Revalidate");a&&(n["X-Remix-Revalidate"]=a);let i=e.headers.get("X-Remix-Reload-Document");i&&(n["X-Remix-Reload-Document"]=i);let u=e.headers.get("X-Remix-Replace");return u&&(n["X-Remix-Replace"]=u),et(r,{status:t,headers:n})}function Lt(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function Cn(e,t,r){return r&&e.id!=="root"||t.clientLoader!=null&&(t.clientLoader.hydrate===!0||e.hasLoader!==!0)}/**
|
|
136
|
+
* @remix-run/react v2.12.1
|
|
137
|
+
*
|
|
138
|
+
* Copyright (c) Remix Software Inc.
|
|
139
|
+
*
|
|
140
|
+
* This source code is licensed under the MIT license found in the
|
|
141
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
142
|
+
*
|
|
143
|
+
* @license MIT
|
|
144
|
+
*/const te=new Set,kn=1e3,ae=new Set,An=7680;function De(e,t){return e.unstable_lazyRouteDiscovery===!0&&!t}function Dn(e,t){let r=new Set(t.state.matches.map(u=>u.route.id)),n=t.state.location.pathname.split("/").filter(Boolean),a=["/"];for(n.pop();n.length>0;)a.push(`/${n.join("/")}`),n.pop();a.forEach(u=>{let l=tt(t.routes,u,t.basename);l&&l.forEach(s=>r.add(s.route.id))});let i=[...r].reduce((u,l)=>Object.assign(u,{[l]:e.routes[l]}),{});return{...e,routes:i}}function ra(e,t,r,n,a){if(De(r,n))return async({path:i,patch:u})=>{ae.has(i)||await Tt([i],e,t,r,n,a,u)}}function na(e,t,r,n,a){o.useEffect(()=>{var i;if(!De(n,a)||((i=navigator.connection)===null||i===void 0?void 0:i.saveData)===!0)return;function u(f){let h=f.tagName==="FORM"?f.getAttribute("action"):f.getAttribute("href");if(!h)return;let p=new URL(h,window.location.origin);ae.has(p.pathname)||te.add(p.pathname)}async function l(){let f=Array.from(te.keys()).filter(h=>ae.has(h)?(te.delete(h),!1):!0);if(f.length!==0)try{await Tt(f,t,r,n,a,e.basename,e.patchRoutes)}catch(h){console.error("Failed to fetch manifest patches",h)}}document.body.querySelectorAll("a[data-discover], form[data-discover]").forEach(f=>u(f)),l();let s=Fn(l,100);function c(f){return f.nodeType===Node.ELEMENT_NODE}let m=new MutationObserver(f=>{let h=new Set;f.forEach(p=>{[p.target,...p.addedNodes].forEach(d=>{c(d)&&((d.tagName==="A"&&d.getAttribute("data-discover")||d.tagName==="FORM"&&d.getAttribute("data-discover"))&&h.add(d),d.tagName!=="A"&&d.querySelectorAll("a[data-discover], form[data-discover]").forEach(E=>h.add(E)))})}),h.forEach(p=>u(p)),s()});return m.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>m.disconnect()},[n,a,t,r,e])}async function Tt(e,t,r,n,a,i,u){let l=`${i??"/"}/__manifest`.replace(/\/+/g,"/"),s=new URL(l,window.location.origin);if(e.sort().forEach(d=>s.searchParams.append("p",d)),s.searchParams.set("version",t.version),s.toString().length>An){te.clear();return}let c=await fetch(s);if(c.ok){if(c.status>=400)throw new Error(await c.text())}else throw new Error(`${c.status} ${c.statusText}`);let m=await c.json(),f=new Set(Object.keys(t.routes)),h=Object.values(m).reduce((d,E)=>f.has(E.id)?d:Object.assign(d,{[E.id]:E}),{});Object.assign(t.routes,h),e.forEach(d=>Nn(d,ae));let p=new Set;Object.values(h).forEach(d=>{(!d.parentId||!h[d.parentId])&&p.add(d.parentId)}),p.forEach(d=>u(d||null,Ae(h,r,null,n,a,d)))}function Nn(e,t){if(t.size>=kn){let r=t.values().next().value;t.delete(r)}t.add(e)}function Fn(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}function Ot(){let e=o.useContext(_e);return I(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function fe(){let e=o.useContext(ie);return I(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}const Pt=o.createContext(void 0);Pt.displayName="Remix";function z(){let e=o.useContext(Pt);return I(e,"You must render this element inside a <Remix> element"),e}function Ct(e,t){let[r,n]=o.useState(!1),[a,i]=o.useState(!1),{onFocus:u,onBlur:l,onMouseEnter:s,onMouseLeave:c,onTouchStart:m}=t,f=o.useRef(null);o.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let d=R=>{R.forEach(S=>{i(S.isIntersecting)})},E=new IntersectionObserver(d,{threshold:.5});return f.current&&E.observe(f.current),()=>{E.disconnect()}}},[e]);let h=()=>{e==="intent"&&n(!0)},p=()=>{e==="intent"&&(n(!1),i(!1))};return o.useEffect(()=>{if(r){let d=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(d)}}},[r]),[a,f,{onFocus:J(u,h),onBlur:J(l,p),onMouseEnter:J(s,h),onMouseLeave:J(c,p),onTouchStart:J(m,h)}]}const Ne=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Fe(e,t,r){return e==="render"&&!t&&!r?"true":void 0}let In=o.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&Ne.test(e),u=xe(e),[l,s,c]=Ct(t,n);return o.createElement(o.Fragment,null,o.createElement(xr,O({},n,c,{ref:kt(a,s),to:e,"data-discover":Fe(r,i,n.reloadDocument)})),l&&!i?o.createElement(je,{page:u}):null)});In.displayName="NavLink";let jn=o.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&Ne.test(e),u=xe(e),[l,s,c]=Ct(t,n);return o.createElement(o.Fragment,null,o.createElement(st,O({},n,c,{ref:kt(a,s),to:e,"data-discover":Fe(r,i,n.reloadDocument)})),l&&!i?o.createElement(je,{page:u}):null)});jn.displayName="Link";let $n=o.forwardRef(({discover:e="render",...t},r)=>{let n=typeof t.action=="string"&&Ne.test(t.action);return o.createElement(ut,O({},t,{ref:r,"data-discover":Fe(e,n,t.reloadDocument)}))});$n.displayName="Form";function J(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function Ie(e,t,r){if(r&&!re)return[e[0]];if(t){let n=e.findIndex(a=>t[a.route.id]!==void 0);return e.slice(0,n+1)}return e}function aa(){let{isSpaMode:e,manifest:t,routeModules:r,criticalCss:n}=z(),{errors:a,matches:i}=fe(),u=Ie(i,a,e),l=o.useMemo(()=>qr(u,r,t),[u,r,t]);return o.createElement(o.Fragment,null,n?o.createElement("style",{dangerouslySetInnerHTML:{__html:n}}):null,l.map(({key:s,link:c})=>Oe(c)?o.createElement(je,O({key:s},c)):o.createElement("link",O({key:s},c))))}function je({page:e,...t}){let{router:r}=Ot(),n=o.useMemo(()=>tt(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?o.createElement(Mn,O({page:e,matches:n},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function Un(e){let{manifest:t,routeModules:r}=z(),[n,a]=o.useState([]);return o.useEffect(()=>{let i=!1;return rn(e,t,r).then(u=>{i||a(u)}),()=>{i=!0}},[e,t,r]),n}function Mn({page:e,matches:t,...r}){let n=M(),{future:a,manifest:i,routeModules:u}=z(),{loaderData:l,matches:s}=fe(),c=o.useMemo(()=>Je(e,t,s,i,n,"data"),[e,t,s,i,n]),m=o.useMemo(()=>{if(!a.unstable_singleFetch)return nn(e,c,i);if(e===n.pathname+n.search+n.hash)return[];let d=new Set,E=!1;if(t.forEach(S=>{var v;i.routes[S.route.id].hasLoader&&(!c.some(w=>w.route.id===S.route.id)&&S.route.id in l&&(v=u[S.route.id])!==null&&v!==void 0&&v.shouldRevalidate||i.routes[S.route.id].hasClientLoader?E=!0:d.add(S.route.id))}),d.size===0)return[];let R=de(e);return E&&d.size>0&&R.searchParams.set("_routes",t.filter(S=>d.has(S.route.id)).map(S=>S.route.id).join(",")),[R.pathname+R.search]},[a.unstable_singleFetch,l,n,i,c,t,e,u]),f=o.useMemo(()=>Je(e,t,s,i,n,"assets"),[e,t,s,i,n]),h=o.useMemo(()=>an(f,i),[f,i]),p=Un(f);return o.createElement(o.Fragment,null,m.map(d=>o.createElement("link",O({key:d,rel:"prefetch",as:"fetch",href:d},r))),h.map(d=>o.createElement("link",O({key:d,rel:"modulepreload",href:d},r))),p.map(({key:d,link:E})=>o.createElement("link",O({key:d},E))))}function ia(){let{isSpaMode:e,routeModules:t}=z(),{errors:r,matches:n,loaderData:a}=fe(),i=M(),u=Ie(n,r,e),l=null;r&&(l=r[u[u.length-1].route.id]);let s=[],c=null,m=[];for(let f=0;f<u.length;f++){let h=u[f],p=h.route.id,d=a[p],E=h.params,R=t[p],S=[],v={id:p,data:d,meta:[],params:h.params,pathname:h.pathname,handle:h.route.handle,error:l};if(m[f]=v,R!=null&&R.meta?S=typeof R.meta=="function"?R.meta({data:d,params:E,location:i,matches:m,error:l}):Array.isArray(R.meta)?[...R.meta]:R.meta:c&&(S=[...c]),S=S||[],!Array.isArray(S))throw new Error("The route at "+h.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
|
|
145
|
+
|
|
146
|
+
To reference the meta function API, see https://remix.run/route/meta`);v.meta=S,m[f]=v,s=[...S],c=s}return o.createElement(o.Fragment,null,s.flat().map(f=>{if(!f)return null;if("tagName"in f){let{tagName:h,...p}=f;if(!Hn(h))return console.warn(`A meta object uses an invalid tagName: ${h}. Expected either 'link' or 'meta'`),null;let d=h;return o.createElement(d,O({key:JSON.stringify(p)},p))}if("title"in f)return o.createElement("title",{key:"title"},String(f.title));if("charset"in f&&(f.charSet??(f.charSet=f.charset),delete f.charset),"charSet"in f&&f.charSet!=null)return typeof f.charSet=="string"?o.createElement("meta",{key:"charSet",charSet:f.charSet}):null;if("script:ld+json"in f)try{let h=JSON.stringify(f["script:ld+json"]);return o.createElement("script",{key:`script:ld+json:${h}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:h}})}catch{return null}return o.createElement("meta",O({key:JSON.stringify(f)},f))}))}function Hn(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function zn(e){return o.createElement(Xt,e)}let re=!1;function Bn(e){let{manifest:t,serverHandoffString:r,abortDelay:n,serializeError:a,isSpaMode:i,future:u,renderMeta:l}=z(),{router:s,static:c,staticContext:m}=Ot(),{matches:f}=fe(),h=De(u,i);l&&(l.didRenderScripts=!0);let p=Ie(f,null,i);o.useEffect(()=>{re=!0},[]);let d=(g,x)=>{let b;return a&&x instanceof Error?b=a(x):b=x,`${JSON.stringify(g)}:__remixContext.p(!1, ${Z(JSON.stringify(b))})`},E=(g,x,b)=>{let L;try{L=JSON.stringify(b)}catch(T){return d(x,T)}return`${JSON.stringify(x)}:__remixContext.p(${Z(L)})`},R=(g,x,b)=>{let L;return a&&b instanceof Error?L=a(b):L=b,`__remixContext.r(${JSON.stringify(g)}, ${JSON.stringify(x)}, !1, ${Z(JSON.stringify(L))})`},S=(g,x,b)=>{let L;try{L=JSON.stringify(b)}catch(T){return R(g,x,T)}return`__remixContext.r(${JSON.stringify(g)}, ${JSON.stringify(x)}, ${Z(L)})`},v=[],w=o.useMemo(()=>{var g;let x=u.unstable_singleFetch?"window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());":"",b=m?`window.__remixContext = ${r};${x}`:" ",L=u.unstable_singleFetch||m==null?void 0:m.activeDeferreds;b+=L?["__remixContext.p = function(v,e,p,x) {"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error");
|
|
147
|
+
x.stack=undefined;`," p=Promise.reject(x);"," } else {"," p=Promise.resolve(v);"," }"," return p;","};","__remixContext.n = function(i,k) {"," __remixContext.t = __remixContext.t || {};"," __remixContext.t[i] = __remixContext.t[i] || {};"," let p = new Promise((r, e) => {__remixContext.t[i][k] = {r:(v)=>{r(v);},e:(v)=>{e(v);}};});",typeof n=="number"?`setTimeout(() => {if(typeof p._error !== "undefined" || typeof p._data !== "undefined"){return;} __remixContext.t[i][k].e(new Error("Server timeout."))}, ${n});`:""," return p;","};","__remixContext.r = function(i,k,v,e,p,x) {"," p = __remixContext.t[i][k];"," if (typeof e !== 'undefined') {",` x=new Error("Unexpected Server Error");
|
|
148
|
+
x.stack=undefined;`," p.e(x);"," } else {"," p.r(v);"," }","};"].join(`
|
|
149
|
+
`)+Object.entries(L).map(([A,P])=>{let he=new Set(P.pendingKeys),F=P.deferredKeys.map(N=>{if(he.has(N))return v.push(o.createElement(We,{key:`${A} | ${N}`,deferredData:P,routeId:A,dataKey:N,scriptProps:e,serializeData:S,serializeError:R})),`${JSON.stringify(N)}:__remixContext.n(${JSON.stringify(A)}, ${JSON.stringify(N)})`;{let me=P.data[N];return typeof me._error<"u"?d(N,me._error):E(A,N,me._data)}}).join(`,
|
|
150
|
+
`);return`Object.assign(__remixContext.state.loaderData[${JSON.stringify(A)}], {${F}});`}).join(`
|
|
151
|
+
`)+(v.length>0?`__remixContext.a=${v.length};`:""):"";let T=c?`${(g=t.hmr)!==null&&g!==void 0&&g.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${h?"":`import ${JSON.stringify(t.url)}`};
|
|
152
|
+
${p.map((A,P)=>`import * as route${P} from ${JSON.stringify(t.routes[A.route.id].module)};`).join(`
|
|
153
|
+
`)}
|
|
154
|
+
${h?`window.__remixManifest = ${JSON.stringify(Dn(t,s),null,2)};`:""}
|
|
155
|
+
window.__remixRouteModules = {${p.map((A,P)=>`${JSON.stringify(A.route.id)}:route${P}`).join(",")}};
|
|
156
|
+
|
|
157
|
+
import(${JSON.stringify(t.entry.module)});`:" ";return o.createElement(o.Fragment,null,o.createElement("script",O({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Ye(b),type:void 0})),o.createElement("script",O({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Ye(T),type:"module",async:!0})))},[]);if(!c&&typeof __remixContext=="object"&&__remixContext.a)for(let g=0;g<__remixContext.a;g++)v.push(o.createElement(We,{key:g,scriptProps:e,serializeData:S,serializeError:R}));let y=p.map(g=>{let x=t.routes[g.route.id];return(x.imports||[]).concat([x.module])}).flat(1),_=re?[]:t.entry.imports.concat(y);return re?null:o.createElement(o.Fragment,null,h?null:o.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),o.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),Yn(_).map(g=>o.createElement("link",{key:g,rel:"modulepreload",href:g,crossOrigin:e.crossOrigin})),w,v)}function We({dataKey:e,deferredData:t,routeId:r,scriptProps:n,serializeData:a,serializeError:i}){return typeof document>"u"&&t&&e&&r&&I(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e} was not pending but tried to render a script for it.`),o.createElement(o.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:o.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&t&&e&&r?o.createElement(zn,{resolve:t.data[e],errorElement:o.createElement(Jn,{dataKey:e,routeId:r,scriptProps:n,serializeError:i}),children:u=>o.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(r,e,u)}}))}):o.createElement("script",O({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function Jn({dataKey:e,routeId:t,scriptProps:r,serializeError:n}){let a=Wt();return o.createElement("script",O({},r,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:n(t,e,a)}}))}function Yn(e){return[...new Set(e)]}function oa(){return Kt()}function la(e){return Gt(e)}function sa(e={}){return Cr(e)}function kt(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}export{zn as A,$n as F,jn as L,ia as M,In as N,tr as R,Bn as S,O as _,sa as a,Gn as b,dt as c,Qn as d,la as e,ta as f,bn as g,Ae as h,I as i,qn as j,ra as k,na as l,Pt as m,ea as n,Wn as o,z as p,Zn as q,it as r,Cn as s,aa as t,oa as u};
|
|
158
|
+
//# sourceMappingURL=components-9EGYHTc_.js.map
|