@epic-web/workshop-app 5.28.0 → 5.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/assets/_-DTLUa7j2.js +2 -0
- package/build/client/assets/_-DTLUa7j2.js.map +1 -0
- package/build/client/assets/{_basePickBy-lB0X5x6U.js → _basePickBy-Bkju64MX.js} +2 -2
- package/build/client/assets/{_basePickBy-lB0X5x6U.js.map → _basePickBy-Bkju64MX.js.map} +1 -1
- package/build/client/assets/{_baseUniq-BOjGYEEK.js → _baseUniq-Cp1g4BpN.js} +2 -2
- package/build/client/assets/{_baseUniq-BOjGYEEK.js.map → _baseUniq-Cp1g4BpN.js.map} +1 -1
- package/build/client/assets/_exerciseNumber-Co7M7Ztw.js +2 -0
- package/build/client/assets/_exerciseNumber-Co7M7Ztw.js.map +1 -0
- package/build/client/assets/_exerciseNumber_._stepNumber-Don1A9mU.js +2 -0
- package/build/client/assets/_exerciseNumber_._stepNumber-Don1A9mU.js.map +1 -0
- package/build/client/assets/_exerciseNumber_.finished-BqsavTTe.js +2 -0
- package/build/client/assets/_exerciseNumber_.finished-BqsavTTe.js.map +1 -0
- package/build/client/assets/_layout-BFto7KzZ.js +2 -0
- package/build/client/assets/_layout-BFto7KzZ.js.map +1 -0
- package/build/client/assets/_layout-BvOre76Q.js +2 -0
- package/build/client/assets/_layout-BvOre76Q.js.map +1 -0
- package/build/client/assets/_layout-CSP6lWdg.js +2 -0
- package/build/client/assets/_layout-CSP6lWdg.js.map +1 -0
- package/build/client/assets/_layout-DDOZBbUH.js +6 -0
- package/build/client/assets/_layout-DDOZBbUH.js.map +1 -0
- package/build/client/assets/accordion-BNzI0wOK.js +2 -0
- package/build/client/assets/{accordion-CpiLc1m2.js.map → accordion-BNzI0wOK.js.map} +1 -1
- package/build/client/assets/account-2uOW4wHE.js +2 -0
- package/build/client/assets/account-2uOW4wHE.js.map +1 -0
- package/build/client/assets/app-DfAmumll.js +2 -0
- package/build/client/assets/app-DfAmumll.js.map +1 -0
- package/build/client/assets/{arc-DmQZ2TPB.js → arc-BgUWL_JM.js} +2 -2
- package/build/client/assets/{arc-DmQZ2TPB.js.map → arc-BgUWL_JM.js.map} +1 -1
- package/build/client/assets/architectureDiagram-IEHRJDOE-VEDL5YJR.js +37 -0
- package/build/client/assets/{architectureDiagram-IEHRJDOE-BqPvrjLh.js.map → architectureDiagram-IEHRJDOE-VEDL5YJR.js.map} +1 -1
- package/build/client/assets/{blockDiagram-JOT3LUYC-D8OFd78i.js → blockDiagram-JOT3LUYC-CJojWhFE.js} +3 -3
- package/build/client/assets/{blockDiagram-JOT3LUYC-D8OFd78i.js.map → blockDiagram-JOT3LUYC-CJojWhFE.js.map} +1 -1
- package/build/client/assets/button-DRpue1NG.js +2 -0
- package/build/client/assets/button-DRpue1NG.js.map +1 -0
- package/build/client/assets/{c4Diagram-VJAJSXHY-DjROjsr_.js → c4Diagram-VJAJSXHY-CDiBL4DZ.js} +3 -3
- package/build/client/assets/{c4Diagram-VJAJSXHY-DjROjsr_.js.map → c4Diagram-VJAJSXHY-CDiBL4DZ.js.map} +1 -1
- package/build/client/assets/channel-CAodiiwJ.js +2 -0
- package/build/client/assets/{channel-DnqeaSfB.js.map → channel-CAodiiwJ.js.map} +1 -1
- package/build/client/assets/{chunk-4BMEZGHF-CNL-bCj2.js → chunk-4BMEZGHF-Dn8dm6h4.js} +2 -2
- package/build/client/assets/{chunk-4BMEZGHF-CNL-bCj2.js.map → chunk-4BMEZGHF-Dn8dm6h4.js.map} +1 -1
- package/build/client/assets/{chunk-A2AXSNBT-PeSyIKDm.js → chunk-A2AXSNBT-4MnudWit.js} +2 -2
- package/build/client/assets/{chunk-A2AXSNBT-PeSyIKDm.js.map → chunk-A2AXSNBT-4MnudWit.js.map} +1 -1
- package/build/client/assets/{chunk-AEK57VVT-B1JqGB_s.js → chunk-AEK57VVT-CqDnkZ4u.js} +2 -2
- package/build/client/assets/{chunk-AEK57VVT-B1JqGB_s.js.map → chunk-AEK57VVT-CqDnkZ4u.js.map} +1 -1
- package/build/client/assets/{chunk-D6G4REZN-C1e0nCkL.js → chunk-D6G4REZN-Brt3as5d.js} +2 -2
- package/build/client/assets/{chunk-D6G4REZN-C1e0nCkL.js.map → chunk-D6G4REZN-Brt3as5d.js.map} +1 -1
- package/build/client/assets/chunk-QMGIS6GS-CTjj1G71.js +44 -0
- package/build/client/assets/chunk-QMGIS6GS-CTjj1G71.js.map +1 -0
- package/build/client/assets/{chunk-RZ5BOZE2-D5pIwNeA.js → chunk-RZ5BOZE2-DRDeFo9p.js} +2 -2
- package/build/client/assets/{chunk-RZ5BOZE2-D5pIwNeA.js.map → chunk-RZ5BOZE2-DRDeFo9p.js.map} +1 -1
- package/build/client/assets/{chunk-XZIHB7SX-FbrNggxP.js → chunk-XZIHB7SX-jEJwVQJf.js} +2 -2
- package/build/client/assets/{chunk-XZIHB7SX-FbrNggxP.js.map → chunk-XZIHB7SX-jEJwVQJf.js.map} +1 -1
- package/build/client/assets/classDiagram-GIVACNV2-H_7kh---.js +2 -0
- package/build/client/assets/{classDiagram-GIVACNV2-cXWx-aYi.js.map → classDiagram-GIVACNV2-H_7kh---.js.map} +1 -1
- package/build/client/assets/classDiagram-v2-COTLJTTW-H_7kh---.js +2 -0
- package/build/client/assets/{classDiagram-v2-COTLJTTW-cXWx-aYi.js.map → classDiagram-v2-COTLJTTW-H_7kh---.js.map} +1 -1
- package/build/client/assets/clone-DRQ0Dnbp.js +2 -0
- package/build/client/assets/{clone-Bj8ANPCv.js.map → clone-DRQ0Dnbp.js.map} +1 -1
- package/build/client/assets/dagre-OKDRZEBW-BPnUPPO5.js +5 -0
- package/build/client/assets/{dagre-OKDRZEBW-DT9ZQRxf.js.map → dagre-OKDRZEBW-BPnUPPO5.js.map} +1 -1
- package/build/client/assets/diagram-SSKATNLV-Bh_ZXdjr.js +44 -0
- package/build/client/assets/{diagram-SSKATNLV-CcKCni9R.js.map → diagram-SSKATNLV-Bh_ZXdjr.js.map} +1 -1
- package/build/client/assets/diagram-VNBRO52H-D5zqYvJa.js +25 -0
- package/build/client/assets/{diagram-VNBRO52H-DWoRAiqO.js.map → diagram-VNBRO52H-D5zqYvJa.js.map} +1 -1
- package/build/client/assets/diff-CQ7A0nZj.js +2 -0
- package/build/client/assets/diff-CQ7A0nZj.js.map +1 -0
- package/build/client/assets/{diff-D5_VwPLF.js → diff-CtGU9cxI.js} +2 -2
- package/build/client/assets/diff-CtGU9cxI.js.map +1 -0
- package/build/client/assets/discord-91JJKnJ5.js +2 -0
- package/build/client/assets/discord-91JJKnJ5.js.map +1 -0
- package/build/client/assets/discord-D4appJa-.js +2 -0
- package/build/client/assets/discord-D4appJa-.js.map +1 -0
- package/build/client/assets/entry.client-uKxtCCau.js +35 -0
- package/build/client/assets/entry.client-uKxtCCau.js.map +1 -0
- package/build/client/assets/{epic-video-CmlkW6Rw.js → epic-video-D_3otytp.js} +3 -3
- package/build/client/assets/{epic-video-CmlkW6Rw.js.map → epic-video-D_3otytp.js.map} +1 -1
- package/build/client/assets/{erDiagram-Q7BY3M3F-DXkEmvKk.js → erDiagram-Q7BY3M3F-BxueSNDf.js} +3 -3
- package/build/client/assets/{erDiagram-Q7BY3M3F-DXkEmvKk.js.map → erDiagram-Q7BY3M3F-BxueSNDf.js.map} +1 -1
- package/build/client/assets/error-boundary-BLyHIxcu.js +2 -0
- package/build/client/assets/error-boundary-BLyHIxcu.js.map +1 -0
- package/build/client/assets/finished-BiOz59BB.js +2 -0
- package/build/client/assets/finished-BiOz59BB.js.map +1 -0
- package/build/client/assets/{flowDiagram-4HSFHLVR-DCodZaNW.js → flowDiagram-4HSFHLVR-CfL3E-FD.js} +3 -3
- package/build/client/assets/{flowDiagram-4HSFHLVR-DCodZaNW.js.map → flowDiagram-4HSFHLVR-CfL3E-FD.js.map} +1 -1
- package/build/client/assets/ganttDiagram-APWFNJXF-DxEqrjXE.js +258 -0
- package/build/client/assets/{ganttDiagram-APWFNJXF-TfB6wYvN.js.map → ganttDiagram-APWFNJXF-DxEqrjXE.js.map} +1 -1
- package/build/client/assets/gitGraphDiagram-7IBYFJ6S-csni0XOM.js +66 -0
- package/build/client/assets/{gitGraphDiagram-7IBYFJ6S-D2NQnQv2.js.map → gitGraphDiagram-7IBYFJ6S-csni0XOM.js.map} +1 -1
- package/build/client/assets/{graph-eJUngNSH.js → graph-DiSezMy_.js} +2 -2
- package/build/client/assets/{graph-eJUngNSH.js.map → graph-DiSezMy_.js.map} +1 -1
- package/build/client/assets/index-AKpqKc27.js +2 -0
- package/build/client/assets/index-AKpqKc27.js.map +1 -0
- package/build/client/assets/index-BGtlU-cD.js +2 -0
- package/build/client/assets/index-BGtlU-cD.js.map +1 -0
- package/build/client/assets/index-BP1ceC2h.js +10 -0
- package/build/client/assets/index-BP1ceC2h.js.map +1 -0
- package/build/client/assets/index-BSJLLJJ3.js +2 -0
- package/build/client/assets/index-BSJLLJJ3.js.map +1 -0
- package/build/client/assets/index-C0Fh_zu0.js +36 -0
- package/build/client/assets/{index-DLC5u33j.js.map → index-C0Fh_zu0.js.map} +1 -1
- package/build/client/assets/index-Co8qgD4k.js +2 -0
- package/build/client/assets/{index-BmMpCvYx.js.map → index-Co8qgD4k.js.map} +1 -1
- package/build/client/assets/index-D0dQzJhy.js +2 -0
- package/build/client/assets/index-D0dQzJhy.js.map +1 -0
- package/build/client/assets/index-DJsDENYs.js +42 -0
- package/build/client/assets/{index-Do-KWT0a.js.map → index-DJsDENYs.js.map} +1 -1
- package/build/client/assets/index-DWV7tDz3.js +3 -0
- package/build/client/assets/{index-DvQyydjU.js.map → index-DWV7tDz3.js.map} +1 -1
- package/build/client/assets/infoDiagram-PH2N3AL5-Dr2v4fFk.js +3 -0
- package/build/client/assets/{infoDiagram-PH2N3AL5-D-nEozcT.js.map → infoDiagram-PH2N3AL5-Dr2v4fFk.js.map} +1 -1
- package/build/client/assets/{journeyDiagram-U35MCT3I-Dc8g8jIX.js → journeyDiagram-U35MCT3I-iX4x5HVK.js} +3 -3
- package/build/client/assets/{journeyDiagram-U35MCT3I-Dc8g8jIX.js.map → journeyDiagram-U35MCT3I-iX4x5HVK.js.map} +1 -1
- package/build/client/assets/jsx-runtime-BjG_zV1W.js +10 -0
- package/build/client/assets/jsx-runtime-BjG_zV1W.js.map +1 -0
- package/build/client/assets/{kanban-definition-NDS4AKOZ-BwwcaZU2.js → kanban-definition-NDS4AKOZ-BwP5uDj3.js} +3 -3
- package/build/client/assets/{kanban-definition-NDS4AKOZ-BwwcaZU2.js.map → kanban-definition-NDS4AKOZ-BwP5uDj3.js.map} +1 -1
- package/build/client/assets/l-CVlzRdDg.js +2 -0
- package/build/client/assets/l-CVlzRdDg.js.map +1 -0
- package/build/client/assets/{layout-BAeq0-Is.js → layout-X8Y3Cf_B.js} +2 -2
- package/build/client/assets/{layout-BAeq0-Is.js.map → layout-X8Y3Cf_B.js.map} +1 -1
- package/build/client/assets/{linear-LWRPSVMz.js → linear-1DrdUlCY.js} +2 -2
- package/build/client/assets/{linear-LWRPSVMz.js.map → linear-1DrdUlCY.js.map} +1 -1
- package/build/client/assets/loading-CXEQXwx8.js +2 -0
- package/build/client/assets/{loading-b1FV2pQh.js.map → loading-CXEQXwx8.js.map} +1 -1
- package/build/client/assets/login-CaIyI5Cd.js +2 -0
- package/build/client/assets/login-CaIyI5Cd.js.map +1 -0
- package/build/client/assets/manifest-953eedfa.js +1 -0
- package/build/client/assets/mdx-DD5XL3ew.js +3 -0
- package/build/client/assets/mdx-DD5XL3ew.js.map +1 -0
- package/build/client/assets/{mermaid.core-q9C-HfFu.js → mermaid.core-D4QVSd3D.js} +5 -5
- package/build/client/assets/{mermaid.core-q9C-HfFu.js.map → mermaid.core-D4QVSd3D.js.map} +1 -1
- package/build/client/assets/mindmap-definition-ALO5MXBD-tl5KlWaB.js +96 -0
- package/build/client/assets/{mindmap-definition-ALO5MXBD-BhzLy0Zl.js.map → mindmap-definition-ALO5MXBD-tl5KlWaB.js.map} +1 -1
- package/build/client/assets/misc-yfWFSwMN.js +2 -0
- package/build/client/assets/{misc-2sBiisF5.js.map → misc-yfWFSwMN.js.map} +1 -1
- package/build/client/assets/nav-chevrons-CokHxUSB.js +2 -0
- package/build/client/assets/nav-chevrons-CokHxUSB.js.map +1 -0
- package/build/client/assets/onboarding-DyrGJaVn.js +2 -0
- package/build/client/assets/onboarding-DyrGJaVn.js.map +1 -0
- package/build/client/assets/online-CFV79-RX.js +2 -0
- package/build/client/assets/{online-DZKJk3C2.js.map → online-CFV79-RX.js.map} +1 -1
- package/build/client/assets/pe-C53l4u-6.js +2 -0
- package/build/client/assets/{pe-BShc2dvc.js.map → pe-C53l4u-6.js.map} +1 -1
- package/build/client/assets/pieDiagram-IB7DONF6-y5DqPNpS.js +31 -0
- package/build/client/assets/{pieDiagram-IB7DONF6-CaTGj8RH.js.map → pieDiagram-IB7DONF6-y5DqPNpS.js.map} +1 -1
- package/build/client/assets/preferences-C2zlOkAS.js +2 -0
- package/build/client/assets/preferences-C2zlOkAS.js.map +1 -0
- package/build/client/assets/{presence-C9bUSihT.js → presence-BoFXYAd7.js} +3 -3
- package/build/client/assets/{presence-C9bUSihT.js.map → presence-BoFXYAd7.js.map} +1 -1
- package/build/client/assets/preview-CE_VqYU4.js +2 -0
- package/build/client/assets/preview-CE_VqYU4.js.map +1 -0
- package/build/client/assets/product-TKJyOyif.js +2 -0
- package/build/client/assets/{product-DJOWNuL-.js.map → product-TKJyOyif.js.map} +1 -1
- package/build/client/assets/progress-CtGAFS2P.js +2 -0
- package/build/client/assets/{progress-BJ4ADF-s.js.map → progress-CtGAFS2P.js.map} +1 -1
- package/build/client/assets/progress-bar-DTYORRrG.js +2 -0
- package/build/client/assets/progress-bar-DTYORRrG.js.map +1 -0
- package/build/client/assets/{quadrantDiagram-7GDLP6J5-B4Od6z6p.js → quadrantDiagram-7GDLP6J5-ymq7Ot51.js} +3 -3
- package/build/client/assets/{quadrantDiagram-7GDLP6J5-B4Od6z6p.js.map → quadrantDiagram-7GDLP6J5-ymq7Ot51.js.map} +1 -1
- package/build/client/assets/{radar-MK3ICKWK-CENXhI0E.js → radar-MK3ICKWK-B8xuvUo7.js} +2 -2
- package/build/client/assets/{radar-MK3ICKWK-CENXhI0E.js.map → radar-MK3ICKWK-B8xuvUo7.js.map} +1 -1
- package/build/client/assets/{requirementDiagram-KVF5MWMF-_w0WuUxy.js → requirementDiagram-KVF5MWMF-B4D4Pi12.js} +3 -3
- package/build/client/assets/{requirementDiagram-KVF5MWMF-_w0WuUxy.js.map → requirementDiagram-KVF5MWMF-B4D4Pi12.js.map} +1 -1
- package/build/client/assets/revalidation-ws-89FLt73b.js +2 -0
- package/build/client/assets/revalidation-ws-89FLt73b.js.map +1 -0
- package/build/client/assets/root-Dd9--OJ3.js +2 -0
- package/build/client/assets/root-Dd9--OJ3.js.map +1 -0
- package/build/client/assets/sankeyDiagram-QLVOVGJD-BAY-vMZj.js +11 -0
- package/build/client/assets/{sankeyDiagram-QLVOVGJD-Bt8556P1.js.map → sankeyDiagram-QLVOVGJD-BAY-vMZj.js.map} +1 -1
- package/build/client/assets/{sequenceDiagram-X6HHIX6F-y2-oW3Ob.js → sequenceDiagram-X6HHIX6F-CDjFTgBk.js} +3 -3
- package/build/client/assets/{sequenceDiagram-X6HHIX6F-y2-oW3Ob.js.map → sequenceDiagram-X6HHIX6F-CDjFTgBk.js.map} +1 -1
- package/build/client/assets/set-playground-DtZ5ki7i.js +2 -0
- package/build/client/assets/set-playground-DtZ5ki7i.js.map +1 -0
- package/build/client/assets/stateDiagram-DGXRK772-DFekjeUZ.js +2 -0
- package/build/client/assets/{stateDiagram-DGXRK772-B3BuD15b.js.map → stateDiagram-DGXRK772-DFekjeUZ.js.map} +1 -1
- package/build/client/assets/stateDiagram-v2-YXO3MK2T-CSkUdkOW.js +2 -0
- package/build/client/assets/{stateDiagram-v2-YXO3MK2T-BzFxWpqR.js.map → stateDiagram-v2-YXO3MK2T-CSkUdkOW.js.map} +1 -1
- package/build/client/assets/support-drzs9wuf.js +2 -0
- package/build/client/assets/support-drzs9wuf.js.map +1 -0
- package/build/client/assets/test-psaYrMGK.js +2 -0
- package/build/client/assets/test-psaYrMGK.js.map +1 -0
- package/build/client/assets/{tests-B1ak2CDI.js → tests-7juFXgcY.js} +3 -3
- package/build/client/assets/tests-7juFXgcY.js.map +1 -0
- package/build/client/assets/{timeline-definition-BDJGKUSR-DUa2yfAV.js → timeline-definition-BDJGKUSR-1WjIsnZH.js} +3 -3
- package/build/client/assets/{timeline-definition-BDJGKUSR-DUa2yfAV.js.map → timeline-definition-BDJGKUSR-1WjIsnZH.js.map} +1 -1
- package/build/client/assets/tooltip-C6xKzWST.js +2 -0
- package/build/client/assets/{tooltip-Bzd6O8vq.js.map → tooltip-C6xKzWST.js.map} +1 -1
- package/build/client/assets/use-event-source-B411g-uF.js +2 -0
- package/build/client/assets/{use-event-source-Dar8h_B8.js.map → use-event-source-B411g-uF.js.map} +1 -1
- package/build/client/assets/user-Dmcddqge.js +2 -0
- package/build/client/assets/user-Dmcddqge.js.map +1 -0
- package/build/client/assets/version-BAECczgY.js +2 -0
- package/build/client/assets/version-BAECczgY.js.map +1 -0
- package/build/client/assets/workshop-config-gFAnGhSV.js +2 -0
- package/build/client/assets/workshop-config-gFAnGhSV.js.map +1 -0
- package/build/client/assets/{xychartDiagram-VJFVF3MP-JztjcODi.js → xychartDiagram-VJFVF3MP-Cp8GqXc6.js} +3 -3
- package/build/client/assets/{xychartDiagram-VJFVF3MP-JztjcODi.js.map → xychartDiagram-VJFVF3MP-Cp8GqXc6.js.map} +1 -1
- package/build/server/index.js +4439 -4072
- package/build/server/index.js.map +1 -1
- package/dist/server/index.js +2 -2
- package/package.json +13 -13
- package/build/client/assets/_-BaHOmd8F.js +0 -2
- package/build/client/assets/_-BaHOmd8F.js.map +0 -1
- package/build/client/assets/_exerciseNumber-Dqi7TgL9.js +0 -2
- package/build/client/assets/_exerciseNumber-Dqi7TgL9.js.map +0 -1
- package/build/client/assets/_exerciseNumber_._stepNumber-DoOFEk-P.js +0 -2
- package/build/client/assets/_exerciseNumber_._stepNumber-DoOFEk-P.js.map +0 -1
- package/build/client/assets/_exerciseNumber_.finished-C5m6M0gM.js +0 -2
- package/build/client/assets/_exerciseNumber_.finished-C5m6M0gM.js.map +0 -1
- package/build/client/assets/_layout-B_BIIcpM.js +0 -2
- package/build/client/assets/_layout-B_BIIcpM.js.map +0 -1
- package/build/client/assets/_layout-B_NrRv0S.js +0 -6
- package/build/client/assets/_layout-B_NrRv0S.js.map +0 -1
- package/build/client/assets/_layout-D7_F6t3x.js +0 -2
- package/build/client/assets/_layout-D7_F6t3x.js.map +0 -1
- package/build/client/assets/_layout-QRe2q83m.js +0 -2
- package/build/client/assets/_layout-QRe2q83m.js.map +0 -1
- package/build/client/assets/accordion-CpiLc1m2.js +0 -2
- package/build/client/assets/account-CbFDiVNd.js +0 -2
- package/build/client/assets/account-CbFDiVNd.js.map +0 -1
- package/build/client/assets/app-BYSDu0vh.js +0 -2
- package/build/client/assets/app-BYSDu0vh.js.map +0 -1
- package/build/client/assets/architectureDiagram-IEHRJDOE-BqPvrjLh.js +0 -37
- package/build/client/assets/button-Dt4EcDfR.js +0 -2
- package/build/client/assets/button-Dt4EcDfR.js.map +0 -1
- package/build/client/assets/channel-DnqeaSfB.js +0 -2
- package/build/client/assets/classDiagram-GIVACNV2-cXWx-aYi.js +0 -2
- package/build/client/assets/classDiagram-v2-COTLJTTW-cXWx-aYi.js +0 -2
- package/build/client/assets/clone-Bj8ANPCv.js +0 -2
- package/build/client/assets/components-5arJTWsS.js +0 -158
- package/build/client/assets/components-5arJTWsS.js.map +0 -1
- package/build/client/assets/dagre-OKDRZEBW-DT9ZQRxf.js +0 -5
- package/build/client/assets/diagram-SSKATNLV-CcKCni9R.js +0 -44
- package/build/client/assets/diagram-VNBRO52H-DWoRAiqO.js +0 -25
- package/build/client/assets/diff-BKR4usVv.js +0 -2
- package/build/client/assets/diff-BKR4usVv.js.map +0 -1
- package/build/client/assets/diff-D5_VwPLF.js.map +0 -1
- package/build/client/assets/discord-BU7RzE6-.js +0 -2
- package/build/client/assets/discord-BU7RzE6-.js.map +0 -1
- package/build/client/assets/discord-ut4t-aMQ.js +0 -2
- package/build/client/assets/discord-ut4t-aMQ.js.map +0 -1
- package/build/client/assets/entry.client-BLUlgPHE.js +0 -44
- package/build/client/assets/entry.client-BLUlgPHE.js.map +0 -1
- package/build/client/assets/error-boundary-B07cWiEy.js +0 -2
- package/build/client/assets/error-boundary-B07cWiEy.js.map +0 -1
- package/build/client/assets/finished-MrsevkkK.js +0 -2
- package/build/client/assets/finished-MrsevkkK.js.map +0 -1
- package/build/client/assets/ganttDiagram-APWFNJXF-TfB6wYvN.js +0 -258
- package/build/client/assets/gitGraphDiagram-7IBYFJ6S-D2NQnQv2.js +0 -66
- package/build/client/assets/index-9euhNa27.js +0 -2
- package/build/client/assets/index-9euhNa27.js.map +0 -1
- package/build/client/assets/index-B8yUFowV.js +0 -2
- package/build/client/assets/index-B8yUFowV.js.map +0 -1
- package/build/client/assets/index-BmMpCvYx.js +0 -2
- package/build/client/assets/index-DLC5u33j.js +0 -36
- package/build/client/assets/index-DPHVg8Eh.js +0 -2
- package/build/client/assets/index-DPHVg8Eh.js.map +0 -1
- package/build/client/assets/index-Do-KWT0a.js +0 -42
- package/build/client/assets/index-Dsusf_Av.js +0 -38
- package/build/client/assets/index-Dsusf_Av.js.map +0 -1
- package/build/client/assets/index-DvQyydjU.js +0 -3
- package/build/client/assets/index-Fw2eA3AF.js +0 -2
- package/build/client/assets/index-Fw2eA3AF.js.map +0 -1
- package/build/client/assets/infoDiagram-PH2N3AL5-D-nEozcT.js +0 -3
- package/build/client/assets/l-ChG-6rmU.js +0 -2
- package/build/client/assets/l-ChG-6rmU.js.map +0 -1
- package/build/client/assets/loading-b1FV2pQh.js +0 -2
- package/build/client/assets/login-Ci7cdiuj.js +0 -2
- package/build/client/assets/login-Ci7cdiuj.js.map +0 -1
- package/build/client/assets/manifest-f9e2a790.js +0 -1
- package/build/client/assets/mdx-C7imFHZE.js +0 -3
- package/build/client/assets/mdx-C7imFHZE.js.map +0 -1
- package/build/client/assets/mindmap-definition-ALO5MXBD-BhzLy0Zl.js +0 -96
- package/build/client/assets/misc-2sBiisF5.js +0 -2
- package/build/client/assets/nav-chevrons-CV-dpXNR.js +0 -2
- package/build/client/assets/nav-chevrons-CV-dpXNR.js.map +0 -1
- package/build/client/assets/onboarding-c9ZuxLsm.js +0 -2
- package/build/client/assets/onboarding-c9ZuxLsm.js.map +0 -1
- package/build/client/assets/online-DZKJk3C2.js +0 -2
- package/build/client/assets/pe-BShc2dvc.js +0 -2
- package/build/client/assets/pieDiagram-IB7DONF6-CaTGj8RH.js +0 -31
- package/build/client/assets/preferences-BkWQyRCq.js +0 -2
- package/build/client/assets/preferences-BkWQyRCq.js.map +0 -1
- package/build/client/assets/preview-CqZGJtsE.js +0 -2
- package/build/client/assets/preview-CqZGJtsE.js.map +0 -1
- package/build/client/assets/product-DJOWNuL-.js +0 -2
- package/build/client/assets/progress-BJ4ADF-s.js +0 -2
- package/build/client/assets/progress-bar-DgnkQxQw.js +0 -2
- package/build/client/assets/progress-bar-DgnkQxQw.js.map +0 -1
- package/build/client/assets/revalidation-ws-B0skixgr.js +0 -2
- package/build/client/assets/revalidation-ws-B0skixgr.js.map +0 -1
- package/build/client/assets/root-C_WG23OF.js +0 -11
- package/build/client/assets/root-C_WG23OF.js.map +0 -1
- package/build/client/assets/sankeyDiagram-QLVOVGJD-Bt8556P1.js +0 -11
- package/build/client/assets/set-playground-DW2Ys-rV.js +0 -2
- package/build/client/assets/set-playground-DW2Ys-rV.js.map +0 -1
- package/build/client/assets/stateDiagram-DGXRK772-B3BuD15b.js +0 -2
- package/build/client/assets/stateDiagram-v2-YXO3MK2T-BzFxWpqR.js +0 -2
- package/build/client/assets/support-Bg0iSyle.js +0 -2
- package/build/client/assets/support-Bg0iSyle.js.map +0 -1
- package/build/client/assets/test-DdUNKtkF.js +0 -2
- package/build/client/assets/test-DdUNKtkF.js.map +0 -1
- package/build/client/assets/tests-B1ak2CDI.js.map +0 -1
- package/build/client/assets/tooltip-Bzd6O8vq.js +0 -2
- package/build/client/assets/use-event-source-Dar8h_B8.js +0 -2
- package/build/client/assets/user-DNSnhqGn.js +0 -2
- package/build/client/assets/user-DNSnhqGn.js.map +0 -1
- package/build/client/assets/version-DriSvNMy.js +0 -2
- package/build/client/assets/version-DriSvNMy.js.map +0 -1
- package/build/client/assets/workshop-config-DchzGYJM.js +0 -2
- package/build/client/assets/workshop-config-DchzGYJM.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e}from"./jsx-runtime-BjG_zV1W.js";import{L as o}from"./chunk-QMGIS6GS-CTjj1G71.js";import{I as t}from"./misc-yfWFSwMN.js";function l({prev:r,next:a}){return e.jsxs("div",{className:"relative flex h-full overflow-hidden",children:[r?e.jsx(o,{prefetch:"intent",...r,className:"group flex h-full items-center justify-center border-l px-7",children:e.jsxs(e.Fragment,{children:[e.jsx(t,{name:"ChevronLeft",className:"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0"}),e.jsx(t,{name:"ChevronLeft",className:"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100"})]})}):null,a?e.jsx(o,{prefetch:"intent",...a,className:"group flex h-full items-center justify-center border-l px-7",children:e.jsxs(e.Fragment,{children:[e.jsx(t,{name:"ChevronRight",className:"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0"}),e.jsx(t,{name:"ChevronRight",className:"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100"})]})}):null]})}export{l as N};
|
|
2
|
+
//# sourceMappingURL=nav-chevrons-CokHxUSB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-chevrons-CokHxUSB.js","sources":["../../../app/components/nav-chevrons.tsx"],"sourcesContent":["import { Link, type LinkProps } from 'react-router'\nimport { Icon } from './icons.tsx'\n\nexport function NavChevrons({\n\tprev,\n\tnext,\n}: {\n\tprev?: LinkProps | null\n\tnext?: LinkProps | null\n}) {\n\treturn (\n\t\t<div className=\"relative flex h-full overflow-hidden\">\n\t\t\t{prev ? (\n\t\t\t\t<Link\n\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t{...prev}\n\t\t\t\t\tclassName=\"group flex h-full items-center justify-center border-l px-7\"\n\t\t\t\t\tchildren={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronLeft\"\n\t\t\t\t\t\t\t\tclassName=\"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronLeft\"\n\t\t\t\t\t\t\t\tclassName=\"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t{next ? (\n\t\t\t\t<Link\n\t\t\t\t\tprefetch=\"intent\"\n\t\t\t\t\t{...next}\n\t\t\t\t\tclassName=\"group flex h-full items-center justify-center border-l px-7\"\n\t\t\t\t\tchildren={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronRight\"\n\t\t\t\t\t\t\t\tclassName=\"absolute opacity-100 transition duration-300 ease-in-out group-hover:translate-y-10 group-hover:opacity-0\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tname=\"ChevronRight\"\n\t\t\t\t\t\t\t\tclassName=\"absolute -translate-y-10 opacity-0 transition duration-300 ease-in-out group-hover:translate-y-0 group-hover:opacity-100\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t</div>\n\t)\n}\n"],"names":["NavChevrons","prev","next","jsxs","jsx","Link","Fragment","Icon"],"mappings":"sIAGO,SAASA,EAAY,CAC3B,KAAAC,EACA,KAAAC,CACD,EAGG,CAED,OAAAC,EAAA,KAAC,MAAI,CAAA,UAAU,uCACb,SAAA,CACAF,EAAAG,EAAA,IAACC,EAAA,CACA,SAAS,SACR,GAAGJ,EACJ,UAAU,8DACV,SAEEE,EAAA,KAAAG,WAAA,CAAA,SAAA,CAAAF,EAAA,IAACG,EAAA,CACA,KAAK,cACL,UAAU,2GAAA,CACX,EACAH,EAAA,IAACG,EAAA,CACA,KAAK,cACL,UAAU,0HAAA,CAAA,CACX,CACD,CAAA,CAAA,CAAA,EAGC,KACHL,EACAE,EAAA,IAACC,EAAA,CACA,SAAS,SACR,GAAGH,EACJ,UAAU,8DACV,SAEEC,EAAA,KAAAG,WAAA,CAAA,SAAA,CAAAF,EAAA,IAACG,EAAA,CACA,KAAK,eACL,UAAU,2GAAA,CACX,EACAH,EAAA,IAACG,EAAA,CACA,KAAK,eACL,UAAU,0HAAA,CAAA,CACX,CACD,CAAA,CAAA,CAAA,EAGC,IAAA,EACL,CAEF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{w as t,c as r,F as i}from"./chunk-QMGIS6GS-CTjj1G71.js";import{j as e}from"./jsx-runtime-BjG_zV1W.js";import{B as s}from"./button-DRpue1NG.js";import{E as l,D as n}from"./epic-video-D_3otytp.js";import"./misc-yfWFSwMN.js";import"./index-C0Fh_zu0.js";import"./tooltip-C6xKzWST.js";import"./index-BP1ceC2h.js";import"./pe-C53l4u-6.js";import"./online-CFV79-RX.js";import"./loading-CXEQXwx8.js";import"./user-Dmcddqge.js";import"./workshop-config-gFAnGhSV.js";const y={getSitemapEntries:()=>null},N=t(function(){const o=r();return e.jsxs("main",{className:"flex h-full w-full flex-col items-center justify-between gap-4",children:[e.jsxs("div",{className:"container flex h-full w-full max-w-5xl flex-1 flex-col items-center gap-4 overflow-y-scroll py-12 scrollbar-thin scrollbar-thumb-scrollbar",children:[e.jsx("h1",{className:"text-5xl",children:"Onboarding"}),e.jsx("p",{className:"text-xl",children:"Welcome to EpicWeb.dev!"}),e.jsxs("p",{className:"text-lg",children:["Before you get started, ",e.jsx("strong",{children:"you must watch the tour video"}),"! You're going to be spending a lot of time in here, so it's important you understand how to work effectively in this workshop"]}),e.jsx("div",{className:"w-[780px] max-w-full",children:e.jsx(l,{epicVideoInfosPromise:o.videoInfos,children:e.jsx(n,{url:o.onboardingVideo})})})]}),e.jsx(i,{method:"post",className:"pb-4",children:e.jsx(s,{name:"intent",value:"complete",varient:"primary",children:"I've watched it. Let's go!"})})]})});export{N as default,y as handle};
|
|
2
|
+
//# sourceMappingURL=onboarding-DyrGJaVn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding-DyrGJaVn.js","sources":["../../../app/routes/onboarding.tsx"],"sourcesContent":["import { invariantResponse } from '@epic-web/invariant'\nimport { getWorkshopConfig } from '@epic-web/workshop-utils/config.server'\nimport {\n\tgetAuthInfo,\n\tmarkOnboardingVideoWatched,\n} from '@epic-web/workshop-utils/db.server'\nimport { getEpicVideoInfos } from '@epic-web/workshop-utils/epic-api.server'\nimport { makeTimings } from '@epic-web/workshop-utils/timing.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport {\n\tdata,\n\tredirect,\n\ttype ActionFunctionArgs,\n\ttype HeadersFunction,\n\ttype LoaderFunctionArgs,\n\tForm,\n\tuseLoaderData,\n} from 'react-router'\nimport { Button } from '#app/components/button.tsx'\nimport {\n\tDeferredEpicVideo,\n\tEpicVideoInfoProvider,\n} from '#app/components/epic-video.tsx'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tconst timings = makeTimings('onboarding')\n\n\tconst { onboardingVideo } = getWorkshopConfig()\n\tconst videoInfos = getEpicVideoInfos([onboardingVideo], { request, timings })\n\treturn data(\n\t\t{ onboardingVideo, videoInfos },\n\t\t{ headers: { 'Server-Timing': timings.toString() } },\n\t)\n}\n\nexport const headers: HeadersFunction = ({ loaderHeaders }) => {\n\tconst headers = {\n\t\t'Server-Timing': loaderHeaders.get('Server-Timing') ?? '',\n\t}\n\treturn headers\n}\n\nexport async function action({ request }: ActionFunctionArgs) {\n\tconst data = await request.formData()\n\tconst authInfo = await getAuthInfo()\n\tconst intent = data.get('intent')\n\tinvariantResponse(intent === 'complete', 'Invalid intent')\n\tconst { onboardingVideo } = getWorkshopConfig()\n\tawait markOnboardingVideoWatched(onboardingVideo)\n\n\tif (authInfo) throw redirect('/')\n\telse throw redirect('/login')\n}\n\nexport default function Onboarding() {\n\tconst data = useLoaderData<typeof loader>()\n\treturn (\n\t\t<main className=\"flex h-full w-full flex-col items-center justify-between gap-4\">\n\t\t\t<div className=\"container flex h-full w-full max-w-5xl flex-1 flex-col items-center gap-4 overflow-y-scroll py-12 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t<h1 className=\"text-5xl\">Onboarding</h1>\n\t\t\t\t<p className=\"text-xl\">Welcome to EpicWeb.dev!</p>\n\t\t\t\t<p className=\"text-lg\">\n\t\t\t\t\tBefore you get started, <strong>you must watch the tour video</strong>\n\t\t\t\t\t! You're going to be spending a lot of time in here, so it's important\n\t\t\t\t\tyou understand how to work effectively in this workshop\n\t\t\t\t</p>\n\t\t\t\t<div className=\"w-[780px] max-w-full\">\n\t\t\t\t\t<EpicVideoInfoProvider epicVideoInfosPromise={data.videoInfos}>\n\t\t\t\t\t\t<DeferredEpicVideo url={data.onboardingVideo} />\n\t\t\t\t\t</EpicVideoInfoProvider>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Form method=\"post\" className=\"pb-4\">\n\t\t\t\t<Button name=\"intent\" value=\"complete\" varient=\"primary\">\n\t\t\t\t\tI've watched it. Let's go!\n\t\t\t\t</Button>\n\t\t\t</Form>\n\t\t</main>\n\t)\n}\n"],"names":["handle","getSitemapEntries","onboarding","_UNSAFE_withComponentProps","data","useLoaderData","jsxs","className","children","jsx","EpicVideoInfoProvider","epicVideoInfosPromise","videoInfos","DeferredEpicVideo","url","onboardingVideo","Form","method","Button","name","value","varient"],"mappings":"gdAwBO,MAAMA,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EAgCAC,EAAAC,EAAA,UAAqC,CACpC,MAAMC,EAAOC,EAA6B,EAEzC,OAAAC,EAAAA,KAAC,OAAK,CAAAC,UAAU,iEACfC,SAAA,CAACF,EAAA,KAAA,MAAA,CAAIC,UAAU,6IACdC,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,WAAWC,SAAU,YAAA,CAAA,EAClCC,EAAA,IAAA,IAAA,CAAEF,UAAU,UAAUC,SAAuB,yBAAA,CAAA,EAC9CF,EAAA,KAAC,IAAE,CAAAC,UAAU,UAAUC,SAAA,CAAA,2BACEC,EAAA,IAAC,UAAOD,SAA6B,+BAAA,CAAA,EAAS,gIAAA,CAGvE,CAAA,EACCC,EAAA,IAAA,MAAA,CAAIF,UAAU,uBACdC,eAACE,EAAsB,CAAAC,sBAAuBP,EAAKQ,WAClDJ,eAACK,EAAkB,CAAAC,IAAKV,EAAKW,eAAiB,CAAA,CAC/C,CAAA,CACD,CAAA,CAAA,CACD,CAAA,EACCN,EAAA,IAAAO,EAAA,CAAKC,OAAO,OAAOV,UAAU,OAC7BC,SAAAC,EAAA,IAACS,EAAO,CAAAC,KAAK,SAASC,MAAM,WAAWC,QAAQ,UAAUb,qCAEzD,CAAA,CACD,CAAA,CAAA,CACD,CAAA,CAEF,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./chunk-QMGIS6GS-CTjj1G71.js";import{a as o}from"./index-C0Fh_zu0.js";function t(){return window.navigator.onLine}function r(n){return window.addEventListener("online",n),window.addEventListener("offline",n),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",n)}}function u(){const n=o();return e.useSyncExternalStore(r,t,()=>n.online)}export{u};
|
|
2
|
+
//# sourceMappingURL=online-CFV79-RX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"online-
|
|
1
|
+
{"version":3,"file":"online-CFV79-RX.js","sources":["../../../app/utils/online.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react'\nimport { useRequestInfo } from './request-info.ts'\n\nfunction getSnapshot() {\n\treturn window.navigator.onLine\n}\n\nfunction subscribe(callback: () => void) {\n\twindow.addEventListener('online', callback)\n\twindow.addEventListener('offline', callback)\n\treturn () => {\n\t\twindow.removeEventListener('online', callback)\n\t\twindow.removeEventListener('offline', callback)\n\t}\n}\n\nexport function useIsOnline() {\n\tconst requestInfo = useRequestInfo()\n\treturn useSyncExternalStore(subscribe, getSnapshot, () => requestInfo.online)\n}\n"],"names":["getSnapshot","subscribe","callback","useIsOnline","requestInfo","useRequestInfo","useSyncExternalStore"],"mappings":"yFAGA,SAASA,GAAc,CACtB,OAAO,OAAO,UAAU,MACzB,CAEA,SAASC,EAAUC,EAAsB,CACjC,cAAA,iBAAiB,SAAUA,CAAQ,EACnC,OAAA,iBAAiB,UAAWA,CAAQ,EACpC,IAAM,CACL,OAAA,oBAAoB,SAAUA,CAAQ,EACtC,OAAA,oBAAoB,UAAWA,CAAQ,CAC/C,CACD,CAEO,SAASC,GAAc,CAC7B,MAAMC,EAAcC,EAAe,EACnC,OAAOC,EAAqB,qBAAAL,EAAWD,EAAa,IAAMI,EAAY,MAAM,CAC7E"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as n}from"./jsx-runtime-BjG_zV1W.js";import{r as e,u}from"./chunk-QMGIS6GS-CTjj1G71.js";function a(){return()=>{}}function o(){return e.useSyncExternalStore(a,()=>!0,()=>!1)}function s({children:t,fallback:r=null}){return o()?e.createElement(e.Fragment,null,r):e.createElement(e.Fragment,null,t())}const c="__PE_redirectTo";function m(){const t=u();return n.jsx(s,{children:()=>n.jsx("input",{type:"hidden",name:c,value:t.pathname})})}export{o as a,m as u};
|
|
2
|
+
//# sourceMappingURL=pe-C53l4u-6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pe-
|
|
1
|
+
{"version":3,"file":"pe-C53l4u-6.js","sources":["../../../../../node_modules/remix-utils/build/react/use-hydrated.js","../../../../../node_modules/remix-utils/build/react/server-only.js","../../../app/utils/pe.tsx"],"sourcesContent":["import { useSyncExternalStore } from \"react\";\nfunction subscribe() {\n // biome-ignore lint/suspicious/noEmptyBlockStatements: Mock function\n return () => { };\n}\n/**\n * Return a boolean indicating if the JS has been hydrated already.\n * When doing Server-Side Rendering, the result will always be false.\n * When doing Client-Side Rendering, the result will always be false on the\n * first render and true from then on. Even if a new component renders it will\n * always start with true.\n *\n * Example: Disable a button that needs JS to work.\n * ```tsx\n * let hydrated = useHydrated();\n * return (\n * <button type=\"button\" disabled={!hydrated} onClick={doSomethingCustom}>\n * Click me\n * </button>\n * );\n * ```\n */\nexport function useHydrated() {\n return useSyncExternalStore(subscribe, () => true, () => false);\n}\n","import * as React from \"react\";\nimport { useHydrated } from \"./use-hydrated.js\";\n/**\n * Render the children only before the JS has loaded client-side. Use an\n * optional fallback component for once the JS has loaded.\n *\n * Example: Render a hidden input to identify if the user has JS.\n * ```tsx\n * return (\n * <ServerOnly fallback={<FakeChart />}>\n * {() => <Chart />}\n * </ServerOnly>\n * );\n * ```\n */\nexport function ServerOnly({ children, fallback = null }) {\n return useHydrated() ? React.createElement(React.Fragment, null, fallback) : React.createElement(React.Fragment, null, children());\n}\n","// This is a progressive enhancement utility to ensure that the user is redirected\n// to the page they are on if the JavaScript hasn't had a chance to hydrate yet.\n// I think when Remix has middleware, this will be easier to do automatically.\n\nimport { data, redirect, useLocation } from 'react-router'\nimport { safeRedirect } from 'remix-utils/safe-redirect'\nimport { ServerOnly } from 'remix-utils/server-only'\n\nconst PE_REDIRECT_INPUT_NAME = '__PE_redirectTo'\n\nexport function usePERedirectInput() {\n\tconst location = useLocation()\n\treturn (\n\t\t<ServerOnly>\n\t\t\t{() => (\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tname={PE_REDIRECT_INPUT_NAME}\n\t\t\t\t\tvalue={location.pathname}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</ServerOnly>\n\t)\n}\n\nexport function ensureProgressiveEnhancement(\n\tformData: FormData,\n\tresponseInit?: () => Parameters<typeof redirect>[1],\n) {\n\tconst redirectTo = formData.get(PE_REDIRECT_INPUT_NAME)\n\tif (typeof redirectTo === 'string') {\n\t\tthrow redirect(safeRedirect(redirectTo), responseInit?.())\n\t}\n}\n\nexport function dataWithPE<Data>(\n\tformData: FormData,\n\t...args: Parameters<typeof data<Data>>\n) {\n\tensureProgressiveEnhancement(formData, () => ({\n\t\tstatusText: JSON.stringify(args[0]),\n\t\t...(typeof args[1] === 'number' ? { status: args[1] } : args[1]),\n\t}))\n\treturn data(...args)\n}\n"],"names":["subscribe","useHydrated","useSyncExternalStore","ServerOnly","children","fallback","React.createElement","React.Fragment","PE_REDIRECT_INPUT_NAME","usePERedirectInput","location","useLocation","jsx"],"mappings":"iGACA,SAASA,GAAY,CAEjB,MAAO,IAAM,CAAG,CACpB,CAkBO,SAASC,GAAc,CAC1B,OAAOC,EAAoB,qBAACF,EAAW,IAAM,GAAM,IAAM,EAAK,CAClE,CCTO,SAASG,EAAW,CAAE,SAAAC,EAAU,SAAAC,EAAW,IAAI,EAAI,CACtD,OAAOJ,EAAa,EAAGK,gBAAoBC,EAAAA,SAAgB,KAAMF,CAAQ,EAAIC,gBAAoBC,EAAAA,SAAgB,KAAMH,EAAQ,CAAE,CACrI,CCTA,MAAMI,EAAyB,kBAExB,SAASC,GAAqB,CACpC,MAAMC,EAAWC,EAAY,EAE5B,OAAAC,MAACT,GACC,SACA,IAAAS,EAAA,IAAC,QAAA,CACA,KAAK,SACL,KAAMJ,EACN,MAAOE,EAAS,QAAA,CAAA,EAGnB,CAEF","x_google_ignoreList":[0,1]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import{p as V}from"./chunk-4BMEZGHF-Dn8dm6h4.js";import{Q as y,T as z,aF as U,_ as p,g as j,s as q,a as H,b as K,t as Q,q as Z,l as F,c as J,F as X,K as Y,a4 as tt,e as et,z as at,H as rt}from"./mermaid.core-D4QVSd3D.js";import{p as nt}from"./radar-MK3ICKWK-B8xuvUo7.js";import{d as P}from"./arc-BgUWL_JM.js";import{o as it}from"./ordinal-Cboi1Yqb.js";import"./mdx-DD5XL3ew.js";import"./jsx-runtime-BjG_zV1W.js";import"./misc-yfWFSwMN.js";import"./chunk-QMGIS6GS-CTjj1G71.js";import"./index-BP1ceC2h.js";import"./epic-video-D_3otytp.js";import"./index-C0Fh_zu0.js";import"./tooltip-C6xKzWST.js";import"./pe-C53l4u-6.js";import"./online-CFV79-RX.js";import"./loading-CXEQXwx8.js";import"./user-Dmcddqge.js";import"./workshop-config-gFAnGhSV.js";import"./progress-bar-DTYORRrG.js";import"./_baseUniq-Cp1g4BpN.js";import"./_basePickBy-Bkju64MX.js";import"./clone-DRQ0Dnbp.js";import"./init-Gi6I4Gst.js";function ot(t,a){return a<t?-1:a>t?1:a>=t?0:NaN}function st(t){return t}function lt(){var t=st,a=ot,f=null,s=y(0),u=y(z),x=y(0);function i(e){var r,l=(e=U(e)).length,g,A,h=0,c=new Array(l),n=new Array(l),v=+s.apply(this,arguments),w=Math.min(z,Math.max(-z,u.apply(this,arguments)-v)),m,T=Math.min(Math.abs(w)/l,x.apply(this,arguments)),$=T*(w<0?-1:1),d;for(r=0;r<l;++r)(d=n[c[r]=r]=+t(e[r],r,e))>0&&(h+=d);for(a!=null?c.sort(function(S,C){return a(n[S],n[C])}):f!=null&&c.sort(function(S,C){return f(e[S],e[C])}),r=0,A=h?(w-l*$)/h:0;r<l;++r,v=m)g=c[r],d=n[g],m=v+(d>0?d*A:0)+$,n[g]={data:e[g],index:r,value:d,startAngle:v,endAngle:m,padAngle:T};return n}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:y(+e),i):t},i.sortValues=function(e){return arguments.length?(a=e,f=null,i):a},i.sort=function(e){return arguments.length?(f=e,a=null,i):f},i.startAngle=function(e){return arguments.length?(s=typeof e=="function"?e:y(+e),i):s},i.endAngle=function(e){return arguments.length?(u=typeof e=="function"?e:y(+e),i):u},i.padAngle=function(e){return arguments.length?(x=typeof e=="function"?e:y(+e),i):x},i}var ct=rt.pie,G={sections:new Map,showData:!1},b=G.sections,W=G.showData,pt=structuredClone(ct),ut=p(()=>structuredClone(pt),"getConfig"),gt=p(()=>{b=new Map,W=G.showData,at()},"clear"),dt=p(({label:t,value:a})=>{b.has(t)||(b.set(t,a),F.debug(`added new section: ${t}, with value: ${a}`))},"addSection"),mt=p(()=>b,"getSections"),ft=p(t=>{W=t},"setShowData"),ht=p(()=>W,"getShowData"),R={getConfig:ut,clear:gt,setDiagramTitle:Z,getDiagramTitle:Q,setAccTitle:K,getAccTitle:H,setAccDescription:q,getAccDescription:j,addSection:dt,getSections:mt,setShowData:ft,getShowData:ht},vt=p((t,a)=>{V(t,a),a.setShowData(t.showData),t.sections.map(a.addSection)},"populateDb"),St={parse:p(async t=>{const a=await nt("pie",t);F.debug(a),vt(a,R)},"parse")},yt=p(t=>`
|
|
2
|
+
.pieCircle{
|
|
3
|
+
stroke: ${t.pieStrokeColor};
|
|
4
|
+
stroke-width : ${t.pieStrokeWidth};
|
|
5
|
+
opacity : ${t.pieOpacity};
|
|
6
|
+
}
|
|
7
|
+
.pieOuterCircle{
|
|
8
|
+
stroke: ${t.pieOuterStrokeColor};
|
|
9
|
+
stroke-width: ${t.pieOuterStrokeWidth};
|
|
10
|
+
fill: none;
|
|
11
|
+
}
|
|
12
|
+
.pieTitleText {
|
|
13
|
+
text-anchor: middle;
|
|
14
|
+
font-size: ${t.pieTitleTextSize};
|
|
15
|
+
fill: ${t.pieTitleTextColor};
|
|
16
|
+
font-family: ${t.fontFamily};
|
|
17
|
+
}
|
|
18
|
+
.slice {
|
|
19
|
+
font-family: ${t.fontFamily};
|
|
20
|
+
fill: ${t.pieSectionTextColor};
|
|
21
|
+
font-size:${t.pieSectionTextSize};
|
|
22
|
+
// fill: white;
|
|
23
|
+
}
|
|
24
|
+
.legend text {
|
|
25
|
+
fill: ${t.pieLegendTextColor};
|
|
26
|
+
font-family: ${t.fontFamily};
|
|
27
|
+
font-size: ${t.pieLegendTextSize};
|
|
28
|
+
}
|
|
29
|
+
`,"getStyles"),xt=yt,At=p(t=>{const a=[...t.entries()].map(s=>({label:s[0],value:s[1]})).sort((s,u)=>u.value-s.value);return lt().value(s=>s.value)(a)},"createPieArcs"),wt=p((t,a,f,s)=>{F.debug(`rendering pie chart
|
|
30
|
+
`+t);const u=s.db,x=J(),i=X(u.getConfig(),x.pie),e=40,r=18,l=4,g=450,A=g,h=Y(a),c=h.append("g");c.attr("transform","translate("+A/2+","+g/2+")");const{themeVariables:n}=x;let[v]=tt(n.pieOuterStrokeWidth);v??(v=2);const w=i.textPosition,m=Math.min(A,g)/2-e,T=P().innerRadius(0).outerRadius(m),$=P().innerRadius(m*w).outerRadius(m*w);c.append("circle").attr("cx",0).attr("cy",0).attr("r",m+v/2).attr("class","pieOuterCircle");const d=u.getSections(),S=At(d),C=[n.pie1,n.pie2,n.pie3,n.pie4,n.pie5,n.pie6,n.pie7,n.pie8,n.pie9,n.pie10,n.pie11,n.pie12],D=it(C);c.selectAll("mySlices").data(S).enter().append("path").attr("d",T).attr("fill",o=>D(o.data.label)).attr("class","pieCircle");let N=0;d.forEach(o=>{N+=o}),c.selectAll("mySlices").data(S).enter().append("text").text(o=>(o.data.value/N*100).toFixed(0)+"%").attr("transform",o=>"translate("+$.centroid(o)+")").style("text-anchor","middle").attr("class","slice"),c.append("text").text(u.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText");const M=c.selectAll(".legend").data(D.domain()).enter().append("g").attr("class","legend").attr("transform",(o,k)=>{const E=r+l,L=E*D.domain().length/2,_=12*r,B=k*E-L;return"translate("+_+","+B+")"});M.append("rect").attr("width",r).attr("height",r).style("fill",D).style("stroke",D),M.data(S).append("text").attr("x",r+l).attr("y",r-l).text(o=>{const{label:k,value:E}=o.data;return u.getShowData()?`${k} [${E}]`:k});const I=Math.max(...M.selectAll("text").nodes().map(o=>(o==null?void 0:o.getBoundingClientRect().width)??0)),O=A+e+r+l+I;h.attr("viewBox",`0 0 ${O} ${g}`),et(h,g,O,i.useMaxWidth)},"draw"),Ct={draw:wt},Ht={parser:St,db:R,renderer:Ct,styles:xt};export{Ht as diagram};
|
|
31
|
+
//# sourceMappingURL=pieDiagram-IB7DONF6-y5DqPNpS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pieDiagram-IB7DONF6-CaTGj8RH.js","sources":["../../../../../node_modules/d3-shape/src/descending.js","../../../../../node_modules/d3-shape/src/identity.js","../../../../../node_modules/d3-shape/src/pie.js","../../../../../node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-IB7DONF6.mjs"],"sourcesContent":["export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import {\n populateCommonDb\n} from \"./chunk-4BMEZGHF.mjs\";\nimport {\n cleanAndMerge,\n parseFontSize\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-7B677QYD.mjs\";\nimport {\n __name,\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/pie/pieParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/pie/pieDb.ts\nvar DEFAULT_PIE_CONFIG = defaultConfig_default.pie;\nvar DEFAULT_PIE_DB = {\n sections: /* @__PURE__ */ new Map(),\n showData: false,\n config: DEFAULT_PIE_CONFIG\n};\nvar sections = DEFAULT_PIE_DB.sections;\nvar showData = DEFAULT_PIE_DB.showData;\nvar config = structuredClone(DEFAULT_PIE_CONFIG);\nvar getConfig2 = /* @__PURE__ */ __name(() => structuredClone(config), \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n sections = /* @__PURE__ */ new Map();\n showData = DEFAULT_PIE_DB.showData;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(({ label, value }) => {\n if (!sections.has(label)) {\n sections.set(label, value);\n log.debug(`added new section: ${label}, with value: ${value}`);\n }\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(() => sections, \"getSections\");\nvar setShowData = /* @__PURE__ */ __name((toggle) => {\n showData = toggle;\n}, \"setShowData\");\nvar getShowData = /* @__PURE__ */ __name(() => showData, \"getShowData\");\nvar db = {\n getConfig: getConfig2,\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n setShowData,\n getShowData\n};\n\n// src/diagrams/pie/pieParser.ts\nvar populateDb = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n db2.setShowData(ast.showData);\n ast.sections.map(db2.addSection);\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"pie\", input);\n log.debug(ast);\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/pie/pieStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .pieCircle{\n stroke: ${options.pieStrokeColor};\n stroke-width : ${options.pieStrokeWidth};\n opacity : ${options.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${options.pieOuterStrokeColor};\n stroke-width: ${options.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${options.pieTitleTextSize};\n fill: ${options.pieTitleTextColor};\n font-family: ${options.fontFamily};\n }\n .slice {\n font-family: ${options.fontFamily};\n fill: ${options.pieSectionTextColor};\n font-size:${options.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${options.pieLegendTextColor};\n font-family: ${options.fontFamily};\n font-size: ${options.pieLegendTextSize};\n }\n`, \"getStyles\");\nvar pieStyles_default = getStyles;\n\n// src/diagrams/pie/pieRenderer.ts\nimport { arc, pie as d3pie, scaleOrdinal } from \"d3\";\nvar createPieArcs = /* @__PURE__ */ __name((sections2) => {\n const pieData = [...sections2.entries()].map((element) => {\n return {\n label: element[0],\n value: element[1]\n };\n }).sort((a, b) => {\n return b.value - a.value;\n });\n const pie = d3pie().value(\n (d3Section) => d3Section.value\n );\n return pie(pieData);\n}, \"createPieArcs\");\nvar draw = /* @__PURE__ */ __name((text, id, _version, diagObj) => {\n log.debug(\"rendering pie chart\\n\" + text);\n const db2 = diagObj.db;\n const globalConfig = getConfig();\n const pieConfig = cleanAndMerge(db2.getConfig(), globalConfig.pie);\n const MARGIN = 40;\n const LEGEND_RECT_SIZE = 18;\n const LEGEND_SPACING = 4;\n const height = 450;\n const pieWidth = height;\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\");\n group.attr(\"transform\", \"translate(\" + pieWidth / 2 + \",\" + height / 2 + \")\");\n const { themeVariables } = globalConfig;\n let [outerStrokeWidth] = parseFontSize(themeVariables.pieOuterStrokeWidth);\n outerStrokeWidth ??= 2;\n const textPosition = pieConfig.textPosition;\n const radius = Math.min(pieWidth, height) / 2 - MARGIN;\n const arcGenerator = arc().innerRadius(0).outerRadius(radius);\n const labelArcGenerator = arc().innerRadius(radius * textPosition).outerRadius(radius * textPosition);\n group.append(\"circle\").attr(\"cx\", 0).attr(\"cy\", 0).attr(\"r\", radius + outerStrokeWidth / 2).attr(\"class\", \"pieOuterCircle\");\n const sections2 = db2.getSections();\n const arcs = createPieArcs(sections2);\n const myGeneratedColors = [\n themeVariables.pie1,\n themeVariables.pie2,\n themeVariables.pie3,\n themeVariables.pie4,\n themeVariables.pie5,\n themeVariables.pie6,\n themeVariables.pie7,\n themeVariables.pie8,\n themeVariables.pie9,\n themeVariables.pie10,\n themeVariables.pie11,\n themeVariables.pie12\n ];\n const color = scaleOrdinal(myGeneratedColors);\n group.selectAll(\"mySlices\").data(arcs).enter().append(\"path\").attr(\"d\", arcGenerator).attr(\"fill\", (datum) => {\n return color(datum.data.label);\n }).attr(\"class\", \"pieCircle\");\n let sum = 0;\n sections2.forEach((section) => {\n sum += section;\n });\n group.selectAll(\"mySlices\").data(arcs).enter().append(\"text\").text((datum) => {\n return (datum.data.value / sum * 100).toFixed(0) + \"%\";\n }).attr(\"transform\", (datum) => {\n return \"translate(\" + labelArcGenerator.centroid(datum) + \")\";\n }).style(\"text-anchor\", \"middle\").attr(\"class\", \"slice\");\n group.append(\"text\").text(db2.getDiagramTitle()).attr(\"x\", 0).attr(\"y\", -(height - 50) / 2).attr(\"class\", \"pieTitleText\");\n const legend = group.selectAll(\".legend\").data(color.domain()).enter().append(\"g\").attr(\"class\", \"legend\").attr(\"transform\", (_datum, index) => {\n const height2 = LEGEND_RECT_SIZE + LEGEND_SPACING;\n const offset = height2 * color.domain().length / 2;\n const horizontal = 12 * LEGEND_RECT_SIZE;\n const vertical = index * height2 - offset;\n return \"translate(\" + horizontal + \",\" + vertical + \")\";\n });\n legend.append(\"rect\").attr(\"width\", LEGEND_RECT_SIZE).attr(\"height\", LEGEND_RECT_SIZE).style(\"fill\", color).style(\"stroke\", color);\n legend.data(arcs).append(\"text\").attr(\"x\", LEGEND_RECT_SIZE + LEGEND_SPACING).attr(\"y\", LEGEND_RECT_SIZE - LEGEND_SPACING).text((datum) => {\n const { label, value } = datum.data;\n if (db2.getShowData()) {\n return `${label} [${value}]`;\n }\n return label;\n });\n const longestTextWidth = Math.max(\n ...legend.selectAll(\"text\").nodes().map((node) => node?.getBoundingClientRect().width ?? 0)\n );\n const totalWidth = pieWidth + MARGIN + LEGEND_RECT_SIZE + LEGEND_SPACING + longestTextWidth;\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${height}`);\n configureSvgSize(svg, height, totalWidth, pieConfig.useMaxWidth);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/pie/pieDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: pieStyles_default\n};\nexport {\n diagram\n};\n"],"names":["descending","a","b","identity","d","d3pie","value","sortValues","sort","startAngle","constant","endAngle","tau","padAngle","pie","data","i","n","array","j","k","sum","index","arcs","a0","da","a1","p","pa","v","_","DEFAULT_PIE_CONFIG","defaultConfig_default","DEFAULT_PIE_DB","sections","showData","config","getConfig2","__name","clear2","clear","addSection","label","log","getSections","setShowData","toggle","getShowData","db","setDiagramTitle","getDiagramTitle","setAccTitle","getAccTitle","setAccDescription","getAccDescription","populateDb","ast","db2","populateCommonDb","parser","input","parse","getStyles","options","pieStyles_default","createPieArcs","sections2","pieData","element","d3Section","draw","text","id","_version","diagObj","globalConfig","getConfig","pieConfig","cleanAndMerge","MARGIN","LEGEND_RECT_SIZE","LEGEND_SPACING","height","pieWidth","svg","selectSvgElement","group","themeVariables","outerStrokeWidth","parseFontSize","textPosition","radius","arcGenerator","arc","labelArcGenerator","myGeneratedColors","color","scaleOrdinal","datum","section","legend","_datum","height2","offset","horizontal","vertical","longestTextWidth","node","totalWidth","configureSvgSize","renderer","diagram"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
1
|
+
{"version":3,"file":"pieDiagram-IB7DONF6-y5DqPNpS.js","sources":["../../../../../node_modules/d3-shape/src/descending.js","../../../../../node_modules/d3-shape/src/identity.js","../../../../../node_modules/d3-shape/src/pie.js","../../../../../node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-IB7DONF6.mjs"],"sourcesContent":["export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","import {\n populateCommonDb\n} from \"./chunk-4BMEZGHF.mjs\";\nimport {\n cleanAndMerge,\n parseFontSize\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-7B677QYD.mjs\";\nimport {\n __name,\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/pie/pieParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/pie/pieDb.ts\nvar DEFAULT_PIE_CONFIG = defaultConfig_default.pie;\nvar DEFAULT_PIE_DB = {\n sections: /* @__PURE__ */ new Map(),\n showData: false,\n config: DEFAULT_PIE_CONFIG\n};\nvar sections = DEFAULT_PIE_DB.sections;\nvar showData = DEFAULT_PIE_DB.showData;\nvar config = structuredClone(DEFAULT_PIE_CONFIG);\nvar getConfig2 = /* @__PURE__ */ __name(() => structuredClone(config), \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n sections = /* @__PURE__ */ new Map();\n showData = DEFAULT_PIE_DB.showData;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(({ label, value }) => {\n if (!sections.has(label)) {\n sections.set(label, value);\n log.debug(`added new section: ${label}, with value: ${value}`);\n }\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(() => sections, \"getSections\");\nvar setShowData = /* @__PURE__ */ __name((toggle) => {\n showData = toggle;\n}, \"setShowData\");\nvar getShowData = /* @__PURE__ */ __name(() => showData, \"getShowData\");\nvar db = {\n getConfig: getConfig2,\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n setShowData,\n getShowData\n};\n\n// src/diagrams/pie/pieParser.ts\nvar populateDb = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n db2.setShowData(ast.showData);\n ast.sections.map(db2.addSection);\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"pie\", input);\n log.debug(ast);\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/pie/pieStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .pieCircle{\n stroke: ${options.pieStrokeColor};\n stroke-width : ${options.pieStrokeWidth};\n opacity : ${options.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${options.pieOuterStrokeColor};\n stroke-width: ${options.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${options.pieTitleTextSize};\n fill: ${options.pieTitleTextColor};\n font-family: ${options.fontFamily};\n }\n .slice {\n font-family: ${options.fontFamily};\n fill: ${options.pieSectionTextColor};\n font-size:${options.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${options.pieLegendTextColor};\n font-family: ${options.fontFamily};\n font-size: ${options.pieLegendTextSize};\n }\n`, \"getStyles\");\nvar pieStyles_default = getStyles;\n\n// src/diagrams/pie/pieRenderer.ts\nimport { arc, pie as d3pie, scaleOrdinal } from \"d3\";\nvar createPieArcs = /* @__PURE__ */ __name((sections2) => {\n const pieData = [...sections2.entries()].map((element) => {\n return {\n label: element[0],\n value: element[1]\n };\n }).sort((a, b) => {\n return b.value - a.value;\n });\n const pie = d3pie().value(\n (d3Section) => d3Section.value\n );\n return pie(pieData);\n}, \"createPieArcs\");\nvar draw = /* @__PURE__ */ __name((text, id, _version, diagObj) => {\n log.debug(\"rendering pie chart\\n\" + text);\n const db2 = diagObj.db;\n const globalConfig = getConfig();\n const pieConfig = cleanAndMerge(db2.getConfig(), globalConfig.pie);\n const MARGIN = 40;\n const LEGEND_RECT_SIZE = 18;\n const LEGEND_SPACING = 4;\n const height = 450;\n const pieWidth = height;\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\");\n group.attr(\"transform\", \"translate(\" + pieWidth / 2 + \",\" + height / 2 + \")\");\n const { themeVariables } = globalConfig;\n let [outerStrokeWidth] = parseFontSize(themeVariables.pieOuterStrokeWidth);\n outerStrokeWidth ??= 2;\n const textPosition = pieConfig.textPosition;\n const radius = Math.min(pieWidth, height) / 2 - MARGIN;\n const arcGenerator = arc().innerRadius(0).outerRadius(radius);\n const labelArcGenerator = arc().innerRadius(radius * textPosition).outerRadius(radius * textPosition);\n group.append(\"circle\").attr(\"cx\", 0).attr(\"cy\", 0).attr(\"r\", radius + outerStrokeWidth / 2).attr(\"class\", \"pieOuterCircle\");\n const sections2 = db2.getSections();\n const arcs = createPieArcs(sections2);\n const myGeneratedColors = [\n themeVariables.pie1,\n themeVariables.pie2,\n themeVariables.pie3,\n themeVariables.pie4,\n themeVariables.pie5,\n themeVariables.pie6,\n themeVariables.pie7,\n themeVariables.pie8,\n themeVariables.pie9,\n themeVariables.pie10,\n themeVariables.pie11,\n themeVariables.pie12\n ];\n const color = scaleOrdinal(myGeneratedColors);\n group.selectAll(\"mySlices\").data(arcs).enter().append(\"path\").attr(\"d\", arcGenerator).attr(\"fill\", (datum) => {\n return color(datum.data.label);\n }).attr(\"class\", \"pieCircle\");\n let sum = 0;\n sections2.forEach((section) => {\n sum += section;\n });\n group.selectAll(\"mySlices\").data(arcs).enter().append(\"text\").text((datum) => {\n return (datum.data.value / sum * 100).toFixed(0) + \"%\";\n }).attr(\"transform\", (datum) => {\n return \"translate(\" + labelArcGenerator.centroid(datum) + \")\";\n }).style(\"text-anchor\", \"middle\").attr(\"class\", \"slice\");\n group.append(\"text\").text(db2.getDiagramTitle()).attr(\"x\", 0).attr(\"y\", -(height - 50) / 2).attr(\"class\", \"pieTitleText\");\n const legend = group.selectAll(\".legend\").data(color.domain()).enter().append(\"g\").attr(\"class\", \"legend\").attr(\"transform\", (_datum, index) => {\n const height2 = LEGEND_RECT_SIZE + LEGEND_SPACING;\n const offset = height2 * color.domain().length / 2;\n const horizontal = 12 * LEGEND_RECT_SIZE;\n const vertical = index * height2 - offset;\n return \"translate(\" + horizontal + \",\" + vertical + \")\";\n });\n legend.append(\"rect\").attr(\"width\", LEGEND_RECT_SIZE).attr(\"height\", LEGEND_RECT_SIZE).style(\"fill\", color).style(\"stroke\", color);\n legend.data(arcs).append(\"text\").attr(\"x\", LEGEND_RECT_SIZE + LEGEND_SPACING).attr(\"y\", LEGEND_RECT_SIZE - LEGEND_SPACING).text((datum) => {\n const { label, value } = datum.data;\n if (db2.getShowData()) {\n return `${label} [${value}]`;\n }\n return label;\n });\n const longestTextWidth = Math.max(\n ...legend.selectAll(\"text\").nodes().map((node) => node?.getBoundingClientRect().width ?? 0)\n );\n const totalWidth = pieWidth + MARGIN + LEGEND_RECT_SIZE + LEGEND_SPACING + longestTextWidth;\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${height}`);\n configureSvgSize(svg, height, totalWidth, pieConfig.useMaxWidth);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/pie/pieDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: pieStyles_default\n};\nexport {\n diagram\n};\n"],"names":["descending","a","b","identity","d","d3pie","value","sortValues","sort","startAngle","constant","endAngle","tau","padAngle","pie","data","i","n","array","j","k","sum","index","arcs","a0","da","a1","p","pa","v","_","DEFAULT_PIE_CONFIG","defaultConfig_default","DEFAULT_PIE_DB","sections","showData","config","getConfig2","__name","clear2","clear","addSection","label","log","getSections","setShowData","toggle","getShowData","db","setDiagramTitle","getDiagramTitle","setAccTitle","getAccTitle","setAccDescription","getAccDescription","populateDb","ast","db2","populateCommonDb","parser","input","parse","getStyles","options","pieStyles_default","createPieArcs","sections2","pieData","element","d3Section","draw","text","id","_version","diagObj","globalConfig","getConfig","pieConfig","cleanAndMerge","MARGIN","LEGEND_RECT_SIZE","LEGEND_SPACING","height","pieWidth","svg","selectSvgElement","group","themeVariables","outerStrokeWidth","parseFontSize","textPosition","radius","arcGenerator","arc","labelArcGenerator","myGeneratedColors","color","scaleOrdinal","datum","section","legend","_datum","height2","offset","horizontal","vertical","longestTextWidth","node","totalWidth","configureSvgSize","renderer","diagram"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{w as u,g as p,f as h,F as j}from"./chunk-QMGIS6GS-CTjj1G71.js";import{j as e}from"./jsx-runtime-BjG_zV1W.js";import{B as f}from"./button-DRpue1NG.js";import{I as o}from"./misc-yfWFSwMN.js";import{S as l}from"./tooltip-C6xKzWST.js";import"./index-BP1ceC2h.js";const w=u(function(){var a,c,d,x;const s=p("root"),n=(a=s==null?void 0:s.preferences)==null?void 0:a.player,m=(c=s==null?void 0:s.preferences)==null?void 0:c.fontSize,t=(d=s==null?void 0:s.preferences)==null?void 0:d.presence,i=(x=s==null?void 0:s.preferences)==null?void 0:x.playground,r=h().state==="submitting";return e.jsxs("main",{className:"container mt-12 flex h-full w-full max-w-3xl flex-grow flex-col gap-4",children:[e.jsx("h1",{className:"mb-4 text-h1",children:"Preferences"}),e.jsxs(j,{method:"post",className:"flex w-full max-w-sm flex-col gap-4",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"mb-2 text-body-xl",children:"Video Player Preferences"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("label",{htmlFor:"minResolution",children:"Minimum Resolution:"}),e.jsxs("select",{id:"minResolution",name:"minResolution",defaultValue:n==null?void 0:n.minResolution,className:"rounded-md border border-border bg-background px-2 py-1 text-foreground",children:[e.jsx("option",{value:"",children:"Auto"}),e.jsx("option",{value:"480",children:"480p"}),e.jsx("option",{value:"720",children:"720p"}),e.jsx("option",{value:"1080",children:"1080p"}),e.jsx("option",{value:"1440",children:"1440p"}),e.jsx("option",{value:"2160",children:"2160p (4K)"})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("label",{htmlFor:"maxResolution",children:"Maximum Resolution:"}),e.jsxs("select",{id:"maxResolution",name:"maxResolution",defaultValue:n==null?void 0:n.maxResolution,className:"rounded-md border border-border bg-background px-2 py-1 text-foreground",children:[e.jsx("option",{value:"",children:"Auto"}),e.jsx("option",{value:"720",children:"720p"}),e.jsx("option",{value:"1080",children:"1080p"}),e.jsx("option",{value:"1440",children:"1440p"}),e.jsx("option",{value:"2160",children:"2160p (4K)"})]})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[e.jsx("h2",{className:"text-body-xl",children:"Font Size Preference"}),e.jsx(l,{content:"Defaults to 16px",children:e.jsx(o,{name:"Question",tabIndex:0})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("label",{htmlFor:"fontSize",children:"Font Size"}),e.jsx("input",{type:"number",id:"fontSize",name:"fontSize",defaultValue:m??16,step:"1",min:"12",max:"26",className:"rounded-md border border-border bg-background px-2 py-1 text-foreground"})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[e.jsx("h2",{className:"text-body-xl",children:"Presence Preference"}),e.jsx(l,{content:"This controls whether your name and avatar are displayed in the pile of faces in navigation",children:e.jsx(o,{name:"Question",tabIndex:0})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",id:"optOutPresence",name:"optOutPresence",defaultChecked:t==null?void 0:t.optOut}),e.jsx("label",{htmlFor:"optOutPresence",children:"Opt out of presence features"})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"mb-2 flex items-center gap-2",children:[e.jsx("h2",{className:"text-body-xl",children:"Persist Playground"}),e.jsx(l,{content:'When enabled, clicking "Set to Playground" will save the current playground in the "saved-playgrounds" directory.',children:e.jsx(o,{name:"Question",tabIndex:0})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",id:"persistPlayground",name:"persistPlayground",defaultChecked:i==null?void 0:i.persist}),e.jsx("label",{htmlFor:"persistPlayground",children:"Enable saving playground"})]})]}),e.jsx("div",{className:"h-4"}),e.jsx(f,{varient:"primary",type:"submit",name:"intent",value:"update-preferences",disabled:r,children:r?"Updating...":"Update Preferences"})]})]})});export{w as default};
|
|
2
|
+
//# sourceMappingURL=preferences-C2zlOkAS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferences-C2zlOkAS.js","sources":["../../../app/routes/_app+/preferences.tsx"],"sourcesContent":["import {\n\tgetPreferences,\n\tsetPreferences,\n} from '@epic-web/workshop-utils/db.server'\nimport { Form, useNavigation, useRouteLoaderData } from 'react-router'\nimport { Button } from '#app/components/button.tsx'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.tsx'\nimport { type RootLoaderData } from '#app/root.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { redirectWithToast } from '#app/utils/toast.server.ts'\n\nexport async function loader() {\n\tensureUndeployed()\n\tconst preferences = await getPreferences()\n\treturn { preferences }\n}\n\nexport async function action({ request }: { request: Request }) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\n\tconst minResolution = formData.get('minResolution')\n\tconst maxResolution = formData.get('maxResolution')\n\tconst fontSize = formData.get('fontSize')\n\tconst optOutPresence = formData.get('optOutPresence') === 'on'\n\tconst persistPlayground = formData.get('persistPlayground') === 'on'\n\n\tawait setPreferences({\n\t\tplayer: {\n\t\t\tminResolution: minResolution ? Number(minResolution) : undefined,\n\t\t\tmaxResolution: maxResolution ? Number(maxResolution) : undefined,\n\t\t},\n\t\tfontSize: fontSize ? Number(fontSize) : undefined,\n\t\tpresence: { optOut: optOutPresence },\n\t\tplayground: { persist: persistPlayground },\n\t})\n\n\treturn redirectWithToast('/preferences', {\n\t\ttitle: 'Preferences updated',\n\t\tdescription: 'Your preferences have been updated.',\n\t\ttype: 'success',\n\t})\n}\n\nexport default function AccountSettings() {\n\tconst data = useRouteLoaderData('root') as RootLoaderData\n\tconst playerPreferences = data?.preferences?.player\n\tconst fontSizePreference = data?.preferences?.fontSize\n\tconst presencePreferences = data?.preferences?.presence\n\tconst playgroundPreferences = data?.preferences?.playground\n\tconst navigation = useNavigation()\n\n\tconst isSubmitting = navigation.state === 'submitting'\n\n\treturn (\n\t\t<main className=\"container mt-12 flex h-full w-full max-w-3xl flex-grow flex-col gap-4\">\n\t\t\t<h1 className=\"mb-4 text-h1\">Preferences</h1>\n\t\t\t<Form method=\"post\" className=\"flex w-full max-w-sm flex-col gap-4\">\n\t\t\t\t<div>\n\t\t\t\t\t<h2 className=\"mb-2 text-body-xl\">Video Player Preferences</h2>\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<label htmlFor=\"minResolution\">Minimum Resolution:</label>\n\t\t\t\t\t\t<select\n\t\t\t\t\t\t\tid=\"minResolution\"\n\t\t\t\t\t\t\tname=\"minResolution\"\n\t\t\t\t\t\t\tdefaultValue={playerPreferences?.minResolution}\n\t\t\t\t\t\t\tclassName=\"rounded-md border border-border bg-background px-2 py-1 text-foreground\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<option value=\"\">Auto</option>\n\t\t\t\t\t\t\t<option value=\"480\">480p</option>\n\t\t\t\t\t\t\t<option value=\"720\">720p</option>\n\t\t\t\t\t\t\t<option value=\"1080\">1080p</option>\n\t\t\t\t\t\t\t<option value=\"1440\">1440p</option>\n\t\t\t\t\t\t\t<option value=\"2160\">2160p (4K)</option>\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<label htmlFor=\"maxResolution\">Maximum Resolution:</label>\n\t\t\t\t\t\t<select\n\t\t\t\t\t\t\tid=\"maxResolution\"\n\t\t\t\t\t\t\tname=\"maxResolution\"\n\t\t\t\t\t\t\tdefaultValue={playerPreferences?.maxResolution}\n\t\t\t\t\t\t\tclassName=\"rounded-md border border-border bg-background px-2 py-1 text-foreground\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<option value=\"\">Auto</option>\n\t\t\t\t\t\t\t<option value=\"720\">720p</option>\n\t\t\t\t\t\t\t<option value=\"1080\">1080p</option>\n\t\t\t\t\t\t\t<option value=\"1440\">1440p</option>\n\t\t\t\t\t\t\t<option value=\"2160\">2160p (4K)</option>\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<div className=\"mb-2 flex items-center gap-2\">\n\t\t\t\t\t\t<h2 className=\"text-body-xl\">Font Size Preference</h2>\n\t\t\t\t\t\t<SimpleTooltip content=\"Defaults to 16px\">\n\t\t\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<label htmlFor=\"fontSize\">Font Size</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tid=\"fontSize\"\n\t\t\t\t\t\t\tname=\"fontSize\"\n\t\t\t\t\t\t\tdefaultValue={fontSizePreference ?? 16}\n\t\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t\t\tmin=\"12\"\n\t\t\t\t\t\t\tmax=\"26\"\n\t\t\t\t\t\t\tclassName=\"rounded-md border border-border bg-background px-2 py-1 text-foreground\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<div className=\"mb-2 flex items-center gap-2\">\n\t\t\t\t\t\t<h2 className=\"text-body-xl\">Presence Preference</h2>\n\n\t\t\t\t\t\t<SimpleTooltip content=\"This controls whether your name and avatar are displayed in the pile of faces in navigation\">\n\t\t\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tid=\"optOutPresence\"\n\t\t\t\t\t\t\tname=\"optOutPresence\"\n\t\t\t\t\t\t\tdefaultChecked={presencePreferences?.optOut}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label htmlFor=\"optOutPresence\">Opt out of presence features</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<div className=\"mb-2 flex items-center gap-2\">\n\t\t\t\t\t\t<h2 className=\"text-body-xl\">Persist Playground</h2>\n\n\t\t\t\t\t\t<SimpleTooltip\n\t\t\t\t\t\t\tcontent={`When enabled, clicking \"Set to Playground\" will save the current playground in the \"saved-playgrounds\" directory.`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon name=\"Question\" tabIndex={0} />\n\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tid=\"persistPlayground\"\n\t\t\t\t\t\t\tname=\"persistPlayground\"\n\t\t\t\t\t\t\tdefaultChecked={playgroundPreferences?.persist}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<label htmlFor=\"persistPlayground\">Enable saving playground</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"h-4\" />\n\n\t\t\t\t<Button\n\t\t\t\t\tvarient=\"primary\"\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\tname=\"intent\"\n\t\t\t\t\tvalue=\"update-preferences\"\n\t\t\t\t\tdisabled={isSubmitting}\n\t\t\t\t>\n\t\t\t\t\t{isSubmitting ? 'Updating...' : 'Update Preferences'}\n\t\t\t\t</Button>\n\t\t\t</Form>\n\t\t</main>\n\t)\n}\n"],"names":["preferences","_UNSAFE_withComponentProps","data","useRouteLoaderData","playerPreferences","player","fontSizePreference","fontSize","presencePreferences","presence","playgroundPreferences","playground","isSubmitting","useNavigation","state","jsxs","className","children","jsx","Form","method","htmlFor","id","name","defaultValue","minResolution","value","maxResolution","SimpleTooltip","content","Icon","tabIndex","type","step","min","max","defaultChecked","optOut","persist","Button","varient","disabled"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var J=Object.defineProperty;var Y=(t,n,e)=>n in t?J(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e;var i=(t,n,e)=>Y(t,typeof n!="symbol"?n+"":n,e);import{
|
|
1
|
+
var J=Object.defineProperty;var Y=(t,n,e)=>n in t?J(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e;var i=(t,n,e)=>Y(t,typeof n!="symbol"?n+"":n,e);import{j as x}from"./jsx-runtime-BjG_zV1W.js";import{o as m,s as _,f as B,n as P,d as I,l as g,b as D,g as O,a as H}from"./index-C0Fh_zu0.js";import{r as d,g as E,e as z}from"./chunk-QMGIS6GS-CTjj1G71.js";import{u as K}from"./online-CFV79-RX.js";const M="epic-web-presence",V=`https://epic-web-presence.kentcdodds.partykit.dev/parties/main/${M}`,C=m({id:_(),hasAccess:B().nullable().optional(),avatarUrl:_().nullable().optional(),imageUrlSmall:_().nullable().optional(),imageUrlLarge:_().nullable().optional(),name:_().nullable().optional(),location:m({workshopTitle:_().nullable().optional(),origin:_().nullable().optional(),exercise:m({type:I([g("problem"),g("solution")]).nullable().optional(),exerciseNumber:P().nullable().optional(),stepNumber:P().nullable().optional()}).nullable().optional()}).nullable().optional()}),X=m({type:g("remove-user"),payload:m({id:_()})}).or(m({type:g("add-user"),payload:C})).or(m({type:g("presence"),payload:m({users:D(C)})}));m({users:D(C)});(!globalThis.EventTarget||!globalThis.Event)&&console.error(`
|
|
2
2
|
PartySocket requires a global 'EventTarget' class to be available!
|
|
3
3
|
You can polyfill this global by adding this to your code before any partysocket imports:
|
|
4
4
|
|
|
@@ -24,5 +24,5 @@ const partysocket = new PartySocket({
|
|
|
24
24
|
* by Pedro Ladaria <pedro.ladaria@gmail.com>
|
|
25
25
|
* https://github.com/pladaria/reconnecting-websocket
|
|
26
26
|
* License MIT
|
|
27
|
-
*/var ne=t=>t[1]!==null&&t[1]!==void 0;function oe(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();let t=new Date().getTime(),n=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let s=Math.random()*16;return t>0?(s=(t+s)%16|0,t=Math.floor(t/16)):(s=(n+s)%16|0,n=Math.floor(n/16)),(e==="x"?s:s&3|8).toString(16)})}function F(t,n,e={}){const{host:s,path:r,protocol:o,room:h,party:c,basePath:a,prefix:u,query:p}=t;let l=s.replace(/^(http|https|ws|wss):\/\//,"");if(l.endsWith("/")&&(l=l.slice(0,-1)),r!=null&&r.startsWith("/"))throw new Error("path must not start with a slash");const T=c??"main",v=r?`/${r}`:"",b=o||(l.startsWith("localhost:")||l.startsWith("127.0.0.1:")||l.startsWith("192.168.")||l.startsWith("10.")||l.startsWith("172.")&&l.split(".")[1]>="16"&&l.split(".")[1]<="31"||l.startsWith("[::ffff:7f00:1]:")?n:`${n}s`),k=`${b}://${l}/${a||`${u||"parties"}/${T}/${h}`}${v}`,L=(Q={})=>`${k}?${new URLSearchParams([...Object.entries(e),...Object.entries(Q).filter(ne)])}`,j=typeof p=="function"?async()=>L(await p()):L(p);return{host:l,path:v,room:h,name:T,protocol:b,partyUrl:k,urlProvider:j}}var ie=class extends re{constructor(n){const e=W(n);super(e.urlProvider,e.protocols,e.socketOptions);i(this,"_pk");i(this,"_pkurl");i(this,"name");i(this,"room");i(this,"host");i(this,"path");this.partySocketOptions=n,this.setWSProperties(e)}updateProperties(n){const e=W({...this.partySocketOptions,...n,host:n.host??this.host,room:n.room??this.room,path:n.path??this.path});this._url=e.urlProvider,this._protocols=e.protocols,this._options=e.socketOptions,this.setWSProperties(e)}setWSProperties(n){const{_pk:e,_pkurl:s,name:r,room:o,host:h,path:c}=n;this._pk=e,this._pkurl=s,this.name=r,this.room=o,this.host=h,this.path=c}reconnect(n,e){if(!this.room||!this.host)throw new Error("The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor.");super.reconnect(n,e)}get id(){return this._pk}get roomUrl(){return this._pkurl}static async fetch(n,e){const s=F(n,"http"),r=typeof s.urlProvider=="string"?s.urlProvider:await s.urlProvider();return(n.fetch??fetch)(r,e)}};function W(t){const{id:n,host:e,path:s,party:r,room:o,protocol:h,query:c,protocols:a,...u}=t,p=n||oe(),l=F(t,"ws",{_pk:p});return{_pk:p,_pkurl:l.partyUrl,name:l.name,room:l.room,host:l.host,path:l.path,protocols:a,socketOptions:u,urlProvider:l.urlProvider}}var ae=(t,n)=>{const e=d.useRef(n);e.current=n,d.useEffect(()=>{const s=c=>{var a,u;return(u=(a=e.current)==null?void 0:a.onOpen)==null?void 0:u.call(a,c)},r=c=>{var a,u;return(u=(a=e.current)==null?void 0:a.onMessage)==null?void 0:u.call(a,c)},o=c=>{var a,u;return(u=(a=e.current)==null?void 0:a.onClose)==null?void 0:u.call(a,c)},h=c=>{var a,u;return(u=(a=e.current)==null?void 0:a.onError)==null?void 0:u.call(a,c)};return t.addEventListener("open",s),t.addEventListener("close",o),t.addEventListener("error",h),t.addEventListener("message",r),()=>{t.removeEventListener("open",s),t.removeEventListener("close",o),t.removeEventListener("error",h),t.removeEventListener("message",r)}},[t])},ce=t=>[t.startClosed,t.minUptime,t.maxRetries,t.connectionTimeout,t.maxEnqueuedMessages,t.maxReconnectionDelay,t.minReconnectionDelay,t.reconnectionDelayGrowFactor,t.debug];function le({options:t,createSocket:n,createSocketMemoKey:e}){const s=e(t),r=d.useMemo(()=>t,[s]),[o,h]=d.useState(()=>n({...r,startClosed:!0})),c=d.useRef(null),a=d.useRef(n);return a.current=n,d.useEffect(()=>{if(c.current===o){const u=a.current({...r,startClosed:!1});h(u)}else return!c.current&&r.startClosed!==!0&&o.reconnect(),c.current=o,()=>{o.close()}},[o,r]),o}function ue(t){const{host:n,...e}=t,s=le({options:{host:n||(typeof window<"u"?window.location.host:"dummy-domain.com"),...e},createSocket:r=>new ie(r),createSocketMemoKey:r=>JSON.stringify([r.query,r.id,r.host,r.room,r.party,r.path,r.protocol,r.protocols,r.basePath,r.prefix,...ce(r)])});return ae(s,t),s}const N=d.createContext(null);function he(){var n;const t=E("root");return((n=t==null?void 0:t.preferences)==null?void 0:n.presence)??null}function de(){const t=E("root");return(t==null?void 0:t.workshopTitle)??null}const pe=m({type:
|
|
28
|
-
//# sourceMappingURL=presence-
|
|
27
|
+
*/var ne=t=>t[1]!==null&&t[1]!==void 0;function oe(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();let t=new Date().getTime(),n=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let s=Math.random()*16;return t>0?(s=(t+s)%16|0,t=Math.floor(t/16)):(s=(n+s)%16|0,n=Math.floor(n/16)),(e==="x"?s:s&3|8).toString(16)})}function F(t,n,e={}){const{host:s,path:r,protocol:o,room:h,party:c,basePath:a,prefix:u,query:p}=t;let l=s.replace(/^(http|https|ws|wss):\/\//,"");if(l.endsWith("/")&&(l=l.slice(0,-1)),r!=null&&r.startsWith("/"))throw new Error("path must not start with a slash");const T=c??"main",v=r?`/${r}`:"",b=o||(l.startsWith("localhost:")||l.startsWith("127.0.0.1:")||l.startsWith("192.168.")||l.startsWith("10.")||l.startsWith("172.")&&l.split(".")[1]>="16"&&l.split(".")[1]<="31"||l.startsWith("[::ffff:7f00:1]:")?n:`${n}s`),k=`${b}://${l}/${a||`${u||"parties"}/${T}/${h}`}${v}`,L=(Q={})=>`${k}?${new URLSearchParams([...Object.entries(e),...Object.entries(Q).filter(ne)])}`,j=typeof p=="function"?async()=>L(await p()):L(p);return{host:l,path:v,room:h,name:T,protocol:b,partyUrl:k,urlProvider:j}}var ie=class extends re{constructor(n){const e=W(n);super(e.urlProvider,e.protocols,e.socketOptions);i(this,"_pk");i(this,"_pkurl");i(this,"name");i(this,"room");i(this,"host");i(this,"path");this.partySocketOptions=n,this.setWSProperties(e)}updateProperties(n){const e=W({...this.partySocketOptions,...n,host:n.host??this.host,room:n.room??this.room,path:n.path??this.path});this._url=e.urlProvider,this._protocols=e.protocols,this._options=e.socketOptions,this.setWSProperties(e)}setWSProperties(n){const{_pk:e,_pkurl:s,name:r,room:o,host:h,path:c}=n;this._pk=e,this._pkurl=s,this.name=r,this.room=o,this.host=h,this.path=c}reconnect(n,e){if(!this.room||!this.host)throw new Error("The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor.");super.reconnect(n,e)}get id(){return this._pk}get roomUrl(){return this._pkurl}static async fetch(n,e){const s=F(n,"http"),r=typeof s.urlProvider=="string"?s.urlProvider:await s.urlProvider();return(n.fetch??fetch)(r,e)}};function W(t){const{id:n,host:e,path:s,party:r,room:o,protocol:h,query:c,protocols:a,...u}=t,p=n||oe(),l=F(t,"ws",{_pk:p});return{_pk:p,_pkurl:l.partyUrl,name:l.name,room:l.room,host:l.host,path:l.path,protocols:a,socketOptions:u,urlProvider:l.urlProvider}}var ae=(t,n)=>{const e=d.useRef(n);e.current=n,d.useEffect(()=>{const s=c=>{var a,u;return(u=(a=e.current)==null?void 0:a.onOpen)==null?void 0:u.call(a,c)},r=c=>{var a,u;return(u=(a=e.current)==null?void 0:a.onMessage)==null?void 0:u.call(a,c)},o=c=>{var a,u;return(u=(a=e.current)==null?void 0:a.onClose)==null?void 0:u.call(a,c)},h=c=>{var a,u;return(u=(a=e.current)==null?void 0:a.onError)==null?void 0:u.call(a,c)};return t.addEventListener("open",s),t.addEventListener("close",o),t.addEventListener("error",h),t.addEventListener("message",r),()=>{t.removeEventListener("open",s),t.removeEventListener("close",o),t.removeEventListener("error",h),t.removeEventListener("message",r)}},[t])},ce=t=>[t.startClosed,t.minUptime,t.maxRetries,t.connectionTimeout,t.maxEnqueuedMessages,t.maxReconnectionDelay,t.minReconnectionDelay,t.reconnectionDelayGrowFactor,t.debug];function le({options:t,createSocket:n,createSocketMemoKey:e}){const s=e(t),r=d.useMemo(()=>t,[s]),[o,h]=d.useState(()=>n({...r,startClosed:!0})),c=d.useRef(null),a=d.useRef(n);return a.current=n,d.useEffect(()=>{if(c.current===o){const u=a.current({...r,startClosed:!1});h(u)}else return!c.current&&r.startClosed!==!0&&o.reconnect(),c.current=o,()=>{o.close()}},[o,r]),o}function ue(t){const{host:n,...e}=t,s=le({options:{host:n||(typeof window<"u"?window.location.host:"dummy-domain.com"),...e},createSocket:r=>new ie(r),createSocketMemoKey:r=>JSON.stringify([r.query,r.id,r.host,r.room,r.party,r.path,r.protocol,r.protocols,r.basePath,r.prefix,...ce(r)])});return ae(s,t),s}const N=d.createContext(null);function he(){var n;const t=E("root");return((n=t==null?void 0:t.preferences)==null?void 0:n.presence)??null}function de(){const t=E("root");return(t==null?void 0:t.workshopTitle)??null}const pe=m({type:I([g("problem"),g("solution")]).optional(),exerciseNumber:O.number().finite(),stepNumber:O.number().finite().optional()});function me(t,n){const[e]=d.useState(()=>new Promise(c=>setTimeout(c,n))),s=d.useRef(!0),r=d.useRef(null),o=d.useRef(t);return d.useEffect(()=>{o.current=t},[t]),d.useCallback((...c)=>{const a=Symbol();r.current=a,e.then(()=>{s.current&&r.current===a&&o.current(...c)})},[e])}function G(){const t=de(),n=H(),e=z(),s=pe.safeParse(e),r=s.success?s.data:null;return{workshopTitle:t,origin:n.origin,...r?{exercise:{type:r.type,exerciseNumber:r.exerciseNumber,stepNumber:r.stepNumber}}:null}}function _e(t){const n=he(),{userHasAccess:e=!1,userId:s,presence:r}=E("root")??{},[o,h]=d.useState((r==null?void 0:r.users)??[]),c=G(),a=me(v=>{const b=X.safeParse(JSON.parse(String(v.data)));b.success&&b.data.type==="presence"&&h(b.data.payload.users)},2e3),u=ue({host:new URL(V).host,room:M,onMessage:a});let p=null;t?n!=null&&n.optOut?p={type:"remove-user",payload:{id:t.id}}:p={type:"add-user",payload:{id:t.id,name:t.name,hasAccess:e,imageUrlSmall:t.imageUrlSmall,imageUrlLarge:t.imageUrlLarge,location:c}}:s!=null&&s.id&&(p={type:"add-user",payload:{id:s.id,location:c}});const l=p?JSON.stringify(p):null;return d.useEffect(()=>{l&&u.send(l)},[l,u]),{users:$({id:s==null?void 0:s.id,location:c},o)}}function $(t,n){const{location:e}=t;return n.map(r=>{var c,a,u,p;let o=0;const h=5;return r.hasAccess&&(o+=1),(e==null?void 0:e.workshopTitle)===((c=r.location)==null?void 0:c.workshopTitle)&&(o+=1,(a=e==null?void 0:e.exercise)!=null&&a.exerciseNumber&&e.exercise.exerciseNumber===((p=(u=r.location)==null?void 0:u.exercise)==null?void 0:p.exerciseNumber)&&(o+=1,e.exercise.stepNumber&&e.exercise.stepNumber===r.location.exercise.stepNumber&&(o+=1,e.exercise.type&&e.exercise.type===r.location.exercise.type&&(o+=1)))),{user:r,score:Math.floor(o/h*10)/10}}).sort((r,o)=>r.user.id===(t==null?void 0:t.id)?-1:o.user.id===(t==null?void 0:t.id)?1:r.score===o.score?0:r.score>o.score?-1:1)}function fe({user:t,children:n}){return x.jsx(N.Provider,{value:_e(t),children:n})}function ye({user:t,children:n}){const e=G(),{presence:s}=E("root")??{};return x.jsx(N.Provider,{value:{users:$({id:t==null?void 0:t.id,location:e},(s==null?void 0:s.users)??[])},children:n})}function Ee({user:t,children:n}){return K()?x.jsx(fe,{user:t,children:n}):x.jsx(ye,{user:t,children:n})}function Te(){const t=d.useContext(N);if(!t)throw new Error("usePresence must be used within a PresenceProvider");return t}export{Ee as P,Te as u};
|
|
28
|
+
//# sourceMappingURL=presence-BoFXYAd7.js.map
|