lookatstudy-mobile 0.24.0 → 0.26.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/package.json +1 -1
- package/web/assets/{CanvasStage-u_7YeGk1.js → CanvasStage-sR8T2IFn.js} +1 -1
- package/web/assets/{CommandPalette-Q5j7BQf4.js → CommandPalette-xoHRtFTt.js} +1 -1
- package/web/assets/{CourseSearchPanel-BYGHjhnk.js → CourseSearchPanel-Blz5uOZo.js} +2 -2
- package/web/assets/{ExamView-DU5X7LyZ.js → ExamView-DcD9-XhK.js} +1 -1
- package/web/assets/ReviewPanel-DPX_Gbvn.js +1 -0
- package/web/assets/{SettingsView-CD9th6O0.js → SettingsView-DpSiGIUo.js} +3 -3
- package/web/assets/Tableau10-CvOaoHrI.js +1 -0
- package/web/assets/{VoicePanel-Cvl2BLq2.js → VoicePanel-BFuMIduE.js} +1 -1
- package/web/assets/abnfDiagram-N423BO3Z-BRYm-LZF.js +1 -0
- package/web/assets/abnfDiagram-VCTEODGH-ODA7YWAP-B--kWzEh.js +1 -0
- package/web/assets/arc-DIdxrd7q.js +1 -0
- package/web/assets/architectureDiagram-5GKGNRK7-C4PU3XN7-DzOQ5fo_.js +36 -0
- package/web/assets/architectureDiagram-T3A2C74G-BhljJtMX.js +36 -0
- package/web/assets/{arrow-right-B0QrRNSR.js → arrow-right-DtCWRkvj.js} +1 -1
- package/web/assets/{blockDiagram-NRAW4CY4-UMJ6PMQQ-BxiaVwV9.js → blockDiagram-NRAW4CY4-UMJ6PMQQ-D3KXfJhJ.js} +2 -2
- package/web/assets/{blockDiagram-VBNYF7ZC-BAnlmDNm.js → blockDiagram-VBNYF7ZC-Dr7ZTeLw.js} +3 -3
- package/web/assets/{c4Diagram-5PPSVZJV-MUU8xp1X.js → c4Diagram-5PPSVZJV-CPi9fgO4.js} +2 -2
- package/web/assets/{c4Diagram-UCG6FXSJ-75X3U2P3-7rpgYEob.js → c4Diagram-UCG6FXSJ-75X3U2P3-Bj0Dw0IT.js} +2 -2
- package/web/assets/channel-aqWuF1WT.js +1 -0
- package/web/assets/{chunk-2GRJ4B5K-BZ6Sj0-3.js → chunk-2GRJ4B5K-DeZ82qe7.js} +1 -1
- package/web/assets/{chunk-2Q5K7J3B-BkOSQBqV.js → chunk-2Q5K7J3B-B1WwbyzY.js} +1 -1
- package/web/assets/{chunk-5RXB4S5H-DgXJvWY0.js → chunk-5RXB4S5H-BX9ZzOwO.js} +1 -1
- package/web/assets/{chunk-5VM5RSS4-D-BptZQ9.js → chunk-5VM5RSS4-9-QvfnU2.js} +1 -1
- package/web/assets/{chunk-6Q2QTUOP-DIJ0lWTD.js → chunk-6Q2QTUOP-Dkt-zdDg.js} +1 -1
- package/web/assets/{chunk-7XDTSPCN-vxuDBi1y.js → chunk-7XDTSPCN-DOxJ22Ws.js} +1 -1
- package/web/assets/{chunk-CTNIYPP6-F5ZMIO6O.js → chunk-CTNIYPP6-2D6eMEGx.js} +1 -1
- package/web/assets/{chunk-CXNFBKHE-CFr1EfBh.js → chunk-CXNFBKHE-BETxgCVr.js} +1 -1
- package/web/assets/{chunk-GF5L2VYU-jqePwawx.js → chunk-GF5L2VYU-JBwf_TWs.js} +1 -1
- package/web/assets/{chunk-ISA7TJRJ-DiKuu0wz.js → chunk-ISA7TJRJ-DGTMMKAm.js} +1 -1
- package/web/assets/{chunk-JWPE2WC7-CLC3hqKr.js → chunk-JWPE2WC7-B_A1as9r.js} +1 -1
- package/web/assets/{chunk-KBJHAD2P-DSEKcYpO.js → chunk-KBJHAD2P-bmR9qwSi.js} +1 -1
- package/web/assets/{chunk-LV3HUYFY-P2e0-qZ6.js → chunk-LV3HUYFY-D8UFu3pb.js} +1 -1
- package/web/assets/{chunk-M3IUQBOH-Bdt4MjFy.js → chunk-M3IUQBOH-r4ZZKIWR.js} +1 -1
- package/web/assets/{chunk-NDIOYS4C-7HlPLAGd.js → chunk-NDIOYS4C-BuC155ii.js} +1 -1
- package/web/assets/{chunk-RE4WF27V-D4vIv_G3.js → chunk-RE4WF27V-DJoYieaa.js} +1 -1
- package/web/assets/{chunk-RYQCIY6F-tTcuHeqw.js → chunk-RYQCIY6F-DNF6lO1-.js} +1 -1
- package/web/assets/{chunk-VII2H2IX-BkXECJ1Z.js → chunk-VII2H2IX-DBudi9Y-.js} +1 -1
- package/web/assets/{chunk-X5GNSKZ3-D7yjZGWk.js → chunk-X5GNSKZ3-Dzcgoim8.js} +1 -1
- package/web/assets/{chunk-XCWWM2C3-C_es6n6S.js → chunk-XCWWM2C3-3YSDgOL-.js} +1 -1
- package/web/assets/{chunk-XXDRQBXY-Bsuow-B8.js → chunk-XXDRQBXY-B5LLJm9i.js} +1 -1
- package/web/assets/classDiagram-DTDB5LWJ-LWRDKZ5K-DhFaZ76j.js +1 -0
- package/web/assets/classDiagram-JCYQIIEL-CNvSQ-RA.js +1 -0
- package/web/assets/classDiagram-v2-JRS7N3AN-2BZHGRP2-DhFaZ76j.js +1 -0
- package/web/assets/classDiagram-v2-OCEON4UE-CNvSQ-RA.js +1 -0
- package/web/assets/{core-Bgf5ngI5.js → core-Cf-iwesp.js} +4 -4
- package/web/assets/cose-bilkent-JH36ORCC-DweZYTE6.js +1 -0
- package/web/assets/cose-bilkent-JH36ORCC-OB24KH3T-D3S0f4LW.js +1 -0
- package/web/assets/{cynefin-OW5HDTMX-GVF3BKWE-DY90g1OE.js → cynefin-OW5HDTMX-GVF3BKWE-DrtBkvjj.js} +1 -1
- package/web/assets/{cynefin-VYW2F7L2-DjqH_9VW.js → cynefin-VYW2F7L2-lYm8p8qp.js} +1 -1
- package/web/assets/cynefinDiagram-5FMLGOSQ-H3WIRU3N-CGurIKbY.js +62 -0
- package/web/assets/cynefinDiagram-MW4NZA55-EMZxCSzT.js +62 -0
- package/web/assets/{dagre-3AP2YEHR-DCERTXHT-BwLHkvZV.js → dagre-3AP2YEHR-DCERTXHT-B3xLLC4U.js} +2 -2
- package/web/assets/{dagre-VZM6K2ZE-0zjstOys.js → dagre-VZM6K2ZE-lqYJ3WXC.js} +2 -2
- package/web/assets/{diagram-7IWD3JNH-CoRwcTua.js → diagram-7IWD3JNH-DXSSf7q4.js} +2 -2
- package/web/assets/{diagram-B4RE2ZJO-Cau1H7nm.js → diagram-B4RE2ZJO-ak7sOZ19.js} +2 -2
- package/web/assets/diagram-LBJQPF4R-XmQxOAH-.js +24 -0
- package/web/assets/diagram-Q27KOJAE-D-yQEvjN.js +24 -0
- package/web/assets/{diagram-S7CK7UJ4-MULGZGEL-C7lZT5bQ.js → diagram-S7CK7UJ4-MULGZGEL-D5WNGIG9.js} +2 -2
- package/web/assets/diagram-UB23O5K3-CRgze-MQ.js +41 -0
- package/web/assets/diagram-UQ7AKVKN-YQBY353J-CSvMx1Fm.js +41 -0
- package/web/assets/{diagram-VSXAHHWV-WLNH2ELY-BW8LpgQJ.js → diagram-VSXAHHWV-WLNH2ELY-DMVZ0M5s.js} +2 -2
- package/web/assets/diagram-VX7I27RA-XW6YQV5G-NONTq7mV.js +24 -0
- package/web/assets/diagram-Z3DM3KII-HG7RF65D-D0VfGCJh.js +24 -0
- package/web/assets/ebnfDiagram-BXEA7PRR-D0k0RumW.js +1 -0
- package/web/assets/ebnfDiagram-PWID7BFC-OKY4VHYD-By7cMb-m.js +1 -0
- package/web/assets/{elk.bundled-DP5Rghza.js → elk.bundled-DCJrDGbL.js} +1 -1
- package/web/assets/{erDiagram-JOGREHBK-Dz3-stVV.js → erDiagram-JOGREHBK-DxDlKHXu.js} +4 -4
- package/web/assets/{erDiagram-SSCWMZ5O-PIPKOIK7-DoltPq2T.js → erDiagram-SSCWMZ5O-PIPKOIK7-DwWrIKUB.js} +2 -2
- package/web/assets/{flowDiagram-A5DVABFB-2Z4AVO5R-EXpUdCkE.js → flowDiagram-A5DVABFB-2Z4AVO5R-eqJKcw9W.js} +1 -1
- package/web/assets/{flowDiagram-UKHOOZJN--KUxj2rZ.js → flowDiagram-UKHOOZJN-CC84JD3t.js} +1 -1
- package/web/assets/{ganttDiagram-EL5Y4UJY-JZNG7GOG-B3_qeHhv.js → ganttDiagram-EL5Y4UJY-JZNG7GOG-CWOtJ46k.js} +6 -6
- package/web/assets/{ganttDiagram-PKOTCBZU-DDw97tpG.js → ganttDiagram-PKOTCBZU-Bw78KC7C.js} +3 -3
- package/web/assets/gitGraphDiagram-DS77QQ5N-CywKDUgv.js +106 -0
- package/web/assets/gitGraphDiagram-WWUBYQGX-DMWMLL3G-DIUZBjRH.js +106 -0
- package/web/assets/{index-CrB9w7Gs.js → index-BLO7CDRf.js} +2 -2
- package/web/assets/{index-C-4sKCSr.js → index-BNNZmZ7L.js} +13 -13
- package/web/assets/{index-CRlVl931.js → index-CAFnQS2L.js} +1 -1
- package/web/assets/index-Coa1vpTG.css +1 -0
- package/web/assets/index-WF4B6heO.js +21 -0
- package/web/assets/infoDiagram-6WML65LV-DFCB1zK_.js +2 -0
- package/web/assets/infoDiagram-RXCK75RN-HANS5KVC-CR0XCzL1.js +2 -0
- package/web/assets/{ishikawaDiagram-5VMMS53U-7GCIT7WU-DR-PXM0c.js → ishikawaDiagram-5VMMS53U-7GCIT7WU-BQmMapB0.js} +4 -4
- package/web/assets/{ishikawaDiagram-WSZJBQD7-Bf-J9Ov1.js → ishikawaDiagram-WSZJBQD7-CDVYsb8F.js} +6 -6
- package/web/assets/{journeyDiagram-EYS64GPL-OAPELBT7-jFQUZit6.js → journeyDiagram-EYS64GPL-OAPELBT7-Bv57BEbI.js} +2 -2
- package/web/assets/{journeyDiagram-NVQOT4AX-CWed0L5n.js → journeyDiagram-NVQOT4AX-BUhHhw49.js} +2 -2
- package/web/assets/{kanban-definition-27J2QSJJ-DhTIozq4.js → kanban-definition-27J2QSJJ-DJWi_jsV.js} +2 -2
- package/web/assets/{kanban-definition-3QL26DDD-I7RKWQQY-MOg0W8Vc.js → kanban-definition-3QL26DDD-I7RKWQQY-DeQuTmff.js} +2 -2
- package/web/assets/{katex-N6JRN4PM-DUl1EV3T.js → katex-N6JRN4PM-CsmS8bAu.js} +1 -1
- package/web/assets/{linear-BHfMepXe.js → linear-DQOfHiUP.js} +1 -1
- package/web/assets/main-Bkgg11ZB.js +462 -0
- package/web/assets/mermaid-layout-elk.core-DDX9gcIM.js +2 -0
- package/web/assets/{mermaid.core-BVbO1Vp8.js → mermaid.core-D0rh4nEj.js} +13 -13
- package/web/assets/{mindmap-definition-FAOFIHXS-UC1xDIuF.js → mindmap-definition-FAOFIHXS-nqKMiE2n.js} +2 -2
- package/web/assets/{mindmap-definition-FBJOCRG2-KIYZG64Y-DyTkl7Qq.js → mindmap-definition-FBJOCRG2-KIYZG64Y-CgkstHv4.js} +2 -2
- package/web/assets/pegDiagram-VL7TDLO6-Cy8v2veR.js +1 -0
- package/web/assets/pegDiagram-XKGWAZYB-OIP57N6J-DHOcOx86.js +1 -0
- package/web/assets/{pet-BawFRWlx.js → pet-DaccG5xt.js} +1 -1
- package/web/assets/pie-5VdQHRMI.js +1 -0
- package/web/assets/{pieDiagram-7S7Q4E2Y-Bggk64R7.js → pieDiagram-7S7Q4E2Y-D2e6HI5F.js} +2 -2
- package/web/assets/{pieDiagram-E7YTZNPT-2UOTW327-DbtP5dKZ.js → pieDiagram-E7YTZNPT-2UOTW327-9oqFgJEQ.js} +3 -3
- package/web/assets/{quadrantDiagram-AXDQQJYC-SN3ASJJK-CbdnLdcx.js → quadrantDiagram-AXDQQJYC-SN3ASJJK-aRI00491.js} +2 -2
- package/web/assets/{quadrantDiagram-CIZ2JOQS-D8oWqljf.js → quadrantDiagram-CIZ2JOQS-BxVU5r4V.js} +2 -2
- package/web/assets/railroadDiagram-AXF67PYL-CxcdKdyz.js +1 -0
- package/web/assets/railroadDiagram-O6MQD6OU-34742W6X-82y7OitY.js +1 -0
- package/web/assets/{render-O7CIS3YK-C5zxvpoJ.js → render-O7CIS3YK-0coM2jiE.js} +15 -15
- package/web/assets/{requirementDiagram-EFPCY7ZU-NGAFFSMB-vkMFulyy.js → requirementDiagram-EFPCY7ZU-NGAFFSMB-CiCBt9Q_.js} +2 -2
- package/web/assets/{requirementDiagram-LRYGKXZP-4uQ-OIOg.js → requirementDiagram-LRYGKXZP-a-jqBbh4.js} +4 -4
- package/web/assets/{rotate-ccw-C3k3pTDh.js → rotate-ccw-DPfbZXyQ.js} +1 -1
- package/web/assets/sankeyDiagram-P5KCCOFB-3D3M4XPB-vVOpmIBk.js +40 -0
- package/web/assets/{sankeyDiagram-W5VNT64P-CdtMmhMM.js → sankeyDiagram-W5VNT64P-CXBDBsJf.js} +2 -2
- package/web/assets/{sequenceDiagram-SI44F4Z6-BTa9vGYr.js → sequenceDiagram-SI44F4Z6-BEzEovun.js} +2 -2
- package/web/assets/{sequenceDiagram-WJ2MYXX4-Q2IOPB4R-Du5hMpfL.js → sequenceDiagram-WJ2MYXX4-Q2IOPB4R-BAt30Hjd.js} +2 -2
- package/web/assets/sizeCapture-X5ZJPWSS-CqVF9LHS.js +1 -0
- package/web/assets/sizeCapture-X5ZJPWSS-PSGVOMYM-DPuPQlRM.js +1 -0
- package/web/assets/stateDiagram-HBIQ2CUA-4M2S6MAN-DnF-bmgm.js +1 -0
- package/web/assets/stateDiagram-OKZ733FA-CKebmBa5.js +1 -0
- package/web/assets/stateDiagram-v2-4QOOHH4V-LBBLA2WV-BLTGkUFQ.js +1 -0
- package/web/assets/stateDiagram-v2-UEYNNEHI-BLjk4IRo.js +1 -0
- package/web/assets/swimlanes-SLNWSIFB-M10HmJH-.js +2 -0
- package/web/assets/swimlanes-XN3QIQJK-N6N2CCQ6-DzcOR4_D.js +1 -0
- package/web/assets/swimlanesDiagram-ULZ7WXOC-DCxkAVHU.js +8 -0
- package/web/assets/swimlanesDiagram-VK2B7HYN-E6N4H5SY-JLTPHNIv.js +8 -0
- package/web/assets/time-BgujFIZT.js +1 -0
- package/web/assets/{timeline-definition-24CTP7MA-KN7RSRVM-Cba_QLsv.js → timeline-definition-24CTP7MA-KN7RSRVM-CMhLQnxM.js} +2 -2
- package/web/assets/{timeline-definition-Z64GVDOM-nDvkF_F-.js → timeline-definition-Z64GVDOM-LcGdwXI-.js} +2 -2
- package/web/assets/transform-B5_amWNh.js +1 -0
- package/web/assets/{vennDiagram-4TSXK5OY-AKJ7LXAN-Bjm0zDVN.js → vennDiagram-4TSXK5OY-AKJ7LXAN-CKicd48A.js} +2 -2
- package/web/assets/{vennDiagram-T6HMQDX7-KudBxp6e.js → vennDiagram-T6HMQDX7-D7hxv4W7.js} +2 -2
- package/web/assets/{wardleyDiagram-T6FBY63Y-d1R0A5mS.js → wardleyDiagram-T6FBY63Y-DnTzvRkP.js} +2 -2
- package/web/assets/{wardleyDiagram-VM6X3IG4-3B6A3BN5-BOTe--eD.js → wardleyDiagram-VM6X3IG4-3B6A3BN5-CBmbko0H.js} +2 -2
- package/web/assets/{xychartDiagram-ELKLHX3M-ChfX530c.js → xychartDiagram-ELKLHX3M-B1fLmbSX.js} +3 -3
- package/web/assets/{xychartDiagram-S5SC5T6Z-OBDNV6WG-DcSRUgks.js → xychartDiagram-S5SC5T6Z-OBDNV6WG-D1kFCVEP.js} +3 -3
- package/web/index.html +3 -3
- package/web/pet.html +3 -3
- package/web/assets/MindmapView-C61d4ddf.js +0 -4
- package/web/assets/ReviewPanel-DoLMdlpR.js +0 -1
- package/web/assets/Tableau10-Cz3F1amA.js +0 -1
- package/web/assets/abnfDiagram-N423BO3Z-BvTcLUtE.js +0 -1
- package/web/assets/abnfDiagram-VCTEODGH-ODA7YWAP-NpbseUTF.js +0 -1
- package/web/assets/arc-Bb-hQPAI.js +0 -1
- package/web/assets/architectureDiagram-5GKGNRK7-C4PU3XN7-DGtDmisd.js +0 -36
- package/web/assets/architectureDiagram-T3A2C74G-huu8moy9.js +0 -36
- package/web/assets/channel-BJoUn5Z8.js +0 -1
- package/web/assets/classDiagram-DTDB5LWJ-LWRDKZ5K-B3DqqoSe.js +0 -1
- package/web/assets/classDiagram-JCYQIIEL-C2n-a_rM.js +0 -1
- package/web/assets/classDiagram-v2-JRS7N3AN-2BZHGRP2-B3DqqoSe.js +0 -1
- package/web/assets/classDiagram-v2-OCEON4UE-C2n-a_rM.js +0 -1
- package/web/assets/colors-Cc3OSVma.js +0 -1
- package/web/assets/cose-bilkent-JH36ORCC-OB24KH3T-DM0H6Gci.js +0 -1
- package/web/assets/cose-bilkent-JH36ORCC-x05QuEnY.js +0 -1
- package/web/assets/cynefinDiagram-5FMLGOSQ-H3WIRU3N-DoaOZ7iJ.js +0 -62
- package/web/assets/cynefinDiagram-MW4NZA55-DI8ePik6.js +0 -62
- package/web/assets/diagram-LBJQPF4R-CZIgxCTB.js +0 -24
- package/web/assets/diagram-Q27KOJAE-B_LnuCra.js +0 -24
- package/web/assets/diagram-UB23O5K3-qTFCSozX.js +0 -41
- package/web/assets/diagram-UQ7AKVKN-YQBY353J-CIootVI_.js +0 -41
- package/web/assets/diagram-VX7I27RA-XW6YQV5G-DfhGfGMR.js +0 -24
- package/web/assets/diagram-Z3DM3KII-HG7RF65D-seunnnEY.js +0 -24
- package/web/assets/ebnfDiagram-BXEA7PRR-ksZAvx5f.js +0 -1
- package/web/assets/ebnfDiagram-PWID7BFC-OKY4VHYD-Bvj1acAA.js +0 -1
- package/web/assets/gitGraphDiagram-DS77QQ5N-DXUcbzn4.js +0 -106
- package/web/assets/gitGraphDiagram-WWUBYQGX-DMWMLL3G-BrLu7NzO.js +0 -106
- package/web/assets/index-BUFumkqO.js +0 -21
- package/web/assets/index-CODVWHV0.js +0 -416
- package/web/assets/index-CU6ublfJ.js +0 -1
- package/web/assets/index-DjoBjasB.css +0 -1
- package/web/assets/index-H1bePBGl.js +0 -3
- package/web/assets/infoDiagram-6WML65LV-rLhQ8DQz.js +0 -2
- package/web/assets/infoDiagram-RXCK75RN-HANS5KVC-BhbqgWa_.js +0 -2
- package/web/assets/main-D3HpSUyK.js +0 -462
- package/web/assets/mermaid-layout-elk.core-KBAfwQxu.js +0 -2
- package/web/assets/min-tv6RD-6E.js +0 -1
- package/web/assets/pegDiagram-VL7TDLO6-D3DtO4SS.js +0 -1
- package/web/assets/pegDiagram-XKGWAZYB-OIP57N6J-D6RFGa8P.js +0 -1
- package/web/assets/pie-xhYaZtwS.js +0 -1
- package/web/assets/railroadDiagram-AXF67PYL-DqYMsbyG.js +0 -1
- package/web/assets/railroadDiagram-O6MQD6OU-34742W6X-BxDZ-lKK.js +0 -1
- package/web/assets/sankeyDiagram-P5KCCOFB-3D3M4XPB-Ct2_9lW6.js +0 -40
- package/web/assets/sizeCapture-X5ZJPWSS-PSGVOMYM-Dv_CbP4j.js +0 -1
- package/web/assets/sizeCapture-X5ZJPWSS-xJHPAAZ7.js +0 -1
- package/web/assets/stateDiagram-HBIQ2CUA-4M2S6MAN-BhhZM57P.js +0 -1
- package/web/assets/stateDiagram-OKZ733FA-CHCQNs83.js +0 -1
- package/web/assets/stateDiagram-v2-4QOOHH4V-LBBLA2WV-CNwPFEas.js +0 -1
- package/web/assets/stateDiagram-v2-UEYNNEHI-uaaN79rE.js +0 -1
- package/web/assets/step-SI6FXFD6.js +0 -1
- package/web/assets/swimlanes-SLNWSIFB-Bste-JE-.js +0 -2
- package/web/assets/swimlanes-XN3QIQJK-N6N2CCQ6-03elMVxe.js +0 -1
- package/web/assets/swimlanesDiagram-ULZ7WXOC-CNw-u2S_.js +0 -8
- package/web/assets/swimlanesDiagram-VK2B7HYN-E6N4H5SY-jhFh1EB2.js +0 -8
- package/web/assets/time-CLfYygnx.js +0 -1
- package/web/assets/transform-CzGDKG_M.js +0 -1
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import{I as $e}from"./chunk-RE4WF27V-D4vIv_G3.js";import{p as fe}from"./chunk-VII2H2IX-BkXECJ1Z.js";import{p as ge}from"./cynefin-OW5HDTMX-GVF3BKWE-DY90g1OE.js";import{o as ue,n as ye,s as xe,g as me,a as pe,b as be,_ as $,A as ee,l as k,c as z,z as we,B as ke,p as ve,i as L,C as Ce,D as Ee,E as Be}from"./render-O7CIS3YK-C5zxvpoJ.js";import{_ as X}from"./mermaid-layout-elk.core-KBAfwQxu.js";import{s as Te}from"./transform-CzGDKG_M.js";import"./main-D3HpSUyK.js";import"./index-C-4sKCSr.js";import"./step-SI6FXFD6.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var p={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Le=Ee.gitGraph,D=$(()=>Ce({...Le,...ee().gitGraph}),"getConfig"),i=new $e(()=>{const e=D(),r=e.mainBranchName,t=e.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:t}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function Y(){return Be({length:7})}X(Y,"getID");$(Y,"getID");function re(e,r){const t=Object.create(null);return e.reduce((o,s)=>{const d=r(s);return t[d]||(t[d]=!0,o.push(s)),o},[])}X(re,"uniqBy");$(re,"uniqBy");var Me=$(function(e){i.records.direction=e},"setDirection"),Ie=$(function(e){k.debug("options str",e),e=e==null?void 0:e.trim(),e=e||"{}";try{i.records.options=JSON.parse(e)}catch(r){k.error("error while parsing gitGraph options",r.message)}},"setOptions"),Re=$(function(){return i.records.options},"getOptions"),_e=$(function(e){let r=e.msg,t=e.id;const o=e.type;let s=e.tags;k.info("commit",r,t,o,s),k.debug("Entering commit:",r,t,o,s);const d=D();t=L.sanitizeText(t,d),r=L.sanitizeText(r,d),s=s==null?void 0:s.map(a=>L.sanitizeText(a,d));const n={id:t||i.records.seq+"-"+Y(),message:r,seq:i.records.seq++,type:o??p.NORMAL,tags:s??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=n,k.info("main branch",d.mainBranchName),i.records.commits.has(n.id)&&k.warn(`Commit ID ${n.id} already exists`),i.records.commits.set(n.id,n),i.records.branches.set(i.records.currBranch,n.id),k.debug("in pushCommit "+n.id)},"commit"),Oe=$(function(e){let r=e.name;const t=e.order;if(r=L.sanitizeText(r,D()),i.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);i.records.branches.set(r,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(r,{name:r,order:t}),se(r),k.debug("in createBranch")},"branch"),Ge=$(e=>{let r=e.branch,t=e.id;const o=e.type,s=e.tags,d=D();r=L.sanitizeText(r,d),t&&(t=L.sanitizeText(t,d));const n=i.records.branches.get(i.records.currBranch),a=i.records.branches.get(r),l=n?i.records.commits.get(n):void 0,h=a?i.records.commits.get(a):void 0;if(l&&h&&l.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(i.records.currBranch===r){const c=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(l===void 0||!l){const c=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},c}if(!i.records.branches.has(r)){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},c}if(h===void 0||!h){const c=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},c}if(l===h){const c=new Error('Incorrect usage of "merge". Both branches have same head');throw c.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},c}if(t&&i.records.commits.has(t)){const c=new Error('Incorrect usage of "merge". Commit with id:'+t+" already exists, use different custom id");throw c.hash={text:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,token:`merge ${r} ${t} ${o} ${s==null?void 0:s.join(" ")}`,expected:[`merge ${r} ${t}_UNIQUE ${o} ${s==null?void 0:s.join(" ")}`]},c}const g=a||"",f={id:t||`${i.records.seq}-${Y()}`,message:`merged branch ${r} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,g],branch:i.records.currBranch,type:p.MERGE,customType:o,customId:!!t,tags:s??[]};i.records.head=f,i.records.commits.set(f.id,f),i.records.branches.set(i.records.currBranch,f.id),k.debug(i.records.branches),k.debug("in mergeBranch")},"merge"),He=$(function(e){let r=e.id,t=e.targetId,o=e.tags,s=e.parent;k.debug("Entering cherryPick:",r,t,o);const d=D();if(r=L.sanitizeText(r,d),t=L.sanitizeText(t,d),o=o==null?void 0:o.map(l=>L.sanitizeText(l,d)),s=L.sanitizeText(s,d),!r||!i.records.commits.has(r)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},l}const n=i.records.commits.get(r);if(n===void 0||!n)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(s&&!(Array.isArray(n.parents)&&n.parents.includes(s)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const a=n.branch;if(n.type===p.MERGE&&!s)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!t||!i.records.commits.has(t)){if(a===i.records.currBranch){const f=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const l=i.records.branches.get(i.records.currBranch);if(l===void 0||!l){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const h=i.records.commits.get(l);if(h===void 0||!h){const f=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${t}`,token:`cherryPick ${r} ${t}`,expected:["cherry-pick abc"]},f}const g={id:i.records.seq+"-"+Y(),message:`cherry-picked ${n==null?void 0:n.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,n.id],branch:i.records.currBranch,type:p.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${n.id}${n.type===p.MERGE?`|parent:${s}`:""}`]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),k.debug(i.records.branches),k.debug("in cherryPick")}},"cherryPick"),se=$(function(e){if(e=L.sanitizeText(e,D()),i.records.branches.has(e)){i.records.currBranch=e;const r=i.records.branches.get(i.records.currBranch);r===void 0||!r?i.records.head=null:i.records.head=i.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}},"checkout");function U(e,r,t){const o=e.indexOf(r);o===-1?e.push(t):e.splice(o,1,t)}X(U,"upsert");$(U,"upsert");function J(e){const r=e.reduce((s,d)=>s.seq>d.seq?s:d,e[0]);let t="";e.forEach(function(s){s===r?t+=" *":t+=" |"});const o=[t,r.id,r.seq];for(const s in i.records.branches)i.records.branches.get(s)===r.id&&o.push(s);if(k.debug(o.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const s=i.records.commits.get(r.parents[0]);U(e,r,s),r.parents[1]&&e.push(i.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const s=i.records.commits.get(r.parents[0]);U(e,r,s)}}e=re(e,s=>s.id),J(e)}X(J,"prettyPrintCommitHistory");$(J,"prettyPrintCommitHistory");var Ae=$(function(){k.debug(i.records.commits);const e=oe()[0];J([e])},"prettyPrint"),Se=$(function(){i.reset(),ve()},"clear"),De=$(function(){return[...i.records.branchConfig.values()].map((r,t)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${t}`)}).sort((r,t)=>(r.order??0)-(t.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),Pe=$(function(){return i.records.branches},"getBranches"),qe=$(function(){return i.records.commits},"getCommits"),oe=$(function(){const e=[...i.records.commits.values()];return e.forEach(function(r){k.debug(r.id)}),e.sort((r,t)=>r.seq-t.seq),e},"getCommitsArray"),We=$(function(){return i.records.currBranch},"getCurrentBranch"),Ne=$(function(){return i.records.direction},"getDirection"),Fe=$(function(){return i.records.head},"getHead"),ce={commitType:p,getConfig:D,setDirection:Me,setOptions:Ie,getOptions:Re,commit:_e,branch:Oe,merge:Ge,cherryPick:He,checkout:se,prettyPrint:Ae,clear:Se,getBranchesAsObjArray:De,getBranches:Pe,getCommits:qe,getCommitsArray:oe,getCurrentBranch:We,getDirection:Ne,getHead:Fe,setAccTitle:be,getAccTitle:pe,getAccDescription:me,setAccDescription:xe,setDiagramTitle:ye,getDiagramTitle:ue},ze=$((e,r)=>{fe(e,r),e.dir&&r.setDirection(e.dir);for(const t of e.statements)Ye(t,r)},"populate"),Ye=$((e,r)=>{const o={Commit:$(s=>r.commit(je(s)),"Commit"),Branch:$(s=>r.branch(Ue(s)),"Branch"),Merge:$(s=>r.merge(Ke(s)),"Merge"),Checkout:$(s=>r.checkout(Ve(s)),"Checkout"),CherryPicking:$(s=>r.cherryPick(Xe(s)),"CherryPicking")}[e.$type];o?o(e):k.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),je=$(e=>({id:e.id,msg:e.message??"",type:e.type!==void 0?p[e.type]:p.NORMAL,tags:e.tags??void 0}),"parseCommit"),Ue=$(e=>({name:e.name,order:e.order??0}),"parseBranch"),Ke=$(e=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?p[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ve=$(e=>e.branch,"parseCheckout"),Xe=$(e=>{var t;return{id:e.id,targetId:"",tags:((t=e.tags)==null?void 0:t.length)===0?void 0:e.tags,parent:e.parent}},"parseCherryPicking"),Je={parse:$(async e=>{const r=await ge("gitGraph",e);k.debug(r),ze(r,ce)},"parse")},G=10,H=40,M=4,R=2,A=8,Q=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),Z=12,te=new Set(["redux-color","redux-dark-color"]),Qe=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),S=$((e,r,t=!1)=>t&&e>0?(e-1)%(r-1)+1:e%r,"calcColorIndex"),B=new Map,T=new Map,K=30,N=new Map,V=[],_=0,y="LR",Ze=$(()=>{B.clear(),T.clear(),N.clear(),_=0,V=[],y="LR"},"clear"),ie=$(e=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e=="string"?e.split(/\\n|\n|<br\s*\/?>/gi):e).forEach(o=>{const s=document.createElementNS("http://www.w3.org/2000/svg","tspan");s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),s.setAttribute("dy","1em"),s.setAttribute("x","0"),s.setAttribute("class","row"),s.textContent=o.trim(),r.appendChild(s)}),r},"drawText"),de=$(e=>{let r,t,o;return y==="BT"?(t=$((s,d)=>s<=d,"comparisonFunc"),o=1/0):(t=$((s,d)=>s>=d,"comparisonFunc"),o=0),e.forEach(s=>{var n,a;const d=y==="TB"||y=="BT"?(n=T.get(s))==null?void 0:n.y:(a=T.get(s))==null?void 0:a.x;d!==void 0&&t(d,o)&&(r=s,o=d)}),r},"findClosestParent"),er=$(e=>{let r="",t=1/0;return e.forEach(o=>{const s=T.get(o).y;s<=t&&(r=o,t=s)}),r||void 0},"findClosestParentBT"),rr=$((e,r,t)=>{let o=t,s=t;const d=[];e.forEach(n=>{const a=r.get(n);if(!a)throw new Error(`Commit not found for key ${n}`);a.parents.length?(o=ar(a),s=Math.max(o,s)):d.push(a),nr(a,o)}),o=s,d.forEach(n=>{sr(n,o,t)}),e.forEach(n=>{const a=r.get(n);if(a!=null&&a.parents.length){const l=er(a.parents);o=T.get(l).y-H,o<=s&&(s=o);const h=B.get(a.branch).pos,g=o-G;T.set(a.id,{x:h,y:g})}})},"setParallelBTPos"),tr=$(e=>{var o;const r=de(e.parents.filter(s=>s!==null));if(!r)throw new Error(`Closest parent not found for commit ${e.id}`);const t=(o=T.get(r))==null?void 0:o.y;if(t===void 0)throw new Error(`Closest parent position not found for commit ${e.id}`);return t},"findClosestParentPos"),ar=$(e=>tr(e)+H,"calculateCommitPosition"),nr=$((e,r)=>{const t=B.get(e.branch);if(!t)throw new Error(`Branch not found for commit ${e.id}`);const o=t.pos,s=r+G;return T.set(e.id,{x:o,y:s}),{x:o,y:s}},"setCommitPosition"),sr=$((e,r,t)=>{const o=B.get(e.branch);if(!o)throw new Error(`Branch not found for commit ${e.id}`);const s=r+t,d=o.pos;T.set(e.id,{x:d,y:s})},"setRootPosition"),or=$((e,r,t,o,s,d)=>{const{theme:n}=z(),a=Q.has(n??""),l=te.has(n??""),h=Qe.has(n??"");if(d===p.HIGHLIGHT)e.append("rect").attr("x",t.x-10+(a?3:0)).attr("y",t.y-10+(a?3:0)).attr("width",a?14:20).attr("height",a?14:20).attr("class",`commit ${r.id} commit-highlight${S(s,A,l)} ${o}-outer`),e.append("rect").attr("x",t.x-6+(a?2:0)).attr("y",t.y-6+(a?2:0)).attr("width",a?8:12).attr("height",a?8:12).attr("class",`commit ${r.id} commit${S(s,A,l)} ${o}-inner`);else if(d===p.CHERRY_PICK)e.append("circle").attr("cx",t.x).attr("cy",t.y).attr("r",a?7:10).attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x-3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("circle").attr("cx",t.x+3).attr("cy",t.y+2).attr("r",a?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x+3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),e.append("line").attr("x1",t.x-3).attr("y1",t.y+1).attr("x2",t.x).attr("y2",t.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`);else{const g=e.append("circle");if(g.attr("cx",t.x),g.attr("cy",t.y),g.attr("r",a?7:10),g.attr("class",`commit ${r.id} commit${S(s,A,l)}`),d===p.MERGE){const f=e.append("circle");f.attr("cx",t.x),f.attr("cy",t.y),f.attr("r",a?5:6),f.attr("class",`commit ${o} ${r.id} commit${S(s,A,l)}`)}if(d===p.REVERSE){const f=e.append("path"),c=a?4:5;f.attr("d",`M ${t.x-c},${t.y-c}L${t.x+c},${t.y+c}M${t.x-c},${t.y+c}L${t.x+c},${t.y-c}`).attr("class",`commit ${o} ${r.id} commit${S(s,A,l)}`)}}},"drawCommitBullet"),cr=$((e,r,t,o,s)=>{var d;if(r.type!==p.CHERRY_PICK&&(r.customId&&r.type===p.MERGE||r.type!==p.MERGE)&&s.showCommitLabel){const n=e.append("g"),a=n.insert("rect").attr("class","commit-label-bkg"),l=n.append("text").attr("x",o).attr("y",t.y+25).attr("class","commit-label").text(r.id),h=(d=l.node())==null?void 0:d.getBBox();if(h&&(a.attr("x",t.posWithOffset-h.width/2-R).attr("y",t.y+13.5).attr("width",h.width+2*R).attr("height",h.height+2*R),y==="TB"||y==="BT"?(a.attr("x",t.x-(h.width+4*M+5)).attr("y",t.y-12),l.attr("x",t.x-(h.width+4*M)).attr("y",t.y+h.height-12)):l.attr("x",t.posWithOffset-h.width/2),s.rotateCommitLabel))if(y==="TB"||y==="BT")l.attr("transform","rotate(-45, "+t.x+", "+t.y+")"),a.attr("transform","rotate(-45, "+t.x+", "+t.y+")");else{const g=-7.5-(h.width+10)/25*9.5,f=10+h.width/25*8.5;n.attr("transform","translate("+g+", "+f+") rotate(-45, "+o+", "+t.y+")")}}},"drawCommitLabel"),ir=$((e,r,t,o)=>{var s;if(r.tags.length>0){let d=0,n=0,a=0;const l=[];for(const h of r.tags.reverse()){const g=e.insert("polygon"),f=e.append("circle"),c=e.append("text").attr("y",t.y-16-d).attr("class","tag-label").text(h),x=(s=c.node())==null?void 0:s.getBBox();if(!x)throw new Error("Tag bbox not found");n=Math.max(n,x.width),a=Math.max(a,x.height),c.attr("x",t.posWithOffset-x.width/2),l.push({tag:c,hole:f,rect:g,yOffset:d}),d+=20}for(const{tag:h,hole:g,rect:f,yOffset:c}of l){const x=a/2,u=t.y-19.2-c;if(f.attr("class","tag-label-bkg").attr("points",`
|
|
2
|
-
${o-n/2-M/2},${u+R}
|
|
3
|
-
${o-n/2-M/2},${u-R}
|
|
4
|
-
${t.posWithOffset-n/2-M},${u-x-R}
|
|
5
|
-
${t.posWithOffset+n/2+M},${u-x-R}
|
|
6
|
-
${t.posWithOffset+n/2+M},${u+x+R}
|
|
7
|
-
${t.posWithOffset-n/2-M},${u+x+R}`),g.attr("cy",u).attr("cx",o-n/2+M/2).attr("r",1.5).attr("class","tag-hole"),y==="TB"||y==="BT"){const m=o+c;f.attr("class","tag-label-bkg").attr("points",`
|
|
8
|
-
${t.x},${m+2}
|
|
9
|
-
${t.x},${m-2}
|
|
10
|
-
${t.x+G},${m-x-2}
|
|
11
|
-
${t.x+G+n+4},${m-x-2}
|
|
12
|
-
${t.x+G+n+4},${m+x+2}
|
|
13
|
-
${t.x+G},${m+x+2}`).attr("transform","translate(12,12) rotate(45, "+t.x+","+o+")"),g.attr("cx",t.x+M/2).attr("cy",m).attr("transform","translate(12,12) rotate(45, "+t.x+","+o+")"),h.attr("x",t.x+5).attr("y",m+3).attr("transform","translate(14,14) rotate(45, "+t.x+","+o+")")}}}},"drawCommitTags"),dr=$(e=>{switch(e.customType??e.type){case p.NORMAL:return"commit-normal";case p.REVERSE:return"commit-reverse";case p.HIGHLIGHT:return"commit-highlight";case p.MERGE:return"commit-merge";case p.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),lr=$((e,r,t,o)=>{const s={x:0,y:0};if(e.parents.length>0){const d=de(e.parents);if(d){const n=o.get(d)??s;return r==="TB"?n.y+H:r==="BT"?(o.get(e.id)??s).y-H:n.x+H}}else return r==="TB"?K:r==="BT"?(o.get(e.id)??s).y-H:0;return 0},"calculatePosition"),hr=$((e,r,t)=>{var l,h;const o=y==="BT"&&t?r:r+G,s=(l=B.get(e.branch))==null?void 0:l.pos,d=y==="TB"||y==="BT"?(h=B.get(e.branch))==null?void 0:h.pos:o;if(d===void 0||s===void 0)throw new Error(`Position were undefined for commit ${e.id}`);const n=Q.has(z().theme??""),a=y==="TB"||y==="BT"?o:s+(n?Z/2+1:-2);return{x:d,y:a,posWithOffset:o}},"getCommitPosition"),ne=$((e,r,t,o)=>{const s=e.append("g").attr("class","commit-bullets"),d=e.append("g").attr("class","commit-labels");let n=y==="TB"||y==="BT"?K:0;const a=[...r.keys()],l=o.parallelCommits??!1,h=$((f,c)=>{var m,C;const x=(m=r.get(f))==null?void 0:m.seq,u=(C=r.get(c))==null?void 0:C.seq;return x!==void 0&&u!==void 0?x-u:0},"sortKeys");let g=a.sort(h);y==="BT"&&(l&&rr(g,r,n),g=g.reverse()),g.forEach(f=>{var u;const c=r.get(f);if(!c)throw new Error(`Commit not found for key ${f}`);l&&(n=lr(c,y,n,T));const x=hr(c,n,l);if(t){const m=dr(c),C=c.customType??c.type,b=((u=B.get(c.branch))==null?void 0:u.index)??0;or(s,c,x,m,b,C),cr(d,c,x,n,o),ir(d,c,x,n)}y==="TB"||y==="BT"?T.set(c.id,{x:x.x,y:x.posWithOffset}):T.set(c.id,{x:x.posWithOffset,y:x.y}),n=y==="BT"&&l?n+H:n+H+G,n>_&&(_=n)})},"drawCommits"),$r=$((e,r,t,o,s)=>{const n=(y==="TB"||y==="BT"?t.x<o.x:t.y<o.y)?r.branch:e.branch,a=$(h=>h.branch===n,"isOnBranchToGetCurve"),l=$(h=>h.seq>e.seq&&h.seq<r.seq,"isBetweenCommits");return[...s.values()].some(h=>l(h)&&a(h))},"shouldRerouteArrow"),F=$((e,r,t=0)=>{const o=e+Math.abs(e-r)/2;if(t>5)return o;if(V.every(n=>Math.abs(n-o)>=10))return V.push(o),o;const d=Math.abs(e-r);return F(e,r-d/5,t+1)},"findLane"),fr=$((e,r,t,o)=>{var m,C,b,P,O;const{theme:s}=z(),d=te.has(s??""),n=T.get(r.id),a=T.get(t.id);if(n===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${r.id} and ${t.id}`);const l=$r(r,t,n,a,o);let h="",g="",f=0,c=0,x=(m=B.get(t.branch))==null?void 0:m.index;t.type===p.MERGE&&r.id!==t.parents[0]&&(x=(C=B.get(r.branch))==null?void 0:C.index);let u;if(l){h="A 10 10, 0, 0, 0,",g="A 10 10, 0, 0, 1,",f=10,c=10;const v=n.y<a.y?F(n.y,a.y):F(a.y,n.y),w=n.x<a.x?F(n.x,a.x):F(a.x,n.x);y==="TB"?n.x<a.x?u=`M ${n.x} ${n.y} L ${w-f} ${n.y} ${g} ${w} ${n.y+c} L ${w} ${a.y-f} ${h} ${w+c} ${a.y} L ${a.x} ${a.y}`:(x=(b=B.get(r.branch))==null?void 0:b.index,u=`M ${n.x} ${n.y} L ${w+f} ${n.y} ${h} ${w} ${n.y+c} L ${w} ${a.y-f} ${g} ${w-c} ${a.y} L ${a.x} ${a.y}`):y==="BT"?n.x<a.x?u=`M ${n.x} ${n.y} L ${w-f} ${n.y} ${h} ${w} ${n.y-c} L ${w} ${a.y+f} ${g} ${w+c} ${a.y} L ${a.x} ${a.y}`:(x=(P=B.get(r.branch))==null?void 0:P.index,u=`M ${n.x} ${n.y} L ${w+f} ${n.y} ${g} ${w} ${n.y-c} L ${w} ${a.y+f} ${h} ${w-c} ${a.y} L ${a.x} ${a.y}`):n.y<a.y?u=`M ${n.x} ${n.y} L ${n.x} ${v-f} ${h} ${n.x+c} ${v} L ${a.x-f} ${v} ${g} ${a.x} ${v+c} L ${a.x} ${a.y}`:(x=(O=B.get(r.branch))==null?void 0:O.index,u=`M ${n.x} ${n.y} L ${n.x} ${v+f} ${g} ${n.x+c} ${v} L ${a.x-f} ${v} ${h} ${a.x} ${v-c} L ${a.x} ${a.y}`)}else h="A 20 20, 0, 0, 0,",g="A 20 20, 0, 0, 1,",f=20,c=20,y==="TB"?(n.x<a.x&&(t.type===p.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${n.x} ${a.y-f} ${h} ${n.x+c} ${a.y} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${a.x-f} ${n.y} ${g} ${a.x} ${n.y+c} L ${a.x} ${a.y}`),n.x>a.x&&(h="A 20 20, 0, 0, 0,",g="A 20 20, 0, 0, 1,",f=20,c=20,t.type===p.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${n.x} ${a.y-f} ${g} ${n.x-c} ${a.y} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${a.x+f} ${n.y} ${h} ${a.x} ${n.y+c} L ${a.x} ${a.y}`),n.x===a.x&&(u=`M ${n.x} ${n.y} L ${a.x} ${a.y}`)):y==="BT"?(n.x<a.x&&(t.type===p.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${n.x} ${a.y+f} ${g} ${n.x+c} ${a.y} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${a.x-f} ${n.y} ${h} ${a.x} ${n.y-c} L ${a.x} ${a.y}`),n.x>a.x&&(h="A 20 20, 0, 0, 0,",g="A 20 20, 0, 0, 1,",f=20,c=20,t.type===p.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${n.x} ${a.y+f} ${h} ${n.x-c} ${a.y} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${a.x+f} ${n.y} ${g} ${a.x} ${n.y-c} L ${a.x} ${a.y}`),n.x===a.x&&(u=`M ${n.x} ${n.y} L ${a.x} ${a.y}`)):(n.y<a.y&&(t.type===p.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${a.x-f} ${n.y} ${g} ${a.x} ${n.y+c} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${n.x} ${a.y-f} ${h} ${n.x+c} ${a.y} L ${a.x} ${a.y}`),n.y>a.y&&(t.type===p.MERGE&&r.id!==t.parents[0]?u=`M ${n.x} ${n.y} L ${a.x-f} ${n.y} ${h} ${a.x} ${n.y-c} L ${a.x} ${a.y}`:u=`M ${n.x} ${n.y} L ${n.x} ${a.y+f} ${g} ${n.x+c} ${a.y} L ${a.x} ${a.y}`),n.y===a.y&&(u=`M ${n.x} ${n.y} L ${a.x} ${a.y}`));if(u===void 0)throw new Error("Line definition not found");e.append("path").attr("d",u).attr("class","arrow arrow"+S(x,A,d))},"drawArrow"),gr=$((e,r)=>{const t=e.append("g").attr("class","commit-arrows");[...r.keys()].forEach(o=>{const s=r.get(o);s.parents&&s.parents.length>0&&s.parents.forEach(d=>{fr(t,r.get(d),s,r)})})},"drawArrows"),ur=$((e,r,t,o)=>{const{look:s,theme:d,themeVariables:n}=z(),{dropShadow:a,THEME_COLOR_LIMIT:l}=n,h=Q.has(d??""),g=te.has(d??""),f=e.append("g");r.forEach((c,x)=>{var ae;const u=S(x,h?l:A,g),m=(ae=B.get(c.name))==null?void 0:ae.pos;if(m===void 0)throw new Error(`Position not found for branch ${c.name}`);const C=y==="TB"||y==="BT"?m:h?m+Z/2+1:m-2,b=f.append("line");b.attr("x1",0),b.attr("y1",C),b.attr("x2",_),b.attr("y2",C),b.attr("class","branch branch"+u),y==="TB"?(b.attr("y1",K),b.attr("x1",m),b.attr("y2",_),b.attr("x2",m)):y==="BT"&&(b.attr("y1",_),b.attr("x1",m),b.attr("y2",K),b.attr("x2",m)),V.push(C);const P=c.name,O=ie(P),v=f.insert("rect"),I=f.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+u);I.node().appendChild(O);const E=O.getBBox(),W=h?0:4,j=h?16:0,q=h?Z:0;s==="neo"&&v.attr("data-look","neo"),v.attr("class","branchLabelBkg label"+u).attr("style",s==="neo"?`filter:${h?`url(#${o}-drop-shadow)`:a}`:"").attr("rx",W).attr("ry",W).attr("x",-E.width-4-(t.rotateCommitLabel===!0?30:0)).attr("y",-E.height/2+10).attr("width",E.width+18+j).attr("height",E.height+4+q),I.attr("transform","translate("+(-E.width-14-(t.rotateCommitLabel===!0?30:0)+j/2)+", "+(C-E.height/2-2)+")"),y==="TB"?(v.attr("x",m-E.width/2-10).attr("y",0),I.attr("transform","translate("+(m-E.width/2-5)+", 0)"),h&&(v.attr("transform",`translate(${-j/2-3}, ${-q-10})`),I.attr("transform","translate("+(m-E.width/2-5)+", "+(-q*2+7)+")"))):y==="BT"?(v.attr("x",m-E.width/2-10).attr("y",_),I.attr("transform","translate("+(m-E.width/2-5)+", "+_+")"),h&&(v.attr("transform",`translate(${-j/2-3}, ${q+10})`),I.attr("transform","translate("+(m-E.width/2-5)+", "+(_+q*2+4)+")"))):v.attr("transform","translate(-19, "+(C-12-q/2)+")")})},"drawBranches"),yr=$(function(e,r,t,o,s){return B.set(e,{pos:r,index:t}),r+=50+(s?40:0)+(y==="TB"||y==="BT"?o.width/2:0),r},"setBranchPosition"),xr=$(function(e,r,t,o){Ze(),k.debug("in gitgraph renderer",e+`
|
|
14
|
-
`,"id:",r,t);const s=o.db;if(!s.getConfig){k.error("getConfig method is not available on db");return}const d=s.getConfig(),n=d.rotateCommitLabel??!1;N=s.getCommits();const a=s.getBranchesAsObjArray();y=s.getDirection();const l=Te(`[id="${r}"]`),{look:h,theme:g,themeVariables:f}=z(),{useGradient:c,gradientStart:x,gradientStop:u,filterColor:m}=f;if(c){const b=l.append("defs").append("linearGradient").attr("id",r+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");b.append("stop").attr("offset","0%").attr("stop-color",x).attr("stop-opacity",1),b.append("stop").attr("offset","100%").attr("stop-color",u).attr("stop-opacity",1)}h==="neo"&&Q.has(g??"")&&l.append("defs").append("filter").attr("id",r+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",m);let C=0;a.forEach((b,P)=>{var W;const O=ie(b.name),v=l.append("g"),w=v.insert("g").attr("class","branchLabel"),I=w.insert("g").attr("class","label branch-label");(W=I.node())==null||W.appendChild(O);const E=O.getBBox();C=yr(b.name,C,P,E,n),I.remove(),w.remove(),v.remove()}),ne(l,N,!1,d),d.showBranches&&ur(l,a,d,r),gr(l,N),ne(l,N,!0,d),we.insertTitle(l,"gitTitleText",d.titleTopMargin??0,s.getDiagramTitle()),ke(void 0,l,d.diagramPadding,d.useMaxWidth)},"draw"),mr={draw:xr},le=8,he=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),pr=new Set(["redux-color","redux-dark-color"]),br=new Set(["neo","neo-dark"]),wr=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),kr=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),vr=$(e=>{const{svgId:r}=e;let t="";if(e.useGradient&&r)for(let o=0;o<e.THEME_COLOR_LIMIT;o++)t+=`
|
|
15
|
-
.label${o} { fill: ${e.mainBkg}; stroke: url(${r}-gradient); stroke-width: ${e.strokeWidth};}
|
|
16
|
-
`;return t},"genGitGraphGradient"),Cr=$(e=>{const r=ee(),{theme:t,themeVariables:o}=r,{borderColorArray:s}=o,d=he.has(t);if(br.has(t)){let n="";for(let a=0;a<e.THEME_COLOR_LIMIT;a++)if(a===0)n+=`
|
|
17
|
-
.branch-label${a} { fill: ${e.nodeBorder};}
|
|
18
|
-
.commit${a} { stroke: ${e.nodeBorder}; }
|
|
19
|
-
.commit-highlight${a} { stroke: ${e.nodeBorder}; fill: ${e.nodeBorder}; }
|
|
20
|
-
.arrow${a} { stroke: ${e.nodeBorder}; }
|
|
21
|
-
.commit-bullets { fill: ${e.nodeBorder}; }
|
|
22
|
-
.commit-cherry-pick${a} { stroke: ${e.nodeBorder}; }
|
|
23
|
-
${vr(e)}`;else{const l=a%le;n+=`
|
|
24
|
-
.branch-label${a} { fill: ${e["gitBranchLabel"+l]}; }
|
|
25
|
-
.commit${a} { stroke: ${e["git"+l]}; fill: ${e["git"+l]}; }
|
|
26
|
-
.commit-highlight${a} { stroke: ${e["gitInv"+l]}; fill: ${e["gitInv"+l]}; }
|
|
27
|
-
.arrow${a} { stroke: ${e["git"+l]}; }
|
|
28
|
-
`}return n}else if(pr.has(t)){let n="";for(let a=0;a<e.THEME_COLOR_LIMIT;a++)if(a===0)n+=`
|
|
29
|
-
.branch-label${a} { fill: ${e.nodeBorder}; ${d?`font-weight:${e.noteFontWeight}`:""} }
|
|
30
|
-
.commit${a} { stroke: ${e.nodeBorder}; }
|
|
31
|
-
.commit-highlight${a} { stroke: ${e.nodeBorder}; fill: ${e.mainBkg}; }
|
|
32
|
-
.label${a} { fill: ${e.mainBkg}; stroke: ${e.nodeBorder}; stroke-width: ${e.strokeWidth}; ${d?`font-weight:${e.noteFontWeight}`:""} }
|
|
33
|
-
.arrow${a} { stroke: ${e.nodeBorder}; }
|
|
34
|
-
.commit-bullets { fill: ${e.nodeBorder}; }
|
|
35
|
-
`;else{const l=a%s.length;n+=`
|
|
36
|
-
.branch-label${a} { fill: ${e.nodeBorder}; ${d?`font-weight:${e.noteFontWeight}`:""} }
|
|
37
|
-
.commit${a} { stroke: ${s[l]}; fill: ${s[l]}; }
|
|
38
|
-
.commit-highlight${a} { stroke: ${s[l]}; fill: ${s[l]}; }
|
|
39
|
-
.label${a} { fill: ${wr.has(t)?e.mainBkg:s[l]}; stroke: ${s[l]}; stroke-width: ${e.strokeWidth}; }
|
|
40
|
-
.arrow${a} { stroke: ${s[l]}; }
|
|
41
|
-
`}return n}else{let n="";for(let a=0;a<e.THEME_COLOR_LIMIT;a++)n+=`
|
|
42
|
-
.branch-label${a} { fill: ${e.nodeBorder}; ${d?`font-weight:${e.noteFontWeight}`:""} }
|
|
43
|
-
.commit${a} { stroke: ${e.nodeBorder}; }
|
|
44
|
-
.commit-highlight${a} { stroke: ${e.nodeBorder}; fill: ${e.nodeBorder}; }
|
|
45
|
-
.label${a} { fill: ${e.mainBkg}; stroke: ${e.nodeBorder}; stroke-width: ${e.strokeWidth}; ${d?`font-weight:${e.noteFontWeight}`:""}}
|
|
46
|
-
.arrow${a} { stroke: ${e.nodeBorder}; }
|
|
47
|
-
.commit-bullets { fill: ${e.nodeBorder}; }
|
|
48
|
-
.commit-cherry-pick${a} { stroke: ${e.nodeBorder}; }
|
|
49
|
-
`;return n}},"genColor"),Er=$(e=>`${Array.from({length:e.THEME_COLOR_LIMIT},(r,t)=>t).map(r=>{const t=r%le;return`
|
|
50
|
-
.branch-label${r} { fill: ${e["gitBranchLabel"+t]}; }
|
|
51
|
-
.commit${r} { stroke: ${e["git"+t]}; fill: ${e["git"+t]}; }
|
|
52
|
-
.commit-highlight${r} { stroke: ${e["gitInv"+t]}; fill: ${e["gitInv"+t]}; }
|
|
53
|
-
.label${r} { fill: ${e["git"+t]}; }
|
|
54
|
-
.arrow${r} { stroke: ${e["git"+t]}; }
|
|
55
|
-
`}).join(`
|
|
56
|
-
`)}`,"normalTheme"),Br=$(e=>{const r=ee(),{theme:t}=r,o=kr.has(t);return`
|
|
57
|
-
.commit-id,
|
|
58
|
-
.commit-msg,
|
|
59
|
-
.branch-label {
|
|
60
|
-
fill: lightgrey;
|
|
61
|
-
color: lightgrey;
|
|
62
|
-
font-family: 'trebuchet ms', verdana, arial, sans-serif;
|
|
63
|
-
font-family: var(--mermaid-font-family);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
${o?Cr(e):Er(e)}
|
|
67
|
-
|
|
68
|
-
.branch {
|
|
69
|
-
stroke-width: ${e.strokeWidth};
|
|
70
|
-
stroke: ${e.commitLineColor??e.lineColor};
|
|
71
|
-
stroke-dasharray: ${o?"4 2":"2"};
|
|
72
|
-
}
|
|
73
|
-
.commit-label { font-size: ${e.commitLabelFontSize}; fill: ${o?e.nodeBorder:e.commitLabelColor}; ${o?`font-weight:${e.noteFontWeight};`:""}}
|
|
74
|
-
.commit-label-bkg { font-size: ${e.commitLabelFontSize}; fill: ${o?"transparent":e.commitLabelBackground}; opacity: ${o?"":.5}; }
|
|
75
|
-
.tag-label { font-size: ${e.tagLabelFontSize}; fill: ${e.tagLabelColor};}
|
|
76
|
-
.tag-label-bkg { fill: ${o?e.mainBkg:e.tagLabelBackground}; stroke: ${o?e.nodeBorder:e.tagLabelBorder}; ${o?`filter:${e.dropShadow}`:""} }
|
|
77
|
-
.tag-hole { fill: ${e.textColor}; }
|
|
78
|
-
|
|
79
|
-
.commit-merge {
|
|
80
|
-
stroke: ${o?e.mainBkg:e.primaryColor};
|
|
81
|
-
fill: ${o?e.mainBkg:e.primaryColor};
|
|
82
|
-
}
|
|
83
|
-
.commit-reverse {
|
|
84
|
-
stroke: ${o?e.mainBkg:e.primaryColor};
|
|
85
|
-
fill: ${o?e.mainBkg:e.primaryColor};
|
|
86
|
-
stroke-width: ${o?e.strokeWidth:3};
|
|
87
|
-
}
|
|
88
|
-
.commit-highlight-outer {
|
|
89
|
-
}
|
|
90
|
-
.commit-highlight-inner {
|
|
91
|
-
stroke: ${o?e.mainBkg:e.primaryColor};
|
|
92
|
-
fill: ${o?e.mainBkg:e.primaryColor};
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.arrow {
|
|
96
|
-
/* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */
|
|
97
|
-
stroke-width: ${he.has(t)?e.strokeWidth:8};
|
|
98
|
-
stroke-linecap: round;
|
|
99
|
-
fill: none
|
|
100
|
-
}
|
|
101
|
-
.gitTitleText {
|
|
102
|
-
text-anchor: middle;
|
|
103
|
-
font-size: 18px;
|
|
104
|
-
fill: ${e.textColor};
|
|
105
|
-
}
|
|
106
|
-
`},"getStyles"),Tr=Br,Dr={parser:Je,db:ce,renderer:mr,styles:Tr};export{Dr as diagram};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./elk.bundled-DP5Rghza.js","./index-C-4sKCSr.js","./index-DjoBjasB.css","./_commonjs-dynamic-modules-TDtrdbi3.js","./mermaid.core-BVbO1Vp8.js","./main-D3HpSUyK.js","./main-BXa7WYYr.css","./transform-CzGDKG_M.js","./step-SI6FXFD6.js","./mermaid-layout-elk.core-KBAfwQxu.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as h,j as e,c as de}from"./index-C-4sKCSr.js";import{c as Q,u as L,b as me,E as ue,X as Y,_ as J,H as he,I as R,J as fe,N as xe,k as ge,K as be,O as pe,j as U,Q as we,R as je,V as ye,Y as ke}from"./main-D3HpSUyK.js";import{M as H,C as F}from"./CanvasStage-u_7YeGk1.js";import{A as ve}from"./arrow-right-B0QrRNSR.js";import{R as Ne}from"./rotate-ccw-C3k3pTDh.js";/**
|
|
3
|
-
* @license lucide-react v0.468.0 - ISC
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the ISC license.
|
|
6
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/const Ce=Q("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
|
|
8
|
-
* @license lucide-react v0.468.0 - ISC
|
|
9
|
-
*
|
|
10
|
-
* This source code is licensed under the ISC license.
|
|
11
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
12
|
-
*/const Me=Q("Dices",[["rect",{width:"12",height:"12",x:"2",y:"10",rx:"2",ry:"2",key:"6agr2n"}],["path",{d:"m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6",key:"1o487t"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M10 14h.01",key:"ssrbsk"}],["path",{d:"M15 6h.01",key:"cblpky"}],["path",{d:"M18 9h.01",key:"2061c0"}]]);/**
|
|
13
|
-
* @license lucide-react v0.468.0 - ISC
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the ISC license.
|
|
16
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/const Se=Q("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);function K({title:t,onClose:r,children:a}){const s=L(),n=h.useRef(null);return me(n,!0),h.useEffect(()=>{const i=o=>{o.key==="Escape"&&r()};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[r]),ue.createPortal(e.jsxs("div",{className:"fixed inset-0 z-50 flex flex-col bg-black/80","data-testid":"diagram-viewer-modal","data-noswipe":"",role:"dialog","aria-modal":"true","aria-label":t,children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-2.5 shrink-0",onClick:i=>i.stopPropagation(),children:[e.jsx("h3",{className:"text-body font-bold text-white truncate",children:t}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsx("span",{className:"text-caption text-white/50 hidden sm:inline",children:s("artifact.viewer.hint")}),e.jsx("button",{onClick:r,"data-testid":"diagram-viewer-close","aria-label":s("action.close"),"data-tooltip":s("action.close"),className:"text-white/70 hover:text-white w-9 h-9 flex items-center justify-center rounded-lg hover:bg-white/10 transition-colors",children:e.jsx(Y,{className:"w-5 h-5"})})]})]}),e.jsx("div",{className:"flex-1 min-h-0 px-2 pb-2",onClick:r,children:e.jsx("div",{ref:n,className:"h-full w-full",onClick:i=>i.stopPropagation(),children:a})})]}),document.body)}function T(t,r=13){let a=0;for(const s of t)a+=/[\u2e80-\u9fff\uf900-\ufaff\uff00-\uffef\u3000-\u303f]/.test(s)?r:r*.58;return a}const q=118;function Ee(t){if(T(t)<=q)return[t];const r=[];for(let l=0;l<t.length;l++)/[\s/\-—·]/.test(t[l]??"")&&r.push(l);const a=t.length/2;let s=-1,n=1/0;for(const l of r){const g=Math.abs(l+1-a);g<n&&(n=g,s=l)}let i,o;if(s>=0)i=t.slice(0,s+1).trim(),o=t.slice(s+1).trim();else{let l=0,g=0;for(const w of t)if(l+=T(w),g++,l>=T(t)/2)break;i=t.slice(0,g),o=t.slice(g)}if(T(i)<=q&&T(o)<=q)return[i,o];const c=l=>{let g="";for(const w of l){if(T(g+w+"…")>q)break;g+=w}return g+"…"};return[T(i)>q?c(i):i,T(o)>q?c(o):o]}function ie(t,r){const a=Ee(t),s=r?14:13,n=Math.max(...a.map(l=>T(l,s))),i=r?30:24,o=17,c=r?18:14;return{width:Math.min(r?200:180,Math.max(r?92:76,n+i)),height:c+a.length*o,lines:a}}function ze(t,r,a){const s=new Set(t.map(n=>n.id));if(Array.isArray(a)&&a.length>0){const n=new Set,i=[];for(const o of a){if(!o||typeof o.id!="string"||!o.id)continue;const c=Array.isArray(o.nodeIds)?[...new Set(o.nodeIds.filter(l=>typeof l=="string"&&s.has(l)&&!n.has(l)))]:[];c.length<2||(c.forEach(l=>n.add(l)),i.push({id:o.id,label:typeof o.label=="string"&&o.label?o.label:"分组",nodeIds:c}))}if(i.length>0&&!(i.length===1&&n.size===t.length&&t.length>2))return{groups:i,fallback:!1}}return{groups:$e(t,r),fallback:!0}}function $e(t,r){if(t.length<4)return[];const a=new Map(t.map((m,d)=>[m.id,d])),s=new Map;for(const m of t)s.set(m.id,[]);const n=new Set;for(const m of r){if(!a.has(m.from)||!a.has(m.to)||m.from===m.to)continue;const d=[m.from,m.to].sort().join("→");n.has(d)||(n.add(d),s.get(m.from).push(m.to),s.get(m.to).push(m.from))}const i=[...t].sort((m,d)=>{const f=s.get(m.id).length,N=s.get(d.id).length;return f!==N?N-f:(a.get(m.id)??0)-(a.get(d.id)??0)}),o=Math.min(3,Math.max(1,Math.ceil(t.length/4))),c=i.slice(0,o).filter(m=>{var d;return(((d=s.get(m.id))==null?void 0:d.length)??0)>0});if(c.length===0)return[];const l=new Map;c.forEach((m,d)=>l.set(m.id,d));const g=c.map(m=>m.id);for(;g.length;){const m=g.shift(),d=l.get(m);for(const f of s.get(m)??[])l.has(f)||(l.set(f,d),g.push(f))}const w=[];return c.forEach((m,d)=>{const f=t.filter(N=>l.get(N.id)===d).map(N=>N.id);f.length<2||w.push({id:`grp-${m.id}`,label:m.label.length<=5?`${m.label}相关`:m.label,nodeIds:f})}),w}const W=34;function Ie(t,r,a){var m;const s=new Set(t.map(d=>d.id)),n=new Map;for(const d of t)n.set(d.id,0);const i=new Set,o=[];for(const d of r){if(!s.has(d.from)||!s.has(d.to)||d.from===d.to)continue;const f=[d.from,d.to].sort().join("→");i.has(f)||(i.add(f),o.push(d),n.set(d.from,n.get(d.from)+1),n.set(d.to,n.get(d.to)+1))}let c=((m=t[0])==null?void 0:m.id)??"";for(const d of t)(n.get(d.id)??0)>(n.get(c)??0)&&(c=d.id);const l=new Map;for(const d of a)for(const f of d.nodeIds)s.has(f)&&!l.has(f)&&l.set(f,d.id);const g=d=>{const f=ie(d.label,d.id===c||(n.get(d.id)??0)>=4);return{id:d.id,width:Math.ceil(f.width),height:Math.ceil(f.height)}},w=[];for(const d of a){const f=d.nodeIds.filter(N=>l.get(N)===d.id&&s.has(N));f.length!==0&&w.push({id:`g:${d.id}`,layoutOptions:{"elk.padding":`[top=${W},left=14,bottom=12,right=14]`},children:f.map(N=>g(t.find(p=>p.id===N)))})}for(const d of t)l.has(d.id)||w.push(g(d));return{id:"root",layoutOptions:{"elk.algorithm":"layered","elk.direction":"DOWN","elk.edgeRouting":"ORTHOGONAL","elk.hierarchyHandling":"INCLUDE_CHILDREN","elk.spacing.nodeNode":"34","elk.spacing.edgeNode":"26","elk.spacing.componentComponent":"48","elk.layered.spacing.nodeNodeBetweenLayers":"56"},children:w,edges:o.map((d,f)=>({id:`e${f}`,sources:[d.from],targets:[d.to]}))}}function Te(t){if(t.length===0)return{x:0,y:0};if(t.length===1)return t[0];const r=[];let a=0;for(let n=1;n<t.length;n++){const i=Math.hypot(t[n].x-t[n-1].x,t[n].y-t[n-1].y);r.push(i),a+=i}let s=a/2;for(let n=0;n<r.length;n++){if(s<=r[n]||n===r.length-1){const i=r[n]===0?0:s/r[n];return{x:t[n].x+(t[n+1].x-t[n].x)*i,y:t[n].y+(t[n+1].y-t[n].y)*i}}s-=r[n]}return t[t.length-1]}function Le(t,r,a,s,n,i){var b;const o=new Map(r.map(u=>[u.id,u])),c=new Map;s.forEach((u,x)=>c.set(u.id,x%5));const l=new Map(s.map(u=>[u.id,u])),g=new Map;for(const u of s)for(const x of u.nodeIds)g.has(x)||g.set(x,u.id);const w=[],m=[],d=[],f=new Map([["root",{x:0,y:0}]]),N=[],p=(u,x,y,v)=>{var z;for(const C of u.children??[]){const $=x+(C.x??0),M=y+(C.y??0);if((z=C.children)!=null&&z.length){const k=C.id.startsWith("g:")?C.id.slice(2):C.id,E=l.get(k);m.push({id:k,label:(E==null?void 0:E.label)??"分组",x:$,y:M,w:C.width??0,h:C.height??0,colorIdx:c.get(k)??0}),f.set(C.id,{x:$,y:M}),p(C,$,M,k)}else{const k=o.get(C.id);if(!k)continue;const E=ie(k.label,k.id===i),I=g.get(k.id)??null;w.push({id:k.id,x:$,y:M,w:C.width??Math.ceil(E.width),h:C.height??Math.ceil(E.height),lines:E.lines,hub:k.id===i,groupId:v,colorIdx:I!=null?c.get(I)??0:-1})}}for(const C of u.edges??[])N.push({e:C,fallback:{x,y}})};p(t,0,0,null);for(const{e:u,fallback:x}of N){const y=(b=u.sections)==null?void 0:b[0];if(!y)continue;const v=(u.container!=null?f.get(u.container):void 0)??x,z=[y.startPoint,...y.bendPoints??[],y.endPoint].map(M=>({x:M.x+v.x,y:M.y+v.y})),C=Number(u.id.slice(1)),$=a[C];$&&d.push({from:$.from,to:$.to,label:$.label,pts:z,labelPt:$.label?Te(z):null})}return{width:Math.ceil(t.width??0),height:Math.ceil(t.height??0),nodes:w,groups:m,edges:d,hubId:i,groupsFallback:n}}let ae=null;function _e(){return ae??(ae=J(()=>import("./elk.bundled-DP5Rghza.js").then(t=>t.e),__vite__mapDeps([0,1,2,3]),import.meta.url).then(t=>{const r=t,a=r.default??r;return new a})),ae}async function qe(t,r,a){const s=ze(t,r,a),n=Ie(t,r,s.groups),i=Re(t,r),c=await(await _e()).layout(n);return Le(c,t,r,s.groups,s.fallback,i)}function Re(t,r){var o;const a=new Set(t.map(c=>c.id)),s=new Map;for(const c of t)s.set(c.id,0);const n=new Set;for(const c of r){if(!a.has(c.from)||!a.has(c.to)||c.from===c.to)continue;const l=[c.from,c.to].sort().join("→");n.has(l)||(n.add(l),s.set(c.from,s.get(c.from)+1),s.set(c.to,s.get(c.to)+1))}let i=((o=t[0])==null?void 0:o.id)??"";for(const c of t)(s.get(c.id)??0)>(s.get(i)??0)&&(i=c.id);return i}const A=.4,V=2.5,P=.2;function Oe(t){return t.map((r,a)=>`${a===0?"M":"L"} ${r.x.toFixed(1)} ${r.y.toFixed(1)}`).join(" ")}function X({layout:t}){return e.jsxs("svg",{width:t.width,height:t.height,viewBox:`0 0 ${t.width} ${t.height}`,style:{display:"block"},"data-testid":"conceptmap-svg",children:[e.jsx("defs",{children:e.jsx("marker",{id:"cm-arrow",viewBox:"0 0 10 10",refX:9,refY:5,markerWidth:6.5,markerHeight:6.5,orient:"auto-start-reverse",children:e.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-ink-faint"})})}),t.groups.map((r,a)=>e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${a*60}ms`},children:[e.jsx("rect",{x:r.x,y:r.y,width:r.w,height:r.h,rx:14,className:"cm-group-box",style:{fill:`var(--cm-c${r.colorIdx}-fill)`,stroke:`var(--cm-c${r.colorIdx}-line)`}}),e.jsx("rect",{x:r.x,y:r.y,width:r.w,height:W,rx:14,className:"cm-group-head",style:{fill:`var(--cm-c${r.colorIdx}-line)`}}),e.jsx("rect",{x:r.x,y:r.y+W/2,width:r.w,height:W/2,className:"cm-group-head",style:{fill:`var(--cm-c${r.colorIdx}-line)`}}),e.jsx("text",{x:r.x+14,y:r.y+22,fontSize:12,fontWeight:600,fill:`var(--cm-c${r.colorIdx}-line)`,"data-testid":"conceptmap-group-label",children:r.label})]},`g-${r.id}`)),t.edges.map((r,a)=>{const s=r.label?{width:T(r.label,12)+16,height:19}:null;return e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${(t.groups.length+1)*60+a*30}ms`},children:[e.jsx("path",{d:Oe(r.pts),className:"fill-none stroke-ink-faint/80",strokeWidth:1.6,markerEnd:"url(#cm-arrow)"}),r.label&&s&&r.labelPt&&e.jsxs("g",{children:[e.jsx("rect",{x:r.labelPt.x-s.width/2,y:r.labelPt.y-s.height/2,width:s.width,height:s.height,rx:s.height/2,className:"fill-surface-0/95 stroke-[var(--border-faint)]",strokeWidth:1}),e.jsx("text",{x:r.labelPt.x,y:r.labelPt.y+3.5,textAnchor:"middle",fontSize:12,className:"fill-ink-muted font-medium",style:{paintOrder:"stroke"},stroke:"var(--surface-0)",strokeWidth:3,children:r.label})]})]},`e-${a}`)}),t.nodes.map((r,a)=>{const s=r.colorIdx>=0?`var(--cm-c${r.colorIdx}-fill)`:"var(--surface-3)",n=r.colorIdx>=0?`var(--cm-c${r.colorIdx}-line)`:"var(--border)",i=r.hub?14:13;return e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${(t.groups.length+2)*60+a*35}ms`},children:[e.jsx("rect",{x:r.x,y:r.y,width:r.w,height:r.h,rx:r.hub?12:10,fill:s,stroke:n,strokeWidth:r.hub?1.8:1.4}),r.lines.map((o,c)=>e.jsx("text",{x:r.x+r.w/2,y:r.y+r.h/2+(c-(r.lines.length-1)/2)*17+4.5,textAnchor:"middle",fontSize:i,className:r.hub?"fill-ink-strong font-bold":"fill-ink",children:o},c))]},r.id)})]})}function Ae({data:t,variant:r="card"}){const a=t,s=L(),n=h.useMemo(()=>JSON.stringify({n:a.nodes,e:a.edges,g:a.groups??null}),[a.nodes,a.edges,a.groups]),[i,o]=h.useState(null);h.useEffect(()=>{let b=!0;return o(null),qe(a.nodes,a.edges,a.groups??null).then(u=>{b&&o(u)}).catch(()=>{}),()=>{b=!1}},[n]);const[c,l]=h.useState(1),[g,w]=h.useState(!1),m=h.useRef(null);h.useEffect(()=>{const b=m.current;if(!b||!i)return;const u=()=>{const y=(b.clientWidth-16)/i.width;y<1&&l(Math.max(A,+y.toFixed(2)))};u();const x=new ResizeObserver(u);return x.observe(b),()=>x.disconnect()},[i==null?void 0:i.width,i]);const d=h.useCallback(()=>l(b=>Math.min(V,+(b+P).toFixed(2))),[]),f=h.useCallback(()=>l(b=>Math.max(A,+(b-P).toFixed(2))),[]),N=h.useCallback(()=>l(1),[]),p=h.useCallback(b=>{if(!b.ctrlKey&&!b.metaKey)return;b.preventDefault();const u=b.deltaY>0?-P:P;l(x=>Math.min(V,Math.max(A,+(x+u).toFixed(2))))},[]);return r==="canvas"?e.jsx("div",{"data-testid":"conceptmap-canvas-content",children:i?e.jsx(X,{layout:i}):e.jsx("div",{style:{minWidth:320,minHeight:160}})}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-concept-map",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3 gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx(he,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:a.title})]}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-1","data-testid":"conceptmap-zoom-controls",children:[e.jsx("button",{onClick:f,disabled:c<=A,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:s("artifact.zoomOut"),children:"−"}),e.jsxs("button",{onClick:N,className:"px-1.5 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 text-caption font-bold tabular-nums",title:s("artifact.zoomReset"),children:[Math.round(c*100),"%"]}),e.jsx("button",{onClick:d,disabled:c>=V,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:s("artifact.zoomIn"),children:"+"})]}),e.jsx("button",{onClick:()=>w(!0),"data-testid":"conceptmap-expand","aria-label":s("artifact.viewer.open"),"data-tooltip":s("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center",children:e.jsx(H,{className:"w-3.5 h-3.5"})})]})]}),e.jsx("div",{ref:m,onClick:()=>w(!0),onWheel:p,className:"bg-surface-0/40 rounded-lg p-2 overflow-auto min-h-[160px] max-h-[500px] select-none",style:{touchAction:"pan-x pan-y"},"data-testid":"conceptmap-render-area","data-noswipe":"",children:i?e.jsx("div",{style:{width:i.width*c,height:i.height*c,margin:"0 auto"},children:e.jsx("div",{style:{transform:`scale(${c})`,transformOrigin:"top left",width:i.width,height:i.height},children:e.jsx(X,{layout:i})})}):e.jsx("div",{className:"h-[152px] flex items-center justify-center text-caption text-ink-muted","data-testid":"conceptmap-loading",children:"…"})}),e.jsx("div",{className:"mt-1.5 flex items-center justify-between text-caption text-ink-muted",children:e.jsx("span",{children:s("artifact.conceptmap.stats",{nodes:a.nodes.length,edges:a.edges.length})})}),a.warnings&&a.warnings.length>0&&e.jsxs("div",{className:"mt-1 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(R,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:a.warnings.join("; ")})]}),g&&e.jsx(K,{title:a.title,onClose:()=>w(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(F,{testid:"conceptmap-modal-stage",children:i?e.jsx(X,{layout:i}):e.jsx("div",{className:"min-w-[320px] min-h-[160px]"})})})})]})}function Pe(t,r){const{correct:a,total:s}=t,n=s>0&&a===s,i=s>0&&a<s,o=r!=null&&r>=fe,c=r!=null&&r>=xe;return i?[{id:"explain-wrong"},{id:"retry"}]:n&&o?[{id:"next-topic"},{id:"go-deeper"}]:n&&c?[{id:"mark-mastered",advancesMastery:!0},{id:"next-topic"},{id:"go-deeper"}]:[{id:"go-deeper"},{id:"retry"}]}const Be="ls-quiz-progress:";function We(t){const r=t.questions.map(s=>`${s.prompt}|${(s.options??[]).join("/")}#${s.answer??""}`).join(`
|
|
18
|
-
`);let a=2166136261;for(let s=0;s<r.length;s++)a^=r.charCodeAt(s),a=Math.imul(a,16777619);return`${Be}${(a>>>0).toString(36)}`}function De(t){var r,a;try{const s=localStorage.getItem(t);if(!s)return null;const n=JSON.parse(s);return typeof(n==null?void 0:n.current)=="number"&&n.current>=0&&typeof((r=n==null?void 0:n.score)==null?void 0:r.correct)=="number"&&typeof((a=n==null?void 0:n.score)==null?void 0:a.total)=="number"?n:null}catch{return null}}function He(t,r){try{localStorage.setItem(t,JSON.stringify(r))}catch{}}const Fe={"explain-wrong":{icon:Ce,labelKey:"quiz.action.explainWrong",message:"我刚才有题答错了,帮我讲讲为什么错、正确的思路是什么。"},retry:{icon:Ne,labelKey:"quiz.action.retry",message:"再来一组类似的题巩固一下。"},"go-deeper":{icon:be,labelKey:"quiz.action.goDeeper",message:"这组我答得不错,帮我深入讲讲背后的原理和容易混淆的地方。"},"mark-mastered":{icon:ge,labelKey:"quiz.action.markMastered",message:"这课我觉得掌握了,帮我确认一下——出个综合题检验,通过了就标记为掌握。"},"next-topic":{icon:ve,labelKey:"quiz.action.nextTopic",message:"进入下一个知识点。"}};function Ke({data:t,onAnswered:r,quizMastery:a,onPickAction:s,onQuizCompleted:n}){const i=t,o=L(),c=h.useMemo(()=>We(i),[i]),l=h.useMemo(()=>De(c),[c]),[g,w]=h.useState((l==null?void 0:l.current)??0),[m,d]=h.useState(null),[f,N]=h.useState(!1),[p,b]=h.useState((l==null?void 0:l.score)??{correct:0,total:0}),u=h.useRef([]);h.useEffect(()=>{He(c,{current:g,score:p})},[c,g,p]);const[x,y]=h.useState(!1);if(g>=i.questions.length){const M=!!s&&!n;if(n)return e.jsxs("div",{className:"surface-card p-4 text-center","data-testid":"artifact-quiz-done",children:[e.jsx("div",{className:"text-2xl mb-2",children:p.correct===p.total?"🎉":"📚"}),e.jsx("div",{className:"text-body font-bold text-ink",children:o("quiz.scoreSummary",{correct:p.correct,total:p.total})}),x?e.jsx("div",{className:"text-label text-ink-muted mt-1","data-testid":"quiz-hook-sent",children:o("quiz.hook.sent")}):e.jsx("button",{onClick:()=>{y(!0),n({title:i.title??"",correct:p.correct,total:p.total,detail:[...u.current]})},"data-testid":"quiz-hook-finish",className:"btn-3d-brand mt-3 px-5 py-2 text-body",children:o("quiz.hook.finish")})]});const k=M?Pe(p,a??null):[];return e.jsxs("div",{className:"surface-card p-4 text-center","data-testid":"artifact-quiz-done",children:[e.jsx("div",{className:"text-2xl mb-2",children:p.correct===p.total?"🎉":"📚"}),e.jsx("div",{className:"text-body font-bold text-ink",children:o("quiz.scoreSummary",{correct:p.correct,total:p.total})}),e.jsx("div",{className:"text-label text-ink-muted mt-1",children:p.correct===p.total?o("quiz.allCorrectHint"):o("quiz.tryAgainHint")}),k.length>0&&e.jsxs("div",{className:"mt-3 space-y-2 text-left","data-testid":"quiz-next-actions",children:[e.jsx("div",{className:"text-label text-ink-muted",children:o("quiz.action.nextPrompt")}),k.map((E,I)=>{const j=Fe[E.id],S=j.icon;return e.jsxs("button",{onClick:()=>s==null?void 0:s(j.message),"data-testid":`quiz-action-${E.id}`,className:`${I===0?"btn-3d-brand":"btn-3d-neutral"} w-full py-2 text-body flex items-center justify-center gap-1.5`,children:[e.jsx(S,{className:"w-4 h-4"}),o(j.labelKey)]},E.id)})]})]})}const v=i.questions[g],z=f&&m===v.answer,C=()=>{if(m===null)return;N(!0);const M=m===v.answer;b(k=>({correct:k.correct+(M?1:0),total:k.total+1})),r==null||r(v,m,M),u.current.push({prompt:v.prompt,chosen:v.options[m]??"?",answerText:v.options[v.answer]??"?",correct:M}),de(M?"correct":"wrong")},$=()=>{g===i.questions.length-1&&n&&!x&&(y(!0),n({title:i.title??"",correct:p.correct,total:p.total,detail:[...u.current]})),w(M=>M+1),d(null),N(!1)};return e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-quiz",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pe,{className:"w-4 h-4 text-brand"}),e.jsx("span",{className:"text-label font-bold text-brand",children:o("quiz.questionProgress",{cur:g+1,total:i.questions.length})})]}),e.jsx("span",{className:"text-label text-ink-muted",children:o("quiz.answeredCorrect",{n:p.correct})})]}),e.jsx("div",{className:"text-body text-ink font-medium mb-3 leading-relaxed",children:v.prompt}),e.jsx("div",{className:"space-y-2 mb-3",children:v.options.map((M,k)=>{const E=m===k,I=f&&k===v.answer,j=f&&E&&!I;return e.jsxs("button",{onClick:()=>!f&&d(k),disabled:f,"data-testid":`quiz-option-${k}`,className:`w-full text-left text-body p-2.5 rounded-lg border-2 font-medium transition-colors ${I?"border-brand bg-brand/10 text-brand animate-answer-correct":j?"border-warning bg-warning/10 text-warning animate-answer-wrong":E?"border-accent bg-accent/10 text-accent":"border-[var(--border)] text-ink-muted hover:border-[var(--border)]"} ${f?"cursor-default":"cursor-pointer"}`,children:[e.jsx("span",{className:"font-bold mr-2",children:String.fromCharCode(65+k)}),M,I&&e.jsx("span",{className:"float-right",children:e.jsx(U,{className:"w-4 h-4 inline-block"})}),j&&e.jsx("span",{className:"float-right",children:e.jsx(Y,{className:"w-4 h-4 inline-block"})})]},k)})}),f&&e.jsxs("div",{className:`rounded-lg p-3 mb-3 text-body leading-relaxed animate-artifact-render ${z?"bg-brand/10 border border-brand/30 text-brand":"bg-warning/10 border border-warning/30 text-warning"}`,"data-testid":"quiz-explanation",children:[e.jsxs("div",{className:"font-bold mb-1 flex items-center gap-1.5",children:[z?e.jsx(U,{className:"w-4 h-4"}):e.jsx(Y,{className:"w-4 h-4"}),e.jsx("span",{children:o(z?"quiz.correct":"quiz.wrong")})]}),e.jsx("div",{className:"text-ink-muted",children:v.explanation})]}),f?e.jsx("button",{onClick:$,"data-testid":"quiz-next",className:"btn-3d-brand w-full py-2 text-body",children:g+1<i.questions.length?o("exercise.next"):o("quiz.finish")}):e.jsx("button",{onClick:C,disabled:m===null,"data-testid":"quiz-submit",className:"btn-3d-brand w-full py-2 text-body disabled:opacity-40",children:o("exercise.submit")}),i.warnings&&i.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(R,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:i.warnings.join("; ")})]})]})}function oe({data:t,variant:r="card"}){const a=t,s=L(),[n,i]=h.useState(!1),o=e.jsxs("table",{className:"text-body",style:{width:"max-content",minWidth:"100%"},children:[e.jsx("thead",{children:e.jsx("tr",{className:"bg-surface-3/60",children:a.headers.map((c,l)=>e.jsx("th",{className:`px-3 py-2.5 text-left font-bold border-b border-[var(--border)] ${l===0?"text-ink-strong":"text-ink"}`,children:c},l))})}),e.jsx("tbody",{children:a.rows.map((c,l)=>e.jsx("tr",{className:l%2===0?"bg-surface-0/40":"",children:c.map((g,w)=>e.jsx("td",{className:`px-3 py-2.5 border-b border-[var(--border-faint)] align-top leading-relaxed ${w===0?"font-bold text-ink-strong whitespace-nowrap bg-surface-1/40":"text-ink-muted"}`,style:w===0?void 0:{maxWidth:260,overflowWrap:"anywhere"},children:g},w))},l))})]});return r==="canvas"?e.jsx("div",{className:"w-fit","data-testid":"comparetable-canvas-content",children:o}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-compare-table",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(we,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:a.title})]}),e.jsx("button",{onClick:()=>i(!0),"data-testid":"comparetable-expand","aria-label":s("artifact.viewer.open"),"data-tooltip":s("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center shrink-0",children:e.jsx(H,{className:"w-3.5 h-3.5"})})]}),e.jsx("div",{className:"overflow-x-auto rounded-lg border border-[var(--border-faint)]",onClick:()=>i(!0),style:{touchAction:"pan-x pan-y"},"data-noswipe":"",children:o}),a.warnings&&a.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(R,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:a.warnings.join("; ")})]}),n&&e.jsx(K,{title:a.title,onClose:()=>i(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(F,{testid:"comparetable-modal-stage",children:e.jsx("div",{className:"p-2 surface-card",children:e.jsx(oe,{data:t,variant:"canvas"})})})})})]})}function Ve(t){const r=t.split(`
|
|
19
|
-
`);for(let a=0;a<r.length;a++){const s=r[a]??"",n=s.trim();if(!(!n||n.startsWith("%%")))return/^flowchart-elk\b/i.test(n)?t:/^(flowchart|graph)\b/i.test(n)?(r[a]=s.replace(/^(\s*)(flowchart|graph)\b/i,"$1flowchart-elk"),r.join(`
|
|
20
|
-
`)):t}return t}let D=null;function Xe(){return D||(D=J(()=>import("./mermaid.core-BVbO1Vp8.js").then(t=>t.aW),__vite__mapDeps([4,5,1,2,6,7,8]),import.meta.url).then(async t=>{const r=t.default,{default:a}=await J(async()=>{const{default:s}=await import("./mermaid-layout-elk.core-KBAfwQxu.js").then(n=>n.m);return{default:s}},__vite__mapDeps([9,5,1,2,6]),import.meta.url);return r.registerLayoutLoaders(a),r.initialize({startOnLoad:!1,theme:"base",securityLevel:"loose",themeVariables:Ge(),flowchart:{useMaxWidth:!0,htmlLabels:!0,curve:"basis",nodeSpacing:42,rankSpacing:54,padding:10},sequence:{useMaxWidth:!0,boxMargin:8,noteMargin:8,messageMargin:32}}),r})),D}function Ge(){const t=(a,s)=>{if(typeof document>"u")return s;const n=getComputedStyle(document.documentElement).getPropertyValue(a).trim();return n?`rgb(${n})`:s};return{background:"transparent",fontFamily:typeof document<"u"&&getComputedStyle(document.body).fontFamily||"ui-sans-serif, system-ui, sans-serif",fontSize:"14px",primaryColor:t("--surface-3-rgb","rgb(42 43 46)"),primaryBorderColor:t("--border-rgb","rgb(37 38 41)"),primaryTextColor:t("--ink-strong-rgb","rgb(250 250 250)"),secondaryColor:t("--surface-2-rgb","rgb(32 33 36)"),secondaryBorderColor:t("--border-faint-rgb","rgb(26 26 29)"),secondaryTextColor:t("--ink-rgb","rgb(245 245 250)"),tertiaryColor:t("--surface-1-rgb","rgb(24 25 27)"),tertiaryBorderColor:t("--border-faint-rgb","rgb(26 26 29)"),tertiaryTextColor:t("--ink-rgb","rgb(245 245 250)"),lineColor:t("--ink-faint-rgb","rgb(117 117 126)"),textColor:t("--ink-rgb","rgb(245 245 250)"),edgeLabelBackground:t("--surface-0-rgb","rgb(12 13 15)"),clusterBkg:t("--surface-1-rgb","rgb(24 25 27)"),clusterBorder:t("--border-faint-rgb","rgb(26 26 29)"),nodeBorder:t("--border-rgb","rgb(37 38 41)"),mainBkg:t("--surface-3-rgb","rgb(42 43 46)"),nodeTextColor:t("--ink-rgb","rgb(245 245 250)"),arrowheadColor:t("--ink-faint-rgb","rgb(117 117 126)"),actorBkg:t("--surface-3-rgb","rgb(42 43 46)"),actorBorder:t("--border-rgb","rgb(37 38 41)"),actorTextColor:t("--ink-strong-rgb","rgb(250 250 250)"),activationBkgColor:t("--surface-3-rgb","rgb(42 43 46)"),activationBorderColor:t("--border-rgb","rgb(37 38 41)"),signalColor:t("--ink-rgb","rgb(245 245 250)"),signalTextColor:t("--ink-rgb","rgb(245 245 250)"),labelBoxBkgColor:t("--surface-2-rgb","rgb(32 33 36)"),labelBoxBorderColor:t("--border-rgb","rgb(37 38 41)"),labelTextColor:t("--ink-rgb","rgb(245 245 250)"),loopTextColor:t("--ink-strong-rgb","rgb(250 250 250)"),noteBkgColor:"rgb(255 200 0 / 0.12)",noteBorderColor:"rgb(255 200 0 / 0.4)",noteTextColor:t("--ink-rgb","rgb(245 245 250)")}}typeof window<"u"&&window.addEventListener("theme-changed",()=>{D=null});async function Ze(t,r){const a=await Xe(),s=Ve(r);try{await a.parse(s)}catch(i){throw new Error(`mermaid 语法校验失败: ${i instanceof Error?i.message:String(i)}`)}const{svg:n}=await a.render(t,s);if(n.includes('aria-roledescription="error"')||n.includes('class="error-text"')||n.includes("Syntax error"))throw new Error("mermaid 渲染失败(语法错误或节点 label 含未转义特殊字符)");return n}function se(t){let r=5381;for(let a=0;a<t.length;a++)r=(r<<5)+r+t.charCodeAt(a)>>>0;return r.toString(36)}const G=.3,Z=3,B=.2;function ce({data:t,variant:r="card"}){const a=t,s=L(),n={flowchart:s("artifact.diagram.flowchart"),sequence:s("artifact.diagram.sequence"),state:s("artifact.diagram.state")},i=h.useId().replace(/[:]/g,"_"),[o,c]=h.useState({status:"loading"}),[l,g]=h.useState(()=>{try{return sessionStorage.getItem(`mmdfix:${a.mermaid.length}:${se(a.mermaid)}`)??a.mermaid}catch{return a.mermaid}}),[w,m]=h.useState(!1),[d,f]=h.useState(!1),[N,p]=h.useState(0);h.useEffect(()=>{const j=()=>p(S=>S+1);return window.addEventListener("theme-changed",j),()=>window.removeEventListener("theme-changed",j)},[]);const[b,u]=h.useState(null),[x,y]=h.useState(1),[v,z]=h.useState(!1);h.useEffect(()=>{let j=!1;return c({status:"loading"}),u(null),Ze(`mmd-${i}`,l).then(S=>{if(!j&&(c({status:"rendered",svg:S}),l!==a.mermaid))try{sessionStorage.setItem(`mmdfix:${a.mermaid.length}:${se(a.mermaid)}`,l)}catch{}}).catch(S=>{j||(console.error("[MermaidArtifact] render failed:",S),c({status:"error",message:S instanceof Error?S.message:String(S)}))}),()=>{j=!0}},[l,i,N,a.mermaid]),h.useEffect(()=>{var j;o.status!=="error"||w||(m(!0),l===a.mermaid&&(j=window.api)!=null&&j.repairMermaidDiagram&&(f(!0),window.api.repairMermaidDiagram({mermaid:l,errorMessage:o.message,diagramType:a.diagramType}).then(S=>{S.ok&&S.mermaid.trim()&&g(S.mermaid)}).catch(()=>{}).finally(()=>f(!1))))},[o,w,l,a.mermaid,a.diagramType]);const C=`https://mermaid.live/edit#${encodeURIComponent(l)}`,$=h.useCallback(()=>y(j=>Math.min(Z,+(j+B).toFixed(2))),[]),M=h.useCallback(()=>y(j=>Math.max(G,+(j-B).toFixed(2))),[]),k=h.useCallback(()=>y(1),[]),E=h.useCallback(j=>{if(!j.ctrlKey&&!j.metaKey)return;j.preventDefault();const S=j.deltaY>0?-B:B;y(O=>Math.min(Z,Math.max(G,+(O+S).toFixed(2))))},[]),I=o.status==="rendered"?e.jsx("div",{ref:j=>{var S;if(j&&!b){const O=j.querySelector("svg");if(O){const ee=O.getBoundingClientRect(),_=(S=O.viewBox)==null?void 0:S.baseVal,te=_&&_.width?_.width:ee.width,re=_&&_.height?_.height:ee.height;te>0&&re>0&&u({width:te,height:re})}}},style:{width:(b==null?void 0:b.width)??void 0,height:(b==null?void 0:b.height)??void 0},dangerouslySetInnerHTML:{__html:o.svg},"data-testid":"mermaid-svg"}):null;return r==="canvas"?e.jsx("div",{"data-testid":"mermaid-canvas-content",children:I}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-mermaid",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3 gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx(Se,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:a.title}),e.jsx("span",{className:"text-caption font-bold px-1.5 py-0.5 rounded bg-accent/15 text-accent shrink-0",children:n[a.diagramType]??a.diagramType})]}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[o.status==="rendered"&&e.jsxs("div",{className:"flex items-center gap-1","data-testid":"mermaid-zoom-controls",children:[e.jsx("button",{onClick:M,disabled:x<=G,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-1 hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:s("artifact.zoomOut"),"data-testid":"mermaid-zoom-out",children:"−"}),e.jsxs("button",{onClick:k,className:"px-1.5 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-1 hover:bg-surface-3 text-caption font-bold tabular-nums",title:s("artifact.zoomReset"),"data-testid":"mermaid-zoom-reset",children:[Math.round(x*100),"%"]}),e.jsx("button",{onClick:$,disabled:x>=Z,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-1 hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:s("artifact.zoomIn"),"data-testid":"mermaid-zoom-in",children:"+"})]}),o.status==="rendered"&&e.jsx("button",{onClick:()=>z(!0),"data-testid":"mermaid-expand","aria-label":s("artifact.viewer.open"),"data-tooltip":s("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center",children:e.jsx(H,{className:"w-3.5 h-3.5"})})]}),e.jsx("button",{onClick:()=>window.open(C,"_blank"),className:"text-caption text-accent hover:underline font-bold shrink-0","data-testid":"mermaid-open-live",title:s("artifact.mermaid.openLive"),children:"mermaid.live ↗"})]}),e.jsxs("div",{onClick:()=>{o.status==="rendered"&&z(!0)},onWheel:E,className:"bg-surface-0/40 rounded-lg p-3 overflow-auto min-h-[120px] max-h-[500px] select-none",style:{touchAction:"pan-x pan-y"},"data-testid":"mermaid-render-area","data-noswipe":"",children:[o.status==="loading"&&e.jsxs("div",{className:"flex items-center gap-2 text-body text-ink-muted my-8 justify-center","data-testid":"mermaid-loading",children:[e.jsx("span",{className:"typing-dot w-1.5 h-1.5 bg-accent rounded-full inline-block"}),e.jsx("span",{children:s("artifact.mermaid.rendering")})]}),o.status==="rendered"&&e.jsx("div",{style:{width:b?b.width*x:"auto",height:b?b.height*x:"auto",margin:"0 auto"},children:e.jsx("div",{style:{transform:`scale(${x})`,transformOrigin:"top left"},children:I})}),o.status==="error"&&d&&e.jsxs("div",{className:"flex items-center gap-2 text-body text-ink-muted my-8 justify-center","data-testid":"mermaid-repairing",children:[e.jsx("span",{className:"typing-dot w-1.5 h-1.5 bg-accent rounded-full inline-block"}),e.jsx("span",{children:s("artifact.mermaid.repairing")})]}),o.status==="error"&&!d&&e.jsxs("div",{className:"w-full text-center my-4","data-testid":"mermaid-fallback",children:[e.jsxs("div",{className:"text-body text-warning mb-2 flex items-center justify-center gap-1.5",children:[e.jsx(R,{className:"w-4 h-4 shrink-0"}),e.jsx("span",{children:s("artifact.mermaid.renderFailed")})]}),e.jsx("pre",{className:"text-label bg-surface-1/60 rounded p-2 overflow-x-auto text-ink-muted font-mono text-left",children:l}),e.jsx("div",{className:"text-caption text-ink-muted mt-2",children:s("artifact.mermaid.errorPrefix",{msg:o.message})})]})]}),o.status==="rendered"&&e.jsx("div",{className:"mt-1.5 text-caption text-ink-muted flex items-center gap-2",children:e.jsx("span",{children:s("artifact.mermaid.hint")})}),v&&o.status==="rendered"&&e.jsx(K,{title:a.title,onClose:()=>z(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(F,{testid:"mermaid-modal-stage",children:e.jsx(ce,{data:t,variant:"canvas"})})})}),a.warnings&&a.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(R,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:a.warnings.join("; ")})]})]})}function le({data:t,variant:r="card"}){const a=t,s=L(),[n,i]=h.useState(null),[o,c]=h.useState(!1),l=h.useRef([]),g=h.useRef([]),w=a.code.split(`
|
|
21
|
-
`),[m,d]=h.useState(null);h.useEffect(()=>{let u=!0;return je(a.code,a.language).then(x=>{u&&x&&d(x)}),()=>{u=!1}},[a.code,a.language]);const f=u=>{if(n===null)return!1;const x=a.annotations[n];return x&&u>=x.lineStart&&u<=x.lineEnd},N=u=>{const x=n===u?null:u;if(i(x),x!==null){const y=a.annotations[x],v=(o?g:l).current[y.lineStart-1];v==null||v.scrollIntoView({behavior:"smooth",block:"center"})}},p=u=>e.jsx("div",{className:"bg-neutral-950 rounded-lg overflow-hidden border border-neutral-800 max-h-[420px] overflow-y-auto",children:e.jsx("pre",{className:"text-label font-mono leading-relaxed overflow-x-auto",children:e.jsx("code",{children:w.map((x,y)=>{const v=y+1;return e.jsxs("div",{ref:z=>{u.current[y]=z},className:`flex ${f(v)?"bg-brand/15":""}`,children:[e.jsx("span",{className:"select-none text-neutral-600 pr-3 pl-3 text-right w-10 shrink-0 border-r border-neutral-800 tabular-nums",children:v}),m&&m[y]!=null?e.jsx("span",{className:"pl-3 whitespace-pre text-neutral-200","data-testid":"walk-shiki-line",dangerouslySetInnerHTML:{__html:m[y]||" "}}):e.jsx("span",{className:"text-neutral-200 pl-3 whitespace-pre",children:x||" "})]},y)})})})}),b=e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-caption font-bold text-ink-muted",children:s("artifact.codewalk.sectionLabel")}),a.annotations.map((u,x)=>e.jsxs("button",{onClick:()=>N(x),"data-testid":`annotation-${x}`,className:`w-full text-left p-2.5 rounded-lg border transition-colors ${n===x?"border-brand bg-brand/10":"border-[var(--border-faint)] hover:border-[var(--border)]"}`,children:[e.jsx("div",{className:"text-caption font-bold text-brand mb-0.5",children:u.lineEnd!==u.lineStart?s("artifact.codewalk.lineRange",{a:u.lineStart,b:u.lineEnd}):s("artifact.codewalk.lineSingle",{n:u.lineStart})}),e.jsx("div",{className:"text-body text-ink-muted leading-relaxed",children:u.note})]},x))]});return r==="canvas"?e.jsx("div",{className:"w-fit","data-testid":"codewalk-canvas-content",children:p(g)}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-code-walkthrough",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(ye,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:a.title}),e.jsx("span",{className:"text-caption font-bold px-1.5 py-0.5 rounded bg-surface-3 text-ink-muted font-mono shrink-0",children:a.language})]}),e.jsx("button",{onClick:()=>c(!0),"data-testid":"codewalk-expand","aria-label":s("artifact.viewer.open"),"data-tooltip":s("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center shrink-0",children:e.jsx(H,{className:"w-3.5 h-3.5"})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-3",children:[e.jsx("div",{onClick:()=>{o||c(!0)},style:{touchAction:"pan-x pan-y"},"data-noswipe":"",children:p(l)}),b]}),a.warnings&&a.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(R,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:a.warnings.join("; ")})]}),o&&e.jsx(K,{title:a.title,onClose:()=>c(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(F,{testid:"codewalk-modal-stage",children:e.jsx(le,{data:t,variant:"canvas"})})})})]})}function Ye({data:t,onPickAction:r}){const a=t,s=L(),[n,i]=h.useState(null),o=c=>{n||(i(c.id),r==null||r(`${s("guess.pickedPrefix")}${c.label}`))};return e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-guess",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(Me,{className:"w-4 h-4 text-accent"}),e.jsx("span",{className:"text-label font-bold text-accent",children:s("guess.header")})]}),e.jsx("div",{className:"text-body text-ink font-medium mb-3 leading-relaxed",children:a.prompt}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2 mb-2",children:a.options.map(c=>{const l=n===c.id,g=n!==null;return e.jsxs("button",{onClick:()=>o(c),disabled:g,"data-testid":`guess-option-${c.id}`,className:`text-body p-2.5 rounded-lg border-2 font-medium transition-colors text-left flex items-center justify-between gap-2 ${l?"border-accent bg-accent/10 text-accent":g?"border-[var(--border-faint)] text-ink-faint cursor-default":"border-[var(--border)] text-ink-muted hover:border-accent hover:text-accent cursor-pointer"}`,children:[e.jsx("span",{children:c.label}),l&&e.jsx(U,{className:"w-4 h-4 shrink-0"})]},c.id)})}),n&&e.jsx("div",{className:"text-label text-ink-muted mt-1","data-testid":"guess-picked-hint",children:s("guess.waitReveal")}),a.warnings&&a.warnings.length>0&&e.jsx("div",{className:"mt-2 text-caption text-warning","data-testid":"artifact-warnings",children:a.warnings.join("; ")})]})}function rt({data:t,onQuizAnswered:r,quizMastery:a,onPickAction:s,onQuizCompleted:n,variant:i="card"}){const o=t;if(!o||!o.artifactType)return e.jsx(ne,{data:t});switch(o.artifactType){case"concept_map":return e.jsx(Ae,{data:t,variant:i});case"quiz":return e.jsx(Ke,{data:t,onAnswered:r,quizMastery:a,onPickAction:s,onQuizCompleted:n});case"compare_table":return e.jsx(oe,{data:t,variant:i});case"diagram":return e.jsx(ce,{data:t,variant:i});case"code_walkthrough":return e.jsx(le,{data:t,variant:i});case"guess":return e.jsx(Ye,{data:t,onPickAction:s});default:return e.jsx(ne,{data:t})}}function ne({data:t}){var a;const r=L();return e.jsxs("div",{className:"surface-card p-4 text-body text-ink-muted","data-testid":"artifact-unknown",children:[e.jsxs("div",{className:"font-bold mb-1 flex items-center gap-1.5",children:[e.jsx(ke,{className:"w-4 h-4"}),r("artifact.unknownHeader")]}),e.jsx("pre",{className:"text-caption overflow-x-auto text-ink-muted",children:(a=JSON.stringify(t,null,2))==null?void 0:a.slice(0,200)})]})}export{rt as ArtifactRenderer,le as CodeWalkthroughArtifact,oe as CompareTableArtifact,Ae as ConceptMapArtifact,Ye as GuessArtifact,ce as MermaidArtifact,Ke as QuizArtifact};
|