@epic-web/workshop-app 6.14.2 → 6.14.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/assets/{_-DV4Ha66L.js → _-9LaapxAI.js} +2 -2
- package/build/client/assets/{_-DV4Ha66L.js.map → _-9LaapxAI.js.map} +1 -1
- package/build/client/assets/_-BlUNM4zq.js +2 -0
- package/build/client/assets/_-BlUNM4zq.js.map +1 -0
- package/build/client/assets/{_basePickBy-BXbL7qon.js → _basePickBy-CbAJC3M4.js} +2 -2
- package/build/client/assets/{_basePickBy-BXbL7qon.js.map → _basePickBy-CbAJC3M4.js.map} +1 -1
- package/build/client/assets/{_baseUniq-CtZFfRif.js → _baseUniq-DTVooXyu.js} +2 -2
- package/build/client/assets/{_baseUniq-CtZFfRif.js.map → _baseUniq-DTVooXyu.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber-BcHM923A.js → _exerciseNumber-BjFJaUkO.js} +2 -2
- package/build/client/assets/{_exerciseNumber-BcHM923A.js.map → _exerciseNumber-BjFJaUkO.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_._stepNumber-DkoV9tCf.js → _exerciseNumber_._stepNumber-CF1R08wi.js} +2 -2
- package/build/client/assets/{_exerciseNumber_._stepNumber-DkoV9tCf.js.map → _exerciseNumber_._stepNumber-CF1R08wi.js.map} +1 -1
- package/build/client/assets/_exerciseNumber_._stepNumber.index-C_6vCTaR.js +2 -0
- package/build/client/assets/_exerciseNumber_._stepNumber.index-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{_exerciseNumber_.finished-BzyI4yot.js → _exerciseNumber_.finished-CYjuSr3V.js} +2 -2
- package/build/client/assets/{_exerciseNumber_.finished-BzyI4yot.js.map → _exerciseNumber_.finished-CYjuSr3V.js.map} +1 -1
- package/build/client/assets/{_layout-EWv-HN0t.js → _layout-4_y1jBpR.js} +2 -2
- package/build/client/assets/{_layout-EWv-HN0t.js.map → _layout-4_y1jBpR.js.map} +1 -1
- package/build/client/assets/{_layout-DHLUa4_9.js → _layout-BENlQ_xx.js} +2 -2
- package/build/client/assets/{_layout-DHLUa4_9.js.map → _layout-BENlQ_xx.js.map} +1 -1
- package/build/client/assets/{_layout-C2qBYSs9.js → _layout-CTcFGMiI.js} +2 -2
- package/build/client/assets/{_layout-C2qBYSs9.js.map → _layout-CTcFGMiI.js.map} +1 -1
- package/build/client/assets/_layout-jvQa-VjB.js +2 -0
- package/build/client/assets/{_layout-DQs7hBSg.js.map → _layout-jvQa-VjB.js.map} +1 -1
- package/build/client/assets/{accordion-BNwue7tP.js → accordion-BpWAQcUa.js} +2 -2
- package/build/client/assets/{accordion-BNwue7tP.js.map → accordion-BpWAQcUa.js.map} +1 -1
- package/build/client/assets/{account-DpWyl5D8.js → account-BLfcW032.js} +2 -2
- package/build/client/assets/{account-DpWyl5D8.js.map → account-BLfcW032.js.map} +1 -1
- package/build/client/assets/api._-C_6vCTaR.js +2 -0
- package/build/client/assets/api._-C_6vCTaR.js.map +1 -0
- package/build/client/assets/app-6dAYCqBT.js +2 -0
- package/build/client/assets/{app-B6Asqz0_.js.map → app-6dAYCqBT.js.map} +1 -1
- package/build/client/assets/app.epic_ws_.js_-C_6vCTaR.js +2 -0
- package/build/client/assets/app.epic_ws_.js_-C_6vCTaR.js.map +1 -0
- package/build/client/assets/apps-C_6vCTaR.js +2 -0
- package/build/client/assets/apps-C_6vCTaR.js.map +1 -0
- package/build/client/assets/apps-TWHOUoXd.js +2 -0
- package/build/client/assets/apps-TWHOUoXd.js.map +1 -0
- package/build/client/assets/{arc-BMVfhJT3.js → arc-BskUIF5k.js} +2 -2
- package/build/client/assets/{arc-BMVfhJT3.js.map → arc-BskUIF5k.js.map} +1 -1
- package/build/client/assets/{architectureDiagram-NQ2NVSRB-BIdrgV0s.js → architectureDiagram-NQ2NVSRB-D1HJz8yO.js} +2 -2
- package/build/client/assets/{architectureDiagram-NQ2NVSRB-BIdrgV0s.js.map → architectureDiagram-NQ2NVSRB-D1HJz8yO.js.map} +1 -1
- package/build/client/assets/{blockDiagram-PHRCVELO-BbpPuqMV.js → blockDiagram-PHRCVELO-DCrhcwkq.js} +2 -2
- package/build/client/assets/{blockDiagram-PHRCVELO-BbpPuqMV.js.map → blockDiagram-PHRCVELO-DCrhcwkq.js.map} +1 -1
- package/build/client/assets/{button-D02M3k_A.js → button-BNGMuAvW.js} +2 -2
- package/build/client/assets/{button-D02M3k_A.js.map → button-BNGMuAvW.js.map} +1 -1
- package/build/client/assets/{c4Diagram-6F6E4RAY-fp3r0ui0.js → c4Diagram-6F6E4RAY-ab4B6ycV.js} +2 -2
- package/build/client/assets/{c4Diagram-6F6E4RAY-fp3r0ui0.js.map → c4Diagram-6F6E4RAY-ab4B6ycV.js.map} +1 -1
- package/build/client/assets/cache-C_6vCTaR.js +2 -0
- package/build/client/assets/cache-C_6vCTaR.js.map +1 -0
- package/build/client/assets/channel-DWOje55X.js +2 -0
- package/build/client/assets/{channel-BWGVHDK-.js.map → channel-DWOje55X.js.map} +1 -1
- package/build/client/assets/{chunk-353BL4L5-C8aHupyU.js → chunk-353BL4L5-Bz7wi5XS.js} +2 -2
- package/build/client/assets/{chunk-353BL4L5-C8aHupyU.js.map → chunk-353BL4L5-Bz7wi5XS.js.map} +1 -1
- package/build/client/assets/{chunk-67H74DCK-BOeVunjk.js → chunk-67H74DCK-D5BP4wQy.js} +2 -2
- package/build/client/assets/{chunk-67H74DCK-BOeVunjk.js.map → chunk-67H74DCK-D5BP4wQy.js.map} +1 -1
- package/build/client/assets/{chunk-6OLS64BW-CFvuQ04p.js → chunk-6OLS64BW-DJ3kJWo9.js} +2 -2
- package/build/client/assets/{chunk-6OLS64BW-CFvuQ04p.js.map → chunk-6OLS64BW-DJ3kJWo9.js.map} +1 -1
- package/build/client/assets/{chunk-AACKK3MU-BetTIqd0.js → chunk-AACKK3MU-CaKDxoFt.js} +2 -2
- package/build/client/assets/{chunk-AACKK3MU-BetTIqd0.js.map → chunk-AACKK3MU-CaKDxoFt.js.map} +1 -1
- package/build/client/assets/{chunk-BFAMUDN2-C2PbRhzm.js → chunk-BFAMUDN2-FXeA9ocP.js} +2 -2
- package/build/client/assets/{chunk-BFAMUDN2-C2PbRhzm.js.map → chunk-BFAMUDN2-FXeA9ocP.js.map} +1 -1
- package/build/client/assets/{chunk-E2GYISFI-Bl4n1xdN.js → chunk-E2GYISFI-BQkQlNBL.js} +2 -2
- package/build/client/assets/{chunk-E2GYISFI-Bl4n1xdN.js.map → chunk-E2GYISFI-BQkQlNBL.js.map} +1 -1
- package/build/client/assets/{chunk-QEP2MXWD-mvodIAlz.js → chunk-QEP2MXWD-Cck1IPNo.js} +2 -2
- package/build/client/assets/{chunk-QEP2MXWD-mvodIAlz.js.map → chunk-QEP2MXWD-Cck1IPNo.js.map} +1 -1
- package/build/client/assets/{chunk-QMGIS6GS-Du-_uMOD.js → chunk-QMGIS6GS-X4HtlbLW.js} +2 -2
- package/build/client/assets/{chunk-QMGIS6GS-Du-_uMOD.js.map → chunk-QMGIS6GS-X4HtlbLW.js.map} +1 -1
- package/build/client/assets/{chunk-SKB7J2MH-Bbw5Ks_7.js → chunk-SKB7J2MH-BRNfjEbC.js} +2 -2
- package/build/client/assets/{chunk-SKB7J2MH-Bbw5Ks_7.js.map → chunk-SKB7J2MH-BRNfjEbC.js.map} +1 -1
- package/build/client/assets/classDiagram-BGRH5UQR-C9gEbhZD.js +2 -0
- package/build/client/assets/{classDiagram-BGRH5UQR-B43E4NNs.js.map → classDiagram-BGRH5UQR-C9gEbhZD.js.map} +1 -1
- package/build/client/assets/classDiagram-v2-O24JOBDK-C9gEbhZD.js +2 -0
- package/build/client/assets/{classDiagram-v2-O24JOBDK-B43E4NNs.js.map → classDiagram-v2-O24JOBDK-C9gEbhZD.js.map} +1 -1
- package/build/client/assets/clone-Dw92nCw9.js +2 -0
- package/build/client/assets/{clone-BniOf7Yb.js.map → clone-Dw92nCw9.js.map} +1 -1
- package/build/client/assets/{dagre-FFZHY6LT-vKH6qeW_.js → dagre-FFZHY6LT-B3IZ9n5v.js} +2 -2
- package/build/client/assets/{dagre-FFZHY6LT-vKH6qeW_.js.map → dagre-FFZHY6LT-B3IZ9n5v.js.map} +1 -1
- package/build/client/assets/{diagram-3EMPZRKU-D3BTQE0v.js → diagram-3EMPZRKU-C94TV-tA.js} +2 -2
- package/build/client/assets/{diagram-3EMPZRKU-D3BTQE0v.js.map → diagram-3EMPZRKU-C94TV-tA.js.map} +1 -1
- package/build/client/assets/{diagram-5UYTHUR4-BadShsGf.js → diagram-5UYTHUR4-BToN03QA.js} +2 -2
- package/build/client/assets/{diagram-5UYTHUR4-BadShsGf.js.map → diagram-5UYTHUR4-BToN03QA.js.map} +1 -1
- package/build/client/assets/{diagram-ZTM2IBQH-D9jJN3bl.js → diagram-ZTM2IBQH-0Lnh9m5j.js} +2 -2
- package/build/client/assets/{diagram-ZTM2IBQH-D9jJN3bl.js.map → diagram-ZTM2IBQH-0Lnh9m5j.js.map} +1 -1
- package/build/client/assets/diff-CN-quaHO.js +2 -0
- package/build/client/assets/{diff-CQVU7E-h.js.map → diff-CN-quaHO.js.map} +1 -1
- package/build/client/assets/{diff-B376IevU.js → diff-CiQricTa.js} +2 -2
- package/build/client/assets/{diff-B376IevU.js.map → diff-CiQricTa.js.map} +1 -1
- package/build/client/assets/{discord-Cx03Cky4.js → discord-BIqeUp96.js} +2 -2
- package/build/client/assets/{discord-Cx03Cky4.js.map → discord-BIqeUp96.js.map} +1 -1
- package/build/client/assets/discord-BWD2Bv5N.js +2 -0
- package/build/client/assets/discord-BWD2Bv5N.js.map +1 -0
- package/build/client/assets/{entry.client-C-f7Acxq.js → entry.client-CZqsV16s.js} +2 -2
- package/build/client/assets/{entry.client-C-f7Acxq.js.map → entry.client-CZqsV16s.js.map} +1 -1
- package/build/client/assets/{epic-video-CYB9v08Z.js → epic-video-7tluZCfa.js} +2 -2
- package/build/client/assets/{epic-video-CYB9v08Z.js.map → epic-video-7tluZCfa.js.map} +1 -1
- package/build/client/assets/epic_ws_.js_-C_6vCTaR.js +2 -0
- package/build/client/assets/epic_ws_.js_-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{erDiagram-R3QVA2FD-DA8ObfcQ.js → erDiagram-R3QVA2FD-afF_yaYi.js} +2 -2
- package/build/client/assets/{erDiagram-R3QVA2FD-DA8ObfcQ.js.map → erDiagram-R3QVA2FD-afF_yaYi.js.map} +1 -1
- package/build/client/assets/{error-boundary-BVQLpMgs.js → error-boundary-oSG-ExEd.js} +2 -2
- package/build/client/assets/{error-boundary-BVQLpMgs.js.map → error-boundary-oSG-ExEd.js.map} +1 -1
- package/build/client/assets/exercises-C_6vCTaR.js +2 -0
- package/build/client/assets/exercises-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{finished-CdbbjXVl.js → finished-DiGjrltK.js} +2 -2
- package/build/client/assets/{finished-CdbbjXVl.js.map → finished-DiGjrltK.js.map} +1 -1
- package/build/client/assets/{flowDiagram-PKI6S5ZS-Cl53QYkW.js → flowDiagram-PKI6S5ZS-DywOldvN.js} +2 -2
- package/build/client/assets/{flowDiagram-PKI6S5ZS-Cl53QYkW.js.map → flowDiagram-PKI6S5ZS-DywOldvN.js.map} +1 -1
- package/build/client/assets/{ganttDiagram-EK5VF46D-BvSMSlCf.js → ganttDiagram-EK5VF46D-CZ-7epBO.js} +2 -2
- package/build/client/assets/{ganttDiagram-EK5VF46D-BvSMSlCf.js.map → ganttDiagram-EK5VF46D-CZ-7epBO.js.map} +1 -1
- package/build/client/assets/{gitGraphDiagram-GW3U2K7C-BC4jDCQG.js → gitGraphDiagram-GW3U2K7C-Btut14eC.js} +2 -2
- package/build/client/assets/{gitGraphDiagram-GW3U2K7C-BC4jDCQG.js.map → gitGraphDiagram-GW3U2K7C-Btut14eC.js.map} +1 -1
- package/build/client/assets/{graph-DmoNxkW1.js → graph-CiKthlUH.js} +2 -2
- package/build/client/assets/{graph-DmoNxkW1.js.map → graph-CiKthlUH.js.map} +1 -1
- package/build/client/assets/healthcheck-C_6vCTaR.js +2 -0
- package/build/client/assets/healthcheck-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{index-CBUrmkWa.js → index-B8ExQ-5A.js} +2 -2
- package/build/client/assets/{index-CBUrmkWa.js.map → index-B8ExQ-5A.js.map} +1 -1
- package/build/client/assets/{index-DxebmNVe.js → index-BOxmeO6h.js} +2 -2
- package/build/client/assets/{index-DxebmNVe.js.map → index-BOxmeO6h.js.map} +1 -1
- package/build/client/assets/{index-DhyRhm-a.js → index-BrSaFy9r.js} +2 -2
- package/build/client/assets/{index-DhyRhm-a.js.map → index-BrSaFy9r.js.map} +1 -1
- package/build/client/assets/{index-B8smZwSG.js → index-CGfgwl2o.js} +2 -2
- package/build/client/assets/{index-B8smZwSG.js.map → index-CGfgwl2o.js.map} +1 -1
- package/build/client/assets/{index-wYr49Min.js → index-CICRWfwA.js} +2 -2
- package/build/client/assets/{index-wYr49Min.js.map → index-CICRWfwA.js.map} +1 -1
- package/build/client/assets/{index-CsJM7KSY.js → index-CQ9ND9HU.js} +2 -2
- package/build/client/assets/{index-CsJM7KSY.js.map → index-CQ9ND9HU.js.map} +1 -1
- package/build/client/assets/index-C_6vCTaR.js +2 -0
- package/build/client/assets/index-C_6vCTaR.js.map +1 -0
- package/build/client/assets/index-Clt4RPat.js +2 -0
- package/build/client/assets/index-Clt4RPat.js.map +1 -0
- package/build/client/assets/{index-C245u_6M.js → index-CxkovwXQ.js} +2 -2
- package/build/client/assets/{index-C245u_6M.js.map → index-CxkovwXQ.js.map} +1 -1
- package/build/client/assets/{index-2LBjIZsR.js → index-DHMekvRa.js} +2 -2
- package/build/client/assets/{index-2LBjIZsR.js.map → index-DHMekvRa.js.map} +1 -1
- package/build/client/assets/{index-CQpafIsR.js → index-Dn1v9SdB.js} +2 -2
- package/build/client/assets/{index-CQpafIsR.js.map → index-Dn1v9SdB.js.map} +1 -1
- package/build/client/assets/index-TWHOUoXd.js +2 -0
- package/build/client/assets/index-TWHOUoXd.js.map +1 -0
- package/build/client/assets/infoDiagram-XT3IWWJI-D1T7Cq6a.js +3 -0
- package/build/client/assets/{infoDiagram-XT3IWWJI-_8npXlsz.js.map → infoDiagram-XT3IWWJI-D1T7Cq6a.js.map} +1 -1
- package/build/client/assets/{journeyDiagram-EWQZEKCU-CLMB5SLF.js → journeyDiagram-EWQZEKCU-B9UIsr9b.js} +2 -2
- package/build/client/assets/{journeyDiagram-EWQZEKCU-CLMB5SLF.js.map → journeyDiagram-EWQZEKCU-B9UIsr9b.js.map} +1 -1
- package/build/client/assets/{jsx-runtime-DKBD_fLS.js → jsx-runtime-DsURZTcu.js} +2 -2
- package/build/client/assets/{jsx-runtime-DKBD_fLS.js.map → jsx-runtime-DsURZTcu.js.map} +1 -1
- package/build/client/assets/{kanban-definition-ILFWEQ3N-5PudnDcU.js → kanban-definition-ILFWEQ3N-CyKyZ6Wh.js} +2 -2
- package/build/client/assets/{kanban-definition-ILFWEQ3N-5PudnDcU.js.map → kanban-definition-ILFWEQ3N-CyKyZ6Wh.js.map} +1 -1
- package/build/client/assets/l-8o5tPY9F.js +2 -0
- package/build/client/assets/{l-CjuVWd7j.js.map → l-8o5tPY9F.js.map} +1 -1
- package/build/client/assets/launch-editor-C_6vCTaR.js +2 -0
- package/build/client/assets/launch-editor-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{layout-BXfvL1vj.js → layout-BA1bIau_.js} +2 -2
- package/build/client/assets/{layout-BXfvL1vj.js.map → layout-BA1bIau_.js.map} +1 -1
- package/build/client/assets/{linear-DhCwCW7Y.js → linear-Bug06cVg.js} +2 -2
- package/build/client/assets/{linear-DhCwCW7Y.js.map → linear-Bug06cVg.js.map} +1 -1
- package/build/client/assets/{loading-BuvISkeY.js → loading-DzDAEykN.js} +2 -2
- package/build/client/assets/{loading-BuvISkeY.js.map → loading-DzDAEykN.js.map} +1 -1
- package/build/client/assets/{login-BH4ljGt7.js → login-CL5KBzmc.js} +2 -2
- package/build/client/assets/{login-BH4ljGt7.js.map → login-CL5KBzmc.js.map} +1 -1
- package/build/client/assets/login-sse-C_6vCTaR.js +2 -0
- package/build/client/assets/login-sse-C_6vCTaR.js.map +1 -0
- package/build/client/assets/lookout-C_6vCTaR.js +2 -0
- package/build/client/assets/lookout-C_6vCTaR.js.map +1 -0
- package/build/client/assets/manifest-b5b0413b.js +1 -0
- package/build/client/assets/{mdx-DdK1AGxI.js → mdx-Dvg0ifxF.js} +3 -3
- package/build/client/assets/{mdx-DdK1AGxI.js.map → mdx-Dvg0ifxF.js.map} +1 -1
- package/build/client/assets/{mermaid.core-tdjgKLol.js → mermaid.core-CRanZ2_x.js} +5 -5
- package/build/client/assets/{mermaid.core-tdjgKLol.js.map → mermaid.core-CRanZ2_x.js.map} +1 -1
- package/build/client/assets/{mindmap-definition-CZNETY7S-DocEjJYU.js → mindmap-definition-CZNETY7S-DtPMn4z7.js} +2 -2
- package/build/client/assets/{mindmap-definition-CZNETY7S-DocEjJYU.js.map → mindmap-definition-CZNETY7S-DtPMn4z7.js.map} +1 -1
- package/build/client/assets/{misc-D7yrZhQB.js → misc-C_Wy6Ozi.js} +2 -2
- package/build/client/assets/{misc-D7yrZhQB.js.map → misc-C_Wy6Ozi.js.map} +1 -1
- package/build/client/assets/{nav-chevrons-DWkM88G0.js → nav-chevrons-CkjJbQ8J.js} +2 -2
- package/build/client/assets/{nav-chevrons-DWkM88G0.js.map → nav-chevrons-CkjJbQ8J.js.map} +1 -1
- package/build/client/assets/notifications-C_6vCTaR.js +2 -0
- package/build/client/assets/notifications-C_6vCTaR.js.map +1 -0
- package/build/client/assets/og-C_6vCTaR.js +2 -0
- package/build/client/assets/og-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{onboarding-C59GmR50.js → onboarding-BNOIjq0D.js} +2 -2
- package/build/client/assets/{onboarding-C59GmR50.js.map → onboarding-BNOIjq0D.js.map} +1 -1
- package/build/client/assets/{online-D4vODkth.js → online-TZVMTbWw.js} +2 -2
- package/build/client/assets/{online-D4vODkth.js.map → online-TZVMTbWw.js.map} +1 -1
- package/build/client/assets/{pe-CdmQkMqU.js → pe-Cte41gbF.js} +2 -2
- package/build/client/assets/{pe-CdmQkMqU.js.map → pe-Cte41gbF.js.map} +1 -1
- package/build/client/assets/{pieDiagram-NIOCPIFQ-DVmMnK74.js → pieDiagram-NIOCPIFQ-i9_oP5Hn.js} +2 -2
- package/build/client/assets/{pieDiagram-NIOCPIFQ-DVmMnK74.js.map → pieDiagram-NIOCPIFQ-i9_oP5Hn.js.map} +1 -1
- package/build/client/assets/{preferences-DfB9rP8a.js → preferences-C7fRT1yj.js} +2 -2
- package/build/client/assets/{preferences-DfB9rP8a.js.map → preferences-C7fRT1yj.js.map} +1 -1
- package/build/client/assets/{presence-DWQewy5j.js → presence-BgXbhCXw.js} +2 -2
- package/build/client/assets/{presence-DWQewy5j.js.map → presence-BgXbhCXw.js.map} +1 -1
- package/build/client/assets/{preview-CwjqbpcS.js → preview-BhbWtM_7.js} +2 -2
- package/build/client/assets/{preview-CwjqbpcS.js.map → preview-BhbWtM_7.js.map} +1 -1
- package/build/client/assets/processes-C_6vCTaR.js +2 -0
- package/build/client/assets/processes-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{product-KkdaVQou.js → product-CYLzCZoj.js} +2 -2
- package/build/client/assets/{product-KkdaVQou.js.map → product-CYLzCZoj.js.map} +1 -1
- package/build/client/assets/{progress-CdZ-Vcyn.js → progress-BV2BTh46.js} +2 -2
- package/build/client/assets/{progress-CdZ-Vcyn.js.map → progress-BV2BTh46.js.map} +1 -1
- package/build/client/assets/progress-C_6vCTaR.js +2 -0
- package/build/client/assets/progress-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{progress-bar-B3_pKtoN.js → progress-bar-D6ygvlaD.js} +2 -2
- package/build/client/assets/{progress-bar-B3_pKtoN.js.map → progress-bar-D6ygvlaD.js.map} +1 -1
- package/build/client/assets/{quadrantDiagram-2OG54O6I-BpG5BmQ3.js → quadrantDiagram-2OG54O6I-18jYaX1U.js} +2 -2
- package/build/client/assets/{quadrantDiagram-2OG54O6I-BpG5BmQ3.js.map → quadrantDiagram-2OG54O6I-18jYaX1U.js.map} +1 -1
- package/build/client/assets/{requirementDiagram-SO3GGRV7-CeVkImIX.js → requirementDiagram-SO3GGRV7-Xw6z7_yk.js} +2 -2
- package/build/client/assets/{requirementDiagram-SO3GGRV7-CeVkImIX.js.map → requirementDiagram-SO3GGRV7-Xw6z7_yk.js.map} +1 -1
- package/build/client/assets/{revalidation-ws-Do4fE9JQ.js → revalidation-ws-kMaOT4Vi.js} +2 -2
- package/build/client/assets/{revalidation-ws-Do4fE9JQ.js.map → revalidation-ws-kMaOT4Vi.js.map} +1 -1
- package/build/client/assets/robots_._txt-C_6vCTaR.js +2 -0
- package/build/client/assets/robots_._txt-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{root-C0Bm0Ely.js → root-CeBcwH5A.js} +2 -2
- package/build/client/assets/{root-C0Bm0Ely.js.map → root-CeBcwH5A.js.map} +1 -1
- package/build/client/assets/{sankeyDiagram-4UZDY2LN-CMy-UAmy.js → sankeyDiagram-4UZDY2LN-BqXSiD2M.js} +2 -2
- package/build/client/assets/{sankeyDiagram-4UZDY2LN-CMy-UAmy.js.map → sankeyDiagram-4UZDY2LN-BqXSiD2M.js.map} +1 -1
- package/build/client/assets/{seo-P_yhbn7-.js → seo-CQ4WV-0-.js} +2 -2
- package/build/client/assets/{seo-P_yhbn7-.js.map → seo-CQ4WV-0-.js.map} +1 -1
- package/build/client/assets/{sequenceDiagram-ZIKVLSP4-BvE7ME5W.js → sequenceDiagram-ZIKVLSP4-vUDUv2_D.js} +2 -2
- package/build/client/assets/{sequenceDiagram-ZIKVLSP4-BvE7ME5W.js.map → sequenceDiagram-ZIKVLSP4-vUDUv2_D.js.map} +1 -1
- package/build/client/assets/set-playground-C_6vCTaR.js +2 -0
- package/build/client/assets/set-playground-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{set-playground-1BzordBz.js → set-playground-UCfTdubZ.js} +2 -2
- package/build/client/assets/{set-playground-1BzordBz.js.map → set-playground-UCfTdubZ.js.map} +1 -1
- package/build/client/assets/sitemap_._xml-C_6vCTaR.js +2 -0
- package/build/client/assets/sitemap_._xml-C_6vCTaR.js.map +1 -0
- package/build/client/assets/start-C_6vCTaR.js +2 -0
- package/build/client/assets/start-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{stateDiagram-XX37X6EN-DZlrR-hS.js → stateDiagram-XX37X6EN-CS5kjJa3.js} +2 -2
- package/build/client/assets/{stateDiagram-XX37X6EN-DZlrR-hS.js.map → stateDiagram-XX37X6EN-CS5kjJa3.js.map} +1 -1
- package/build/client/assets/stateDiagram-v2-GD6S3NHB-Bc7inWs3.js +2 -0
- package/build/client/assets/{stateDiagram-v2-GD6S3NHB-D6K_ePXI.js.map → stateDiagram-v2-GD6S3NHB-Bc7inWs3.js.map} +1 -1
- package/build/client/assets/{support-D2ZulF0D.js → support-cdfZuAYQ.js} +2 -2
- package/build/client/assets/{support-D2ZulF0D.js.map → support-cdfZuAYQ.js.map} +1 -1
- package/build/client/assets/test-C_6vCTaR.js +2 -0
- package/build/client/assets/test-C_6vCTaR.js.map +1 -0
- package/build/client/assets/test-G3KOcfVS.js +2 -0
- package/build/client/assets/{test-D7r_HsN4.js.map → test-G3KOcfVS.js.map} +1 -1
- package/build/client/assets/test._testName-C_6vCTaR.js +2 -0
- package/build/client/assets/test._testName-C_6vCTaR.js.map +1 -0
- package/build/client/assets/test.epic_ws_.js_-C_6vCTaR.js +2 -0
- package/build/client/assets/test.epic_ws_.js_-C_6vCTaR.js.map +1 -0
- package/build/client/assets/{tests-DaEG5aZr.js → tests-Gj3hJRKB.js} +2 -2
- package/build/client/assets/{tests-DaEG5aZr.js.map → tests-Gj3hJRKB.js.map} +1 -1
- package/build/client/assets/{timeline-definition-RI47OAVP-1EQPBN04.js → timeline-definition-RI47OAVP-D__Fk2gz.js} +2 -2
- package/build/client/assets/{timeline-definition-RI47OAVP-1EQPBN04.js.map → timeline-definition-RI47OAVP-D__Fk2gz.js.map} +1 -1
- package/build/client/assets/{tooltip-CUdKgIRf.js → tooltip-JOPrmP6Z.js} +2 -2
- package/build/client/assets/{tooltip-CUdKgIRf.js.map → tooltip-JOPrmP6Z.js.map} +1 -1
- package/build/client/assets/{treemap-6Y5VK53G-CCaJF09R.js → treemap-6Y5VK53G-BgPKoFn0.js} +2 -2
- package/build/client/assets/{treemap-6Y5VK53G-CCaJF09R.js.map → treemap-6Y5VK53G-BgPKoFn0.js.map} +1 -1
- package/build/client/assets/{use-event-source-BOTYusqH.js → use-event-source-B37FxEl1.js} +2 -2
- package/build/client/assets/{use-event-source-BOTYusqH.js.map → use-event-source-B37FxEl1.js.map} +1 -1
- package/build/client/assets/{user-BUyyWGpK.js → user-CW_hpuGs.js} +2 -2
- package/build/client/assets/{user-BUyyWGpK.js.map → user-CW_hpuGs.js.map} +1 -1
- package/build/client/assets/{version-VDBggzrB.js → version-DxzF7eZh.js} +2 -2
- package/build/client/assets/{version-VDBggzrB.js.map → version-DxzF7eZh.js.map} +1 -1
- package/build/client/assets/workshop-config-gL_m3l7d.js +2 -0
- package/build/client/assets/{workshop-config-eejws2-k.js.map → workshop-config-gL_m3l7d.js.map} +1 -1
- package/build/client/assets/{workspace-structure-DwQUtU0r.js → workspace-structure-DrXtkCLM.js} +2 -2
- package/build/client/assets/{workspace-structure-DwQUtU0r.js.map → workspace-structure-DrXtkCLM.js.map} +1 -1
- package/build/client/assets/{xychartDiagram-H2YORKM3-ZB2741wi.js → xychartDiagram-H2YORKM3-CGqU7y0V.js} +2 -2
- package/build/client/assets/{xychartDiagram-H2YORKM3-ZB2741wi.js.map → xychartDiagram-H2YORKM3-CGqU7y0V.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/package.json +1 -1
- package/build/client/assets/_-BEfdnu_S.js +0 -2
- package/build/client/assets/_-BEfdnu_S.js.map +0 -1
- package/build/client/assets/_exerciseNumber_._stepNumber.index-D9zwSM-a.js +0 -2
- package/build/client/assets/_exerciseNumber_._stepNumber.index-D9zwSM-a.js.map +0 -1
- package/build/client/assets/_layout-DQs7hBSg.js +0 -2
- package/build/client/assets/api._-D9zwSM-a.js +0 -2
- package/build/client/assets/api._-D9zwSM-a.js.map +0 -1
- package/build/client/assets/app-B6Asqz0_.js +0 -2
- package/build/client/assets/app.epic_ws_.js_-D9zwSM-a.js +0 -2
- package/build/client/assets/app.epic_ws_.js_-D9zwSM-a.js.map +0 -1
- package/build/client/assets/apps-D9zwSM-a.js +0 -2
- package/build/client/assets/apps-D9zwSM-a.js.map +0 -1
- package/build/client/assets/apps-DxgBeJoD.js +0 -2
- package/build/client/assets/apps-DxgBeJoD.js.map +0 -1
- package/build/client/assets/cache-D9zwSM-a.js +0 -2
- package/build/client/assets/cache-D9zwSM-a.js.map +0 -1
- package/build/client/assets/channel-BWGVHDK-.js +0 -2
- package/build/client/assets/classDiagram-BGRH5UQR-B43E4NNs.js +0 -2
- package/build/client/assets/classDiagram-v2-O24JOBDK-B43E4NNs.js +0 -2
- package/build/client/assets/clone-BniOf7Yb.js +0 -2
- package/build/client/assets/diff-CQVU7E-h.js +0 -2
- package/build/client/assets/discord-B39XeN10.js +0 -2
- package/build/client/assets/discord-B39XeN10.js.map +0 -1
- package/build/client/assets/epic_ws_.js_-D9zwSM-a.js +0 -2
- package/build/client/assets/epic_ws_.js_-D9zwSM-a.js.map +0 -1
- package/build/client/assets/exercises-D9zwSM-a.js +0 -2
- package/build/client/assets/exercises-D9zwSM-a.js.map +0 -1
- package/build/client/assets/healthcheck-D9zwSM-a.js +0 -2
- package/build/client/assets/healthcheck-D9zwSM-a.js.map +0 -1
- package/build/client/assets/index-BcumkKvQ.js +0 -2
- package/build/client/assets/index-BcumkKvQ.js.map +0 -1
- package/build/client/assets/index-D9zwSM-a.js +0 -2
- package/build/client/assets/index-D9zwSM-a.js.map +0 -1
- package/build/client/assets/index-DxgBeJoD.js +0 -2
- package/build/client/assets/index-DxgBeJoD.js.map +0 -1
- package/build/client/assets/infoDiagram-XT3IWWJI-_8npXlsz.js +0 -3
- package/build/client/assets/l-CjuVWd7j.js +0 -2
- package/build/client/assets/launch-editor-D9zwSM-a.js +0 -2
- package/build/client/assets/launch-editor-D9zwSM-a.js.map +0 -1
- package/build/client/assets/login-sse-D9zwSM-a.js +0 -2
- package/build/client/assets/login-sse-D9zwSM-a.js.map +0 -1
- package/build/client/assets/lookout-D9zwSM-a.js +0 -2
- package/build/client/assets/lookout-D9zwSM-a.js.map +0 -1
- package/build/client/assets/manifest-f4a6d68a.js +0 -1
- package/build/client/assets/notifications-D9zwSM-a.js +0 -2
- package/build/client/assets/notifications-D9zwSM-a.js.map +0 -1
- package/build/client/assets/og-D9zwSM-a.js +0 -2
- package/build/client/assets/og-D9zwSM-a.js.map +0 -1
- package/build/client/assets/processes-D9zwSM-a.js +0 -2
- package/build/client/assets/processes-D9zwSM-a.js.map +0 -1
- package/build/client/assets/progress-D9zwSM-a.js +0 -2
- package/build/client/assets/progress-D9zwSM-a.js.map +0 -1
- package/build/client/assets/robots_._txt-D9zwSM-a.js +0 -2
- package/build/client/assets/robots_._txt-D9zwSM-a.js.map +0 -1
- package/build/client/assets/set-playground-D9zwSM-a.js +0 -2
- package/build/client/assets/set-playground-D9zwSM-a.js.map +0 -1
- package/build/client/assets/sitemap_._xml-D9zwSM-a.js +0 -2
- package/build/client/assets/sitemap_._xml-D9zwSM-a.js.map +0 -1
- package/build/client/assets/start-D9zwSM-a.js +0 -2
- package/build/client/assets/start-D9zwSM-a.js.map +0 -1
- package/build/client/assets/stateDiagram-v2-GD6S3NHB-D6K_ePXI.js +0 -2
- package/build/client/assets/test-D7r_HsN4.js +0 -2
- package/build/client/assets/test-D9zwSM-a.js +0 -2
- package/build/client/assets/test-D9zwSM-a.js.map +0 -1
- package/build/client/assets/test._testName-D9zwSM-a.js +0 -2
- package/build/client/assets/test._testName-D9zwSM-a.js.map +0 -1
- package/build/client/assets/test.epic_ws_.js_-D9zwSM-a.js +0 -2
- package/build/client/assets/test.epic_ws_.js_-D9zwSM-a.js.map +0 -1
- package/build/client/assets/workshop-config-eejws2-k.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{w as u,f as b,L as a,F as i}from"./chunk-QMGIS6GS-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{w as u,f as b,L as a,F as i}from"./chunk-QMGIS6GS-X4HtlbLW.js";import{j as e}from"./jsx-runtime-DsURZTcu.js";import{I as d}from"./misc-C_Wy6Ozi.js";import{S as j}from"./tooltip-JOPrmP6Z.js";import{a as f}from"./progress-BV2BTh46.js";import"./_-BlUNM4zq.js";import"./clsx-B-dksMZM.js";import"./index-CGfgwl2o.js";import"./pe-Cte41gbF.js";const D={getSitemapEntries:()=>null},L=({matches:t})=>[{title:`👷 | ${t.find(r=>r?.id==="root")?.data?.workshopTitle}`}];function g(t,n){return t.type==="unknown"&&n.type==="unknown"?0:t.type==="unknown"?-1:n.type==="unknown"?1:0}function N(t){switch(t.type){case"workshop-instructions":return"/";case"workshop-finished":return"/finished";case"instructions":return`/${t.exerciseNumber.toString().padStart(2,"0")}`;case"step":return`/${t.exerciseNumber.toString().padStart(2,"0")}/${t.stepNumber.toString().padStart(2,"0")}`;case"finished":return`/${t.exerciseNumber.toString().padStart(2,"0")}/finished`;default:return""}}const E=u(function({loaderData:n}){const r=b(),o=f(),h=r.formData?.get("intent")==="inspect",m=r.formData?.get("intent")==="stop-inspect",x={completed:"bg-blue-500",incomplete:"bg-yellow-500"};return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Progress"}),o?e.jsx("ul",{className:"flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:o.sort(g).map(s=>{const l=s.epicCompletedAt?"completed":"incomplete",c=[s.epicLessonSlug,s.epicCompletedAt?`(${s.epicCompletedAt})`:null].filter(Boolean).join(" ");return e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`h-3 w-3 rounded-full ${x[l]}`,title:l}),s.type==="unknown"?e.jsxs("span",{className:"flex items-center gap-1",children:[c,e.jsx("span",{className:"text-red-500",children:e.jsx(j,{content:"This video is in the workshop on EpicWeb.dev, but not in the local workshop.",children:e.jsx(d,{name:"Close"})})})]}):e.jsx(a,{to:N(s),children:c}),e.jsx(a,{to:s.epicLessonUrl,children:e.jsx(d,{name:"ExternalLink"})})]},s.epicLessonSlug)})}):e.jsx("p",{children:"No progress data"})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Commands"}),e.jsxs("ul",{className:"max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:[e.jsx("li",{children:e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"clear-caches",children:"Clear local caches"})})}),e.jsx("li",{children:e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"clear-data",children:"Clear all local data (including auth data)"})})}),e.jsx("li",{children:n.inspectorRunning?e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"stop-inspect",children:h?"Stopping inspector...":"Stop inspector"})}):e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"inspect",children:m?"Starting inspector...":"Start inspector"})})})]})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Apps"}),e.jsx("ul",{className:"max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:n.apps.map(s=>e.jsxs("li",{className:"flex items-center gap-2 py-1",children:[n.processes[s.name]?e.jsx(p,{status:"running"}):e.jsx(p,{status:"stopped"}),s.name]},s.name))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Processes"}),e.jsx("ul",{className:"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:Object.entries(n.processes).map(([s,l])=>e.jsx("li",{children:e.jsxs("span",{children:[s," - Port: ",l.port," - PID ",l.pid," -"," ",l.color]})},s))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Test Processes"}),e.jsx("ul",{className:"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:Object.entries(n.testProcesses).map(([s,l])=>e.jsx("li",{children:e.jsxs("span",{children:[s," - PID ",l.pid," - Exit code: ",l.exitCode]})},s))})]})]})});function p({status:t}){const n={running:{pinger:"bg-green-400",circle:"bg-green-500"},starting:{pinger:"bg-sky-400",circle:"bg-sky-500"},stopped:{circle:"bg-gray-500"},taken:{pinger:"bg-red-400",circle:"bg-red-500"}}[t];return e.jsxs("span",{className:"relative flex h-3 w-3",children:[n.pinger?e.jsx("span",{className:`absolute inline-flex h-full w-full animate-ping rounded-full ${n.pinger} opacity-75`}):null,e.jsx("span",{className:`relative inline-flex h-3 w-3 rounded-full ${n.circle}`})]})}export{E as default,D as handle,L as meta};
|
|
2
|
+
//# sourceMappingURL=index-CQ9ND9HU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-CsJM7KSY.js","sources":["../../../app/routes/admin+/index.tsx"],"sourcesContent":["import { getApps } from '@epic-web/workshop-utils/apps.server'\nimport { getProcesses } from '@epic-web/workshop-utils/process-manager.server'\nimport {\n\tgetServerTimeHeader,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { data, Form, Link, useNavigation } from 'react-router'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.tsx'\nimport { type RootLoaderData } from '#app/root.tsx'\nimport {\n\tuseEpicProgress,\n\ttype SerializedProgress,\n} from '#app/routes/progress.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { type Route } from './+types/index.tsx'\nimport {\n\tclearCaches,\n\tclearData,\n\tstartInspector,\n\tstopInspector,\n} from './admin-utils.server.tsx'\n\ndeclare global {\n\tvar __inspector_open__: boolean | undefined\n}\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport const meta: Route.MetaFunction = ({ matches }) => {\n\tconst rootData = matches.find((m) => m?.id === 'root')?.data as RootLoaderData\n\treturn [{ title: `👷 | ${rootData?.workshopTitle}` }]\n}\n\nexport async function loader({ request }: Route.LoaderArgs) {\n\tensureUndeployed()\n\tconst timings = makeTimings('adminLoader')\n\tconst apps = (await getApps({ request, timings })).filter(\n\t\t(a, i, ar) => ar.findIndex((b) => a.name === b.name) === i,\n\t)\n\tconst processes: Record<\n\t\tstring,\n\t\t{ port: number; pid?: number; color: string }\n\t> = {}\n\tconst testProcesses: Record<\n\t\tstring,\n\t\t{ pid?: number; exitCode?: number | null }\n\t> = {}\n\tfor (const [\n\t\tname,\n\t\t{ port, process, color },\n\t] of getProcesses().devProcesses.entries()) {\n\t\tprocesses[name] = { port, pid: process.pid, color }\n\t}\n\n\tfor (const [\n\t\tname,\n\t\t{ process, exitCode },\n\t] of getProcesses().testProcesses.entries()) {\n\t\ttestProcesses[name] = { pid: process?.pid, exitCode }\n\t}\n\treturn data(\n\t\t{\n\t\t\tapps,\n\t\t\tprocesses,\n\t\t\ttestProcesses,\n\t\t\tinspectorRunning: global.__inspector_open__,\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': getServerTimeHeader(timings),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport async function action({ request }: Route.ActionArgs) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tswitch (intent) {\n\t\tcase 'clear-data': {\n\t\t\tawait clearData()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'clear-caches': {\n\t\t\tawait clearCaches()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'inspect': {\n\t\t\tawait startInspector()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'stop-inspect': {\n\t\t\tawait stopInspector()\n\t\t\treturn { success: true }\n\t\t}\n\t\tdefault: {\n\t\t\tthrow new Error(`Unknown intent: ${intent}`)\n\t\t}\n\t}\n}\n\nfunction sortProgress(a: SerializedProgress, b: SerializedProgress) {\n\treturn a.type === 'unknown' && b.type === 'unknown'\n\t\t? 0\n\t\t: a.type === 'unknown'\n\t\t\t? -1\n\t\t\t: b.type === 'unknown'\n\t\t\t\t? 1\n\t\t\t\t: 0\n}\n\nfunction linkProgress(progress: SerializedProgress) {\n\tswitch (progress.type) {\n\t\tcase 'workshop-instructions':\n\t\t\treturn '/'\n\t\tcase 'workshop-finished':\n\t\t\treturn '/finished'\n\t\tcase 'instructions':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}`\n\t\tcase 'step':\n\t\t\treturn `/${progress.exerciseNumber\n\t\t\t\t.toString()\n\t\t\t\t.padStart(2, '0')}/${progress.stepNumber.toString().padStart(2, '0')}`\n\t\tcase 'finished':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}/finished`\n\t\tdefault:\n\t\t\treturn ''\n\t}\n}\n\nexport default function AdminLayout({\n\tloaderData: data,\n}: Route.ComponentProps) {\n\tconst navigation = useNavigation()\n\tconst epicProgress = useEpicProgress()\n\n\tconst isStartingInspector = navigation.formData?.get('intent') === 'inspect'\n\tconst isStoppingInspector =\n\t\tnavigation.formData?.get('intent') === 'stop-inspect'\n\n\tconst progressStatus = {\n\t\tcompleted: 'bg-blue-500',\n\t\tincomplete: 'bg-yellow-500',\n\t}\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Progress</h2>\n\t\t\t\t{epicProgress ? (\n\t\t\t\t\t<ul className=\"flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t{epicProgress.sort(sortProgress).map((progress) => {\n\t\t\t\t\t\t\tconst status = progress.epicCompletedAt\n\t\t\t\t\t\t\t\t? 'completed'\n\t\t\t\t\t\t\t\t: 'incomplete'\n\t\t\t\t\t\t\tconst label = [\n\t\t\t\t\t\t\t\tprogress.epicLessonSlug,\n\t\t\t\t\t\t\t\tprogress.epicCompletedAt\n\t\t\t\t\t\t\t\t\t? `(${progress.epicCompletedAt})`\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t.join(' ')\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tkey={progress.epicLessonSlug}\n\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={`h-3 w-3 rounded-full ${progressStatus[status]}`}\n\t\t\t\t\t\t\t\t\t\ttitle={status}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{progress.type === 'unknown' ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-red-500\">\n\t\t\t\t\t\t\t\t\t\t\t\t<SimpleTooltip content=\"This video is in the workshop on EpicWeb.dev, but not in the local workshop.\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon name=\"Close\" />\n\t\t\t\t\t\t\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<Link to={linkProgress(progress)}>{label}</Link>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<Link to={progress.epicLessonUrl}>\n\t\t\t\t\t\t\t\t\t\t<Icon name=\"ExternalLink\"></Icon>\n\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t) : (\n\t\t\t\t\t<p>No progress data</p>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Commands</h2>\n\t\t\t\t<ul className=\"max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-caches\">\n\t\t\t\t\t\t\t\tClear local caches\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Form>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-data\">\n\t\t\t\t\t\t\t\tClear all local data (including auth data)\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Form>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t{data.inspectorRunning ? (\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"stop-inspect\">\n\t\t\t\t\t\t\t\t\t{isStartingInspector\n\t\t\t\t\t\t\t\t\t\t? 'Stopping inspector...'\n\t\t\t\t\t\t\t\t\t\t: 'Stop inspector'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"inspect\">\n\t\t\t\t\t\t\t\t\t{isStoppingInspector\n\t\t\t\t\t\t\t\t\t\t? 'Starting inspector...'\n\t\t\t\t\t\t\t\t\t\t: 'Start inspector'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Apps</h2>\n\t\t\t\t<ul className=\"max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{data.apps.map((app) => (\n\t\t\t\t\t\t<li key={app.name} className=\"flex items-center gap-2 py-1\">\n\t\t\t\t\t\t\t{data.processes[app.name] ? (\n\t\t\t\t\t\t\t\t<Pinger status=\"running\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Pinger status=\"stopped\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{app.name}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Processes</h2>\n\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{Object.entries(data.processes).map(([key, process]) => (\n\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t{key} - Port: {process.port} - PID {process.pid} -{' '}\n\t\t\t\t\t\t\t\t{process.color}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Test Processes</h2>\n\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{Object.entries(data.testProcesses).map(([key, process]) => (\n\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t{key} - PID {process.pid} - Exit code: {process.exitCode}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction Pinger({\n\tstatus,\n}: {\n\tstatus: 'running' | 'starting' | 'stopped' | 'taken'\n}) {\n\tconst colors = {\n\t\trunning: {\n\t\t\tpinger: 'bg-green-400',\n\t\t\tcircle: 'bg-green-500',\n\t\t},\n\t\tstarting: {\n\t\t\tpinger: 'bg-sky-400',\n\t\t\tcircle: 'bg-sky-500',\n\t\t},\n\t\tstopped: {\n\t\t\tcircle: 'bg-gray-500',\n\t\t},\n\t\ttaken: {\n\t\t\tpinger: 'bg-red-400',\n\t\t\tcircle: 'bg-red-500',\n\t\t},\n\t}[status]\n\treturn (\n\t\t<span className=\"relative flex h-3 w-3\">\n\t\t\t{colors.pinger ? (\n\t\t\t\t<span\n\t\t\t\t\tclassName={`absolute inline-flex h-full w-full animate-ping rounded-full ${colors.pinger} opacity-75`}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<span\n\t\t\t\tclassName={`relative inline-flex h-3 w-3 rounded-full ${colors.circle}`}\n\t\t\t/>\n\t\t</span>\n\t)\n}\n"],"names":["handle","getSitemapEntries","meta","matches","title","find","m","id","data","workshopTitle","sortProgress","a","b","type","linkProgress","progress","exerciseNumber","toString","padStart","stepNumber","index","_UNSAFE_withComponentProps","loaderData","navigation","useNavigation","epicProgress","useEpicProgress","isStartingInspector","formData","get","isStoppingInspector","progressStatus","completed","incomplete","jsxs","className","children","jsx","sort","map","status","epicCompletedAt","label","epicLessonSlug","filter","Boolean","join","SimpleTooltip","content","Icon","name","Link","to","epicLessonUrl","Form","method","value","inspectorRunning","apps","app","processes","Pinger","Object","entries","key","process","port","pid","color","testProcesses","exitCode","colors","running","pinger","circle","starting","stopped","taken"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-CQ9ND9HU.js","sources":["../../../app/routes/admin+/index.tsx"],"sourcesContent":["import { getApps } from '@epic-web/workshop-utils/apps.server'\nimport { getProcesses } from '@epic-web/workshop-utils/process-manager.server'\nimport {\n\tgetServerTimeHeader,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { data, Form, Link, useNavigation } from 'react-router'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.tsx'\nimport { type RootLoaderData } from '#app/root.tsx'\nimport {\n\tuseEpicProgress,\n\ttype SerializedProgress,\n} from '#app/routes/progress.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { type Route } from './+types/index.tsx'\nimport {\n\tclearCaches,\n\tclearData,\n\tstartInspector,\n\tstopInspector,\n} from './admin-utils.server.tsx'\n\ndeclare global {\n\tvar __inspector_open__: boolean | undefined\n}\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport const meta: Route.MetaFunction = ({ matches }) => {\n\tconst rootData = matches.find((m) => m?.id === 'root')?.data as RootLoaderData\n\treturn [{ title: `👷 | ${rootData?.workshopTitle}` }]\n}\n\nexport async function loader({ request }: Route.LoaderArgs) {\n\tensureUndeployed()\n\tconst timings = makeTimings('adminLoader')\n\tconst apps = (await getApps({ request, timings })).filter(\n\t\t(a, i, ar) => ar.findIndex((b) => a.name === b.name) === i,\n\t)\n\tconst processes: Record<\n\t\tstring,\n\t\t{ port: number; pid?: number; color: string }\n\t> = {}\n\tconst testProcesses: Record<\n\t\tstring,\n\t\t{ pid?: number; exitCode?: number | null }\n\t> = {}\n\tfor (const [\n\t\tname,\n\t\t{ port, process, color },\n\t] of getProcesses().devProcesses.entries()) {\n\t\tprocesses[name] = { port, pid: process.pid, color }\n\t}\n\n\tfor (const [\n\t\tname,\n\t\t{ process, exitCode },\n\t] of getProcesses().testProcesses.entries()) {\n\t\ttestProcesses[name] = { pid: process?.pid, exitCode }\n\t}\n\treturn data(\n\t\t{\n\t\t\tapps,\n\t\t\tprocesses,\n\t\t\ttestProcesses,\n\t\t\tinspectorRunning: global.__inspector_open__,\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': getServerTimeHeader(timings),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport async function action({ request }: Route.ActionArgs) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tswitch (intent) {\n\t\tcase 'clear-data': {\n\t\t\tawait clearData()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'clear-caches': {\n\t\t\tawait clearCaches()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'inspect': {\n\t\t\tawait startInspector()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'stop-inspect': {\n\t\t\tawait stopInspector()\n\t\t\treturn { success: true }\n\t\t}\n\t\tdefault: {\n\t\t\tthrow new Error(`Unknown intent: ${intent}`)\n\t\t}\n\t}\n}\n\nfunction sortProgress(a: SerializedProgress, b: SerializedProgress) {\n\treturn a.type === 'unknown' && b.type === 'unknown'\n\t\t? 0\n\t\t: a.type === 'unknown'\n\t\t\t? -1\n\t\t\t: b.type === 'unknown'\n\t\t\t\t? 1\n\t\t\t\t: 0\n}\n\nfunction linkProgress(progress: SerializedProgress) {\n\tswitch (progress.type) {\n\t\tcase 'workshop-instructions':\n\t\t\treturn '/'\n\t\tcase 'workshop-finished':\n\t\t\treturn '/finished'\n\t\tcase 'instructions':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}`\n\t\tcase 'step':\n\t\t\treturn `/${progress.exerciseNumber\n\t\t\t\t.toString()\n\t\t\t\t.padStart(2, '0')}/${progress.stepNumber.toString().padStart(2, '0')}`\n\t\tcase 'finished':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}/finished`\n\t\tdefault:\n\t\t\treturn ''\n\t}\n}\n\nexport default function AdminLayout({\n\tloaderData: data,\n}: Route.ComponentProps) {\n\tconst navigation = useNavigation()\n\tconst epicProgress = useEpicProgress()\n\n\tconst isStartingInspector = navigation.formData?.get('intent') === 'inspect'\n\tconst isStoppingInspector =\n\t\tnavigation.formData?.get('intent') === 'stop-inspect'\n\n\tconst progressStatus = {\n\t\tcompleted: 'bg-blue-500',\n\t\tincomplete: 'bg-yellow-500',\n\t}\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Progress</h2>\n\t\t\t\t{epicProgress ? (\n\t\t\t\t\t<ul className=\"flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t{epicProgress.sort(sortProgress).map((progress) => {\n\t\t\t\t\t\t\tconst status = progress.epicCompletedAt\n\t\t\t\t\t\t\t\t? 'completed'\n\t\t\t\t\t\t\t\t: 'incomplete'\n\t\t\t\t\t\t\tconst label = [\n\t\t\t\t\t\t\t\tprogress.epicLessonSlug,\n\t\t\t\t\t\t\t\tprogress.epicCompletedAt\n\t\t\t\t\t\t\t\t\t? `(${progress.epicCompletedAt})`\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t.join(' ')\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tkey={progress.epicLessonSlug}\n\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={`h-3 w-3 rounded-full ${progressStatus[status]}`}\n\t\t\t\t\t\t\t\t\t\ttitle={status}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{progress.type === 'unknown' ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-red-500\">\n\t\t\t\t\t\t\t\t\t\t\t\t<SimpleTooltip content=\"This video is in the workshop on EpicWeb.dev, but not in the local workshop.\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon name=\"Close\" />\n\t\t\t\t\t\t\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<Link to={linkProgress(progress)}>{label}</Link>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<Link to={progress.epicLessonUrl}>\n\t\t\t\t\t\t\t\t\t\t<Icon name=\"ExternalLink\"></Icon>\n\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t) : (\n\t\t\t\t\t<p>No progress data</p>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Commands</h2>\n\t\t\t\t<ul className=\"max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-caches\">\n\t\t\t\t\t\t\t\tClear local caches\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Form>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-data\">\n\t\t\t\t\t\t\t\tClear all local data (including auth data)\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Form>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t{data.inspectorRunning ? (\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"stop-inspect\">\n\t\t\t\t\t\t\t\t\t{isStartingInspector\n\t\t\t\t\t\t\t\t\t\t? 'Stopping inspector...'\n\t\t\t\t\t\t\t\t\t\t: 'Stop inspector'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"inspect\">\n\t\t\t\t\t\t\t\t\t{isStoppingInspector\n\t\t\t\t\t\t\t\t\t\t? 'Starting inspector...'\n\t\t\t\t\t\t\t\t\t\t: 'Start inspector'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Apps</h2>\n\t\t\t\t<ul className=\"max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{data.apps.map((app) => (\n\t\t\t\t\t\t<li key={app.name} className=\"flex items-center gap-2 py-1\">\n\t\t\t\t\t\t\t{data.processes[app.name] ? (\n\t\t\t\t\t\t\t\t<Pinger status=\"running\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Pinger status=\"stopped\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{app.name}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Processes</h2>\n\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{Object.entries(data.processes).map(([key, process]) => (\n\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t{key} - Port: {process.port} - PID {process.pid} -{' '}\n\t\t\t\t\t\t\t\t{process.color}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Test Processes</h2>\n\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{Object.entries(data.testProcesses).map(([key, process]) => (\n\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t{key} - PID {process.pid} - Exit code: {process.exitCode}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction Pinger({\n\tstatus,\n}: {\n\tstatus: 'running' | 'starting' | 'stopped' | 'taken'\n}) {\n\tconst colors = {\n\t\trunning: {\n\t\t\tpinger: 'bg-green-400',\n\t\t\tcircle: 'bg-green-500',\n\t\t},\n\t\tstarting: {\n\t\t\tpinger: 'bg-sky-400',\n\t\t\tcircle: 'bg-sky-500',\n\t\t},\n\t\tstopped: {\n\t\t\tcircle: 'bg-gray-500',\n\t\t},\n\t\ttaken: {\n\t\t\tpinger: 'bg-red-400',\n\t\t\tcircle: 'bg-red-500',\n\t\t},\n\t}[status]\n\treturn (\n\t\t<span className=\"relative flex h-3 w-3\">\n\t\t\t{colors.pinger ? (\n\t\t\t\t<span\n\t\t\t\t\tclassName={`absolute inline-flex h-full w-full animate-ping rounded-full ${colors.pinger} opacity-75`}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<span\n\t\t\t\tclassName={`relative inline-flex h-3 w-3 rounded-full ${colors.circle}`}\n\t\t\t/>\n\t\t</span>\n\t)\n}\n"],"names":["handle","getSitemapEntries","meta","matches","title","find","m","id","data","workshopTitle","sortProgress","a","b","type","linkProgress","progress","exerciseNumber","toString","padStart","stepNumber","index","_UNSAFE_withComponentProps","loaderData","navigation","useNavigation","epicProgress","useEpicProgress","isStartingInspector","formData","get","isStoppingInspector","progressStatus","completed","incomplete","jsxs","className","children","jsx","sort","map","status","epicCompletedAt","label","epicLessonSlug","filter","Boolean","join","SimpleTooltip","content","Icon","name","Link","to","epicLessonUrl","Form","method","value","inspectorRunning","apps","app","processes","Pinger","Object","entries","key","process","port","pid","color","testProcesses","exitCode","colors","running","pinger","circle","starting","stopped","taken"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-C_6vCTaR.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Clt4RPat.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{R as a}from"./chunk-QMGIS6GS-Du-_uMOD.js";import{R as Ut}from"./index-B8smZwSG.js";function Xt(r){if(typeof document>"u")return;let o=document.head||document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",o.appendChild(e),e.styleSheet?e.styleSheet.cssText=r:e.appendChild(document.createTextNode(r))}const Wt=r=>{switch(r){case"success":return Gt;case"info":return Jt;case"warning":return Qt;case"error":return Zt;default:return null}},Kt=Array(12).fill(0),qt=({visible:r,className:o})=>a.createElement("div",{className:["sonner-loading-wrapper",o].filter(Boolean).join(" "),"data-visible":r},a.createElement("div",{className:"sonner-spinner"},Kt.map((e,s)=>a.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${s}`})))),Gt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Qt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),Jt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Zt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),te=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),a.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),ee=()=>{const[r,o]=a.useState(document.hidden);return a.useEffect(()=>{const e=()=>{o(document.hidden)};return document.addEventListener("visibilitychange",e),()=>window.removeEventListener("visibilitychange",e)},[]),r};let yt=1;class ae{constructor(){this.subscribe=o=>(this.subscribers.push(o),()=>{const e=this.subscribers.indexOf(o);this.subscribers.splice(e,1)}),this.publish=o=>{this.subscribers.forEach(e=>e(o))},this.addToast=o=>{this.publish(o),this.toasts=[...this.toasts,o]},this.create=o=>{var e;const{message:s,...R}=o,c=typeof o?.id=="number"||((e=o.id)==null?void 0:e.length)>0?o.id:yt++,v=this.toasts.find(h=>h.id===c),N=o.dismissible===void 0?!0:o.dismissible;return this.dismissedToasts.has(c)&&this.dismissedToasts.delete(c),v?this.toasts=this.toasts.map(h=>h.id===c?(this.publish({...h,...o,id:c,title:s}),{...h,...o,id:c,dismissible:N,title:s}):h):this.addToast({title:s,...R,dismissible:N,id:c}),c},this.dismiss=o=>(o?(this.dismissedToasts.add(o),requestAnimationFrame(()=>this.subscribers.forEach(e=>e({id:o,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(s=>s({id:e.id,dismiss:!0}))}),o),this.message=(o,e)=>this.create({...e,message:o}),this.error=(o,e)=>this.create({...e,message:o,type:"error"}),this.success=(o,e)=>this.create({...e,type:"success",message:o}),this.info=(o,e)=>this.create({...e,type:"info",message:o}),this.warning=(o,e)=>this.create({...e,type:"warning",message:o}),this.loading=(o,e)=>this.create({...e,type:"loading",message:o}),this.promise=(o,e)=>{if(!e)return;let s;e.loading!==void 0&&(s=this.create({...e,promise:o,type:"loading",message:e.loading,description:typeof e.description!="function"?e.description:void 0}));const R=Promise.resolve(o instanceof Function?o():o);let c=s!==void 0,v;const N=R.then(async i=>{if(v=["resolve",i],a.isValidElement(i))c=!1,this.create({id:s,type:"default",message:i});else if(se(i)&&!i.ok){c=!1;const t=typeof e.error=="function"?await e.error(`HTTP error! status: ${i.status}`):e.error,C=typeof e.description=="function"?await e.description(`HTTP error! status: ${i.status}`):e.description,w=typeof t=="object"&&!a.isValidElement(t)?t:{message:t};this.create({id:s,type:"error",description:C,...w})}else if(i instanceof Error){c=!1;const t=typeof e.error=="function"?await e.error(i):e.error,C=typeof e.description=="function"?await e.description(i):e.description,w=typeof t=="object"&&!a.isValidElement(t)?t:{message:t};this.create({id:s,type:"error",description:C,...w})}else if(e.success!==void 0){c=!1;const t=typeof e.success=="function"?await e.success(i):e.success,C=typeof e.description=="function"?await e.description(i):e.description,w=typeof t=="object"&&!a.isValidElement(t)?t:{message:t};this.create({id:s,type:"success",description:C,...w})}}).catch(async i=>{if(v=["reject",i],e.error!==void 0){c=!1;const x=typeof e.error=="function"?await e.error(i):e.error,t=typeof e.description=="function"?await e.description(i):e.description,z=typeof x=="object"&&!a.isValidElement(x)?x:{message:x};this.create({id:s,type:"error",description:t,...z})}}).finally(()=>{c&&(this.dismiss(s),s=void 0),e.finally==null||e.finally.call(e)}),h=()=>new Promise((i,x)=>N.then(()=>v[0]==="reject"?x(v[1]):i(v[1])).catch(x));return typeof s!="string"&&typeof s!="number"?{unwrap:h}:Object.assign(s,{unwrap:h})},this.custom=(o,e)=>{const s=e?.id||yt++;return this.create({jsx:o(s),id:s,...e}),s},this.getActiveToasts=()=>this.toasts.filter(o=>!this.dismissedToasts.has(o.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const E=new ae,oe=(r,o)=>{const e=o?.id||yt++;return E.addToast({title:r,...o,id:e}),e},se=r=>r&&typeof r=="object"&&"ok"in r&&typeof r.ok=="boolean"&&"status"in r&&typeof r.status=="number",ne=oe,re=()=>E.toasts,ie=()=>E.getActiveToasts(),xe=Object.assign(ne,{success:E.success,info:E.info,warning:E.warning,error:E.error,custom:E.custom,message:E.message,promise:E.promise,dismiss:E.dismiss,loading:E.loading},{getHistory:re,getToasts:ie});Xt("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function ct(r){return r.label!==void 0}const le=3,de="24px",ce="16px",Bt=4e3,ue=356,fe=14,me=45,pe=200;function O(...r){return r.filter(Boolean).join(" ")}function ge(r){const[o,e]=r.split("-"),s=[];return o&&s.push(o),e&&s.push(e),s}const he=r=>{var o,e,s,R,c,v,N,h,i;const{invert:x,toast:t,unstyled:C,interacting:z,setHeights:w,visibleToasts:ut,heights:u,index:P,toasts:st,expanded:Q,removeToast:nt,defaultRichColors:A,closeButton:U,style:ft,cancelButtonStyle:rt,actionButtonStyle:mt,className:pt="",descriptionClassName:j="",duration:X,position:J,gap:gt,expandByDefault:H,classNames:l,icons:D,closeButtonAriaLabel:L="Close toast"}=r,[B,Z]=a.useState(null),[d,m]=a.useState(null),[f,k]=a.useState(!1),[F,p]=a.useState(!1),[tt,W]=a.useState(!1),[et,at]=a.useState(!1),[It,wt]=a.useState(!1),[Ct,ht]=a.useState(0),[At,xt]=a.useState(0),ot=a.useRef(t.duration||X||Bt),Et=a.useRef(null),Y=a.useRef(null),Ht=P===0,Ot=P+1<=ut,T=t.type,K=t.dismissible!==!1,zt=t.className||"",Pt=t.descriptionClassName||"",it=a.useMemo(()=>u.findIndex(n=>n.toastId===t.id)||0,[u,t.id]),jt=a.useMemo(()=>{var n;return(n=t.closeButton)!=null?n:U},[t.closeButton,U]),Tt=a.useMemo(()=>t.duration||X||Bt,[t.duration,X]),bt=a.useRef(0),q=a.useRef(0),St=a.useRef(0),G=a.useRef(null),[Lt,Yt]=J.split("-"),Nt=a.useMemo(()=>u.reduce((n,g,y)=>y>=it?n:n+g.height,0),[u,it]),kt=ee(),$t=t.invert||x,vt=T==="loading";q.current=a.useMemo(()=>it*gt+Nt,[it,Nt]),a.useEffect(()=>{ot.current=Tt},[Tt]),a.useEffect(()=>{k(!0)},[]),a.useEffect(()=>{const n=Y.current;if(n){const g=n.getBoundingClientRect().height;return xt(g),w(y=>[{toastId:t.id,height:g,position:t.position},...y]),()=>w(y=>y.filter(S=>S.toastId!==t.id))}},[w,t.id]),a.useLayoutEffect(()=>{if(!f)return;const n=Y.current,g=n.style.height;n.style.height="auto";const y=n.getBoundingClientRect().height;n.style.height=g,xt(y),w(S=>S.find(b=>b.toastId===t.id)?S.map(b=>b.toastId===t.id?{...b,height:y}:b):[{toastId:t.id,height:y,position:t.position},...S])},[f,t.title,t.description,w,t.id,t.jsx,t.action,t.cancel]);const $=a.useCallback(()=>{p(!0),ht(q.current),w(n=>n.filter(g=>g.toastId!==t.id)),setTimeout(()=>{nt(t)},pe)},[t,nt,w,q]);a.useEffect(()=>{if(t.promise&&T==="loading"||t.duration===1/0||t.type==="loading")return;let n;return Q||z||kt?(()=>{if(St.current<bt.current){const S=new Date().getTime()-bt.current;ot.current=ot.current-S}St.current=new Date().getTime()})():(()=>{ot.current!==1/0&&(bt.current=new Date().getTime(),n=setTimeout(()=>{t.onAutoClose==null||t.onAutoClose.call(t,t),$()},ot.current))})(),()=>clearTimeout(n)},[Q,z,t,T,kt,$]),a.useEffect(()=>{t.delete&&($(),t.onDismiss==null||t.onDismiss.call(t,t))},[$,t.delete]);function Ft(){var n;if(D?.loading){var g;return a.createElement("div",{className:O(l?.loader,t==null||(g=t.classNames)==null?void 0:g.loader,"sonner-loader"),"data-visible":T==="loading"},D.loading)}return a.createElement(qt,{className:O(l?.loader,t==null||(n=t.classNames)==null?void 0:n.loader),visible:T==="loading"})}const Vt=t.icon||D?.[T]||Wt(T);var _t,Rt;return a.createElement("li",{tabIndex:0,ref:Y,className:O(pt,zt,l?.toast,t==null||(o=t.classNames)==null?void 0:o.toast,l?.default,l?.[T],t==null||(e=t.classNames)==null?void 0:e[T]),"data-sonner-toast":"","data-rich-colors":(_t=t.richColors)!=null?_t:A,"data-styled":!(t.jsx||t.unstyled||C),"data-mounted":f,"data-promise":!!t.promise,"data-swiped":It,"data-removed":F,"data-visible":Ot,"data-y-position":Lt,"data-x-position":Yt,"data-index":P,"data-front":Ht,"data-swiping":tt,"data-dismissible":K,"data-type":T,"data-invert":$t,"data-swipe-out":et,"data-swipe-direction":d,"data-expanded":!!(Q||H&&f),style:{"--index":P,"--toasts-before":P,"--z-index":st.length-P,"--offset":`${F?Ct:q.current}px`,"--initial-height":H?"auto":`${At}px`,...ft,...t.style},onDragEnd:()=>{W(!1),Z(null),G.current=null},onPointerDown:n=>{n.button!==2&&(vt||!K||(Et.current=new Date,ht(q.current),n.target.setPointerCapture(n.pointerId),n.target.tagName!=="BUTTON"&&(W(!0),G.current={x:n.clientX,y:n.clientY})))},onPointerUp:()=>{var n,g,y;if(et||!K)return;G.current=null;const S=Number(((n=Y.current)==null?void 0:n.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),lt=Number(((g=Y.current)==null?void 0:g.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),b=new Date().getTime()-((y=Et.current)==null?void 0:y.getTime()),_=B==="x"?S:lt,dt=Math.abs(_)/b;if(Math.abs(_)>=me||dt>.11){ht(q.current),t.onDismiss==null||t.onDismiss.call(t,t),m(B==="x"?S>0?"right":"left":lt>0?"down":"up"),$(),at(!0);return}else{var M,I;(M=Y.current)==null||M.style.setProperty("--swipe-amount-x","0px"),(I=Y.current)==null||I.style.setProperty("--swipe-amount-y","0px")}wt(!1),W(!1),Z(null)},onPointerMove:n=>{var g,y,S;if(!G.current||!K||((g=window.getSelection())==null?void 0:g.toString().length)>0)return;const b=n.clientY-G.current.y,_=n.clientX-G.current.x;var dt;const M=(dt=r.swipeDirections)!=null?dt:ge(J);!B&&(Math.abs(_)>1||Math.abs(b)>1)&&Z(Math.abs(_)>Math.abs(b)?"x":"y");let I={x:0,y:0};const Dt=V=>1/(1.5+Math.abs(V)/20);if(B==="y"){if(M.includes("top")||M.includes("bottom"))if(M.includes("top")&&b<0||M.includes("bottom")&&b>0)I.y=b;else{const V=b*Dt(b);I.y=Math.abs(V)<Math.abs(b)?V:b}}else if(B==="x"&&(M.includes("left")||M.includes("right")))if(M.includes("left")&&_<0||M.includes("right")&&_>0)I.x=_;else{const V=_*Dt(_);I.x=Math.abs(V)<Math.abs(_)?V:_}(Math.abs(I.x)>0||Math.abs(I.y)>0)&&wt(!0),(y=Y.current)==null||y.style.setProperty("--swipe-amount-x",`${I.x}px`),(S=Y.current)==null||S.style.setProperty("--swipe-amount-y",`${I.y}px`)}},jt&&!t.jsx&&T!=="loading"?a.createElement("button",{"aria-label":L,"data-disabled":vt,"data-close-button":!0,onClick:vt||!K?()=>{}:()=>{$(),t.onDismiss==null||t.onDismiss.call(t,t)},className:O(l?.closeButton,t==null||(s=t.classNames)==null?void 0:s.closeButton)},(Rt=D?.close)!=null?Rt:te):null,(T||t.icon||t.promise)&&t.icon!==null&&(D?.[T]!==null||t.icon)?a.createElement("div",{"data-icon":"",className:O(l?.icon,t==null||(R=t.classNames)==null?void 0:R.icon)},t.promise||t.type==="loading"&&!t.icon?t.icon||Ft():null,t.type!=="loading"?Vt:null):null,a.createElement("div",{"data-content":"",className:O(l?.content,t==null||(c=t.classNames)==null?void 0:c.content)},a.createElement("div",{"data-title":"",className:O(l?.title,t==null||(v=t.classNames)==null?void 0:v.title)},t.jsx?t.jsx:typeof t.title=="function"?t.title():t.title),t.description?a.createElement("div",{"data-description":"",className:O(j,Pt,l?.description,t==null||(N=t.classNames)==null?void 0:N.description)},typeof t.description=="function"?t.description():t.description):null),a.isValidElement(t.cancel)?t.cancel:t.cancel&&ct(t.cancel)?a.createElement("button",{"data-button":!0,"data-cancel":!0,style:t.cancelButtonStyle||rt,onClick:n=>{ct(t.cancel)&&K&&(t.cancel.onClick==null||t.cancel.onClick.call(t.cancel,n),$())},className:O(l?.cancelButton,t==null||(h=t.classNames)==null?void 0:h.cancelButton)},t.cancel.label):null,a.isValidElement(t.action)?t.action:t.action&&ct(t.action)?a.createElement("button",{"data-button":!0,"data-action":!0,style:t.actionButtonStyle||mt,onClick:n=>{ct(t.action)&&(t.action.onClick==null||t.action.onClick.call(t.action,n),!n.defaultPrevented&&$())},className:O(l?.actionButton,t==null||(i=t.classNames)==null?void 0:i.actionButton)},t.action.label):null)};function Mt(){if(typeof window>"u"||typeof document>"u")return"ltr";const r=document.documentElement.getAttribute("dir");return r==="auto"||!r?window.getComputedStyle(document.documentElement).direction:r}function be(r,o){const e={};return[r,o].forEach((s,R)=>{const c=R===1,v=c?"--mobile-offset":"--offset",N=c?ce:de;function h(i){["top","right","bottom","left"].forEach(x=>{e[`${v}-${x}`]=typeof i=="number"?`${i}px`:i})}typeof s=="number"||typeof s=="string"?h(s):typeof s=="object"?["top","right","bottom","left"].forEach(i=>{s[i]===void 0?e[`${v}-${i}`]=N:e[`${v}-${i}`]=typeof s[i]=="number"?`${s[i]}px`:s[i]}):h(N)}),e}const Ee=a.forwardRef(function(o,e){const{invert:s,position:R="bottom-right",hotkey:c=["altKey","KeyT"],expand:v,closeButton:N,className:h,offset:i,mobileOffset:x,theme:t="light",richColors:C,duration:z,style:w,visibleToasts:ut=le,toastOptions:u,dir:P=Mt(),gap:st=fe,icons:Q,containerAriaLabel:nt="Notifications"}=o,[A,U]=a.useState([]),ft=a.useMemo(()=>Array.from(new Set([R].concat(A.filter(d=>d.position).map(d=>d.position)))),[A,R]),[rt,mt]=a.useState([]),[pt,j]=a.useState(!1),[X,J]=a.useState(!1),[gt,H]=a.useState(t!=="system"?t:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),l=a.useRef(null),D=c.join("+").replace(/Key/g,"").replace(/Digit/g,""),L=a.useRef(null),B=a.useRef(!1),Z=a.useCallback(d=>{U(m=>{var f;return(f=m.find(k=>k.id===d.id))!=null&&f.delete||E.dismiss(d.id),m.filter(({id:k})=>k!==d.id)})},[]);return a.useEffect(()=>E.subscribe(d=>{if(d.dismiss){requestAnimationFrame(()=>{U(m=>m.map(f=>f.id===d.id?{...f,delete:!0}:f))});return}setTimeout(()=>{Ut.flushSync(()=>{U(m=>{const f=m.findIndex(k=>k.id===d.id);return f!==-1?[...m.slice(0,f),{...m[f],...d},...m.slice(f+1)]:[d,...m]})})})}),[A]),a.useEffect(()=>{if(t!=="system"){H(t);return}if(t==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?H("dark"):H("light")),typeof window>"u")return;const d=window.matchMedia("(prefers-color-scheme: dark)");try{d.addEventListener("change",({matches:m})=>{H(m?"dark":"light")})}catch{d.addListener(({matches:f})=>{try{H(f?"dark":"light")}catch(k){console.error(k)}})}},[t]),a.useEffect(()=>{A.length<=1&&j(!1)},[A]),a.useEffect(()=>{const d=m=>{var f;if(c.every(p=>m[p]||m.code===p)){var F;j(!0),(F=l.current)==null||F.focus()}m.code==="Escape"&&(document.activeElement===l.current||(f=l.current)!=null&&f.contains(document.activeElement))&&j(!1)};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[c]),a.useEffect(()=>{if(l.current)return()=>{L.current&&(L.current.focus({preventScroll:!0}),L.current=null,B.current=!1)}},[l.current]),a.createElement("section",{ref:e,"aria-label":`${nt} ${D}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},ft.map((d,m)=>{var f;const[k,F]=d.split("-");return A.length?a.createElement("ol",{key:d,dir:P==="auto"?Mt():P,tabIndex:-1,ref:l,className:h,"data-sonner-toaster":!0,"data-sonner-theme":gt,"data-y-position":k,"data-x-position":F,style:{"--front-toast-height":`${((f=rt[0])==null?void 0:f.height)||0}px`,"--width":`${ue}px`,"--gap":`${st}px`,...w,...be(i,x)},onBlur:p=>{B.current&&!p.currentTarget.contains(p.relatedTarget)&&(B.current=!1,L.current&&(L.current.focus({preventScroll:!0}),L.current=null))},onFocus:p=>{p.target instanceof HTMLElement&&p.target.dataset.dismissible==="false"||B.current||(B.current=!0,L.current=p.relatedTarget)},onMouseEnter:()=>j(!0),onMouseMove:()=>j(!0),onMouseLeave:()=>{X||j(!1)},onDragEnd:()=>j(!1),onPointerDown:p=>{p.target instanceof HTMLElement&&p.target.dataset.dismissible==="false"||J(!0)},onPointerUp:()=>J(!1)},A.filter(p=>!p.position&&m===0||p.position===d).map((p,tt)=>{var W,et;return a.createElement(he,{key:p.id,icons:Q,index:tt,toast:p,defaultRichColors:C,duration:(W=u?.duration)!=null?W:z,className:u?.className,descriptionClassName:u?.descriptionClassName,invert:s,visibleToasts:ut,closeButton:(et=u?.closeButton)!=null?et:N,interacting:X,position:d,style:u?.style,unstyled:u?.unstyled,classNames:u?.classNames,cancelButtonStyle:u?.cancelButtonStyle,actionButtonStyle:u?.actionButtonStyle,closeButtonAriaLabel:u?.closeButtonAriaLabel,removeToast:Z,toasts:A.filter(at=>at.position==p.position),heights:rt.filter(at=>at.position==p.position),setHeights:mt,expandByDefault:v,gap:st,expanded:pt,swipeDirections:o.swipeDirections})})):null}))});export{Ee as T,xe as t};
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import{R as a}from"./chunk-QMGIS6GS-X4HtlbLW.js";import{R as Ut}from"./index-CGfgwl2o.js";function Xt(r){if(typeof document>"u")return;let o=document.head||document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",o.appendChild(e),e.styleSheet?e.styleSheet.cssText=r:e.appendChild(document.createTextNode(r))}const Wt=r=>{switch(r){case"success":return Gt;case"info":return Jt;case"warning":return Qt;case"error":return Zt;default:return null}},Kt=Array(12).fill(0),qt=({visible:r,className:o})=>a.createElement("div",{className:["sonner-loading-wrapper",o].filter(Boolean).join(" "),"data-visible":r},a.createElement("div",{className:"sonner-spinner"},Kt.map((e,s)=>a.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${s}`})))),Gt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Qt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),Jt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Zt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),te=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),a.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),ee=()=>{const[r,o]=a.useState(document.hidden);return a.useEffect(()=>{const e=()=>{o(document.hidden)};return document.addEventListener("visibilitychange",e),()=>window.removeEventListener("visibilitychange",e)},[]),r};let yt=1;class ae{constructor(){this.subscribe=o=>(this.subscribers.push(o),()=>{const e=this.subscribers.indexOf(o);this.subscribers.splice(e,1)}),this.publish=o=>{this.subscribers.forEach(e=>e(o))},this.addToast=o=>{this.publish(o),this.toasts=[...this.toasts,o]},this.create=o=>{var e;const{message:s,...R}=o,c=typeof o?.id=="number"||((e=o.id)==null?void 0:e.length)>0?o.id:yt++,v=this.toasts.find(h=>h.id===c),N=o.dismissible===void 0?!0:o.dismissible;return this.dismissedToasts.has(c)&&this.dismissedToasts.delete(c),v?this.toasts=this.toasts.map(h=>h.id===c?(this.publish({...h,...o,id:c,title:s}),{...h,...o,id:c,dismissible:N,title:s}):h):this.addToast({title:s,...R,dismissible:N,id:c}),c},this.dismiss=o=>(o?(this.dismissedToasts.add(o),requestAnimationFrame(()=>this.subscribers.forEach(e=>e({id:o,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(s=>s({id:e.id,dismiss:!0}))}),o),this.message=(o,e)=>this.create({...e,message:o}),this.error=(o,e)=>this.create({...e,message:o,type:"error"}),this.success=(o,e)=>this.create({...e,type:"success",message:o}),this.info=(o,e)=>this.create({...e,type:"info",message:o}),this.warning=(o,e)=>this.create({...e,type:"warning",message:o}),this.loading=(o,e)=>this.create({...e,type:"loading",message:o}),this.promise=(o,e)=>{if(!e)return;let s;e.loading!==void 0&&(s=this.create({...e,promise:o,type:"loading",message:e.loading,description:typeof e.description!="function"?e.description:void 0}));const R=Promise.resolve(o instanceof Function?o():o);let c=s!==void 0,v;const N=R.then(async i=>{if(v=["resolve",i],a.isValidElement(i))c=!1,this.create({id:s,type:"default",message:i});else if(se(i)&&!i.ok){c=!1;const t=typeof e.error=="function"?await e.error(`HTTP error! status: ${i.status}`):e.error,C=typeof e.description=="function"?await e.description(`HTTP error! status: ${i.status}`):e.description,w=typeof t=="object"&&!a.isValidElement(t)?t:{message:t};this.create({id:s,type:"error",description:C,...w})}else if(i instanceof Error){c=!1;const t=typeof e.error=="function"?await e.error(i):e.error,C=typeof e.description=="function"?await e.description(i):e.description,w=typeof t=="object"&&!a.isValidElement(t)?t:{message:t};this.create({id:s,type:"error",description:C,...w})}else if(e.success!==void 0){c=!1;const t=typeof e.success=="function"?await e.success(i):e.success,C=typeof e.description=="function"?await e.description(i):e.description,w=typeof t=="object"&&!a.isValidElement(t)?t:{message:t};this.create({id:s,type:"success",description:C,...w})}}).catch(async i=>{if(v=["reject",i],e.error!==void 0){c=!1;const x=typeof e.error=="function"?await e.error(i):e.error,t=typeof e.description=="function"?await e.description(i):e.description,z=typeof x=="object"&&!a.isValidElement(x)?x:{message:x};this.create({id:s,type:"error",description:t,...z})}}).finally(()=>{c&&(this.dismiss(s),s=void 0),e.finally==null||e.finally.call(e)}),h=()=>new Promise((i,x)=>N.then(()=>v[0]==="reject"?x(v[1]):i(v[1])).catch(x));return typeof s!="string"&&typeof s!="number"?{unwrap:h}:Object.assign(s,{unwrap:h})},this.custom=(o,e)=>{const s=e?.id||yt++;return this.create({jsx:o(s),id:s,...e}),s},this.getActiveToasts=()=>this.toasts.filter(o=>!this.dismissedToasts.has(o.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const E=new ae,oe=(r,o)=>{const e=o?.id||yt++;return E.addToast({title:r,...o,id:e}),e},se=r=>r&&typeof r=="object"&&"ok"in r&&typeof r.ok=="boolean"&&"status"in r&&typeof r.status=="number",ne=oe,re=()=>E.toasts,ie=()=>E.getActiveToasts(),xe=Object.assign(ne,{success:E.success,info:E.info,warning:E.warning,error:E.error,custom:E.custom,message:E.message,promise:E.promise,dismiss:E.dismiss,loading:E.loading},{getHistory:re,getToasts:ie});Xt("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function ct(r){return r.label!==void 0}const le=3,de="24px",ce="16px",Bt=4e3,ue=356,fe=14,me=45,pe=200;function O(...r){return r.filter(Boolean).join(" ")}function ge(r){const[o,e]=r.split("-"),s=[];return o&&s.push(o),e&&s.push(e),s}const he=r=>{var o,e,s,R,c,v,N,h,i;const{invert:x,toast:t,unstyled:C,interacting:z,setHeights:w,visibleToasts:ut,heights:u,index:P,toasts:st,expanded:Q,removeToast:nt,defaultRichColors:A,closeButton:U,style:ft,cancelButtonStyle:rt,actionButtonStyle:mt,className:pt="",descriptionClassName:j="",duration:X,position:J,gap:gt,expandByDefault:H,classNames:l,icons:D,closeButtonAriaLabel:L="Close toast"}=r,[B,Z]=a.useState(null),[d,m]=a.useState(null),[f,k]=a.useState(!1),[F,p]=a.useState(!1),[tt,W]=a.useState(!1),[et,at]=a.useState(!1),[It,wt]=a.useState(!1),[Ct,ht]=a.useState(0),[At,xt]=a.useState(0),ot=a.useRef(t.duration||X||Bt),Et=a.useRef(null),Y=a.useRef(null),Ht=P===0,Ot=P+1<=ut,T=t.type,K=t.dismissible!==!1,zt=t.className||"",Pt=t.descriptionClassName||"",it=a.useMemo(()=>u.findIndex(n=>n.toastId===t.id)||0,[u,t.id]),jt=a.useMemo(()=>{var n;return(n=t.closeButton)!=null?n:U},[t.closeButton,U]),Tt=a.useMemo(()=>t.duration||X||Bt,[t.duration,X]),bt=a.useRef(0),q=a.useRef(0),St=a.useRef(0),G=a.useRef(null),[Lt,Yt]=J.split("-"),Nt=a.useMemo(()=>u.reduce((n,g,y)=>y>=it?n:n+g.height,0),[u,it]),kt=ee(),$t=t.invert||x,vt=T==="loading";q.current=a.useMemo(()=>it*gt+Nt,[it,Nt]),a.useEffect(()=>{ot.current=Tt},[Tt]),a.useEffect(()=>{k(!0)},[]),a.useEffect(()=>{const n=Y.current;if(n){const g=n.getBoundingClientRect().height;return xt(g),w(y=>[{toastId:t.id,height:g,position:t.position},...y]),()=>w(y=>y.filter(S=>S.toastId!==t.id))}},[w,t.id]),a.useLayoutEffect(()=>{if(!f)return;const n=Y.current,g=n.style.height;n.style.height="auto";const y=n.getBoundingClientRect().height;n.style.height=g,xt(y),w(S=>S.find(b=>b.toastId===t.id)?S.map(b=>b.toastId===t.id?{...b,height:y}:b):[{toastId:t.id,height:y,position:t.position},...S])},[f,t.title,t.description,w,t.id,t.jsx,t.action,t.cancel]);const $=a.useCallback(()=>{p(!0),ht(q.current),w(n=>n.filter(g=>g.toastId!==t.id)),setTimeout(()=>{nt(t)},pe)},[t,nt,w,q]);a.useEffect(()=>{if(t.promise&&T==="loading"||t.duration===1/0||t.type==="loading")return;let n;return Q||z||kt?(()=>{if(St.current<bt.current){const S=new Date().getTime()-bt.current;ot.current=ot.current-S}St.current=new Date().getTime()})():(()=>{ot.current!==1/0&&(bt.current=new Date().getTime(),n=setTimeout(()=>{t.onAutoClose==null||t.onAutoClose.call(t,t),$()},ot.current))})(),()=>clearTimeout(n)},[Q,z,t,T,kt,$]),a.useEffect(()=>{t.delete&&($(),t.onDismiss==null||t.onDismiss.call(t,t))},[$,t.delete]);function Ft(){var n;if(D?.loading){var g;return a.createElement("div",{className:O(l?.loader,t==null||(g=t.classNames)==null?void 0:g.loader,"sonner-loader"),"data-visible":T==="loading"},D.loading)}return a.createElement(qt,{className:O(l?.loader,t==null||(n=t.classNames)==null?void 0:n.loader),visible:T==="loading"})}const Vt=t.icon||D?.[T]||Wt(T);var _t,Rt;return a.createElement("li",{tabIndex:0,ref:Y,className:O(pt,zt,l?.toast,t==null||(o=t.classNames)==null?void 0:o.toast,l?.default,l?.[T],t==null||(e=t.classNames)==null?void 0:e[T]),"data-sonner-toast":"","data-rich-colors":(_t=t.richColors)!=null?_t:A,"data-styled":!(t.jsx||t.unstyled||C),"data-mounted":f,"data-promise":!!t.promise,"data-swiped":It,"data-removed":F,"data-visible":Ot,"data-y-position":Lt,"data-x-position":Yt,"data-index":P,"data-front":Ht,"data-swiping":tt,"data-dismissible":K,"data-type":T,"data-invert":$t,"data-swipe-out":et,"data-swipe-direction":d,"data-expanded":!!(Q||H&&f),style:{"--index":P,"--toasts-before":P,"--z-index":st.length-P,"--offset":`${F?Ct:q.current}px`,"--initial-height":H?"auto":`${At}px`,...ft,...t.style},onDragEnd:()=>{W(!1),Z(null),G.current=null},onPointerDown:n=>{n.button!==2&&(vt||!K||(Et.current=new Date,ht(q.current),n.target.setPointerCapture(n.pointerId),n.target.tagName!=="BUTTON"&&(W(!0),G.current={x:n.clientX,y:n.clientY})))},onPointerUp:()=>{var n,g,y;if(et||!K)return;G.current=null;const S=Number(((n=Y.current)==null?void 0:n.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),lt=Number(((g=Y.current)==null?void 0:g.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),b=new Date().getTime()-((y=Et.current)==null?void 0:y.getTime()),_=B==="x"?S:lt,dt=Math.abs(_)/b;if(Math.abs(_)>=me||dt>.11){ht(q.current),t.onDismiss==null||t.onDismiss.call(t,t),m(B==="x"?S>0?"right":"left":lt>0?"down":"up"),$(),at(!0);return}else{var M,I;(M=Y.current)==null||M.style.setProperty("--swipe-amount-x","0px"),(I=Y.current)==null||I.style.setProperty("--swipe-amount-y","0px")}wt(!1),W(!1),Z(null)},onPointerMove:n=>{var g,y,S;if(!G.current||!K||((g=window.getSelection())==null?void 0:g.toString().length)>0)return;const b=n.clientY-G.current.y,_=n.clientX-G.current.x;var dt;const M=(dt=r.swipeDirections)!=null?dt:ge(J);!B&&(Math.abs(_)>1||Math.abs(b)>1)&&Z(Math.abs(_)>Math.abs(b)?"x":"y");let I={x:0,y:0};const Dt=V=>1/(1.5+Math.abs(V)/20);if(B==="y"){if(M.includes("top")||M.includes("bottom"))if(M.includes("top")&&b<0||M.includes("bottom")&&b>0)I.y=b;else{const V=b*Dt(b);I.y=Math.abs(V)<Math.abs(b)?V:b}}else if(B==="x"&&(M.includes("left")||M.includes("right")))if(M.includes("left")&&_<0||M.includes("right")&&_>0)I.x=_;else{const V=_*Dt(_);I.x=Math.abs(V)<Math.abs(_)?V:_}(Math.abs(I.x)>0||Math.abs(I.y)>0)&&wt(!0),(y=Y.current)==null||y.style.setProperty("--swipe-amount-x",`${I.x}px`),(S=Y.current)==null||S.style.setProperty("--swipe-amount-y",`${I.y}px`)}},jt&&!t.jsx&&T!=="loading"?a.createElement("button",{"aria-label":L,"data-disabled":vt,"data-close-button":!0,onClick:vt||!K?()=>{}:()=>{$(),t.onDismiss==null||t.onDismiss.call(t,t)},className:O(l?.closeButton,t==null||(s=t.classNames)==null?void 0:s.closeButton)},(Rt=D?.close)!=null?Rt:te):null,(T||t.icon||t.promise)&&t.icon!==null&&(D?.[T]!==null||t.icon)?a.createElement("div",{"data-icon":"",className:O(l?.icon,t==null||(R=t.classNames)==null?void 0:R.icon)},t.promise||t.type==="loading"&&!t.icon?t.icon||Ft():null,t.type!=="loading"?Vt:null):null,a.createElement("div",{"data-content":"",className:O(l?.content,t==null||(c=t.classNames)==null?void 0:c.content)},a.createElement("div",{"data-title":"",className:O(l?.title,t==null||(v=t.classNames)==null?void 0:v.title)},t.jsx?t.jsx:typeof t.title=="function"?t.title():t.title),t.description?a.createElement("div",{"data-description":"",className:O(j,Pt,l?.description,t==null||(N=t.classNames)==null?void 0:N.description)},typeof t.description=="function"?t.description():t.description):null),a.isValidElement(t.cancel)?t.cancel:t.cancel&&ct(t.cancel)?a.createElement("button",{"data-button":!0,"data-cancel":!0,style:t.cancelButtonStyle||rt,onClick:n=>{ct(t.cancel)&&K&&(t.cancel.onClick==null||t.cancel.onClick.call(t.cancel,n),$())},className:O(l?.cancelButton,t==null||(h=t.classNames)==null?void 0:h.cancelButton)},t.cancel.label):null,a.isValidElement(t.action)?t.action:t.action&&ct(t.action)?a.createElement("button",{"data-button":!0,"data-action":!0,style:t.actionButtonStyle||mt,onClick:n=>{ct(t.action)&&(t.action.onClick==null||t.action.onClick.call(t.action,n),!n.defaultPrevented&&$())},className:O(l?.actionButton,t==null||(i=t.classNames)==null?void 0:i.actionButton)},t.action.label):null)};function Mt(){if(typeof window>"u"||typeof document>"u")return"ltr";const r=document.documentElement.getAttribute("dir");return r==="auto"||!r?window.getComputedStyle(document.documentElement).direction:r}function be(r,o){const e={};return[r,o].forEach((s,R)=>{const c=R===1,v=c?"--mobile-offset":"--offset",N=c?ce:de;function h(i){["top","right","bottom","left"].forEach(x=>{e[`${v}-${x}`]=typeof i=="number"?`${i}px`:i})}typeof s=="number"||typeof s=="string"?h(s):typeof s=="object"?["top","right","bottom","left"].forEach(i=>{s[i]===void 0?e[`${v}-${i}`]=N:e[`${v}-${i}`]=typeof s[i]=="number"?`${s[i]}px`:s[i]}):h(N)}),e}const Ee=a.forwardRef(function(o,e){const{invert:s,position:R="bottom-right",hotkey:c=["altKey","KeyT"],expand:v,closeButton:N,className:h,offset:i,mobileOffset:x,theme:t="light",richColors:C,duration:z,style:w,visibleToasts:ut=le,toastOptions:u,dir:P=Mt(),gap:st=fe,icons:Q,containerAriaLabel:nt="Notifications"}=o,[A,U]=a.useState([]),ft=a.useMemo(()=>Array.from(new Set([R].concat(A.filter(d=>d.position).map(d=>d.position)))),[A,R]),[rt,mt]=a.useState([]),[pt,j]=a.useState(!1),[X,J]=a.useState(!1),[gt,H]=a.useState(t!=="system"?t:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),l=a.useRef(null),D=c.join("+").replace(/Key/g,"").replace(/Digit/g,""),L=a.useRef(null),B=a.useRef(!1),Z=a.useCallback(d=>{U(m=>{var f;return(f=m.find(k=>k.id===d.id))!=null&&f.delete||E.dismiss(d.id),m.filter(({id:k})=>k!==d.id)})},[]);return a.useEffect(()=>E.subscribe(d=>{if(d.dismiss){requestAnimationFrame(()=>{U(m=>m.map(f=>f.id===d.id?{...f,delete:!0}:f))});return}setTimeout(()=>{Ut.flushSync(()=>{U(m=>{const f=m.findIndex(k=>k.id===d.id);return f!==-1?[...m.slice(0,f),{...m[f],...d},...m.slice(f+1)]:[d,...m]})})})}),[A]),a.useEffect(()=>{if(t!=="system"){H(t);return}if(t==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?H("dark"):H("light")),typeof window>"u")return;const d=window.matchMedia("(prefers-color-scheme: dark)");try{d.addEventListener("change",({matches:m})=>{H(m?"dark":"light")})}catch{d.addListener(({matches:f})=>{try{H(f?"dark":"light")}catch(k){console.error(k)}})}},[t]),a.useEffect(()=>{A.length<=1&&j(!1)},[A]),a.useEffect(()=>{const d=m=>{var f;if(c.every(p=>m[p]||m.code===p)){var F;j(!0),(F=l.current)==null||F.focus()}m.code==="Escape"&&(document.activeElement===l.current||(f=l.current)!=null&&f.contains(document.activeElement))&&j(!1)};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[c]),a.useEffect(()=>{if(l.current)return()=>{L.current&&(L.current.focus({preventScroll:!0}),L.current=null,B.current=!1)}},[l.current]),a.createElement("section",{ref:e,"aria-label":`${nt} ${D}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},ft.map((d,m)=>{var f;const[k,F]=d.split("-");return A.length?a.createElement("ol",{key:d,dir:P==="auto"?Mt():P,tabIndex:-1,ref:l,className:h,"data-sonner-toaster":!0,"data-sonner-theme":gt,"data-y-position":k,"data-x-position":F,style:{"--front-toast-height":`${((f=rt[0])==null?void 0:f.height)||0}px`,"--width":`${ue}px`,"--gap":`${st}px`,...w,...be(i,x)},onBlur:p=>{B.current&&!p.currentTarget.contains(p.relatedTarget)&&(B.current=!1,L.current&&(L.current.focus({preventScroll:!0}),L.current=null))},onFocus:p=>{p.target instanceof HTMLElement&&p.target.dataset.dismissible==="false"||B.current||(B.current=!0,L.current=p.relatedTarget)},onMouseEnter:()=>j(!0),onMouseMove:()=>j(!0),onMouseLeave:()=>{X||j(!1)},onDragEnd:()=>j(!1),onPointerDown:p=>{p.target instanceof HTMLElement&&p.target.dataset.dismissible==="false"||J(!0)},onPointerUp:()=>J(!1)},A.filter(p=>!p.position&&m===0||p.position===d).map((p,tt)=>{var W,et;return a.createElement(he,{key:p.id,icons:Q,index:tt,toast:p,defaultRichColors:C,duration:(W=u?.duration)!=null?W:z,className:u?.className,descriptionClassName:u?.descriptionClassName,invert:s,visibleToasts:ut,closeButton:(et=u?.closeButton)!=null?et:N,interacting:X,position:d,style:u?.style,unstyled:u?.unstyled,classNames:u?.classNames,cancelButtonStyle:u?.cancelButtonStyle,actionButtonStyle:u?.actionButtonStyle,closeButtonAriaLabel:u?.closeButtonAriaLabel,removeToast:Z,toasts:A.filter(at=>at.position==p.position),heights:rt.filter(at=>at.position==p.position),setHeights:mt,expandByDefault:v,gap:st,expanded:pt,swipeDirections:o.swipeDirections})})):null}))});export{Ee as T,xe as t};
|
|
2
|
+
//# sourceMappingURL=index-CxkovwXQ.js.map
|