@epic-web/workshop-app 0.0.0-semantically-released
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 +10 -0
- package/bin/epicshop.js +321 -0
- package/build/client/app-default.css +39 -0
- package/build/client/assets/_-C_7mS1-0.js +2 -0
- package/build/client/assets/_-C_7mS1-0.js.map +1 -0
- package/build/client/assets/_-l0sNRNKZ.js +2 -0
- package/build/client/assets/_-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/_basePickBy-DxgDhkrj.js +2 -0
- package/build/client/assets/_basePickBy-DxgDhkrj.js.map +1 -0
- package/build/client/assets/_baseUniq-Bh4NktJz.js +2 -0
- package/build/client/assets/_baseUniq-Bh4NktJz.js.map +1 -0
- package/build/client/assets/_exerciseNumber-D3lfJewu.js +2 -0
- package/build/client/assets/_exerciseNumber-D3lfJewu.js.map +1 -0
- package/build/client/assets/_exerciseNumber_._stepNumber-BNj079sn.js +2 -0
- package/build/client/assets/_exerciseNumber_._stepNumber-BNj079sn.js.map +1 -0
- package/build/client/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js +2 -0
- package/build/client/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/_exerciseNumber_.finished-a6jXslNA.js +2 -0
- package/build/client/assets/_exerciseNumber_.finished-a6jXslNA.js.map +1 -0
- package/build/client/assets/_layout-B3FchrR9.js +2 -0
- package/build/client/assets/_layout-B3FchrR9.js.map +1 -0
- package/build/client/assets/_layout-B6ARVFTz.js +2 -0
- package/build/client/assets/_layout-B6ARVFTz.js.map +1 -0
- package/build/client/assets/_layout-CtqVeNw0.js +6 -0
- package/build/client/assets/_layout-CtqVeNw0.js.map +1 -0
- package/build/client/assets/_layout-dHfVo9gJ.js +2 -0
- package/build/client/assets/_layout-dHfVo9gJ.js.map +1 -0
- package/build/client/assets/accordion-PSsenYUI.js +2 -0
- package/build/client/assets/accordion-PSsenYUI.js.map +1 -0
- package/build/client/assets/account-Jl0f1Zst.js +2 -0
- package/build/client/assets/account-Jl0f1Zst.js.map +1 -0
- package/build/client/assets/api._-l0sNRNKZ.js +2 -0
- package/build/client/assets/api._-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/app-CpF0K1cW.css +1 -0
- package/build/client/assets/app-CzIg9kJh.js +2 -0
- package/build/client/assets/app-CzIg9kJh.js.map +1 -0
- package/build/client/assets/app.epic_ws_.js_-l0sNRNKZ.js +2 -0
- package/build/client/assets/app.epic_ws_.js_-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/apps-DP2rzg_V.js +2 -0
- package/build/client/assets/apps-DP2rzg_V.js.map +1 -0
- package/build/client/assets/apps-l0sNRNKZ.js +2 -0
- package/build/client/assets/apps-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/arc-B6tHINqs.js +2 -0
- package/build/client/assets/arc-B6tHINqs.js.map +1 -0
- package/build/client/assets/architectureDiagram-NQ2NVSRB-D_wGZ5nT.js +37 -0
- package/build/client/assets/architectureDiagram-NQ2NVSRB-D_wGZ5nT.js.map +1 -0
- package/build/client/assets/blockDiagram-PHRCVELO-h_TbDJvl.js +123 -0
- package/build/client/assets/blockDiagram-PHRCVELO-h_TbDJvl.js.map +1 -0
- package/build/client/assets/button-cFpvwtjC.js +2 -0
- package/build/client/assets/button-cFpvwtjC.js.map +1 -0
- package/build/client/assets/c4Diagram-6F6E4RAY-BfXjadL9.js +11 -0
- package/build/client/assets/c4Diagram-6F6E4RAY-BfXjadL9.js.map +1 -0
- package/build/client/assets/cache-l0sNRNKZ.js +2 -0
- package/build/client/assets/cache-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/channel-ClIoK57K.js +2 -0
- package/build/client/assets/channel-ClIoK57K.js.map +1 -0
- package/build/client/assets/chunk-353BL4L5-CExuR7H8.js +2 -0
- package/build/client/assets/chunk-353BL4L5-CExuR7H8.js.map +1 -0
- package/build/client/assets/chunk-67H74DCK-BF9_AOuB.js +2 -0
- package/build/client/assets/chunk-67H74DCK-BF9_AOuB.js.map +1 -0
- package/build/client/assets/chunk-6OLS64BW-B_GeRv1G.js +221 -0
- package/build/client/assets/chunk-6OLS64BW-B_GeRv1G.js.map +1 -0
- package/build/client/assets/chunk-AACKK3MU-BcoQc9Ht.js +2 -0
- package/build/client/assets/chunk-AACKK3MU-BcoQc9Ht.js.map +1 -0
- package/build/client/assets/chunk-BFAMUDN2-DBCLoV1m.js +2 -0
- package/build/client/assets/chunk-BFAMUDN2-DBCLoV1m.js.map +1 -0
- package/build/client/assets/chunk-E2GYISFI-DvCzOl_M.js +16 -0
- package/build/client/assets/chunk-E2GYISFI-DvCzOl_M.js.map +1 -0
- package/build/client/assets/chunk-QEP2MXWD-BA02qRA0.js +166 -0
- package/build/client/assets/chunk-QEP2MXWD-BA02qRA0.js.map +1 -0
- package/build/client/assets/chunk-QMGIS6GS-CG5cA6CX.js +44 -0
- package/build/client/assets/chunk-QMGIS6GS-CG5cA6CX.js.map +1 -0
- package/build/client/assets/chunk-SKB7J2MH-BG1nHV0M.js +2 -0
- package/build/client/assets/chunk-SKB7J2MH-BG1nHV0M.js.map +1 -0
- package/build/client/assets/classDiagram-BGRH5UQR-BZY1Xh5a.js +2 -0
- package/build/client/assets/classDiagram-BGRH5UQR-BZY1Xh5a.js.map +1 -0
- package/build/client/assets/classDiagram-v2-O24JOBDK-BZY1Xh5a.js +2 -0
- package/build/client/assets/classDiagram-v2-O24JOBDK-BZY1Xh5a.js.map +1 -0
- package/build/client/assets/clone-RGlausHy.js +2 -0
- package/build/client/assets/clone-RGlausHy.js.map +1 -0
- package/build/client/assets/cytoscape.esm-BBIONMvf.js +332 -0
- package/build/client/assets/cytoscape.esm-BBIONMvf.js.map +1 -0
- package/build/client/assets/dagre-FFZHY6LT-CGbe3nXJ.js +5 -0
- package/build/client/assets/dagre-FFZHY6LT-CGbe3nXJ.js.map +1 -0
- package/build/client/assets/defaultLocale-C4B-KCzX.js +2 -0
- package/build/client/assets/defaultLocale-C4B-KCzX.js.map +1 -0
- package/build/client/assets/diagram-3EMPZRKU-8UM2S96z.js +25 -0
- package/build/client/assets/diagram-3EMPZRKU-8UM2S96z.js.map +1 -0
- package/build/client/assets/diagram-5UYTHUR4-Bq8b35J7.js +25 -0
- package/build/client/assets/diagram-5UYTHUR4-Bq8b35J7.js.map +1 -0
- package/build/client/assets/diagram-ZTM2IBQH-DZ0Q3vKL.js +44 -0
- package/build/client/assets/diagram-ZTM2IBQH-DZ0Q3vKL.js.map +1 -0
- package/build/client/assets/diff-DTFs5rVO.js +2 -0
- package/build/client/assets/diff-DTFs5rVO.js.map +1 -0
- package/build/client/assets/diff-DpX_9FU6.js +2 -0
- package/build/client/assets/diff-DpX_9FU6.js.map +1 -0
- package/build/client/assets/discord-C86FbV-j.js +2 -0
- package/build/client/assets/discord-C86FbV-j.js.map +1 -0
- package/build/client/assets/discord-DOEtvB6W.js +2 -0
- package/build/client/assets/discord-DOEtvB6W.js.map +1 -0
- package/build/client/assets/entry.client-anc4-dZY.js +35 -0
- package/build/client/assets/entry.client-anc4-dZY.js.map +1 -0
- package/build/client/assets/epic-video-CCv7QINN.js +3210 -0
- package/build/client/assets/epic-video-CCv7QINN.js.map +1 -0
- package/build/client/assets/epic-video-D2Xftn6t.css +1 -0
- package/build/client/assets/epic_ws_.js_-l0sNRNKZ.js +2 -0
- package/build/client/assets/epic_ws_.js_-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/erDiagram-R3QVA2FD-Bu6B069U.js +61 -0
- package/build/client/assets/erDiagram-R3QVA2FD-Bu6B069U.js.map +1 -0
- package/build/client/assets/error-boundary-B8bEOgxp.js +2 -0
- package/build/client/assets/error-boundary-B8bEOgxp.js.map +1 -0
- package/build/client/assets/exercises-l0sNRNKZ.js +2 -0
- package/build/client/assets/exercises-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/finished-RnlPhc3t.js +2 -0
- package/build/client/assets/finished-RnlPhc3t.js.map +1 -0
- package/build/client/assets/flowDiagram-PKI6S5ZS-ie1Nf5_c.js +163 -0
- package/build/client/assets/flowDiagram-PKI6S5ZS-ie1Nf5_c.js.map +1 -0
- package/build/client/assets/ganttDiagram-EK5VF46D-BjgRWg6k.js +268 -0
- package/build/client/assets/ganttDiagram-EK5VF46D-BjgRWg6k.js.map +1 -0
- package/build/client/assets/gitGraphDiagram-GW3U2K7C-BmD31KK0.js +66 -0
- package/build/client/assets/gitGraphDiagram-GW3U2K7C-BmD31KK0.js.map +1 -0
- package/build/client/assets/graph-BBuyk5Ru.js +2 -0
- package/build/client/assets/graph-BBuyk5Ru.js.map +1 -0
- package/build/client/assets/icons-BM6r7NHK.svg +570 -0
- package/build/client/assets/index-7Ba6ptu2.js +42 -0
- package/build/client/assets/index-7Ba6ptu2.js.map +1 -0
- package/build/client/assets/index-Bp_2FjuO.js +10 -0
- package/build/client/assets/index-Bp_2FjuO.js.map +1 -0
- package/build/client/assets/index-CNmh2cao.js +2 -0
- package/build/client/assets/index-CNmh2cao.js.map +1 -0
- package/build/client/assets/index-CZ8q0Nf8.js +2 -0
- package/build/client/assets/index-CZ8q0Nf8.js.map +1 -0
- package/build/client/assets/index-DP2rzg_V.js +2 -0
- package/build/client/assets/index-DP2rzg_V.js.map +1 -0
- package/build/client/assets/index-DSMFPAn8.js +2 -0
- package/build/client/assets/index-DSMFPAn8.js.map +1 -0
- package/build/client/assets/index-DxbpRM0V.js +2 -0
- package/build/client/assets/index-DxbpRM0V.js.map +1 -0
- package/build/client/assets/index-K6Dvbx-E.js +2 -0
- package/build/client/assets/index-K6Dvbx-E.js.map +1 -0
- package/build/client/assets/index-LNXI3Vlr.js +2 -0
- package/build/client/assets/index-LNXI3Vlr.js.map +1 -0
- package/build/client/assets/index-_jNKXw67.js +2 -0
- package/build/client/assets/index-_jNKXw67.js.map +1 -0
- package/build/client/assets/index-l0sNRNKZ.js +2 -0
- package/build/client/assets/index-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/index-rknZKmMI.js +36 -0
- package/build/client/assets/index-rknZKmMI.js.map +1 -0
- package/build/client/assets/infoDiagram-RLU2ROGC-DVoDIRGH.js +3 -0
- package/build/client/assets/infoDiagram-RLU2ROGC-DVoDIRGH.js.map +1 -0
- package/build/client/assets/init-Gi6I4Gst.js +2 -0
- package/build/client/assets/init-Gi6I4Gst.js.map +1 -0
- package/build/client/assets/journeyDiagram-EWQZEKCU-C_Lb2L11.js +140 -0
- package/build/client/assets/journeyDiagram-EWQZEKCU-C_Lb2L11.js.map +1 -0
- package/build/client/assets/jsx-runtime-EKYJJIwR.js +10 -0
- package/build/client/assets/jsx-runtime-EKYJJIwR.js.map +1 -0
- package/build/client/assets/kanban-definition-ILFWEQ3N-KsekSC1N.js +90 -0
- package/build/client/assets/kanban-definition-ILFWEQ3N-KsekSC1N.js.map +1 -0
- package/build/client/assets/katex-DsmCZfJr.js +262 -0
- package/build/client/assets/katex-DsmCZfJr.js.map +1 -0
- package/build/client/assets/l-D9C1VDbZ.js +2 -0
- package/build/client/assets/l-D9C1VDbZ.js.map +1 -0
- package/build/client/assets/launch-editor-l0sNRNKZ.js +2 -0
- package/build/client/assets/launch-editor-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/layout-BkH8Qi9T.js +2 -0
- package/build/client/assets/layout-BkH8Qi9T.js.map +1 -0
- package/build/client/assets/linear-tKBS5mAJ.js +2 -0
- package/build/client/assets/linear-tKBS5mAJ.js.map +1 -0
- package/build/client/assets/loading-CZYaLyAk.js +2 -0
- package/build/client/assets/loading-CZYaLyAk.js.map +1 -0
- package/build/client/assets/login-BHKNDLwl.js +2 -0
- package/build/client/assets/login-BHKNDLwl.js.map +1 -0
- package/build/client/assets/login-sse-l0sNRNKZ.js +2 -0
- package/build/client/assets/login-sse-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/manifest-b97649b5.js +1 -0
- package/build/client/assets/mdx-BEhxx-X4.js +3 -0
- package/build/client/assets/mdx-BEhxx-X4.js.map +1 -0
- package/build/client/assets/mermaid.core-CqaUvNIK.js +214 -0
- package/build/client/assets/mermaid.core-CqaUvNIK.js.map +1 -0
- package/build/client/assets/mindmap-definition-CZNETY7S-BGn0gmpB.js +96 -0
- package/build/client/assets/mindmap-definition-CZNETY7S-BGn0gmpB.js.map +1 -0
- package/build/client/assets/misc-COGqV2fm.js +2 -0
- package/build/client/assets/misc-COGqV2fm.js.map +1 -0
- package/build/client/assets/nav-chevrons-Cxzx0j13.js +2 -0
- package/build/client/assets/nav-chevrons-Cxzx0j13.js.map +1 -0
- package/build/client/assets/notifications-l0sNRNKZ.js +2 -0
- package/build/client/assets/notifications-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/og-l0sNRNKZ.js +2 -0
- package/build/client/assets/og-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/onboarding-7Vho777l.js +2 -0
- package/build/client/assets/onboarding-7Vho777l.js.map +1 -0
- package/build/client/assets/online-CwZkKwTv.js +2 -0
- package/build/client/assets/online-CwZkKwTv.js.map +1 -0
- package/build/client/assets/ordinal-Cboi1Yqb.js +2 -0
- package/build/client/assets/ordinal-Cboi1Yqb.js.map +1 -0
- package/build/client/assets/pe-DoDyGTeN.js +2 -0
- package/build/client/assets/pe-DoDyGTeN.js.map +1 -0
- package/build/client/assets/pieDiagram-NIOCPIFQ-TwGmrzCW.js +31 -0
- package/build/client/assets/pieDiagram-NIOCPIFQ-TwGmrzCW.js.map +1 -0
- package/build/client/assets/preferences-Dx_EUPYj.js +2 -0
- package/build/client/assets/preferences-Dx_EUPYj.js.map +1 -0
- package/build/client/assets/presence-tDxUeb6L.js +28 -0
- package/build/client/assets/presence-tDxUeb6L.js.map +1 -0
- package/build/client/assets/preview-COuApZAb.js +2 -0
- package/build/client/assets/preview-COuApZAb.js.map +1 -0
- package/build/client/assets/processes-l0sNRNKZ.js +2 -0
- package/build/client/assets/processes-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/product-DNKDVhI_.js +2 -0
- package/build/client/assets/product-DNKDVhI_.js.map +1 -0
- package/build/client/assets/progress-DKsShYpv.js +2 -0
- package/build/client/assets/progress-DKsShYpv.js.map +1 -0
- package/build/client/assets/progress-bar-Cww9t8Vn.js +2 -0
- package/build/client/assets/progress-bar-Cww9t8Vn.js.map +1 -0
- package/build/client/assets/progress-l0sNRNKZ.js +2 -0
- package/build/client/assets/progress-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/quadrantDiagram-2OG54O6I-C2FaFW77.js +8 -0
- package/build/client/assets/quadrantDiagram-2OG54O6I-C2FaFW77.js.map +1 -0
- package/build/client/assets/requirementDiagram-SO3GGRV7-BENrmejn.js +65 -0
- package/build/client/assets/requirementDiagram-SO3GGRV7-BENrmejn.js.map +1 -0
- package/build/client/assets/revalidation-ws-DJwDeSaI.js +2 -0
- package/build/client/assets/revalidation-ws-DJwDeSaI.js.map +1 -0
- package/build/client/assets/robots_._txt-l0sNRNKZ.js +2 -0
- package/build/client/assets/robots_._txt-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/root-30K5JoaI.js +2 -0
- package/build/client/assets/root-30K5JoaI.js.map +1 -0
- package/build/client/assets/sankeyDiagram-4UZDY2LN-DHcxz6y6.js +11 -0
- package/build/client/assets/sankeyDiagram-4UZDY2LN-DHcxz6y6.js.map +1 -0
- package/build/client/assets/seo-t5J-DRxw.js +2 -0
- package/build/client/assets/seo-t5J-DRxw.js.map +1 -0
- package/build/client/assets/sequenceDiagram-ZIKVLSP4-wsbYfOcv.js +123 -0
- package/build/client/assets/sequenceDiagram-ZIKVLSP4-wsbYfOcv.js.map +1 -0
- package/build/client/assets/set-playground-Bx0yIjpY.js +2 -0
- package/build/client/assets/set-playground-Bx0yIjpY.js.map +1 -0
- package/build/client/assets/set-playground-l0sNRNKZ.js +2 -0
- package/build/client/assets/set-playground-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/sitemap_._xml-l0sNRNKZ.js +2 -0
- package/build/client/assets/sitemap_._xml-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/start-l0sNRNKZ.js +2 -0
- package/build/client/assets/start-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/stateDiagram-XX37X6EN-D8VCWzU7.js +2 -0
- package/build/client/assets/stateDiagram-XX37X6EN-D8VCWzU7.js.map +1 -0
- package/build/client/assets/stateDiagram-v2-GD6S3NHB-CWoWkzf7.js +2 -0
- package/build/client/assets/stateDiagram-v2-GD6S3NHB-CWoWkzf7.js.map +1 -0
- package/build/client/assets/support-BnsTkkCH.js +2 -0
- package/build/client/assets/support-BnsTkkCH.js.map +1 -0
- package/build/client/assets/tailwind-Dqccob1p.css +1 -0
- package/build/client/assets/test-B2dwsj84.js +2 -0
- package/build/client/assets/test-B2dwsj84.js.map +1 -0
- package/build/client/assets/test-l0sNRNKZ.js +2 -0
- package/build/client/assets/test-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/test._testName-l0sNRNKZ.js +2 -0
- package/build/client/assets/test._testName-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/test.epic_ws_.js_-l0sNRNKZ.js +2 -0
- package/build/client/assets/test.epic_ws_.js_-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/tests-DvbNIXBP.js +4 -0
- package/build/client/assets/tests-DvbNIXBP.js.map +1 -0
- package/build/client/assets/timeline-definition-RI47OAVP-D44Hv-fs.js +62 -0
- package/build/client/assets/timeline-definition-RI47OAVP-D44Hv-fs.js.map +1 -0
- package/build/client/assets/tooltip-Cm7A1uIP.js +2 -0
- package/build/client/assets/tooltip-Cm7A1uIP.js.map +1 -0
- package/build/client/assets/treemap-FKARHQ26-COx8AcUM.js +129 -0
- package/build/client/assets/treemap-FKARHQ26-COx8AcUM.js.map +1 -0
- package/build/client/assets/use-event-source-DDlZtAwc.js +2 -0
- package/build/client/assets/use-event-source-DDlZtAwc.js.map +1 -0
- package/build/client/assets/user-BQ8D2Fty.js +2 -0
- package/build/client/assets/user-BQ8D2Fty.js.map +1 -0
- package/build/client/assets/version-CG_ZHfTC.js +2 -0
- package/build/client/assets/version-CG_ZHfTC.js.map +1 -0
- package/build/client/assets/workshop-config-5VcXxeyp.js +2 -0
- package/build/client/assets/workshop-config-5VcXxeyp.js.map +1 -0
- package/build/client/assets/xychartDiagram-H2YORKM3-rhbSyPlb.js +8 -0
- package/build/client/assets/xychartDiagram-H2YORKM3-rhbSyPlb.js.map +1 -0
- package/build/client/favicon.ico +0 -0
- package/build/client/favicon.png +0 -0
- package/build/client/favicon.svg +13 -0
- package/build/client/fonts/neogrotesk/0b8b755c-fee2-4661-9c8b-c5d1fbea901b.woff2 +0 -0
- package/build/client/fonts/neogrotesk/146d9d20-3e53-4e5d-beb2-1209bba5ac61.woff2 +0 -0
- package/build/client/fonts/neogrotesk/1798ef2b-5ee0-4f39-8b2c-ae3e36f07cd1.woff2 +0 -0
- package/build/client/fonts/neogrotesk/1eb2cb40-6822-4654-856c-8cbe652366b6.woff +0 -0
- package/build/client/fonts/neogrotesk/3b64793c-0bdb-4e4f-bf0e-cdf2e974d5f2.woff +0 -0
- package/build/client/fonts/neogrotesk/3bb44ed4-cf17-469c-8d0d-5946d10fdad1.woff +0 -0
- package/build/client/fonts/neogrotesk/4bd29470-1701-41fe-94b6-4a147512160c.woff +0 -0
- package/build/client/fonts/neogrotesk/5cdbf070-a094-44c8-b8f1-17a00a19c959.woff2 +0 -0
- package/build/client/fonts/neogrotesk/6d439be9-37df-4912-ac09-388ce938fa46.woff2 +0 -0
- package/build/client/fonts/neogrotesk/7fc2971f-a9c2-4e09-bd24-bfd4ee6e97b3.woff +0 -0
- package/build/client/fonts/neogrotesk/861b65ee-56bd-4057-9af4-3b2903af231e.woff +0 -0
- package/build/client/fonts/neogrotesk/8cf836d9-a49e-4387-bcbd-4800766e5d24.woff +0 -0
- package/build/client/fonts/neogrotesk/8d61128d-534c-4793-9668-b98bcc2e5969.woff2 +0 -0
- package/build/client/fonts/neogrotesk/98423f75-c341-4161-8b92-7cd5c05081e5.woff +0 -0
- package/build/client/fonts/neogrotesk/a1456726-ad0d-4f5e-9d8f-ce92e8ce375d.woff2 +0 -0
- package/build/client/fonts/neogrotesk/af81e7d2-0bb1-4aa0-bc76-adb78338c568.woff +0 -0
- package/build/client/fonts/neogrotesk/d1302ad5-ceee-47cb-a0fa-2da6bd0d4d54.woff2 +0 -0
- package/build/client/fonts/neogrotesk/e7e15c31-aad1-4384-abd3-0671ccd03251.woff +0 -0
- package/build/client/fonts/neogrotesk/ec6cb127-161b-469c-9816-69489032a234.woff2 +0 -0
- package/build/client/fonts/neogrotesk/f480430c-6c50-4ae3-9abb-e92c484f84d6.woff2 +0 -0
- package/build/client/img/tiffany.png +0 -0
- package/build/client/logo.svg +48 -0
- package/build/client/neogrotesk-font.css +100 -0
- package/build/client/og/background.png +0 -0
- package/build/client/og/logo.svg +1 -0
- package/build/server/index.js +11899 -0
- package/build/server/index.js.map +1 -0
- package/dist/server/index.js +247 -0
- package/package.json +1 -0
- package/start.js +50 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
function Sa(e,t){for(var r=0;r<t.length;r++){const a=t[r];if(typeof a!="string"&&!Array.isArray(a)){for(const n in a)if(n!=="default"&&!(n in e)){const o=Object.getOwnPropertyDescriptor(a,n);o&&Object.defineProperty(e,n,o.get?o:{enumerable:!0,get:()=>a[n]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}function xa(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Wt={exports:{}},W={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react.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 Hr;function Ca(){if(Hr)return W;Hr=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),n=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),l=Symbol.for("react.context"),s=Symbol.for("react.forward_ref"),i=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator;function h(m){return m===null||typeof m!="object"?null:(m=p&&m[p]||m["@@iterator"],typeof m=="function"?m:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,b={};function S(m,x,k){this.props=m,this.context=x,this.refs=b,this.updater=k||g}S.prototype.isReactComponent={},S.prototype.setState=function(m,x){if(typeof m!="object"&&typeof m!="function"&&m!=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,m,x,"setState")},S.prototype.forceUpdate=function(m){this.updater.enqueueForceUpdate(this,m,"forceUpdate")};function E(){}E.prototype=S.prototype;function L(m,x,k){this.props=m,this.context=x,this.refs=b,this.updater=k||g}var _=L.prototype=new E;_.constructor=L,w(_,S.prototype),_.isPureReactComponent=!0;var M=Array.isArray,C={H:null,A:null,T:null,S:null,V:null},y=Object.prototype.hasOwnProperty;function F(m,x,k,N,Y,ee){return k=ee.ref,{$$typeof:e,type:m,key:x,ref:k!==void 0?k:null,props:ee}}function J(m,x){return F(m.type,x,void 0,void 0,void 0,m.props)}function j(m){return typeof m=="object"&&m!==null&&m.$$typeof===e}function X(m){var x={"=":"=0",":":"=2"};return"$"+m.replace(/[=:]/g,function(k){return x[k]})}var le=/\/+/g;function ce(m,x){return typeof m=="object"&&m!==null&&m.key!=null?X(""+m.key):x.toString(36)}function q(){}function Z(m){switch(m.status){case"fulfilled":return m.value;case"rejected":throw m.reason;default:switch(typeof m.status=="string"?m.then(q,q):(m.status="pending",m.then(function(x){m.status==="pending"&&(m.status="fulfilled",m.value=x)},function(x){m.status==="pending"&&(m.status="rejected",m.reason=x)})),m.status){case"fulfilled":return m.value;case"rejected":throw m.reason}}throw m}function re(m,x,k,N,Y){var ee=typeof m;(ee==="undefined"||ee==="boolean")&&(m=null);var B=!1;if(m===null)B=!0;else switch(ee){case"bigint":case"string":case"number":B=!0;break;case"object":switch(m.$$typeof){case e:case t:B=!0;break;case f:return B=m._init,re(B(m._payload),x,k,N,Y)}}if(B)return Y=Y(m),B=N===""?"."+ce(m,0):N,M(Y)?(k="",B!=null&&(k=B.replace(le,"$&/")+"/"),re(Y,x,k,"",function($t){return $t})):Y!=null&&(j(Y)&&(Y=J(Y,k+(Y.key==null||m&&m.key===Y.key?"":(""+Y.key).replace(le,"$&/")+"/")+B)),x.push(Y)),1;B=0;var Ce=N===""?".":N+":";if(M(m))for(var ae=0;ae<m.length;ae++)N=m[ae],ee=Ce+ce(N,ae),B+=re(N,x,k,ee,Y);else if(ae=h(m),typeof ae=="function")for(m=ae.call(m),ae=0;!(N=m.next()).done;)N=N.value,ee=Ce+ce(N,ae++),B+=re(N,x,k,ee,Y);else if(ee==="object"){if(typeof m.then=="function")return re(Z(m),x,k,N,Y);throw x=String(m),Error("Objects are not valid as a React child (found: "+(x==="[object Object]"?"object with keys {"+Object.keys(m).join(", ")+"}":x)+"). If you meant to render a collection of children, use an array instead.")}return B}function K(m,x,k){if(m==null)return m;var N=[],Y=0;return re(m,N,"","",function(ee){return x.call(k,ee,Y++)}),N}function he(m){if(m._status===-1){var x=m._result;x=x(),x.then(function(k){(m._status===0||m._status===-1)&&(m._status=1,m._result=k)},function(k){(m._status===0||m._status===-1)&&(m._status=2,m._result=k)}),m._status===-1&&(m._status=0,m._result=x)}if(m._status===1)return m._result.default;throw m._result}var se=typeof reportError=="function"?reportError:function(m){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var x=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof m=="object"&&m!==null&&typeof m.message=="string"?String(m.message):String(m),error:m});if(!window.dispatchEvent(x))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",m);return}console.error(m)};function me(){}return W.Children={map:K,forEach:function(m,x,k){K(m,function(){x.apply(this,arguments)},k)},count:function(m){var x=0;return K(m,function(){x++}),x},toArray:function(m){return K(m,function(x){return x})||[]},only:function(m){if(!j(m))throw Error("React.Children.only expected to receive a single React element child.");return m}},W.Component=S,W.Fragment=r,W.Profiler=n,W.PureComponent=L,W.StrictMode=a,W.Suspense=i,W.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=C,W.__COMPILER_RUNTIME={__proto__:null,c:function(m){return C.H.useMemoCache(m)}},W.cache=function(m){return function(){return m.apply(null,arguments)}},W.cloneElement=function(m,x,k){if(m==null)throw Error("The argument must be a React element, but you passed "+m+".");var N=w({},m.props),Y=m.key,ee=void 0;if(x!=null)for(B in x.ref!==void 0&&(ee=void 0),x.key!==void 0&&(Y=""+x.key),x)!y.call(x,B)||B==="key"||B==="__self"||B==="__source"||B==="ref"&&x.ref===void 0||(N[B]=x[B]);var B=arguments.length-2;if(B===1)N.children=k;else if(1<B){for(var Ce=Array(B),ae=0;ae<B;ae++)Ce[ae]=arguments[ae+2];N.children=Ce}return F(m.type,Y,void 0,void 0,ee,N)},W.createContext=function(m){return m={$$typeof:l,_currentValue:m,_currentValue2:m,_threadCount:0,Provider:null,Consumer:null},m.Provider=m,m.Consumer={$$typeof:o,_context:m},m},W.createElement=function(m,x,k){var N,Y={},ee=null;if(x!=null)for(N in x.key!==void 0&&(ee=""+x.key),x)y.call(x,N)&&N!=="key"&&N!=="__self"&&N!=="__source"&&(Y[N]=x[N]);var B=arguments.length-2;if(B===1)Y.children=k;else if(1<B){for(var Ce=Array(B),ae=0;ae<B;ae++)Ce[ae]=arguments[ae+2];Y.children=Ce}if(m&&m.defaultProps)for(N in B=m.defaultProps,B)Y[N]===void 0&&(Y[N]=B[N]);return F(m,ee,void 0,void 0,null,Y)},W.createRef=function(){return{current:null}},W.forwardRef=function(m){return{$$typeof:s,render:m}},W.isValidElement=j,W.lazy=function(m){return{$$typeof:f,_payload:{_status:-1,_result:m},_init:he}},W.memo=function(m,x){return{$$typeof:u,type:m,compare:x===void 0?null:x}},W.startTransition=function(m){var x=C.T,k={};C.T=k;try{var N=m(),Y=C.S;Y!==null&&Y(k,N),typeof N=="object"&&N!==null&&typeof N.then=="function"&&N.then(me,se)}catch(ee){se(ee)}finally{C.T=x}},W.unstable_useCacheRefresh=function(){return C.H.useCacheRefresh()},W.use=function(m){return C.H.use(m)},W.useActionState=function(m,x,k){return C.H.useActionState(m,x,k)},W.useCallback=function(m,x){return C.H.useCallback(m,x)},W.useContext=function(m){return C.H.useContext(m)},W.useDebugValue=function(){},W.useDeferredValue=function(m,x){return C.H.useDeferredValue(m,x)},W.useEffect=function(m,x,k){var N=C.H;if(typeof k=="function")throw Error("useEffect CRUD overload is not enabled in this build of React.");return N.useEffect(m,x)},W.useId=function(){return C.H.useId()},W.useImperativeHandle=function(m,x,k){return C.H.useImperativeHandle(m,x,k)},W.useInsertionEffect=function(m,x){return C.H.useInsertionEffect(m,x)},W.useLayoutEffect=function(m,x){return C.H.useLayoutEffect(m,x)},W.useMemo=function(m,x){return C.H.useMemo(m,x)},W.useOptimistic=function(m,x){return C.H.useOptimistic(m,x)},W.useReducer=function(m,x,k){return C.H.useReducer(m,x,k)},W.useRef=function(m){return C.H.useRef(m)},W.useState=function(m){return C.H.useState(m)},W.useSyncExternalStore=function(m,x,k){return C.H.useSyncExternalStore(m,x,k)},W.useTransition=function(){return C.H.useTransition()},W.version="19.1.0",W}var Ur;function Pa(){return Ur||(Ur=1,Wt.exports=Ca()),Wt.exports}var c=Pa();const La=xa(c),ml=Sa({__proto__:null,default:La},[c]);var rt={},zr;function _a(){if(zr)return rt;zr=1,Object.defineProperty(rt,"__esModule",{value:!0}),rt.parse=l,rt.serialize=u;const e=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,t=/^[\u0021-\u003A\u003C-\u007E]*$/,r=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,a=/^[\u0020-\u003A\u003D-\u007E]*$/,n=Object.prototype.toString,o=(()=>{const h=function(){};return h.prototype=Object.create(null),h})();function l(h,g){const w=new o,b=h.length;if(b<2)return w;const S=g?.decode||f;let E=0;do{const L=h.indexOf("=",E);if(L===-1)break;const _=h.indexOf(";",E),M=_===-1?b:_;if(L>M){E=h.lastIndexOf(";",L-1)+1;continue}const C=s(h,E,L),y=i(h,L,C),F=h.slice(C,y);if(w[F]===void 0){let J=s(h,L+1,M),j=i(h,M,J);const X=S(h.slice(J,j));w[F]=X}E=M+1}while(E<b);return w}function s(h,g,w){do{const b=h.charCodeAt(g);if(b!==32&&b!==9)return g}while(++g<w);return w}function i(h,g,w){for(;g>w;){const b=h.charCodeAt(--g);if(b!==32&&b!==9)return g+1}return w}function u(h,g,w){const b=w?.encode||encodeURIComponent;if(!e.test(h))throw new TypeError(`argument name is invalid: ${h}`);const S=b(g);if(!t.test(S))throw new TypeError(`argument val is invalid: ${g}`);let E=h+"="+S;if(!w)return E;if(w.maxAge!==void 0){if(!Number.isInteger(w.maxAge))throw new TypeError(`option maxAge is invalid: ${w.maxAge}`);E+="; Max-Age="+w.maxAge}if(w.domain){if(!r.test(w.domain))throw new TypeError(`option domain is invalid: ${w.domain}`);E+="; Domain="+w.domain}if(w.path){if(!a.test(w.path))throw new TypeError(`option path is invalid: ${w.path}`);E+="; Path="+w.path}if(w.expires){if(!p(w.expires)||!Number.isFinite(w.expires.valueOf()))throw new TypeError(`option expires is invalid: ${w.expires}`);E+="; Expires="+w.expires.toUTCString()}if(w.httpOnly&&(E+="; HttpOnly"),w.secure&&(E+="; Secure"),w.partitioned&&(E+="; Partitioned"),w.priority)switch(typeof w.priority=="string"?w.priority.toLowerCase():void 0){case"low":E+="; Priority=Low";break;case"medium":E+="; Priority=Medium";break;case"high":E+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${w.priority}`)}if(w.sameSite)switch(typeof w.sameSite=="string"?w.sameSite.toLowerCase():w.sameSite){case!0:case"strict":E+="; SameSite=Strict";break;case"lax":E+="; SameSite=Lax";break;case"none":E+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${w.sameSite}`)}return E}function f(h){if(h.indexOf("%")===-1)return h;try{return decodeURIComponent(h)}catch{return h}}function p(h){return n.call(h)==="[object Date]"}return rt}_a();/**
|
|
10
|
+
* react-router v7.6.3
|
|
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
|
+
*/var pn=e=>{throw TypeError(e)},Ma=(e,t,r)=>t.has(e)||pn("Cannot "+r),Yt=(e,t,r)=>(Ma(e,t,"read from private field"),r?r.call(e):t.get(e)),Ta=(e,t,r)=>t.has(e)?pn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Br="popstate";function pl(e={}){function t(a,n){let{pathname:o,search:l,hash:s}=a.location;return st("",{pathname:o,search:l,hash:s},n.state&&n.state.usr||null,n.state&&n.state.key||"default")}function r(a,n){return typeof n=="string"?n:Ae(n)}return Oa(t,r,null,e)}function z(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function ne(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Da(){return Math.random().toString(36).substring(2,10)}function Wr(e,t){return{usr:e.state,key:e.key,idx:t}}function st(e,t,r=null,a){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?Ne(t):t,state:r,key:t&&t.key||a||Da()}}function Ae({pathname:e="/",search:t="",hash:r=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),r&&r!=="#"&&(e+=r.charAt(0)==="#"?r:"#"+r),e}function Ne(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substring(r),e=e.substring(0,r));let a=e.indexOf("?");a>=0&&(t.search=e.substring(a),e=e.substring(0,a)),e&&(t.pathname=e)}return t}function Oa(e,t,r,a={}){let{window:n=document.defaultView,v5Compat:o=!1}=a,l=n.history,s="POP",i=null,u=f();u==null&&(u=0,l.replaceState({...l.state,idx:u},""));function f(){return(l.state||{idx:null}).idx}function p(){s="POP";let S=f(),E=S==null?null:S-u;u=S,i&&i({action:s,location:b.location,delta:E})}function h(S,E){s="PUSH";let L=st(b.location,S,E);u=f()+1;let _=Wr(L,u),M=b.createHref(L);try{l.pushState(_,"",M)}catch(C){if(C instanceof DOMException&&C.name==="DataCloneError")throw C;n.location.assign(M)}o&&i&&i({action:s,location:b.location,delta:1})}function g(S,E){s="REPLACE";let L=st(b.location,S,E);u=f();let _=Wr(L,u),M=b.createHref(L);l.replaceState(_,"",M),o&&i&&i({action:s,location:b.location,delta:0})}function w(S){return yn(S)}let b={get action(){return s},get location(){return e(n,l)},listen(S){if(i)throw new Error("A history only accepts one active listener");return n.addEventListener(Br,p),i=S,()=>{n.removeEventListener(Br,p),i=null}},createHref(S){return t(n,S)},createURL:w,encodeLocation(S){let E=w(S);return{pathname:E.pathname,search:E.search,hash:E.hash}},push:h,replace:g,go(S){return l.go(S)}};return b}function yn(e,t=!1){let r="http://localhost";typeof window<"u"&&(r=window.location.origin!=="null"?window.location.origin:window.location.href),z(r,"No window.location.(origin|href) available to create URL");let a=typeof e=="string"?e:Ae(e);return a=a.replace(/ $/,"%20"),!t&&a.startsWith("//")&&(a=r+a),new URL(a,r)}var it,Yr=class{constructor(e){if(Ta(this,it,new Map),e)for(let[t,r]of e)this.set(t,r)}get(e){if(Yt(this,it).has(e))return Yt(this,it).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw new Error("No value found for context")}set(e,t){Yt(this,it).set(e,t)}};it=new WeakMap;var Aa=new Set(["lazy","caseSensitive","path","id","index","children"]);function ka(e){return Aa.has(e)}var Na=new Set(["lazy","caseSensitive","path","id","index","unstable_middleware","children"]);function Ia(e){return Na.has(e)}function Fa(e){return e.index===!0}function _t(e,t,r=[],a={}){return e.map((n,o)=>{let l=[...r,String(o)],s=typeof n.id=="string"?n.id:l.join("-");if(z(n.index!==!0||!n.children,"Cannot specify children on an index route"),z(!a[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),Fa(n)){let i={...n,...t(n),id:s};return a[s]=i,i}else{let i={...n,...t(n),id:s,children:void 0};return a[s]=i,n.children&&(i.children=_t(n.children,t,l,a)),i}})}function Pe(e,t,r="/"){return St(e,t,r,!1)}function St(e,t,r,a){let n=typeof t=="string"?Ne(t):t,o=ge(n.pathname||"/",r);if(o==null)return null;let l=gn(e);$a(l);let s=null;for(let i=0;s==null&&i<l.length;++i){let u=Ka(o);s=Ja(l[i],u,a)}return s}function vn(e,t){let{route:r,pathname:a,params:n}=e;return{id:r.id,pathname:a,params:n,data:t[r.id],handle:r.handle}}function gn(e,t=[],r=[],a=""){let n=(o,l,s)=>{let i={relativePath:s===void 0?o.path||"":s,caseSensitive:o.caseSensitive===!0,childrenIndex:l,route:o};i.relativePath.startsWith("/")&&(z(i.relativePath.startsWith(a),`Absolute route path "${i.relativePath}" nested under path "${a}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),i.relativePath=i.relativePath.slice(a.length));let u=Le([a,i.relativePath]),f=r.concat(i);o.children&&o.children.length>0&&(z(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${u}".`),gn(o.children,t,f,u)),!(o.path==null&&!o.index)&&t.push({path:u,score:Ya(u,o.index),routesMeta:f})};return e.forEach((o,l)=>{if(o.path===""||!o.path?.includes("?"))n(o,l);else for(let s of wn(o.path))n(o,l,s)}),t}function wn(e){let t=e.split("/");if(t.length===0)return[];let[r,...a]=t,n=r.endsWith("?"),o=r.replace(/\?$/,"");if(a.length===0)return n?[o,""]:[o];let l=wn(a.join("/")),s=[];return s.push(...l.map(i=>i===""?o:[o,i].join("/"))),n&&s.push(...l),s.map(i=>e.startsWith("/")&&i===""?"/":i)}function $a(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:Va(t.routesMeta.map(a=>a.childrenIndex),r.routesMeta.map(a=>a.childrenIndex)))}var ja=/^:[\w-]+$/,Ha=3,Ua=2,za=1,Ba=10,Wa=-2,Vr=e=>e==="*";function Ya(e,t){let r=e.split("/"),a=r.length;return r.some(Vr)&&(a+=Wa),t&&(a+=Ua),r.filter(n=>!Vr(n)).reduce((n,o)=>n+(ja.test(o)?Ha:o===""?za:Ba),a)}function Va(e,t){return e.length===t.length&&e.slice(0,-1).every((a,n)=>a===t[n])?e[e.length-1]-t[t.length-1]:0}function Ja(e,t,r=!1){let{routesMeta:a}=e,n={},o="/",l=[];for(let s=0;s<a.length;++s){let i=a[s],u=s===a.length-1,f=o==="/"?t:t.slice(o.length)||"/",p=Mt({path:i.relativePath,caseSensitive:i.caseSensitive,end:u},f),h=i.route;if(!p&&u&&r&&!a[a.length-1].route.index&&(p=Mt({path:i.relativePath,caseSensitive:i.caseSensitive,end:!1},f)),!p)return null;Object.assign(n,p.params),l.push({params:n,pathname:Le([o,p.pathname]),pathnameBase:qa(Le([o,p.pathnameBase])),route:h}),p.pathnameBase!=="/"&&(o=Le([o,p.pathnameBase]))}return l}function Mt(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,a]=En(e.path,e.caseSensitive,e.end),n=t.match(r);if(!n)return null;let o=n[0],l=o.replace(/(.)\/+$/,"$1"),s=n.slice(1);return{params:a.reduce((u,{paramName:f,isOptional:p},h)=>{if(f==="*"){let w=s[h]||"";l=o.slice(0,o.length-w.length).replace(/(.)\/+$/,"$1")}const g=s[h];return p&&!g?u[f]=void 0:u[f]=(g||"").replace(/%2F/g,"/"),u},{}),pathname:o,pathnameBase:l,pattern:e}}function En(e,t=!1,r=!0){ne(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 a=[],n="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,s,i)=>(a.push({paramName:s,isOptional:i!=null}),i?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(a.push({paramName:"*"}),n+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?n+="\\/*$":e!==""&&e!=="/"&&(n+="(?:(?=\\/|$))"),[new RegExp(n,t?void 0:"i"),a]}function Ka(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return ne(!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 ge(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,a=e.charAt(r);return a&&a!=="/"?null:e.slice(r)||"/"}function Ga(e,t="/"){let{pathname:r,search:a="",hash:n=""}=typeof e=="string"?Ne(e):e;return{pathname:r?r.startsWith("/")?r:Xa(r,t):t,search:Qa(a),hash:Za(n)}}function Xa(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(n=>{n===".."?r.length>1&&r.pop():n!=="."&&r.push(n)}),r.length>1?r.join("/"):"/"}function Vt(e,t,r,a){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(a)}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Rn(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function cr(e){let t=Rn(e);return t.map((r,a)=>a===t.length-1?r.pathname:r.pathnameBase)}function dr(e,t,r,a=!1){let n;typeof e=="string"?n=Ne(e):(n={...e},z(!n.pathname||!n.pathname.includes("?"),Vt("?","pathname","search",n)),z(!n.pathname||!n.pathname.includes("#"),Vt("#","pathname","hash",n)),z(!n.search||!n.search.includes("#"),Vt("#","search","hash",n)));let o=e===""||n.pathname==="",l=o?"/":n.pathname,s;if(l==null)s=r;else{let p=t.length-1;if(!a&&l.startsWith("..")){let h=l.split("/");for(;h[0]==="..";)h.shift(),p-=1;n.pathname=h.join("/")}s=p>=0?t[p]:"/"}let i=Ga(n,s),u=l&&l!=="/"&&l.endsWith("/"),f=(o||l===".")&&r.endsWith("/");return!i.pathname.endsWith("/")&&(u||f)&&(i.pathname+="/"),i}var Le=e=>e.join("/").replace(/\/\/+/g,"/"),qa=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Qa=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Za=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,eo=class{constructor(e,t){this.type="DataWithResponseInit",this.data=e,this.init=t||null}};function to(e,t){return new eo(e,typeof t=="number"?{status:t}:t)}var ro=(e,t=302)=>{let r=t;typeof r=="number"?r={status:r}:typeof r.status>"u"&&(r.status=302);let a=new Headers(r.headers);return a.set("Location",e),new Response(null,{...r,headers:a})},ke=class{constructor(e,t,r,a=!1){this.status=e,this.statusText=t||"",this.internal=a,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function ze(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}var bn=["POST","PUT","PATCH","DELETE"],no=new Set(bn),ao=["GET",...bn],oo=new Set(ao),io=new Set([301,302,303,307,308]),lo=new Set([307,308]),Jt={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Sn={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},nt={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},fr=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,so=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),xn="remix-router-transitions",Cn=Symbol("ResetLoaderData");function yl(e){const t=e.window?e.window:typeof window<"u"?window:void 0,r=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u";z(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let a=e.hydrationRouteProperties||[],n=e.mapRouteProperties||so,o={},l=_t(e.routes,n,void 0,o),s,i=e.basename||"/",u=e.dataStrategy||mo,f={unstable_middleware:!1,...e.future},p=null,h=new Set,g=null,w=null,b=null,S=e.hydrationData!=null,E=Pe(l,e.history.location,i),L=!1,_=null,M;if(E==null&&!e.patchRoutesOnNavigation){let d=Re(404,{pathname:e.history.location.pathname}),{matches:v,route:R}=an(l);M=!0,E=v,_={[R.id]:d}}else if(E&&!e.hydrationData&&mt(E,l,e.history.location.pathname).active&&(E=null),E)if(E.some(d=>d.route.lazy))M=!1;else if(!E.some(d=>d.route.loader))M=!0;else{let d=e.hydrationData?e.hydrationData.loaderData:null,v=e.hydrationData?e.hydrationData.errors:null;if(v){let R=E.findIndex(P=>v[P.route.id]!==void 0);M=E.slice(0,R+1).every(P=>!er(P.route,d,v))}else M=E.every(R=>!er(R.route,d,v))}else{M=!1,E=[];let d=mt(null,l,e.history.location.pathname);d.active&&d.matches&&(L=!0,E=d.matches)}let C,y={historyAction:e.history.action,location:e.history.location,matches:E,initialized:M,navigation:Jt,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||_,fetchers:new Map,blockers:new Map},F="POP",J=!1,j,X=!1,le=new Map,ce=null,q=!1,Z=!1,re=new Set,K=new Map,he=0,se=-1,me=new Map,m=new Set,x=new Map,k=new Map,N=new Set,Y=new Map,ee,B=null;function Ce(){if(p=e.history.listen(({action:d,location:v,delta:R})=>{if(ee){ee(),ee=void 0;return}ne(Y.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 P=Ir({currentLocation:y.location,nextLocation:v,historyAction:d});if(P&&R!=null){let T=new Promise(A=>{ee=A});e.history.go(R*-1),ht(P,{state:"blocked",location:v,proceed(){ht(P,{state:"proceeding",proceed:void 0,reset:void 0,location:v}),T.then(()=>e.history.go(R))},reset(){let A=new Map(y.blockers);A.set(P,nt),de({blockers:A})}});return}return Ie(d,v)}),r){Co(t,le);let d=()=>Po(t,le);t.addEventListener("pagehide",d),ce=()=>t.removeEventListener("pagehide",d)}return y.initialized||Ie("POP",y.location,{initialHydration:!0}),C}function ae(){p&&p(),ce&&ce(),h.clear(),j&&j.abort(),y.fetchers.forEach((d,v)=>Ht(v)),y.blockers.forEach((d,v)=>Nr(v))}function $t(d){return h.add(d),()=>h.delete(d)}function de(d,v={}){y={...y,...d};let R=[],P=[];y.fetchers.forEach((T,A)=>{T.state==="idle"&&(N.has(A)?R.push(A):P.push(A))}),N.forEach(T=>{!y.fetchers.has(T)&&!K.has(T)&&R.push(T)}),[...h].forEach(T=>T(y,{deletedFetchers:R,viewTransitionOpts:v.viewTransitionOpts,flushSync:v.flushSync===!0})),R.forEach(T=>Ht(T)),P.forEach(T=>y.fetchers.delete(T))}function Ye(d,v,{flushSync:R}={}){let P=y.actionData!=null&&y.navigation.formMethod!=null&&ve(y.navigation.formMethod)&&y.navigation.state==="loading"&&d.state?._isRedirect!==!0,T;v.actionData?Object.keys(v.actionData).length>0?T=v.actionData:T=null:P?T=y.actionData:T=null;let A=v.loaderData?rn(y.loaderData,v.loaderData,v.matches||[],v.errors):y.loaderData,$=y.blockers;$.size>0&&($=new Map($),$.forEach((O,U)=>$.set(U,nt)));let D=J===!0||y.navigation.formMethod!=null&&ve(y.navigation.formMethod)&&d.state?._isRedirect!==!0;s&&(l=s,s=void 0),q||F==="POP"||(F==="PUSH"?e.history.push(d,d.state):F==="REPLACE"&&e.history.replace(d,d.state));let I;if(F==="POP"){let O=le.get(y.location.pathname);O&&O.has(d.pathname)?I={currentLocation:y.location,nextLocation:d}:le.has(d.pathname)&&(I={currentLocation:d,nextLocation:y.location})}else if(X){let O=le.get(y.location.pathname);O?O.add(d.pathname):(O=new Set([d.pathname]),le.set(y.location.pathname,O)),I={currentLocation:y.location,nextLocation:d}}de({...v,actionData:T,loaderData:A,historyAction:F,location:d,initialized:!0,navigation:Jt,revalidation:"idle",restoreScrollPosition:$r(d,v.matches||y.matches),preventScrollReset:D,blockers:$},{viewTransitionOpts:I,flushSync:R===!0}),F="POP",J=!1,X=!1,q=!1,Z=!1,B?.resolve(),B=null}async function _r(d,v){if(typeof d=="number"){e.history.go(d);return}let R=Zt(y.location,y.matches,i,d,v?.fromRouteId,v?.relative),{path:P,submission:T,error:A}=Jr(!1,R,v),$=y.location,D=st(y.location,P,v&&v.state);D={...D,...e.history.encodeLocation(D)};let I=v&&v.replace!=null?v.replace:void 0,O="PUSH";I===!0?O="REPLACE":I===!1||T!=null&&ve(T.formMethod)&&T.formAction===y.location.pathname+y.location.search&&(O="REPLACE");let U=v&&"preventScrollReset"in v?v.preventScrollReset===!0:void 0,H=(v&&v.flushSync)===!0,V=Ir({currentLocation:$,nextLocation:D,historyAction:O});if(V){ht(V,{state:"blocked",location:D,proceed(){ht(V,{state:"proceeding",proceed:void 0,reset:void 0,location:D}),_r(d,v)},reset(){let te=new Map(y.blockers);te.set(V,nt),de({blockers:te})}});return}await Ie(O,D,{submission:T,pendingError:A,preventScrollReset:U,replace:v&&v.replace,enableViewTransition:v&&v.viewTransition,flushSync:H})}function ua(){B||(B=Lo()),jt(),de({revalidation:"loading"});let d=B.promise;return y.navigation.state==="submitting"?d:y.navigation.state==="idle"?(Ie(y.historyAction,y.location,{startUninterruptedRevalidation:!0}),d):(Ie(F||y.historyAction,y.navigation.location,{overrideNavigation:y.navigation,enableViewTransition:X===!0}),d)}async function Ie(d,v,R){j&&j.abort(),j=null,F=d,q=(R&&R.startUninterruptedRevalidation)===!0,wa(y.location,y.matches),J=(R&&R.preventScrollReset)===!0,X=(R&&R.enableViewTransition)===!0;let P=s||l,T=R&&R.overrideNavigation,A=R?.initialHydration&&y.matches&&y.matches.length>0&&!L?y.matches:Pe(P,v,i),$=(R&&R.flushSync)===!0;if(A&&y.initialized&&!Z&&Eo(y.location,v)&&!(R&&R.submission&&ve(R.submission.formMethod))){Ye(v,{matches:A},{flushSync:$});return}let D=mt(A,P,v.pathname);if(D.active&&D.matches&&(A=D.matches),!A){let{error:ue,notFoundMatches:pe,route:G}=Ut(v.pathname);Ye(v,{matches:pe,loaderData:{},errors:{[G.id]:ue}},{flushSync:$});return}j=new AbortController;let I=Je(e.history,v,j.signal,R&&R.submission),O=new Yr(e.unstable_getContext?await e.unstable_getContext():void 0),U;if(R&&R.pendingError)U=[He(A).route.id,{type:"error",error:R.pendingError}];else if(R&&R.submission&&ve(R.submission.formMethod)){let ue=await ca(I,v,R.submission,A,O,D.active,R&&R.initialHydration===!0,{replace:R.replace,flushSync:$});if(ue.shortCircuited)return;if(ue.pendingActionResult){let[pe,G]=ue.pendingActionResult;if(ye(G)&&ze(G.error)&&G.error.status===404){j=null,Ye(v,{matches:ue.matches,loaderData:{},errors:{[pe]:G.error}});return}}A=ue.matches||A,U=ue.pendingActionResult,T=Kt(v,R.submission),$=!1,D.active=!1,I=Je(e.history,I.url,I.signal)}let{shortCircuited:H,matches:V,loaderData:te,errors:ie}=await da(I,v,A,O,D.active,T,R&&R.submission,R&&R.fetcherSubmission,R&&R.replace,R&&R.initialHydration===!0,$,U);H||(j=null,Ye(v,{matches:V||A,...nn(U),loaderData:te,errors:ie}))}async function ca(d,v,R,P,T,A,$,D={}){jt();let I=So(v,R);if(de({navigation:I},{flushSync:D.flushSync===!0}),A){let H=await pt(P,v.pathname,d.signal);if(H.type==="aborted")return{shortCircuited:!0};if(H.type==="error"){let V=He(H.partialMatches).route.id;return{matches:H.partialMatches,pendingActionResult:[V,{type:"error",error:H.error}]}}else if(H.matches)P=H.matches;else{let{notFoundMatches:V,error:te,route:ie}=Ut(v.pathname);return{matches:V,pendingActionResult:[ie.id,{type:"error",error:te}]}}}let O,U=lt(P,v);if(!U.route.action&&!U.route.lazy)O={type:"error",error:Re(405,{method:d.method,pathname:v.pathname,routeId:U.route.id})};else{let H=Ke(n,o,d,P,U,$?[]:a,T),V=await qe(d,H,T,null);if(O=V[U.route.id],!O){for(let te of P)if(V[te.route.id]){O=V[te.route.id];break}}if(d.signal.aborted)return{shortCircuited:!0}}if(Ue(O)){let H;return D&&D.replace!=null?H=D.replace:H=Zr(O.response.headers.get("Location"),new URL(d.url),i)===y.location.pathname+y.location.search,await Fe(d,O,!0,{submission:R,replace:H}),{shortCircuited:!0}}if(ye(O)){let H=He(P,U.route.id);return(D&&D.replace)!==!0&&(F="PUSH"),{matches:P,pendingActionResult:[H.route.id,O,U.route.id]}}return{matches:P,pendingActionResult:[U.route.id,O]}}async function da(d,v,R,P,T,A,$,D,I,O,U,H){let V=A||Kt(v,$),te=$||D||on(V),ie=!q&&!O;if(T){if(ie){let Ee=Mr(H);de({navigation:V,...Ee!==void 0?{actionData:Ee}:{}},{flushSync:U})}let Q=await pt(R,v.pathname,d.signal);if(Q.type==="aborted")return{shortCircuited:!0};if(Q.type==="error"){let Ee=He(Q.partialMatches).route.id;return{matches:Q.partialMatches,loaderData:{},errors:{[Ee]:Q.error}}}else if(Q.matches)R=Q.matches;else{let{error:Ee,notFoundMatches:De,route:vt}=Ut(v.pathname);return{matches:De,loaderData:{},errors:{[vt.id]:Ee}}}}let ue=s||l,{dsMatches:pe,revalidatingFetchers:G}=Kr(d,P,n,o,e.history,y,R,te,v,O?[]:a,O===!0,Z,re,N,x,m,ue,i,e.patchRoutesOnNavigation!=null,H);if(se=++he,!e.dataStrategy&&!pe.some(Q=>Q.shouldLoad)&&G.length===0){let Q=Ar();return Ye(v,{matches:R,loaderData:{},errors:H&&ye(H[1])?{[H[0]]:H[1].error}:null,...nn(H),...Q?{fetchers:new Map(y.fetchers)}:{}},{flushSync:U}),{shortCircuited:!0}}if(ie){let Q={};if(!T){Q.navigation=V;let Ee=Mr(H);Ee!==void 0&&(Q.actionData=Ee)}G.length>0&&(Q.fetchers=fa(G)),de(Q,{flushSync:U})}G.forEach(Q=>{Te(Q.key),Q.controller&&K.set(Q.key,Q.controller)});let Qe=()=>G.forEach(Q=>Te(Q.key));j&&j.signal.addEventListener("abort",Qe);let{loaderResults:$e,fetcherResults:Ze}=await Tr(pe,G,d,P);if(d.signal.aborted)return{shortCircuited:!0};j&&j.signal.removeEventListener("abort",Qe),G.forEach(Q=>K.delete(Q.key));let we=gt($e);if(we)return await Fe(d,we.result,!0,{replace:I}),{shortCircuited:!0};if(we=gt(Ze),we)return m.add(we.key),await Fe(d,we.result,!0,{replace:I}),{shortCircuited:!0};let{loaderData:et,errors:tt}=tn(y,R,$e,H,G,Ze);O&&y.errors&&(tt={...y.errors,...tt});let zt=Ar(),je=kr(se),yt=zt||je||G.length>0;return{matches:R,loaderData:et,errors:tt,...yt?{fetchers:new Map(y.fetchers)}:{}}}function Mr(d){if(d&&!ye(d[1]))return{[d[0]]:d[1].data};if(y.actionData)return Object.keys(y.actionData).length===0?null:y.actionData}function fa(d){return d.forEach(v=>{let R=y.fetchers.get(v.key),P=at(void 0,R?R.data:void 0);y.fetchers.set(v.key,P)}),new Map(y.fetchers)}async function ha(d,v,R,P){Te(d);let T=(P&&P.flushSync)===!0,A=s||l,$=Zt(y.location,y.matches,i,R,v,P?.relative),D=Pe(A,$,i),I=mt(D,A,$);if(I.active&&I.matches&&(D=I.matches),!D){_e(d,v,Re(404,{pathname:$}),{flushSync:T});return}let{path:O,submission:U,error:H}=Jr(!0,$,P);if(H){_e(d,v,H,{flushSync:T});return}let V=lt(D,O),te=new Yr(e.unstable_getContext?await e.unstable_getContext():void 0),ie=(P&&P.preventScrollReset)===!0;if(U&&ve(U.formMethod)){await ma(d,v,O,V,D,te,I.active,T,ie,U);return}x.set(d,{routeId:v,path:O}),await pa(d,v,O,V,D,te,I.active,T,ie,U)}async function ma(d,v,R,P,T,A,$,D,I,O){jt(),x.delete(d);function U(oe){if(!oe.route.action&&!oe.route.lazy){let Ve=Re(405,{method:O.formMethod,pathname:R,routeId:v});return _e(d,v,Ve,{flushSync:D}),!0}return!1}if(!$&&U(P))return;let H=y.fetchers.get(d);Me(d,xo(O,H),{flushSync:D});let V=new AbortController,te=Je(e.history,R,V.signal,O);if($){let oe=await pt(T,R,te.signal,d);if(oe.type==="aborted")return;if(oe.type==="error"){_e(d,v,oe.error,{flushSync:D});return}else if(oe.matches){if(T=oe.matches,P=lt(T,R),U(P))return}else{_e(d,v,Re(404,{pathname:R}),{flushSync:D});return}}K.set(d,V);let ie=he,ue=Ke(n,o,te,T,P,a,A),G=(await qe(te,ue,A,d))[P.route.id];if(te.signal.aborted){K.get(d)===V&&K.delete(d);return}if(N.has(d)){if(Ue(G)||ye(G)){Me(d,Oe(void 0));return}}else{if(Ue(G))if(K.delete(d),se>ie){Me(d,Oe(void 0));return}else return m.add(d),Me(d,at(O)),Fe(te,G,!1,{fetcherSubmission:O,preventScrollReset:I});if(ye(G)){_e(d,v,G.error);return}}let Qe=y.navigation.location||y.location,$e=Je(e.history,Qe,V.signal),Ze=s||l,we=y.navigation.state!=="idle"?Pe(Ze,y.navigation.location,i):y.matches;z(we,"Didn't find any matches after fetcher action");let et=++he;me.set(d,et);let tt=at(O,G.data);y.fetchers.set(d,tt);let{dsMatches:zt,revalidatingFetchers:je}=Kr($e,A,n,o,e.history,y,we,O,Qe,a,!1,Z,re,N,x,m,Ze,i,e.patchRoutesOnNavigation!=null,[P.route.id,G]);je.filter(oe=>oe.key!==d).forEach(oe=>{let Ve=oe.key,jr=y.fetchers.get(Ve),ba=at(void 0,jr?jr.data:void 0);y.fetchers.set(Ve,ba),Te(Ve),oe.controller&&K.set(Ve,oe.controller)}),de({fetchers:new Map(y.fetchers)});let yt=()=>je.forEach(oe=>Te(oe.key));V.signal.addEventListener("abort",yt);let{loaderResults:Q,fetcherResults:Ee}=await Tr(zt,je,$e,A);if(V.signal.aborted)return;if(V.signal.removeEventListener("abort",yt),me.delete(d),K.delete(d),je.forEach(oe=>K.delete(oe.key)),y.fetchers.has(d)){let oe=Oe(G.data);y.fetchers.set(d,oe)}let De=gt(Q);if(De)return Fe($e,De.result,!1,{preventScrollReset:I});if(De=gt(Ee),De)return m.add(De.key),Fe($e,De.result,!1,{preventScrollReset:I});let{loaderData:vt,errors:Bt}=tn(y,we,Q,void 0,je,Ee);kr(et),y.navigation.state==="loading"&&et>se?(z(F,"Expected pending action"),j&&j.abort(),Ye(y.navigation.location,{matches:we,loaderData:vt,errors:Bt,fetchers:new Map(y.fetchers)})):(de({errors:Bt,loaderData:rn(y.loaderData,vt,we,Bt),fetchers:new Map(y.fetchers)}),Z=!1)}async function pa(d,v,R,P,T,A,$,D,I,O){let U=y.fetchers.get(d);Me(d,at(O,U?U.data:void 0),{flushSync:D});let H=new AbortController,V=Je(e.history,R,H.signal);if($){let G=await pt(T,R,V.signal,d);if(G.type==="aborted")return;if(G.type==="error"){_e(d,v,G.error,{flushSync:D});return}else if(G.matches)T=G.matches,P=lt(T,R);else{_e(d,v,Re(404,{pathname:R}),{flushSync:D});return}}K.set(d,H);let te=he,ie=Ke(n,o,V,T,P,a,A),pe=(await qe(V,ie,A,d))[P.route.id];if(K.get(d)===H&&K.delete(d),!V.signal.aborted){if(N.has(d)){Me(d,Oe(void 0));return}if(Ue(pe))if(se>te){Me(d,Oe(void 0));return}else{m.add(d),await Fe(V,pe,!1,{preventScrollReset:I});return}if(ye(pe)){_e(d,v,pe.error);return}Me(d,Oe(pe.data))}}async function Fe(d,v,R,{submission:P,fetcherSubmission:T,preventScrollReset:A,replace:$}={}){v.response.headers.has("X-Remix-Revalidate")&&(Z=!0);let D=v.response.headers.get("Location");z(D,"Expected a Location header on the redirect Response"),D=Zr(D,new URL(d.url),i);let I=st(y.location,D,{_isRedirect:!0});if(r){let ie=!1;if(v.response.headers.has("X-Remix-Reload-Document"))ie=!0;else if(fr.test(D)){const ue=yn(D,!0);ie=ue.origin!==t.location.origin||ge(ue.pathname,i)==null}if(ie){$?t.location.replace(D):t.location.assign(D);return}}j=null;let O=$===!0||v.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:U,formAction:H,formEncType:V}=y.navigation;!P&&!T&&U&&H&&V&&(P=on(y.navigation));let te=P||T;if(lo.has(v.response.status)&&te&&ve(te.formMethod))await Ie(O,I,{submission:{...te,formAction:D},preventScrollReset:A||J,enableViewTransition:R?X:void 0});else{let ie=Kt(I,P);await Ie(O,I,{overrideNavigation:ie,fetcherSubmission:T,preventScrollReset:A||J,enableViewTransition:R?X:void 0})}}async function qe(d,v,R,P){let T,A={};try{T=await po(u,d,v,P,R,!1)}catch($){return v.filter(D=>D.shouldLoad).forEach(D=>{A[D.route.id]={type:"error",error:$}}),A}if(d.signal.aborted)return A;for(let[$,D]of Object.entries(T))if(Ro(D)){let I=D.result;A[$]={type:"redirect",response:go(I,d,$,v,i)}}else A[$]=await vo(D);return A}async function Tr(d,v,R,P){let T=qe(R,d,P,null),A=Promise.all(v.map(async I=>{if(I.matches&&I.match&&I.request&&I.controller){let U=(await qe(I.request,I.matches,P,I.key))[I.match.route.id];return{[I.key]:U}}else return Promise.resolve({[I.key]:{type:"error",error:Re(404,{pathname:I.path})}})})),$=await T,D=(await A).reduce((I,O)=>Object.assign(I,O),{});return{loaderResults:$,fetcherResults:D}}function jt(){Z=!0,x.forEach((d,v)=>{K.has(v)&&re.add(v),Te(v)})}function Me(d,v,R={}){y.fetchers.set(d,v),de({fetchers:new Map(y.fetchers)},{flushSync:(R&&R.flushSync)===!0})}function _e(d,v,R,P={}){let T=He(y.matches,v);Ht(d),de({errors:{[T.route.id]:R},fetchers:new Map(y.fetchers)},{flushSync:(P&&P.flushSync)===!0})}function Dr(d){return k.set(d,(k.get(d)||0)+1),N.has(d)&&N.delete(d),y.fetchers.get(d)||Sn}function Ht(d){let v=y.fetchers.get(d);K.has(d)&&!(v&&v.state==="loading"&&me.has(d))&&Te(d),x.delete(d),me.delete(d),m.delete(d),N.delete(d),re.delete(d),y.fetchers.delete(d)}function ya(d){let v=(k.get(d)||0)-1;v<=0?(k.delete(d),N.add(d)):k.set(d,v),de({fetchers:new Map(y.fetchers)})}function Te(d){let v=K.get(d);v&&(v.abort(),K.delete(d))}function Or(d){for(let v of d){let R=Dr(v),P=Oe(R.data);y.fetchers.set(v,P)}}function Ar(){let d=[],v=!1;for(let R of m){let P=y.fetchers.get(R);z(P,`Expected fetcher: ${R}`),P.state==="loading"&&(m.delete(R),d.push(R),v=!0)}return Or(d),v}function kr(d){let v=[];for(let[R,P]of me)if(P<d){let T=y.fetchers.get(R);z(T,`Expected fetcher: ${R}`),T.state==="loading"&&(Te(R),me.delete(R),v.push(R))}return Or(v),v.length>0}function va(d,v){let R=y.blockers.get(d)||nt;return Y.get(d)!==v&&Y.set(d,v),R}function Nr(d){y.blockers.delete(d),Y.delete(d)}function ht(d,v){let R=y.blockers.get(d)||nt;z(R.state==="unblocked"&&v.state==="blocked"||R.state==="blocked"&&v.state==="blocked"||R.state==="blocked"&&v.state==="proceeding"||R.state==="blocked"&&v.state==="unblocked"||R.state==="proceeding"&&v.state==="unblocked",`Invalid blocker state transition: ${R.state} -> ${v.state}`);let P=new Map(y.blockers);P.set(d,v),de({blockers:P})}function Ir({currentLocation:d,nextLocation:v,historyAction:R}){if(Y.size===0)return;Y.size>1&&ne(!1,"A router only supports one blocker at a time");let P=Array.from(Y.entries()),[T,A]=P[P.length-1],$=y.blockers.get(T);if(!($&&$.state==="proceeding")&&A({currentLocation:d,nextLocation:v,historyAction:R}))return T}function Ut(d){let v=Re(404,{pathname:d}),R=s||l,{matches:P,route:T}=an(R);return{notFoundMatches:P,route:T,error:v}}function ga(d,v,R){if(g=d,b=v,w=R||null,!S&&y.navigation===Jt){S=!0;let P=$r(y.location,y.matches);P!=null&&de({restoreScrollPosition:P})}return()=>{g=null,b=null,w=null}}function Fr(d,v){return w&&w(d,v.map(P=>vn(P,y.loaderData)))||d.key}function wa(d,v){if(g&&b){let R=Fr(d,v);g[R]=b()}}function $r(d,v){if(g){let R=Fr(d,v),P=g[R];if(typeof P=="number")return P}return null}function mt(d,v,R){if(e.patchRoutesOnNavigation)if(d){if(Object.keys(d[0].params).length>0)return{active:!0,matches:St(v,R,i,!0)}}else return{active:!0,matches:St(v,R,i,!0)||[]};return{active:!1,matches:null}}async function pt(d,v,R,P){if(!e.patchRoutesOnNavigation)return{type:"success",matches:d};let T=d;for(;;){let A=s==null,$=s||l,D=o;try{await e.patchRoutesOnNavigation({signal:R,path:v,matches:T,fetcherKey:P,patch:(U,H)=>{R.aborted||Gr(U,H,$,D,n)}})}catch(U){return{type:"error",error:U,partialMatches:T}}finally{A&&!R.aborted&&(l=[...l])}if(R.aborted)return{type:"aborted"};let I=Pe($,v,i);if(I)return{type:"success",matches:I};let O=St($,v,i,!0);if(!O||T.length===O.length&&T.every((U,H)=>U.route.id===O[H].route.id))return{type:"success",matches:null};T=O}}function Ea(d){o={},s=_t(d,n,void 0,o)}function Ra(d,v){let R=s==null;Gr(d,v,s||l,o,n),R&&(l=[...l],de({}))}return C={get basename(){return i},get future(){return f},get state(){return y},get routes(){return l},get window(){return t},initialize:Ce,subscribe:$t,enableScrollRestoration:ga,navigate:_r,fetch:ha,revalidate:ua,createHref:d=>e.history.createHref(d),encodeLocation:d=>e.history.encodeLocation(d),getFetcher:Dr,deleteFetcher:ya,dispose:ae,getBlocker:va,deleteBlocker:Nr,patchRoutes:Ra,_internalFetchControllers:K,_internalSetRoutes:Ea},C}function uo(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function Zt(e,t,r,a,n,o){let l,s;if(n){l=[];for(let u of t)if(l.push(u),u.route.id===n){s=u;break}}else l=t,s=t[t.length-1];let i=dr(a||".",cr(l),ge(e.pathname,r)||e.pathname,o==="path");if(a==null&&(i.search=e.search,i.hash=e.hash),(a==null||a===""||a===".")&&s){let u=mr(i.search);if(s.route.index&&!u)i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index";else if(!s.route.index&&u){let f=new URLSearchParams(i.search),p=f.getAll("index");f.delete("index"),p.filter(g=>g).forEach(g=>f.append("index",g));let h=f.toString();i.search=h?`?${h}`:""}}return r!=="/"&&(i.pathname=i.pathname==="/"?r:Le([r,i.pathname])),Ae(i)}function Jr(e,t,r){if(!r||!uo(r))return{path:t};if(r.formMethod&&!bo(r.formMethod))return{path:t,error:Re(405,{method:r.formMethod})};let a=()=>({path:t,error:Re(400,{type:"invalid-body"})}),o=(r.formMethod||"get").toUpperCase(),l=Dn(t);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!ve(o))return a();let p=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((h,[g,w])=>`${h}${g}=${w}
|
|
19
|
+
`,""):String(r.body);return{path:t,submission:{formMethod:o,formAction:l,formEncType:r.formEncType,formData:void 0,json:void 0,text:p}}}else if(r.formEncType==="application/json"){if(!ve(o))return a();try{let p=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:t,submission:{formMethod:o,formAction:l,formEncType:r.formEncType,formData:void 0,json:p,text:void 0}}}catch{return a()}}}z(typeof FormData=="function","FormData is not available in this environment");let s,i;if(r.formData)s=rr(r.formData),i=r.formData;else if(r.body instanceof FormData)s=rr(r.body),i=r.body;else if(r.body instanceof URLSearchParams)s=r.body,i=en(s);else if(r.body==null)s=new URLSearchParams,i=new FormData;else try{s=new URLSearchParams(r.body),i=en(s)}catch{return a()}let u={formMethod:o,formAction:l,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:i,json:void 0,text:void 0};if(ve(u.formMethod))return{path:t,submission:u};let f=Ne(t);return e&&f.search&&mr(f.search)&&s.append("index",""),f.search=`?${s}`,{path:Ae(f),submission:u}}function Kr(e,t,r,a,n,o,l,s,i,u,f,p,h,g,w,b,S,E,L,_){let M=_?ye(_[1])?_[1].error:_[1].data:void 0,C=n.createURL(o.location),y=n.createURL(i),F;if(f&&o.errors){let q=Object.keys(o.errors)[0];F=l.findIndex(Z=>Z.route.id===q)}else if(_&&ye(_[1])){let q=_[0];F=l.findIndex(Z=>Z.route.id===q)-1}let J=_?_[1].statusCode:void 0,j=J&&J>=400,X={currentUrl:C,currentParams:o.matches[0]?.params||{},nextUrl:y,nextParams:l[0].params,...s,actionResult:M,actionStatus:J},le=l.map((q,Z)=>{let{route:re}=q,K=null;if(F!=null&&Z>F?K=!1:re.lazy?K=!0:re.loader==null?K=!1:f?K=er(re,o.loaderData,o.errors):co(o.loaderData,o.matches[Z],q)&&(K=!0),K!==null)return tr(r,a,e,q,u,t,K);let he=j?!1:p||C.pathname+C.search===y.pathname+y.search||C.search!==y.search||fo(o.matches[Z],q),se={...X,defaultShouldRevalidate:he},me=Tt(q,se);return tr(r,a,e,q,u,t,me,se)}),ce=[];return w.forEach((q,Z)=>{if(f||!l.some(k=>k.route.id===q.routeId)||g.has(Z))return;let re=o.fetchers.get(Z),K=re&&re.state!=="idle"&&re.data===void 0,he=Pe(S,q.path,E);if(!he){if(L&&K)return;ce.push({key:Z,routeId:q.routeId,path:q.path,matches:null,match:null,request:null,controller:null});return}if(b.has(Z))return;let se=lt(he,q.path),me=new AbortController,m=Je(n,q.path,me.signal),x=null;if(h.has(Z))h.delete(Z),x=Ke(r,a,m,he,se,u,t);else if(K)p&&(x=Ke(r,a,m,he,se,u,t));else{let k={...X,defaultShouldRevalidate:j?!1:p};Tt(se,k)&&(x=Ke(r,a,m,he,se,u,t,k))}x&&ce.push({key:Z,routeId:q.routeId,path:q.path,matches:x,match:se,request:m,controller:me})}),{dsMatches:le,revalidatingFetchers:ce}}function er(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let a=t!=null&&e.id in t,n=r!=null&&r[e.id]!==void 0;return!a&&n?!1:typeof e.loader=="function"&&e.loader.hydrate===!0?!0:!a&&!n}function co(e,t,r){let a=!t||r.route.id!==t.route.id,n=!e.hasOwnProperty(r.route.id);return a||n}function fo(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Tt(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function Gr(e,t,r,a,n){let o;if(e){let i=a[e];z(i,`No route found to patch children into: routeId = ${e}`),i.children||(i.children=[]),o=i.children}else o=r;let l=t.filter(i=>!o.some(u=>Pn(i,u))),s=_t(l,n,[e||"_","patch",String(o?.length||"0")],a);o.push(...s)}function Pn(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((r,a)=>t.children?.some(n=>Pn(r,n))):!1}var Xr=new WeakMap,Ln=({key:e,route:t,manifest:r,mapRouteProperties:a})=>{let n=r[t.id];if(z(n,"No route found in manifest"),!n.lazy||typeof n.lazy!="object")return;let o=n.lazy[e];if(!o)return;let l=Xr.get(n);l||(l={},Xr.set(n,l));let s=l[e];if(s)return s;let i=(async()=>{let u=ka(e),p=n[e]!==void 0&&e!=="hasErrorBoundary";if(u)ne(!u,"Route property "+e+" is not a supported lazy route property. This property will be ignored."),l[e]=Promise.resolve();else if(p)ne(!1,`Route "${n.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let h=await o();h!=null&&(Object.assign(n,{[e]:h}),Object.assign(n,a(n)))}typeof n.lazy=="object"&&(n.lazy[e]=void 0,Object.values(n.lazy).every(h=>h===void 0)&&(n.lazy=void 0))})();return l[e]=i,i},qr=new WeakMap;function ho(e,t,r,a,n){let o=r[e.id];if(z(o,"No route found in manifest"),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy=="function"){let f=qr.get(o);if(f)return{lazyRoutePromise:f,lazyHandlerPromise:f};let p=(async()=>{z(typeof e.lazy=="function","No lazy route function found");let h=await e.lazy(),g={};for(let w in h){let b=h[w];if(b===void 0)continue;let S=Ia(w),L=o[w]!==void 0&&w!=="hasErrorBoundary";S?ne(!S,"Route property "+w+" is not a supported property to be returned from a lazy route function. This property will be ignored."):L?ne(!L,`Route "${o.id}" has a static property "${w}" defined but its lazy function is also returning a value for this property. The lazy route property "${w}" will be ignored.`):g[w]=b}Object.assign(o,g),Object.assign(o,{...a(o),lazy:void 0})})();return qr.set(o,p),p.catch(()=>{}),{lazyRoutePromise:p,lazyHandlerPromise:p}}let l=Object.keys(e.lazy),s=[],i;for(let f of l){if(n&&n.includes(f))continue;let p=Ln({key:f,route:e,manifest:r,mapRouteProperties:a});p&&(s.push(p),f===t&&(i=p))}let u=s.length>0?Promise.all(s).then(()=>{}):void 0;return u?.catch(()=>{}),i?.catch(()=>{}),{lazyRoutePromise:u,lazyHandlerPromise:i}}async function Qr(e){let t=e.matches.filter(n=>n.shouldLoad),r={};return(await Promise.all(t.map(n=>n.resolve()))).forEach((n,o)=>{r[t[o].route.id]=n}),r}async function mo(e){return e.matches.some(t=>t.route.unstable_middleware)?_n(e,!1,()=>Qr(e),(t,r)=>({[r]:{type:"error",result:t}})):Qr(e)}async function _n(e,t,r,a){let{matches:n,request:o,params:l,context:s}=e,i={handlerResult:void 0};try{let u=n.flatMap(p=>p.route.unstable_middleware?p.route.unstable_middleware.map(h=>[p.route.id,h]):[]),f=await Mn({request:o,params:l,context:s},u,t,i,r);return t?f:i.handlerResult}catch(u){if(!i.middlewareError)throw u;let f=await a(i.middlewareError.error,i.middlewareError.routeId);return i.handlerResult?Object.assign(i.handlerResult,f):f}}async function Mn(e,t,r,a,n,o=0){let{request:l}=e;if(l.signal.aborted)throw l.signal.reason?l.signal.reason:new Error(`Request aborted without an \`AbortSignal.reason\`: ${l.method} ${l.url}`);let s=t[o];if(!s)return a.handlerResult=await n(),a.handlerResult;let[i,u]=s,f=!1,p,h=async()=>{if(f)throw new Error("You may only call `next()` once per middleware");f=!0,await Mn(e,t,r,a,n,o+1)};try{let g=await u({request:e.request,params:e.params,context:e.context},h);return f?g===void 0?p:g:h()}catch(g){throw a.middlewareError?a.middlewareError.error!==g&&(a.middlewareError={routeId:i,error:g}):a.middlewareError={routeId:i,error:g},g}}function Tn(e,t,r,a,n){let o=Ln({key:"unstable_middleware",route:a.route,manifest:t,mapRouteProperties:e}),l=ho(a.route,ve(r.method)?"action":"loader",t,e,n);return{middleware:o,route:l.lazyRoutePromise,handler:l.lazyHandlerPromise}}function tr(e,t,r,a,n,o,l,s=null){let i=!1,u=Tn(e,t,r,a,n);return{...a,_lazyPromises:u,shouldLoad:l,unstable_shouldRevalidateArgs:s,unstable_shouldCallHandler(f){return i=!0,s?typeof f=="boolean"?Tt(a,{...s,defaultShouldRevalidate:f}):Tt(a,s):l},resolve(f){return i||l||f&&r.method==="GET"&&(a.route.lazy||a.route.loader)?yo({request:r,match:a,lazyHandlerPromise:u?.handler,lazyRoutePromise:u?.route,handlerOverride:f,scopedContext:o}):Promise.resolve({type:"data",result:void 0})}}}function Ke(e,t,r,a,n,o,l,s=null){return a.map(i=>i.route.id!==n.route.id?{...i,shouldLoad:!1,unstable_shouldRevalidateArgs:s,unstable_shouldCallHandler:()=>!1,_lazyPromises:Tn(e,t,r,i,o),resolve:()=>Promise.resolve({type:"data",result:void 0})}:tr(e,t,r,i,o,l,!0,s))}async function po(e,t,r,a,n,o){r.some(u=>u._lazyPromises?.middleware)&&await Promise.all(r.map(u=>u._lazyPromises?.middleware));let l={request:t,params:r[0].params,context:n,matches:r},i=await e({...l,fetcherKey:a,unstable_runClientMiddleware:u=>{let f=l;return _n(f,!1,()=>u({...f,fetcherKey:a,unstable_runClientMiddleware:()=>{throw new Error("Cannot call `unstable_runClientMiddleware()` from within an `unstable_runClientMiddleware` handler")}}),(p,h)=>({[h]:{type:"error",result:p}}))}});try{await Promise.all(r.flatMap(u=>[u._lazyPromises?.handler,u._lazyPromises?.route]))}catch{}return i}async function yo({request:e,match:t,lazyHandlerPromise:r,lazyRoutePromise:a,handlerOverride:n,scopedContext:o}){let l,s,i=ve(e.method),u=i?"action":"loader",f=p=>{let h,g=new Promise((S,E)=>h=E);s=()=>h(),e.signal.addEventListener("abort",s);let w=S=>typeof p!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${u}" [routeId: ${t.route.id}]`)):p({request:e,params:t.params,context:o},...S!==void 0?[S]:[]),b=(async()=>{try{return{type:"data",result:await(n?n(E=>w(E)):w())}}catch(S){return{type:"error",result:S}}})();return Promise.race([b,g])};try{let p=i?t.route.action:t.route.loader;if(r||a)if(p){let h,[g]=await Promise.all([f(p).catch(w=>{h=w}),r,a]);if(h!==void 0)throw h;l=g}else{await r;let h=i?t.route.action:t.route.loader;if(h)[l]=await Promise.all([f(h),a]);else if(u==="action"){let g=new URL(e.url),w=g.pathname+g.search;throw Re(405,{method:e.method,pathname:w,routeId:t.route.id})}else return{type:"data",result:void 0}}else if(p)l=await f(p);else{let h=new URL(e.url),g=h.pathname+h.search;throw Re(404,{pathname:g})}}catch(p){return{type:"error",result:p}}finally{s&&e.signal.removeEventListener("abort",s)}return l}async function vo(e){let{result:t,type:r}=e;if(hr(t)){let a;try{let n=t.headers.get("Content-Type");n&&/\bapplication\/json\b/.test(n)?t.body==null?a=null:a=await t.json():a=await t.text()}catch(n){return{type:"error",error:n}}return r==="error"?{type:"error",error:new ke(t.status,t.statusText,a),statusCode:t.status,headers:t.headers}:{type:"data",data:a,statusCode:t.status,headers:t.headers}}return r==="error"?nr(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:new ke(t.init?.status||500,void 0,t.data),statusCode:ze(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:t,statusCode:ze(t)?t.status:void 0}:nr(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 go(e,t,r,a,n){let o=e.headers.get("Location");if(z(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!fr.test(o)){let l=a.slice(0,a.findIndex(s=>s.route.id===r)+1);o=Zt(new URL(t.url),l,n,o),e.headers.set("Location",o)}return e}function Zr(e,t,r){if(fr.test(e)){let a=e,n=a.startsWith("//")?new URL(t.protocol+a):new URL(a),o=ge(n.pathname,r)!=null;if(n.origin===t.origin&&o)return n.pathname+n.search+n.hash}return e}function Je(e,t,r,a){let n=e.createURL(Dn(t)).toString(),o={signal:r};if(a&&ve(a.formMethod)){let{formMethod:l,formEncType:s}=a;o.method=l.toUpperCase(),s==="application/json"?(o.headers=new Headers({"Content-Type":s}),o.body=JSON.stringify(a.json)):s==="text/plain"?o.body=a.text:s==="application/x-www-form-urlencoded"&&a.formData?o.body=rr(a.formData):o.body=a.formData}return new Request(n,o)}function rr(e){let t=new URLSearchParams;for(let[r,a]of e.entries())t.append(r,typeof a=="string"?a:a.name);return t}function en(e){let t=new FormData;for(let[r,a]of e.entries())t.append(r,a);return t}function wo(e,t,r,a=!1,n=!1){let o={},l=null,s,i=!1,u={},f=r&&ye(r[1])?r[1].error:void 0;return e.forEach(p=>{if(!(p.route.id in t))return;let h=p.route.id,g=t[h];if(z(!Ue(g),"Cannot handle redirect results in processLoaderData"),ye(g)){let w=g.error;if(f!==void 0&&(w=f,f=void 0),l=l||{},n)l[h]=w;else{let b=He(e,h);l[b.route.id]==null&&(l[b.route.id]=w)}a||(o[h]=Cn),i||(i=!0,s=ze(g.error)?g.error.status:500),g.headers&&(u[h]=g.headers)}else o[h]=g.data,g.statusCode&&g.statusCode!==200&&!i&&(s=g.statusCode),g.headers&&(u[h]=g.headers)}),f!==void 0&&r&&(l={[r[0]]:f},r[2]&&(o[r[2]]=void 0)),{loaderData:o,errors:l,statusCode:s||200,loaderHeaders:u}}function tn(e,t,r,a,n,o){let{loaderData:l,errors:s}=wo(t,r,a);return n.filter(i=>!i.matches||i.matches.some(u=>u.shouldLoad)).forEach(i=>{let{key:u,match:f,controller:p}=i,h=o[u];if(z(h,"Did not find corresponding fetcher result"),!(p&&p.signal.aborted))if(ye(h)){let g=He(e.matches,f?.route.id);s&&s[g.route.id]||(s={...s,[g.route.id]:h.error}),e.fetchers.delete(u)}else if(Ue(h))z(!1,"Unhandled fetcher revalidation redirect");else{let g=Oe(h.data);e.fetchers.set(u,g)}}),{loaderData:l,errors:s}}function rn(e,t,r,a){let n=Object.entries(t).filter(([,o])=>o!==Cn).reduce((o,[l,s])=>(o[l]=s,o),{});for(let o of r){let l=o.route.id;if(!t.hasOwnProperty(l)&&e.hasOwnProperty(l)&&o.route.loader&&(n[l]=e[l]),a&&a.hasOwnProperty(l))break}return n}function nn(e){return e?ye(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function He(e,t){return(t?e.slice(0,e.findIndex(a=>a.route.id===t)+1):[...e]).reverse().find(a=>a.route.hasErrorBoundary===!0)||e[0]}function an(e){let t=e.length===1?e[0]:e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function Re(e,{pathname:t,routeId:r,method:a,type:n,message:o}={}){let l="Unknown Server Error",s="Unknown @remix-run/router error";return e===400?(l="Bad Request",a&&t&&r?s=`You made a ${a} request to "${t}" but did not provide a \`loader\` for route "${r}", so there is no way to handle the request.`:n==="invalid-body"&&(s="Unable to encode submission body")):e===403?(l="Forbidden",s=`Route "${r}" does not match URL "${t}"`):e===404?(l="Not Found",s=`No route matches URL "${t}"`):e===405&&(l="Method Not Allowed",a&&t&&r?s=`You made a ${a.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${r}", so there is no way to handle the request.`:a&&(s=`Invalid request method "${a.toUpperCase()}"`)),new ke(e||500,l,new Error(s),!0)}function gt(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[a,n]=t[r];if(Ue(n))return{key:a,result:n}}}function Dn(e){let t=typeof e=="string"?Ne(e):e;return Ae({...t,hash:""})}function Eo(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Ro(e){return hr(e.result)&&io.has(e.result.status)}function ye(e){return e.type==="error"}function Ue(e){return(e&&e.type)==="redirect"}function nr(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function hr(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function bo(e){return oo.has(e.toUpperCase())}function ve(e){return no.has(e.toUpperCase())}function mr(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function lt(e,t){let r=typeof t=="string"?Ne(t).search:t.search;if(e[e.length-1].route.index&&mr(r||""))return e[e.length-1];let a=Rn(e);return a[a.length-1]}function on(e){let{formMethod:t,formAction:r,formEncType:a,text:n,formData:o,json:l}=e;if(!(!t||!r||!a)){if(n!=null)return{formMethod:t,formAction:r,formEncType:a,formData:void 0,json:void 0,text:n};if(o!=null)return{formMethod:t,formAction:r,formEncType:a,formData:o,json:void 0,text:void 0};if(l!==void 0)return{formMethod:t,formAction:r,formEncType:a,formData:void 0,json:l,text:void 0}}}function Kt(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function So(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function at(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 xo(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 Oe(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 Co(e,t){try{let r=e.sessionStorage.getItem(xn);if(r){let a=JSON.parse(r);for(let[n,o]of Object.entries(a||{}))o&&Array.isArray(o)&&t.set(n,new Set(o||[]))}}catch{}}function Po(e,t){if(t.size>0){let r={};for(let[a,n]of t)r[a]=[...n];try{e.sessionStorage.setItem(xn,JSON.stringify(r))}catch(a){ne(!1,`Failed to save applied view transitions in sessionStorage (${a}).`)}}}function Lo(){let e,t,r=new Promise((a,n)=>{e=async o=>{a(o);try{await r}catch{}},t=async o=>{n(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}var Be=c.createContext(null);Be.displayName="DataRouter";var Ge=c.createContext(null);Ge.displayName="DataRouterState";var pr=c.createContext({isTransitioning:!1});pr.displayName="ViewTransition";var yr=c.createContext(new Map);yr.displayName="Fetchers";var Dt=c.createContext(null);Dt.displayName="Await";var be=c.createContext(null);be.displayName="Navigation";var At=c.createContext(null);At.displayName="Location";var Se=c.createContext({outlet:null,matches:[],isDataRoute:!1});Se.displayName="Route";var vr=c.createContext(null);vr.displayName="RouteError";function _o(e,{relative:t}={}){z(ct(),"useHref() may be used only in the context of a <Router> component.");let{basename:r,navigator:a}=c.useContext(be),{hash:n,pathname:o,search:l}=dt(e,{relative:t}),s=o;return r!=="/"&&(s=o==="/"?r:Le([r,o])),a.createHref({pathname:s,search:l,hash:n})}function ct(){return c.useContext(At)!=null}function xe(){return z(ct(),"useLocation() may be used only in the context of a <Router> component."),c.useContext(At).location}var On="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function An(e){c.useContext(be).static||c.useLayoutEffect(e)}function kn(){let{isDataRoute:e}=c.useContext(Se);return e?zo():Mo()}function Mo(){z(ct(),"useNavigate() may be used only in the context of a <Router> component.");let e=c.useContext(Be),{basename:t,navigator:r}=c.useContext(be),{matches:a}=c.useContext(Se),{pathname:n}=xe(),o=JSON.stringify(cr(a)),l=c.useRef(!1);return An(()=>{l.current=!0}),c.useCallback((i,u={})=>{if(ne(l.current,On),!l.current)return;if(typeof i=="number"){r.go(i);return}let f=dr(i,JSON.parse(o),n,u.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:Le([t,f.pathname])),(u.replace?r.replace:r.push)(f,u.state,u)},[t,r,o,n,e])}var To=c.createContext(null);function Do(e){let t=c.useContext(Se).outlet;return t&&c.createElement(To.Provider,{value:e},t)}function Nn(){let{matches:e}=c.useContext(Se),t=e[e.length-1];return t?t.params:{}}function dt(e,{relative:t}={}){let{matches:r}=c.useContext(Se),{pathname:a}=xe(),n=JSON.stringify(cr(r));return c.useMemo(()=>dr(e,JSON.parse(n),a,t==="path"),[e,n,a,t])}function Oo(e,t,r,a){z(ct(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:n}=c.useContext(be),{matches:o}=c.useContext(Se),l=o[o.length-1],s=l?l.params:{},i=l?l.pathname:"/",u=l?l.pathnameBase:"/",f=l&&l.route;{let E=f&&f.path||"";jn(i,!f||E.endsWith("*")||E.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${i}" (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.
|
|
20
|
+
|
|
21
|
+
Please change the parent <Route path="${E}"> to <Route path="${E==="/"?"*":`${E}/*`}">.`)}let p=xe(),h;h=p;let g=h.pathname||"/",w=g;if(u!=="/"){let E=u.replace(/^\//,"").split("/");w="/"+g.replace(/^\//,"").split("/").slice(E.length).join("/")}let b=Pe(e,{pathname:w});return ne(f||b!=null,`No routes matched location "${h.pathname}${h.search}${h.hash}" `),ne(b==null||b[b.length-1].route.element!==void 0||b[b.length-1].route.Component!==void 0||b[b.length-1].route.lazy!==void 0,`Matched leaf route at location "${h.pathname}${h.search}${h.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.`),Fo(b&&b.map(E=>Object.assign({},E,{params:Object.assign({},s,E.params),pathname:Le([u,n.encodeLocation?n.encodeLocation(E.pathname).pathname:E.pathname]),pathnameBase:E.pathnameBase==="/"?u:Le([u,n.encodeLocation?n.encodeLocation(E.pathnameBase).pathname:E.pathnameBase])})),o,r,a)}function Ao(){let e=Er(),t=ze(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",n={padding:"0.5rem",backgroundColor:a},o={padding:"2px 4px",backgroundColor:a},l=null;return console.error("Error handled by React Router default ErrorBoundary:",e),l=c.createElement(c.Fragment,null,c.createElement("p",null,"💿 Hey developer 👋"),c.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",c.createElement("code",{style:o},"ErrorBoundary")," or"," ",c.createElement("code",{style:o},"errorElement")," prop on your route.")),c.createElement(c.Fragment,null,c.createElement("h2",null,"Unexpected Application Error!"),c.createElement("h3",{style:{fontStyle:"italic"}},t),r?c.createElement("pre",{style:n},r):null,l)}var ko=c.createElement(Ao,null),No=class extends c.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?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return this.state.error!==void 0?c.createElement(Se.Provider,{value:this.props.routeContext},c.createElement(vr.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Io({routeContext:e,match:t,children:r}){let a=c.useContext(Be);return a&&a.static&&a.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=t.route.id),c.createElement(Se.Provider,{value:e},r)}function Fo(e,t=[],r=null,a=null){if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let n=e,o=r?.errors;if(o!=null){let i=n.findIndex(u=>u.route.id&&o?.[u.route.id]!==void 0);z(i>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),n=n.slice(0,Math.min(n.length,i+1))}let l=!1,s=-1;if(r)for(let i=0;i<n.length;i++){let u=n[i];if((u.route.HydrateFallback||u.route.hydrateFallbackElement)&&(s=i),u.route.id){let{loaderData:f,errors:p}=r,h=u.route.loader&&!f.hasOwnProperty(u.route.id)&&(!p||p[u.route.id]===void 0);if(u.route.lazy||h){l=!0,s>=0?n=n.slice(0,s+1):n=[n[0]];break}}}return n.reduceRight((i,u,f)=>{let p,h=!1,g=null,w=null;r&&(p=o&&u.route.id?o[u.route.id]:void 0,g=u.route.errorElement||ko,l&&(s<0&&f===0?(jn("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),h=!0,w=null):s===f&&(h=!0,w=u.route.hydrateFallbackElement||null)));let b=t.concat(n.slice(0,f+1)),S=()=>{let E;return p?E=g:h?E=w:u.route.Component?E=c.createElement(u.route.Component,null):u.route.element?E=u.route.element:E=i,c.createElement(Io,{match:u,routeContext:{outlet:i,matches:b,isDataRoute:r!=null},children:E})};return r&&(u.route.ErrorBoundary||u.route.errorElement||f===0)?c.createElement(No,{location:r.location,revalidation:r.revalidation,component:g,error:p,children:S(),routeContext:{outlet:null,matches:b,isDataRoute:!0}}):S()},null)}function gr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function In(e){let t=c.useContext(Be);return z(t,gr(e)),t}function We(e){let t=c.useContext(Ge);return z(t,gr(e)),t}function $o(e){let t=c.useContext(Se);return z(t,gr(e)),t}function ft(e){let t=$o(e),r=t.matches[t.matches.length-1];return z(r.route.id,`${e} can only be used on routes that contain a unique "id"`),r.route.id}function jo(){return ft("useRouteId")}function Ho(){return We("useNavigation").navigation}function vl(){let e=In("useRevalidator"),t=We("useRevalidator"),r=c.useCallback(async()=>{await e.router.revalidate()},[e.router]);return c.useMemo(()=>({revalidate:r,state:t.revalidation}),[r,t.revalidation])}function wr(){let{matches:e,loaderData:t}=We("useMatches");return c.useMemo(()=>e.map(r=>vn(r,t)),[e,t])}function Fn(){let e=We("useLoaderData"),t=ft("useLoaderData");return e.loaderData[t]}function gl(e){return We("useRouteLoaderData").loaderData[e]}function $n(){let e=We("useActionData"),t=ft("useLoaderData");return e.actionData?e.actionData[t]:void 0}function Er(){let e=c.useContext(vr),t=We("useRouteError"),r=ft("useRouteError");return e!==void 0?e:t.errors?.[r]}function Uo(){return c.useContext(Dt)?._data}function zo(){let{router:e}=In("useNavigate"),t=ft("useNavigate"),r=c.useRef(!1);return An(()=>{r.current=!0}),c.useCallback(async(n,o={})=>{ne(r.current,On),r.current&&(typeof n=="number"?e.navigate(n):await e.navigate(n,{fromRouteId:t,...o}))},[e,t])}var ln={};function jn(e,t,r){!t&&!ln[e]&&(ln[e]=!0,ne(!1,r))}var sn={};function un(e,t){!e&&!sn[t]&&(sn[t]=!0,console.warn(t))}function wl(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&ne(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:c.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&ne(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:c.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&ne(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:c.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var El=["HydrateFallback","hydrateFallbackElement"],Bo=class{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",e(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",t(r))}})}};function Rl({router:e,flushSync:t}){let[r,a]=c.useState(e.state),[n,o]=c.useState(),[l,s]=c.useState({isTransitioning:!1}),[i,u]=c.useState(),[f,p]=c.useState(),[h,g]=c.useState(),w=c.useRef(new Map),b=c.useCallback((_,{deletedFetchers:M,flushSync:C,viewTransitionOpts:y})=>{_.fetchers.forEach((J,j)=>{J.data!==void 0&&w.current.set(j,J.data)}),M.forEach(J=>w.current.delete(J)),un(C===!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 F=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition=="function";if(un(y==null||F,"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."),!y||!F){t&&C?t(()=>a(_)):c.startTransition(()=>a(_));return}if(t&&C){t(()=>{f&&(i&&i.resolve(),f.skipTransition()),s({isTransitioning:!0,flushSync:!0,currentLocation:y.currentLocation,nextLocation:y.nextLocation})});let J=e.window.document.startViewTransition(()=>{t(()=>a(_))});J.finished.finally(()=>{t(()=>{u(void 0),p(void 0),o(void 0),s({isTransitioning:!1})})}),t(()=>p(J));return}f?(i&&i.resolve(),f.skipTransition(),g({state:_,currentLocation:y.currentLocation,nextLocation:y.nextLocation})):(o(_),s({isTransitioning:!0,flushSync:!1,currentLocation:y.currentLocation,nextLocation:y.nextLocation}))},[e.window,t,f,i]);c.useLayoutEffect(()=>e.subscribe(b),[e,b]),c.useEffect(()=>{l.isTransitioning&&!l.flushSync&&u(new Bo)},[l]),c.useEffect(()=>{if(i&&n&&e.window){let _=n,M=i.promise,C=e.window.document.startViewTransition(async()=>{c.startTransition(()=>a(_)),await M});C.finished.finally(()=>{u(void 0),p(void 0),o(void 0),s({isTransitioning:!1})}),p(C)}},[n,i,e.window]),c.useEffect(()=>{i&&n&&r.location.key===n.location.key&&i.resolve()},[i,f,r.location,n]),c.useEffect(()=>{!l.isTransitioning&&h&&(o(h.state),s({isTransitioning:!0,flushSync:!1,currentLocation:h.currentLocation,nextLocation:h.nextLocation}),g(void 0))},[l.isTransitioning,h]);let S=c.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:_=>e.navigate(_),push:(_,M,C)=>e.navigate(_,{state:M,preventScrollReset:C?.preventScrollReset}),replace:(_,M,C)=>e.navigate(_,{replace:!0,state:M,preventScrollReset:C?.preventScrollReset})}),[e]),E=e.basename||"/",L=c.useMemo(()=>({router:e,navigator:S,static:!1,basename:E}),[e,S,E]);return c.createElement(c.Fragment,null,c.createElement(Be.Provider,{value:L},c.createElement(Ge.Provider,{value:r},c.createElement(yr.Provider,{value:w.current},c.createElement(pr.Provider,{value:l},c.createElement(Vo,{basename:E,location:r.location,navigationType:r.historyAction,navigator:S},c.createElement(Wo,{routes:e.routes,future:e.future,state:r})))))),null)}var Wo=c.memo(Yo);function Yo({routes:e,future:t,state:r}){return Oo(e,void 0,r,t)}function bl(e){return Do(e.context)}function Vo({basename:e="/",children:t=null,location:r,navigationType:a="POP",navigator:n,static:o=!1}){z(!ct(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let l=e.replace(/^\/*/,"/"),s=c.useMemo(()=>({basename:l,navigator:n,static:o,future:{}}),[l,n,o]);typeof r=="string"&&(r=Ne(r));let{pathname:i="/",search:u="",hash:f="",state:p=null,key:h="default"}=r,g=c.useMemo(()=>{let w=ge(i,l);return w==null?null:{location:{pathname:w,search:u,hash:f,state:p,key:h},navigationType:a}},[l,i,u,f,p,h,a]);return ne(g!=null,`<Router basename="${l}"> is not able to match the URL "${i}${u}${f}" because it does not start with the basename, so the <Router> won't render anything.`),g==null?null:c.createElement(be.Provider,{value:s},c.createElement(At.Provider,{children:t,value:g}))}function Sl({children:e,errorElement:t,resolve:r}){return c.createElement(Jo,{resolve:r,errorElement:t},c.createElement(Ko,null,e))}var Jo=class extends c.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,a=null,n=0;if(!(r instanceof Promise))n=1,a=Promise.resolve(),Object.defineProperty(a,"_tracked",{get:()=>!0}),Object.defineProperty(a,"_data",{get:()=>r});else if(this.state.error){n=2;let o=this.state.error;a=Promise.reject().catch(()=>{}),Object.defineProperty(a,"_tracked",{get:()=>!0}),Object.defineProperty(a,"_error",{get:()=>o})}else r._tracked?(a=r,n="_error"in a?2:"_data"in a?1:0):(n=0,Object.defineProperty(r,"_tracked",{get:()=>!0}),a=r.then(o=>Object.defineProperty(r,"_data",{get:()=>o}),o=>Object.defineProperty(r,"_error",{get:()=>o})));if(n===2&&!t)throw a._error;if(n===2)return c.createElement(Dt.Provider,{value:a,children:t});if(n===1)return c.createElement(Dt.Provider,{value:a,children:e});throw a}};function Ko({children:e}){let t=Uo(),r=typeof e=="function"?e(t):e;return c.createElement(c.Fragment,null,r)}function xl(e){return function(){const r={params:Nn(),loaderData:Fn(),actionData:$n(),matches:wr()};return c.createElement(e,r)}}function Cl(e){return function(){const r={params:Nn(),loaderData:Fn(),actionData:$n(),error:Er()};return c.createElement(e,r)}}var xt="get",Ct="application/x-www-form-urlencoded";function kt(e){return e!=null&&typeof e.tagName=="string"}function Go(e){return kt(e)&&e.tagName.toLowerCase()==="button"}function Xo(e){return kt(e)&&e.tagName.toLowerCase()==="form"}function qo(e){return kt(e)&&e.tagName.toLowerCase()==="input"}function Qo(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Zo(e,t){return e.button===0&&(!t||t==="_self")&&!Qo(e)}function ar(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let a=e[r];return t.concat(Array.isArray(a)?a.map(n=>[r,n]):[[r,a]])},[]))}function ei(e,t){let r=ar(e);return t&&t.forEach((a,n)=>{r.has(n)||t.getAll(n).forEach(o=>{r.append(n,o)})}),r}var wt=null;function ti(){if(wt===null)try{new FormData(document.createElement("form"),0),wt=!1}catch{wt=!0}return wt}var ri=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Gt(e){return e!=null&&!ri.has(e)?(ne(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Ct}"`),null):e}function ni(e,t){let r,a,n,o,l;if(Xo(e)){let s=e.getAttribute("action");a=s?ge(s,t):null,r=e.getAttribute("method")||xt,n=Gt(e.getAttribute("enctype"))||Ct,o=new FormData(e)}else if(Go(e)||qo(e)&&(e.type==="submit"||e.type==="image")){let s=e.form;if(s==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let i=e.getAttribute("formaction")||s.getAttribute("action");if(a=i?ge(i,t):null,r=e.getAttribute("formmethod")||s.getAttribute("method")||xt,n=Gt(e.getAttribute("formenctype"))||Gt(s.getAttribute("enctype"))||Ct,o=new FormData(s,e),!ti()){let{name:u,type:f,value:p}=e;if(f==="image"){let h=u?`${u}.`:"";o.append(`${h}x`,"0"),o.append(`${h}y`,"0")}else u&&o.append(u,p)}}else{if(kt(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=xt,a=null,n=Ct,l=e}return o&&n==="text/plain"&&(l=o,o=void 0),{action:a,method:r.toLowerCase(),encType:n,formData:o,body:l}}function fe(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}async function Hn(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.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function ai(e,t,r){let a=e.map(o=>{let l=t[o.route.id],s=r.routes[o.route.id];return[s&&s.css?s.css.map(i=>({rel:"stylesheet",href:i})):[],l?.links?.()||[]]}).flat(2),n=br(e,r);return Wn(a,n)}function Un(e){return e.css?e.css.map(t=>({rel:"stylesheet",href:t})):[]}async function oi(e){if(!e.css)return;let t=Un(e);await Promise.all(t.map(Bn))}async function zn(e,t){if(!e.css&&!t.links||!ci())return;let r=[];if(e.css&&r.push(...Un(e)),t.links&&r.push(...t.links()),r.length===0)return;let a=[];for(let n of r)!Rr(n)&&n.rel==="stylesheet"&&a.push({...n,rel:"preload",as:"style"});await Promise.all(a.map(Bn))}async function Bn(e){return new Promise(t=>{if(e.media&&!window.matchMedia(e.media).matches||document.querySelector(`link[rel="stylesheet"][href="${e.href}"]`))return t();let r=document.createElement("link");Object.assign(r,e);function a(){document.head.contains(r)&&document.head.removeChild(r)}r.onload=()=>{a(),t()},r.onerror=()=>{a(),t()},document.head.appendChild(r)})}function Rr(e){return e!=null&&typeof e.page=="string"}function ii(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 li(e,t,r){let a=await Promise.all(e.map(async n=>{let o=t.routes[n.route.id];if(o){let l=await Hn(o,r);return l.links?l.links():[]}return[]}));return Wn(a.flat(1).filter(ii).filter(n=>n.rel==="stylesheet"||n.rel==="preload").map(n=>n.rel==="stylesheet"?{...n,rel:"prefetch",as:"style"}:{...n,rel:"prefetch"}))}function cn(e,t,r,a,n,o){let l=(i,u)=>r[u]?i.route.id!==r[u].route.id:!0,s=(i,u)=>r[u].pathname!==i.pathname||r[u].route.path?.endsWith("*")&&r[u].params["*"]!==i.params["*"];return o==="assets"?t.filter((i,u)=>l(i,u)||s(i,u)):o==="data"?t.filter((i,u)=>{let f=a.routes[i.route.id];if(!f||!f.hasLoader)return!1;if(l(i,u)||s(i,u))return!0;if(i.route.shouldRevalidate){let p=i.route.shouldRevalidate({currentUrl:new URL(n.pathname+n.search+n.hash,window.origin),currentParams:r[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:i.params,defaultShouldRevalidate:!0});if(typeof p=="boolean")return p}return!0}):[]}function br(e,t,{includeHydrateFallback:r}={}){return si(e.map(a=>{let n=t.routes[a.route.id];if(!n)return[];let o=[n.module];return n.clientActionModule&&(o=o.concat(n.clientActionModule)),n.clientLoaderModule&&(o=o.concat(n.clientLoaderModule)),r&&n.hydrateFallbackModule&&(o=o.concat(n.hydrateFallbackModule)),n.imports&&(o=o.concat(n.imports)),o}).flat(1))}function si(e){return[...new Set(e)]}function ui(e){let t={},r=Object.keys(e).sort();for(let a of r)t[a]=e[a];return t}function Wn(e,t){let r=new Set,a=new Set(t);return e.reduce((n,o)=>{if(t&&!Rr(o)&&o.as==="script"&&o.href&&a.has(o.href))return n;let s=JSON.stringify(ui(o));return r.has(s)||(r.add(s),n.push({key:s,link:o})),n},[])}var Et;function ci(){if(Et!==void 0)return Et;let e=document.createElement("link");return Et=e.relList.supports("preload"),e=null,Et}function dn(e){return{__html:e}}var di=-1,fi=-2,hi=-3,mi=-4,pi=-5,yi=-6,vi=-7,gi="B",wi="D",Yn="E",Ei="M",Ri="N",Vn="P",bi="R",Si="S",xi="Y",Ci="U",Pi="Z",Jn=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function Li(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,a){const n=e.decode(r,{stream:!0}),o=(t+n).split(`
|
|
22
|
+
`);t=o.pop()||"";for(const l of o)a.enqueue(l)},flush(r){t&&r.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Xt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function or(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return fn.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const a=r.length;for(const n of e)r.push(n);return t.length=r.length,fn.call(this,a)}function fn(e){const{hydrated:t,values:r,deferred:a,plugins:n}=this;let o;const l=[[e,i=>{o=i}]];let s=[];for(;l.length>0;){const[i,u]=l.pop();switch(i){case vi:u(void 0);continue;case pi:u(null);continue;case fi:u(NaN);continue;case yi:u(1/0);continue;case hi:u(-1/0);continue;case mi:u(-0);continue}if(t[i]){u(t[i]);continue}const f=r[i];if(!f||typeof f!="object"){t[i]=f,u(f);continue}if(Array.isArray(f))if(typeof f[0]=="string"){const[p,h,g]=f;switch(p){case wi:u(t[i]=new Date(h));continue;case Ci:u(t[i]=new URL(h));continue;case gi:u(t[i]=BigInt(h));continue;case bi:u(t[i]=new RegExp(h,g));continue;case xi:u(t[i]=Symbol.for(h));continue;case Si:const w=new Set;t[i]=w;for(let M=f.length-1;M>0;M--)l.push([f[M],C=>{w.add(C)}]);u(w);continue;case Ei:const b=new Map;t[i]=b;for(let M=f.length-2;M>0;M-=2){const C=[];l.push([f[M+1],y=>{C[1]=y}]),l.push([f[M],y=>{C[0]=y}]),s.push(()=>{b.set(C[0],C[1])})}u(b);continue;case Ri:const S=Object.create(null);t[i]=S;for(const M of Object.keys(h).reverse()){const C=[];l.push([h[M],y=>{C[1]=y}]),l.push([Number(M.slice(1)),y=>{C[0]=y}]),s.push(()=>{S[C[0]]=C[1]})}u(S);continue;case Vn:if(t[h])u(t[i]=t[h]);else{const M=new Jn;a[h]=M,u(t[i]=M.promise)}continue;case Yn:const[,E,L]=f;let _=L&&Xt&&Xt[L]?new Xt[L](E):new Error(E);t[i]=_,u(_);continue;case Pi:u(t[i]=t[h]);continue;default:if(Array.isArray(n)){const M=[],C=f.slice(1);for(let y=0;y<C.length;y++){const F=C[y];l.push([F,J=>{M[y]=J}])}s.push(()=>{for(const y of n){const F=y(f[0],...M);if(F){u(t[i]=F.value);return}}throw new SyntaxError});continue}throw new SyntaxError}}else{const p=[];t[i]=p;for(let h=0;h<f.length;h++){const g=f[h];g!==di&&l.push([g,w=>{p[h]=w}])}u(p);continue}else{const p={};t[i]=p;for(const h of Object.keys(f).reverse()){const g=[];l.push([f[h],w=>{g[1]=w}]),l.push([Number(h.slice(1)),w=>{g[0]=w}]),s.push(()=>{p[g[0]]=g[1]})}u(p);continue}}for(;s.length>0;)s.pop()();return o}async function _i(e,t){const{plugins:r}=t??{},a=new Jn,n=e.pipeThrough(Li()).getReader(),o={values:[],hydrated:[],deferred:{},plugins:r},l=await Mi.call(o,n);let s=a.promise;return l.done?a.resolve():s=Ti.call(o,n).then(a.resolve).catch(i=>{for(const u of Object.values(o.deferred))u.reject(i);a.reject(i)}),{done:s.then(()=>n.closed),value:l.value}}async function Mi(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:or.call(this,r)}}async function Ti(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case Vn:{const a=r.indexOf(":"),n=Number(r.slice(1,a)),o=this.deferred[n];if(!o)throw new Error(`Deferred ID ${n} not found in stream`);const l=r.slice(a+1);let s;try{s=JSON.parse(l)}catch{throw new SyntaxError}const i=or.call(this,s);o.resolve(i);break}case Yn:{const a=r.indexOf(":"),n=Number(r.slice(1,a)),o=this.deferred[n];if(!o)throw new Error(`Deferred ID ${n} not found in stream`);const l=r.slice(a+1);let s;try{s=JSON.parse(l)}catch{throw new SyntaxError}const i=or.call(this,s);o.reject(i);break}default:throw new SyntaxError}t=await e.read()}}async function Di(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}var ir=Symbol("SingleFetchRedirect"),Kn=class extends Error{},Oi=202,Gn=new Set([100,101,204,205]);function Pl(e,t,r,a,n){let o=Ai(e,l=>{let s=t.routes[l.route.id];fe(s,"Route not found in manifest");let i=r[l.route.id];return{hasLoader:s.hasLoader,hasClientLoader:s.hasClientLoader,hasShouldRevalidate:!!i?.shouldRevalidate}},Hi,a,n);return async l=>l.unstable_runClientMiddleware(o)}function Ai(e,t,r,a,n){return async o=>{let{request:l,matches:s,fetcherKey:i}=o,u=e();if(l.method!=="GET")return ki(o,r,n);let f=s.some(p=>{let{hasLoader:h,hasClientLoader:g}=t(p);return p.unstable_shouldCallHandler()&&h&&!g});return!a&&!f?Ni(o,t,r,n):i?$i(o,r,n):Ii(o,u,t,r,a,n)}}async function ki(e,t,r){let a=e.matches.find(l=>l.unstable_shouldCallHandler());fe(a,"No action match found");let n,o=await a.resolve(async l=>await l(async()=>{let{data:i,status:u}=await t(e,r,[a.route.id]);return n=u,ut(i,a.route.id)}));return hr(o.result)||ze(o.result)||nr(o.result)?{[a.route.id]:o}:{[a.route.id]:{type:o.type,result:to(o.result,n)}}}async function Ni(e,t,r,a){let n=e.matches.filter(l=>l.unstable_shouldCallHandler()),o={};return await Promise.all(n.map(l=>l.resolve(async s=>{try{let{hasClientLoader:i}=t(l),u=l.route.id,f=i?await s(async()=>{let{data:p}=await r(e,a,[u]);return ut(p,u)}):await s();o[l.route.id]={type:"data",result:f}}catch(i){o[l.route.id]={type:"error",result:i}}}))),o}async function Ii(e,t,r,a,n,o){let l=new Set,s=!1,i=e.matches.map(()=>hn()),u=hn(),f={},p=Promise.all(e.matches.map(async(g,w)=>g.resolve(async b=>{i[w].resolve();let S=g.route.id,{hasLoader:E,hasClientLoader:L,hasShouldRevalidate:_}=r(g),M=!g.unstable_shouldRevalidateArgs||g.unstable_shouldRevalidateArgs.actionStatus==null||g.unstable_shouldRevalidateArgs.actionStatus<400;if(!g.unstable_shouldCallHandler(M)){s||(s=g.unstable_shouldRevalidateArgs!=null&&E&&_===!0);return}if(L){E&&(s=!0);try{let y=await b(async()=>{let{data:F}=await a(e,o,[S]);return ut(F,S)});f[S]={type:"data",result:y}}catch(y){f[S]={type:"error",result:y}}return}E&&l.add(S);try{let y=await b(async()=>{let F=await u.promise;return ut(F,S)});f[S]={type:"data",result:y}}catch(y){f[S]={type:"error",result:y}}})));if(await Promise.all(i.map(g=>g.promise)),(!t.state.initialized&&t.state.navigation.state==="idle"||l.size===0)&&!window.__reactRouterHdrActive)u.resolve({routes:{}});else{let g=n&&s&&l.size>0?[...l.keys()]:void 0;try{let w=await a(e,o,g);u.resolve(w.data)}catch(w){u.reject(w)}}return await p,await Fi(u.promise,e.matches,l,f),f}async function Fi(e,t,r,a){try{let n,o=await e;if("routes"in o){for(let l of t)if(l.route.id in o.routes){let s=o.routes[l.route.id];if("error"in s){n=s.error;break}}}n!==void 0&&Array.from(r.values()).forEach(l=>{a[l].result instanceof Kn&&(a[l].result=n)})}catch{}}async function $i(e,t,r){let a=e.matches.find(l=>l.unstable_shouldCallHandler());fe(a,"No fetcher match found");let n=a.route.id,o=await a.resolve(async l=>l(async()=>{let{data:s}=await t(e,r,[n]);return ut(s,n)}));return{[a.route.id]:o}}function ji(e){let t=e.searchParams.getAll("index");e.searchParams.delete("index");let r=[];for(let a of t)a&&r.push(a);for(let a of r)e.searchParams.append("index",a);return e}function Xn(e,t){let r=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return r.pathname==="/"?r.pathname="_root.data":t&&ge(r.pathname,t)==="/"?r.pathname=`${t.replace(/\/$/,"")}/_root.data`:r.pathname=`${r.pathname.replace(/\/$/,"")}.data`,r}async function Hi(e,t,r){let{request:a}=e,n=Xn(a.url,t);a.method==="GET"&&(n=ji(n),r&&n.searchParams.set("_routes",r.join(",")));let o=await fetch(n,await Di(a));if(o.status===404&&!o.headers.has("X-Remix-Response"))throw new ke(404,"Not Found",!0);if(o.status===204&&o.headers.has("X-Remix-Redirect"))return{status:Oi,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(Gn.has(o.status)){let l={};return r&&a.method!=="GET"&&(l[r[0]]={data:void 0}),{status:o.status,data:{routes:l}}}fe(o.body,"No response body to decode");try{let l=await Ui(o.body,window),s;if(a.method==="GET"){let i=l.value;ir in i?s={redirect:i[ir]}:s={routes:i}}else{let i=l.value,u=r?.[0];fe(u,"No routeId found for single fetch call decoding"),"redirect"in i?s={redirect:i}:s={routes:{[u]:i}}}return{status:o.status,data:s}}catch{throw new Error("Unable to decode turbo-stream response")}}function Ui(e,t){return _i(e,{plugins:[(r,...a)=>{if(r==="SanitizedError"){let[n,o,l]=a,s=Error;n&&n in t&&typeof t[n]=="function"&&(s=t[n]);let i=new s(o);return i.stack=l,{value:i}}if(r==="ErrorResponse"){let[n,o,l]=a;return{value:new ke(o,l,n)}}if(r==="SingleFetchRedirect")return{value:{[ir]:a[0]}};if(r==="SingleFetchClassInstance")return{value:a[0]};if(r==="SingleFetchFallback")return{value:void 0}}]})}function ut(e,t){if("redirect"in e){let{redirect:a,revalidate:n,reload:o,replace:l,status:s}=e.redirect;throw ro(a,{status:s,headers:{...n?{"X-Remix-Revalidate":"yes"}:null,...o?{"X-Remix-Reload-Document":"yes"}:null,...l?{"X-Remix-Replace":"yes"}:null}})}let r=e.routes[t];if(r==null)throw new Kn(`No result found for routeId "${t}"`);if("error"in r)throw r.error;if("data"in r)return r.data;throw new Error(`Invalid response found for routeId "${t}"`)}function hn(){let e,t,r=new Promise((a,n)=>{e=async o=>{a(o);try{await r}catch{}},t=async o=>{n(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}var Ll=class extends c.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||null,location:e.location}:{error:e.error||t.error,location:t.location}}render(){return this.state.error?c.createElement(qn,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}};function qn({error:e,isOutsideRemixApp:t}){console.error(e);let r=c.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(ze(e))return c.createElement(lr,{title:"Unhandled Thrown Response!"},c.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let a;if(e instanceof Error)a=e;else{let n=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);a=new Error(n)}return c.createElement(lr,{title:"Application Error!",isOutsideRemixApp:t},c.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),c.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},a.stack),r)}function lr({title:e,renderScripts:t,isOutsideRemixApp:r,children:a}){let{routeModules:n}=Xe();return n.root?.Layout&&!r?a:c.createElement("html",{lang:"en"},c.createElement("head",null,c.createElement("meta",{charSet:"utf-8"}),c.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),c.createElement("title",null,e)),c.createElement("body",null,c.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},a,t?c.createElement(rl,null):null)))}function zi(){return c.createElement(lr,{title:"Loading...",renderScripts:!0},c.createElement("script",{dangerouslySetInnerHTML:{__html:`
|
|
27
|
+
console.log(
|
|
28
|
+
"💿 Hey developer 👋. You can provide a way better UX than this " +
|
|
29
|
+
"when your app is loading JS modules and/or running \`clientLoader\` " +
|
|
30
|
+
"functions. Check out https://reactrouter.com/start/framework/route-module#hydratefallback " +
|
|
31
|
+
"for more information."
|
|
32
|
+
);
|
|
33
|
+
`}}))}function Qn(e){let t={};return Object.values(e).forEach(r=>{if(r){let a=r.parentId||"";t[a]||(t[a]=[]),t[a].push(r)}}),t}function Bi(e,t,r){let a=Zn(t),n=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?zi:void 0,o=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>c.createElement(qn,{error:Er()}):void 0;return e.id==="root"&&t.Layout?{...a?{element:c.createElement(t.Layout,null,c.createElement(a,null))}:{Component:a},...o?{errorElement:c.createElement(t.Layout,null,c.createElement(o,null))}:{ErrorBoundary:o},...n?{hydrateFallbackElement:c.createElement(t.Layout,null,c.createElement(n,null))}:{HydrateFallback:n}}:{Component:a,ErrorBoundary:o,HydrateFallback:n}}function _l(e,t,r,a,n,o){return Sr(t,r,a,n,o,"",Qn(t),e)}function Rt(e,t){if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction){let a=`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(a),new ke(400,"Bad Request",new Error(a),!0)}}function qt(e,t){let r=e==="clientAction"?"a":"an",a=`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(a),new ke(405,"Method Not Allowed",new Error(a),!0)}function Sr(e,t,r,a,n,o="",l=Qn(e),s){return(l[o]||[]).map(i=>{let u=t[i.id];function f(L){return fe(typeof L=="function","No single fetch function available for route handler"),L()}function p(L){return i.hasLoader?f(L):Promise.resolve(null)}function h(L){if(!i.hasAction)throw qt("action",i.id);return f(L)}function g(L){import(L)}function w(L){L.clientActionModule&&g(L.clientActionModule),L.clientLoaderModule&&g(L.clientLoaderModule)}async function b(L){let _=t[i.id],M=_?zn(i,_):Promise.resolve();try{return L()}finally{await M}}let S={id:i.id,index:i.index,path:i.path};if(u){Object.assign(S,{...S,...Bi(i,u,n),unstable_middleware:u.unstable_clientMiddleware,handle:u.handle,shouldRevalidate:mn(S.path,u,i,a,s)});let L=r&&r.loaderData&&i.id in r.loaderData,_=L?r?.loaderData?.[i.id]:void 0,M=r&&r.errors&&i.id in r.errors,C=M?r?.errors?.[i.id]:void 0,y=s==null&&(u.clientLoader?.hydrate===!0||!i.hasLoader);S.loader=async({request:F,params:J,context:j},X)=>{try{return await b(async()=>(fe(u,"No `routeModule` available for critical-route loader"),u.clientLoader?u.clientLoader({request:F,params:J,context:j,async serverLoader(){if(Rt("loader",i),y){if(L)return _;if(M)throw C}return p(X)}}):p(X)))}finally{y=!1}},S.loader.hydrate=ea(i.id,u.clientLoader,i.hasLoader,n),S.action=({request:F,params:J,context:j},X)=>b(async()=>{if(fe(u,"No `routeModule` available for critical-route action"),!u.clientAction){if(n)throw qt("clientAction",i.id);return h(X)}return u.clientAction({request:F,params:J,context:j,async serverAction(){return Rt("action",i),h(X)}})})}else{i.hasClientLoader||(S.loader=(M,C)=>b(()=>p(C))),i.hasClientAction||(S.action=(M,C)=>b(()=>{if(n)throw qt("clientAction",i.id);return h(C)}));let L;async function _(){return L?await L:(L=(async()=>{(i.clientLoaderModule||i.clientActionModule)&&await new Promise(C=>setTimeout(C,0));let M=Yi(i,t);return w(i),await M})(),await L)}S.lazy={loader:i.hasClientLoader?async()=>{let{clientLoader:M}=i.clientLoaderModule?await import(i.clientLoaderModule):await _();return fe(M,"No `clientLoader` export found"),(C,y)=>M({...C,async serverLoader(){return Rt("loader",i),p(y)}})}:void 0,action:i.hasClientAction?async()=>{let M=i.clientActionModule?import(i.clientActionModule):_();w(i);let{clientAction:C}=await M;return fe(C,"No `clientAction` export found"),(y,F)=>C({...y,async serverAction(){return Rt("action",i),h(F)}})}:void 0,unstable_middleware:i.hasClientMiddleware?async()=>{let{unstable_clientMiddleware:M}=i.clientMiddlewareModule?await import(i.clientMiddlewareModule):await _();return fe(M,"No `unstable_clientMiddleware` export found"),M}:void 0,shouldRevalidate:async()=>{let M=await _();return mn(S.path,M,i,a,s)},handle:async()=>(await _()).handle,Component:async()=>(await _()).Component,ErrorBoundary:i.hasErrorBoundary?async()=>(await _()).ErrorBoundary:void 0}}let E=Sr(e,t,r,a,n,i.id,l,s);return E.length>0&&(S.children=E),S})}function mn(e,t,r,a,n){if(n)return Wi(r.id,t.shouldRevalidate,n);if(!a&&r.hasLoader&&!r.hasClientLoader){let o=e?En(e)[1].map(s=>s.paramName):[];const l=s=>o.some(i=>s.currentParams[i]!==s.nextParams[i]);if(t.shouldRevalidate){let s=t.shouldRevalidate;return i=>s({...i,defaultShouldRevalidate:l(i)})}else return s=>l(s)}if(a&&t.shouldRevalidate){let o=t.shouldRevalidate;return l=>o({...l,defaultShouldRevalidate:!0})}return t.shouldRevalidate}function Wi(e,t,r){let a=!1;return n=>a?t?t(n):n.defaultShouldRevalidate:(a=!0,r.has(e))}async function Yi(e,t){let r=Hn(e,t),a=oi(e),n=await r;return await Promise.all([a,zn(e,n)]),{Component:Zn(n),ErrorBoundary:n.ErrorBoundary,unstable_clientMiddleware:n.unstable_clientMiddleware,clientAction:n.clientAction,clientLoader:n.clientLoader,handle:n.handle,links:n.links,meta:n.meta,shouldRevalidate:n.shouldRevalidate}}function Zn(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function ea(e,t,r,a){return a&&e!=="root"||t!=null&&(t.hydrate===!0||r!==!0)}var Pt=new Set,Vi=1e3,Ot=new Set,Ji=7680;function xr(e,t){return e.mode==="lazy"&&t===!0}function Ki({sri:e,...t},r){let a=new Set(r.state.matches.map(s=>s.route.id)),n=r.state.location.pathname.split("/").filter(Boolean),o=["/"];for(n.pop();n.length>0;)o.push(`/${n.join("/")}`),n.pop();o.forEach(s=>{let i=Pe(r.routes,s,r.basename);i&&i.forEach(u=>a.add(u.route.id))});let l=[...a].reduce((s,i)=>Object.assign(s,{[i]:t.routes[i]}),{});return{...t,routes:l,sri:e?!0:void 0}}function Ml(e,t,r,a,n,o){if(xr(a,r))return async({path:l,patch:s,signal:i,fetcherKey:u})=>{Ot.has(l)||await ta([l],u?window.location.href:l,e,t,r,n,o,a.manifestPath,s,i)}}function Tl(e,t,r,a,n,o){c.useEffect(()=>{if(!xr(n,a)||window.navigator?.connection?.saveData===!0)return;function l(f){let p=f.tagName==="FORM"?f.getAttribute("action"):f.getAttribute("href");if(!p)return;let h=f.tagName==="A"?f.pathname:new URL(p,window.location.origin).pathname;Ot.has(h)||Pt.add(h)}async function s(){document.querySelectorAll("a[data-discover], form[data-discover]").forEach(l);let f=Array.from(Pt.keys()).filter(p=>Ot.has(p)?(Pt.delete(p),!1):!0);if(f.length!==0)try{await ta(f,null,t,r,a,o,e.basename,n.manifestPath,e.patchRoutes)}catch(p){console.error("Failed to fetch manifest patches",p)}}let i=qi(s,100);s();let u=new MutationObserver(()=>i());return u.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>u.disconnect()},[a,o,t,r,e,n])}function Gi(e,t){let r=e||"/__manifest";return t==null?r:`${t}${r}`.replace(/\/+/g,"/")}var Qt="react-router-manifest-version";async function ta(e,t,r,a,n,o,l,s,i,u){let f=new URL(Gi(s,l),window.location.origin);if(e.sort().forEach(b=>f.searchParams.append("p",b)),f.searchParams.set("version",r.version),f.toString().length>Ji){Pt.clear();return}let p;try{let b=await fetch(f,{signal:u});if(b.ok){if(b.status===204&&b.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}if(sessionStorage.getItem(Qt)===r.version){console.error("Unable to discover routes due to manifest version mismatch.");return}sessionStorage.setItem(Qt,r.version),window.location.href=t,console.warn("Detected manifest version mismatch, reloading..."),await new Promise(()=>{})}else if(b.status>=400)throw new Error(await b.text())}else throw new Error(`${b.status} ${b.statusText}`);sessionStorage.removeItem(Qt),p=await b.json()}catch(b){if(u?.aborted)return;throw b}let h=new Set(Object.keys(r.routes)),g=Object.values(p).reduce((b,S)=>(S&&!h.has(S.id)&&(b[S.id]=S),b),{});Object.assign(r.routes,g),e.forEach(b=>Xi(b,Ot));let w=new Set;Object.values(g).forEach(b=>{b&&(!b.parentId||!g[b.parentId])&&w.add(b.parentId)}),w.forEach(b=>i(b||null,Sr(g,a,null,n,o,b)))}function Xi(e,t){if(t.size>=Vi){let r=t.values().next().value;t.delete(r)}t.add(e)}function qi(e,t){let r;return(...a)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...a),t)}}function Cr(){let e=c.useContext(Be);return fe(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Nt(){let e=c.useContext(Ge);return fe(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var It=c.createContext(void 0);It.displayName="FrameworkContext";function Xe(){let e=c.useContext(It);return fe(e,"You must render this element inside a <HydratedRouter> element"),e}function Qi(e,t){let r=c.useContext(It),[a,n]=c.useState(!1),[o,l]=c.useState(!1),{onFocus:s,onBlur:i,onMouseEnter:u,onMouseLeave:f,onTouchStart:p}=t,h=c.useRef(null);c.useEffect(()=>{if(e==="render"&&l(!0),e==="viewport"){let b=E=>{E.forEach(L=>{l(L.isIntersecting)})},S=new IntersectionObserver(b,{threshold:.5});return h.current&&S.observe(h.current),()=>{S.disconnect()}}},[e]),c.useEffect(()=>{if(a){let b=setTimeout(()=>{l(!0)},100);return()=>{clearTimeout(b)}}},[a]);let g=()=>{n(!0)},w=()=>{n(!1),l(!1)};return r?e!=="intent"?[o,h,{}]:[o,h,{onFocus:ot(s,g),onBlur:ot(i,w),onMouseEnter:ot(u,g),onMouseLeave:ot(f,w),onTouchStart:ot(p,g)}]:[!1,h,{}]}function ot(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function Pr(e,t,r){if(r&&!Lt)return[e[0]];if(t){let a=e.findIndex(n=>t[n.route.id]!==void 0);return e.slice(0,a+1)}return e}function Dl(){let{isSpaMode:e,manifest:t,routeModules:r,criticalCss:a}=Xe(),{errors:n,matches:o}=Nt(),l=Pr(o,n,e),s=c.useMemo(()=>ai(l,r,t),[l,r,t]);return c.createElement(c.Fragment,null,typeof a=="string"?c.createElement("style",{dangerouslySetInnerHTML:{__html:a}}):null,typeof a=="object"?c.createElement("link",{rel:"stylesheet",href:a.href}):null,s.map(({key:i,link:u})=>Rr(u)?c.createElement(ra,{key:i,...u}):c.createElement("link",{key:i,...u})))}function ra({page:e,...t}){let{router:r}=Cr(),a=c.useMemo(()=>Pe(r.routes,e,r.basename),[r.routes,e,r.basename]);return a?c.createElement(el,{page:e,matches:a,...t}):null}function Zi(e){let{manifest:t,routeModules:r}=Xe(),[a,n]=c.useState([]);return c.useEffect(()=>{let o=!1;return li(e,t,r).then(l=>{o||n(l)}),()=>{o=!0}},[e,t,r]),a}function el({page:e,matches:t,...r}){let a=xe(),{manifest:n,routeModules:o}=Xe(),{basename:l}=Cr(),{loaderData:s,matches:i}=Nt(),u=c.useMemo(()=>cn(e,t,i,n,a,"data"),[e,t,i,n,a]),f=c.useMemo(()=>cn(e,t,i,n,a,"assets"),[e,t,i,n,a]),p=c.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let w=new Set,b=!1;if(t.forEach(E=>{let L=n.routes[E.route.id];!L||!L.hasLoader||(!u.some(_=>_.route.id===E.route.id)&&E.route.id in s&&o[E.route.id]?.shouldRevalidate||L.hasClientLoader?b=!0:w.add(E.route.id))}),w.size===0)return[];let S=Xn(e,l);return b&&w.size>0&&S.searchParams.set("_routes",t.filter(E=>w.has(E.route.id)).map(E=>E.route.id).join(",")),[S.pathname+S.search]},[l,s,a,n,u,t,e,o]),h=c.useMemo(()=>br(f,n),[f,n]),g=Zi(f);return c.createElement(c.Fragment,null,p.map(w=>c.createElement("link",{key:w,rel:"prefetch",as:"fetch",href:w,...r})),h.map(w=>c.createElement("link",{key:w,rel:"modulepreload",href:w,...r})),g.map(({key:w,link:b})=>c.createElement("link",{key:w,...b})))}function Ol(){let{isSpaMode:e,routeModules:t}=Xe(),{errors:r,matches:a,loaderData:n}=Nt(),o=xe(),l=Pr(a,r,e),s=null;r&&(s=r[l[l.length-1].route.id]);let i=[],u=null,f=[];for(let p=0;p<l.length;p++){let h=l[p],g=h.route.id,w=n[g],b=h.params,S=t[g],E=[],L={id:g,data:w,meta:[],params:h.params,pathname:h.pathname,handle:h.route.handle,error:s};if(f[p]=L,S?.meta?E=typeof S.meta=="function"?S.meta({data:w,params:b,location:o,matches:f,error:s}):Array.isArray(S.meta)?[...S.meta]:S.meta:u&&(E=[...u]),E=E||[],!Array.isArray(E))throw new Error("The route at "+h.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
|
|
34
|
+
|
|
35
|
+
To reference the meta function API, see https://remix.run/route/meta`);L.meta=E,f[p]=L,i=[...E],u=i}return c.createElement(c.Fragment,null,i.flat().map(p=>{if(!p)return null;if("tagName"in p){let{tagName:h,...g}=p;if(!tl(h))return console.warn(`A meta object uses an invalid tagName: ${h}. Expected either 'link' or 'meta'`),null;let w=h;return c.createElement(w,{key:JSON.stringify(g),...g})}if("title"in p)return c.createElement("title",{key:"title"},String(p.title));if("charset"in p&&(p.charSet??(p.charSet=p.charset),delete p.charset),"charSet"in p&&p.charSet!=null)return typeof p.charSet=="string"?c.createElement("meta",{key:"charSet",charSet:p.charSet}):null;if("script:ld+json"in p)try{let h=JSON.stringify(p["script:ld+json"]);return c.createElement("script",{key:`script:ld+json:${h}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:h}})}catch{return null}return c.createElement("meta",{key:JSON.stringify(p),...p})}))}function tl(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}var Lt=!1;function rl(e){let{manifest:t,serverHandoffString:r,isSpaMode:a,renderMeta:n,routeDiscovery:o,ssr:l}=Xe(),{router:s,static:i,staticContext:u}=Cr(),{matches:f}=Nt(),p=xr(o,l);n&&(n.didRenderScripts=!0);let h=Pr(f,null,a);c.useEffect(()=>{Lt=!0},[]);let g=c.useMemo(()=>{let E=u?`window.__reactRouterContext = ${r};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());`:" ",L=i?`${t.hmr?.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${p?"":`import ${JSON.stringify(t.url)}`};
|
|
36
|
+
${h.map((_,M)=>{let C=`route${M}`,y=t.routes[_.route.id];fe(y,`Route ${_.route.id} not found in manifest`);let{clientActionModule:F,clientLoaderModule:J,clientMiddlewareModule:j,hydrateFallbackModule:X,module:le}=y,ce=[...F?[{module:F,varName:`${C}_clientAction`}]:[],...J?[{module:J,varName:`${C}_clientLoader`}]:[],...j?[{module:j,varName:`${C}_clientMiddleware`}]:[],...X?[{module:X,varName:`${C}_HydrateFallback`}]:[],{module:le,varName:`${C}_main`}];if(ce.length===1)return`import * as ${C} from ${JSON.stringify(le)};`;let q=ce.map(re=>`import * as ${re.varName} from "${re.module}";`).join(`
|
|
37
|
+
`),Z=`const ${C} = {${ce.map(re=>`...${re.varName}`).join(",")}};`;return[q,Z].join(`
|
|
38
|
+
`)}).join(`
|
|
39
|
+
`)}
|
|
40
|
+
${p?`window.__reactRouterManifest = ${JSON.stringify(Ki(t,s),null,2)};`:""}
|
|
41
|
+
window.__reactRouterRouteModules = {${h.map((_,M)=>`${JSON.stringify(_.route.id)}:route${M}`).join(",")}};
|
|
42
|
+
|
|
43
|
+
import(${JSON.stringify(t.entry.module)});`:" ";return c.createElement(c.Fragment,null,c.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:dn(E),type:void 0}),c.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:dn(L),type:"module",async:!0}))},[]),w=Lt?[]:nl(t.entry.imports.concat(br(h,t,{includeHydrateFallback:!0}))),b=typeof t.sri=="object"?t.sri:{};return Lt?null:c.createElement(c.Fragment,null,typeof t.sri=="object"?c.createElement("script",{"rr-importmap":"",type:"importmap",suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify({integrity:b})}}):null,p?null:c.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin,integrity:b[t.url],suppressHydrationWarning:!0}),c.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin,integrity:b[t.entry.module],suppressHydrationWarning:!0}),w.map(S=>c.createElement("link",{key:S,rel:"modulepreload",href:S,crossOrigin:e.crossOrigin,integrity:b[S],suppressHydrationWarning:!0})),g)}function nl(e){return[...new Set(e)]}function al(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}var na=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{na&&(window.__reactRouterVersion="7.6.3")}catch{}var aa=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,oa=c.forwardRef(function({onClick:t,discover:r="render",prefetch:a="none",relative:n,reloadDocument:o,replace:l,state:s,target:i,to:u,preventScrollReset:f,viewTransition:p,...h},g){let{basename:w}=c.useContext(be),b=typeof u=="string"&&aa.test(u),S,E=!1;if(typeof u=="string"&&b&&(S=u,na))try{let j=new URL(window.location.href),X=u.startsWith("//")?new URL(j.protocol+u):new URL(u),le=ge(X.pathname,w);X.origin===j.origin&&le!=null?u=le+X.search+X.hash:E=!0}catch{ne(!1,`<Link to="${u}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let L=_o(u,{relative:n}),[_,M,C]=Qi(a,h),y=ll(u,{replace:l,state:s,target:i,preventScrollReset:f,relative:n,viewTransition:p});function F(j){t&&t(j),j.defaultPrevented||y(j)}let J=c.createElement("a",{...h,...C,href:S||L,onClick:E||o?t:F,ref:al(g,M),target:i,"data-discover":!b&&r==="render"?"true":void 0});return _&&!b?c.createElement(c.Fragment,null,J,c.createElement(ra,{page:L})):J});oa.displayName="Link";var ol=c.forwardRef(function({"aria-current":t="page",caseSensitive:r=!1,className:a="",end:n=!1,style:o,to:l,viewTransition:s,children:i,...u},f){let p=dt(l,{relative:u.relative}),h=xe(),g=c.useContext(Ge),{navigator:w,basename:b}=c.useContext(be),S=g!=null&&hl(p)&&s===!0,E=w.encodeLocation?w.encodeLocation(p).pathname:p.pathname,L=h.pathname,_=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;r||(L=L.toLowerCase(),_=_?_.toLowerCase():null,E=E.toLowerCase()),_&&b&&(_=ge(_,b)||_);const M=E!=="/"&&E.endsWith("/")?E.length-1:E.length;let C=L===E||!n&&L.startsWith(E)&&L.charAt(M)==="/",y=_!=null&&(_===E||!n&&_.startsWith(E)&&_.charAt(E.length)==="/"),F={isActive:C,isPending:y,isTransitioning:S},J=C?t:void 0,j;typeof a=="function"?j=a(F):j=[a,C?"active":null,y?"pending":null,S?"transitioning":null].filter(Boolean).join(" ");let X=typeof o=="function"?o(F):o;return c.createElement(oa,{...u,"aria-current":J,className:j,ref:f,style:X,to:l,viewTransition:s},typeof i=="function"?i(F):i)});ol.displayName="NavLink";var ia=c.forwardRef(({discover:e="render",fetcherKey:t,navigate:r,reloadDocument:a,replace:n,state:o,method:l=xt,action:s,onSubmit:i,relative:u,preventScrollReset:f,viewTransition:p,...h},g)=>{let w=sa(),b=cl(s,{relative:u}),S=l.toLowerCase()==="get"?"get":"post",E=typeof s=="string"&&aa.test(s),L=_=>{if(i&&i(_),_.defaultPrevented)return;_.preventDefault();let M=_.nativeEvent.submitter,C=M?.getAttribute("formmethod")||l;w(M||_.currentTarget,{fetcherKey:t,method:C,navigate:r,replace:n,state:o,relative:u,preventScrollReset:f,viewTransition:p})};return c.createElement("form",{ref:g,method:S,action:b,onSubmit:a?i:L,...h,"data-discover":!E&&e==="render"?"true":void 0})});ia.displayName="Form";function il({getKey:e,storageKey:t,...r}){let a=c.useContext(It),{basename:n}=c.useContext(be),o=xe(),l=wr();dl({getKey:e,storageKey:t});let s=c.useMemo(()=>{if(!a||!e)return null;let u=ur(o,l,n,e);return u!==o.key?u:null},[]);if(!a||a.isSpaMode)return null;let i=((u,f)=>{if(!window.history.state||!window.history.state.key){let p=Math.random().toString(32).slice(2);window.history.replaceState({key:p},"")}try{let h=JSON.parse(sessionStorage.getItem(u)||"{}")[f||window.history.state.key];typeof h=="number"&&window.scrollTo(0,h)}catch(p){console.error(p),sessionStorage.removeItem(u)}}).toString();return c.createElement("script",{...r,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${i})(${JSON.stringify(t||sr)}, ${JSON.stringify(s)})`}})}il.displayName="ScrollRestoration";function la(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ft(e){let t=c.useContext(Be);return z(t,la(e)),t}function Lr(e){let t=c.useContext(Ge);return z(t,la(e)),t}function ll(e,{target:t,replace:r,state:a,preventScrollReset:n,relative:o,viewTransition:l}={}){let s=kn(),i=xe(),u=dt(e,{relative:o});return c.useCallback(f=>{if(Zo(f,t)){f.preventDefault();let p=r!==void 0?r:Ae(i)===Ae(u);s(e,{replace:p,state:a,preventScrollReset:n,relative:o,viewTransition:l})}},[i,s,u,r,a,t,e,n,o,l])}function Al(e){ne(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=c.useRef(ar(e)),r=c.useRef(!1),a=xe(),n=c.useMemo(()=>ei(a.search,r.current?null:t.current),[a.search]),o=kn(),l=c.useCallback((s,i)=>{const u=ar(typeof s=="function"?s(n):s);r.current=!0,o("?"+u,i)},[o,n]);return[n,l]}var sl=0,ul=()=>`__${String(++sl)}__`;function sa(){let{router:e}=Ft("useSubmit"),{basename:t}=c.useContext(be),r=jo();return c.useCallback(async(a,n={})=>{let{action:o,method:l,encType:s,formData:i,body:u}=ni(a,t);if(n.navigate===!1){let f=n.fetcherKey||ul();await e.fetch(f,r,n.action||o,{preventScrollReset:n.preventScrollReset,formData:i,body:u,formMethod:n.method||l,formEncType:n.encType||s,flushSync:n.flushSync})}else await e.navigate(n.action||o,{preventScrollReset:n.preventScrollReset,formData:i,body:u,formMethod:n.method||l,formEncType:n.encType||s,replace:n.replace,state:n.state,fromRouteId:r,flushSync:n.flushSync,viewTransition:n.viewTransition})},[e,t,r])}function cl(e,{relative:t}={}){let{basename:r}=c.useContext(be),a=c.useContext(Se);z(a,"useFormAction must be used inside a RouteContext");let[n]=a.matches.slice(-1),o={...dt(e||".",{relative:t})},l=xe();if(e==null){o.search=l.search;let s=new URLSearchParams(o.search),i=s.getAll("index");if(i.some(f=>f==="")){s.delete("index"),i.filter(p=>p).forEach(p=>s.append("index",p));let f=s.toString();o.search=f?`?${f}`:""}}return(!e||e===".")&&n.route.index&&(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(o.pathname=o.pathname==="/"?r:Le([r,o.pathname])),Ae(o)}function kl({key:e}={}){let{router:t}=Ft("useFetcher"),r=Lr("useFetcher"),a=c.useContext(yr),n=c.useContext(Se),o=n.matches[n.matches.length-1]?.route.id;z(a,"useFetcher must be used inside a FetchersContext"),z(n,"useFetcher must be used inside a RouteContext"),z(o!=null,'useFetcher can only be used on routes that contain a unique "id"');let l=c.useId(),[s,i]=c.useState(e||l);e&&e!==s&&i(e),c.useEffect(()=>(t.getFetcher(s),()=>t.deleteFetcher(s)),[t,s]);let u=c.useCallback(async(S,E)=>{z(o,"No routeId available for fetcher.load()"),await t.fetch(s,o,S,E)},[s,o,t]),f=sa(),p=c.useCallback(async(S,E)=>{await f(S,{...E,navigate:!1,fetcherKey:s})},[s,f]),h=c.useMemo(()=>{let S=c.forwardRef((E,L)=>c.createElement(ia,{...E,navigate:!1,fetcherKey:s,ref:L}));return S.displayName="fetcher.Form",S},[s]),g=r.fetchers.get(s)||Sn,w=a.get(s);return c.useMemo(()=>({Form:h,submit:p,load:u,...g,data:w}),[h,p,u,g,w])}function Nl(){let e=Lr("useFetchers");return Array.from(e.fetchers.entries()).map(([t,r])=>({...r,key:t}))}var sr="react-router-scroll-positions",bt={};function ur(e,t,r,a){let n=null;return a&&(r!=="/"?n=a({...e,pathname:ge(e.pathname,r)||e.pathname},t):n=a(e,t)),n==null&&(n=e.key),n}function dl({getKey:e,storageKey:t}={}){let{router:r}=Ft("useScrollRestoration"),{restoreScrollPosition:a,preventScrollReset:n}=Lr("useScrollRestoration"),{basename:o}=c.useContext(be),l=xe(),s=wr(),i=Ho();c.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),fl(c.useCallback(()=>{if(i.state==="idle"){let u=ur(l,s,o,e);bt[u]=window.scrollY}try{sessionStorage.setItem(t||sr,JSON.stringify(bt))}catch(u){ne(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${u}).`)}window.history.scrollRestoration="auto"},[i.state,e,o,l,s,t])),typeof document<"u"&&(c.useLayoutEffect(()=>{try{let u=sessionStorage.getItem(t||sr);u&&(bt=JSON.parse(u))}catch{}},[t]),c.useLayoutEffect(()=>{let u=r?.enableScrollRestoration(bt,()=>window.scrollY,e?(f,p)=>ur(f,p,o,e):void 0);return()=>u&&u()},[r,o,e]),c.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}if(l.hash){let u=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(u){u.scrollIntoView();return}}n!==!0&&window.scrollTo(0,0)}},[l,a,n]))}function fl(e,t){let{capture:r}={};c.useEffect(()=>{let a=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,a),()=>{window.removeEventListener("pagehide",e,a)}},[e,r])}function hl(e,t={}){let r=c.useContext(pr);z(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:a}=Ft("useViewTransitionState"),n=dt(e,{relative:t.relative});if(!r.isTransitioning)return!1;let o=ge(r.currentLocation.pathname,a)||r.currentLocation.pathname,l=ge(r.nextLocation.pathname,a)||r.nextLocation.pathname;return Mt(n.pathname,l)!=null||Mt(n.pathname,o)!=null}[...Gn];function Il(e){if(!e)return null;let t=Object.entries(e),r={};for(let[a,n]of t)if(n&&n.__type==="RouteErrorResponse")r[a]=new ke(n.status,n.statusText,n.data,n.internal===!0);else if(n&&n.__type==="Error"){if(n.__subType){let o=window[n.__subType];if(typeof o=="function")try{let l=new o(n.message);l.stack=n.stack,r[a]=l}catch{}}if(r[a]==null){let o=new Error(n.message);o.stack=n.stack,r[a]=o}}else r[a]=n;return r}function Fl(e,t,r,a,n,o){let l={...e,loaderData:{...e.loaderData}},s=Pe(t,a,n);if(s)for(let i of s){let u=i.route.id,f=r(u);ea(u,f.clientLoader,f.hasLoader,o)&&(f.hasHydrateFallback||!f.hasLoader)?delete l.loaderData[u]:f.hasLoader||(l.loaderData[u]=null)}return l}export{Sl as A,Il as B,yl as C,Ml as D,Pl as E,ia as F,pl as G,_l as H,wl as I,El as J,Dl as K,oa as L,Ol as M,ol as N,bl as O,rl as P,ml as Q,La as R,il as S,Cl as a,Er as b,Fn as c,kl as d,Nn as e,Ho as f,gl as g,Nl as h,ze as i,vl as j,sa as k,Al as l,kn as m,Pa as n,xa as o,z as p,Tl as q,c as r,It as s,Ll as t,xe as u,Rl as v,xl as w,Ui as x,Sr as y,Fl as z};
|
|
44
|
+
//# sourceMappingURL=chunk-QMGIS6GS-CG5cA6CX.js.map
|