collabmd 0.1.54 → 0.1.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/collabmd.js +19 -38
- package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-CW5HP9uy.js +1 -0
- package/dist/client/assets/{Middleware-DUgFSleI.js → Middleware-DbxtuTyG.js} +1 -1
- package/dist/client/assets/{abnfDiagram-VCTEODGH-DxNxad6-.js → abnfDiagram-VCTEODGH-DY5tILUg.js} +1 -1
- package/dist/client/assets/{abnfDiagram-O67JEVCF-Dwt6a0Ds.js → abnfDiagram-WEYOIA3C-BqtDVimc.js} +1 -1
- package/dist/client/assets/api-client-utils-DkW9xiiw.js +1 -0
- package/dist/client/assets/{ar-SA-5WIASEJP-Di7OimCN.js → ar-SA-5WIASEJP-DbGUC-Fx.js} +1 -1
- package/dist/client/assets/{arc-DgcGdgmL.js → arc-Y1ARJVZ4.js} +1 -1
- package/dist/client/assets/architecture-7GRP2DOG-DndzY1Hb.js +1 -0
- package/dist/client/assets/architecture-WOLXFQ4H-tER6YKVA.js +1 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-C1uvg5id.js → architectureDiagram-5GKGNRK7-D_ZiDWLO.js} +2 -2
- package/dist/client/assets/{architectureDiagram-NJMV4G6O-D5CGiX3G.js → architectureDiagram-ZHVYKT53-CCmYbVDm.js} +3 -3
- package/dist/client/assets/{az-AZ-V5EUQD6C-C19OGTT_.js → az-AZ-V5EUQD6C-qK0euR1T.js} +1 -1
- package/dist/client/assets/babel-BaOs8qJH.js +16 -0
- package/dist/client/assets/base-CaIEJUF9.css +1 -0
- package/dist/client/assets/{bg-BG-EXASCMTR-BIt0xWyb.js → bg-BG-EXASCMTR-DHvN8nO_.js} +1 -1
- package/dist/client/assets/{blockDiagram-I7D4REHJ-B2YonsoG.js → blockDiagram-I7D4REHJ-CeN7xDSG.js} +2 -2
- package/dist/client/assets/{blockDiagram-BEXU5L5S-BgTM0var.js → blockDiagram-RJAE7QA3-CsHpm8AL.js} +3 -3
- package/dist/client/assets/{bn-BD-U4SYNFCO-CdNaPy4Q.js → bn-BD-U4SYNFCO-BKKqqvJ1.js} +1 -1
- package/dist/client/assets/{bn-IN-HKDJIITE-CdNaPy4Q.js → bn-IN-HKDJIITE-BKKqqvJ1.js} +1 -1
- package/dist/client/assets/{browser-BKLM0ThC-BCLQGPD6-K2seJgRL.js → browser-BKLM0ThC-BCLQGPD6-B6uxmOe1.js} +1 -1
- package/dist/client/assets/{c4Diagram-7LVT6UL2-r4IwomZm.js → c4Diagram-7LVT6UL2-Bezmsa8k.js} +1 -1
- package/dist/client/assets/{c4Diagram-YGBWAQC7-_xZPrNkB.js → c4Diagram-XDPPPE54-COKPOr_O.js} +2 -2
- package/dist/client/assets/{ca-ES-2KGUU5XB-C9t-c0cH.js → ca-ES-2KGUU5XB-CYClUOgC.js} +1 -1
- package/dist/client/assets/canvasEditor-BJkwGzO1.css +1 -0
- package/dist/client/assets/canvasEditor-CWbY0cMf.js +1 -0
- package/dist/client/assets/channel-COwKkfba.js +1 -0
- package/dist/client/assets/{chunk-6AZGARVD--pTGpDnx.js → chunk-24IY7LWP-DUl0BbtV.js} +1 -1
- package/dist/client/assets/chunk-2E4U76K2-CPmbCsOa.js +1 -0
- package/dist/client/assets/{chunk-GTNCS2PH-ChgkzEIi.js → chunk-2E7WHVMD-CnfGYKwC.js} +3 -3
- package/dist/client/assets/chunk-2ZTRR5NV-CowhtTwB.js +2 -0
- package/dist/client/assets/{chunk-5V3GS4D5-B5uC2oxu.js → chunk-3M4EKCLJ-BeG5ZU4c.js} +1 -1
- package/dist/client/assets/{chunk-3Z5EZCMW-BAnA6eQ7.js → chunk-3Z5EZCMW-DQ1fwqmG.js} +1 -1
- package/dist/client/assets/{chunk-NETBCI7D-CmUwDWUZ.js → chunk-4EMNKR2T-B97vb0rp.js} +1 -1
- package/dist/client/assets/{chunk-4HAMMTFA-q0ldNVvr.js → chunk-4HAMMTFA-B3s0XvP_.js} +1 -1
- package/dist/client/assets/{chunk-6K3QC6MW-DGVRzL6v.js → chunk-4S7OKTRW-DIpJGzf1.js} +1 -1
- package/dist/client/assets/{chunk-ICYGCRZG-D97UeqJs.js → chunk-53FOQ5SW-C3TQxbLr.js} +1 -1
- package/dist/client/assets/{chunk-GWA4HPMP-CGmv2yIq.js → chunk-55XCU76K-CZBj2eVM.js} +1 -1
- package/dist/client/assets/{chunk-5V3GS4D5-BR7kgIgJ.js → chunk-5V3GS4D5-CD51GF-u.js} +1 -1
- package/dist/client/assets/{chunk-6AZGARVD-CnZDr4Cj.js → chunk-6AZGARVD-BD9EvFmU.js} +1 -1
- package/dist/client/assets/{chunk-6EIED4P4-Bp8dpTvX.js → chunk-6EIED4P4-CZFyd-Ct.js} +1 -1
- package/dist/client/assets/{chunk-6K3QC6MW-JnuvEGV4.js → chunk-6K3QC6MW-BJWmnHdF.js} +1 -1
- package/dist/client/assets/{chunk-6TQVIW2G-BSj0l_pu.js → chunk-6TQVIW2G-DaBcb454.js} +1 -1
- package/dist/client/assets/chunk-747NJXEK-D08Z0c6r.js +2 -0
- package/dist/client/assets/{chunk-75Z2AOVW-DitkSoSG.js → chunk-75Z2AOVW-DLVzmKuL.js} +1 -1
- package/dist/client/assets/chunk-7S6XSTFO-CXBGoJ7Z.js +2 -0
- package/dist/client/assets/{chunk-MBY4JIJT-DTJ4UcAm.js → chunk-AQDTSKZB-BpOOnFv4.js} +3 -3
- package/dist/client/assets/chunk-BP2KR52E-yBDJ_0ib.js +2 -0
- package/dist/client/assets/{chunk-CLGD4ZFX-BfYJtJm1.js → chunk-CLGD4ZFX-BBNA_mHW.js} +1 -1
- package/dist/client/assets/chunk-DSNLSHJZ-DkAaVKkN.js +127 -0
- package/dist/client/assets/{chunk-DU6HZSFF-CWlP1Dk_.js → chunk-DU6HZSFF-Dz0Q7VKE.js} +2 -2
- package/dist/client/assets/{chunk-GNY47TPC-CTrH5O5R.js → chunk-EJLWFMJV-CxNRZ5Ez.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-DPcsPcEs.js → chunk-F27PBJKO-BziR3pku.js} +1 -1
- package/dist/client/assets/chunk-F6S3BTY2-Dw9FK6Vq.js +2 -0
- package/dist/client/assets/chunk-FBWCRPUE-PUG6Mjdg.js +12 -0
- package/dist/client/assets/{chunk-FOHPRMQF-Dmmo5Kak.js → chunk-FOHPRMQF-COOliuUh.js} +8 -8
- package/dist/client/assets/{chunk-GMAD6QVW-Bgk8qnty.js → chunk-GMAD6QVW-B6zS4VJx.js} +1 -1
- package/dist/client/assets/{chunk-GVQU2GXP-CQ8cl-Uu.js → chunk-GVQU2GXP-BA8Vt-19.js} +1 -1
- package/dist/client/assets/chunk-HAGFOTED-miSk6HXc.js +62 -0
- package/dist/client/assets/chunk-HNE4Q36P-BTbX-t8_.js +1 -0
- package/dist/client/assets/{chunk-I5DQTOEV-B98XA8VK.js → chunk-I5DQTOEV-qgbr-MbI.js} +1 -1
- package/dist/client/assets/{chunk-ICYGCRZG-odvlDZyA.js → chunk-ICYGCRZG-Dv6Hl9ds.js} +1 -1
- package/dist/client/assets/{chunk-IH6LHLGP-BNevEHZK.js → chunk-IH6LHLGP-DCTJcBuf.js} +1 -1
- package/dist/client/assets/{chunk-IMKFNOWR-CBqxfpcP.js → chunk-IMKFNOWR-DN2Mwt1n.js} +1 -1
- package/dist/client/assets/{chunk-KI3K4JFJ-D5XCPRZv.js → chunk-KI3K4JFJ-Hb_e7W2X.js} +1 -1
- package/dist/client/assets/{chunk-IH6LHLGP-CvXe34hB.js → chunk-KPI5JJXK-BoDlpdVM.js} +1 -1
- package/dist/client/assets/{chunk-L3NEJ4N5-BflzkdTI.js → chunk-L3NEJ4N5-M6XySblQ.js} +1 -1
- package/dist/client/assets/{chunk-LNGE3PJU-5nWSl6jJ.js → chunk-LNGE3PJU-CxdyKuxt.js} +4 -4
- package/dist/client/assets/{chunk-LNGE3PJU-5-SxdO55.js → chunk-LNGE3PJU-DRjopGY8.js} +4 -4
- package/dist/client/assets/chunk-NGNAAXSQ-Bw6tHVuc.js +136 -0
- package/dist/client/assets/chunk-NQOKRVIF-B_sOt25u.js +213 -0
- package/dist/client/assets/chunk-NZIJZ2A6-CmC5bqJr.js +42 -0
- package/dist/client/assets/{chunk-UY3FDG6J-DqSM_0FB.js → chunk-OD3NTWWA-D7wmrqo1.js} +1 -1
- package/dist/client/assets/{chunk-OSK3NFVY-DqeKV_pg.js → chunk-OSK3NFVY-DJyrXrea.js} +1 -1
- package/dist/client/assets/chunk-OUJLGHUK-DIWqBvm0.js +2 -0
- package/dist/client/assets/chunk-OYAV6JZA-kXOh375k.js +1 -0
- package/dist/client/assets/{chunk-P2QGCYS3-BA--DhpW.js → chunk-P2QGCYS3-DejntbnV.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-V_NEc45n.js → chunk-POPQ4Y6H-D3VayDzJ.js} +1 -1
- package/dist/client/assets/{chunk-PWAF6VOD-D_kLse-N.js → chunk-PWAF6VOD-CmxcnYFJ.js} +1 -1
- package/dist/client/assets/{chunk-3Z5EZCMW-Yx4Q5AcN.js → chunk-QNH66VMT-De2vWRUE.js} +1 -1
- package/dist/client/assets/{chunk-SHT3W25Y-YM3S-A_M.js → chunk-SHT3W25Y-SAi_Zk5G.js} +1 -1
- package/dist/client/assets/{chunk-SRAX5OIU-KFQikY-4.js → chunk-SRAX5OIU-wzfotNc-.js} +1 -1
- package/dist/client/assets/{chunk-SVP7TREG-DdNhDOmW.js → chunk-SVP7TREG-BtK2J628.js} +1 -1
- package/dist/client/assets/{chunk-TICWLB2K-BGGgCr4x.js → chunk-TICWLB2K-wmAorf_a.js} +1 -1
- package/dist/client/assets/{chunk-TLUHSLCS-DCZhIDYA.js → chunk-TLUHSLCS-DA3Sq1kc.js} +1 -1
- package/dist/client/assets/{chunk-6EIED4P4-DBVWq7Tz.js → chunk-TPMEZKFX-CarinQak.js} +1 -1
- package/dist/client/assets/{chunk-7PRAP22T-9uTvtc_-.js → chunk-UHW7PFBP-ClLfHtva.js} +1 -1
- package/dist/client/assets/{chunk-UY3FDG6J-QT-rkt0y.js → chunk-UY3FDG6J-BT57Gakr.js} +1 -1
- package/dist/client/assets/{chunk-6TQVIW2G-DgBX-Pv0.js → chunk-VPELOWWC-Dk0xIrB-.js} +1 -1
- package/dist/client/assets/{chunk-WEXAMYUT-DDlVNp8J.js → chunk-VQ5W62QI-CxUPWJRX.js} +1 -1
- package/dist/client/assets/{chunk-I5DQTOEV-aBZooNp1.js → chunk-VTWWFHGB-BZsdnDPL.js} +1 -1
- package/dist/client/assets/{chunk-KI3K4JFJ-FTtDwx3-.js → chunk-VZTHESGH-D6CHzqGr.js} +1 -1
- package/dist/client/assets/chunk-WQQL4CDK-BiuwKtd-.js +10 -0
- package/dist/client/assets/{chunk-X3CZISLH-DwWpRaN8.js → chunk-X3CZISLH-Bwnh_YJ7.js} +1 -1
- package/dist/client/assets/{chunk-X3CZISLH-BixgQztF.js → chunk-X3CZISLH-DayjKu55.js} +1 -1
- package/dist/client/assets/{chunk-XHIXRSVI-BSN7JlfK.js → chunk-XHIXRSVI-C0fC7dJN.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-C7hQHDmQ.js → chunk-XXDRQBXY-BxVnmMBx.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-CdRN9Akd.js → chunk-XXDRQBXY-DBb3y0NH.js} +1 -1
- package/dist/client/assets/{chunk-XHIXRSVI-DN_fEwws.js → chunk-YK26KJH5-ywVSJDLS.js} +1 -1
- package/dist/client/assets/{chunk-742MDFTN-D1nh6vNv.js → chunk-YZO67HFG-Bg5cZX5R.js} +1 -1
- package/dist/client/assets/{chunk-Z5NKEFVG-q6fHH75m.js → chunk-Z5NKEFVG-BPqw37Lj.js} +3 -3
- package/dist/client/assets/{chunk-5DYCD2WN-BKWCKnK-.js → chunk-ZAUX2LTX-Yte1ozQc.js} +1 -1
- package/dist/client/assets/chunk-ZCHMQSOR-B3FSat8d.js +1 -0
- package/dist/client/assets/chunk-ZO67DCNQ-DnpDWW4I.js +2 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-CLl-Ahxw.js +1 -0
- package/dist/client/assets/{classDiagram-v2-NBCMYWYE-3TQORq33.js → classDiagram-v2-4MYWR3UA-rPd2Vhml.js} +3 -3
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-CLl-Ahxw.js +1 -0
- package/dist/client/assets/{clike-D_6L3tnO.js → clike-xvONpD0Z.js} +1 -1
- package/dist/client/assets/{clone-C1hp9FUh.js → clone-BoYpPplK.js} +1 -1
- package/dist/client/assets/{comment-markdown-renderer-Bxi_JRSR.js → comment-markdown-renderer-a1B3HT_T.js} +1 -1
- package/dist/client/assets/comment-thread-store-da3_1rfw.js +1 -0
- package/dist/client/assets/comment-threads-mG1CkBKO.js +4 -0
- package/dist/client/assets/comment-ui-shared-4bhpJQpv.js +7 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-Czr0rwGr.js → cose-bilkent-JH36ORCC-BMHIGaXC.js} +1 -1
- package/dist/client/assets/{cose-bilkent-JH36ORCC-DLmEf9HS.js → cose-bilkent-JH36ORCC-Chlyw-Nt.js} +1 -1
- package/dist/client/assets/crystal-Bl6YKCG_.js +1 -0
- package/dist/client/assets/{cs-CZ-VUCGPRML-BfCoYAgj.js → cs-CZ-VUCGPRML-KFMLw537.js} +1 -1
- package/dist/client/assets/cynefin-EF2NZ3EQ-CwzF3ccb.js +1 -0
- package/dist/client/assets/cynefin-OW5HDTMX-CeLVR4kL.js +1 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-DTnLZaO7.js → cynefinDiagram-5FMLGOSQ-No5A0--Q.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-VND7K2PF-DwfMZ3vk.js → cynefinDiagram-WF24UDRP-BvwG2vI4.js} +1 -1
- package/dist/client/assets/cytoscape-cose-bilkent-iiiP-uiT.js +1 -0
- package/dist/client/assets/cytoscape-fcose-CiCTciSr.js +1 -0
- package/dist/client/assets/cytoscape.esm-CCmQRb78.js +321 -0
- package/dist/client/assets/{da-DK-NNDP2IVP-DBw9ZNTR.js → da-DK-NNDP2IVP-BpM-jMGR.js} +1 -1
- package/dist/client/assets/dagre-D7JM2Yhv.js +1 -0
- package/dist/client/assets/dagre-GXQ25YYZ-B0VZWLr5.js +4 -0
- package/dist/client/assets/dagre-NK4GIZVX-DoXdmyVb.js +4 -0
- package/dist/client/assets/{de-CH-I7RAVIZN-DYW18Vsr.js → de-CH-I7RAVIZN-BNkaUG5V.js} +1 -1
- package/dist/client/assets/{de-DE-WBQ3DQLR-DYW18Vsr.js → de-DE-WBQ3DQLR-BNkaUG5V.js} +1 -1
- package/dist/client/assets/deferred-collab-C9aa9cvT.css +1 -0
- package/dist/client/assets/deferred-git-BPQ-UgrN.css +1 -0
- package/dist/client/assets/deferred-preview-B-RebLry.css +1 -0
- package/dist/client/assets/{diagram-3UASUU5V-DmhdYv6_.js → diagram-CBK3MWTC-hfExzGJR.js} +2 -2
- package/dist/client/assets/{diagram-MLGK6HIB-DIBG6Ivu.js → diagram-I5XIIV2D-Diz84D6I.js} +1 -1
- package/dist/client/assets/{diagram-CDSNMT55-D_qyS11R.js → diagram-ODIL2UCW-lVgTk1r8.js} +4 -4
- package/dist/client/assets/diagram-PFBEJUXE-Dm-wXUUU.js +3 -0
- package/dist/client/assets/{diagram-MPIPVDR6-D9XsALDV.js → diagram-RJA3I4VV-Bv4ZAy4v.js} +2 -2
- package/dist/client/assets/{diagram-S7CK7UJ4-CGTzfo2f.js → diagram-S7CK7UJ4-ClAT_J6s.js} +2 -2
- package/dist/client/assets/diagram-TYUNFSNR-CN-Xc6z9.js +200 -0
- package/dist/client/assets/{diagram-UQ7AKVKN-CWZS8QtB.js → diagram-UQ7AKVKN-DJ6uTWCE.js} +1 -1
- package/dist/client/assets/{diagram-VSXAHHWV-DaO1nOZF.js → diagram-VSXAHHWV-C2k4OYGw.js} +1 -1
- package/dist/client/assets/{diagram-VX7I27RA-B54P6Cyf.js → diagram-VX7I27RA-CLX2KoMs.js} +1 -1
- package/dist/client/assets/{diagram-Z3DM3KII-Cl2EXiXp.js → diagram-Z3DM3KII-BZcZUF57.js} +1 -1
- package/dist/client/assets/{direct-engine-DVLMOJWp-C-YL5NFb.js → direct-engine-DVLMOJWp-C_tInsJx.js} +1 -1
- package/dist/client/assets/dist-7kwQLW_E.js +1 -0
- package/dist/client/assets/dist-B-G-pifG.js +11 -0
- package/dist/client/assets/dist-B0vhBQTT.js +13 -0
- package/dist/client/assets/dist-BBVAlyPS.js +1 -0
- package/dist/client/assets/dist-BGDa8poZ.js +1 -0
- package/dist/client/assets/{dist-uk11ih8u.js → dist-BJ93nZVx.js} +2 -2
- package/dist/client/assets/dist-BS271jN_.js +1 -0
- package/dist/client/assets/dist-BUgvZKJ6.js +39 -0
- package/dist/client/assets/dist-BXomWIuA.js +2 -0
- package/dist/client/assets/dist-BbrmdpPb.js +1 -0
- package/dist/client/assets/dist-BfvzS-2t.js +1 -0
- package/dist/client/assets/dist-Bt7Xaqyp.js +1 -0
- package/dist/client/assets/dist-BtOSkvqt.js +1 -0
- package/dist/client/assets/{dist-Ch6Sr9KF.js → dist-C150LLfi.js} +6 -6
- package/dist/client/assets/dist-C6YYSeP1.js +9 -0
- package/dist/client/assets/dist-CFzMlwAz.js +1 -0
- package/dist/client/assets/dist-CH86sVcz.js +1 -0
- package/dist/client/assets/dist-CP97HJ4M.js +1 -0
- package/dist/client/assets/dist-CVDt4G0T.js +1 -0
- package/dist/client/assets/dist-CbwTIhZ4.js +1 -0
- package/dist/client/assets/dist-CfwwN8_Y.js +1 -0
- package/dist/client/assets/{dist-B_J_HbC0.js → dist-CumnGVmJ.js} +1 -1
- package/dist/client/assets/dist-CvwwJhwr.js +1 -0
- package/dist/client/assets/dist-D-detfUV.js +1 -0
- package/dist/client/assets/dist-DCaysCNp.js +1 -0
- package/dist/client/assets/dist-DCgncsfc.js +6 -0
- package/dist/client/assets/dist-DFWn8cbH.js +1 -0
- package/dist/client/assets/dist-DKBDZ7Fw.js +1 -0
- package/dist/client/assets/dist-DUrzEppq.js +1 -0
- package/dist/client/assets/dist-Db2OLA3a.js +1 -0
- package/dist/client/assets/dist-Dd0BffVR.js +1 -0
- package/dist/client/assets/dist-X-11q-Vc.js +1 -0
- package/dist/client/assets/dist-aNZ025fx.js +23 -0
- package/dist/client/assets/dist-ftwTHAfS.js +1 -0
- package/dist/client/assets/dist-hiG7zUCa.js +1 -0
- package/dist/client/assets/document-formatter-B_jrdFGJ.js +1 -0
- package/dist/client/assets/drawioEditor-DhRXvyRT.js +9 -0
- package/dist/client/assets/{duration-BiuFXtXd.js → duration-DPNtiFfE.js} +1 -1
- package/dist/client/assets/{dylan-BCDoL_-p.js → dylan-S7ucR4pR.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-PfC84FyI.js → ebnfDiagram-PWID7BFC-B8zzvt1e.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-ZINNZB2B-DYvm_QtE.js → ebnfDiagram-V4P3TTPT-PjRB23H_.js} +1 -1
- package/dist/client/assets/editor-session-BnTvcvzz.js +13 -0
- package/dist/client/assets/{el-GR-TYQHVGXW-Dx82YYAS.js → el-GR-TYQHVGXW-BHUJHVd3.js} +1 -1
- package/dist/client/assets/elk-QONTBCTQ-DknSb2FG.js +27 -0
- package/dist/client/assets/embedded-editor-base-C44ZcCZv.css +1 -0
- package/dist/client/assets/embedpdf-VVX-wFIh.js +1 -0
- package/dist/client/assets/{embedpdf-cl9qiF45-itpgqvGY.js → embedpdf-cl9qiF45-Cv92w6Wn.js} +6 -6
- package/dist/client/assets/en-AUO4QW63-CgjNrgHv.js +1 -0
- package/dist/client/assets/{erDiagram-OPXOYQCR-o8GRv8A_.js → erDiagram-KYQIGQAA-BHguakEd.js} +2 -2
- package/dist/client/assets/{erDiagram-RLTQ6QDP-C9cJl5NB.js → erDiagram-RLTQ6QDP-YPD0-iRc.js} +1 -1
- package/dist/client/assets/{es-ES-JEUOREKJ-Rx0NUQDl.js → es-ES-JEUOREKJ-CeuoqqTN.js} +1 -1
- package/dist/client/assets/{esm-BzZ1JFVo.js → esm-nC3n5xMZ.js} +5 -5
- package/dist/client/assets/{estree-DGmLqopC.js → estree-Cw-tQG5d.js} +4 -4
- package/dist/client/assets/{eu-ES-SO5DEEAN-CDYm-BcK.js → eu-ES-SO5DEEAN-D_7bAcKh.js} +1 -1
- package/dist/client/assets/eventmodeling-K75KTNOO-BsPoof5R.js +1 -0
- package/dist/client/assets/eventmodeling-NTZA5JFV-Bwo1LIKP.js +1 -0
- package/dist/client/assets/excalidraw-element-link-BduFAMXS.js +1 -0
- package/dist/client/assets/excalidraw-scene-DzfbvjqT.js +1 -0
- package/dist/client/assets/excalidrawEditor-3jfVRVmE.js +9 -0
- package/dist/client/assets/excalidrawEditor-DiKOIudt.css +1 -0
- package/dist/client/assets/export-page-BiB1AeMg.js +46 -0
- package/dist/client/assets/exportDocument-BwukVyB9.js +2 -0
- package/dist/client/assets/exportDocument-D0mONgQ4.css +1 -0
- package/dist/client/assets/{fa-IR-I4JNTJHK-CFtHZqoT.js → fa-IR-I4JNTJHK-BeoSOVqB.js} +1 -1
- package/dist/client/assets/{fi-FI-REAEF6HQ-BIpjJqIb.js → fi-FI-REAEF6HQ-BqIp6GiK.js} +1 -1
- package/dist/client/assets/file-kind-BGxTVHan.js +1 -0
- package/dist/client/assets/file-search-D2UfqaRv.js +1 -0
- package/dist/client/assets/flowDiagram-HODETNUW-CVKOAnD7.js +1 -0
- package/dist/client/assets/flowDiagram-IUGLLWBU-BjEyR0dW.js +1 -0
- package/dist/client/assets/{fr-FR-SUCL7J6B-DGAKE8jH.js → fr-FR-SUCL7J6B-Dl3EFjA3.js} +1 -1
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-x40PW0Ah.js → ganttDiagram-EL5Y4UJY-CCUwTKb4.js} +1 -1
- package/dist/client/assets/ganttDiagram-R7GPNTJY-CXLqT-aU.js +292 -0
- package/dist/client/assets/gitGraph-4MIJSDKK-CWZptYrG.js +1 -0
- package/dist/client/assets/gitGraph-VSP46ZUC-x2Q42NFN.js +1 -0
- package/dist/client/assets/gitGraphDiagram-PDYL7XHY-BJ9CsrRo.js +106 -0
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-ahsNaZsp.js → gitGraphDiagram-WWUBYQGX-OqdVjcEn.js} +1 -1
- package/dist/client/assets/{gl-ES-KHCSOGVH-DWKh0CMu.js → gl-ES-KHCSOGVH-DGHdzXnJ.js} +1 -1
- package/dist/client/assets/graphlib-DS17s2tU.js +1 -0
- package/dist/client/assets/groovy-CUrWKPia.js +1 -0
- package/dist/client/assets/{he-IL-JYXVXV2Q-zqbcM-4g.js → he-IL-JYXVXV2Q-DP8F40TD.js} +1 -1
- package/dist/client/assets/{hi-IN-BU52H3BO-CY8v6eG9.js → hi-IN-BU52H3BO-B1huAT2Y.js} +1 -1
- package/dist/client/assets/{html-BryNQ_yx.js → html-Drt7kOJE.js} +2 -2
- package/dist/client/assets/{hu-HU-OWADXDQ3-CEl6Udfh.js → hu-HU-OWADXDQ3-87zhVnWy.js} +1 -1
- package/dist/client/assets/{id-ID-2WY7E4VX-CCAeQpPr.js → id-ID-2WY7E4VX-BdFs5w71.js} +1 -1
- package/dist/client/assets/image-V6E7PHAZ-DSZxKLH0.js +1 -0
- package/dist/client/assets/image-blob-reduce.esm-ZiL83eII.js +2 -0
- package/dist/client/assets/image-lightbox-controller-DH39QMBp.js +184 -0
- package/dist/client/assets/index-BebSD0ym.js +960 -0
- package/dist/client/assets/index-CglpXOg7.css +1 -0
- package/dist/client/assets/info-A6RAGUB7-D_xaPiSc.js +1 -0
- package/dist/client/assets/info-OHQRW6UA-CBi78irM.js +1 -0
- package/dist/client/assets/{infoDiagram-27XIBGKW-MrZyptIy.js → infoDiagram-27XIBGKW-Ck9hyDJb.js} +1 -1
- package/dist/client/assets/{infoDiagram-VRGFBTTK-KkUjDRAQ.js → infoDiagram-MVDRKAX5-DcpftzUS.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-Bnt9yM0O.js → ishikawaDiagram-5VMMS53U-CazBMMkQ.js} +2 -2
- package/dist/client/assets/{ishikawaDiagram-OU5B5YK6-Di9BcpOY.js → ishikawaDiagram-HPEHV2GE-BG5PpI0A.js} +3 -3
- package/dist/client/assets/{it-IT-INVHSAJF-DytAgndh.js → it-IT-INVHSAJF-DnUnri32.js} +1 -1
- package/dist/client/assets/{ja-JP-JBNTKYP4-BflWlGhw.js → ja-JP-JBNTKYP4-DIs2dSob.js} +1 -1
- package/dist/client/assets/javascript-DZ4Qsoqy.js +1 -0
- package/dist/client/assets/javascript-lj9EKOz0.js +1 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-Bl0abK1r.js → journeyDiagram-3NMN7TZE-DJFGpA3F.js} +1 -1
- package/dist/client/assets/{journeyDiagram-ZHPQQLJL-J-sGrs9e.js → journeyDiagram-BOSHW7O7-CAdC3Sr9.js} +3 -3
- package/dist/client/assets/{jsx-runtime-DKj5X9O4.js → jsx-runtime-CldxteV5.js} +1 -1
- package/dist/client/assets/{kaa-TC3VIB7V-B-xtZfy0.js → kaa-TC3VIB7V-wP2hxPDI.js} +1 -1
- package/dist/client/assets/{kab-KAB-UOUDSQKM-BmO0O4Y4.js → kab-KAB-UOUDSQKM-CwUZUlMm.js} +1 -1
- package/dist/client/assets/{kanban-definition-PNTS6WVX-5ZDV_yIa.js → kanban-definition-FNSA4HC5-DLzqpQsC.js} +4 -4
- package/dist/client/assets/{kanban-definition-UXKFOSKX-DMgUfNt0.js → kanban-definition-UXKFOSKX-R91H_Ua5.js} +1 -1
- package/dist/client/assets/katex-B_JcIwqj.js +257 -0
- package/dist/client/assets/{katex-9NBMfU68.js → katex-DJhrJSbw.js} +1 -1
- package/dist/client/assets/keyboard-shortcuts-BWNCBJqw.js +1 -0
- package/dist/client/assets/{kk-KZ-P5H2X7YS-CSQFB8IN.js → kk-KZ-P5H2X7YS-Q3XzFKqf.js} +1 -1
- package/dist/client/assets/{km-KH-IHMV2US7-BxrjuEzr.js → km-KH-IHMV2US7-CxtoNVOY.js} +1 -1
- package/dist/client/assets/{ko-KR-ZTMANIDF-BnNRXd5J.js → ko-KR-ZTMANIDF-CJeG69_5.js} +1 -1
- package/dist/client/assets/{ku-TR-GPJTRB5G-BZM7f2aT.js → ku-TR-GPJTRB5G-D4gY4ec8.js} +1 -1
- package/dist/client/assets/{line-DEbP8Ok6.js → line-CttJWsP1.js} +1 -1
- package/dist/client/assets/linear-DGppY5mt.js +1 -0
- package/dist/client/assets/lobby-presence-DWGiwZgG.js +1 -0
- package/dist/client/assets/{lt-LT-V3XDOK3P-MVQBOHmF.js → lt-LT-V3XDOK3P-DTiFqRKt.js} +1 -1
- package/dist/client/assets/{lv-LV-DVQ3FADO-CrenwAhS.js → lv-LV-DVQ3FADO-BDx0eM98.js} +1 -1
- package/dist/client/assets/{markdown-CZ1tYEW8.js → markdown-C7cnJl_Q.js} +12 -12
- package/dist/client/assets/markdown-headings-CHNl_tgP.js +41 -0
- package/dist/client/assets/markdown-it-DWMS_G3H.js +13 -0
- package/dist/client/assets/{markdown-math-CyyBVuDO.js → markdown-math-CBhbNj1w.js} +13 -13
- package/dist/client/assets/{merge-CALoRt3l.js → merge-5Ig019a6.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-DBy--Jc0.js → mermaid-parser.core-B89UfKha.js} +3 -3
- package/dist/client/assets/{mermaid-parser.core-Bpogunsh.js → mermaid-parser.core-Dns-W-xX.js} +1 -1
- package/dist/client/assets/mermaid.core-8OvaaBlM.js +10 -0
- package/dist/client/assets/{mindmap-definition-NLK3R4M7-ByVb-0vj.js → mindmap-definition-6OY57UG3-0aQEcLTH.js} +11 -9
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-DBZN5_GH.js → mindmap-definition-YA3MSWOX-CCSfi8SE.js} +1 -1
- package/dist/client/assets/{mr-IN-VZ6HH5FE-B-PHPglH.js → mr-IN-VZ6HH5FE-Cofn25fc.js} +1 -1
- package/dist/client/assets/{my-MM-XYKWHRK6-Be5sYp5q.js → my-MM-XYKWHRK6-lMTCoeax.js} +1 -1
- package/dist/client/assets/{nb-NO-UNO2GGZJ-BvSKGdja.js → nb-NO-UNO2GGZJ-CEFDplVi.js} +1 -1
- package/dist/client/assets/{nginx-8H7HVH4w.js → nginx-C-ORUuei.js} +1 -1
- package/dist/client/assets/{nl-NL-76EFHT4P-C2yNx1Cj.js → nl-NL-76EFHT4P-2WbCYdRT.js} +1 -1
- package/dist/client/assets/{nn-NO-CFKD7ABE-4NsqlDRP.js → nn-NO-CFKD7ABE-DfK-9yuu.js} +1 -1
- package/dist/client/assets/{ntriples-B9h1VB_g.js → ntriples-CzMBulkp.js} +1 -1
- package/dist/client/assets/{oc-FR-YBJTCJ3J-B4OTQsWW.js → oc-FR-YBJTCJ3J-BSWusGxV.js} +1 -1
- package/dist/client/assets/{pa-IN-SNOXSMRV-CKj_sOG7.js → pa-IN-SNOXSMRV-BYkNTWiO.js} +1 -1
- package/dist/client/assets/packet-AYTQ26CC-D6Y_lKZt.js +1 -0
- package/dist/client/assets/packet-JDAUHWVQ-DAR0r-Im.js +1 -0
- package/dist/client/assets/{pegDiagram-GJSIUBJH-aost1sSO.js → pegDiagram-ECIUJNBX-VujrKWCK.js} +1 -1
- package/dist/client/assets/{pegDiagram-XKGWAZYB-DRo8CZu3.js → pegDiagram-XKGWAZYB-DTA3EjtF.js} +1 -1
- package/dist/client/assets/percentages-LWOC67ZH-BO-ZFv57.js +1 -0
- package/dist/client/assets/pica-CXv_OHDX.js +2 -0
- package/dist/client/assets/{pie-DzWLGKAD.js → pie-Ba_4rf3r.js} +1 -1
- package/dist/client/assets/pie-WAS4IAKB-DLhltotv.js +1 -0
- package/dist/client/assets/pie-XZMESJXO-5MOdYfI0.js +1 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-CZThaHsc.js → pieDiagram-E7YTZNPT-DBz-eVG3.js} +1 -1
- package/dist/client/assets/{pieDiagram-5QR66LMP-BICdpEuz.js → pieDiagram-GNMPY74T-CjRzeDCN.js} +2 -2
- package/dist/client/assets/{pl-PL-BSY6YFZ3-CFuzA6L0.js → pl-PL-BSY6YFZ3-DQTYFenp.js} +1 -1
- package/dist/client/assets/{powershell-BcIto6Sf.js → powershell-D8WpQPaX.js} +1 -1
- package/dist/client/assets/preload-helper-khBccGFq.js +1 -0
- package/dist/client/assets/preview-diagram-utils-ByzpiwPu.js +3 -0
- package/dist/client/assets/preview-render-compiler-B_gyVIfk.js +3 -0
- package/dist/client/assets/preview-render-worker-DYGDgbKA.js +579 -0
- package/dist/client/assets/prod-BTPZlnru.js +1 -0
- package/dist/client/assets/prod-CUXkwl3E.js +144 -0
- package/dist/client/assets/{pt-BR-CZDV62R3-CkPMtyNx.js → pt-BR-CZDV62R3-qKOF4THL.js} +1 -1
- package/dist/client/assets/{pt-PT-JO57XJJW-CBSnfGtF.js → pt-PT-JO57XJJW-CVFFmqez.js} +1 -1
- package/dist/client/assets/pug-CGoiHVBP.js +1 -0
- package/dist/client/assets/purify.es-BP9p1Dbb.js +3 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-C5iowkl_.js → quadrantDiagram-AXDQQJYC-DaTj4J-B.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-O4NWA36T-Bgx5bF97.js → quadrantDiagram-D57K4MC3-Bvy8uMKb.js} +3 -3
- package/dist/client/assets/quick-switcher-controller-m2gikuD-.js +1 -0
- package/dist/client/assets/radar-ABXABTNO-hhs6i-b1.js +1 -0
- package/dist/client/assets/radar-RG4KPBEZ-B-2eETsZ.js +1 -0
- package/dist/client/assets/railroad-74A4TZTK-B18ef5-Z.js +1 -0
- package/dist/client/assets/railroad-I3PHUGI6-v8Mk380c.js +1 -0
- package/dist/client/assets/railroad-abnf-HS5TGJTU-CTQaqjqj.js +1 -0
- package/dist/client/assets/railroad-abnf-LNEFI6M7-C3t6jbSY.js +1 -0
- package/dist/client/assets/railroad-ebnf-DWYD2UWJ-BvF5fO2B.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-BU_P5mpS.js +1 -0
- package/dist/client/assets/railroad-peg-JR7BVNR7-B90veE1n.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-CQCPL33M.js +1 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-BTt_rKjT.js → railroadDiagram-O6MQD6OU-DJRswcTS.js} +1 -1
- package/dist/client/assets/{railroadDiagram-XR7U4H2S-DbVoNgSz.js → railroadDiagram-Y72NRBL7-BNjzJfAu.js} +1 -1
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-BkvazG7r.js → requirementDiagram-BXWQKSXE-DsljP03a.js} +1 -1
- package/dist/client/assets/{requirementDiagram-PLB6GJNP-BT0j9C40.js → requirementDiagram-EQYSW5RA-BKm3hJ3g.js} +4 -4
- package/dist/client/assets/{ro-RO-UZ5ICYYN-BOuntc_r.js → ro-RO-UZ5ICYYN-BgFoGyRb.js} +1 -1
- package/dist/client/assets/rolldown-runtime-COiEfhsA.js +1 -0
- package/dist/client/assets/{ru-RU-AN7JPREC-D-ow3SNR.js → ru-RU-AN7JPREC-C1Q9hhMw.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-C_IemB9h.js → sankeyDiagram-P5KCCOFB-7e3snR42.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-IPEJSGJF-X1BCUIrf.js → sankeyDiagram-SY24JHO5-X6282wPp.js} +3 -3
- package/dist/client/assets/sequenceDiagram-BLEHNHQU-BytEbBel.js +169 -0
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-CxFBgLGd.js → sequenceDiagram-WJ2MYXX4-Fy1RHQht.js} +2 -2
- package/dist/client/assets/{si-LK-7CBLD6QQ-c91EepX0.js → si-LK-7CBLD6QQ-B0AJbYON.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
- package/dist/client/assets/sizeCapture-INFHLROL-BMR1ovSU.js +1 -0
- package/dist/client/assets/{sk-SK-SWR6DKBI-D5vFMIL6.js → sk-SK-SWR6DKBI-BSd-r0Zi.js} +1 -1
- package/dist/client/assets/{sl-SI-QY5KCFGA-RZhwMpQL.js → sl-SI-QY5KCFGA-Dzrhm7-L.js} +1 -1
- package/dist/client/assets/src-C2pSFGeK.js +1 -0
- package/dist/client/assets/src-GGgGZJfE.js +2 -0
- package/dist/client/assets/{standalone-DbyFjvTU.js → standalone-YobQElH8.js} +3 -3
- package/dist/client/assets/{stateDiagram-D77RDMKH-BaSQ6Owj.js → stateDiagram-D77RDMKH-CW2cSnDj.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-GCMORJYK-CsVcfwVp.js → stateDiagram-v2-A6IESKWZ-DZU6pVog.js} +2 -2
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-iqEUZMAD.js +1 -0
- package/dist/client/assets/subset-shared.chunk-CL3Oizwd.js +1 -0
- package/dist/client/assets/{subset-worker.chunk-CoaGye2U.js → subset-worker.chunk-BdPjfgp2.js} +1 -1
- package/dist/client/assets/{sv-SE-O3OFCY3J-DnS86_7q.js → sv-SE-O3OFCY3J-6NoVnLTE.js} +1 -1
- package/dist/client/assets/swimlanes-42K2YHIH-8FngRMNT.js +1 -0
- package/dist/client/assets/swimlanes-B3ENRKFQ-D6BYdY9J.js +1 -0
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-hRw-7uL-.js +8 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DvDPHOsc.js +8 -0
- package/dist/client/assets/{ta-IN-V6NHHU6Z-D5jy7_AE.js → ta-IN-V6NHHU6Z-MAwuBBtS.js} +1 -1
- package/dist/client/assets/{th-TH-WLSZUSBX-DHehoYR2.js → th-TH-WLSZUSBX-D--o8vzw.js} +1 -1
- package/dist/client/assets/{tiki-AK6FwT8q.js → tiki-CvUEFusT.js} +1 -1
- package/dist/client/assets/{timeline-definition-24CTP7MA-zse-5Dbm.js → timeline-definition-24CTP7MA-C_Q-Br6X.js} +1 -1
- package/dist/client/assets/{timeline-definition-EJHVYXUP-BhqPlKkN.js → timeline-definition-JXYKGLGB-7HLQ94MK.js} +3 -3
- package/dist/client/assets/{tr-TR-GUFYG22B-ClVaf8h1.js → tr-TR-GUFYG22B-Bd-NNmz1.js} +1 -1
- package/dist/client/assets/treeView-D4JQ5SDB-BR1FV1TU.js +1 -0
- package/dist/client/assets/treeView-Q6P3EWNA-3N1U2hq1.js +1 -0
- package/dist/client/assets/treemap-SAJKECNS-yO7fe4dH.js +1 -0
- package/dist/client/assets/treemap-WGGIJYW6-BFO1obBW.js +1 -0
- package/dist/client/assets/{uk-UA-K6SV5NFQ-BLTTtyNB.js → uk-UA-K6SV5NFQ-_OJVmMT9.js} +1 -1
- package/dist/client/assets/usecaseDiagram-WPOLBNNX-uIlXI205.js +328 -0
- package/dist/client/assets/{uz-UZ-TVKTZO2G-Bm02Eg3D.js → uz-UZ-TVKTZO2G-BPXzC1bJ.js} +1 -1
- package/dist/client/assets/vault-api-client-DORNT49K.js +25 -0
- package/dist/client/assets/{vault-paths-BT-6nztu.js → vault-paths-R2qcfmE0.js} +1 -1
- package/dist/client/assets/{venn.esm-C5rDfA9t.js → venn.esm-BxwF8YNp.js} +1 -1
- package/dist/client/assets/{vennDiagram-4TSXK5OY-DgHr6cJD.js → vennDiagram-4TSXK5OY-Cl6f16-U.js} +1 -1
- package/dist/client/assets/{vennDiagram-UO4OBE2U-BRwLn2Q1.js → vennDiagram-Q3Y3IDCW-DZFF_ntk.js} +3 -3
- package/dist/client/assets/{vi-VN-7FKFXJNO-CL3WPhmG.js → vi-VN-7FKFXJNO-CjP0avHF.js} +1 -1
- package/dist/client/assets/wardley-7MLQ67FV-CCVlnR9Q.js +1 -0
- package/dist/client/assets/wardley-WFR3VGLG-BuSMKsul.js +1 -0
- package/dist/client/assets/{wardleyDiagram-VNRHLVJA-B_tMcVFG.js → wardleyDiagram-IVAIDKWA-bwMSFCgK.js} +4 -4
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-9A60XZis.js → wardleyDiagram-VM6X3IG4-BbU7rAxb.js} +1 -1
- package/dist/client/assets/{wiki-link-resolver-Dch88erO.js → wiki-link-resolver-BCdGUpdu.js} +1 -1
- package/dist/client/assets/{worker-engine-BCCrxWYm-CX0qJ_cG.js → worker-engine-BCCrxWYm-BU5lrbSm.js} +1 -1
- package/dist/client/assets/workspace-sync-client-B7dmdJGR.js +1 -0
- package/dist/client/assets/xychartDiagram-4URNHDU4-AjWzA402.js +7 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-D00iy-wB.js → xychartDiagram-S5SC5T6Z-C5L6jReS.js} +1 -1
- package/dist/client/assets/{yaml-BcZaqAz8.js → yaml-Breo7DWT.js} +4 -4
- package/dist/client/assets/yjs-ZDLwhBUu.js +4 -0
- package/dist/client/assets/yjs-provider-reset-guard-D5pm5yx8.js +1 -0
- package/dist/client/assets/{zh-CN-AOKVLNNK-DGidDH2b.js → zh-CN-AOKVLNNK-CU0vKHKs.js} +1 -1
- package/dist/client/assets/{zh-HK-CDKPF5DC-CRcNR3rk.js → zh-HK-CDKPF5DC-BBhn88ei.js} +1 -1
- package/dist/client/assets/{zh-TW-ZVGYESGW-C7Qji1y6.js → zh-TW-ZVGYESGW-od6h3pTc.js} +1 -1
- package/dist/client/canvas-editor.html +16 -0
- package/dist/client/drawio-editor.html +7 -6
- package/dist/client/excalidraw-editor.html +43 -42
- package/dist/client/export-document.html +4 -3
- package/dist/client/index.html +2 -2
- package/package.json +37 -39
- package/scripts/local-compose.mjs +101 -0
- package/src/client/app/canvas-editor.html +13 -0
- package/src/client/application/app-shell/git-feature.js +3 -2
- package/src/client/application/app-shell/ui-feature-identity.js +1 -0
- package/src/client/application/app-shell/ui-feature-shell.js +2 -0
- package/src/client/application/app-shell/ui-feature-tab-activity.js +4 -0
- package/src/client/application/app-shell/workspace-feature.js +8 -34
- package/src/client/application/diagram-chrome.js +8 -11
- package/src/client/application/diagram-preview-export.js +2 -1
- package/src/client/application/diagram-preview-hydrator.js +5 -5
- package/src/client/application/mermaid-preview-hydrator.js +5 -3
- package/src/client/application/plantuml-preview-hydrator.js +6 -0
- package/src/client/application/preview-render-compiler.js +34 -98
- package/src/client/application/preview-render-executor.js +3 -0
- package/src/client/application/preview-render-worker.js +2 -0
- package/src/client/application/preview-renderer.js +9 -5
- package/src/client/application/workspace-coordinator.js +18 -10
- package/src/client/application/workspace-preview-controller.js +105 -158
- package/src/client/application/workspace-route-controller.js +29 -54
- package/src/client/bootstrap/canvas-markdown-preview.js +87 -0
- package/src/client/bootstrap/collabmd-app-shell.js +28 -13
- package/src/client/canvas-editor.js +143 -0
- package/src/client/domain/canvas-view.js +50 -0
- package/src/client/domain/excalidraw-scene.js +17 -60
- package/src/client/domain/highlight-runtime.js +0 -4
- package/src/client/domain/markdown-formatting.js +12 -94
- package/src/client/domain/markdown-headings.js +98 -0
- package/src/client/domain/mermaid-source.js +44 -0
- package/src/client/domain/wiki-link-completions.js +42 -10
- package/src/client/export/export-pipeline.js +7 -6
- package/src/client/infrastructure/browser-preferences-port.js +27 -33
- package/src/client/infrastructure/canvas-room-client.js +210 -0
- package/src/client/infrastructure/canvas-text-editor.js +36 -0
- package/src/client/infrastructure/comment-thread-store.js +19 -77
- package/src/client/infrastructure/editor-view-adapter.js +0 -30
- package/src/client/infrastructure/excalidraw-room-client.js +22 -10
- package/src/client/infrastructure/hosted-api-client.js +4 -2
- package/src/client/infrastructure/vault-api-client.js +4 -4
- package/src/client/infrastructure/webmcp-tool-registry.js +5 -8
- package/src/client/presentation/canvas-editor-view.js +1028 -0
- package/src/client/presentation/canvas-embed-controller.js +116 -0
- package/src/client/presentation/canvas-picker.js +111 -0
- package/src/client/presentation/drawio-embed-controller.js +1 -3
- package/src/client/presentation/excalidraw-embed-controller.js +10 -3
- package/src/client/presentation/file-action-controller.js +37 -0
- package/src/client/presentation/file-explorer-controller.js +1 -2
- package/src/client/presentation/file-explorer-view.js +7 -1
- package/src/client/presentation/file-icon-svg.js +1 -1
- package/src/client/presentation/file-tree-state.js +4 -1
- package/src/client/presentation/git-diff-view-controller.js +3 -3
- package/src/client/presentation/image-lightbox-controller.js +1 -5
- package/src/client/presentation/team-settings-controller.js +44 -10
- package/src/client/styles/components/actions.css +4 -16
- package/src/client/styles/components/surfaces.css +0 -7
- package/src/client/styles/features/comment-card.css +1 -2
- package/src/client/styles/features/comment-markdown.css +0 -18
- package/src/client/styles/features/diagram-preview.css +0 -18
- package/src/client/styles/features/git-branch.css +0 -4
- package/src/client/styles/foundation/themes.css +6 -0
- package/src/client/styles/foundation/utilities.css +1 -2
- package/src/client/styles/layout/editor-page.css +0 -13
- package/src/client/styles/layout/responsive.css +2 -7
- package/src/client/styles/layout/shell.css +13 -1
- package/src/client/styles/layout/view-modes.css +1 -0
- package/src/client/styles/surfaces/canvas-editor.css +239 -0
- package/src/domain/canvas-room-codec.js +359 -0
- package/src/domain/collabmd-content-capabilities.js +10 -1
- package/src/domain/comment-threads.js +49 -5
- package/src/domain/excalidraw-room-codec.js +34 -83
- package/src/domain/excalidraw-scene.js +48 -0
- package/src/domain/file-kind.js +13 -1
- package/src/server/application/workspace-reconciliation.js +0 -14
- package/src/server/domain/backlink-index.js +1 -36
- package/src/server/domain/bases/base-index-snapshot-store.js +41 -24
- package/src/server/domain/bases/base-query-service.js +1 -47
- package/src/server/domain/collaboration/collaboration-room.js +214 -49
- package/src/server/domain/collaboration/room-registry.js +7 -7
- package/src/server/domain/hosted-workspace.js +29 -2
- package/src/server/domain/plantuml-encoder.js +7 -43
- package/src/server/infrastructure/git/diff-service.js +1 -5
- package/src/server/infrastructure/git/history-service.js +18 -2
- package/src/server/infrastructure/git/untracked-files.js +1 -1
- package/src/server/infrastructure/http/create-git-api-command-handler.js +60 -149
- package/src/server/infrastructure/http/create-hosted-api-handler.js +5 -2
- package/src/server/infrastructure/http/create-vault-api-query-handler.js +2 -2
- package/src/server/infrastructure/http/http-response.js +2 -36
- package/src/server/infrastructure/http/request-body.js +14 -49
- package/src/server/infrastructure/persistence/hosted-metadata-store.js +12 -3
- package/src/server/infrastructure/persistence/path-utils.js +8 -2
- package/src/server/infrastructure/persistence/sidecar-store.js +5 -1
- package/src/server/infrastructure/persistence/vault-file-store.js +26 -60
- package/src/server/{infrastructure/git → shared}/image-mime.js +2 -2
- package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-kJfwukbn.js +0 -1
- package/dist/client/assets/_basePickBy-QJXUw_pr.js +0 -1
- package/dist/client/assets/_baseUniq-DR4vVjyC.js +0 -1
- package/dist/client/assets/architecture-7GRP2DOG-BBwRXFv3.js +0 -1
- package/dist/client/assets/architecture-7GRP2DOG-DJVtYNt-.js +0 -1
- package/dist/client/assets/babel-Bi_28hhi.js +0 -16
- package/dist/client/assets/browser-utils-S4QYY31r.js +0 -1
- package/dist/client/assets/channel-CgcHBnmr.js +0 -1
- package/dist/client/assets/chunk-2E4U76K2-CIQUuV9n.js +0 -1
- package/dist/client/assets/chunk-2ZTRR5NV-CnDP55cn.js +0 -2
- package/dist/client/assets/chunk-2ZTRR5NV-DcPRfelM.js +0 -2
- package/dist/client/assets/chunk-3FUC2YCW-8tZlhTGX.js +0 -1
- package/dist/client/assets/chunk-6AEJRKK7-DTVZj5bY.js +0 -1
- package/dist/client/assets/chunk-747NJXEK-BjqqAsS9.js +0 -2
- package/dist/client/assets/chunk-747NJXEK-Cur1aosP.js +0 -2
- package/dist/client/assets/chunk-7INBJB4K-CDmiHbaX.js +0 -62
- package/dist/client/assets/chunk-7M6MHVWA-BDakkknV.js +0 -213
- package/dist/client/assets/chunk-FOHPRMQF-DzxwRta7.js +0 -161
- package/dist/client/assets/chunk-ISPTBLVO-BMsDq9Ha.js +0 -12
- package/dist/client/assets/chunk-O7XYJQB3-D0_ZY2za.js +0 -126
- package/dist/client/assets/chunk-OUJLGHUK-75UXlPjl.js +0 -2
- package/dist/client/assets/chunk-OUJLGHUK-DA95-S9B.js +0 -2
- package/dist/client/assets/chunk-T5WUORNS-DD7KlyY6.js +0 -40
- package/dist/client/assets/chunk-UA2S7LBM-DicYDjDM.js +0 -1
- package/dist/client/assets/chunk-Z7XXMR3K-P4Vaq8hD.js +0 -10
- package/dist/client/assets/chunk-ZIGJFQKS-b8OUHKK5.js +0 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-QLbh_Nkf.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-QLbh_Nkf.js +0 -1
- package/dist/client/assets/comment-thread-store-CHvy8GF8.js +0 -1
- package/dist/client/assets/comment-threads-nJhK1yfc.js +0 -4
- package/dist/client/assets/crystal-Bsdphhtm.js +0 -1
- package/dist/client/assets/cynefin-OW5HDTMX-CF3N9j1_.js +0 -1
- package/dist/client/assets/cynefin-OW5HDTMX-e-Quc9Yl.js +0 -1
- package/dist/client/assets/cytoscape-cose-bilkent-NdTYBUiT.js +0 -1
- package/dist/client/assets/cytoscape-fcose-DE9_QRG_.js +0 -1
- package/dist/client/assets/cytoscape.esm-EK2DW5Qr.js +0 -321
- package/dist/client/assets/dagre-6A5THRUB-DewyAGK6.js +0 -4
- package/dist/client/assets/dagre-D7FiCLLP.js +0 -1
- package/dist/client/assets/dagre-GXQ25YYZ-Vtyx08Qh.js +0 -4
- package/dist/client/assets/deferred-collab-D4cxEdad.css +0 -1
- package/dist/client/assets/deferred-git-BHKtkFYi.css +0 -1
- package/dist/client/assets/deferred-preview-BAXYgf4T.css +0 -1
- package/dist/client/assets/diagram-22UHCM2B-DbZirFfl.js +0 -200
- package/dist/client/assets/diagram-ATOU4E4O-B5uX-jVO.js +0 -3
- package/dist/client/assets/dist-9Eodxf4G.js +0 -1
- package/dist/client/assets/dist-B2ZNQifU.js +0 -1
- package/dist/client/assets/dist-B6QCMNze.js +0 -1
- package/dist/client/assets/dist-BIAv19LO.js +0 -1
- package/dist/client/assets/dist-BKYp1-dl.js +0 -13
- package/dist/client/assets/dist-BSAZ-Hek.js +0 -39
- package/dist/client/assets/dist-BSTbcioM.js +0 -11
- package/dist/client/assets/dist-BT9gJXCb.js +0 -1
- package/dist/client/assets/dist-BTVg1m-V.js +0 -1
- package/dist/client/assets/dist-Bi9ZIYXq.js +0 -9
- package/dist/client/assets/dist-BpAUe9sL.js +0 -1
- package/dist/client/assets/dist-Bqo-XRVG.js +0 -1
- package/dist/client/assets/dist-BrKhPlc9.js +0 -1
- package/dist/client/assets/dist-CBsvKPcT.js +0 -1
- package/dist/client/assets/dist-CJBYh9Wy.js +0 -23
- package/dist/client/assets/dist-CRwfjtwz.js +0 -2
- package/dist/client/assets/dist-CX7Kc61C.js +0 -1
- package/dist/client/assets/dist-CYfPeupF.js +0 -1
- package/dist/client/assets/dist-CoXN2D3R.js +0 -1
- package/dist/client/assets/dist-CucpLxUY.js +0 -1
- package/dist/client/assets/dist-DHBMeCxC.js +0 -6
- package/dist/client/assets/dist-DLEg9d4u.js +0 -1
- package/dist/client/assets/dist-DOHWxIty.js +0 -1
- package/dist/client/assets/dist-DYFBD-wW.js +0 -1
- package/dist/client/assets/dist-DeCV9FU4.js +0 -1
- package/dist/client/assets/dist-DugWGOjQ.js +0 -1
- package/dist/client/assets/dist-KrdpB_GB.js +0 -1
- package/dist/client/assets/dist-NNrRnB-f.js +0 -1
- package/dist/client/assets/dist-PUxZqhFe.js +0 -1
- package/dist/client/assets/dist-cYiJMWHJ.js +0 -1
- package/dist/client/assets/dist-iKC7go4m.js +0 -1
- package/dist/client/assets/dist-lw5TGjI6.js +0 -1
- package/dist/client/assets/document-formatter-6I63vstk.js +0 -1
- package/dist/client/assets/drawioEditor-DNTjsjzJ.js +0 -9
- package/dist/client/assets/editor-session-D8GGkJak.js +0 -14
- package/dist/client/assets/elk-276RUBZZ-B8LB3Pac.js +0 -27
- package/dist/client/assets/embedded-editor-base-elU0Avik.css +0 -1
- package/dist/client/assets/embedpdf-TkbBYowM.js +0 -1
- package/dist/client/assets/en-JTHJ2SIP-DBz9bRq4.js +0 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-CDy1bN6j.js +0 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-Dxtv5D-P.js +0 -1
- package/dist/client/assets/excalidraw-element-link-BRZOTIeI.js +0 -7
- package/dist/client/assets/excalidraw-scene-6uROebca.js +0 -1
- package/dist/client/assets/excalidrawEditor-BCTFp_CV.css +0 -1
- package/dist/client/assets/excalidrawEditor-D0orhhku.js +0 -9
- package/dist/client/assets/export-page-CVJNMERq.js +0 -46
- package/dist/client/assets/exportDocument-Ba-n1X4U.css +0 -1
- package/dist/client/assets/exportDocument-DSshnmnZ.js +0 -2
- package/dist/client/assets/file-kind-BwMIcZbi.js +0 -1
- package/dist/client/assets/file-search-BA8o_gs0.js +0 -1
- package/dist/client/assets/flowDiagram-HODETNUW-Bq4470NR.js +0 -1
- package/dist/client/assets/flowDiagram-KWPJA3E3-DQG9qGiU.js +0 -1
- package/dist/client/assets/ganttDiagram-FUAMR5RP-BQpsI7gQ.js +0 -292
- package/dist/client/assets/gitGraph-4MIJSDKK-B-rpDYbz.js +0 -1
- package/dist/client/assets/gitGraph-4MIJSDKK-ZaBIE4Lb.js +0 -1
- package/dist/client/assets/gitGraphDiagram-X574FWY7-wbs_2m9f.js +0 -106
- package/dist/client/assets/graphlib-C9Tl7QrK.js +0 -1
- package/dist/client/assets/groovy-CUpZ7dEl.js +0 -1
- package/dist/client/assets/image-I42VHMUI-B2-c_ifV.js +0 -1
- package/dist/client/assets/image-blob-reduce.esm-BFq-Mx5V.js +0 -2
- package/dist/client/assets/index-BCgNcVNs.css +0 -1
- package/dist/client/assets/index-BpmR5Qqk.js +0 -1140
- package/dist/client/assets/info-A6RAGUB7-BcGxhjED.js +0 -1
- package/dist/client/assets/info-A6RAGUB7-BlutK7BT.js +0 -1
- package/dist/client/assets/javascript-B9I2pbsP.js +0 -1
- package/dist/client/assets/javascript-DctB8BJo.js +0 -1
- package/dist/client/assets/katex-ZlcWpGUi.js +0 -257
- package/dist/client/assets/linear-DExL6ILt.js +0 -1
- package/dist/client/assets/lobby-presence-KJrYhMdN.js +0 -1
- package/dist/client/assets/markdown-it-DpvIRaVq.js +0 -13
- package/dist/client/assets/mermaid.core-BeOUPE3Q.js +0 -10
- package/dist/client/assets/packet-AYTQ26CC-CqpSjTWl.js +0 -1
- package/dist/client/assets/packet-AYTQ26CC-DvbY8dI6.js +0 -1
- package/dist/client/assets/percentages-LWOC67ZH-VhvllE7L.js +0 -1
- package/dist/client/assets/pica-BPrp-GK1.js +0 -2
- package/dist/client/assets/pie-WAS4IAKB-Bg2eCNl5.js +0 -1
- package/dist/client/assets/pie-WAS4IAKB-DWSm9SSD.js +0 -1
- package/dist/client/assets/preload-helper-BAlEavIC.js +0 -1
- package/dist/client/assets/preview-diagram-utils-txBCoW8d.js +0 -1
- package/dist/client/assets/preview-render-compiler-BmWQStaL.js +0 -43
- package/dist/client/assets/preview-render-worker-BA4VK_GY.js +0 -575
- package/dist/client/assets/prod-CA0ie9yD.js +0 -145
- package/dist/client/assets/prod-yKJZ3E4s.js +0 -1
- package/dist/client/assets/pug-CqqUmdG7.js +0 -1
- package/dist/client/assets/purify.es-go7v6Te-.js +0 -3
- package/dist/client/assets/quick-switcher-controller-B5vT9Vj5.js +0 -1
- package/dist/client/assets/radar-RG4KPBEZ-BfNQUEQy.js +0 -1
- package/dist/client/assets/radar-RG4KPBEZ-DxExotg6.js +0 -1
- package/dist/client/assets/railroad-74A4TZTK-BaQ6U6eJ.js +0 -1
- package/dist/client/assets/railroad-74A4TZTK-FfHmeIQk.js +0 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-BJ3KZw7J.js +0 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-CLkdDRsJ.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-B162zvcG.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-DA0sEq7w.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-CGs5GeJ5.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-DCmlICzO.js +0 -1
- package/dist/client/assets/rolldown-runtime-Dd_uD5pT.js +0 -1
- package/dist/client/assets/sequenceDiagram-PO4LG4MO-B-2QfXhV.js +0 -169
- package/dist/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +0 -1
- package/dist/client/assets/sizeCapture-INFHLROL-DrzwYt5z.js +0 -1
- package/dist/client/assets/src-XiVvaevx.js +0 -1
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CLlwrdvU.js +0 -1
- package/dist/client/assets/subset-shared.chunk-BXlA-9CO.js +0 -1
- package/dist/client/assets/swimlanes-2SLR337P-CnYTVqRX.js +0 -1
- package/dist/client/assets/swimlanes-42K2YHIH-CALFEmiS.js +0 -1
- package/dist/client/assets/swimlanesDiagram-TC7HE7FX-Bh4tmz27.js +0 -8
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-xhehUG9e.js +0 -8
- package/dist/client/assets/treeView-Q6P3EWNA-BvHOzbu9.js +0 -1
- package/dist/client/assets/treeView-Q6P3EWNA-Cccy0ngL.js +0 -1
- package/dist/client/assets/treemap-WGGIJYW6-oety7paS.js +0 -1
- package/dist/client/assets/treemap-WGGIJYW6-sMRCjCtX.js +0 -1
- package/dist/client/assets/usecaseDiagram-POWQR4AR-DR2LHQYs.js +0 -328
- package/dist/client/assets/vault-api-client-NS_EVHJ3.js +0 -7
- package/dist/client/assets/wardley-WFR3VGLG-BdwDpX_I.js +0 -1
- package/dist/client/assets/wardley-WFR3VGLG-Y7xty_3m.js +0 -1
- package/dist/client/assets/workspace-sync-client-BrMtf6zN.js +0 -1
- package/dist/client/assets/xychartDiagram-PMCCYNJV-fRpZ1MA5.js +0 -7
- package/dist/client/assets/yjs-B41tM6Sz.js +0 -4
- package/dist/client/assets/yjs-provider-reset-guard-DpntzUDR.js +0 -1
- package/scripts/local-plantuml-compose.mjs +0 -92
- package/scripts/local-structurizr-compose.mjs +0 -101
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e,N as t,O as n,P as r,a as i,i as a,j as o,n as s,t as c}from"./yjs-ZDLwhBUu.js";import{t as l}from"./room-DX7lIfnu.js";import{t as u}from"./vault-paths-R2qcfmE0.js";import{n as d}from"./wiki-link-resolver-BCdGUpdu.js";import{n as f,t as p}from"./vault-api-client-DORNT49K.js";import{a as m,c as h,i as g,o as _,p as ee,r as v,t as y}from"./image-lightbox-controller-DH39QMBp.js";import{n as b,o as x,r as te,t as ne}from"./runtime-paths-qQGhzNx4.js";import"./runtime-config-CvrkHb0n.js";import{n as re,t as ie}from"./yjs-provider-reset-guard-D5pm5yx8.js";import{St as ae,X as S,ct as oe,wt as se}from"./dist-B0vhBQTT.js";import{a as ce}from"./dist-CvwwJhwr.js";import{a as le}from"./dist-DCgncsfc.js";import{n as ue,t as de}from"./src-GGgGZJfE.js";import{r as fe}from"./markdown-headings-CHNl_tgP.js";import{n as pe,t as me}from"./file-search-D2UfqaRv.js";/* empty css *//* empty css */var he=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`;function C(e,t,n){let r=n[0];if(t!=null&&e>=t)throw Error(`${e} >= ${t}`);if(e.slice(-1)===r||t&&t.slice(-1)===r)throw Error(`trailing zero`);if(t){let i=0;for(;(e[i]||r)===t[i];)i++;if(i>0)return t.slice(0,i)+C(e.slice(i),t.slice(i),n)}let i=e?n.indexOf(e[0]):0,a=t==null?n.length:n.indexOf(t[0]);return a-i>1?n[Math.round(.5*(i+a))]:t&&t.length>1?t.slice(0,1):n[i]+C(e.slice(1),null,n)}function ge(e){if(e.length!==_e(e[0]))throw Error(`invalid integer part of order key: ${e}`)}function _e(e){if(e>=`a`&&e<=`z`)return e.charCodeAt(0)-97+2;if(e>=`A`&&e<=`Z`)return 90-e.charCodeAt(0)+2;throw Error(`invalid order key head: ${e}`)}function w(e){let t=_e(e[0]);if(t>e.length)throw Error(`invalid order key: ${e}`);return e.slice(0,t)}function ve(e,t=he){let n=e.split(``).every(e=>t.includes(e));if(e===`A${t[0].repeat(26)}`||!n)throw Error(`invalid order key: ${e}`);let r=w(e);if(e.slice(r.length).slice(-1)===t[0])throw Error(`invalid order key: ${e}`)}function ye(e,t){ge(e);let[n,...r]=e.split(``),i=!0;for(let e=r.length-1;i&&e>=0;e--){let n=t.indexOf(r[e])+1;n===t.length?r[e]=t[0]:(r[e]=t[n],i=!1)}if(i){if(n===`Z`)return`a${t[0]}`;if(n===`z`)return null;let e=String.fromCharCode(n.charCodeAt(0)+1);return e>`a`?r.push(t[0]):r.pop(),e+r.join(``)}return n+r.join(``)}function be(e,t){ge(e);let[n,...r]=e.split(``),i=!0;for(let e=r.length-1;i&&e>=0;e--){let n=t.indexOf(r[e])-1;n===-1?r[e]=t.slice(-1):(r[e]=t[n],i=!1)}if(i){if(n===`a`)return`Z${t.slice(-1)}`;if(n===`A`)return null;let e=String.fromCharCode(n.charCodeAt(0)-1);return e<`Z`?r.push(t.slice(-1)):r.pop(),e+r.join(``)}return n+r.join(``)}function T(e,t,n=he){if(e!=null&&ve(e,n),t!=null&&ve(t,n),e!=null&&t!=null&&e>=t)throw Error(`${e} >= ${t}`);if(e==null){if(t==null)return`a${n[0]}`;let e=w(t),r=t.slice(e.length);if(e===`A${n[0].repeat(26)}`)return e+C(``,r,n);if(e<t)return e;let i=be(e,n);if(i==null)throw Error(`cannot decrement any more`);return i}if(t==null){let t=w(e),r=e.slice(t.length);return ye(t,n)??t+C(r,null,n)}let r=w(e),i=e.slice(r.length),a=w(t),o=t.slice(a.length);if(r===a)return r+C(i,o,n);let s=ye(r,n);if(s==null)throw Error(`cannot increment any more`);return s<t?s:r+C(i,null,n)}function E(e,t,n,r=he){if(n===0)return[];if(n===1)return[T(e,t,r)];if(t==null){let i=T(e,t,r),a=[i];for(let e=0;e<n-1;e++)i=T(i,t,r),a.push(i);return a}if(e==null){let i=T(e,t,r),a=[i];for(let t=0;t<n-1;t++)i=T(e,i,r),a.push(i);return a.reverse(),a}let i=Math.floor(n/2),a=T(e,t,r);return[...E(e,a,i,r),a,...E(a,t,n-i-1,r)]}var xe=/[\uD800-\uDBFF]/,Se=/[\uDC00-\uDFFF]/,Ce=(e,t)=>{let n=0,r=0;for(;n<e.length&&n<t.length&&e[n]===t[n];)n++;for(n>0&&xe.test(e[n-1])&&n--;r+n<e.length&&r+n<t.length&&e[e.length-r-1]===t[t.length-r-1];)r++;return r>0&&Se.test(e[e.length-r])&&r--,{index:n,remove:e.length-n-r,insert:t.slice(n,t.length-r)}},D=`canvas-nodes`,O=`canvas-edges`,k=`canvas-meta`,A=`canvas-node-order`,j=`canvas-edge-order`;function M(){let e=Error(`Invalid JSON Canvas 1.0 document`);return e.code=`CANVAS_INVALID`,e}function N(e){if(!e||typeof e!=`object`||Array.isArray(e))throw M()}function P(e){if(typeof e!=`string`)throw M()}function F(e,t,n=null){if(Object.hasOwn(e,t)&&(P(e[t]),n&&!n.includes(e[t])))throw M()}function we(e){if(Object.hasOwn(e,`color`)&&!/^(?:[1-6]|#[\da-f]{6})$/i.test(e.color))throw M();F(e,`color`)}function I(e){if(N(e),P(e.id),![`text`,`file`,`link`,`group`].includes(e.type))throw M();for(let t of[`x`,`y`,`width`,`height`])if(!Number.isInteger(e[t]))throw M();if(we(e),e.type===`text`&&P(e.text),e.type===`file`&&(P(e.file),F(e,`subpath`),Object.hasOwn(e,`subpath`)&&!e.subpath.startsWith(`#`)))throw M();e.type===`link`&&P(e.url),e.type===`group`&&(F(e,`label`),F(e,`background`),F(e,`backgroundStyle`,[`cover`,`ratio`,`repeat`]))}function L(e){N(e);for(let t of[`id`,`fromNode`,`toNode`])P(e[t]);for(let t of[`fromSide`,`toSide`])F(e,t,[`top`,`right`,`bottom`,`left`]);for(let t of[`fromEnd`,`toEnd`])F(e,t,[`none`,`arrow`]);F(e,`label`),we(e)}function R(e){N(e);for(let t of[`nodes`,`edges`]){if(Object.hasOwn(e,t)&&!Array.isArray(e[t]))throw M();let n=new Set;for(let r of e[t]??[]){if((t===`nodes`?I:L)(r),n.has(r.id))throw M();n.add(r.id)}}let t=new Set((e.nodes??[]).map(e=>e.id));if((e.edges??[]).some(e=>!t.has(e.fromNode)||!t.has(e.toNode)))throw M();return e}function Te(e){try{if(typeof e!=`string`)throw M();return R(JSON.parse(e,(e,t)=>{if(typeof t==`number`&&!Number.isFinite(t))throw M();return t}))}catch{throw M()}}function Ee(e,t){return JSON.stringify(e)===JSON.stringify(t)}function De(e){if(!(e instanceof a))throw M();return Object.fromEntries(Array.from(e,([e,t])=>[e,t instanceof i?t.toString():structuredClone(t)]))}function Oe(e,t){let{index:n,remove:r,insert:i}=Ce(e.toString(),t);r&&e.delete(n,r),i&&e.insert(n,i)}function z(e,t,{textNode:n=!1,replace:r=!1}={}){if(r)for(let n of e.keys())Object.hasOwn(t,n)||e.delete(n);for(let[r,a]of Object.entries(t)){let t=e.get(r);a===void 0?e.delete(r):n&&r===`text`?t instanceof i?Oe(t,a):e.set(r,new i(a)):Ee(t,a)||e.set(r,structuredClone(a))}}function B(e,t,n){let r=e.getMap(n);return Array.from(e.getMap(t),([e,t])=>{let n=De(t);if(n.id!==e)throw M();return n}).sort((e,t)=>{let n=String(r.get(e.id)??``),i=String(r.get(t.id)??``);return n===i?e.id<t.id?-1:+(e.id>t.id):n<i?-1:1})}function ke(e){return e?.getMap(k).get(`schemaVersion`)===1}function Ae(e){if(!ke(e))throw M();let t=e.getMap(k),n=t.get(`properties`),r=n instanceof a?De(n):{},i=B(e,D,A),o=new Set(i.map(e=>e.id)),s=B(e,O,j).filter(e=>(L(e),o.has(e.fromNode)&&o.has(e.toNode)));return(t.get(`nodesPresent`)||i.length)&&(r.nodes=i),(t.get(`edgesPresent`)||s.length)&&(r.edges=s),R(r)}function je(e,t){R(t);let n=e.getMap(k);n.get(`schemaVersion`)!==1&&n.set(`schemaVersion`,1);let r=n.get(`properties`);r instanceof a||(r=new a,n.set(`properties`,r)),z(r,Object.fromEntries(Object.entries(t).filter(([e])=>![`nodes`,`edges`].includes(e))),{replace:!0});for(let[r,i,o]of[[`nodes`,D,A],[`edges`,O,j]]){let s=t[r]??[],c=e.getMap(i),l=e.getMap(o),u=new Set(s.map(e=>e.id));for(let e of c.keys())u.has(e)||c.delete(e);for(let e of l.keys())u.has(e)||l.delete(e);let d=E(null,null,s.length);s.forEach((e,t)=>{let n=c.get(e.id);n instanceof a||(n=new a,c.set(e.id,n)),z(n,e,{replace:!0,textNode:r===`nodes`&&e.type===`text`}),l.get(e.id)!==d[t]&&l.set(e.id,d[t])});let f=Object.hasOwn(t,r);n.get(`${r}Present`)!==f&&n.set(`${r}Present`,f)}return t}function Me(e,t,n,r){let i=e.getMap(n);if(i.has(t.id))throw M();let o=e.getMap(r),s=B(e,n,r),c=E((s.length?o.get(s.at(-1).id):null)??null,null,1)[0],l=new a;return i.set(t.id,l),z(l,t,{textNode:n===`canvas-nodes`&&t.type===`text`}),o.set(t.id,c),!0}function Ne(e,t){return I(t),Me(e,t,D,A)}function Pe(e,t){L(t);let n=e.getMap(D);if(!n.has(t.fromNode)||!n.has(t.toNode))throw M();return Me(e,t,O,j)}function Fe(e,t,n,r,i){let o=e.getMap(r).get(t);if(!(o instanceof a))return!1;N(n);let s=De(o),c=Object.fromEntries(Object.entries({...s,...n}).filter(([,e])=>e!==void 0));if(c.id!==t)throw M();return i(c),!Ee(s,c)&&(z(o,n,{textNode:r===`canvas-nodes`&&c.type===`text`}),!0)}function Ie(e,t,n){return Fe(e,t,n,D,I)}function Le(e,t,n){return Fe(e,t,n,O,t=>{L(t);let n=e.getMap(D);if(!n.has(t.fromNode)||!n.has(t.toNode))throw M()})}function Re(e,t){let n=!1;for(let r of t)e.getMap(`canvas-edges`).has(r)&&(e.getMap(O).delete(r),e.getMap(j).delete(r),n=!0);return n}function ze(e,t){let n=!1,r=new Set(t);for(let t of r)e.getMap(`canvas-nodes`).has(t)&&(e.getMap(D).delete(t),e.getMap(A).delete(t),n=!0);return Re(e,Array.from(e.getMap(`canvas-edges`),([e,t])=>r.has(t.get(`fromNode`))||r.has(t.get(`toNode`))?e:null).filter(e=>e!==null))||n}function Be(e,t,n){if(![`front`,`back`].includes(n))throw M();let r=B(e,D,A);if(!r.some(e=>e.id===t)||r.length<2)return!1;let i=n===`front`?r.at(-1):r[0];if(i.id===t)return!1;let a=e.getMap(A),o=a.get(i.id),s=n===`front`?E(o,null,1)[0]:E(null,o,1)[0];return a.set(t,s),!0}function Ve(e,t){let n=e.getMap(k),r=n.get(`externalConflict`);if(!r)return!1;if(![`local`,`external`].includes(t))throw M();return t===`external`&&je(e,Te(r.content)),n.delete(`externalConflict`),!0}function V(e){return/^[1-6]$/.test(e)?`var(--canvas-color-${e})`:/^#[\da-f]{6}$/i.test(e)?e:`var(--color-border)`}function H(e){let t=String(e??``).replace(/\\/g,`/`);return!t||t.length>4096||/^[/]|[\0?#]|^[a-z][a-z\d+.-]*:/i.test(t)||t.split(`/`).some(e=>!e||e.startsWith(`.`))?null:t}function He(e){try{let t=new URL(e);return[`https:`,`http:`,`mailto:`].includes(t.protocol)?t.href:null}catch{return null}}function Ue(e,t){let n={x:e.x+e.width/2,y:e.y+e.height/2},[r,i]={top:[0,-1],right:[1,0],bottom:[0,1],left:[-1,0]}[t];return{x:n.x+r*e.width/2,y:n.y+i*e.height/2,dx:r,dy:i}}function We(e,t){return[[`left`,Math.abs(t.x-e.x)],[`right`,Math.abs(t.x-e.x-e.width)],[`top`,Math.abs(t.y-e.y)],[`bottom`,Math.abs(t.y-e.y-e.height)]].sort((e,t)=>e[1]-t[1])[0][0]}function Ge(e,t){let n=t.get(e.fromNode),r=t.get(e.toNode);if(!n||!r)return null;let i=r.x+r.width/2-n.x-n.width/2,a=r.y+r.height/2-n.y-n.height/2,o=Math.abs(i)>=Math.abs(a),s=Ue(n,e.fromSide||(o?i>=0?`right`:`left`:a>=0?`bottom`:`top`)),c=Ue(r,e.toSide||(o?i>=0?`left`:`right`:a>=0?`top`:`bottom`)),l=Math.max(40,Math.hypot(c.x-s.x,c.y-s.y)/3);return{path:`M ${s.x} ${s.y} C ${s.x+s.dx*l} ${s.y+s.dy*l}, ${c.x+c.dx*l} ${c.y+c.dy*l}, ${c.x} ${c.y}`,x:(s.x+c.x)/2,y:(s.y+c.y)/2}}function Ke({container:e,markdownText:t,sourceFilePath:n,subpath:r=``,getFileList:i,getLocalUser:a,getTheme:o,onOpenFile:s,vaultApiClient:c}){let l=document.createElement(`div`);l.className=`preview-content canvas-markdown-preview`,e.append(l);let f={getActiveFilePath:()=>n,getLocalUser:a,getTheme:o,onOpenFile:s,previewContainer:e.closest(`.canvas-card-content`),previewElement:l,vaultApiClient:c},p=[new g(f),new h(f),new _(f),new m(f)],v=()=>p.forEach(e=>e.syncLayout?.()),y=new ee({...f,getContent:()=>t,getFileList:i,getSourceFilePath:()=>n,getSubpath:()=>r,getWikiLinkAutoCreate:()=>!1,loadFileSource:async e=>String((await c.readFile(e)).content??``),plantUmlRenderClient:c,onBeforeRenderCommit:()=>p.forEach(e=>e.detachForCommit?.()),onAfterRenderCommit:(e,t)=>{p.forEach(e=>e.reconcileEmbeds(l,t)),l.querySelectorAll(`[data-task-checkbox]`).forEach(e=>{e.disabled=!0})},onPreviewLayoutChange:v}),b=new ResizeObserver(v);b.observe(l);let x=e=>{let t=e.target.closest(`a[href]`);if(!t)return;let r=t.getAttribute(`href`)||``,a=t.dataset.wikiTarget;if(a){e.preventDefault();let[t,n]=a.split(`#`),r=d(t,i());r&&s(r,n?`#${n}`:``)}else if(r.startsWith(`#`)){e.preventDefault();let t;try{t=decodeURIComponent(r.slice(1))}catch{return}let i=[...l.querySelectorAll(`[id]`)].find(e=>e.id===t);i?i.scrollIntoView({block:`nearest`}):!t||t===`top`?f.previewContainer.scrollTo({top:0}):s(n,r)}else if(!/^(?:[a-z][a-z\d+.-]*:|\/\/)/i.test(r)){e.preventDefault();let[t,i]=r.split(`#`),a;try{a=H(u(n,decodeURIComponent(t)))}catch{return}a&&s(a,i?`#${i}`:``)}};return l.addEventListener(`click`,x),y.queueRender(),{applyTheme(e){y.applyTheme(e),p.forEach(t=>t.updateTheme?.(e))},destroy(){b.disconnect(),l.removeEventListener(`click`,x),y.destroy(),p.forEach(e=>e.destroy()),l.remove()}}}var qe=class{constructor({filePath:e,user:t,readFile:n,onChange:r,onAwareness:i,onConnection:a,providerFactory:o=(...e)=>new re(...e),wsBaseUrl:l=x()}){Object.assign(this,{filePath:e,user:t,readFile:n,onChange:r,onAwareness:i,onConnection:a,providerFactory:o,wsBaseUrl:l}),this.doc=new c,this.localOrigin=Symbol(`canvas-edit`),this.meta=this.doc.getMap(k),this.undoManager=new s([this.doc.getMap(D),this.doc.getMap(O),this.doc.getMap(A),this.doc.getMap(j)],{trackedOrigins:new Set([this.localOrigin]),captureTimeout:500}),this.pendingFlushes=new Map,this.localVersion=0,this.acknowledgedVersion=0,this.hasEverConnected=!1,this.destroyed=!1,this.fallback=null,this.error=``,this.offline=globalThis.navigator?.onLine===!1,this.handleOffline=()=>{this.offline=!0,this.provider?.disconnect(),this.publish()},this.handleOnline=()=>{this.offline&&(this.offline=!1,this.provider?.connect(),this.publish())}}get canEdit(){return!(!this.provider?.synced||!ke(this.doc)||this.error||this.meta.get(`externalConflict`)||this.disconnecting||this.offline)}get hasPendingWrites(){return this.localVersion>this.acknowledgedVersion}async connect(){this.doc.on(`update`,(e,t)=>{t!==this.provider&&(this.localVersion+=1,clearTimeout(this.flushTimer),this.flushTimer=setTimeout(()=>{this.flush()},400)),this.publish()}),this.provider=this.providerFactory(this.wsBaseUrl,this.filePath,this.doc,{disableBc:!0,maxBackoffTime:5e3}),ie(this.provider),this.provider.messageHandlers[5]=(e,t)=>{let r=n(t);this.pendingFlushes.get(r)?.(!0)},this.awareness=this.provider.awareness,this.setUser(this.user),this.awareness.on(`change`,()=>this.publishAwareness()),this.provider.on(`status`,({status:e})=>{let t=e===`connected`&&!this.hasEverConnected;e===`connected`&&(this.hasEverConnected=!0),this.onConnection?.({status:e,firstConnection:t,hasEverConnected:this.hasEverConnected,attempts:0}),this.publish()}),this.provider.on(`sync`,()=>{this.publish(),this.provider.synced&&this.hasPendingWrites&&this.flush()}),globalThis.window?.addEventListener(`offline`,this.handleOffline),globalThis.window?.addEventListener(`online`,this.handleOnline),this.offline&&this.provider.disconnect(),this.publish();try{let e=await this.readFile(this.filePath);if(this.destroyed)return;this.fallback=Te(e.content)}catch(e){if(this.destroyed)return;this.error=e.message||`Unable to open canvas`}this.publish()}publish(){if(this.destroyed)return;let e=this.fallback;if(ke(this.doc))try{e=Ae(this.doc),this.error=``}catch{this.error=`Canvas data is invalid. Editing is paused to protect the file.`}else this.meta.get(`invalidContent`)&&(this.error=`Invalid JSON Canvas file. The original file has been preserved.`);this.onChange?.({document:e,canEdit:this.canEdit,synced:!!this.provider?.synced,conflict:this.meta.get(`externalConflict`),error:this.error,undoAvailable:this.undoManager.canUndo(),redoAvailable:this.undoManager.canRedo()})}mutate(e,{separateUndo:t=!0}={}){return this.canEdit?(t&&this.undoManager.stopCapturing(),this.doc.transact(()=>e(this.doc),this.localOrigin),t&&this.undoManager.stopCapturing(),!0):!1}undo(){this.canEdit&&(this.undoManager.undo(),this.publish())}redo(){this.canEdit&&(this.undoManager.redo(),this.publish())}setUser(e){this.user=e,this.awareness?.setLocalStateField(`user`,e)}setPresence(e,t){this.awareness?.setLocalStateField(e,t)}publishAwareness(){let e=[];this.awareness?.getStates().forEach((t,n)=>{t.user&&e.push({...t.user,clientId:n,isLocal:n===this.doc.clientID,pointer:t.pointer,selectedNodeIds:t.selectedNodeIds})}),this.onAwareness?.(e)}flush(n=5e3){if(!this.hasPendingWrites)return Promise.resolve(!0);let i=this.provider?.ws;if(!this.provider?.synced||i?.readyState!==1)return Promise.resolve(!1);let a=this.localVersion,s=`canvas-${this.doc.clientID}-${crypto.randomUUID()}`;return new Promise(c=>{let l=e=>{clearTimeout(u),this.pendingFlushes.delete(s),e&&(this.acknowledgedVersion=Math.max(this.acknowledgedVersion,a)),c(e&&!this.hasPendingWrites)},u=setTimeout(()=>l(!1),n);this.pendingFlushes.set(s,l);try{let n=o();e(n,4),r(n,s),i.send(t(n))}catch{l(!1)}})}async prepareDisconnect(){this.disconnecting=!0,this.publish();let e=await this.flush();return this.disconnecting=!1,this.publish(),e}destroy(){this.destroyed=!0,globalThis.window?.removeEventListener(`offline`,this.handleOffline),globalThis.window?.removeEventListener(`online`,this.handleOnline),clearTimeout(this.flushTimer),[...this.pendingFlushes.values()].forEach(e=>e(!1)),this.provider?.destroy(),this.undoManager.destroy(),this.doc.destroy()}};function Je({parent:e,text:t,awareness:n,undoManager:r,onClose:i}){let a=new ae,o=!1,s=new S({parent:e,state:se.create({doc:t.toString(),extensions:[le(),S.lineWrapping,S.contentAttributes.of({"aria-label":`Edit canvas text`}),a.of(S.editable.of(!0)),de(t,n,{undoManager:r}),oe.of([{key:`Escape`,run:()=>(i(),!0)},...ue,...ce])]})});return s.focus(),{text:t,destroy:()=>s.destroy(),setReadOnly:e=>{o!==e&&(o=e,s.dispatch({effects:a.reconfigure(S.editable.of(!o))}))}}}function Ye({root:e,title:t,loadChoices:n,onChoose:r,canChoose:i}){let a=document.activeElement,o=document.createElement(`dialog`);o.className=`canvas-picker`;let s=document.createElement(`h2`);s.id=`canvas-picker-${crypto.randomUUID()}`,s.textContent=t,o.setAttribute(`aria-labelledby`,s.id);let c=document.createElement(`button`);c.type=`button`,c.className=`canvas-button`,c.textContent=`Close`;let l=document.createElement(`header`);l.append(s,c);let u=document.createElement(`input`);u.type=`search`,u.placeholder=t,u.setAttribute(`aria-label`,t),u.setAttribute(`role`,`combobox`),u.setAttribute(`aria-autocomplete`,`list`),u.setAttribute(`aria-expanded`,`true`),u.autocomplete=`off`;let d=document.createElement(`div`);d.id=`${s.id}-results`,d.className=`canvas-picker-results`,d.setAttribute(`role`,`listbox`),d.setAttribute(`aria-label`,`Suggestions`),u.setAttribute(`aria-controls`,d.id);let f=document.createElement(`p`);f.className=`canvas-picker-status`,f.setAttribute(`role`,`status`),f.textContent=`Loading…`,o.append(l,u,d,f),e.append(o);let p=[],m=[],h=0,g=!1,_=()=>{g||(g=!0,o.close(),o.remove(),a?.isConnected&&a.focus({preventScroll:!0}))},ee=e=>{e&&(i()?(_(),r(e.value)):f.textContent=`This selection is no longer available. Close and try again.`)},v=e=>{h=Math.max(0,Math.min(m.length-1,e)),[...d.children].forEach((e,t)=>e.setAttribute(`aria-selected`,String(t===h)));let t=d.children[h];t?(u.setAttribute(`aria-activedescendant`,t.id),t.scrollIntoView({block:`nearest`})):u.removeAttribute(`aria-activedescendant`)},y=()=>{let e=u.value.trim().toLowerCase(),t=p.map(t=>({choice:t,score:e?pe(t.search,e)?.score:1})).filter(({score:e})=>e!==void 0).sort((e,t)=>t.score-e.score);m=t.slice(0,100).map(({choice:e})=>e),d.replaceChildren(...m.map((e,t)=>{let n=document.createElement(`button`);n.type=`button`,n.tabIndex=-1,n.id=`${d.id}-${t}`,n.setAttribute(`role`,`option`);let r=document.createElement(`span`);r.textContent=e.label;let i=document.createElement(`small`);return i.textContent=e.detail||``,n.append(r,i),n.addEventListener(`click`,()=>ee(e)),n})),f.textContent=t.length>100?`Showing the first 100 matches. Type to narrow the list.`:t.length?`↑ ↓ to navigate · Enter to choose · Esc to close`:`No matches.`,v(0)};return c.addEventListener(`click`,_),o.addEventListener(`cancel`,e=>{e.preventDefault(),_()}),o.addEventListener(`click`,e=>{let t=o.getBoundingClientRect();e.target===o&&(e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom)&&_()}),o.addEventListener(`keydown`,e=>{e.stopPropagation(),e.key===`Escape`?(e.preventDefault(),_()):e.target===u&&([`ArrowDown`,`ArrowUp`,`Enter`].includes(e.key)&&e.preventDefault(),e.key===`ArrowDown`&&v(h+1),e.key===`ArrowUp`&&v(h-1),e.key===`Enter`&&ee(m[h]))}),u.addEventListener(`input`,y),o.showModal(),u.focus(),Promise.resolve().then(n).then(e=>{g||(p=e.map(e=>({...e,search:me(e.searchText||`${e.label} ${e.detail||``}`)})),y())}).catch(()=>{g||(f.textContent=`Suggestions unavailable. Close and try again.`)}),{close:_}}var Xe=`http://www.w3.org/2000/svg`,U={text:`Text card`,file:`File card`,link:`Link card`,group:`Group`},Ze={text:`M14 3H5v18h14V8Z M14 3v5h5`,file:`M14 3H5v18h14V8Z M14 3v5h5 M8 12h8 M8 16h6`,link:`M10 13a5 5 0 0 0 7 0l3-3a5 5 0 0 0-7-7l-2 2 M14 11a5 5 0 0 0-7 0l-3 3a5 5 0 0 0 7 7l2-2`,group:`M8 3H3v5 M16 3h5v5 M21 16v5h-5 M8 21H3v-5 M11 3h2 M21 11v2 M11 21h2 M3 11v2`,edit:`m16 3 5 5-12 12-6 1 1-6Z M13 6l5 5`,color:`M12 3a9 9 0 1 0 0 18h1a2 2 0 0 0 0-4 2 2 0 0 1 0-4h4a4 4 0 0 0 4-4c0-3-4-6-9-6Z M7 10h.01 M10 7h.01 M15 7h.01`,section:`M9 3 7 21 M17 3l-2 18 M4 8h16 M3 16h16`,properties:`M4 6h6 M14 6h6 M4 12h10 M18 12h2 M4 18h2 M10 18h10 M10 3v6 M14 9v6 M6 15v6`,delete:`M3 6h18 M9 6V3h6v3 M5 6l1 15h12l1-15 M10 10v7 M14 10v7`,undo:`M3 10h10a7 7 0 0 1 7 7 M3 10l5-5 M3 10l5 5`,redo:`M21 10H11a7 7 0 0 0-7 7 M21 10l-5-5 M21 10l-5 5`,plus:`M12 5v14 M5 12h14`,minus:`M5 12h14`,fit:`M8 3H3v5 M16 3h5v5 M21 16v5h-5 M8 21H3v-5`,open:`M14 3h7v7 M21 3 10 14 M10 3H3v18h18v-7`,close:`m6 6 12 12 M18 6 6 18`,resize:`m9 20 11-11 M15 20l5-5`,help:`M21 12a9 9 0 1 0-18 0 9 9 0 0 0 18 0 M9 9a3 3 0 0 1 6 0c0 2-3 2-3 4 M12 17h.01`};function W(e){let t=q(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":1.6,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`});return t.append(q(`path`,{d:Ze[e]})),t}function G(e,t,n){let r=document.createElement(e);return t&&(r.className=t),n!==void 0&&(r.textContent=n),r}function K(e,t,n){let r=G(`button`,`canvas-button`);return r.type=`button`,r.title=e,r.setAttribute(`aria-label`,e),n?(r.classList.add(`canvas-icon-button`),r.append(W(n))):r.textContent=e,r.addEventListener(`click`,t),r}function q(e,t={}){let n=document.createElementNS(Xe,e);return Object.entries(t).forEach(([e,t])=>n.setAttribute(e,t)),n}var Qe=class{constructor({root:e,actions:t,createTextEditor:n,createMarkdownPreview:r,getText:i,readFile:a,readTree:o,attachmentUrl:s,onOpenFile:c,vaultId:l=``}){Object.assign(this,{root:e,actions:t,createTextEditor:n,createMarkdownPreview:r,getText:i,readFile:a,readTree:o,attachmentUrl:s,onOpenFile:c,vaultId:l}),this.nodes=new Map,this.selection=new Set,this.document={nodes:[],edges:[]},this.viewport={x:80,y:80,zoom:1},this.lastWheelPan=-1/0,this.canEdit=!1,this.selectedEdge=null,this.activeEditor=null,this.users=[],this.inspectorOpen=!1,this.abort=new AbortController,this.mount()}mount(){this.root.replaceChildren(),this.root.classList.add(`canvas-editor`),this.toolbar=G(`div`,`canvas-toolbar`),this.toolbar.setAttribute(`role`,`toolbar`),this.toolbar.setAttribute(`aria-label`,`Canvas tools`),this.editButtons=[],Object.entries(U).forEach(([e,t])=>{let n=K(`+ ${t}`,()=>this.addNode(e),e);n.title=`Add ${t.toLowerCase()}`,this.toolbar.append(n),this.editButtons.push(n)}),this.connectButton=K(`Connect`,()=>this.beginConnection(),`link`),this.deleteButton=K(`Delete`,()=>this.removeSelection(),`delete`),this.undoButton=K(`Undo`,()=>this.actions.undo(),`undo`),this.redoButton=K(`Redo`,()=>this.actions.redo(),`redo`),this.status=G(`span`,`canvas-status`,`Connecting…`),this.status.setAttribute(`role`,`status`),this.banner=G(`div`,`canvas-banner`),this.banner.hidden=!0,this.banner.setAttribute(`role`,`alert`),this.body=G(`div`,`canvas-body`),this.stage=G(`div`,`canvas-stage`),this.stage.tabIndex=0,this.stage.setAttribute(`aria-label`,`Canvas. Drag to select. Space-drag to pan. Use arrow keys to move selected cards.`),this.world=G(`div`,`canvas-world`),this.edges=q(`svg`,{class:`canvas-edges`,"aria-label":`Connections`}),this.world.append(this.edges),this.cursors=G(`div`,`canvas-cursors`),this.world.append(this.cursors),this.stage.append(this.world),this.emptyState=G(`div`,`canvas-empty-state`),this.emptyState.hidden=!0,this.emptyState.append(G(`strong`,``,`Start your canvas`),G(`span`,``,`Double-click to add text, or choose a card below.`)),this.mountSelectionToolbar(),this.inspector=G(`aside`,`canvas-inspector`),this.inspector.setAttribute(`aria-label`,`Canvas selection`),this.inspector.id=`canvas-properties`,this.inspector.hidden=!0,this.body.append(this.stage,this.inspector),this.navigation=G(`div`,`canvas-navigation`),this.navigation.setAttribute(`role`,`toolbar`),this.navigation.setAttribute(`aria-label`,`Canvas navigation`);let e=G(`div`,`canvas-tool-group`);this.zoomLabel=K(`Reset zoom`,()=>this.zoomBy(1/this.viewport.zoom)),this.zoomLabel.classList.add(`canvas-zoom-label`),e.append(K(`Zoom in`,()=>this.zoomBy(1.25),`plus`),this.zoomLabel,K(`Fit canvas`,()=>this.fit(),`fit`),K(`Zoom out`,()=>this.zoomBy(.8),`minus`));let t=G(`div`,`canvas-tool-group`);t.append(this.undoButton,this.redoButton),this.helpMenu=G(`details`,`canvas-help-menu canvas-tool-group`);let n=G(`summary`,`canvas-button canvas-icon-button`);n.title=`Canvas help`,n.setAttribute(`aria-label`,`Canvas help`),n.append(W(`help`));let r=G(`div`,`canvas-help-content`);r.append(G(`strong`,``,`Canvas shortcuts`));for(let[e,t]of[[`Double-click`,`Add or edit text`],[`Drag a card`,`Move it`],[`Drag background`,`Select cards`],[`Drag a group`,`Move its enclosed cards`],[`Shift-drag`,`Select inside a group`],[`Space / middle-drag`,`Pan canvas`],[`Ctrl / ⌘ + scroll`,`Zoom`],[`Shift + 1 / 2`,`Fit canvas / selection`],[`Drag a dot`,`Connect cards`],[`Choose section`,`Show a Markdown heading`]]){let n=G(`div`);n.append(G(`span`,``,e),G(`span`,``,t)),r.append(n)}this.helpMenu.append(n,r),this.navigation.append(e,t,this.helpMenu),this.help=G(`span`,`canvas-help`),this.help.setAttribute(`role`,`status`),this.stage.append(this.emptyState,this.toolbar,this.navigation,this.status,this.help),this.root.append(this.banner,this.body);let i=this.abort.signal;this.stage.addEventListener(`pointerdown`,e=>this.startPan(e),{signal:i}),this.stage.addEventListener(`dblclick`,e=>{if(e.target===this.stage){let t=this.stage.getBoundingClientRect();this.addNode(`text`,this.toWorld(e.clientX-t.left,e.clientY-t.top))}},{signal:i}),this.stage.addEventListener(`pointermove`,e=>this.publishPointer(e),{signal:i}),this.stage.addEventListener(`pointerleave`,()=>this.actions.presence(`pointer`,null),{signal:i}),this.stage.addEventListener(`dragover`,e=>{this.canEdit&&e.dataTransfer?.types.includes(`application/x-collabmd-vault-file`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},{signal:i}),this.stage.addEventListener(`drop`,e=>{this.dropFile(e)},{signal:i}),this.stage.addEventListener(`wheel`,e=>{if(e.defaultPrevented||e.target.closest(`.canvas-selection-toolbar, .canvas-navigation, .canvas-toolbar`))return;let t=e.ctrlKey||e.metaKey||this.spaceHeld,n=e.target.closest(`.canvas-card-content`);if(!t&&n&&e.timeStamp-this.lastWheelPan>200){let t=e.shiftKey||Math.abs(e.deltaX)>Math.abs(e.deltaY),r=t&&!e.shiftKey?e.deltaX:e.deltaY;for(let i=e.target;n.contains(i);i=i.parentElement){let e=getComputedStyle(i);if(!/(auto|scroll)/.test(e[t?`overflowX`:`overflowY`]))continue;let n=t?i.scrollLeft:i.scrollTop,a=t?i.scrollWidth-i.clientWidth:i.scrollHeight-i.clientHeight;if(r<0?n>0:r>0&&n<a-1)return;if(e[t?`overscrollBehaviorX`:`overscrollBehaviorY`]!==`auto`)break}}e.preventDefault(),t?this.zoomBy(Math.exp(-e.deltaY*.005),e.clientX,e.clientY):(this.lastWheelPan=e.timeStamp,this.viewport.x-=e.shiftKey?e.deltaY:e.deltaX,this.viewport.y-=e.shiftKey?0:e.deltaY,this.applyViewport())},{signal:i,passive:!1}),this.root.addEventListener(`keydown`,e=>this.onKeyDown(e),{signal:i}),this.root.addEventListener(`pointerdown`,e=>{this.lastWheelPan=-1/0,[this.colorMenu,this.helpMenu].forEach(t=>{t.contains(e.target)||(t.open=!1)})},{signal:i,capture:!0}),window.addEventListener(`keyup`,e=>{e.code===`Space`&&(this.spaceHeld=!1)},{signal:i}),window.addEventListener(`blur`,()=>{this.spaceHeld=!1,this.cancelGesture?.()},{signal:i}),this.resizeObserver=new ResizeObserver(()=>this.positionSelectionToolbar()),this.resizeObserver.observe(this.stage),this.renderInspector(),this.applyViewport()}mountSelectionToolbar(){this.selectionToolbar=G(`div`,`canvas-selection-toolbar`),this.selectionToolbar.setAttribute(`role`,`toolbar`),this.selectionToolbar.setAttribute(`aria-label`,`Selection actions`),this.selectionToolbar.hidden=!0,this.editTextButton=K(`Edit text`,()=>this.openTextEditor([...this.selection][0]),`edit`),this.fileButton=K(`Change file`,()=>this.openFilePicker([...this.selection][0]),`file`),this.headingButton=K(`Choose section`,()=>this.openHeadingPicker([...this.selection][0])),this.headingButton.prepend(W(`section`)),this.labelInput=G(`input`,`canvas-connection-label`),this.labelInput.placeholder=`Connection label`,this.labelInput.setAttribute(`aria-label`,`Connection label`),this.labelInput.addEventListener(`change`,()=>{this.canEdit&&this.selectedEdge&&this.actions.updateEdge(this.selectedEdge,{label:this.labelInput.value||void 0})}),this.labelInput.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),this.labelInput.blur()),e.key===`Escape`&&(this.labelInput.value=(this.document.edges??[]).find(e=>e.id===this.selectedEdge)?.label||``,this.labelInput.blur())}),this.colorMenu=G(`details`,`canvas-color-menu`);let e=G(`summary`,`canvas-button canvas-icon-button`);e.title=`Set color`,e.setAttribute(`aria-label`,`Set color`),e.append(W(`color`)),this.colorMenu.append(e);let t=G(`div`,`canvas-colors`);[``,`1`,`2`,`3`,`4`,`5`,`6`].forEach(e=>{let n=K(``,()=>{this.setSelectionColor(e||void 0),this.colorMenu.open=!1});n.setAttribute(`aria-label`,e?`Color ${e}`:`Default color`),n.title=e?`Color ${e}`:`Default color`,n.style.setProperty(`--canvas-color`,V(e)),t.append(n)});let n=G(`input`);n.type=`color`,n.setAttribute(`aria-label`,`Custom color`),n.addEventListener(`change`,()=>this.setSelectionColor(n.value)),t.append(n),this.colorMenu.append(t),this.propertiesButton=K(`Properties`,()=>{this.inspectorOpen=!this.inspectorOpen,this.renderInspector(),this.positionSelectionToolbar()},`properties`),this.propertiesButton.setAttribute(`aria-controls`,`canvas-properties`),this.fitSelectionButton=K(`Fit selection`,()=>this.fit([...this.selection]),`fit`),this.selectionToolbar.append(this.editTextButton,this.fileButton,this.headingButton,this.labelInput,this.colorMenu,this.connectButton,this.fitSelectionButton,this.propertiesButton,this.deleteButton),this.stage.append(this.selectionToolbar)}updateSelectionToolbar(){let e=this.selection.size===1?this.getNode([...this.selection][0]):null,t=(this.document.edges??[]).find(e=>e.id===this.selectedEdge);this.selectionToolbar.hidden=!e&&!t&&!this.selection.size,this.editTextButton.hidden=e?.type!==`text`,this.fileButton.hidden=e?.type!==`file`,this.headingButton.hidden=e?.type!==`file`||!/\.(md|markdown|mdx)$/i.test(e.file),this.labelInput.hidden=!t,this.connectButton.hidden=!this.selection.size,this.fitSelectionButton.hidden=!this.selection.size,document.activeElement!==this.labelInput&&(this.labelInput.value=t?.label||``),[this.editTextButton,this.fileButton,this.headingButton,this.labelInput].forEach(e=>{e.disabled=!this.canEdit}),this.colorMenu.querySelectorAll(`button, input`).forEach(e=>{e.disabled=!this.canEdit}),this.propertiesButton.setAttribute(`aria-expanded`,String(!this.inspector.hidden)),this.positionSelectionToolbar()}positionSelectionToolbar(){if(this.selectionToolbar.hidden)return;let e=this.stage.getBoundingClientRect(),t=[...this.selection].map(e=>this.nodes.get(e)?.card.getBoundingClientRect()).filter(Boolean);if(!t.length){let e=[...this.edges.querySelectorAll(`[data-edge-id]`)].find(e=>e.dataset.edgeId===this.selectedEdge);e&&t.push(e.getBoundingClientRect())}if(!t.length)return;let n=Math.min(...t.map(e=>e.left)),r=Math.max(...t.map(e=>e.right)),i=[...this.selection].some(e=>this.getNode(e)?.type!==`text`)?28:0,a=Math.min(...t.map(e=>e.top))-i,o=this.selectionToolbar.offsetWidth;this.selectionToolbar.style.left=`${Math.max(8,Math.min(e.width-o-64,(n+r)/2-e.left-o/2))}px`,this.selectionToolbar.style.top=`${Math.max(8,Math.min(e.height-this.selectionToolbar.offsetHeight-8,a-e.top-this.selectionToolbar.offsetHeight-10))}px`}setSelectionColor(e){this.canEdit&&(this.selectedEdge?this.actions.updateEdge(this.selectedEdge,{color:e}):this.actions.updateNodes([...this.selection].map(t=>({id:t,patch:{color:e}}))))}openFilePicker(e=null,t=null){this.canEdit&&(this.picker?.close(),this.picker=Ye({root:this.root,title:`Choose a Vault file`,canChoose:()=>this.canEdit&&(!e||this.getNode(e)?.type===`file`),loadChoices:async()=>v((await this.readTree()).tree??[]).files.filter(H).sort().map(e=>({value:e,label:e.split(`/`).pop(),detail:e,searchText:e})),onChoose:n=>{e?this.getNode(e)?.file!==n&&this.actions.updateNode(e,{file:n,subpath:void 0}):this.addNode(`file`,t,{file:n})}}))}openHeadingPicker(e){let t=this.getNode(e);if(!this.canEdit||t?.type!==`file`)return;let n=t.file;this.picker?.close(),this.picker=Ye({root:this.root,title:`Choose a heading`,canChoose:()=>this.canEdit&&this.getNode(e)?.type===`file`&&this.getNode(e).file===n,loadChoices:async()=>{let{content:e}=await this.readFile(n);return[{value:``,label:`Whole file`,detail:n},...fe(e).map(({id:e,text:t})=>({value:`#${e}`,label:t,detail:`#${e}`}))]},onChoose:t=>this.actions.updateNode(e,{subpath:t||void 0})})}async dropFile(e){if(e.preventDefault(),this.canEdit)try{let t=JSON.parse(e.dataTransfer?.getData(`application/x-collabmd-vault-file`)||`null`);if(!t||t.vaultId!==this.vaultId||!H(t.path))return;let n=this.stage.getBoundingClientRect(),r=this.toWorld(e.clientX-n.left,e.clientY-n.top),i=v((await this.readTree()).tree??[]).files;!this.abort.signal.aborted&&this.canEdit&&i.includes(t.path)&&this.addNode(`file`,r,{file:t.path})}catch{this.status.textContent=`Unable to add this file. Choose a file from this Vault.`}}update({document:e,canEdit:t,synced:n,conflict:r,error:i,undoAvailable:a,redoAvailable:o}){if(this.canEdit=t,this.status.textContent=i||(r?`External file conflict`:t?`Live`:n?`Read only`:`Reconnecting…`),this.status.dataset.state=t?`live`:`readonly`,this.root.dataset.ready=String(!!e),this.root.dataset.editable=String(t),this.editButtons.forEach(e=>{e.disabled=!t}),this.connectButton.disabled=!t||this.selection.size===0,this.deleteButton.disabled=!t||!this.selection.size&&!this.selectedEdge,this.undoButton.disabled=!t||!a,this.redoButton.disabled=!t||!o,this.activeEditor?.editor.setReadOnly(!t),t||this.cancelGesture?.(),this.inspector.querySelectorAll(`input, select, .canvas-order button`).forEach(e=>{e.disabled=!t}),this.renderConflict(r,n),!e)return;this.document=e,this.emptyState.hidden=!!e.nodes?.length,this.activeEditor&&(this.getNode(this.activeEditor.id)?.type!==`text`||this.getText(this.activeEditor.id)!==this.activeEditor.editor.text)&&this.closeTextEditor();let s=new Set((e.nodes??[]).map(e=>e.id));for(let[e,t]of this.nodes)s.has(e)||(this.activeEditor?.id===e&&this.closeTextEditor(),t.preview?.destroy(),t.card.remove(),this.nodes.delete(e),this.selection.delete(e));(e.nodes??[]).forEach((e,t)=>this.renderNode(e,t)),this.selectedEdge&&!(e.edges??[]).some(e=>e.id===this.selectedEdge)&&(this.selectedEdge=null),this.renderEdges(),this.inspector.contains(document.activeElement)?this.syncInspectorFields?.():this.renderInspector(),this.updateSelectionToolbar(),this.renderPresence(this.users),!this.didFit&&this.stage.clientWidth&&(this.fit(),this.didFit=!0)}renderConflict(e,t){let n=JSON.stringify([e,t]);if(n===this.conflictSignature||(this.conflictSignature=n,this.banner.replaceChildren(),this.banner.hidden=!e,!e))return;this.banner.append(G(`span`,``,e.invalid?`The file changed outside CollabMD and is invalid. Your canvas edits are preserved.`:`The file changed outside CollabMD. Choose which version to keep.`));let r=K(`Keep canvas edits`,()=>this.actions.resolveConflict(`local`));r.disabled=!t,this.banner.append(r);let i=K(`Use external version`,()=>this.actions.resolveConflict(`external`));i.disabled=!t||e.invalid,this.banner.append(i)}renderNode(e,t){let n=this.nodes.get(e.id);if(!n){let t=G(`article`,`canvas-card`);t.dataset.nodeId=e.id,t.tabIndex=0;let r=G(`div`,`canvas-card-header`),i=G(`span`,`canvas-card-title`),a=K(`Open file`,()=>{let t=this.getNode(e.id);t?.type===`file`&&this.onOpenFile(t.file,t.subpath)},`open`);a.classList.add(`canvas-open-file`),r.append(i,a);let o=G(`div`,`canvas-card-content`),s=K(`Resize`,()=>{},`resize`);s.classList.add(`canvas-resize`),t.append(r,o,s),this.world.append(t),n={card:t,header:r,title:i,content:o,resize:s,openFile:a},this.nodes.set(e.id,n),t.addEventListener(`pointerdown`,t=>this.startNodeDrag(t,e.id)),t.addEventListener(`dblclick`,t=>{t.target.closest(`a, button, input, textarea, select, .diagram-preview-shell`)||this.getNode(e.id)?.type===`text`&&this.openTextEditor(e.id)}),t.addEventListener(`keydown`,n=>{n.target===t&&[`Enter`,` `].includes(n.key)&&(n.preventDefault(),n.stopPropagation(),n.key===` `&&(this.spaceHeld=!0),this.select(e.id,n.shiftKey),n.key===`Enter`&&this.getNode(e.id)?.type===`text`&&this.openTextEditor(e.id))}),s.addEventListener(`pointerdown`,t=>this.startNodeDrag(t,e.id,!0));for(let n of[`top`,`right`,`bottom`,`left`]){let r=K(``,t=>{t.detail===0&&this.beginConnection(e.id,n)});r.classList.add(`canvas-connection-handle`),r.dataset.side=n,r.setAttribute(`aria-label`,`Connect from ${n}`),r.title=`Drag to connect from ${n}`,r.addEventListener(`pointerdown`,t=>this.startConnection(t,e.id,n)),t.append(r)}}let r=JSON.stringify([e.type,e.text,e.file,e.subpath,e.url,e.background,e.backgroundStyle]);if(n.signature!==r&&(n.headingLabel=``),n.card.dataset.type=e.type,n.card.style.left=`${e.x}px`,n.card.style.top=`${e.y}px`,n.card.style.width=`${Math.max(1,e.width)}px`,n.card.style.height=`${Math.max(1,e.height)}px`,n.card.style.zIndex=String(t+1),n.card.style.setProperty(`--canvas-color`,V(e.color)),n.header.hidden=e.type===`text`,n.title.textContent=e.type===`group`?e.label||`Group`:e.type===`file`?`${e.file.split(`/`).pop()||`Choose a file`}${e.subpath?` › ${n.headingLabel||e.subpath.slice(1)}`:``}`:e.url,n.title.title=e.type===`file`?`${e.file}${e.subpath||``}`:n.title.textContent,n.openFile.hidden=e.type!==`file`||!H(e.file),n.openFile.setAttribute(`aria-label`,`Open ${e.file||``}${e.subpath||``}`),n.openFile.title=`Open ${e.file||``}${e.subpath||``}`,n.card.setAttribute(`aria-label`,`${U[e.type]}: ${e.text?.slice(0,80)||e.label||e.file||e.url||``}`),n.card.classList.toggle(`is-selected`,this.selection.has(e.id)),n.resize.disabled=!this.canEdit,n.card.querySelectorAll(`.canvas-connection-handle`).forEach(e=>{e.disabled=!this.canEdit}),this.activeEditor?.id!==e.id&&n.signature!==r){if(n.signature=r,n.preview?.destroy(),n.preview=null,n.content.replaceChildren(),n.content.style.backgroundImage=``,e.type===`text`&&(n.preview=this.createMarkdownPreview(n.content,e.text)),e.type===`link`){let t=He(e.url),r=G(t?`a`:`span`,`canvas-card-link`,e.url);t&&Object.assign(r,{href:t,target:`_blank`,rel:`noopener noreferrer`}),n.content.append(r)}if(e.type===`file`&&this.renderFile(n,e,r),e.type===`group`&&e.background){let t=H(e.background);t&&(n.content.style.backgroundImage=`url("${this.attachmentUrl(t)}")`),n.content.dataset.backgroundStyle=e.backgroundStyle||`cover`}}}async renderFile(e,t,n){let r=H(t.file);if(!r)e.content.append(G(`span`,``,`This file path is unavailable in the Vault.`));else if(/\.(png|jpe?g|gif|webp|svg)$/i.test(r)){let t=G(`img`,`canvas-file-image`);t.src=this.attachmentUrl(r),t.alt=r,t.loading=`lazy`,t.addEventListener(`error`,()=>{t.replaceWith(G(`p`,``,`Image unavailable`))}),e.content.append(t)}else if(/\.(md|markdown|mdx)$/i.test(r)){let i=G(`div`,`canvas-file-markdown`);e.content.append(i);try{let a=await this.readFile(r);e.signature===n&&i.isConnected&&(e.headingLabel=fe(a.content).find(({id:e})=>`#${e}`===t.subpath)?.text||``,e.title.textContent=`${r.split(`/`).pop()}${t.subpath?` › ${e.headingLabel||t.subpath.slice(1)}`:``}`,e.preview=this.createMarkdownPreview(i,a.content,r,t.subpath),e.content.scrollTop=0)}catch{e.signature===n&&(i.textContent=`File unavailable`)}}else e.content.append(G(`p`,``,`Open this file in the workspace.`))}getNode(e){return(this.document.nodes??[]).find(t=>t.id===e)}select(e,t=!1){this.connectFrom&&e!==this.connectFrom.id&&this.canEdit&&(this.actions.addEdge({fromNode:this.connectFrom.id,toNode:e,...this.connectFrom.side?{fromSide:this.connectFrom.side}:{}}),this.connectFrom=null,this.help.textContent=`Connection added`),this.closeTextEditor(),this.selectedEdge=null,t?this.selection.has(e)?this.selection.delete(e):this.selection.add(e):this.selection=new Set([e]),this.syncSelection()}syncSelection(){this.nodes.forEach(({card:e},t)=>e.classList.toggle(`is-selected`,this.selection.has(t))),this.actions.presence(`selectedNodeIds`,[...this.selection]),this.connectButton.disabled=!this.canEdit||!this.selection.size,this.deleteButton.disabled=!this.canEdit||!this.selection.size&&!this.selectedEdge,this.renderInspector(),this.edges.querySelectorAll(`[data-edge-id]`).forEach(e=>e.classList.toggle(`is-selected`,e.dataset.edgeId===this.selectedEdge)),this.updateSelectionToolbar()}openTextEditor(e){if(!this.canEdit||this.activeEditor?.id===e)return;this.select(e);let t=this.nodes.get(e);t.preview?.destroy(),t.preview=null,t.content.replaceChildren(),t.content.classList.add(`canvas-text-editor`);let n=this.createTextEditor(e,t.content,()=>this.closeTextEditor());n&&(this.activeEditor={id:e,editor:n})}closeTextEditor(){if(!this.activeEditor)return;let{id:e,editor:t}=this.activeEditor;this.activeEditor=null,t.destroy();let n=this.nodes.get(e);if(n){n.signature=null,n.content.classList.remove(`canvas-text-editor`);let t=this.getNode(e);t&&this.renderNode(t,(this.document.nodes??[]).indexOf(t)),n.card.focus({preventScroll:!0})}}beginConnection(e=null,t=null){if(this.canEdit){if(e&&this.select(e),!e&&this.selection.size>=2){let[e,t]=this.selection;this.actions.addEdge({fromNode:e,toNode:t})}else this.connectFrom={id:e||[...this.selection][0],side:t},this.help.textContent=`Select another card to connect. Escape cancels.`}}addNode(e,t=null,n=null){if(!this.canEdit)return;if(e===`file`&&!n){this.openFilePicker(null,t);return}let r=t||this.toWorld(this.stage.clientWidth/2,this.stage.clientHeight/2),i=e===`group`?480:280,a=e===`group`?360:200,o=this.actions.addNode({type:e,x:Math.round(r.x-i/2),y:Math.round(r.y-a/2),width:i,height:a,...{text:{text:``},file:{file:``},link:{url:`https://`},group:{label:`Group`}}[e],...n});o&&(this.select(o),e===`text`?this.openTextEditor(o):e!==`file`&&(this.inspectorOpen=!0,this.renderInspector(),this.inspector.querySelector(`input`)?.focus()))}removeSelection(){this.canEdit&&(this.closeTextEditor(),this.selectedEdge?this.actions.deleteEdges([this.selectedEdge]):this.actions.deleteNodes([...this.selection]),this.selection.clear(),this.selectedEdge=null,this.syncSelection())}renderEdges(){this.edges.replaceChildren();let e=q(`defs`),t=q(`marker`,{id:`canvas-arrow`,markerWidth:10,markerHeight:10,refX:9,refY:5,orient:`auto-start-reverse`,markerUnits:`userSpaceOnUse`});t.append(q(`path`,{d:`M 0 0 L 10 5 L 0 10 Z`,fill:`context-stroke`})),e.append(t),this.edges.append(e);let n=new Map((this.document.nodes??[]).map(e=>[e.id,e]));(this.document.edges??[]).forEach(e=>{let t=Ge(e,n);if(!t)return;let r=q(`g`,{class:`canvas-edge${this.selectedEdge===e.id?` is-selected`:``}`,"data-edge-id":e.id,tabindex:0,role:`button`,"aria-label":`Connection ${e.label||e.id}`});e.color&&r.style.setProperty(`--canvas-color`,V(e.color));let i=q(`path`,{d:t.path,class:`canvas-edge-line`});e.fromEnd===`arrow`&&i.setAttribute(`marker-start`,`url(#canvas-arrow)`),e.toEnd!==`none`&&i.setAttribute(`marker-end`,`url(#canvas-arrow)`);let a=q(`path`,{d:t.path,class:`canvas-edge-hit`});if(r.append(i,a),e.label){let n=q(`text`,{x:t.x,y:t.y-10,"text-anchor":`middle`});n.textContent=e.label,r.append(n)}let o=()=>{this.closeTextEditor(),this.selection.clear(),this.selectedEdge=e.id,this.syncSelection()};r.addEventListener(`click`,o),r.addEventListener(`dblclick`,e=>{e.stopPropagation(),o(),this.labelInput.focus(),this.labelInput.select()}),r.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())}),this.edges.append(r)})}renderInspector(){this.inspector.hidden=!this.inspectorOpen||!this.selection.size&&!this.selectedEdge,this.propertiesButton.setAttribute(`aria-expanded`,String(!this.inspector.hidden)),this.inspector.replaceChildren(),this.syncInspectorFields=null;let e=this.selection.size===1?this.getNode([...this.selection][0]):null,t=(this.document.edges??[]).find(e=>e.id===this.selectedEdge),n=e||t,r=G(`div`,`canvas-inspector-header`);if(r.append(G(`h2`,``,e?U[e.type]:t?`Connection`:`Canvas`),K(`Close properties`,()=>{this.propertiesButton.click(),this.propertiesButton.focus()},`close`)),this.inspector.append(r),!n){this.inspector.append(G(`p`,``,this.selection.size?`${this.selection.size} cards selected`:`Select a card or connection to edit its properties.`));return}let i=()=>e?this.getNode(e.id):(this.document.edges??[]).find(e=>e.id===t.id),a=[];this.syncInspectorFields=()=>{let e=i();!e||e.type!==n.type?this.renderInspector():a.forEach(({input:t,key:n})=>{if(t===document.activeElement&&t.value!==t.dataset.savedValue)return;let r=String(e[n]??``);t.value!==r&&(t.value=r),t.dataset.savedValue=t.value})};let o=(n,r)=>{this.canEdit&&(e?this.actions.updateNode(e.id,{[n]:r}):this.actions.updateEdge(t.id,{[n]:r}))},s=(e,t,{options:r,numeric:s=!1,optional:c=!1}={})=>{let l=G(`label`,`canvas-field`);l.append(G(`span`,``,e));let u=G(r?`select`:`input`);u.setAttribute(`aria-label`,e),r?r.forEach(([e,t])=>u.append(new Option(t,e))):(u.type=s?`number`:`text`,s&&(u.step=`1`)),u.value=n[t]??``,u.dataset.savedValue=u.value,a.push({input:u,key:t}),u.disabled=!this.canEdit,u.addEventListener(`change`,()=>{let e=s?Number(u.value):u.value;if(s&&(!Number.isSafeInteger(e)||(t===`width`||t===`height`)&&e<1))u.value=i()?.[t]??``,u.dataset.savedValue=u.value;else{try{o(t,c&&e===``?void 0:e)}catch(e){this.status.textContent=e.message,u.value=i()?.[t]??``}u.dataset.savedValue=u.value}}),l.append(u),this.inspector.append(l)};if(e){e.type===`file`&&(s(`Vault file`,`file`),s(`Heading or block (#...)`,`subpath`,{optional:!0})),e.type===`link`&&s(`URL`,`url`),e.type===`group`&&(s(`Label`,`label`,{optional:!0}),s(`Background image`,`background`,{optional:!0}),s(`Background style`,`backgroundStyle`,{optional:!0,options:[[``,`Default`],[`cover`,`Cover`],[`ratio`,`Keep ratio`],[`repeat`,`Repeat`]]})),[`x`,`y`,`width`,`height`].forEach(e=>s(e[0].toUpperCase()+e.slice(1),e,{numeric:!0}));let t=G(`div`,`canvas-order`);[`back`,`front`].forEach(n=>{let r=K(`Send to ${n}`,()=>this.actions.reorderNode(e.id,n));r.disabled=!this.canEdit,t.append(r)}),this.inspector.append(t)}else{s(`Label`,`label`,{optional:!0});let e=(this.document.nodes??[]).map(e=>[e.id,`${U[e.type]}: ${(e.text||e.label||e.file||e.url||e.id).slice(0,40)}`]);s(`From card`,`fromNode`,{options:e}),s(`To card`,`toNode`,{options:e}),[`from`,`to`].forEach(e=>{s(`${e===`from`?`Start`:`End`} side`,`${e}Side`,{optional:!0,options:[[``,`Automatic`],...[`top`,`right`,`bottom`,`left`].map(e=>[e,e])]}),s(`${e===`from`?`Start`:`End`} marker`,`${e}End`,{optional:!0,options:[[``,`Default`],[`none`,`None`],[`arrow`,`Arrow`]]})})}s(`Color (1–6 or #RRGGBB)`,`color`,{optional:!0})}startNodeDrag(e,t,n=!1){if(e.button!==0||this.spaceHeld||!n&&e.target.closest(`a, button, input, textarea, select, summary, img, audio, video, [contenteditable="true"], .canvas-text-editor, .diagram-preview-shell, .drawio-embed, .excalidraw-embed`)||(e.preventDefault(),e.stopPropagation(),(e.shiftKey||!this.selection.has(t))&&this.select(t,e.shiftKey),!this.canEdit||!this.selection.has(t)))return;this.closeTextEditor();let r={x:e.clientX,y:e.clientY},i=[...this.selection].map(e=>this.getNode(e)).filter(Boolean),a=n?[this.getNode(t)]:[...i];n||(this.document.nodes??[]).forEach(e=>{a.some(t=>t.id===e.id)||i.some(t=>t.type===`group`&&e.x>=t.x&&e.y>=t.y&&e.x+e.width<=t.x+t.width&&e.y+e.height<=t.y+t.height)&&a.push(e)});let o=!1;this.actions.stopUndoCapture(),this.trackPointer(e,e=>{if(!o&&Math.hypot(e.clientX-r.x,e.clientY-r.y)<4)return;o=!0;let t=Math.round((e.clientX-r.x)/this.viewport.zoom),i=Math.round((e.clientY-r.y)/this.viewport.zoom),s=a.map(e=>({id:e.id,patch:n?{width:Math.max(80,e.width+t),height:Math.max(64,e.height+i)}:{x:e.x+t,y:e.y+i}}));this.actions.updateNodes(s.filter(({id:e})=>this.getNode(e)),!1)},()=>{!o&&!e.shiftKey&&this.select(t),this.actions.stopUndoCapture()})}trackPointer(e,t,n){this.cancelGesture?.(),this.stage.focus({preventScroll:!0});let r=e.currentTarget,i=(o,s=!1)=>{r.removeEventListener(`pointermove`,t),r.removeEventListener(`pointerup`,i),r.removeEventListener(`pointercancel`,a),r.removeEventListener(`lostpointercapture`,a),this.cancelGesture=null,r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),n(o,s)},a=(t=e)=>i(t,!0);this.cancelGesture=a,r.setPointerCapture(e.pointerId),r.addEventListener(`pointermove`,t),r.addEventListener(`pointerup`,i),r.addEventListener(`pointercancel`,a),r.addEventListener(`lostpointercapture`,a)}startConnection(e,t,n){if(e.button!==0||!this.canEdit||this.spaceHeld)return;e.preventDefault(),e.stopPropagation(),this.select(t),this.connectFrom=null;let r=q(`svg`,{class:`canvas-connection-preview`}),i=q(`path`,{class:`canvas-edge-line`});r.append(i),this.world.append(r);let a=Symbol(),o=e=>{let t=this.stage.getBoundingClientRect();return this.toWorld(e.clientX-t.left,e.clientY-t.top)},s=e=>document.elementsFromPoint(e.clientX,e.clientY).map(e=>e.closest(`.canvas-card`)).find(e=>e&&e.dataset.nodeId!==t);this.trackPointer(e,e=>{let r=this.getNode(t);if(!r){this.cancelGesture?.();return}let c=o(e),l=this.getNode(s(e)?.dataset.nodeId)||{...c,width:0,height:0},u=Ge({fromNode:t,fromSide:n,toNode:a,toSide:We(l,c)},new Map([[t,r],[a,l]]));i.setAttribute(`d`,u.path)},(e,i)=>{r.remove();let a=this.getNode(s(e)?.dataset.nodeId);!i&&this.canEdit&&this.getNode(t)&&a&&this.actions.addEdge({fromNode:t,fromSide:n,toNode:a.id,toSide:We(a,o(e))})})}startPan(e){if(e.defaultPrevented||e.target.closest(`.canvas-selection-toolbar, .canvas-navigation, .canvas-toolbar, .canvas-text-editor`))return;let t=e.target.closest(`.canvas-card, .canvas-edge`),n=this.stage.getBoundingClientRect(),r=!t&&this.groupAtPoint(this.toWorld(e.clientX-n.left,e.clientY-n.top)),i=this.spaceHeld||e.button===1||e.pointerType===`touch`&&!t&&(!r||!this.canEdit);if(!i&&t||e.button!==0&&e.button!==1)return;if(r&&!i&&!e.shiftKey){this.startNodeDrag(e,r.id);return}e.preventDefault(),this.closeTextEditor(),this.stage.focus();let a={...this.viewport},o={x:e.clientX,y:e.clientY},s=new Set(e.shiftKey||i?this.selection:[]),c=G(`div`,`canvas-marquee`);i||(this.selection=new Set(s),this.selectedEdge=null,this.syncSelection(),this.stage.append(c)),this.trackPointer(e,e=>{if(i){this.viewport.x=a.x+e.clientX-o.x,this.viewport.y=a.y+e.clientY-o.y,this.applyViewport();return}let t=this.stage.getBoundingClientRect(),n=Math.min(o.x,e.clientX)-t.left,r=Math.min(o.y,e.clientY)-t.top,l=Math.abs(e.clientX-o.x),u=Math.abs(e.clientY-o.y);Object.assign(c.style,{left:`${n}px`,top:`${r}px`,width:`${l}px`,height:`${u}px`});let d=this.toWorld(n,r),f=this.toWorld(n+l,r+u);this.selection=new Set(s);for(let e of this.document.nodes??[])e.type===`group`&&(e.x<d.x||e.y<d.y||e.x+e.width>f.x||e.y+e.height>f.y)||e.x<f.x&&e.x+e.width>d.x&&e.y<f.y&&e.y+e.height>d.y&&this.selection.add(e.id);this.syncSelection()},()=>c.remove())}toWorld(e,t){return{x:(e-this.viewport.x)/this.viewport.zoom,y:(t-this.viewport.y)/this.viewport.zoom}}groupAtPoint(e){return(this.document.nodes??[]).findLast(t=>t.type===`group`&&e.x>=t.x&&e.x<=t.x+t.width&&e.y>=t.y&&e.y<=t.y+t.height)}zoomBy(e,t,n){let r=this.stage.getBoundingClientRect(),i=t===void 0?r.width/2:t-r.left,a=n===void 0?r.height/2:n-r.top,o=this.toWorld(i,a);this.viewport.zoom=Math.max(.1,Math.min(3,this.viewport.zoom*e)),this.viewport.x=i-o.x*this.viewport.zoom,this.viewport.y=a-o.y*this.viewport.zoom,this.applyViewport()}fit(e=null){let t=(this.document.nodes??[]).filter(t=>!e||e.includes(t.id));if(!t.length){this.viewport={x:80,y:80,zoom:1},this.applyViewport();return}let n=Math.min(...t.map(e=>e.x)),r=Math.min(...t.map(e=>e.y)),i=Math.max(...t.map(e=>e.x+e.width))-n,a=Math.max(...t.map(e=>e.y+e.height))-r,o=Math.max(.1,Math.min(1,(this.stage.clientWidth-100)/Math.max(1,i),(this.stage.clientHeight-100)/Math.max(1,a)));this.viewport={zoom:o,x:(this.stage.clientWidth-i*o)/2-n*o,y:(this.stage.clientHeight-a*o)/2-r*o},this.applyViewport()}applyViewport(){this.world.style.transform=`translate(${this.viewport.x}px, ${this.viewport.y}px) scale(${this.viewport.zoom})`,this.stage.style.backgroundPosition=`${this.viewport.x}px ${this.viewport.y}px`,this.stage.style.backgroundSize=`${24*this.viewport.zoom}px ${24*this.viewport.zoom}px`,this.stage.style.setProperty(`--canvas-grid-dot`,`${.8*this.viewport.zoom}px`),this.zoomLabel.textContent=`${Math.round(this.viewport.zoom*100)}%`,this.positionSelectionToolbar()}publishPointer(e){let t=performance.now();if(t-(this.lastPointerAt||0)<50)return;this.lastPointerAt=t;let n=this.stage.getBoundingClientRect(),r=this.toWorld(e.clientX-n.left,e.clientY-n.top);this.stage.classList.toggle(`is-over-group`,e.target===this.stage&&!this.spaceHeld&&!e.shiftKey&&!!this.groupAtPoint(r)),this.actions.presence(`pointer`,r)}renderPresence(e){this.users=e,this.cursors.replaceChildren(),this.nodes.forEach(({card:e})=>{e.classList.remove(`is-remote-selected`)}),e.filter(e=>!e.isLocal).forEach(e=>{(Array.isArray(e.selectedNodeIds)?e.selectedNodeIds:[]).forEach(e=>this.nodes.get(e)?.card.classList.add(`is-remote-selected`));let{x:t,y:n}=e.pointer??{};if(!Number.isFinite(t)||!Number.isFinite(n))return;let r=G(`span`,`canvas-cursor`,`↖ ${String(e.name||`Collaborator`).slice(0,32)}`);r.style.left=`${t}px`,r.style.top=`${n}px`,r.style.setProperty(`--canvas-color`,V(e.color)),this.cursors.append(r)})}onKeyDown(e){if(e.key===`Escape`){let t=[this.colorMenu,this.helpMenu].find(e=>e.open);if(t){e.preventDefault(),t.open=!1,t.querySelector(`summary`).focus();return}}if(e.defaultPrevented||e.target.closest(`input, textarea, select, .diagram-preview-shell, [contenteditable="true"]`))return;if(e.key===`Escape`){this.cancelGesture?.(),this.connectFrom=null,this.help.textContent=``,this.closeTextEditor(),this.selection.clear(),this.selectedEdge=null,this.syncSelection(),this.colorMenu.open=!1;return}if(e.target.closest(`a, button, summary, .canvas-help-menu`)||(e.code===`Space`&&e.target===this.stage&&(e.preventDefault(),this.spaceHeld=!0),(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`a`&&(e.preventDefault(),this.selection=new Set((this.document.nodes??[]).map(e=>e.id)),this.selectedEdge=null,this.syncSelection()),e.shiftKey&&e.code===`Digit1`&&(e.preventDefault(),this.fit()),e.shiftKey&&e.code===`Digit2`&&(e.preventDefault(),this.fit([...this.selection])),(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`z`&&(e.preventDefault(),e.shiftKey?this.actions.redo():this.actions.undo()),(e.key===`Delete`||e.key===`Backspace`)&&(e.preventDefault(),this.removeSelection()),!this.canEdit))return;let t={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]}[e.key];if(t&&this.selection.size){e.preventDefault();let n=e.shiftKey?10:1;this.actions.updateNodes([...this.selection].map(e=>{let r=this.getNode(e);return{id:e,patch:{x:r.x+t[0]*n,y:r.y+t[1]*n}}}))}if(e.key===`Enter`&&this.selection.size===1){let t=[...this.selection][0];this.getNode(t)?.type===`text`&&(e.preventDefault(),this.openTextEditor(t))}}applyTheme(e){this.nodes.forEach(t=>t.preview?.applyTheme(e))}destroy(){this.cancelGesture?.(),this.picker?.close(),this.resizeObserver.disconnect(),this.abort.abort(),this.closeTextEditor(),this.nodes.forEach(e=>e.preview?.destroy()),this.root.replaceChildren()}},J=new URLSearchParams(window.location.search),Y=H(J.get(`file`)),X=document.getElementById(`root`),Z=(e,t={})=>window.parent.postMessage({type:e,filePath:Y,...t},window.location.origin),Q,$;function $e(e){document.body.dataset.theme=e===`light`?`light`:`dark`,document.documentElement.dataset.theme=document.body.dataset.theme,document.documentElement.style.colorScheme=e===`light`?`light`:`dark`,$?.applyTheme(document.body.dataset.theme)}async function et(){if($e(J.get(`theme`)),await f(),!Y||!/\.canvas$/i.test(Y))throw Error(`Choose a valid Canvas file from the Vault.`);let e=b(),t=J.get(`vaultId`)||ne(e);if(t){let n=e.vaults?.find(e=>e.id===t);if(!n)throw Error(`Vault unavailable`);e.vaults=[n],e.activeVault=t}window.__COLLABMD_CONFIG__=e;let n=t=>p.readFile(t,e),r=[],i=async()=>{let t=await p.readTree(e);return r=v(t.tree??[]).files,t};await i();let a=(e,t)=>Z(`canvas-open-file`,{filePath:e,subpath:t}),o=l(J.get(`userName`)||localStorage.getItem(`collabmd-user-name`));for(let[e,t]of[[`color`,`userColor`],[`colorLight`,`userColorLight`],[`peerId`,`userPeerId`]])J.get(t)&&(o[e]=J.get(t));Q=new qe({filePath:Y,user:o,readFile:n,wsBaseUrl:x(e),onChange:e=>$?.update(e),onAwareness:e=>{$?.renderPresence(e),Z(`canvas-awareness`,{users:e})},onConnection:e=>Z(`canvas-connection`,{state:e})});let s=e=>Q.mutate(e);$=new Qe({root:X,actions:{addNode:e=>{let t=crypto.randomUUID();return s(n=>{Ne(n,{...e,id:t}),e.type===`group`&&Be(n,t,`back`)})?t:null},addEdge:e=>s(t=>Pe(t,{...e,id:crypto.randomUUID()})),updateNode:(e,t)=>s(n=>Ie(n,e,t)),updateEdge:(e,t)=>s(n=>Le(n,e,t)),updateNodes:(e,t=!0)=>Q.mutate(t=>{e.forEach(({id:e,patch:n})=>Ie(t,e,n))},{separateUndo:t}),deleteNodes:e=>s(t=>ze(t,e)),deleteEdges:e=>s(t=>Re(t,e)),reorderNode:(e,t)=>s(n=>Be(n,e,t)),presence:(e,t)=>Q.setPresence(e,t),undo:()=>Q.undo(),redo:()=>Q.redo(),stopUndoCapture:()=>Q.undoManager.stopCapturing(),resolveConflict:e=>{Q.provider?.synced&&($.closeTextEditor(),Q.doc.transact(()=>Ve(Q.doc,e),Q.localOrigin),Q.undoManager.clear())}},readFile:n,readTree:i,vaultId:t||``,createMarkdownPreview:(e,t,n=Y,i)=>Ke({container:e,markdownText:t,sourceFilePath:n,subpath:i,getFileList:()=>r,getLocalUser:()=>Q.awareness.getLocalState()?.user??o,getTheme:()=>document.body.dataset.theme,onOpenFile:a,vaultApiClient:p}),getText:e=>Q.doc.getMap(D).get(e)?.get(`text`),attachmentUrl:t=>te(`/attachment?path=${encodeURIComponent(t)}`,e),onOpenFile:a,createTextEditor:(e,t,n)=>{let r=Q.doc.getMap(D).get(e)?.get(`text`);return!r||!Q.canEdit?null:Je({parent:t,text:r,onClose:n,awareness:Q.awareness,undoManager:Q.undoManager})}});let c=new y({previewElement:X});[`stack-item-added`,`stack-item-popped`,`stack-cleared`].forEach(e=>Q.undoManager.on(e,()=>Q.publish())),window.addEventListener(`message`,async e=>{if(e.origin!==window.location.origin||e.source!==window.parent)return;let t=e.data;t&&typeof t==`object`&&(t.type===`canvas-theme`&&$e(t.theme),t.type===`canvas-user`&&t.user&&Q.setUser(t.user),t.type===`canvas-prepare-disconnect`&&t.filePath===Y&&typeof t.requestId==`string`&&($.closeTextEditor(),Z(await Q.prepareDisconnect()?`canvas-disconnect-ready`:`canvas-disconnect-blocked`,{requestId:t.requestId})))}),window.addEventListener(`beforeunload`,e=>{Q.hasPendingWrites&&(e.preventDefault(),e.returnValue=``)}),window.addEventListener(`pagehide`,()=>{c.destroy(),$.destroy(),Q.destroy()}),Z(`canvas-ready`),await Q.connect()}et().catch(()=>{X.textContent=`Unable to open this canvas. The file has not been changed.`,X.setAttribute(`role`,`alert`)});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as e,u as t}from"./purify.es-BP9p1Dbb.js";var n=(n,r)=>t.lang.round(e.parse(n)[r]);export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,S as t,n,o as r,r as i,t as a,u as o,w as s,x as c}from"./chunk-
|
|
1
|
+
import{C as e,S as t,n,o as r,r as i,t as a,u as o,w as s,x as c}from"./chunk-NGNAAXSQ-Bw6tHVuc.js";var l=class extends a{static{c(this,`ArchitectureTokenBuilder`)}constructor(){super([`architecture`])}},u=class extends n{static{c(this,`ArchitectureValueConverter`)}runCustomConverter(e,t,n){if(e.name===`ARCH_ICON`)return t.replace(/[()]/g,``).trim();if(e.name===`ARCH_TEXT_ICON`)return t.replace(/["()]/g,``);if(e.name===`ARCH_TITLE`){let e=t.replace(/^\[|]$/g,``).trim();return(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))&&(e=e.slice(1,-1),e=e.replace(/\\"/g,`"`).replace(/\\'/g,`'`)),e.trim()}}},d={parser:{TokenBuilder:c(()=>new l,`TokenBuilder`),ValueConverter:c(()=>new u,`ValueConverter`)}};function f(n=r){let a=s(e(n),o),c=s(t({shared:a}),i,d);return a.ServiceRegistry.register(c),{shared:a,Architecture:c}}c(f,`createArchitectureServices`);export{f as n,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./preload-helper-khBccGFq.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./chunk-X3CZISLH-DayjKu55.js";import{b as r,x as i}from"./chunk-DU6HZSFF-Dz0Q7VKE.js";import{g as a}from"./chunk-75Z2AOVW-DLVzmKuL.js";import{a as o}from"./chunk-4HAMMTFA-B3s0XvP_.js";import{i as s,n as c,r as l,t as u}from"./chunk-GVQU2GXP-BA8Vt-19.js";import{n as d,t as f}from"./chunk-L3NEJ4N5-M6XySblQ.js";import{a as p,i as m,l as h,n as g,r as _,s as v,t as y}from"./chunk-OSK3NFVY-DJyrXrea.js";import{t as b}from"./graphlib-DS17s2tU.js";function x(e,{edgePathsClass:t=`edges edgePaths`}={}){let n=e.insert(`g`).attr(`class`,`root`);return{clusters:n.insert(`g`).attr(`class`,`clusters`),edgePaths:n.insert(`g`).attr(`class`,t),edgeLabels:n.insert(`g`).attr(`class`,`edgeLabels`),nodes:n.insert(`g`).attr(`class`,`nodes`),rootGroups:n}}t(x,`createLayoutElementGroups`);async function S(e,t){if(t.label){let{shapeSvg:n,bbox:r}=await o(e,t);t.labelBBox={width:r.width,height:r.height},n.remove()}else t.labelBBox={width:0,height:0}}t(S,`measureGroupLabel`);async function C(e,t,n){let r=await l(e,t,n),i=r.node()?.getBBox()??{width:0,height:0};return t.width=i.width,t.height=i.height,r}t(C,`insertMeasuredNode`);async function w(t,n){let r=new b({multigraph:!0,compound:!0}),a=[...n.edges],o=i(),s=x(t),{edgeLabels:c,nodes:l}=s,u=new Map,d=t.node()!=null;await Promise.all(n.nodes.map(async e=>{if(e.isGroup)d&&await S(l,e),r.setNode(e.id,{...e});else{if(d){let t=await C(l,e,{config:o,dir:e.dir});u.set(e.id,t)}r.setNode(e.id,{...e})}}));for(let e of a)d&&_(e)&&await p(c,e),r.setEdge(e.start,e.end,{...e},e.id),n.edges.some(t=>t.id===e.id)||n.edges.push(e);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:r}=await e(async()=>{let{captureNodeSizes:e}=await import(`./sizeCapture-INFHLROL-BMR1ovSU.js`);return{captureNodeSizes:e}},[],import.meta.url);r(t,n)}return{graph:r,groups:s,nodeElements:u}}t(w,`createGraphWithElements`);var T=new Map,E=new Map,D=new Map,O=t(()=>{E.clear(),D.clear(),T.clear()},`clear`),k=t((e,t)=>{let r=E.get(t)||[];return n.trace(`In isDescendant`,t,` `,e,` = `,r.includes(e)),r.includes(e)},`isDescendant`),A=t((e,t)=>{let r=E.get(t)||[];return n.info(`Descendants of `,t,` is `,r),n.info(`Edge is `,e),e.v===t||e.w===t?!1:r?r.includes(e.v)||k(e.v,t)||k(e.w,t)||r.includes(e.w):(n.debug(`Tilt, `,t,`,not in descendants`),!1)},`edgeInCluster`),j=t((e,t,r,i)=>{n.debug(`Copying children of `,e,`root`,i,`data`,t.node(e),i);let a=t.children(e)||[];e!==i&&a.push(e),n.debug(`Copying (nodes) clusterId`,e,`nodes`,a),a.forEach(a=>{if(t.children(a).length>0)j(a,t,r,i);else{let o=t.node(a);n.info(`cp `,a,` to `,i,` with parent `,e),r.setNode(a,o),i!==t.parent(a)&&(n.debug(`Setting parent`,a,t.parent(a)),r.setParent(a,t.parent(a))),e!==i&&a!==e?(n.debug(`Setting parent`,a,e),r.setParent(a,e)):(n.info(`In copy `,e,`root`,i,`data`,t.node(e),i),n.debug(`Not Setting parent for node=`,a,`cluster!==rootId`,e!==i,`node!==clusterId`,a!==e));let s=t.edges(a);n.debug(`Copying Edges`,s),s.forEach(a=>{n.info(`Edge`,a);let o=t.edge(a.v,a.w,a.name);n.info(`Edge data`,o,i);try{A(a,i)?(n.info(`Copying as `,a.v,a.w,o,a.name),r.setEdge(a.v,a.w,o,a.name),n.info(`newGraph edges `,r.edges(),r.edge(r.edges()[0]))):n.info(`Skipping copy of edge `,a.v,`-->`,a.w,` rootId: `,i,` clusterId:`,e)}catch(e){n.error(e)}})}n.debug(`Removing node`,a),t.removeNode(a)})},`copy`),M=t((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)D.set(i,e),r=[...r,...M(i,t)];return r},`extractDescendants`),N=t((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),o=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>o.some(t=>e.v===t.v&&e.w===t.w))},`findCommonEdges`),P=t((e,t,r)=>{let i=t.children(e);if(n.trace(`Searching children of id `,e,i),i.length<1)return e;let a;for(let e of i){let n=P(e,t,r),i=N(t,r,n);if(n){if(i.length>0)a=n;else return n}}return a},`findNonClusterChild`),F=t(e=>!T.has(e)||!T.get(e).externalConnections?e:T.has(e)?T.get(e).id:e,`getAnchorId`),I=t((e,t)=>{if(!e||t>10)n.debug(`Opting out, no graph `);else{n.debug(`Opting in, graph `),e.nodes().forEach(function(t){e.children(t).length>0&&(n.debug(`Cluster identified`,t,` Replacement id in edges: `,P(t,e,t)),E.set(t,M(t,e)),T.set(t,{id:P(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){let r=e.children(t),i=e.edges();r.length>0?(n.debug(`Cluster identified`,t,E),i.forEach(e=>{k(e.v,t)^k(e.w,t)&&(n.debug(`Edge: `,e,` leaves cluster `,t),n.debug(`Descendants of XXX `,t,`: `,E.get(t)),T.get(t).externalConnections=!0)})):n.debug(`Not a cluster `,t,E)});for(let t of T.keys()){let n=T.get(t).id,r=e.parent(n);r!==t&&T.has(r)&&!T.get(r).externalConnections&&(T.get(t).id=r);let i=e.edges().some(e=>e.v===t);if(n&&T.get(t)?.externalConnections&&i&&B(e,n,t)){let r=V(e,t,e.parent(n));r&&(T.get(t).id=r)}}e.edges().forEach(function(t){let r=e.edge(t);n.debug(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(t)),n.debug(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(e.edge(t)));let i=t.v,a=t.w;if(n.debug(`Fix XXX`,T,`ids:`,t.v,t.w,`Translating: `,T.get(t.v),` --- `,T.get(t.w)),T.get(t.v)||T.get(t.w)){if(n.debug(`Fixing and trying - removing XXX`,t.v,t.w,t.name),i=F(t.v),a=F(t.w),e.removeEdge(t.v,t.w,t.name),i!==t.v){let n=e.parent(i);T.get(n).externalConnections=!0,r.fromCluster=t.v}if(a!==t.w){let n=e.parent(a);T.get(n).externalConnections=!0,r.toCluster=t.w}n.debug(`Fix Replacing with XXX`,i,a,t.name),e.setEdge(i,a,r,t.name)}}),L(e,0),n.trace(T)}},`adjustClustersAndEdges`),L=t((e,t)=>{if(t>10){n.error(`Bailing out`);return}let r=e.nodes(),i=!1;for(let t of r){let n=e.children(t);i||=n.length>0}if(!i)n.debug(`Done, no node has children`,e.nodes());else{n.debug(`Nodes = `,r,t);for(let i of r)if(n.debug(`Extracting node`,i,T,T.has(i)&&!T.get(i).externalConnections,!e.parent(i),e.node(i),e.children(`D`),` Depth `,t),!T.has(i))n.debug(`Not a cluster`,i,t);else if(!T.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){n.debug(`Cluster without external connections, without a parent and with children`,i,t);let r=e.graph().rankdir===`TB`?`LR`:`TB`;T.get(i)?.clusterData?.dir&&(r=T.get(i).clusterData.dir,n.debug(`Fixing dir`,T.get(i).clusterData.dir,r));let a=new b({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});j(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:T.get(i).clusterData,label:T.get(i).label,graph:a})}else n.debug(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!T.get(i).externalConnections,` no parent: `,!e.parent(i),` children `,e.children(i)&&e.children(i).length>0,e.children(`D`),t),n.debug(T);r=e.nodes(),n.debug(`New list of nodes`,r);for(let i of r){let r=e.node(i);n.debug(` Now next level`,i,r),r?.clusterNode&&L(r.graph,t+1)}}},`extractor`),R=t((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=R(e,e.children(t));n=[...n,...r]}),n},`sorter`),z=t(e=>R(e,e.children()),`sortNodesByHierarchy`),B=t((e,t,n)=>{let r=e.parent(t);for(;r&&r!==n;){let t=T.get(r);if(t&&!t.externalConnections)return!0;r=e.parent(r)}return!1},`isNodeInExtractableCluster`),V=t((e,t,n)=>{let r=e.children(t)??[];for(let i of r){if(i===n||k(i,n))continue;let r=P(i,e,t);if(r&&!B(e,r,t))return r}return null},`findSafeAnchorNode`);function H({prepareLayout:e,measureLayout:n,runLayoutCore:r,paintLayout:i,afterPaint:a,paintOptions:o}){let s=n??W;return t(async function(t,n,c,l){let u=n.select(`g`);(c?.insertMarkers??v)(u,t.markers,t.type,t.diagramId),U();let d={element:u,helpers:c,options:l};d.preparedLayout=await e?.(t,d);let f=await s(t,d),p=await r(t,d),m={...d,measure:f};i?await i(t,m,p):await G(t,m,o),await a?.(t,m,p)},`render`)}t(H,`createCommonLayoutRenderer`);function U(){u(),y(),f(),O()}t(U,`clearLayoutRenderState`);async function W(e,{element:t}){return await w(t,e)}t(W,`defaultMeasureLayout`);async function G(e,t,n={}){let{measure:r}=t,{groups:i}=r;for(let r of n.getNodes?.(e,t)??e.nodes)n.skipNode?.(r,t)||await K(i,r,t,n);let a=J(e.nodes);for(let r of e.edges)Y(r,n)||await X(i,r,a,e,n,t)}t(G,`paintLayoutData`);async function K(e,t,n,r){t.clusterNode?s(t):q(t,n,r)?await d(e.clusters,t):s(t)}t(K,`paintLayoutNode`);function q(e,t,n){return e.isGroup===!0&&(n.isCluster?.(e,t)??!0)}t(q,`shouldPaintAsCluster`);function J(e){let t=new Map;for(let n of e)n?.id&&t.set(n.id,n);return t}t(J,`buildNodeLookup`);function Y(e,t){return e.isLayoutOnly||!!t.skipEdge?.(e)}t(Y,`shouldSkipPaintEdge`);async function X(e,t,n,r,i,a){let o=m(e.edgePaths,{...t},i.clusterDb??new Map,r.type,Z(t.start,t,n,a,i),Z(t.end,t,n,a,i),r.diagramId,Q(t,i));_(t)&&(g.has(t.id)||await p(e.edgeLabels,t),$(t,o))}t(X,`paintLayoutEdge`);function Z(e,t,n,r,i){return i.getEdgeNode?.(e,t,r)??(e?n.get(e)??{}:{})}t(Z,`getRenderedNode`);function Q(e,t){return typeof t.skipIntersect==`function`?t.skipIntersect(e):t.skipIntersect??!1}t(Q,`shouldSkipIntersect`);function $(e,t){let i=t?.updatedPath??t?.originalPath,o=r(),{subGraphTitleTotalMargin:s}=c({flowchart:o.flowchart??{}});if(e.label){let r=g.get(e.id),o=e.x,c=e.y;if(i){let r=a.calcLabelPosition(i);n.debug(`Moving label `+e.label+` from (`,o,`,`,c,`) to (`,r.x,`,`,r.y,`) abc88`),t?.updatedPath&&(o=r.x,c=r.y)}r.attr(`transform`,`translate(${o}, ${c+s/2})`)}if(e?.startLabelLeft){let t=h.get(e.id).startLeft,n=e?.x,r=e?.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.startLabelRight){let t=h.get(e.id).startRight,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.endLabelLeft){let t=h.get(e.id).endLeft,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.endLabelRight){let t=h.get(e.id).endRight,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}}t($,`positionRenderedEdgeLabel`);export{P as a,x as i,T as n,C as o,H as r,z as s,I as t};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-BbRBGnmc.js";import{t}from"./chunk-X3CZISLH-
|
|
2
|
-
`),t.debug(`[Railroad] Accessibility description set:`,e)},`setAccDescription`),getAccDescription:e(()=>d,`getAccDescription`),setDiagramTitle:_,getDiagramTitle:v},b={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:`monospace`,terminalFill:`#FFFFC0`,terminalStroke:`#000000`,terminalTextColor:`#000000`,nonTerminalFill:`#FFFFFF`,nonTerminalStroke:`#000000`,nonTerminalTextColor:`#000000`,lineColor:`#000000`,strokeWidth:2,markerFill:`#000000`,commentFill:`#E8E8E8`,commentStroke:`#888888`,commentTextColor:`#666666`,specialFill:`#F0E0FF`,specialStroke:`#8800CC`,ruleNameColor:`#000066`,showMarkers:!0,markerRadius:5},x=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,S=/^[\w "',.-]+$/,C=new Set([`compactMode`,`padding`,`verticalSeparation`,`horizontalSeparation`,`arcRadius`,`fontSize`,`fontFamily`,`terminalFill`,`terminalStroke`,`terminalTextColor`,`nonTerminalFill`,`nonTerminalStroke`,`nonTerminalTextColor`,`lineColor`,`strokeWidth`,`markerFill`,`commentFill`,`commentStroke`,`commentTextColor`,`specialFill`,`specialStroke`,`ruleNameColor`,`showMarkers`,`markerRadius`]),w=e(e=>e?Object.keys(e).every(e=>e===`railroad`||C.has(e)):!1,`isRailroadStyleOptions`),T=e(e=>e?`railroad`in e&&e.railroad?e.railroad:w(e)?e:{}:{},`extractRailroadOverrides`),E=e(e=>{if(!e||w(e))return{};let{railroad:t,svgId:n,theme:r,look:i,...a}=e;return a},`extractThemeOverrides`),D=e((e,t)=>{if(typeof e!=`string`)return t;let n=e.trim();return x.test(n)?n:t},`sanitizeColorValue`),O=e((e,t)=>{if(typeof e!=`string`)return t;let n=e.trim();return S.test(n)?n:t},`sanitizeFontFamilyValue`),k=e((e,t)=>{let n=typeof e==`number`?e:typeof e==`string`?Number.parseFloat(e):NaN;return Number.isFinite(n)&&n>=0?n:t},`sanitizeNumberValue`),A=e(e=>{let t=typeof e==`number`?e:typeof e==`string`?Number.parseFloat(e):NaN;return Number.isFinite(t)&&t>0?t:void 0},`parseThemeFontSize`),j=e(e=>{let t=O(e.fontFamily,b.fontFamily),n=A(e.fontSize)??b.fontSize;return{...b,fontFamily:t,fontSize:n,terminalFill:D(e.secondBkg??e.secondaryColor,b.terminalFill),terminalStroke:D(e.secondaryBorderColor??e.lineColor,b.terminalStroke),terminalTextColor:D(e.secondaryTextColor??e.textColor,b.terminalTextColor),nonTerminalFill:D(e.mainBkg??e.background,b.nonTerminalFill),nonTerminalStroke:D(e.primaryBorderColor??e.lineColor,b.nonTerminalStroke),nonTerminalTextColor:D(e.primaryTextColor??e.textColor,b.nonTerminalTextColor),lineColor:D(e.lineColor,b.lineColor),markerFill:D(e.lineColor,b.markerFill),commentFill:D(e.labelBackground??e.tertiaryColor,b.commentFill),commentStroke:D(e.tertiaryBorderColor??e.lineColor,b.commentStroke),commentTextColor:D(e.tertiaryTextColor??e.textColor,b.commentTextColor),specialFill:D(e.tertiaryColor??e.secondaryColor,b.specialFill),specialStroke:D(e.tertiaryBorderColor??e.secondaryBorderColor,b.specialStroke),ruleNameColor:D(e.titleColor??e.textColor,b.ruleNameColor)}},`buildThemeDefaults`),M=e(e=>{let t=
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-BbRBGnmc.js";import{t}from"./chunk-X3CZISLH-Bwnh_YJ7.js";import{E as n,a as r,b as i,c as a,y as o,z as s}from"./chunk-DSNLSHJZ-DkAaVKkN.js";import{t as c}from"./chunk-OYAV6JZA-kXOh375k.js";var l=``,u=``,d=``,f=[],p=new Map,m=e(e=>s(e,i()),`sanitizeText`),h=e(e=>{switch(e.type){case`terminal`:return{...e,value:m(e.value)};case`nonterminal`:return{...e,name:m(e.name)};case`sequence`:return{...e,elements:e.elements.map(h)};case`choice`:return{...e,alternatives:e.alternatives.map(h)};case`optional`:return{...e,element:h(e.element)};case`repetition`:return{...e,element:h(e.element),separator:e.separator?h(e.separator):void 0};case`special`:return{...e,text:m(e.text)}}},`sanitizeAstNode`),g=e(()=>{l=``,u=``,d=``,f.length=0,p.clear(),r(),t.debug(`[Railroad] Database cleared`)},`clear`),_=e(e=>{l=m(e),t.debug(`[Railroad] Title set:`,e)},`setTitle`),v=e(()=>l,`getTitle`),y={clear:g,setTitle:_,getTitle:v,addRule:e(e=>{let n={...e,name:m(e.name),definition:h(e.definition),comment:e.comment?m(e.comment):void 0};t.debug(`[Railroad] Adding rule:`,n.name),p.has(n.name)&&t.warn(`[Railroad] Rule '${n.name}' is already defined. Overwriting.`),f.push(n),p.set(n.name,n)},`addRule`),getRules:e(()=>f,`getRules`),getRule:e(e=>p.get(e),`getRule`),setAccTitle:e(e=>{u=m(e).replace(/^\s+/g,``),t.debug(`[Railroad] Accessibility title set:`,e)},`setAccTitle`),getAccTitle:e(()=>u,`getAccTitle`),setAccDescription:e(e=>{d=m(e).replace(/\n\s+/g,`
|
|
2
|
+
`),t.debug(`[Railroad] Accessibility description set:`,e)},`setAccDescription`),getAccDescription:e(()=>d,`getAccDescription`),setDiagramTitle:_,getDiagramTitle:v},b={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:`monospace`,terminalFill:`#FFFFC0`,terminalStroke:`#000000`,terminalTextColor:`#000000`,nonTerminalFill:`#FFFFFF`,nonTerminalStroke:`#000000`,nonTerminalTextColor:`#000000`,lineColor:`#000000`,strokeWidth:2,markerFill:`#000000`,commentFill:`#E8E8E8`,commentStroke:`#888888`,commentTextColor:`#666666`,specialFill:`#F0E0FF`,specialStroke:`#8800CC`,ruleNameColor:`#000066`,showMarkers:!0,markerRadius:5},x=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,S=/^[\w "',.-]+$/,C=new Set([`compactMode`,`padding`,`verticalSeparation`,`horizontalSeparation`,`arcRadius`,`fontSize`,`fontFamily`,`terminalFill`,`terminalStroke`,`terminalTextColor`,`nonTerminalFill`,`nonTerminalStroke`,`nonTerminalTextColor`,`lineColor`,`strokeWidth`,`markerFill`,`commentFill`,`commentStroke`,`commentTextColor`,`specialFill`,`specialStroke`,`ruleNameColor`,`showMarkers`,`markerRadius`]),w=e(e=>e?Object.keys(e).every(e=>e===`railroad`||C.has(e)):!1,`isRailroadStyleOptions`),T=e(e=>e?`railroad`in e&&e.railroad?e.railroad:w(e)?e:{}:{},`extractRailroadOverrides`),E=e(e=>{if(!e||w(e))return{};let{railroad:t,svgId:n,theme:r,look:i,...a}=e;return a},`extractThemeOverrides`),D=e((e,t)=>{if(typeof e!=`string`)return t;let n=e.trim();return x.test(n)?n:t},`sanitizeColorValue`),O=e((e,t)=>{if(typeof e!=`string`)return t;let n=e.trim();return S.test(n)?n:t},`sanitizeFontFamilyValue`),k=e((e,t)=>{let n=typeof e==`number`?e:typeof e==`string`?Number.parseFloat(e):NaN;return Number.isFinite(n)&&n>=0?n:t},`sanitizeNumberValue`),A=e(e=>{let t=typeof e==`number`?e:typeof e==`string`?Number.parseFloat(e):NaN;return Number.isFinite(t)&&t>0?t:void 0},`parseThemeFontSize`),j=e(e=>{let t=O(e.fontFamily,b.fontFamily),n=A(e.fontSize)??b.fontSize;return{...b,fontFamily:t,fontSize:n,terminalFill:D(e.secondBkg??e.secondaryColor,b.terminalFill),terminalStroke:D(e.secondaryBorderColor??e.lineColor,b.terminalStroke),terminalTextColor:D(e.secondaryTextColor??e.textColor,b.terminalTextColor),nonTerminalFill:D(e.mainBkg??e.background,b.nonTerminalFill),nonTerminalStroke:D(e.primaryBorderColor??e.lineColor,b.nonTerminalStroke),nonTerminalTextColor:D(e.primaryTextColor??e.textColor,b.nonTerminalTextColor),lineColor:D(e.lineColor,b.lineColor),markerFill:D(e.lineColor,b.markerFill),commentFill:D(e.labelBackground??e.tertiaryColor,b.commentFill),commentStroke:D(e.tertiaryBorderColor??e.lineColor,b.commentStroke),commentTextColor:D(e.tertiaryTextColor??e.textColor,b.commentTextColor),specialFill:D(e.tertiaryColor??e.secondaryColor,b.specialFill),specialStroke:D(e.tertiaryBorderColor??e.secondaryBorderColor,b.specialStroke),ruleNameColor:D(e.titleColor??e.textColor,b.ruleNameColor)}},`buildThemeDefaults`),M=e(e=>{let t=o(),r=j({...n(),...t.themeVariables??{},...E(e)}),i={...t.railroad??{},...T(e)};return{compactMode:i.compactMode??r.compactMode,padding:k(i.padding,r.padding),verticalSeparation:k(i.verticalSeparation,r.verticalSeparation),horizontalSeparation:k(i.horizontalSeparation,r.horizontalSeparation),arcRadius:k(i.arcRadius,r.arcRadius),fontSize:k(i.fontSize,r.fontSize),fontFamily:O(i.fontFamily,r.fontFamily),terminalFill:D(i.terminalFill,r.terminalFill),terminalStroke:D(i.terminalStroke,r.terminalStroke),terminalTextColor:D(i.terminalTextColor,r.terminalTextColor),nonTerminalFill:D(i.nonTerminalFill,r.nonTerminalFill),nonTerminalStroke:D(i.nonTerminalStroke,r.nonTerminalStroke),nonTerminalTextColor:D(i.nonTerminalTextColor,r.nonTerminalTextColor),lineColor:D(i.lineColor,r.lineColor),strokeWidth:k(i.strokeWidth,r.strokeWidth),markerFill:D(i.markerFill,r.markerFill),commentFill:D(i.commentFill,r.commentFill),commentStroke:D(i.commentStroke,r.commentStroke),commentTextColor:D(i.commentTextColor,r.commentTextColor),specialFill:D(i.specialFill,r.specialFill),specialStroke:D(i.specialStroke,r.specialStroke),ruleNameColor:D(i.ruleNameColor,r.ruleNameColor),showMarkers:i.showMarkers??r.showMarkers,markerRadius:k(i.markerRadius,r.markerRadius)}},`buildRailroadStyleOptions`),N=e(e=>{let{fontFamily:t,fontSize:n,terminalFill:r,terminalStroke:i,terminalTextColor:a,nonTerminalFill:o,nonTerminalStroke:s,nonTerminalTextColor:c,lineColor:l,strokeWidth:u,markerFill:d,commentFill:f,commentStroke:p,commentTextColor:m,specialFill:h,specialStroke:g,ruleNameColor:_}=M(e);return`
|
|
3
3
|
.railroad-diagram {
|
|
4
4
|
font-family: ${t};
|
|
5
5
|
font-size: ${n}px;
|
|
@@ -85,4 +85,4 @@ import{n as e}from"./chunk-Y2CYZVJY-BbRBGnmc.js";import{t}from"./chunk-X3CZISLH-
|
|
|
85
85
|
/* Grouping container, no specific styles */
|
|
86
86
|
}
|
|
87
87
|
`},`getStyles`),P=class{constructor(){this.d=``}static{e(this,`PathBuilder`)}moveTo(e,t){return this.d+=`M ${e} ${t} `,this}lineTo(e,t){return this.d+=`L ${e} ${t} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,t,n,r,i,a,o){return this.d+=`A ${e} ${t} ${n} ${+!!r} ${+!!i} ${a} ${o} `,this}build(){return this.d.trim()}},F=class{constructor(e,t=M()){this.textCache=new Map,this.svg=e,this.config=t}static{e(this,`RailroadRenderer`)}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);let t=this.svg.append(`text`).attr(`font-family`,this.config.fontFamily).attr(`font-size`,this.config.fontSize).text(e),n=t.node().getBBox(),r={width:n.width,height:n.height};return t.remove(),this.textCache.set(e,r),r}renderTerminal(e,t){let n=this.measureText(t),r=n.width+this.config.padding*2,i=n.height+this.config.padding*2,a=e.append(`g`).attr(`class`,`railroad-terminal`);return a.append(`rect`).attr(`x`,0).attr(`y`,0).attr(`width`,r).attr(`height`,i).attr(`rx`,10).attr(`ry`,10),a.append(`text`).attr(`x`,r/2).attr(`y`,i/2).text(t),{element:a.node(),dimensions:{width:r,height:i,up:i/2,down:i/2}}}renderNonTerminal(e,t){let n=this.measureText(t),r=n.width+this.config.padding*2,i=n.height+this.config.padding*2,a=e.append(`g`).attr(`class`,`railroad-nonterminal`);return a.append(`rect`).attr(`x`,0).attr(`y`,0).attr(`width`,r).attr(`height`,i),a.append(`text`).attr(`x`,r/2).attr(`y`,i/2).text(t),{element:a.node(),dimensions:{width:r,height:i,up:i/2,down:i/2}}}renderSequence(e,t){let n=t.map(t=>this.renderExpression(e,t)),r=0,i=0,a=0;for(let e of n)r+=e.dimensions.width,i=Math.max(i,e.dimensions.up),a=Math.max(a,e.dimensions.down);r+=(n.length-1)*this.config.horizontalSeparation;let o=e.append(`g`).attr(`class`,`railroad-sequence`),s=0;for(let e=0;e<n.length;e++){let t=n[e],r=i-t.dimensions.up;if(o.node().appendChild(t.element).setAttribute(`transform`,`translate(${s}, ${r})`),e<n.length-1){let e=s+t.dimensions.width,n=e+this.config.horizontalSeparation,r=i;o.append(`path`).attr(`class`,`railroad-line`).attr(`d`,new P().moveTo(e,r).lineTo(n,r).build())}s+=t.dimensions.width+this.config.horizontalSeparation}return{element:o.node(),dimensions:{width:r,height:i+a,up:i,down:a}}}renderChoice(e,t){let n=t.map(t=>this.renderExpression(e,t)),r=0,i=0;for(let e of n)r=Math.max(r,e.dimensions.width),i+=e.dimensions.height;i+=(n.length-1)*this.config.verticalSeparation;let a=this.config.arcRadius,o=a*4,s=r+o,c=e.append(`g`).attr(`class`,`railroad-choice`),l=0,u=i/2;for(let e of n){let t=l,n=t+e.dimensions.up,i=a*2+(r-e.dimensions.width)/2;c.node().appendChild(e.element).setAttribute(`transform`,`translate(${i}, ${t})`);let o=new P,d=n>u;n===u?o.moveTo(0,u).lineTo(i,n):o.moveTo(0,u).arcTo(a,a,0,!1,d,a,u+(d?a:-a)).lineTo(a,n-(d?a:-a)).arcTo(a,a,0,!1,!d,a*2,n).lineTo(i,n),c.append(`path`).attr(`class`,`railroad-line`).attr(`d`,o.build());let f=new P,p=i+e.dimensions.width,m=s-a*2;n===u?f.moveTo(p,n).lineTo(s,u):f.moveTo(p,n).lineTo(m,n).arcTo(a,a,0,!1,!d,s-a,n+(d?-a:a)).lineTo(s-a,u+(d?a:-a)).arcTo(a,a,0,!1,d,s,u),c.append(`path`).attr(`class`,`railroad-line`).attr(`d`,f.build()),l+=e.dimensions.height+this.config.verticalSeparation}return{element:c.node(),dimensions:{width:s,height:i,up:u,down:i-u}}}renderOptional(e,t){let n=this.renderExpression(e,t),r=this.config.arcRadius,i=r*2,a=n.dimensions.width+r*4,o=n.dimensions.height+i,s=e.append(`g`).attr(`class`,`railroad-optional`),c=r*2,l=i;s.node().appendChild(n.element).setAttribute(`transform`,`translate(${c}, ${l})`);let u=l+n.dimensions.up,d=new P().moveTo(0,u).lineTo(r*2,u);s.append(`path`).attr(`class`,`railroad-line`).attr(`d`,d.build());let f=new P().moveTo(c+n.dimensions.width,u).lineTo(a,u);s.append(`path`).attr(`class`,`railroad-line`).attr(`d`,f.build());let p=new P().moveTo(0,u).arcTo(r,r,0,!1,!1,r,u-r).lineTo(r,r).arcTo(r,r,0,!1,!0,r*2,0).lineTo(a-r*2,0).arcTo(r,r,0,!1,!0,a-r,r).lineTo(a-r,u-r).arcTo(r,r,0,!1,!1,a,u);return s.append(`path`).attr(`class`,`railroad-line`).attr(`d`,p.build()),{element:s.node(),dimensions:{width:a,height:o,up:u,down:o-u}}}renderRepetition(e,t,n){let r=this.renderExpression(e,t),i=this.config.arcRadius,a=i*2,o=r.dimensions.width+i*4,s=n===0,c=r.dimensions.height+a+(s?a:0),l=e.append(`g`).attr(`class`,`railroad-repetition`),u=i*2,d=s?a:0;l.node().appendChild(r.element).setAttribute(`transform`,`translate(${u}, ${d})`);let f=d+r.dimensions.up;l.append(`path`).attr(`class`,`railroad-line`).attr(`d`,new P().moveTo(0,f).lineTo(i*2,f).build()),l.append(`path`).attr(`class`,`railroad-line`).attr(`d`,new P().moveTo(u+r.dimensions.width,f).lineTo(o,f).build());let p=d+r.dimensions.height+i,m=new P().moveTo(u+r.dimensions.width,f).arcTo(i,i,0,!1,!0,u+r.dimensions.width+i,f+i).lineTo(u+r.dimensions.width+i,p).arcTo(i,i,0,!1,!0,u+r.dimensions.width,p+i).lineTo(i*2,p+i).arcTo(i,i,0,!1,!0,i,p).lineTo(i,f+i).arcTo(i,i,0,!1,!0,i*2,f);if(l.append(`path`).attr(`class`,`railroad-line`).attr(`d`,m.build()),s){let e=new P().moveTo(0,f).arcTo(i,i,0,!1,!1,i,f-i).lineTo(i,i).arcTo(i,i,0,!1,!0,i*2,0).lineTo(o-i*2,0).arcTo(i,i,0,!1,!0,o-i,i).lineTo(o-i,f-i).arcTo(i,i,0,!1,!1,o,f);l.append(`path`).attr(`class`,`railroad-line`).attr(`d`,e.build())}return{element:l.node(),dimensions:{width:o,height:c,up:f,down:c-f}}}renderSpecial(e,t){let n=this.measureText(`? `+t+` ?`),r=n.width+this.config.padding*2,i=n.height+this.config.padding*2,a=e.append(`g`).attr(`class`,`railroad-special`);return a.append(`rect`).attr(`x`,0).attr(`y`,0).attr(`width`,r).attr(`height`,i),a.append(`text`).attr(`x`,r/2).attr(`y`,i/2).text(`? `+t+` ?`),{element:a.node(),dimensions:{width:r,height:i,up:i/2,down:i/2}}}renderExpression(e,t){switch(t.type){case`terminal`:return this.renderTerminal(e,t.value);case`nonterminal`:return this.renderNonTerminal(e,t.name);case`sequence`:return this.renderSequence(e,t.elements);case`choice`:return this.renderChoice(e,t.alternatives);case`optional`:return this.renderOptional(e,t.element);case`repetition`:return this.renderRepetition(e,t.element,t.min);case`special`:return this.renderSpecial(e,t.text);default:throw Error(`Unknown node type: ${t.type}`)}}renderRule(e,t){let n=this.svg.append(`g`).attr(`class`,`railroad-rule`).attr(`transform`,`translate(0, ${t})`),r=e.name+` =`,i=this.measureText(r).width+20,a=i+20,o=n.append(`g`),s=this.renderExpression(o,e.definition),c=Math.max(20,s.dimensions.up),l=c-s.dimensions.up;return o.attr(`transform`,`translate(${a}, ${l})`),n.append(`g`).attr(`class`,`railroad-rule-name-group`).append(`text`).attr(`class`,`railroad-rule-name`).attr(`x`,0).attr(`y`,c).text(r),n.append(`g`).attr(`class`,`railroad-start`).append(`circle`).attr(`cx`,i).attr(`cy`,c).attr(`r`,this.config.markerRadius),n.append(`g`).attr(`class`,`railroad-end`).append(`circle`).attr(`cx`,a+s.dimensions.width+10).attr(`cy`,c).attr(`r`,this.config.markerRadius),n.append(`path`).attr(`class`,`railroad-line`).attr(`d`,new P().moveTo(i+this.config.markerRadius,c).lineTo(a,c).build()),n.append(`path`).attr(`class`,`railroad-line`).attr(`d`,new P().moveTo(a+s.dimensions.width,c).lineTo(a+s.dimensions.width+10-this.config.markerRadius,c).build()),{height:Math.max(40,l+s.dimensions.height+this.config.padding*2),width:a+s.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let t=this.config.padding,n=0;for(let r of e){let e=this.renderRule(r,t);t+=e.height+this.config.verticalSeparation,n=Math.max(n,e.width)}return{width:n+this.config.padding*2,height:t+this.config.padding}}},I=e((e,t,n)=>{a(e,t.height,t.width,n),e.attr(`viewBox`,`0 0 ${t.width} ${t.height}`)},`configureRailroadSvgSize`),L={draw:e((e,n,r)=>{t.debug(`[Railroad] Rendering diagram
|
|
88
|
-
`+e);try{let e=c(n);e.attr(`class`,`railroad-diagram`);let r=
|
|
88
|
+
`+e);try{let e=c(n);e.attr(`class`,`railroad-diagram`);let r=o().railroad?.useMaxWidth??!0,i=y.getRules();if(t.debug(`[Railroad] Rendering ${i.length} rules`),i.length===0){t.warn(`[Railroad] No rules to render`),I(e,{height:100,width:200},r);return}I(e,new F(e,M()).renderDiagram(i),r),t.debug(`[Railroad] Render complete`)}catch(e){throw t.error(`[Railroad] Render error:`,e),e}},`draw`)};export{N as n,L as r,y as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{C as e,S as t,h as n,n as r,o as i,t as a,u as o,w as s,x as c}from"./chunk-FOHPRMQF-COOliuUh.js";var l=class extends a{static{c(this,`RailroadEbnfTokenBuilder`)}constructor(){super([`railroad-ebnf-beta`])}},u=c(e=>{let t=e.slice(1,-1),n=``;for(let e=0;e<t.length;e++){let r=t[e];if(r===`\\`&&e+1<t.length){e++;let r=t[e];switch(r){case`n`:n+=`
|
|
2
|
+
`;break;case`r`:n+=`\r`;break;case`t`:n+=` `;break;default:n+=r}}else n+=r}return n},`decodeEscapedString`),d=class extends r{static{c(this,`RailroadEbnfValueConverter`)}runConverter(e,t,n){let r=super.runConverter(e,t,n);if(e.name===`TITLE`&&typeof r==`string`){let e=r.trim();if(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))return u(e)}return r}runCustomConverter(e,t,n){if(e.name===`EBNF_STRING`)return u(t);if(e.name===`EBNF_SPECIAL_SEQUENCE`)return t.slice(1,-1).trim()}},f={parser:{TokenBuilder:c(()=>new l,`TokenBuilder`),ValueConverter:c(()=>new d,`ValueConverter`)}};function p(r=i){let a=s(e(r),o),c=s(t({shared:a}),n,f);return a.ServiceRegistry.register(c),{shared:a,RailroadEbnf:c}}c(p,`createRailroadEbnfServices`);export{p as n,f as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,S as t,i as n,l as r,o as i,t as a,u as o,w as s,x as c}from"./chunk-
|
|
1
|
+
import{C as e,S as t,i as n,l as r,o as i,t as a,u as o,w as s,x as c}from"./chunk-NGNAAXSQ-Bw6tHVuc.js";var l=class extends a{static{c(this,`InfoTokenBuilder`)}constructor(){super([`info`,`showInfo`])}},u={parser:{TokenBuilder:c(()=>new l,`TokenBuilder`),ValueConverter:c(()=>new n,`ValueConverter`)}};function d(n=i){let a=s(e(n),o),c=s(t({shared:a}),r,u);return a.ServiceRegistry.register(c),{shared:a,Info:c}}c(d,`createInfoServices`);export{d as n,u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,S as t,f as n,n as r,o as i,t as a,u as o,w as s,x as c}from"./chunk-FOHPRMQF-
|
|
1
|
+
import{C as e,S as t,f as n,n as r,o as i,t as a,u as o,w as s,x as c}from"./chunk-FOHPRMQF-COOliuUh.js";var l=class extends a{static{c(this,`PieTokenBuilder`)}constructor(){super([`pie`,`showData`])}},u=class extends r{static{c(this,`PieValueConverter`)}runCustomConverter(e,t,n){if(e.name===`PIE_SECTION_LABEL`)return t.replace(/"/g,``).trim()}},d={parser:{TokenBuilder:c(()=>new l,`TokenBuilder`),ValueConverter:c(()=>new u,`ValueConverter`)}};function f(r=i){let a=s(e(r),o),c=s(t({shared:a}),n,d);return a.ServiceRegistry.register(c),{shared:a,Pie:c}}c(f,`createPieServices`);export{f as n,d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-BbRBGnmc.js";import{o as t}from"./chunk-
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-BbRBGnmc.js";import{o as t}from"./chunk-WQQL4CDK-BiuwKtd-.js";var n=5,r=1e-5,i=2,a=.6,o=1e-6;function s(e){let t=[];for(let n=0;n<e.length-1;n++)t.push({a:e[n],b:e[n+1]});return t}e(s,`buildSegmentList`);function c(e,t,n,r){let i=t.x-e.x,a=t.y-e.y,s=r.x-n.x,c=r.y-n.y,l=i*c-a*s;if(l===0)return null;let u=n.x-e.x,d=n.y-e.y,f=(u*c-d*s)/l,p=(u*a-d*i)/l;return f<=o||f>=1-o||p<=o||p>=1-o?null:{point:{x:e.x+f*i,y:e.y+f*a},tA:f,tB:p}}e(c,`segmentIntersection`);function l(e){return Math.abs(e.b.x-e.a.x)>=Math.abs(e.b.y-e.a.y)}e(l,`isHorizontalSeg`);function u(e,t,r){if(e.curve!==`rounded`)return!1;let i=e.points,a=i[t],o=i[t+1];if(!a||!o)return!1;let s=Math.hypot(o.x-a.x,o.y-a.y),c=r*s,l=t>0?_(i[t-1],a,o,n):null;if(l&&c<l.cutLen)return!0;let u=t+2<i.length?_(a,o,i[t+2],n):null;return u!==null&&s-c<u.cutLen}e(u,`crossingSitsInRoundedCorner`);function d(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=s(r.points);for(let a=n+1;a<e.length;a++){let n=e[a],o=s(n.points);for(let[e,a]of i.entries())for(let[i,s]of o.entries()){let o=c(a.a,a.b,s.a,s.b);if(!o||u(r,e,o.tA)||u(n,i,o.tB))continue;let d=l(a);d!==l(s)&&d?t.push({jumpEdgeId:r.id,otherEdgeId:n.id,segIndex:e,t:o.tA,point:o.point}):t.push({jumpEdgeId:n.id,otherEdgeId:r.id,segIndex:i,t:o.tB,point:o.point})}}}return t}e(d,`findEdgeIntersections`);function f(e){return`${Math.round(e*1e3)/1e3}`}e(f,`fmt`);function p(e){return`${f(e.x)},${f(e.y)}`}e(p,`pointToString`);function m(e){let t=e.b.x-e.a.x,n=e.b.y-e.a.y;return Math.abs(t)>=Math.abs(n)?+(t>=0):+(n>=0)}e(m,`getArcSweepFlag`);function h(e,n){if(e.length<2)return e.map(e=>({...e}));let r=e.map(e=>({...e})),i=n.arrowTypeStart&&t[n.arrowTypeStart];if(i){let t=e[0],n=e[1],a=Math.atan2(n.y-t.y,n.x-t.x);r[0].x=t.x+i*Math.cos(a),r[0].y=t.y+i*Math.sin(a)}let a=n.arrowTypeEnd&&t[n.arrowTypeEnd];if(a){let t=e.length,n=e[t-2],i=e[t-1],o=Math.atan2(i.y-n.y,i.x-n.x);r[t-1].x=i.x-a*Math.cos(o),r[t-1].y=i.y-a*Math.sin(o)}return r}e(h,`applyMarkerOffsets`);function g(e,t,n,r,i){let a=e.point.x,o=e.point.y,s={x:a-t*e.r,y:o-n*e.r},c={x:a+t*e.r,y:o+n*e.r},l=[`L${p(s)}`];return i===`arc`?l.push(`A${f(e.r)},${f(e.r)} 0 0 ${r} ${p(c)}`):l.push(`M${p(c)}`),l}e(g,`emitJump`);function _(e,t,n,i){let a=t.x-e.x,o=t.y-e.y,s=n.x-t.x,c=n.y-t.y,l=Math.hypot(a,o),u=Math.hypot(s,c);if(l<r||u<r)return null;let d=a/l,f=o/l,p=s/u,m=c/u,h=d*p+f*m,g=Math.acos(Math.max(-1,Math.min(1,h)));if(g<r||Math.abs(Math.PI-g)<r)return null;let _=Math.min(i/Math.sin(g/2),l/2,u/2);return{startX:t.x-d*_,startY:t.y-f*_,endX:t.x+p*_,endY:t.y+m*_,ctrlX:t.x,ctrlY:t.y,cutLen:_}}e(_,`computeRoundedCorner`);function v(e,t,r){let o=e.points;if(o.length<2)return``;let c=h(o,e),l=e.curve===`rounded`,u=s(c),d=new Map;for(let e of t){let t=u[e.segIndex];if(!t)continue;let n=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),i=d.get(e.segIndex)??[];i.push({t:e.t,point:e.point,d:e.t*n,r:r.jumpRadius}),d.set(e.segIndex,i)}let v=[`M${p(c[0])}`];for(let e=0;e<u.length;e++){let t=u[e],o=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),s=o===0?0:(t.b.x-t.a.x)/o,h=o===0?0:(t.b.y-t.a.y)/o,y=m(t),b=0;if(l&&e>0){let t=_(c[e-1],c[e],c[e+1]??c[e],n);t&&(b=t.cutLen)}let x=o,S=null;l&&e<u.length-1&&(S=_(c[e],c[e+1],c[e+2]??c[e+1],n),S&&(x=o-S.cutLen));let C=r.jumpRadius*a,w=[...d.get(e)??[]].sort((e,t)=>e.t-t.t).filter(e=>{let t=Math.min(e.d-b,x-e.d)-i;return e.r=Math.min(e.r,t),e.r>=C});for(let e=0;e<w.length-1;e++){let t=w[e+1].d-w[e].d;if(w[e].r+w[e+1].r>t){let n=t/2;w[e].r=Math.min(w[e].r,n),w[e+1].r=Math.min(w[e+1].r,n)}}for(let e of w)e.r<C||v.push(...g(e,s,h,y,r.jumpStyle));l&&S?(v.push(`L${f(S.startX)},${f(S.startY)}`),v.push(`Q${f(S.ctrlX)},${f(S.ctrlY)} ${f(S.endX)},${f(S.endY)}`)):v.push(`L${p(t.b)}`)}return v.join(` `)}e(v,`rewriteEdgePath`);function y(e){return/^[\d\s+,.LMelm-]*$/.test(e)}e(y,`isStraightPath`);function b(e){return!e||e===`linear`||e===`rounded`||e===`step`||e===`stepBefore`||e===`stepAfter`}e(b,`curveSupportsLineHops`);function x(e){if(!e)return null;try{let t=typeof atob==`function`?atob(e):Buffer.from(e,`base64`).toString(),n=JSON.parse(t);if(!Array.isArray(n))return null;let r=[];for(let e of n)e&&typeof e.x==`number`&&typeof e.y==`number`&&r.push({x:e.x,y:e.y});return r.length>=2?r:null}catch{return null}}e(x,`decodeDataPoints`);function S(e,t,n){if(!n.enabled)return;let r=e.node();if(!r)return;let i=new Map;for(let e of t)i.set(e.id,e);let a=new Map;for(let e of r.querySelectorAll(`path[data-id]`)){let t=e.getAttribute(`data-id`);t!==null&&!a.has(t)&&a.set(t,e)}let o=[];for(let e of t){let t=a.get(e.id);if(!t)continue;let n=x(t.getAttribute(`data-points`))??e.points;o.push({...e,points:n})}let s=d(o);if(s.length===0)return;let c=new Map;for(let e of s){let t=c.get(e.jumpEdgeId)??[];t.push(e),c.set(e.jumpEdgeId,t)}for(let e of o){let t=c.get(e.id);if(!t||t.length===0)continue;let r=i.get(e.id)?.curve;if(r!==void 0&&!b(r))continue;let o=a.get(e.id);if(!o||r===void 0&&!y(o.getAttribute(`d`)??``))continue;let s=o.getAttribute(`style`)??``,l=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(s),u=l?Number.parseFloat(l[1]):null,d=l?Number.parseFloat(l[2]):null,f=v(e,t,n);if(o.setAttribute(`d`,f),u!==null&&d!==null&&typeof o.getTotalLength==`function`){let e=o.getTotalLength(),t=`0 ${u} ${Math.max(0,e-u-d)} ${d}`,n=s.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${t};`).replace(/;\s*;+/g,`;`);o.setAttribute(`style`,n)}}}e(S,`applyLineJumpsToSvg`);export{S as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{p as t}from"./src-XiVvaevx.js";import{t as n}from"./chunk-X3CZISLH-BixgQztF.js";import{A as r,B as i,M as a,T as o,b as s,f as c,g as l,x as u,z as d}from"./chunk-DU6HZSFF-CWlP1Dk_.js";import{a as f,i as p,r as m,t as h}from"./chunk-P2QGCYS3-BA--DhpW.js";import{t as g}from"./chunk-PWAF6VOD-D_kLse-N.js";import{a as _,p as v,r as y,u as b}from"./chunk-75Z2AOVW-DitkSoSG.js";import{n as x,r as S}from"./chunk-GMAD6QVW-Bgk8qnty.js";import{t as C}from"./rough.esm-Dy-Kn_BL.js";var w=1,T=3;async function E(t){let n=t.getElementsByTagName(`img`);if(!n||n.length===0)return;let r=!D(t);await Promise.all([...n].map(t=>new Promise(n=>{function i(){if(t.style.display=`flex`,t.style.flexDirection=`column`,r){let e=u().fontSize?u().fontSize:window.getComputedStyle(document.body).fontSize,[n=c.fontSize]=v(e),r=n*5+`px`;t.style.minWidth=r,t.style.maxWidth=r}else t.style.width=`100%`;n(t)}e(i,`setupImage`),setTimeout(()=>{t.complete&&i()}),t.addEventListener(`error`,i),t.addEventListener(`load`,i)})))}e(E,`configureLabelImages`);function D(e){return e.nodeType===T?e.textContent?.trim()!==``:e.nodeType!==w||e.tagName.toLowerCase()===`img`?!1:[...e.childNodes].some(D)}e(D,`hasTextBesidesImages`);var O=3,k=32,A=e(async(e,n,r)=>{let i=u(),a=e.insert(`g`).attr(`class`,r??`node default`).attr(`id`,n.domId||n.id),o=a.insert(`g`).attr(`class`,`label`).attr(`style`,b(n.labelStyle)),s=[{text:typeof n.label==`string`?n.label:n.label?.[0]??``,cssClass:`c4-name`},{text:n.stereotype,cssClass:`c4-type`},...(n.description??[]).map(e=>({text:e,cssClass:`c4-descr`}))].filter(e=>e.text),c=n.width?Math.max(n.width-2*(n.padding??0),k):u().flowchart?.wrappingWidth??200,l=i.c4?.wrap??!0?c:1/0,f=await Promise.all(s.map(async e=>{let r=o.append(`g`).attr(`class`,e.cssClass),a=await x(r,d(_(e.text??``),i),{useHtmlLabels:!1,markdown:!1,isNode:!0,width:l,style:n.labelStyle},i);return t(a).selectAll(`tspan.text-outer-tspan`).attr(`text-anchor`,`middle`),t(a).selectAll(`tspan.text-inner-tspan`).attr(`font-weight`,null).attr(`font-style`,null),{el:r,box:r.node().getBBox()}})),p=Math.max(...f.map(({box:e})=>e.width),0),m=0;for(let{el:e,box:t}of f)e.attr(`transform`,`translate(${p/2-t.x-t.width/2}, ${m-t.y})`),m+=t.height+O;let h=f.length>0?m-O:0;return o.insert(`rect`,`:first-child`),o.attr(`transform`,`translate(${-p/2}, ${-h/2})`),{shapeSvg:a,bbox:o.node().getBBox(),halfPadding:(n.padding??0)/2,label:o}},`c4LabelHelper`),j=e(async(e,n,r)=>{if(n.stereotype!==void 0)return A(e,n,r);let i,a=n.useHtmlLabels||l(u()?.htmlLabels);i=r||`node default`;let o=e.insert(`g`).attr(`class`,i).attr(`id`,n.domId||n.id),s=o.insert(`g`).attr(`class`,`label`).attr(`style`,b(n.labelStyle)),c;c=n.label===void 0?``:typeof n.label==`string`?n.label:n.label[0];let f=!!n.icon||!!n.img,p=n.labelType===`markdown`,m=await x(s,d(_(c),u()),{useHtmlLabels:a,width:n.width||n.wrappingWidth||u().flowchart?.wrappingWidth,classes:p?`markdown-node-label`:``,style:n.labelStyle,addSvgBackground:f,markdown:p},u()),h=(n?.padding??0)/2,g;if(a){let e=m.children[0],n=t(m);await E(e),g=await S.measure(()=>e.getBoundingClientRect()),n.attr(`width`,g.width),n.attr(`height`,g.height)}else g=await S.measure(()=>m.getBBox());return a?s.attr(`transform`,`translate(`+-g.width/2+`, `+-g.height/2+`)`):s.attr(`transform`,`translate(0, `+-g.height/2+`)`),n.centerLabel&&s.attr(`transform`,`translate(`+-g.width/2+`, `+-g.height/2+`)`),s.insert(`rect`,`:first-child`),{shapeSvg:o,bbox:g,halfPadding:h,label:s}},`labelHelper`),M=e(async(e,n,r)=>{let i=r.useHtmlLabels??o(u()),a=e.insert(`g`).attr(`class`,`label`).attr(`style`,r.labelStyle||``),s=await x(a,d(_(n),u()),{useHtmlLabels:i,width:r.width||u()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),c=r.padding/2,l;if(o(u())){let e=s.children[0],n=t(s);l=await S.measure(()=>e.getBoundingClientRect()),n.attr(`width`,l.width),n.attr(`height`,l.height)}else l=await S.measure(()=>s.getBBox());return i?a.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`):a.attr(`transform`,`translate(0, `+-l.height/2+`)`),r.centerLabel&&a.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`),a.insert(`rect`,`:first-child`),{shapeSvg:e,bbox:l,halfPadding:c,label:a}},`insertLabel`),N=e((e,t,n)=>{if(n){e.width=n.width,e.height=n.height;return}let r=t.node().getBBox();e.width=r.width,e.height=r.height},`updateNodeBounds`),P=e((e,t)=>(e.look===`handDrawn`?`rough-node`:`node`)+` `+e.cssClasses+` `+(t||``),`getNodeClasses`);function F(e){let t=e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`);return t.push(`Z`),t.join(` `)}e(F,`createPathFromPoints`);function I(e,t,n,r,i,a){let o=[],s=n-e,c=r-t,l=s/a,u=2*Math.PI/l,d=t+c/2;for(let t=0;t<=50;t++){let n=e+t/50*s,r=d+i*Math.sin(u*(n-e));o.push({x:n,y:r})}return o}e(I,`generateFullSineWavePoints`);function L(e,t,n,r,i,a){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(L,`generateCirclePoints`);function ee(t){let n=Array.from(t.childNodes).filter(e=>e.tagName===`path`),r=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),i=n.map(e=>e.getAttribute(`d`)).filter(e=>e!==null).join(` `);r.setAttribute(`d`,i);let a=n.find(e=>e.getAttribute(`fill`)!==`none`),o=n.find(e=>e.getAttribute(`stroke`)!==`none`),s=e((e,t)=>e?.getAttribute(t)??void 0,`getAttr`);if(a){let e={fill:s(a,`fill`),"fill-opacity":s(a,`fill-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}if(o){let e={stroke:s(o,`stroke`),"stroke-width":s(o,`stroke-width`)??`1`,"stroke-opacity":s(o,`stroke-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}let c=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);return c.appendChild(r),c}e(ee,`mergePaths`);var R=e((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`),z=e((e,t,n,r,i)=>[`M`,e+i,t,`H`,e+n-i,`A`,i,i,0,0,1,e+n,t+i,`V`,t+r-i,`A`,i,i,0,0,1,e+n-i,t+r,`H`,e+i,`A`,i,i,0,0,1,e,t+r-i,`V`,t+i,`A`,i,i,0,0,1,e+i,t,`Z`].join(` `),`createRoundedRectPathD`),te=e(async(e,t,n,r=!1,i=!1)=>{let a=t||``;typeof a==`object`&&(a=a[0]);let s=u(),c=o(s);return await x(e,a,{style:n,isTitle:r,useHtmlLabels:c,markdown:!1,isNode:i,width:1/0},s)},`createLabel`);function B(e,t){return e.intersect(t)}e(B,`intersectNode`);var ne=B;function V(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}e(V,`intersectEllipse`);var H=V;function re(e,t,n){return H(e,t,t,n)}e(re,`intersectCircle`);var ie=re;function U(e,t,n,r){{let i=t.y-e.y,a=e.x-t.x,o=t.x*e.y-e.x*t.y,s=i*n.x+a*n.y+o,c=i*r.x+a*r.y+o,l=1e-6;if(s!==0&&c!==0&&W(s,c))return;let u=r.y-n.y,d=n.x-r.x,f=r.x*n.y-n.x*r.y,p=u*e.x+d*e.y+f,m=u*t.x+d*t.y+f;if(Math.abs(p)<l&&Math.abs(m)<l&&W(p,m))return;let h=i*d-u*a;if(h===0)return;let g=Math.abs(h/2),_=a*f-d*o,v=_<0?(_-g)/h:(_+g)/h;return _=u*o-i*f,{x:v,y:_<0?(_-g)/h:(_+g)/h}}}e(U,`intersectLine`);function W(e,t){return e*t>0}e(W,`sameSign`);var G=U;function ae(e,t,n){let r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));let c=r-e.width/2-o,l=i-e.height/2-s;for(let r=0;r<t.length;r++){let i=t[r],o=t[r<t.length-1?r+1:0],s=G(e,n,{x:c+i.x,y:l+i.y},{x:c+o.x,y:l+o.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(e,t){let r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}e(ae,`intersectPolygon`);var K={node:ne,circle:ie,ellipse:H,polygon:ae,rect:R};function oe(e,t){let{labelStyles:r}=p(t);t.labelStyle=r;let i=P(t),a=i;i||(a=`anchor`);let o=e.insert(`g`).attr(`class`,a).attr(`id`,t.domId||t.id),{cssStyles:s}=t,c=C.svg(o),l=f(t,{fill:`black`,stroke:`none`,fillStyle:`solid`});t.look!==`handDrawn`&&(l.roughness=0);let u=c.circle(0,0,2,l),d=o.insert(()=>u,`:first-child`);return d.attr(`class`,`anchor`).attr(`style`,b(s)),N(t,d),t.intersect=function(e){return n.info(`Circle intersect`,t,1,e),K.circle(t,1,e)},o}e(oe,`anchor`);function se(e,t,n,r,i,a,o){let s=(e+n)/2,c=(t+r)/2,l=Math.atan2(r-t,n-e),u=(n-e)/2,d=(r-t)/2,f=u/i,p=d/a,m=Math.sqrt(f**2+p**2);if(m>1)throw Error(`The given radii are too small to create an arc between the points.`);let h=Math.sqrt(1-m**2),g=s+h*a*Math.sin(l)*(o?-1:1),_=c-h*i*Math.cos(l)*(o?-1:1),v=Math.atan2((t-_)/a,(e-g)/i),y=Math.atan2((r-_)/a,(n-g)/i)-v;o&&y<0&&(y+=2*Math.PI),!o&&y>0&&(y-=2*Math.PI);let b=[];for(let e=0;e<20;e++){let t=v+e/19*y,n=g+i*Math.cos(t),r=_+a*Math.sin(t);b.push({x:n,y:r})}return b}e(se,`generateArcPoints`);function ce(e,t,n){let[r,i]=[t,n].sort((e,t)=>t-e);return i*(1-Math.sqrt(1-(e/r/2)**2))}e(ce,`calculateArcSagitta`);async function le(t,n){let{labelStyles:r,nodeStyles:i}=p(n);n.labelStyle=r;let a=n.padding??0,o=n.look===`neo`?16:a,s=n.look===`neo`?12:a,c=e(e=>e+s,`calcTotalHeight`),l=e(e=>{let t=e/2;return[t/(2.5+e/50),t]},`calcEllipseRadius`),{shapeSvg:u,bbox:d}=await j(t,n,P(n)),m=c(n?.height?n?.height:d.height),[h,g]=l(m),_=ce(m,h,g),v=(n?.width?n?.width:d.width)+o*2+_-_,y=m,{cssStyles:b}=n,x=[{x:v/2,y:-y/2},{x:-v/2,y:-y/2},...se(-v/2,-y/2,-v/2,y/2,h,g,!1),{x:v/2,y:y/2},...se(v/2,y/2,v/2,-y/2,h,g,!0)],S=C.svg(u),w=f(n,{});n.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`);let T=F(x),E=S.path(T,w),D=u.insert(()=>E,`:first-child`);return D.attr(`class`,`basic label-container outer-path`),b&&n.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,b),i&&n.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,i),D.attr(`transform`,`translate(${h/2}, 0)`),N(n,D),n.intersect=function(e){return K.polygon(n,x,e)},u}e(le,`bowTieRect`);async function ue(t,n,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:a}=p(n);n.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await j(t,n,P(n)),l=r?.nodeBorder??r?.lineColor??`currentColor`,u=n.padding??12,d=Math.max(s.width+u*2,n.width??0,80),m=Math.max(Math.min(d*.08,12),5),h=Math.max(s.height+u*2+m,n.height??0),g=-h/2+m,_=h/2,v=d*.72,y=[`M${-d/2},${g}`,`L${-v/2},${_}`,`A${v/2},${m} 0 0 0 ${v/2},${_}`,`L${d/2},${g}`,`A${d/2},${m} 0 0 0 ${-d/2},${g}`,`Z`].join(` `),{cssStyles:b}=n,x=o.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(n.look===`handDrawn`){let e=C.svg(o).path(y,f(n,{}));x.node()?.appendChild(e),b&&x.attr(`style`,b)}else x.append(`path`).attr(`d`,y).attr(`style`,a);x.append(`ellipse`).attr(`cx`,0).attr(`cy`,g).attr(`rx`,d/2).attr(`ry`,m).attr(`style`,`fill:none;stroke:${l};stroke-width:1px`),N(n,x);let S=g+(_-g)/2;c.attr(`transform`,`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${S-s.height/2-(s.y-(s.top??0))})`);let w=e((e,t,n)=>Array.from({length:13},(r,i)=>{let a=Math.PI-i*Math.PI/12;return{x:e*Math.cos(a),y:t+n*m*Math.sin(a)}}),`arc`),T=[...w(d/2,g,-1),...w(v/2,_,1).reverse()];return n.intersect=function(e){return K.polygon(n,T,e)},o}e(ue,`bucket`);var de=20,fe=8,pe=80,me=8;async function he(e,t){let{themeVariables:n}=u(),r=n.clusterBkg,i=n.clusterBorder,{nodeStyles:a}=p(t),{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=t.padding??8,d=c.height,m=Math.max(c.width+l*2,pe,t?.width??0),h=Math.max(d+fe+de+l*2,t?.height??0),g=-m/2,_=-h/2,v=-(fe+de)/2,y=s.select(`.label`);y&&(t.useHtmlLabels??o(u())?y.attr(`transform`,`translate(${-c.width/2}, ${-c.height/2+v})`):y.attr(`transform`,`translate(0, ${-c.height/2+v})`));let x;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{fill:r,stroke:i,fillStyle:`solid`}),a=e.path(z(g,_,m,h,me),n);x=s.insert(()=>a,`:first-child`),x.attr(`class`,`basic label-container collapsed-group`).attr(`style`,b(t.cssStyles))}else x=s.insert(`rect`,`:first-child`),x.attr(`class`,`basic label-container collapsed-group`).attr(`style`,a).attr(`rx`,me).attr(`ry`,me).attr(`x`,g).attr(`y`,_).attr(`width`,m).attr(`height`,h).attr(`fill`,r).attr(`stroke`,i);let S=_+l+d+fe;s.append(`line`).attr(`class`,`collapsed-separator`).attr(`x1`,g+8).attr(`y1`,S).attr(`x2`,g+m-8).attr(`y2`,S).attr(`stroke`,i).attr(`stroke-dasharray`,`3, 3`);let w=S+de/2;for(let e=-1;e<=1;e++)s.append(`circle`).attr(`class`,`collapsed-indicator`).attr(`cx`,e*10).attr(`cy`,w).attr(`r`,2.5).attr(`fill`,i);return N(t,x),t.calcIntersect=function(e,t){return K.rect(e,t)},t.intersect=function(e){return K.rect(t,e)},s}e(he,`collapsedGroup`);function q(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}e(q,`insertPolygonShape`);var ge=[`right`,`left`,`up`,`down`],_e=`point`,ve=e(e=>{let t=new Set;for(let n of e)switch(n){case`x`:t.add(`right`),t.add(`left`);break;case`y`:t.add(`up`),t.add(`down`);break;default:t.add(n)}return t},`expandAndDeduplicateDirections`),ye=e(e=>ge.filter(t=>e.has(t)).join(`|`)||_e,`getDirectionKey`),be={"right|left|up|down":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:0,y:0},{x:t,y:0},{x:r/2,y:2*n},{x:r-t,y:0},{x:r,y:0},{x:r,y:-e/3},{x:r+2*n,y:-e/2},{x:r,y:-2*e/3},{x:r,y:-e},{x:r-t,y:-e},{x:r/2,y:-e-2*n},{x:t,y:-e},{x:0,y:-e},{x:0,y:-2*e/3},{x:-2*n,y:-e/2},{x:0,y:-e/3}],`right|left|up|down`),"right|left|up":e(({height:e,midpoint:t,width:n})=>[{x:t,y:0},{x:n-t,y:0},{x:n,y:-e/2},{x:n-t,y:-e},{x:t,y:-e},{x:0,y:-e/2}],`right|left|up`),"right|left|down":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:t,y:-e},{x:n-t,y:-e},{x:n,y:0}],`right|left|down`),"right|up|down":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:n,y:-e+t},{x:0,y:-e}],`right|up|down`),"left|up|down":e(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:0,y:-e+t},{x:n,y:-e}],`left|up|down`),"right|left":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`right|left`),"up|down":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`up|down`),"right|up":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:0,y:-e}],`right|up`),"right|down":e(({height:e,width:t})=>[{x:0,y:0},{x:t,y:0},{x:0,y:-e}],`right|down`),"left|up":e(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:n,y:-e}],`left|up`),"left|down":e(({height:e,width:t})=>[{x:t,y:0},{x:0,y:0},{x:t,y:-e}],`left|down`),right:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e+n}],`right`),left:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`left`),up:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n}],`up`),down:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`down`),[_e]:()=>[{x:0,y:0}]},xe=e((e,t,n,r)=>{let i=ve(e),a=(n.padding??0)/2,o=t.height+4*a,s=o/2,c=r??t.width+2*s+2*a;return(be[ye(i)]??be[_e])({height:o,midpoint:s,padding:a,width:c})},`getArrowPoints`);async function Se(e,t){let n=t,{shapeSvg:r,bbox:i}=await j(e,n,P(n)),a=n.padding??0,o=i.height+2*a,s=o/2,c=i.width+2*s+a,l=n.width??0,u=n.positioned&&(n.widthInColumns??1)>1&&l>c?l:c,d=xe(n.directions??[],i,n,u),f=q(r,u,o,d);return f.attr(`style`,n.style??null),N(n,f),n.intersect=function(e){return K.polygon(n,d,e)},r}e(Se,`block_arrow`);async function Ce(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await j(e,t,P(t)),c=n?.nodeBorder??n?.lineColor??`currentColor`,l=t.padding??12,u=Math.max(o.width+l*2,t.width??0,90),d=Math.max(o.height+l*2+18,t.height??0),m=-d/2,{cssStyles:h}=t,g=a.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(t.look===`handDrawn`){let e=C.svg(a).path(z(-u/2,m,u,d,12),f(t,{}));g.node()?.appendChild(e),h&&g.attr(`style`,h)}else g.append(`rect`).attr(`x`,-u/2).attr(`y`,m).attr(`width`,u).attr(`height`,d).attr(`rx`,12).attr(`ry`,12).attr(`style`,i);g.append(`line`).attr(`x1`,-u/2).attr(`y1`,m+18).attr(`x2`,u/2).attr(`y2`,m+18).attr(`style`,`stroke:${c};stroke-width:1px`);for(let e=0;e<3;e++)g.append(`circle`).attr(`cx`,-u/2+12+e*9).attr(`cy`,m+9).attr(`r`,2.5).attr(`style`,`fill:${c};stroke:none`);g.append(`rect`).attr(`class`,`browser-address-bar`).attr(`x`,-u/2+44).attr(`y`,m+4).attr(`width`,Math.max(u-56,10)).attr(`height`,10).attr(`rx`,3).attr(`ry`,3).attr(`style`,`fill:none;stroke:${c};stroke-width:1px;opacity:0.6`),N(t,g);let _=m+18+(d-18)/2;return s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${_-o.height/2-(o.y-(o.top??0))})`),t.intersect=function(e){return K.rect(t,e)},a}e(Ce,`browser`);var we=12;async function Te(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?28:i,o=t.look===`neo`?24:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=(t?.width??c.width)+(t.look===`neo`?a*2:a+we),u=(t?.height??c.height)+(t.look===`neo`?o*2:o),d=l,m=-u,h=[{x:0+we,y:m},{x:d,y:m},{x:d,y:0},{x:0,y:0},{x:0,y:m+we},{x:0+we,y:m}],g,{cssStyles:_}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=F(h),i=e.path(r,n);g=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-l/2}, ${u/2})`),_&&g.attr(`style`,_)}else g=q(s,l,u,h);return r&&g.attr(`style`,r),N(t,g),t.intersect=function(e){return K.polygon(t,h,e)},s}e(Te,`card`);function Ee(e,t){let{nodeStyles:n}=p(t);t.label=``;let r=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),{cssStyles:i}=t,a=Math.max(28,t.width??0),o=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],s=C.svg(r),c=f(t,{});t.look!==`handDrawn`&&(c.roughness=0,c.fillStyle=`solid`);let l=F(o),u=s.path(l,c),d=r.insert(()=>u,`:first-child`);return i&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,i),n&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,n),t.width=28,t.height=28,t.intersect=function(e){return K.polygon(t,o,e)},r}e(Ee,`choice`);async function De(e,t,r){let{labelStyles:i,nodeStyles:a}=p(t);t.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c}=await j(e,t,P(t)),l=r?.padding??c,u=t.look===`neo`?s.width/2+32:s.width/2+l,d,{cssStyles:m}=t;if(t.look===`handDrawn`){let e=C.svg(o),n=f(t,{}),r=e.circle(0,0,u*2,n);d=o.insert(()=>r,`:first-child`),d.attr(`class`,`basic label-container`).attr(`style`,b(m))}else d=o.insert(`circle`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`r`,u).attr(`cx`,0).attr(`cy`,0);return N(t,d),t.calcIntersect=function(e,t){let n=e.width/2;return K.circle(e,n,t)},t.intersect=function(e){return n.info(`Circle intersect`,t,u,e),K.circle(t,u,e)},o}e(De,`circle`);async function Oe(e,t){let n=t,{shapeSvg:r,bbox:i,halfPadding:a}=await j(e,n,[`node`,n.cssClasses,n.class].filter(Boolean).join(` `)),o=r.insert(`rect`,`:first-child`),s=n.padding??0,c=n.positioned?n.width??0:i.width+s,l=n.positioned?n.height??0:i.height+s,u=n.positioned?-c/2:-i.width/2-a,d=n.positioned?-l/2:-i.height/2-a;return o.attr(`class`,`basic cluster composite label-container`).attr(`style`,n.style??null).attr(`rx`,n.rx??null).attr(`ry`,n.ry??null).attr(`x`,u).attr(`y`,d).attr(`width`,c).attr(`height`,l),N(n,o),n.intersect=function(e){return K.rect(n,e)},r}e(Oe,`composite`);async function ke(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await j(e,t,P(t)),c=n?.nodeBorder??n?.lineColor??`currentColor`,l=t.padding??12,u=Math.max(o.width+l*2,t.width??0,90),d=Math.max(o.height+l*2+20,t.height??0),m=-d/2,{cssStyles:h}=t,g=a.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(t.look===`handDrawn`){let e=C.svg(a).path(z(-u/2,m,u,d,12),f(t,{}));g.node()?.appendChild(e),h&&g.attr(`style`,h)}else g.append(`rect`).attr(`x`,-u/2).attr(`y`,m).attr(`width`,u).attr(`height`,d).attr(`rx`,12).attr(`ry`,12).attr(`style`,i);g.append(`text`).attr(`x`,-u/2+12).attr(`y`,m+16).attr(`class`,`console-glyph`).attr(`style`,`font-family:monospace;font-weight:bold;font-size:14px;fill:${c}`).text(`>_`),N(t,g);let _=m+20+(d-20)/2;return s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${_-o.height/2-(o.y-(o.top??0))})`),t.intersect=function(e){return K.rect(t,e)},a}e(ke,`consoleWindow`);function Ae(e){let t=Math.cos(Math.PI/4),n=Math.sin(Math.PI/4),r=e*2,i={x:r/2*t,y:r/2*n},a={x:-(r/2)*t,y:r/2*n},o={x:-(r/2)*t,y:-(r/2)*n},s={x:r/2*t,y:-(r/2)*n};return`M ${a.x},${a.y} L ${s.x},${s.y}
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{p as t}from"./src-C2pSFGeK.js";import{t as n}from"./chunk-X3CZISLH-DayjKu55.js";import{A as r,B as i,M as a,T as o,b as s,f as c,g as l,x as u,z as d}from"./chunk-DU6HZSFF-Dz0Q7VKE.js";import{a as f,i as p,r as m,t as h}from"./chunk-P2QGCYS3-DejntbnV.js";import{t as g}from"./chunk-PWAF6VOD-CmxcnYFJ.js";import{a as _,p as v,r as y,u as b}from"./chunk-75Z2AOVW-DLVzmKuL.js";import{n as x,r as S}from"./chunk-GMAD6QVW-B6zS4VJx.js";import{t as C}from"./rough.esm-Dy-Kn_BL.js";var w=1,T=3;async function E(t){let n=t.getElementsByTagName(`img`);if(!n||n.length===0)return;let r=!D(t);await Promise.all([...n].map(t=>new Promise(n=>{function i(){if(t.style.display=`flex`,t.style.flexDirection=`column`,r){let e=u().fontSize?u().fontSize:window.getComputedStyle(document.body).fontSize,[n=c.fontSize]=v(e),r=n*5+`px`;t.style.minWidth=r,t.style.maxWidth=r}else t.style.width=`100%`;n(t)}e(i,`setupImage`),setTimeout(()=>{t.complete&&i()}),t.addEventListener(`error`,i),t.addEventListener(`load`,i)})))}e(E,`configureLabelImages`);function D(e){return e.nodeType===T?e.textContent?.trim()!==``:e.nodeType!==w||e.tagName.toLowerCase()===`img`?!1:[...e.childNodes].some(D)}e(D,`hasTextBesidesImages`);var O=3,k=32,A=e(async(e,n,r)=>{let i=u(),a=e.insert(`g`).attr(`class`,r??`node default`).attr(`id`,n.domId||n.id),o=a.insert(`g`).attr(`class`,`label`).attr(`style`,b(n.labelStyle)),s=[{text:typeof n.label==`string`?n.label:n.label?.[0]??``,cssClass:`c4-name`},{text:n.stereotype,cssClass:`c4-type`},...(n.description??[]).map(e=>({text:e,cssClass:`c4-descr`}))].filter(e=>e.text),c=n.width?Math.max(n.width-2*(n.padding??0),k):u().flowchart?.wrappingWidth??200,l=i.c4?.wrap??!0?c:1/0,f=await Promise.all(s.map(async e=>{let r=o.append(`g`).attr(`class`,e.cssClass),a=await x(r,d(_(e.text??``),i),{useHtmlLabels:!1,markdown:!1,isNode:!0,width:l,style:n.labelStyle},i);return t(a).selectAll(`tspan.text-outer-tspan`).attr(`text-anchor`,`middle`),t(a).selectAll(`tspan.text-inner-tspan`).attr(`font-weight`,null).attr(`font-style`,null),{el:r,box:r.node().getBBox()}})),p=Math.max(...f.map(({box:e})=>e.width),0),m=0;for(let{el:e,box:t}of f)e.attr(`transform`,`translate(${p/2-t.x-t.width/2}, ${m-t.y})`),m+=t.height+O;let h=f.length>0?m-O:0;return o.insert(`rect`,`:first-child`),o.attr(`transform`,`translate(${-p/2}, ${-h/2})`),{shapeSvg:a,bbox:o.node().getBBox(),halfPadding:(n.padding??0)/2,label:o}},`c4LabelHelper`),j=e(async(e,n,r)=>{if(n.stereotype!==void 0)return A(e,n,r);let i,a=n.useHtmlLabels||l(u()?.htmlLabels);i=r||`node default`;let o=e.insert(`g`).attr(`class`,i).attr(`id`,n.domId||n.id),s=o.insert(`g`).attr(`class`,`label`).attr(`style`,b(n.labelStyle)),c;c=n.label===void 0?``:typeof n.label==`string`?n.label:n.label[0];let f=!!n.icon||!!n.img,p=n.labelType===`markdown`,m=await x(s,d(_(c),u()),{useHtmlLabels:a,width:n.width||n.wrappingWidth||u().flowchart?.wrappingWidth,classes:p?`markdown-node-label`:``,style:n.labelStyle,addSvgBackground:f,markdown:p},u()),h=(n?.padding??0)/2,g;if(a){let e=m.children[0],n=t(m);await E(e),g=await S.measure(()=>e.getBoundingClientRect()),n.attr(`width`,g.width),n.attr(`height`,g.height)}else g=await S.measure(()=>m.getBBox());return a?s.attr(`transform`,`translate(`+-g.width/2+`, `+-g.height/2+`)`):s.attr(`transform`,`translate(0, `+-g.height/2+`)`),n.centerLabel&&s.attr(`transform`,`translate(`+-g.width/2+`, `+-g.height/2+`)`),s.insert(`rect`,`:first-child`),{shapeSvg:o,bbox:g,halfPadding:h,label:s}},`labelHelper`),M=e(async(e,n,r)=>{let i=r.useHtmlLabels??o(u()),a=e.insert(`g`).attr(`class`,`label`).attr(`style`,r.labelStyle||``),s=await x(a,d(_(n),u()),{useHtmlLabels:i,width:r.width||u()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),c=r.padding/2,l;if(o(u())){let e=s.children[0],n=t(s);l=await S.measure(()=>e.getBoundingClientRect()),n.attr(`width`,l.width),n.attr(`height`,l.height)}else l=await S.measure(()=>s.getBBox());return i?a.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`):a.attr(`transform`,`translate(0, `+-l.height/2+`)`),r.centerLabel&&a.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`),a.insert(`rect`,`:first-child`),{shapeSvg:e,bbox:l,halfPadding:c,label:a}},`insertLabel`),N=e((e,t,n)=>{if(n){e.width=n.width,e.height=n.height;return}let r=t.node().getBBox();e.width=r.width,e.height=r.height},`updateNodeBounds`),P=e((e,t)=>(e.look===`handDrawn`?`rough-node`:`node`)+` `+e.cssClasses+` `+(t||``),`getNodeClasses`);function F(e){let t=e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`);return t.push(`Z`),t.join(` `)}e(F,`createPathFromPoints`);function I(e,t,n,r,i,a){let o=[],s=n-e,c=r-t,l=s/a,u=2*Math.PI/l,d=t+c/2;for(let t=0;t<=50;t++){let n=e+t/50*s,r=d+i*Math.sin(u*(n-e));o.push({x:n,y:r})}return o}e(I,`generateFullSineWavePoints`);function L(e,t,n,r,i,a){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(L,`generateCirclePoints`);function ee(t){let n=Array.from(t.childNodes).filter(e=>e.tagName===`path`),r=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),i=n.map(e=>e.getAttribute(`d`)).filter(e=>e!==null).join(` `);r.setAttribute(`d`,i);let a=n.find(e=>e.getAttribute(`fill`)!==`none`),o=n.find(e=>e.getAttribute(`stroke`)!==`none`),s=e((e,t)=>e?.getAttribute(t)??void 0,`getAttr`);if(a){let e={fill:s(a,`fill`),"fill-opacity":s(a,`fill-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}if(o){let e={stroke:s(o,`stroke`),"stroke-width":s(o,`stroke-width`)??`1`,"stroke-opacity":s(o,`stroke-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}let c=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);return c.appendChild(r),c}e(ee,`mergePaths`);var R=e((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`),z=e((e,t,n,r,i)=>[`M`,e+i,t,`H`,e+n-i,`A`,i,i,0,0,1,e+n,t+i,`V`,t+r-i,`A`,i,i,0,0,1,e+n-i,t+r,`H`,e+i,`A`,i,i,0,0,1,e,t+r-i,`V`,t+i,`A`,i,i,0,0,1,e+i,t,`Z`].join(` `),`createRoundedRectPathD`),te=e(async(e,t,n,r=!1,i=!1)=>{let a=t||``;typeof a==`object`&&(a=a[0]);let s=u(),c=o(s);return await x(e,a,{style:n,isTitle:r,useHtmlLabels:c,markdown:!1,isNode:i,width:1/0},s)},`createLabel`);function B(e,t){return e.intersect(t)}e(B,`intersectNode`);var ne=B;function V(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}e(V,`intersectEllipse`);var H=V;function re(e,t,n){return H(e,t,t,n)}e(re,`intersectCircle`);var ie=re;function U(e,t,n,r){{let i=t.y-e.y,a=e.x-t.x,o=t.x*e.y-e.x*t.y,s=i*n.x+a*n.y+o,c=i*r.x+a*r.y+o,l=1e-6;if(s!==0&&c!==0&&W(s,c))return;let u=r.y-n.y,d=n.x-r.x,f=r.x*n.y-n.x*r.y,p=u*e.x+d*e.y+f,m=u*t.x+d*t.y+f;if(Math.abs(p)<l&&Math.abs(m)<l&&W(p,m))return;let h=i*d-u*a;if(h===0)return;let g=Math.abs(h/2),_=a*f-d*o,v=_<0?(_-g)/h:(_+g)/h;return _=u*o-i*f,{x:v,y:_<0?(_-g)/h:(_+g)/h}}}e(U,`intersectLine`);function W(e,t){return e*t>0}e(W,`sameSign`);var G=U;function ae(e,t,n){let r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));let c=r-e.width/2-o,l=i-e.height/2-s;for(let r=0;r<t.length;r++){let i=t[r],o=t[r<t.length-1?r+1:0],s=G(e,n,{x:c+i.x,y:l+i.y},{x:c+o.x,y:l+o.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(e,t){let r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}e(ae,`intersectPolygon`);var K={node:ne,circle:ie,ellipse:H,polygon:ae,rect:R};function oe(e,t){let{labelStyles:r}=p(t);t.labelStyle=r;let i=P(t),a=i;i||(a=`anchor`);let o=e.insert(`g`).attr(`class`,a).attr(`id`,t.domId||t.id),{cssStyles:s}=t,c=C.svg(o),l=f(t,{fill:`black`,stroke:`none`,fillStyle:`solid`});t.look!==`handDrawn`&&(l.roughness=0);let u=c.circle(0,0,2,l),d=o.insert(()=>u,`:first-child`);return d.attr(`class`,`anchor`).attr(`style`,b(s)),N(t,d),t.intersect=function(e){return n.info(`Circle intersect`,t,1,e),K.circle(t,1,e)},o}e(oe,`anchor`);function se(e,t,n,r,i,a,o){let s=(e+n)/2,c=(t+r)/2,l=Math.atan2(r-t,n-e),u=(n-e)/2,d=(r-t)/2,f=u/i,p=d/a,m=Math.sqrt(f**2+p**2);if(m>1)throw Error(`The given radii are too small to create an arc between the points.`);let h=Math.sqrt(1-m**2),g=s+h*a*Math.sin(l)*(o?-1:1),_=c-h*i*Math.cos(l)*(o?-1:1),v=Math.atan2((t-_)/a,(e-g)/i),y=Math.atan2((r-_)/a,(n-g)/i)-v;o&&y<0&&(y+=2*Math.PI),!o&&y>0&&(y-=2*Math.PI);let b=[];for(let e=0;e<20;e++){let t=v+e/19*y,n=g+i*Math.cos(t),r=_+a*Math.sin(t);b.push({x:n,y:r})}return b}e(se,`generateArcPoints`);function ce(e,t,n){let[r,i]=[t,n].sort((e,t)=>t-e);return i*(1-Math.sqrt(1-(e/r/2)**2))}e(ce,`calculateArcSagitta`);async function le(t,n){let{labelStyles:r,nodeStyles:i}=p(n);n.labelStyle=r;let a=n.padding??0,o=n.look===`neo`?16:a,s=n.look===`neo`?12:a,c=e(e=>e+s,`calcTotalHeight`),l=e(e=>{let t=e/2;return[t/(2.5+e/50),t]},`calcEllipseRadius`),{shapeSvg:u,bbox:d}=await j(t,n,P(n)),m=c(n?.height?n?.height:d.height),[h,g]=l(m),_=ce(m,h,g),v=(n?.width?n?.width:d.width)+o*2+_-_,y=m,{cssStyles:b}=n,x=[{x:v/2,y:-y/2},{x:-v/2,y:-y/2},...se(-v/2,-y/2,-v/2,y/2,h,g,!1),{x:v/2,y:y/2},...se(v/2,y/2,v/2,-y/2,h,g,!0)],S=C.svg(u),w=f(n,{});n.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`);let T=F(x),E=S.path(T,w),D=u.insert(()=>E,`:first-child`);return D.attr(`class`,`basic label-container outer-path`),b&&n.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,b),i&&n.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,i),D.attr(`transform`,`translate(${h/2}, 0)`),N(n,D),n.intersect=function(e){return K.polygon(n,x,e)},u}e(le,`bowTieRect`);async function ue(t,n,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:a}=p(n);n.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await j(t,n,P(n)),l=r?.nodeBorder??r?.lineColor??`currentColor`,u=n.padding??12,d=Math.max(s.width+u*2,n.width??0,80),m=Math.max(Math.min(d*.08,12),5),h=Math.max(s.height+u*2+m,n.height??0),g=-h/2+m,_=h/2,v=d*.72,y=[`M${-d/2},${g}`,`L${-v/2},${_}`,`A${v/2},${m} 0 0 0 ${v/2},${_}`,`L${d/2},${g}`,`A${d/2},${m} 0 0 0 ${-d/2},${g}`,`Z`].join(` `),{cssStyles:b}=n,x=o.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(n.look===`handDrawn`){let e=C.svg(o).path(y,f(n,{}));x.node()?.appendChild(e),b&&x.attr(`style`,b)}else x.append(`path`).attr(`d`,y).attr(`style`,a);x.append(`ellipse`).attr(`cx`,0).attr(`cy`,g).attr(`rx`,d/2).attr(`ry`,m).attr(`style`,`fill:none;stroke:${l};stroke-width:1px`),N(n,x);let S=g+(_-g)/2;c.attr(`transform`,`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${S-s.height/2-(s.y-(s.top??0))})`);let w=e((e,t,n)=>Array.from({length:13},(r,i)=>{let a=Math.PI-i*Math.PI/12;return{x:e*Math.cos(a),y:t+n*m*Math.sin(a)}}),`arc`),T=[...w(d/2,g,-1),...w(v/2,_,1).reverse()];return n.intersect=function(e){return K.polygon(n,T,e)},o}e(ue,`bucket`);var de=20,fe=8,pe=80,me=8;async function he(e,t){let{themeVariables:n}=u(),r=n.clusterBkg,i=n.clusterBorder,{nodeStyles:a}=p(t),{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=t.padding??8,d=c.height,m=Math.max(c.width+l*2,pe,t?.width??0),h=Math.max(d+fe+de+l*2,t?.height??0),g=-m/2,_=-h/2,v=-(fe+de)/2,y=s.select(`.label`);y&&(t.useHtmlLabels??o(u())?y.attr(`transform`,`translate(${-c.width/2}, ${-c.height/2+v})`):y.attr(`transform`,`translate(0, ${-c.height/2+v})`));let x;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{fill:r,stroke:i,fillStyle:`solid`}),a=e.path(z(g,_,m,h,me),n);x=s.insert(()=>a,`:first-child`),x.attr(`class`,`basic label-container collapsed-group`).attr(`style`,b(t.cssStyles))}else x=s.insert(`rect`,`:first-child`),x.attr(`class`,`basic label-container collapsed-group`).attr(`style`,a).attr(`rx`,me).attr(`ry`,me).attr(`x`,g).attr(`y`,_).attr(`width`,m).attr(`height`,h).attr(`fill`,r).attr(`stroke`,i);let S=_+l+d+fe;s.append(`line`).attr(`class`,`collapsed-separator`).attr(`x1`,g+8).attr(`y1`,S).attr(`x2`,g+m-8).attr(`y2`,S).attr(`stroke`,i).attr(`stroke-dasharray`,`3, 3`);let w=S+de/2;for(let e=-1;e<=1;e++)s.append(`circle`).attr(`class`,`collapsed-indicator`).attr(`cx`,e*10).attr(`cy`,w).attr(`r`,2.5).attr(`fill`,i);return N(t,x),t.calcIntersect=function(e,t){return K.rect(e,t)},t.intersect=function(e){return K.rect(t,e)},s}e(he,`collapsedGroup`);function q(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}e(q,`insertPolygonShape`);var ge=[`right`,`left`,`up`,`down`],_e=`point`,ve=e(e=>{let t=new Set;for(let n of e)switch(n){case`x`:t.add(`right`),t.add(`left`);break;case`y`:t.add(`up`),t.add(`down`);break;default:t.add(n)}return t},`expandAndDeduplicateDirections`),ye=e(e=>ge.filter(t=>e.has(t)).join(`|`)||_e,`getDirectionKey`),be={"right|left|up|down":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:0,y:0},{x:t,y:0},{x:r/2,y:2*n},{x:r-t,y:0},{x:r,y:0},{x:r,y:-e/3},{x:r+2*n,y:-e/2},{x:r,y:-2*e/3},{x:r,y:-e},{x:r-t,y:-e},{x:r/2,y:-e-2*n},{x:t,y:-e},{x:0,y:-e},{x:0,y:-2*e/3},{x:-2*n,y:-e/2},{x:0,y:-e/3}],`right|left|up|down`),"right|left|up":e(({height:e,midpoint:t,width:n})=>[{x:t,y:0},{x:n-t,y:0},{x:n,y:-e/2},{x:n-t,y:-e},{x:t,y:-e},{x:0,y:-e/2}],`right|left|up`),"right|left|down":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:t,y:-e},{x:n-t,y:-e},{x:n,y:0}],`right|left|down`),"right|up|down":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:n,y:-e+t},{x:0,y:-e}],`right|up|down`),"left|up|down":e(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:0,y:-e+t},{x:n,y:-e}],`left|up|down`),"right|left":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`right|left`),"up|down":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`up|down`),"right|up":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:0,y:-e}],`right|up`),"right|down":e(({height:e,width:t})=>[{x:0,y:0},{x:t,y:0},{x:0,y:-e}],`right|down`),"left|up":e(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:n,y:-e}],`left|up`),"left|down":e(({height:e,width:t})=>[{x:t,y:0},{x:0,y:0},{x:t,y:-e}],`left|down`),right:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e+n}],`right`),left:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`left`),up:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n}],`up`),down:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`down`),[_e]:()=>[{x:0,y:0}]},xe=e((e,t,n,r)=>{let i=ve(e),a=(n.padding??0)/2,o=t.height+4*a,s=o/2,c=r??t.width+2*s+2*a;return(be[ye(i)]??be[_e])({height:o,midpoint:s,padding:a,width:c})},`getArrowPoints`);async function Se(e,t){let n=t,{shapeSvg:r,bbox:i}=await j(e,n,P(n)),a=n.padding??0,o=i.height+2*a,s=o/2,c=i.width+2*s+a,l=n.width??0,u=n.positioned&&(n.widthInColumns??1)>1&&l>c?l:c,d=xe(n.directions??[],i,n,u),f=q(r,u,o,d);return f.attr(`style`,n.style??null),N(n,f),n.intersect=function(e){return K.polygon(n,d,e)},r}e(Se,`block_arrow`);async function Ce(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await j(e,t,P(t)),c=n?.nodeBorder??n?.lineColor??`currentColor`,l=t.padding??12,u=Math.max(o.width+l*2,t.width??0,90),d=Math.max(o.height+l*2+18,t.height??0),m=-d/2,{cssStyles:h}=t,g=a.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(t.look===`handDrawn`){let e=C.svg(a).path(z(-u/2,m,u,d,12),f(t,{}));g.node()?.appendChild(e),h&&g.attr(`style`,h)}else g.append(`rect`).attr(`x`,-u/2).attr(`y`,m).attr(`width`,u).attr(`height`,d).attr(`rx`,12).attr(`ry`,12).attr(`style`,i);g.append(`line`).attr(`x1`,-u/2).attr(`y1`,m+18).attr(`x2`,u/2).attr(`y2`,m+18).attr(`style`,`stroke:${c};stroke-width:1px`);for(let e=0;e<3;e++)g.append(`circle`).attr(`cx`,-u/2+12+e*9).attr(`cy`,m+9).attr(`r`,2.5).attr(`style`,`fill:${c};stroke:none`);g.append(`rect`).attr(`class`,`browser-address-bar`).attr(`x`,-u/2+44).attr(`y`,m+4).attr(`width`,Math.max(u-56,10)).attr(`height`,10).attr(`rx`,3).attr(`ry`,3).attr(`style`,`fill:none;stroke:${c};stroke-width:1px;opacity:0.6`),N(t,g);let _=m+18+(d-18)/2;return s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${_-o.height/2-(o.y-(o.top??0))})`),t.intersect=function(e){return K.rect(t,e)},a}e(Ce,`browser`);var we=12;async function Te(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?28:i,o=t.look===`neo`?24:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=(t?.width??c.width)+(t.look===`neo`?a*2:a+we),u=(t?.height??c.height)+(t.look===`neo`?o*2:o),d=l,m=-u,h=[{x:0+we,y:m},{x:d,y:m},{x:d,y:0},{x:0,y:0},{x:0,y:m+we},{x:0+we,y:m}],g,{cssStyles:_}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=F(h),i=e.path(r,n);g=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-l/2}, ${u/2})`),_&&g.attr(`style`,_)}else g=q(s,l,u,h);return r&&g.attr(`style`,r),N(t,g),t.intersect=function(e){return K.polygon(t,h,e)},s}e(Te,`card`);function Ee(e,t){let{nodeStyles:n}=p(t);t.label=``;let r=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),{cssStyles:i}=t,a=Math.max(28,t.width??0),o=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],s=C.svg(r),c=f(t,{});t.look!==`handDrawn`&&(c.roughness=0,c.fillStyle=`solid`);let l=F(o),u=s.path(l,c),d=r.insert(()=>u,`:first-child`);return i&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,i),n&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,n),t.width=28,t.height=28,t.intersect=function(e){return K.polygon(t,o,e)},r}e(Ee,`choice`);async function De(e,t,r){let{labelStyles:i,nodeStyles:a}=p(t);t.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c}=await j(e,t,P(t)),l=r?.padding??c,u=t.look===`neo`?s.width/2+32:s.width/2+l,d,{cssStyles:m}=t;if(t.look===`handDrawn`){let e=C.svg(o),n=f(t,{}),r=e.circle(0,0,u*2,n);d=o.insert(()=>r,`:first-child`),d.attr(`class`,`basic label-container`).attr(`style`,b(m))}else d=o.insert(`circle`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`r`,u).attr(`cx`,0).attr(`cy`,0);return N(t,d),t.calcIntersect=function(e,t){let n=e.width/2;return K.circle(e,n,t)},t.intersect=function(e){return n.info(`Circle intersect`,t,u,e),K.circle(t,u,e)},o}e(De,`circle`);async function Oe(e,t){let n=t,{shapeSvg:r,bbox:i,halfPadding:a}=await j(e,n,[`node`,n.cssClasses,n.class].filter(Boolean).join(` `)),o=r.insert(`rect`,`:first-child`),s=n.padding??0,c=n.positioned?n.width??0:i.width+s,l=n.positioned?n.height??0:i.height+s,u=n.positioned?-c/2:-i.width/2-a,d=n.positioned?-l/2:-i.height/2-a;return o.attr(`class`,`basic cluster composite label-container`).attr(`style`,n.style??null).attr(`rx`,n.rx??null).attr(`ry`,n.ry??null).attr(`x`,u).attr(`y`,d).attr(`width`,c).attr(`height`,l),N(n,o),n.intersect=function(e){return K.rect(n,e)},r}e(Oe,`composite`);async function ke(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await j(e,t,P(t)),c=n?.nodeBorder??n?.lineColor??`currentColor`,l=t.padding??12,u=Math.max(o.width+l*2,t.width??0,90),d=Math.max(o.height+l*2+20,t.height??0),m=-d/2,{cssStyles:h}=t,g=a.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(t.look===`handDrawn`){let e=C.svg(a).path(z(-u/2,m,u,d,12),f(t,{}));g.node()?.appendChild(e),h&&g.attr(`style`,h)}else g.append(`rect`).attr(`x`,-u/2).attr(`y`,m).attr(`width`,u).attr(`height`,d).attr(`rx`,12).attr(`ry`,12).attr(`style`,i);g.append(`text`).attr(`x`,-u/2+12).attr(`y`,m+16).attr(`class`,`console-glyph`).attr(`style`,`font-family:monospace;font-weight:bold;font-size:14px;fill:${c}`).text(`>_`),N(t,g);let _=m+20+(d-20)/2;return s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${_-o.height/2-(o.y-(o.top??0))})`),t.intersect=function(e){return K.rect(t,e)},a}e(ke,`consoleWindow`);function Ae(e){let t=Math.cos(Math.PI/4),n=Math.sin(Math.PI/4),r=e*2,i={x:r/2*t,y:r/2*n},a={x:-(r/2)*t,y:r/2*n},o={x:-(r/2)*t,y:-(r/2)*n},s={x:r/2*t,y:-(r/2)*n};return`M ${a.x},${a.y} L ${s.x},${s.y}
|
|
2
2
|
M ${i.x},${i.y} L ${o.x},${o.y}`}e(Ae,`createLine`);function je(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r,t.label=``;let a=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),o=Math.max(30,t?.width??0),{cssStyles:s}=t,c=C.svg(a),l=f(t,{});t.look!==`handDrawn`&&(l.roughness=0,l.fillStyle=`solid`);let u=c.circle(0,0,o*2,l),d=Ae(o),m=c.path(d,l),h=a.insert(()=>u,`:first-child`);return h.insert(()=>m),h.attr(`class`,`outer-path`),s&&t.look!==`handDrawn`&&h.selectAll(`path`).attr(`style`,s),i&&t.look!==`handDrawn`&&h.selectAll(`path`).attr(`style`,i),N(t,h),t.intersect=function(e){return n.info(`crossedCircle intersect`,t,{radius:o,point:e}),K.circle(t,o,e)},a}e(je,`crossedCircle`);function J(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(J,`generateCirclePoints`);async function Me(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+s,u=a.height+c,d=Math.max(5,u*.1),{cssStyles:m}=t,h=[...J(l/2,-u/2,d,30,-90,0),{x:-l/2-d,y:d},...J(l/2+d*2,-d,d,20,-180,-270),...J(l/2+d*2,d,d,20,-90,-180),{x:-l/2-d,y:-u/2},...J(l/2,u/2,d,20,0,90)],g=[{x:l/2,y:-u/2-d},{x:-l/2,y:-u/2-d},...J(l/2,-u/2,d,20,-90,0),{x:-l/2-d,y:-d},...J(l/2+l*.1,-d,d,20,-180,-270),...J(l/2+l*.1,d,d,20,-90,-180),{x:-l/2-d,y:u/2},...J(l/2,u/2,d,20,0,90),{x:-l/2,y:u/2+d},{x:l/2,y:u/2+d}],_=C.svg(i),v=f(t,{fill:`none`});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=F(h).replace(`Z`,``),b=_.path(y,v),x=F(g),S=_.path(x,{...v}),w=i.insert(`g`,`:first-child`);return w.insert(()=>S,`:first-child`).attr(`stroke-opacity`,0),w.insert(()=>b,`:first-child`),w.attr(`class`,`text`),m&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,r),w.attr(`transform`,`translate(${d}, 0)`),o.attr(`transform`,`translate(${-l/2+d-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),N(t,w),t.intersect=function(e){return K.polygon(t,g,e)},i}e(Me,`curlyBraceLeft`);function Y(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:a,y:l})}return o}e(Y,`generateCirclePoints`);async function Ne(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),d=Math.max(5,u*.1),{cssStyles:m}=t,h=[...Y(l/2,-u/2,d,20,-90,0),{x:l/2+d,y:-d},...Y(l/2+d*2,-d,d,20,-180,-270),...Y(l/2+d*2,d,d,20,-90,-180),{x:l/2+d,y:u/2},...Y(l/2,u/2,d,20,0,90)],g=[{x:-l/2,y:-u/2-d},{x:l/2,y:-u/2-d},...Y(l/2,-u/2,d,20,-90,0),{x:l/2+d,y:-d},...Y(l/2+d*2,-d,d,20,-180,-270),...Y(l/2+d*2,d,d,20,-90,-180),{x:l/2+d,y:u/2},...Y(l/2,u/2,d,20,0,90),{x:l/2,y:u/2+d},{x:-l/2,y:u/2+d}],_=C.svg(i),v=f(t,{fill:`none`});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=F(h).replace(`Z`,``),b=_.path(y,v),x=F(g),S=_.path(x,{...v}),w=i.insert(`g`,`:first-child`);return w.insert(()=>S,`:first-child`).attr(`stroke-opacity`,0),w.insert(()=>b,`:first-child`),w.attr(`class`,`text`),m&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,r),w.attr(`transform`,`translate(${-d}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),N(t,w),t.intersect=function(e){return K.polygon(t,g,e)},i}e(Ne,`curlyBraceRight`);function X(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(X,`generateCirclePoints`);async function Pe(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),d=Math.max(5,u*.1),{cssStyles:m}=t,h=[...X(l/2,-u/2,d,30,-90,0),{x:-l/2-d,y:d},...X(l/2+d*2,-d,d,20,-180,-270),...X(l/2+d*2,d,d,20,-90,-180),{x:-l/2-d,y:-u/2},...X(l/2,u/2,d,20,0,90)],g=[...X(-l/2+d+d/2,-u/2,d,20,-90,-180),{x:l/2-d/2,y:d},...X(-l/2-d/2,-d,d,20,0,90),...X(-l/2-d/2,d,d,20,-90,0),{x:l/2-d/2,y:-d},...X(-l/2+d+d/2,u/2,d,30,-180,-270)],_=[{x:l/2,y:-u/2-d},{x:-l/2,y:-u/2-d},...X(l/2,-u/2,d,20,-90,0),{x:-l/2-d,y:-d},...X(l/2+d*2,-d,d,20,-180,-270),...X(l/2+d*2,d,d,20,-90,-180),{x:-l/2-d,y:u/2},...X(l/2,u/2,d,20,0,90),{x:-l/2,y:u/2+d},{x:l/2-d-d/2,y:u/2+d},...X(-l/2+d+d/2,-u/2,d,20,-90,-180),{x:l/2-d/2,y:d},...X(-l/2-d/2,-d,d,20,0,90),...X(-l/2-d/2,d,d,20,-90,0),{x:l/2-d/2,y:-d},...X(-l/2+d+d/2,u/2,d,30,-180,-270)],v=C.svg(i),y=f(t,{fill:`none`});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=F(h).replace(`Z`,``),x=v.path(b,y),S=F(g).replace(`Z`,``),w=v.path(S,y),T=F(_),E=v.path(T,{...y}),D=i.insert(`g`,`:first-child`);return D.insert(()=>E,`:first-child`).attr(`stroke-opacity`,0),D.insert(()=>x,`:first-child`),D.insert(()=>w,`:first-child`),D.attr(`class`,`text`),m&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),D.attr(`transform`,`translate(${d-d/4}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),N(t,D),t.intersect=function(e){return K.polygon(t,_,e)},i}e(Pe,`curlyBraces`);async function Fe(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=Math.max(20,(c.width+a*2)*1.25,t?.width??0),u=Math.max(5,c.height+o*2,t?.height??0),d=u/2,{cssStyles:m}=t,h=C.svg(s),g=f(t,{});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=l,v=u,y=_-d,b=v/4,x=[{x:y,y:0},{x:b,y:0},{x:0,y:v/2},{x:b,y:v},{x:y,y:v},...L(-y,-v/2,d,50,270,90)],S=F(x),w=h.path(S,g),T=s.insert(()=>w,`:first-child`);return T.attr(`class`,`basic label-container outer-path`),m&&t.look!==`handDrawn`&&T.selectChildren(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&T.selectChildren(`path`).attr(`style`,r),T.attr(`transform`,`translate(${-l/2}, ${-u/2})`),N(t,T),t.intersect=function(e){return K.polygon(t,x,e)},s}e(Fe,`curvedTrapezoid`);async function Ie(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.padding??20,c=Math.max(a.width+s*2,t.width??0,100),l=Math.min(Math.max(c*.23,16),56),u=l*.27,d=Math.max(a.height+s*2,t.height?t.height-(2*l-u):0),m=Math.min(c*.177,d*.45),h=d+2*l-u,g=-h/2,_=g+2*l-u,v=i.insert(`g`,`:first-child`).attr(`class`,`basic label-container`),{cssStyles:y}=t;if(t.look===`handDrawn`){let e=C.svg(i),n=f(t,{}),r=e.path(z(-c/2,_,c,d,m),n),a=e.circle(0,g+l,l*2,n);v.insert(()=>a,`:first-child`),v.insert(()=>r,`:first-child`),y&&v.attr(`style`,y)}else v.append(`rect`).attr(`x`,-c/2).attr(`y`,_).attr(`width`,c).attr(`height`,d).attr(`rx`,m).attr(`ry`,m).attr(`style`,r),v.append(`circle`).attr(`cx`,0).attr(`cy`,g+l).attr(`r`,l).attr(`style`,r);N(t,v);let b=_+d/2;o.attr(`transform`,`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${b-a.height/2-(a.y-(a.top??0))})`);let x=g+l,S=Math.asin(Math.min(1,(_-x)/l))*180/Math.PI,w=[...L(0,-x,l,24,180+S,-S),...L(-(-c/2+m),-(_+m),m,12,90,0),...L(-(-c/2+m),-(h/2-m),m,12,360,270),...L(-(c/2-m),-(h/2-m),m,12,270,180),...L(-(c/2-m),-(_+m),m,12,180,90)];return t.intersect=function(e){return K.polygon(t,w,e)},i}e(Ie,`person`);var Le=e((e,t,n,r,i,a)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createCylinderPathD`),Re=e((e,t,n,r,i,a)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createOuterCylinderPathD`),ze=e((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),Be=8,Ve=8;async function He(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?24:i,o=t.look===`neo`?24:i,s=t.width??0;if(t.width&&(t.width-=o,t.width<Ve&&(t.width=Ve)),t.height){let e=s/2/(2.5+s/50);t.height=t.height-a-e*3,t.height<Be&&(t.height=Be)}let{shapeSvg:c,bbox:l,label:u}=await j(e,t,P(t)),d=Math.max(t.width??0,l.width)+o,m=d/2,h=m/(2.5+d/50),g=Math.max(t.height??0,l.height)+a+h,_,{cssStyles:v}=t;if(t.look===`handDrawn`){let e=C.svg(c),n=Re(0,0,d,g,m,h),r=ze(0,h,d,g,m,h),i=f(t,{}),a=e.path(n,i),o=e.path(r,f(t,{fill:`none`}));_=c.insert(()=>o,`:first-child`),_=c.insert(()=>a,`:first-child`),_.attr(`class`,`basic label-container`),v&&_.attr(`style`,v)}else{let e=Le(0,0,d,g,m,h);_=c.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,b(v)).attr(`style`,r)}return _.attr(`label-offset-y`,h),_.attr(`transform`,`translate(${-d/2}, ${-(g/2+h)})`),N(t,_),u.attr(`transform`,`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(t.padding??0)/1.5-(l.y-(l.top??0))})`),t.intersect=function(e){let n=K.rect(t,e),r=n.x-(t.x??0);if(m!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-h)){let i=h*h*(1-r*r/(m*m));i>0&&(i=Math.sqrt(i)),i=h-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},c}e(He,`cylinder`);async function Ue(e,t,n){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o}=await j(e,t,P(t)),s=Math.max(o.width+n.labelPaddingX*2,t?.width||0),c=Math.max(o.height+n.labelPaddingY*2,t?.height||0),l=-s/2,u=-c/2,d,{rx:m,ry:h}=t,{cssStyles:g}=t;if(n?.rx&&n.ry&&(m=n.rx,h=n.ry),t.look===`handDrawn`){let e=C.svg(a),n=f(t,{}),r=m||h?e.path(z(l,u,s,c,m||0),n):e.rectangle(l,u,s,c,n);d=a.insert(()=>r,`:first-child`),d.attr(`class`,`basic label-container`).attr(`style`,b(g))}else d=a.insert(`rect`,`:first-child`),d.attr(`class`,`basic label-container`).attr(`style`,i).attr(`rx`,b(m)).attr(`ry`,b(h)).attr(`x`,l).attr(`y`,u).attr(`width`,s).attr(`height`,c);return N(t,d,t.look===`handDrawn`?void 0:{width:s,height:c}),t.calcIntersect=function(e,t){return K.rect(e,t)},t.intersect=function(e){return K.rect(t,e)},a}e(Ue,`drawRect`);async function We(e,t){let{cssClasses:n,labelPaddingX:r,labelPaddingY:i,padding:a,width:o,height:s}=t,c=await Ue(e,t,{rx:0,ry:0,classes:n??``,labelPaddingX:r??(a??0)*2,labelPaddingY:i??a??0});if(t.look===`handDrawn`){let e=C.svg(c),n=f(t,{}),r=c.select(`.basic.label-container > path:nth-child(2)`),i=r.node();if(!i)return c;let a=null;if(i instanceof SVGGraphicsElement)a=i.getBBox();else return c;return c.insert(()=>e.line(a.x,a.y,a.x+a.width,a.y,n),`.basic.label-container g.label`),c.insert(()=>e.line(a.x,a.y+a.height,a.x+a.width,a.y+a.height,n),`.basic.label-container g.label`),r.remove(),c}let l=c.select(`.basic.label-container`),u=(Number(l.attr(`width`))||o)??0,d=(Number(l.attr(`height`))||s)??0;return u>0&&d>0&&l.attr(`stroke-dasharray`,`${u} ${d}`),c}e(We,`datastore`);async function Ge(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?16:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await j(e,t,P(t)),l=s.width+i,u=s.height+a,d=u*.2,m=-l/2,h=-u/2-d/2,{cssStyles:g}=t,_=C.svg(o),v=f(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:m,y:h+d},{x:-m,y:h+d},{x:-m,y:-h},{x:m,y:-h},{x:m,y:h},{x:-m,y:h},{x:-m,y:h+d}],b=_.polygon(y.map(e=>[e.x,e.y]),v),x=o.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),g&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,g),r&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${m+(t.padding??0)/2-(s.x-(s.left??0))}, ${h+d+(t.padding??0)/2-(s.y-(s.top??0))})`),N(t,x),t.intersect=function(e){return K.rect(t,e)},o}e(Ge,`dividedRectangle`);async function Ke(e,t){let{labelStyles:r,nodeStyles:i}=p(t),a=t.look===`neo`?12:5;t.labelStyle=r;let o=t.padding??0,s=t.look===`neo`?16:o,{shapeSvg:c,bbox:l}=await j(e,t,P(t)),u=(t?.width?t?.width/2:l.width/2)+(s??0),d=u-a,m,{cssStyles:h}=t;if(t.look===`handDrawn`){let e=C.svg(c),n=f(t,{roughness:.2,strokeWidth:2.5}),r=f(t,{roughness:.2,strokeWidth:1.5}),i=e.circle(0,0,u*2,n),a=e.circle(0,0,d*2,r);m=c.insert(`g`,`:first-child`),m.attr(`class`,b(t.cssClasses)).attr(`style`,b(h)),m.node()?.appendChild(i),m.node()?.appendChild(a)}else{m=c.insert(`g`,`:first-child`);let e=m.insert(`circle`,`:first-child`),t=m.insert(`circle`);m.attr(`class`,`basic label-container`).attr(`style`,i),e.attr(`class`,`outer-circle`).attr(`style`,i).attr(`r`,u).attr(`cx`,0).attr(`cy`,0),t.attr(`class`,`inner-circle`).attr(`style`,i).attr(`r`,d).attr(`cx`,0).attr(`cy`,0)}return N(t,m),t.intersect=function(e){return n.info(`DoubleCircle intersect`,t,u,e),K.circle(t,u,e)},c}e(Ke,`doublecircle`);function qe(e,t,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:a}=p(t);t.label=``,t.labelStyle=i;let o=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=C.svg(o),{nodeBorder:l}=r,u=f(t,{fillStyle:`solid`});t.look!==`handDrawn`&&(u.roughness=0);let d=c.circle(0,0,14,u),m=o.insert(()=>d,`:first-child`);return m.selectAll(`path`).attr(`style`,`fill: ${l} !important;`),s&&s.length>0&&t.look!==`handDrawn`&&m.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&m.selectAll(`path`).attr(`style`,a),N(t,m),t.intersect=function(e){return n.info(`filledCircle intersect`,t,{radius:7,point:e}),K.circle(t,7,e)},o}e(qe,`filledCircle`);var Je=10,Ye=10;async function Xe(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let a=t.padding??0,o=t.look===`neo`?a*2:a;(t.width||t.height)&&(t.height=t?.height??0,t.height<Je&&(t.height=Je),t.width=(t?.width??0)-o-o/2,t.width<Ye&&(t.width=Ye));let{shapeSvg:s,bbox:c,label:l}=await j(e,t,P(t)),u=(t?.width?t?.width:c.width)+(o??0),d=t?.height?t?.height:u+c.height,m=d,h=[{x:0,y:-d},{x:m,y:-d},{x:m/2,y:0}],{cssStyles:g}=t,_=C.svg(s),v=f(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=F(h),b=_.path(y,v),x=s.insert(()=>b,`:first-child`).attr(`transform`,`translate(${-d/2}, ${d/2})`).attr(`class`,`outer-path`);return g&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,g),i&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,i),t.width=u,t.height=d,N(t,x),l.attr(`transform`,`translate(${-c.width/2-(c.x-(c.left??0))}, ${-d/2+(t.padding??0)/2+(c.y-(c.top??0))})`),t.intersect=function(e){return n.info(`Triangle intersect`,t,h,e),K.polygon(t,h,e)},s}e(Xe,`flippedTriangle`);async function Ze(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.padding??12,c=Math.max(a.width+s*2,t.width??0,90),l=a.height+s*2,u=Math.max(Math.min(l*.16,14),8),d=Math.max(l+u,t.height??0),m=d-u,h=Math.max(c*.38,28),g=-d/2,_=[{x:-c/2,y:g},{x:-c/2+h,y:g},{x:-c/2+h,y:g+u},{x:c/2,y:g+u},{x:c/2,y:d/2},{x:-c/2,y:d/2}],v=[`M${_[0].x},${_[0].y}`,..._.slice(1).map(e=>`L${e.x},${e.y}`),`Z`].join(` `),{cssStyles:y}=t,b;if(t.look===`handDrawn`){let e=C.svg(i).path(v,f(t,{}));b=i.insert(()=>e,`:first-child`).attr(`class`,`basic label-container`),y&&b.attr(`style`,y)}else b=i.insert(`path`,`:first-child`).attr(`d`,v).attr(`class`,`basic label-container`).attr(`style`,r);t.look===`handDrawn`?N(t,b):N(t,b,{width:c,height:d});let x=g+u+m/2;return o.attr(`transform`,`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${x-a.height/2-(a.y-(a.top??0))})`),t.intersect=function(e){return K.polygon(t,_,e)},i}e(Ze,`folder`);function Qe(e,t,{dir:n,config:{state:r,themeVariables:i}}){let{nodeStyles:a}=p(t);t.label=``;let o=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=Math.max(70,t?.width??0),l=Math.max(10,t?.height??0);n===`LR`&&(c=Math.max(10,t?.width??0),l=Math.max(70,t?.height??0));let u=-1*c/2,d=-1*l/2,m=C.svg(o),h=f(t,{stroke:i.lineColor,fill:i.lineColor});t.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=m.rectangle(u,d,c,l,h),_=o.insert(()=>g,`:first-child`);s&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,a),N(t,_);let v=r?.padding??0;return t.width&&t.height&&(t.width+=v/2||0,t.height+=v/2||0),t.intersect=function(e){return K.rect(t,e)},o}e(Qe,`forkJoin`);async function $e(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let a=t.look===`neo`?16:t.padding??0,o=t.look===`neo`?12:t.padding??0;(t.width||t.height)&&(t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10),t.width=(t?.width??0)-a*2,t.width<15&&(t.width=15));let{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=(t?.width?t?.width:Math.max(15,c.width))+a*2,u=(t?.height?t?.height:Math.max(10,c.height))+o*2,d=u/2,{cssStyles:m}=t,h=C.svg(s),g=f(t,{});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=[{x:-l/2,y:-u/2},{x:l/2-d,y:-u/2},...L(-l/2+d,0,d,50,90,270),{x:l/2-d,y:u/2},{x:-l/2,y:u/2}],v=F(_),y=h.path(v,g),b=s.insert(()=>y,`:first-child`);return b.attr(`class`,`basic label-container outer-path`),m&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,m),i&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,i),N(t,b),t.intersect=function(e){return n.info(`Pill intersect`,t,{radius:d,point:e}),K.polygon(t,_,e)},s}e($e,`halfRoundedRectangle`);var et=e((e,t,n,r,i)=>[`M${e+i},${t}`,`L${e+n-i},${t}`,`L${e+n},${t-r/2}`,`L${e+n-i},${t-r}`,`L${e+i},${t-r}`,`L${e},${t-r/2}`,`Z`].join(` `),`createHexagonPathD`);async function tt(e,t){let{labelStyles:n,nodeStyles:r}=p(t),i=t.look===`neo`?3.5:4;t.labelStyle=n;let a=t.padding??0,o=t.look===`neo`?70:a,s=t.look===`neo`?32:a;if(t.width||t.height){let e=(t.height??0)/i;t.width=(t?.width??0)-2*e-s,t.height=(t.height??0)-o}let{shapeSvg:c,bbox:l}=await j(e,t,P(t)),u=(t?.height?t?.height:l.height)+o,d=u/i,m=(t?.width?t?.width:l.width)+2*d+s,h=[{x:d,y:0},{x:m-d,y:0},{x:m,y:-u/2},{x:m-d,y:-u},{x:d,y:-u},{x:0,y:-u/2}],g,{cssStyles:_}=t;if(t.look===`handDrawn`){let e=C.svg(c),n=f(t,{}),r=et(0,0,m,u,d),i=e.path(r,n);g=c.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-m/2}, ${u/2})`),_&&g.attr(`style`,_)}else g=q(c,m,u,h);return r&&g.attr(`style`,r),t.width=m,t.height=u,N(t,g),t.intersect=function(e){return K.polygon(t,h,e)},c}e(tt,`hexagon`);async function nt(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.label=``,t.labelStyle=r;let{shapeSvg:a}=await j(e,t,P(t)),o=Math.max(30,t?.width??0),s=Math.max(30,t?.height??0),{cssStyles:c}=t,l=C.svg(a),u=f(t,{});t.look!==`handDrawn`&&(u.roughness=0,u.fillStyle=`solid`);let d=[{x:0,y:0},{x:o,y:0},{x:0,y:s},{x:o,y:s}],m=F(d),h=l.path(m,u),g=a.insert(()=>h,`:first-child`);return g.attr(`class`,`basic label-container outer-path`),c&&t.look!==`handDrawn`&&g.selectChildren(`path`).attr(`style`,c),i&&t.look!==`handDrawn`&&g.selectChildren(`path`).attr(`style`,i),g.attr(`transform`,`translate(${-o/2}, ${-s/2})`),N(t,g),t.intersect=function(e){return n.info(`Pill intersect`,t,{points:d}),K.polygon(t,d,e)},a}e(nt,`hourglass`);async function rt(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=p(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,label:m}=await j(e,t,`icon-shape default`),_=t.pos===`t`,v=c,y=c,{nodeBorder:b}=r,{stylesMap:x}=h(t),S=-y/2,w=-v/2,T=t.label?8:0,E=C.svg(u),D=f(t,{stroke:`none`,fill:`none`});t.look!==`handDrawn`&&(D.roughness=0,D.fillStyle=`solid`);let O=E.rectangle(S,w,y,v,D),k=Math.max(y,d.width),A=v+d.height+T,M=E.rectangle(-k/2,-A/2,k,A,{...D,fill:`transparent`,stroke:`none`}),P=u.insert(()=>O,`:first-child`),F=u.insert(()=>M);if(t.icon){let e=u.append(`g`);e.html(`<g>${await g(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${_?d.height/2+T/2-i/2-o:-d.height/2-T/2-i/2-o})`),e.attr(`style`,`color: ${x.get(`stroke`)??b};`)}return m.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${_?-A/2:A/2-d.height})`),P.attr(`transform`,`translate(0,${_?d.height/2+T/2:-d.height/2-T/2})`),N(t,F),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=_?[{x:r-d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2+d.height+T},{x:r+y/2,y:i-a/2+d.height+T},{x:r+y/2,y:i+a/2},{x:r-y/2,y:i+a/2},{x:r-y/2,y:i-a/2+d.height+T},{x:r-d.width/2,y:i-a/2+d.height+T}]:[{x:r-y/2,y:i-a/2},{x:r+y/2,y:i-a/2},{x:r+y/2,y:i-a/2+v},{x:r+d.width/2,y:i-a/2+v},{x:r+d.width/2/2,y:i+a/2},{x:r-d.width/2,y:i+a/2},{x:r-d.width/2,y:i-a/2+v},{x:r-y/2,y:i-a/2+v}],K.polygon(t,o,e)},u}e(rt,`icon`);async function it(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=p(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,label:m}=await j(e,t,`icon-shape default`),_=t.label?8:0,v=t.pos===`t`,{nodeBorder:y,mainBkg:b}=r,{stylesMap:x}=h(t),S=C.svg(u),w=f(t,{});t.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`),w.stroke=x.get(`fill`)??b;let T=u.append(`g`);t.icon&&T.html(`<g>${await g(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let E=T.node().getBBox(),D=E.width,O=E.height,k=E.x,A=E.y,M=Math.max(D,O)*Math.SQRT2+40,P=S.circle(0,0,M,w),F=Math.max(M,d.width),I=M+d.height+_,L=S.rectangle(-F/2,-I/2,F,I,{...w,fill:`transparent`,stroke:`none`}),ee=u.insert(()=>P,`:first-child`),R=u.insert(()=>L);return T.attr(`transform`,`translate(${-D/2-k},${v?d.height/2+_/2-O/2-A:-d.height/2-_/2-O/2-A})`),T.attr(`style`,`color: ${x.get(`stroke`)??y};`),m.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${v?-I/2:I/2-d.height})`),ee.attr(`transform`,`translate(0,${v?d.height/2+_/2:-d.height/2-_/2})`),N(t,R),t.intersect=function(e){return n.info(`iconSquare intersect`,t,e),K.rect(t,e)},u}e(it,`iconCircle`);async function at(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=p(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,halfPadding:m,label:_}=await j(e,t,`icon-shape default`),v=t.pos===`t`,y=c+m*2,b=c+m*2,{nodeBorder:x,mainBkg:S}=r,{stylesMap:w}=h(t),T=-b/2,E=-y/2,D=t.label?8:0,O=C.svg(u),k=f(t,{});t.look!==`handDrawn`&&(k.roughness=0,k.fillStyle=`solid`),k.stroke=w.get(`fill`)??S;let A=O.path(z(T,E,b,y,5),k),M=Math.max(b,d.width),P=y+d.height+D,F=O.rectangle(-M/2,-P/2,M,P,{...k,fill:`transparent`,stroke:`none`}),I=u.insert(()=>A,`:first-child`).attr(`class`,`icon-shape2`),L=u.insert(()=>F);if(t.icon){let e=u.append(`g`);e.html(`<g>${await g(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${v?d.height/2+D/2-i/2-o:-d.height/2-D/2-i/2-o})`),e.attr(`style`,`color: ${w.get(`stroke`)??x};`)}return _.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${v?-P/2:P/2-d.height})`),I.attr(`transform`,`translate(0,${v?d.height/2+D/2:-d.height/2-D/2})`),N(t,L),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=v?[{x:r-d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2+d.height+D},{x:r+b/2,y:i-a/2+d.height+D},{x:r+b/2,y:i+a/2},{x:r-b/2,y:i+a/2},{x:r-b/2,y:i-a/2+d.height+D},{x:r-d.width/2,y:i-a/2+d.height+D}]:[{x:r-b/2,y:i-a/2},{x:r+b/2,y:i-a/2},{x:r+b/2,y:i-a/2+y},{x:r+d.width/2,y:i-a/2+y},{x:r+d.width/2/2,y:i+a/2},{x:r-d.width/2,y:i+a/2},{x:r-d.width/2,y:i-a/2+y},{x:r-b/2,y:i-a/2+y}],K.polygon(t,o,e)},u}e(at,`iconRounded`);async function ot(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=p(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,halfPadding:m,label:_}=await j(e,t,`icon-shape default`),v=t.pos===`t`,y=c+m*2,b=c+m*2,{nodeBorder:x,mainBkg:S}=r,{stylesMap:w}=h(t),T=-b/2,E=-y/2,D=t.label?8:0,O=C.svg(u),k=f(t,{});t.look!==`handDrawn`&&(k.roughness=0,k.fillStyle=`solid`),k.stroke=w.get(`fill`)??S;let A=O.path(z(T,E,b,y,.1),k),M=Math.max(b,d.width),P=y+d.height+D,F=O.rectangle(-M/2,-P/2,M,P,{...k,fill:`transparent`,stroke:`none`}),I=u.insert(()=>A,`:first-child`),L=u.insert(()=>F);if(t.icon){let e=u.append(`g`);e.html(`<g>${await g(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${v?d.height/2+D/2-i/2-o:-d.height/2-D/2-i/2-o})`),e.attr(`style`,`color: ${w.get(`stroke`)??x};`)}return _.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${v?-P/2:P/2-d.height})`),I.attr(`transform`,`translate(0,${v?d.height/2+D/2:-d.height/2-D/2})`),N(t,L),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=v?[{x:r-d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2+d.height+D},{x:r+b/2,y:i-a/2+d.height+D},{x:r+b/2,y:i+a/2},{x:r-b/2,y:i+a/2},{x:r-b/2,y:i-a/2+d.height+D},{x:r-d.width/2,y:i-a/2+d.height+D}]:[{x:r-b/2,y:i-a/2},{x:r+b/2,y:i-a/2},{x:r+b/2,y:i-a/2+y},{x:r+d.width/2,y:i-a/2+y},{x:r+d.width/2/2,y:i+a/2},{x:r-d.width/2,y:i+a/2},{x:r-d.width/2,y:i-a/2+y},{x:r-b/2,y:i-a/2+y}],K.polygon(t,o,e)},u}e(ot,`iconSquare`);async function st(e,t,{config:{flowchart:r}}){let i=new Image;i.src=t?.img??``,await i.decode();let a=Number(i.naturalWidth.toString().replace(`px`,``)),o=Number(i.naturalHeight.toString().replace(`px`,``));t.imageAspectRatio=a/o;let{labelStyles:s}=p(t);t.labelStyle=s;let c=r?.wrappingWidth;t.defaultWidth=r?.wrappingWidth;let l=Math.max(t.label?c??0:0,t?.assetWidth??a),u=t.constraint===`on`&&t?.assetHeight?t.assetHeight*t.imageAspectRatio:l,d=t.constraint===`on`?u/t.imageAspectRatio:t?.assetHeight??o;t.width=Math.max(u,c??0);let{shapeSvg:m,bbox:h,label:g}=await j(e,t,`image-shape default`),_=t.pos===`t`,v=-u/2,y=-d/2,b=t.label?8:0,x=C.svg(m),S=f(t,{});t.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let w=x.rectangle(v,y,u,d,S),T=Math.max(u,h.width),E=d+h.height+b,D=x.rectangle(-T/2,-E/2,T,E,{...S,fill:`none`,stroke:`none`}),O=m.insert(()=>w,`:first-child`),k=m.insert(()=>D);if(t.img){let e=m.append(`image`);e.attr(`href`,t.img),e.attr(`width`,u),e.attr(`height`,d),e.attr(`preserveAspectRatio`,`none`),e.attr(`transform`,`translate(${-u/2},${_?E/2-d:-E/2})`)}return g.attr(`transform`,`translate(${-h.width/2-(h.x-(h.left??0))},${_?-d/2-h.height/2-b/2:d/2-h.height/2+b/2})`),O.attr(`transform`,`translate(0,${_?h.height/2+b/2:-h.height/2-b/2})`),N(t,k),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=_?[{x:r-h.width/2,y:i-a/2},{x:r+h.width/2,y:i-a/2},{x:r+h.width/2,y:i-a/2+h.height+b},{x:r+u/2,y:i-a/2+h.height+b},{x:r+u/2,y:i+a/2},{x:r-u/2,y:i+a/2},{x:r-u/2,y:i-a/2+h.height+b},{x:r-h.width/2,y:i-a/2+h.height+b}]:[{x:r-u/2,y:i-a/2},{x:r+u/2,y:i-a/2},{x:r+u/2,y:i-a/2+d},{x:r+h.width/2,y:i-a/2+d},{x:r+h.width/2/2,y:i+a/2},{x:r-h.width/2,y:i+a/2},{x:r-h.width/2,y:i-a/2+d},{x:r-u/2,y:i-a/2+d}],K.polygon(t,o,e)},m}e(st,`imageSquare`);async function ct(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=Math.max(c.height+a*2,t.height??0),u=Math.max(c.width+o*2,(t.width??0)-l),d=[{x:0,y:0},{x:u,y:0},{x:u+3*l/6,y:-l},{x:-3*l/6,y:-l}],m,{cssStyles:h}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=F(d),i=e.path(r,n);m=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),h&&m.attr(`style`,h)}else m=q(s,u,l,d);return r&&m.attr(`style`,r),t.width=u,t.height=l,N(t,m),t.intersect=function(e){return K.polygon(t,d,e)},s}e(ct,`inv_trapezoid`);async function lt(e,t){let{shapeSvg:n,bbox:r,label:i}=await j(e,t,`label`),a=n.insert(`rect`,`:first-child`);return a.attr(`width`,.1).attr(`height`,.1),n.attr(`class`,`label edgeLabel`),i.attr(`transform`,`translate(${-(r.width/2)-(r.x-(r.left??0))}, ${-(r.height/2)-(r.y-(r.top??0))})`),N(t,a),t.intersect=function(e){return K.rect(t,e)},n}e(lt,`labelRect`);async function ut(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=Math.max(c.height+a,t.height??0),u=Math.max(c.width+o,(t.width??0)-l),d=[{x:0,y:0},{x:u+3*l/6,y:0},{x:u,y:-l},{x:-(3*l)/6,y:-l}],m,{cssStyles:h}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=F(d),i=e.path(r,n);m=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),h&&m.attr(`style`,h)}else m=q(s,u,l,d);return r&&m.attr(`style`,r),t.width=u,t.height=l,N(t,m),t.intersect=function(e){return K.polygon(t,d,e)},s}e(ut,`lean_left`);async function dt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=Math.max(c.height+a,t.height??0),u=Math.max(c.width+o,(t.width??0)-l),d=[{x:-3*l/6,y:0},{x:u,y:0},{x:u+3*l/6,y:-l},{x:0,y:-l}],m,{cssStyles:h}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=F(d),i=e.path(r,n);m=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),h&&m.attr(`style`,h)}else m=q(s,u,l,d);return r&&m.attr(`style`,r),t.width=u,t.height=l,N(t,m),t.intersect=function(e){return K.polygon(t,d,e)},s}e(dt,`lean_right`);function ft(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.label=``,t.labelStyle=r;let a=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),{cssStyles:o}=t,s=Math.max(35,t?.width??0),c=Math.max(35,t?.height??0),l=[{x:s,y:0},{x:0,y:c+7/2},{x:s-14,y:c+7/2},{x:0,y:2*c},{x:s,y:c-7/2},{x:14,y:c-7/2}],u=C.svg(a),d=f(t,{});t.look!==`handDrawn`&&(d.roughness=0,d.fillStyle=`solid`);let m=F(l),h=u.path(m,d),g=a.insert(()=>h,`:first-child`);return g.attr(`class`,`outer-path`),o&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,o),i&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,i),g.attr(`transform`,`translate(-${s/2},${-c})`),N(t,g),t.intersect=function(e){return n.info(`lightningBolt intersect`,t,e),K.polygon(t,l,e)},a}e(ft,`lightningBolt`);var pt=e((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createCylinderPathD`),mt=e((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createOuterCylinderPathD`),ht=e((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),gt=10,_t=10;async function vt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?24:i;if(t.width||t.height){let e=t.width??0;t.width=(t.width??0)-a,t.width<_t&&(t.width=_t);let n=e/2/(2.5+e/50);t.height=(t.height??0)-o-n*3,t.height<gt&&(t.height=gt)}let{shapeSvg:s,bbox:c,label:l}=await j(e,t,P(t)),u=(t?.width?t?.width:c.width)+a*2,d=u/2,m=d/(2.5+u/50),h=(t?.height?t?.height:c.height)+m+o*2,g=h*.1,_,{cssStyles:v}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=mt(0,0,u,h,d,m,g),r=ht(0,m,u,h,d,m),i=f(t,{}),a=e.path(n,i),o=e.path(r,i);s.insert(()=>o,`:first-child`).attr(`class`,`line`),_=s.insert(()=>a,`:first-child`),_.attr(`class`,`basic label-container`),v&&_.attr(`style`,v)}else{let e=pt(0,0,u,h,d,m,g);_=s.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,b(v)).attr(`style`,r)}return _.attr(`label-offset-y`,m),_.attr(`transform`,`translate(${-u/2}, ${-(h/2+m)})`),N(t,_),l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${-(c.height/2)+m-(c.y-(c.top??0))})`),t.intersect=function(e){let n=K.rect(t,e),r=n.x-(t.x??0);if(d!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-m)){let i=m*m*(1-r*r/(d*d));i>0&&(i=Math.sqrt(i)),i=m-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},s}e(vt,`linedCylinder`);async function yt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=(t.width??0)*10/11-a*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10));let{shapeSvg:s,bbox:c,label:l}=await j(e,t,P(t)),u=(t?.width?t?.width:c.width)+(a??0)*2,d=(t?.height?t?.height:c.height)+(o??0)*2,m=t.look===`neo`?d/4:d/8,h=d+m,{cssStyles:g}=t,_=C.svg(s),v=f(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:-u/2-u/2*.1,y:-h/2},{x:-u/2-u/2*.1,y:h/2},...I(-u/2-u/2*.1,h/2,u/2+u/2*.1,h/2,m,.8),{x:u/2+u/2*.1,y:-h/2},{x:-u/2-u/2*.1,y:-h/2},{x:-u/2,y:-h/2},{x:-u/2,y:h/2*1.1},{x:-u/2,y:-h/2}],b=_.polygon(y.map(e=>[e.x,e.y]),v),x=s.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),g&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,g),r&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,r),x.attr(`transform`,`translate(0,${-m/2})`),l.attr(`transform`,`translate(${-u/2+(t.padding??0)+u/2*.1/2-(c.x-(c.left??0))},${-d/2+(t.padding??0)-m/2-(c.y-(c.top??0))})`),N(t,x),t.intersect=function(e){return K.polygon(t,y,e)},s}e(yt,`linedWaveEdgedRect`);async function bt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,s=t.look===`neo`?10:5;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2-2*s,10),t.height=Math.max((t?.height??0)-o*2-2*s,10));let{shapeSvg:c,bbox:l,label:u}=await j(e,t,P(t)),d=(t?.width?t?.width:l.width)+a*2+2*s,m=(t?.height?t?.height:l.height)+o*2+2*s,h=d-2*s,g=m-2*s,_=-h/2,v=-g/2,{cssStyles:y}=t,b=C.svg(c),x=f(t,{}),S=[{x:_-s,y:v+s},{x:_-s,y:v+g+s},{x:_+h-s,y:v+g+s},{x:_+h-s,y:v+g},{x:_+h,y:v+g},{x:_+h,y:v+g-s},{x:_+h+s,y:v+g-s},{x:_+h+s,y:v-s},{x:_+s,y:v-s},{x:_+s,y:v},{x:_,y:v},{x:_,y:v+s}],w=[{x:_,y:v+s},{x:_+h-s,y:v+s},{x:_+h-s,y:v+g},{x:_+h,y:v+g},{x:_+h,y:v},{x:_,y:v}];t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let T=F(S),E=b.path(T,x),D=F(w),O=b.path(D,x);t.look!==`handDrawn`&&(E=ee(E),O=ee(O));let k=c.insert(`g`,`:first-child`);return k.insert(()=>E),k.insert(()=>O),k.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&k.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&k.selectAll(`path`).attr(`style`,r),u.attr(`transform`,`translate(${-(l.width/2)-s-(l.x-(l.left??0))}, ${-(l.height/2)+s-(l.y-(l.top??0))})`),N(t,k),t.intersect=function(e){return K.polygon(t,S,e)},c}e(bt,`multiRect`);async function xt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.padding??0,c=t.look===`neo`?16:s,l=t.look===`neo`?12:s,u=!0;(t.width||t.height)&&(u=!1,t.width=(t?.width??0)-c*2,t.height=(t?.height??0)-l*3);let d=Math.max(a.width,t?.width??0)+c*2,m=Math.max(a.height,t?.height??0)+l*3,h=t.look===`neo`?m/4:m/8,g=m+(u?h/2:-h/2),_=-d/2,v=-g/2,{cssStyles:y}=t,b=I(_-10,v+g+10,_+d-10,v+g+10,h,.8),x=b?.[b.length-1],S=[{x:_-10,y:v+10},{x:_-10,y:v+g+10},...b,{x:_+d-10,y:x.y-10},{x:_+d,y:x.y-10},{x:_+d,y:x.y-20},{x:_+d+10,y:x.y-20},{x:_+d+10,y:v-10},{x:_+10,y:v-10},{x:_+10,y:v},{x:_,y:v},{x:_,y:v+10}],w=[{x:_,y:v+10},{x:_+d-10,y:v+10},{x:_+d-10,y:x.y-10},{x:_+d,y:x.y-10},{x:_+d,y:v},{x:_,y:v}],T=C.svg(i),E=f(t,{});t.look!==`handDrawn`&&(E.roughness=0,E.fillStyle=`solid`);let D=F(S),O=T.path(D,E),k=F(w),A=T.path(k,E),M=i.insert(()=>O,`:first-child`);return M.insert(()=>A),M.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,r),M.attr(`transform`,`translate(0,${-h/2})`),o.attr(`transform`,`translate(${-(a.width/2)-10-(a.x-(a.left??0))}, ${-(a.height/2)+10-h/2-(a.y-(a.top??0))})`),N(t,M),t.intersect=function(e){return K.polygon(t,S,e)},i}e(xt,`multiWaveEdgedRectangle`);async function St(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r,t.useHtmlLabels||o(s())||(t.centerLabel=!0);let{shapeSvg:a,bbox:c,label:l}=await j(e,t,P(t)),u=Math.max(c.width+(t.padding??0)*2,t?.width??0),d=Math.max(c.height+(t.padding??0)*2,t?.height??0),m=-u/2,h=-d/2,{cssStyles:g}=t,_=C.svg(a),v=f(t,{fill:n.noteBkgColor,stroke:n.noteBorderColor});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=_.rectangle(m,h,u,d,v),b=a.insert(()=>y,`:first-child`);return b.attr(`class`,`basic label-container outer-path`),l.attr(`class`,`label noteLabel`),g&&t.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,g),i&&t.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,i),l.attr(`transform`,`translate(${-c.width/2-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),N(t,b),t.intersect=function(e){return K.rect(t,e)},a}e(St,`note`);var Ct=e((e,t,n)=>[`M${e+n/2},${t}`,`L${e+n},${t-n/2}`,`L${e+n/2},${t-n}`,`L${e},${t-n/2}`,`Z`].join(` `),`createDecisionBoxPathD`);async function wt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await j(e,t,P(t)),o=a.width+(t.padding??0)+(a.height+(t.padding??0)),s=.5,c=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}],l,{cssStyles:u}=t;if(t.look===`handDrawn`){let e=C.svg(i),n=f(t,{}),r=Ct(0,0,o),a=e.path(r,n);l=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-o/2+s}, ${o/2})`),u&&l.attr(`style`,u)}else l=q(i,o,o,c),l.attr(`transform`,`translate(${-o/2+s}, ${o/2})`);return r&&l.attr(`style`,r),N(t,l),t.calcIntersect=function(e,t){let n=e.width,r=[{x:n/2,y:0},{x:n,y:-n/2},{x:n/2,y:-n},{x:0,y:-n/2}],i=K.polygon(e,r,t);return{x:i.x-.5,y:i.y-.5}},t.intersect=function(e){return this.calcIntersect(t,e)},i}e(wt,`question`);async function Tt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?21:i??0,o=t.look===`neo`?12:i??0,{shapeSvg:s,bbox:c,label:l}=await j(e,t,P(t)),u=c.width+(t.look===`neo`?a*2:a),d=Math.max(c.height+(t.look===`neo`?o*2:o),t.height??0),m=d/4,h=-Math.max(u,(t.width??0)-m)/2,g=-d/2,_=g/2,v=[{x:h+_,y:g},{x:h,y:0},{x:h+_,y:-g},{x:-h,y:-g},{x:-h,y:g}],{cssStyles:y}=t,b=C.svg(s),x=f(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=F(v),w=b.path(S,x),T=s.insert(()=>w,`:first-child`);return T.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&T.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&T.selectAll(`path`).attr(`style`,r),T.attr(`transform`,`translate(${-_/2},0)`),l.attr(`transform`,`translate(${-_/2-c.width/2-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),N(t,T),t.intersect=function(e){return K.polygon(t,v,e)},s}e(Tt,`rect_left_inv_arrow`);async function Et(e,r){let{labelStyles:i,nodeStyles:a}=p(r);r.labelStyle=i;let s;s=r.cssClasses?`node `+r.cssClasses:`node default`;let c=e.insert(`g`).attr(`class`,s).attr(`id`,r.domId||r.id),l=c.insert(`g`),d=c.insert(`g`).attr(`class`,`label`).attr(`style`,a),m=r.description,h=r.label,g=await te(d,h,r.labelStyle,!0,!0),_={width:0,height:0};if(o(u())){let e=g.children[0],n=t(g);_=e.getBoundingClientRect(),n.attr(`width`,_.width),n.attr(`height`,_.height)}n.info(`Text 2`,m);let v=m||[],y=g.getBBox(),b=await te(d,Array.isArray(v)?v.join(`<br/>`):v,r.labelStyle,!0,!0),x=b.children[0],S=t(b);_=x.getBoundingClientRect(),S.attr(`width`,_.width),S.attr(`height`,_.height);let w=(r.padding||0)/2;t(b).attr(`transform`,`translate( `+(_.width>y.width?0:(y.width-_.width)/2)+`, `+(y.height+w+5)+`)`),t(g).attr(`transform`,`translate( `+(_.width<y.width?0:-(y.width-_.width)/2)+`, 0)`),_=d.node().getBBox(),d.attr(`transform`,`translate(`+-_.width/2+`, `+(-_.height/2-w+3)+`)`);let T=_.width+(r.padding||0),E=_.height+(r.padding||0),D=-_.width/2-w,O=-_.height/2-w,k,A;if(r.look===`handDrawn`){let e=C.svg(c),t=f(r,{}),i=e.path(z(D,O,T,E,r.rx||0),t),a=e.line(-_.width/2-w,-_.height/2-w+y.height+w,_.width/2+w,-_.height/2-w+y.height+w,t);A=c.insert(()=>(n.debug(`Rough node insert CXC`,i),a),`:first-child`),k=c.insert(()=>(n.debug(`Rough node insert CXC`,i),i),`:first-child`)}else k=l.insert(`rect`,`:first-child`),A=l.insert(`line`),k.attr(`class`,`outer title-state`).attr(`style`,a).attr(`x`,-_.width/2-w).attr(`y`,-_.height/2-w).attr(`width`,_.width+(r.padding||0)).attr(`height`,_.height+(r.padding||0)),A.attr(`class`,`divider`).attr(`x1`,-_.width/2-w).attr(`x2`,_.width/2+w).attr(`y1`,-_.height/2-w+y.height+w).attr(`y2`,-_.height/2-w+y.height+w);return N(r,k),r.intersect=function(e){return K.rect(r,e)},c}e(Et,`rectWithTitle`);async function Dt(e,t,{config:{themeVariables:n}}){let r=n?.radius??5;return Ue(e,t,{rx:r,ry:r,classes:``,labelPaddingX:(t?.padding??0)*1,labelPaddingY:(t?.padding??0)*1})}e(Dt,`roundedRect`);var Z=8;async function Ot(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?12:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await j(e,t,P(t)),l=(t?.width??s.width)+i*2+(t.look===`neo`?Z:Z*2),u=(t?.height??s.height)+a*2,d=l-Z,m=u,h=Z-l/2,g=-u/2,{cssStyles:_}=t,v=C.svg(o),y=f(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let x=[{x:h,y:g},{x:h+d,y:g},{x:h+d,y:g+m},{x:h-Z,y:g+m},{x:h-Z,y:g},{x:h,y:g},{x:h,y:g+m}],S=v.polygon(x.map(e=>[e.x,e.y]),y),w=o.insert(()=>S,`:first-child`);return w.attr(`class`,`basic label-container outer-path`).attr(`style`,b(_)),r&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,r),_&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${Z/2-s.width/2-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),N(t,w),t.intersect=function(e){return K.rect(t,e)},o}e(Ot,`shadedProcess`);async function kt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2,10),t.height=Math.max((t?.height??0)/1.5-o*2,10));let{shapeSvg:s,bbox:c,label:l}=await j(e,t,P(t)),u=(t?.width?t?.width:c.width)+a*2,d=((t?.height?t?.height:c.height)+o*2)*1.5,m=u,h=d/1.5,g=-m/2,_=-h/2,{cssStyles:v}=t,y=C.svg(s),b=f(t,{});t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let x=[{x:g,y:_},{x:g,y:_+h},{x:g+m,y:_+h},{x:g+m,y:_-h/2}],S=F(x),w=y.path(S,b),T=s.insert(()=>w,`:first-child`);return T.attr(`class`,`basic label-container outer-path`),v&&t.look!==`handDrawn`&&T.selectChildren(`path`).attr(`style`,v),r&&t.look!==`handDrawn`&&T.selectChildren(`path`).attr(`style`,r),T.attr(`transform`,`translate(0, ${h/4})`),l.attr(`transform`,`translate(${-m/2+(t.padding??0)-(c.x-(c.left??0))}, ${-h/4+(t.padding??0)-(c.y-(c.top??0))})`),N(t,T),t.intersect=function(e){return K.polygon(t,x,e)},s}e(kt,`slopedRect`);async function At(e,t){let n=t.padding??0,r=t.look===`neo`?16:n*2,i=t.look===`neo`?12:n;return Ue(e,t,{rx:0,ry:0,classes:``,labelPaddingX:t.labelPaddingX??r,labelPaddingY:i})}e(At,`squareRect`);async function jt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?20:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=c.height+(t.look===`neo`?o*2:o),u=c.width+l/4+(t.look===`neo`?a*2:a),d=l/2,{cssStyles:m}=t,h=C.svg(s),g=f(t,{});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=[{x:-u/2+d,y:-l/2},{x:u/2-d,y:-l/2},...L(-u/2+d,0,d,50,90,270),{x:u/2-d,y:l/2},...L(u/2-d,0,d,50,270,450)],v=F(_),y=h.path(v,g),b=s.insert(()=>y,`:first-child`);return b.attr(`class`,`basic label-container outer-path`),m&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,r),N(t,b),t.intersect=function(e){return K.polygon(t,_,e)},s}e(jt,`stadium`);async function Mt(e,t){return Ue(e,t,{rx:t.look===`neo`?3:5,ry:t.look===`neo`?3:5,classes:`flowchart-node`})}e(Mt,`state`);function Nt(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{cssStyles:a}=t,{lineColor:o,stateBorder:s,nodeBorder:c,nodeShadow:l}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let u=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId??t.id),d=C.svg(u),m=f(t,{});t.look!==`handDrawn`&&(m.roughness=0,m.fillStyle=`solid`);let h=d.circle(0,0,t.width,{...m,stroke:o,strokeWidth:2}),g=s??c,_=(t.width??0)*5/14,v=d.circle(0,0,_,{...m,fill:g,stroke:g,strokeWidth:2,fillStyle:`solid`}),y=u.insert(()=>h,`:first-child`);if(y.insert(()=>v),t.look!==`handDrawn`&&y.attr(`class`,`outer-path`),a&&y.selectAll(`path`).attr(`style`,a),i&&y.selectAll(`path`).attr(`style`,i),t.width<25&&l&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;y.attr(`style`,`filter:url(#${n})`)}return N(t,y),t.intersect=function(e){return K.circle(t,(t.width??0)/2,e)},u}e(Nt,`stateEnd`);function Pt(e,t,{config:{themeVariables:n}}){let{lineColor:r,nodeShadow:i}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let a=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),o;if(t.look===`handDrawn`){let e=C.svg(a).circle(0,0,t.width,m(r));o=a.insert(()=>e),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14)}else o=a.insert(`circle`,`:first-child`),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14);if(t.width<25&&i&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;o.attr(`style`,`filter:url(#${n})`)}return N(t,o),t.intersect=function(e){return K.circle(t,(t.width??7)/2,e)},a}e(Pt,`stateStart`);var Ft=8;async function It(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t?.padding??8,a=t.look===`neo`?28:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=Math.max(c.width+2*Ft+a,t.width??0),u=Math.max(c.height+o,t.height??0),d=l-2*Ft,m=u,h=-l/2,g=-u/2,_=[{x:0,y:0},{x:d,y:0},{x:d,y:-m},{x:0,y:-m},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-m},{x:-8,y:-m},{x:-8,y:0}];if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=e.rectangle(h,g,d+16,m,n),i=e.line(h+Ft,g,h+Ft,g+m,n),a=e.line(h+Ft+d,g,h+Ft+d,g+m,n);s.insert(()=>i,`:first-child`),s.insert(()=>a,`:first-child`);let o=s.insert(()=>r,`:first-child`),{cssStyles:c}=t;o.attr(`class`,`basic label-container`).attr(`style`,b(c)),N(t,o)}else{let e=q(s,d,m,_);r&&e.attr(`style`,r),N(t,e)}return t.intersect=function(e){return K.polygon(t,_,e)},s}e(It,`subroutine`);var Lt=.2;async function Rt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.height=Math.max((t?.height??0)-o*2,10),t.width=Math.max((t?.width??0)-a*2-Lt*(t.height+o*2),10));let{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=(t?.height?t?.height:c.height)+o*2,u=Lt*l,d=Lt*l,m=(t?.width?t?.width:c.width)+a*2+u-u,h=l,g=-m/2,_=-h/2,{cssStyles:v}=t,y=C.svg(s),b=f(t,{}),x=[{x:g-u/2,y:_},{x:g+m+u/2,y:_},{x:g+m+u/2,y:_+h},{x:g-u/2,y:_+h}],S=[{x:g+m-u/2,y:_+h},{x:g+m+u/2,y:_+h},{x:g+m+u/2,y:_+h-d}];t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let w=F(x),T=y.path(w,b),E=F(S),D=y.path(E,{...b,fillStyle:`solid`}),O=s.insert(()=>D,`:first-child`);return O.insert(()=>T,`:first-child`),O.attr(`class`,`basic label-container outer-path`),v&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,v),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),N(t,O),t.intersect=function(e){return K.polygon(t,x,e)},s}e(Rt,`taggedRect`);async function zt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=c/8,u=.2*s,d=.2*c,m=c+l,{cssStyles:h}=t,g=C.svg(i),_=f(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=[{x:-s/2-s/2*.1,y:m/2},...I(-s/2-s/2*.1,m/2,s/2+s/2*.1,m/2,l,.8),{x:s/2+s/2*.1,y:-m/2},{x:-s/2-s/2*.1,y:-m/2}],y=-s/2+s/2*.1,b=-m/2-d*.4,x=[{x:y+s-u,y:(b+c)*1.3},{x:y+s,y:b+c-d},{x:y+s,y:(b+c)*.9},...I(y+s,(b+c)*1.25,y+s-u,(b+c)*1.3,-c*.02,.5)],S=F(v),w=g.path(S,_),T=F(x),E=g.path(T,{..._,fillStyle:`solid`}),D=i.insert(()=>E,`:first-child`);return D.insert(()=>w,`:first-child`),D.attr(`class`,`basic label-container outer-path`),h&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,h),r&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),D.attr(`transform`,`translate(0,${-l/2})`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))},${-c/2+(t.padding??0)-l/2-(a.y-(a.top??0))})`),N(t,D),t.intersect=function(e){return K.polygon(t,v,e)},i}e(zt,`taggedWaveEdgedRectangle`);async function Bt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await j(e,t,P(t)),o=Math.max(a.width+(t.padding??0),t?.width||0),s=Math.max(a.height+(t.padding??0),t?.height||0),c=-o/2,l=-s/2,u=i.insert(`rect`,`:first-child`);return u.attr(`class`,`text`).attr(`style`,r).attr(`rx`,0).attr(`ry`,0).attr(`x`,c).attr(`y`,l).attr(`width`,o).attr(`height`,s),N(t,u),t.intersect=function(e){return K.rect(t,e)},i}e(Bt,`text`);var Vt=e((e,t,n,r,i,a)=>`M${e},${t}
|
|
3
3
|
a${i},${a} 0,0,1 0,${-r}
|
|
4
4
|
l${n},0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,S as t,n,o as r,t as i,u as a,w as o,x as s,y as c}from"./chunk-
|
|
1
|
+
import{C as e,S as t,n,o as r,t as i,u as a,w as o,x as s,y as c}from"./chunk-NGNAAXSQ-Bw6tHVuc.js";var l=class extends i{static{s(this,`TreemapTokenBuilder`)}constructor(){super([`treemap`])}},u=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,d=class extends n{static{s(this,`TreemapValueConverter`)}runCustomConverter(e,t,n){if(e.name===`NUMBER2`)return parseFloat(t.replace(/,/g,``));if(e.name===`SEPARATOR`||e.name===`STRING2`)return t.substring(1,t.length-1);if(e.name===`INDENTATION`)return t.length;if(e.name===`ClassDef`){if(typeof t!=`string`)return t;let e=u.exec(t);if(e)return{$type:`ClassDefStatement`,className:e[1],styleText:e[2]||void 0}}}};function f(e){let t=e.validation.TreemapValidator,n=e.validation.ValidationRegistry;if(n){let e={Treemap:t.checkSingleRoot.bind(t)};n.register(e,t)}}s(f,`registerValidationChecks`);var p=class{static{s(this,`TreemapValidator`)}checkSingleRoot(e,t){let n;for(let r of e.TreemapRows)r.item&&(n===void 0&&r.indent===void 0?n=0:(r.indent===void 0||n!==void 0&&n>=parseInt(r.indent,10))&&t(`error`,`Multiple root nodes are not allowed in a treemap.`,{node:r,property:`item`}))}},m={parser:{TokenBuilder:s(()=>new l,`TokenBuilder`),ValueConverter:s(()=>new d,`ValueConverter`)},validation:{TreemapValidator:s(()=>new p,`TreemapValidator`)}};function h(n=r){let i=o(e(n),a),s=o(t({shared:i}),c,m);return i.ServiceRegistry.register(s),f(s),{shared:i,Treemap:s}}s(h,`createTreemapServices`);export{h as n,m as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,S as t,b as n,n as r,o as i,u as a,w as o,x as s}from"./chunk-
|
|
1
|
+
import{C as e,S as t,b as n,n as r,o as i,u as a,w as o,x as s}from"./chunk-NGNAAXSQ-Bw6tHVuc.js";var c=class extends r{static{s(this,`WardleyValueConverter`)}runCustomConverter(e,t,n){switch(e.name.toUpperCase()){case`LINK_LABEL`:return t.substring(1).trim();default:return}}},l={parser:{ValueConverter:s(()=>new c,`ValueConverter`)}};function u(r=i){let s=o(e(r),a),c=o(t({shared:s}),n,l);return s.ServiceRegistry.register(c),{shared:s,Wardley:c}}s(u,`createWardleyServices`);export{u as n,l as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e}from"./src-
|
|
1
|
+
import{p as e}from"./src-C2pSFGeK.js";import{t}from"./dist-CumnGVmJ.js";import{n}from"./chunk-Y2CYZVJY-BbRBGnmc.js";import{A as r}from"./chunk-DSNLSHJZ-DkAaVKkN.js";var i=t(),a=n((e,t)=>{let n=e.append(`rect`);if(n.attr(`x`,t.x),n.attr(`y`,t.y),n.attr(`fill`,t.fill),n.attr(`stroke`,t.stroke),n.attr(`width`,t.width),n.attr(`height`,t.height),t.name&&n.attr(`name`,t.name),t.rx&&n.attr(`rx`,t.rx),t.ry&&n.attr(`ry`,t.ry),t.attrs!==void 0)for(let e in t.attrs)n.attr(e,t.attrs[e]);return t.class&&n.attr(`class`,t.class),n},`drawRect`),o=n((e,t)=>{a(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:`rect`}).lower()},`drawBackgroundRect`),s=n((e,t)=>{let n=t.text.replace(r,` `),i=e.append(`text`);i.attr(`x`,t.x),i.attr(`y`,t.y),i.attr(`class`,`legend`),i.style(`text-anchor`,t.anchor),t.class&&i.attr(`class`,t.class);let a=i.append(`tspan`);return a.attr(`x`,t.x+t.textMargin*2),a.text(n),i},`drawText`),c=n((e,t,n,r)=>{let a=e.append(`image`);a.attr(`x`,t),a.attr(`y`,n);let o=(0,i.sanitizeUrl)(r);a.attr(`xlink:href`,o)},`drawImage`),l=n((e,t,n,r)=>{let a=e.append(`use`);a.attr(`x`,t),a.attr(`y`,n);let o=(0,i.sanitizeUrl)(r);a.attr(`xlink:href`,`#${o}`)},`drawEmbeddedImage`),u=n(()=>({x:0,y:0,width:100,height:100,fill:`#EDF2AE`,stroke:`#666`,anchor:`start`,rx:0,ry:0}),`getNoteRect`),d=n(()=>({x:0,y:0,width:100,height:100,"text-anchor":`start`,style:`#666`,textMargin:0,rx:0,ry:0,tspan:!0}),`getTextObj`),f=n(()=>{let t=e(`.mermaidTooltip`);return t.empty()&&(t=e(`body`).append(`div`).attr(`class`,`mermaidTooltip`).style(`opacity`,0).style(`position`,`absolute`).style(`text-align`,`center`).style(`max-width`,`200px`).style(`padding`,`2px`).style(`font-size`,`12px`).style(`background`,`#ffffde`).style(`border`,`1px solid #333`).style(`border-radius`,`2px`).style(`pointer-events`,`none`).style(`z-index`,`100`)),t},`createTooltip`);export{a,d as c,c as i,o as n,s as o,l as r,u as s,f as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,S as t,i as n,l as r,o as i,t as a,u as o,w as s,x as c}from"./chunk-FOHPRMQF-
|
|
1
|
+
import{C as e,S as t,i as n,l as r,o as i,t as a,u as o,w as s,x as c}from"./chunk-FOHPRMQF-COOliuUh.js";var l=class extends a{static{c(this,`InfoTokenBuilder`)}constructor(){super([`info`,`showInfo`])}},u={parser:{TokenBuilder:c(()=>new l,`TokenBuilder`),ValueConverter:c(()=>new n,`ValueConverter`)}};function d(n=i){let a=s(e(n),o),c=s(t({shared:a}),r,u);return a.ServiceRegistry.register(c),{shared:a,Info:c}}c(d,`createInfoServices`);export{d as n,u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,S as t,n,o as r,r as i,t as a,u as o,w as s,x as c}from"./chunk-FOHPRMQF-
|
|
1
|
+
import{C as e,S as t,n,o as r,r as i,t as a,u as o,w as s,x as c}from"./chunk-FOHPRMQF-COOliuUh.js";var l=class extends a{static{c(this,`ArchitectureTokenBuilder`)}constructor(){super([`architecture`])}},u=class extends n{static{c(this,`ArchitectureValueConverter`)}runCustomConverter(e,t,n){if(e.name===`ARCH_ICON`)return t.replace(/[()]/g,``).trim();if(e.name===`ARCH_TEXT_ICON`)return t.replace(/["()]/g,``);if(e.name===`ARCH_TITLE`){let e=t.replace(/^\[|]$/g,``).trim();return(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))&&(e=e.slice(1,-1),e=e.replace(/\\"/g,`"`).replace(/\\'/g,`'`)),e.trim()}}},d={parser:{TokenBuilder:c(()=>new l,`TokenBuilder`),ValueConverter:c(()=>new u,`ValueConverter`)}};function f(n=r){let a=s(e(n),o),c=s(t({shared:a}),i,d);return a.ServiceRegistry.register(c),{shared:a,Architecture:c}}c(f,`createArchitectureServices`);export{f as n,d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,S as t,i as n,o as r,s as i,t as a,u as o,w as s,x as c}from"./chunk-FOHPRMQF-
|
|
1
|
+
import{C as e,S as t,i as n,o as r,s as i,t as a,u as o,w as s,x as c}from"./chunk-FOHPRMQF-COOliuUh.js";var l=class extends a{static{c(this,`EventModelingTokenBuilder`)}constructor(){super([`eventmodeling`])}},u=new Set([`cmd`,`command`]),d=new Set([`evt`,`event`]),f=new Set([`rmo`,`readmodel`]),p=new Set([`pcr`,`processor`]),m=new Set([`ui`]);function h(e){let t=e.validation.EventModelingValidator,n=e.validation.ValidationRegistry;if(n){let e={EmTimeFrame:t.checkSourceFrameTypes.bind(t),EmResetFrame:t.checkSourceFrameTypes.bind(t)};n.register(e,t)}}c(h,`registerValidationChecks`);var g=class{static{c(this,`EventModelingValidator`)}checkSourceFrameTypes(e,t){e.sourceFrames.length!==0&&(u.has(e.modelEntityType)?this.validateSources(e,new Set([...m,...p]),`command`,`ui or processor`,t):d.has(e.modelEntityType)?this.validateSources(e,u,`event`,`command`,t):f.has(e.modelEntityType)?this.validateSources(e,d,`read model`,`event`,t):p.has(e.modelEntityType)?this.validateSources(e,f,`processor`,`read model`,t):m.has(e.modelEntityType)&&this.validateSources(e,f,`ui`,`read model`,t))}validateSources(e,t,n,r,i){for(let a of e.sourceFrames){let o=a.ref;o!==void 0&&!t.has(o.modelEntityType)&&i(`error`,`A ${n} can only receive input from a ${r}, not from '${o.modelEntityType}'.`,{node:e,property:`sourceFrames`})}}},_={parser:{TokenBuilder:c(()=>new l,`TokenBuilder`),ValueConverter:c(()=>new n,`ValueConverter`)},validation:{EventModelingValidator:c(()=>new g,`EventModelingValidator`)}};function v(n=r){let a=s(e(n),o),c=s(t({shared:a}),i,_);return a.ServiceRegistry.register(c),h(c),{shared:a,EventModel:c}}c(v,`createEventModelingServices`);export{v as n,_ as t};
|