@epic-web/workshop-app 6.19.1 → 6.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/assets/{_-CRawlWeJ.js → _-Cud8yant.js} +2 -2
- package/build/client/assets/{_-CRawlWeJ.js.map → _-Cud8yant.js.map} +1 -1
- package/build/client/assets/{_--cDLQzUf.js → _-DWa4Q8mN.js} +2 -2
- package/build/client/assets/_-DWa4Q8mN.js.map +1 -0
- package/build/client/assets/{_basePickBy-DAhPI2F6.js → _basePickBy-CmdPA9Qj.js} +2 -2
- package/build/client/assets/{_basePickBy-DAhPI2F6.js.map → _basePickBy-CmdPA9Qj.js.map} +1 -1
- package/build/client/assets/{_baseUniq-UdyoJGsA.js → _baseUniq-B-uLgGV0.js} +2 -2
- package/build/client/assets/{_baseUniq-UdyoJGsA.js.map → _baseUniq-B-uLgGV0.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber-BgceviQU.js → _exerciseNumber-DtjPlJ6o.js} +2 -2
- package/build/client/assets/{_exerciseNumber-BgceviQU.js.map → _exerciseNumber-DtjPlJ6o.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_._stepNumber-DFgY9sdQ.js → _exerciseNumber_._stepNumber-DHgdPQun.js} +2 -2
- package/build/client/assets/{_exerciseNumber_._stepNumber-DFgY9sdQ.js.map → _exerciseNumber_._stepNumber-DHgdPQun.js.map} +1 -1
- package/build/client/assets/_exerciseNumber_._stepNumber.index-CzinVzp5.js +2 -0
- package/build/client/assets/_exerciseNumber_._stepNumber.index-CzinVzp5.js.map +1 -0
- package/build/client/assets/{_exerciseNumber_.finished-DDpRCdwq.js → _exerciseNumber_.finished-DWhT7ACZ.js} +2 -2
- package/build/client/assets/{_exerciseNumber_.finished-DDpRCdwq.js.map → _exerciseNumber_.finished-DWhT7ACZ.js.map} +1 -1
- package/build/client/assets/{_layout-VTjNN60l.js → _layout-CxRzxE6c.js} +2 -2
- package/build/client/assets/{_layout-VTjNN60l.js.map → _layout-CxRzxE6c.js.map} +1 -1
- package/build/client/assets/_layout-CxZGIaqo.js +2 -0
- package/build/client/assets/{_layout-CnWx8UeZ.js.map → _layout-CxZGIaqo.js.map} +1 -1
- package/build/client/assets/{_layout-9RdJviqv.js → _layout-VMSPcz0o.js} +2 -2
- package/build/client/assets/{_layout-9RdJviqv.js.map → _layout-VMSPcz0o.js.map} +1 -1
- package/build/client/assets/{_layout-C-Q68e2V.js → _layout-tVLaiLpv.js} +2 -2
- package/build/client/assets/{_layout-C-Q68e2V.js.map → _layout-tVLaiLpv.js.map} +1 -1
- package/build/client/assets/{accordion-SCY8ZaE6.js → accordion-CZzii711.js} +2 -2
- package/build/client/assets/{accordion-SCY8ZaE6.js.map → accordion-CZzii711.js.map} +1 -1
- package/build/client/assets/{account-BVqstfEv.js → account-79RCcsan.js} +2 -2
- package/build/client/assets/{account-BVqstfEv.js.map → account-79RCcsan.js.map} +1 -1
- package/build/client/assets/api._-CzinVzp5.js +2 -0
- package/build/client/assets/api._-CzinVzp5.js.map +1 -0
- package/build/client/assets/app-69LNziy_.js +2 -0
- package/build/client/assets/{app-CtqBDgGi.js.map → app-69LNziy_.js.map} +1 -1
- package/build/client/assets/app.epic_ws_.js_-CzinVzp5.js +2 -0
- package/build/client/assets/app.epic_ws_.js_-CzinVzp5.js.map +1 -0
- package/build/client/assets/apps-CzinVzp5.js +2 -0
- package/build/client/assets/apps-CzinVzp5.js.map +1 -0
- package/build/client/assets/apps-DGfGd4tZ.js +2 -0
- package/build/client/assets/apps-DGfGd4tZ.js.map +1 -0
- package/build/client/assets/{arc-DVPUOyZY.js → arc-BA_c2idM.js} +2 -2
- package/build/client/assets/{arc-DVPUOyZY.js.map → arc-BA_c2idM.js.map} +1 -1
- package/build/client/assets/{architectureDiagram-SUXI7LT5-ChypFFHa.js → architectureDiagram-SUXI7LT5-C_QfCSgj.js} +2 -2
- package/build/client/assets/{architectureDiagram-SUXI7LT5-ChypFFHa.js.map → architectureDiagram-SUXI7LT5-C_QfCSgj.js.map} +1 -1
- package/build/client/assets/{blockDiagram-6J76NXCF-CEOjhdTY.js → blockDiagram-6J76NXCF-SyZJW5Oo.js} +2 -2
- package/build/client/assets/{blockDiagram-6J76NXCF-CEOjhdTY.js.map → blockDiagram-6J76NXCF-SyZJW5Oo.js.map} +1 -1
- package/build/client/assets/{button-DlsWbibb.js → button-FjcEBz5a.js} +2 -2
- package/build/client/assets/{button-DlsWbibb.js.map → button-FjcEBz5a.js.map} +1 -1
- package/build/client/assets/{c4Diagram-6F6E4RAY-BzU61Clr.js → c4Diagram-6F6E4RAY-DdMC8tlq.js} +2 -2
- package/build/client/assets/{c4Diagram-6F6E4RAY-BzU61Clr.js.map → c4Diagram-6F6E4RAY-DdMC8tlq.js.map} +1 -1
- package/build/client/assets/cache-CzinVzp5.js +2 -0
- package/build/client/assets/cache-CzinVzp5.js.map +1 -0
- package/build/client/assets/channel-CgYYy1lm.js +2 -0
- package/build/client/assets/{channel-CpQWA5KX.js.map → channel-CgYYy1lm.js.map} +1 -1
- package/build/client/assets/{chunk-353BL4L5-DOMtvp_0.js → chunk-353BL4L5-CKiJ_fS0.js} +2 -2
- package/build/client/assets/{chunk-353BL4L5-DOMtvp_0.js.map → chunk-353BL4L5-CKiJ_fS0.js.map} +1 -1
- package/build/client/assets/{chunk-67H74DCK-DbceZz77.js → chunk-67H74DCK-BBW92eTl.js} +2 -2
- package/build/client/assets/{chunk-67H74DCK-DbceZz77.js.map → chunk-67H74DCK-BBW92eTl.js.map} +1 -1
- package/build/client/assets/{chunk-AACKK3MU-DA-Gp2JM.js → chunk-AACKK3MU-DKkkLqZH.js} +2 -2
- package/build/client/assets/{chunk-AACKK3MU-DA-Gp2JM.js.map → chunk-AACKK3MU-DKkkLqZH.js.map} +1 -1
- package/build/client/assets/{chunk-BFAMUDN2-CR2-mwr3.js → chunk-BFAMUDN2-DSTABTtJ.js} +2 -2
- package/build/client/assets/{chunk-BFAMUDN2-CR2-mwr3.js.map → chunk-BFAMUDN2-DSTABTtJ.js.map} +1 -1
- package/build/client/assets/{chunk-E2GYISFI-S3nARo1a.js → chunk-E2GYISFI-9OhiF1PX.js} +2 -2
- package/build/client/assets/{chunk-E2GYISFI-S3nARo1a.js.map → chunk-E2GYISFI-9OhiF1PX.js.map} +1 -1
- package/build/client/assets/{chunk-EF7DTUVF-D_IQfNOX.js → chunk-EF7DTUVF-CxbGIp3Y.js} +2 -2
- package/build/client/assets/{chunk-EF7DTUVF-D_IQfNOX.js.map → chunk-EF7DTUVF-CxbGIp3Y.js.map} +1 -1
- package/build/client/assets/{chunk-OW32GOEJ-Dg_qJuOA.js → chunk-OW32GOEJ-CEuxnjbl.js} +2 -2
- package/build/client/assets/{chunk-OW32GOEJ-Dg_qJuOA.js.map → chunk-OW32GOEJ-CEuxnjbl.js.map} +1 -1
- package/build/client/assets/{chunk-SKB7J2MH-CcNDMvqa.js → chunk-SKB7J2MH-BYV2rYUm.js} +2 -2
- package/build/client/assets/{chunk-SKB7J2MH-CcNDMvqa.js.map → chunk-SKB7J2MH-BYV2rYUm.js.map} +1 -1
- package/build/client/assets/{chunk-SZ463SBG-DEoEaTQd.js → chunk-SZ463SBG-CXn2Ua1j.js} +2 -2
- package/build/client/assets/{chunk-SZ463SBG-DEoEaTQd.js.map → chunk-SZ463SBG-CXn2Ua1j.js.map} +1 -1
- package/build/client/assets/classDiagram-M3E45YP4-CC6tSkAY.js +2 -0
- package/build/client/assets/{classDiagram-M3E45YP4-Bx5hcCk1.js.map → classDiagram-M3E45YP4-CC6tSkAY.js.map} +1 -1
- package/build/client/assets/classDiagram-v2-YAWTLIQI-CC6tSkAY.js +2 -0
- package/build/client/assets/{classDiagram-v2-YAWTLIQI-Bx5hcCk1.js.map → classDiagram-v2-YAWTLIQI-CC6tSkAY.js.map} +1 -1
- package/build/client/assets/clone-F4MLHzyj.js +2 -0
- package/build/client/assets/{clone-BCiyXgeX.js.map → clone-F4MLHzyj.js.map} +1 -1
- package/build/client/assets/{dagre-JOIXM2OF-A6mDMZb1.js → dagre-JOIXM2OF-DBCPFaUf.js} +2 -2
- package/build/client/assets/{dagre-JOIXM2OF-A6mDMZb1.js.map → dagre-JOIXM2OF-DBCPFaUf.js.map} +1 -1
- package/build/client/assets/{diagram-5UYTHUR4-x6sH3-lD.js → diagram-5UYTHUR4-BKRE1kDz.js} +2 -2
- package/build/client/assets/{diagram-5UYTHUR4-x6sH3-lD.js.map → diagram-5UYTHUR4-BKRE1kDz.js.map} +1 -1
- package/build/client/assets/{diagram-VMROVX33-BCkXRGkv.js → diagram-VMROVX33-CQ7wnVJQ.js} +2 -2
- package/build/client/assets/{diagram-VMROVX33-BCkXRGkv.js.map → diagram-VMROVX33-CQ7wnVJQ.js.map} +1 -1
- package/build/client/assets/{diagram-ZTM2IBQH-CbGMCgLa.js → diagram-ZTM2IBQH-BuhBjh1f.js} +2 -2
- package/build/client/assets/{diagram-ZTM2IBQH-CbGMCgLa.js.map → diagram-ZTM2IBQH-BuhBjh1f.js.map} +1 -1
- package/build/client/assets/diff-BW-1-TeI.js +2 -0
- package/build/client/assets/{diff-CogRp5CJ.js.map → diff-BW-1-TeI.js.map} +1 -1
- package/build/client/assets/{diff-Bg4dIA6z.js → diff-jEZKAM8E.js} +2 -2
- package/build/client/assets/{diff-Bg4dIA6z.js.map → diff-jEZKAM8E.js.map} +1 -1
- package/build/client/assets/{discord-BQQquq0t.js → discord-BSv-_dvG.js} +2 -2
- package/build/client/assets/{discord-BQQquq0t.js.map → discord-BSv-_dvG.js.map} +1 -1
- package/build/client/assets/discord-BtPkZph9.js +2 -0
- package/build/client/assets/discord-BtPkZph9.js.map +1 -0
- package/build/client/assets/{entry.client-CDahQK4O.js → entry.client-D6CJFvMD.js} +3 -3
- package/build/client/assets/{entry.client-CDahQK4O.js.map → entry.client-D6CJFvMD.js.map} +1 -1
- package/build/client/assets/{epic-video-DVQxX7HO.js → epic-video-_fawWf8X.js} +2 -2
- package/build/client/assets/{epic-video-DVQxX7HO.js.map → epic-video-_fawWf8X.js.map} +1 -1
- package/build/client/assets/epic_ws_.js_-CzinVzp5.js +2 -0
- package/build/client/assets/epic_ws_.js_-CzinVzp5.js.map +1 -0
- package/build/client/assets/{erDiagram-3M52JZNH-DuLE0Sde.js → erDiagram-3M52JZNH-DmgJzi0f.js} +2 -2
- package/build/client/assets/{erDiagram-3M52JZNH-DuLE0Sde.js.map → erDiagram-3M52JZNH-DmgJzi0f.js.map} +1 -1
- package/build/client/assets/{error-boundary-D1L8Zh5r.js → error-boundary-CG7vXcpL.js} +2 -2
- package/build/client/assets/{error-boundary-D1L8Zh5r.js.map → error-boundary-CG7vXcpL.js.map} +1 -1
- package/build/client/assets/exercises-CzinVzp5.js +2 -0
- package/build/client/assets/exercises-CzinVzp5.js.map +1 -0
- package/build/client/assets/{finished-Cct_Sx4z.js → finished-5Hs-X8og.js} +2 -2
- package/build/client/assets/{finished-Cct_Sx4z.js.map → finished-5Hs-X8og.js.map} +1 -1
- package/build/client/assets/{flowDiagram-KYDEHFYC-6yyCDNqT.js → flowDiagram-KYDEHFYC-CEB1hJ1-.js} +2 -2
- package/build/client/assets/{flowDiagram-KYDEHFYC-6yyCDNqT.js.map → flowDiagram-KYDEHFYC-CEB1hJ1-.js.map} +1 -1
- package/build/client/assets/{ganttDiagram-EK5VF46D-Dy4TzXQ3.js → ganttDiagram-EK5VF46D-CMeQyzw0.js} +2 -2
- package/build/client/assets/{ganttDiagram-EK5VF46D-Dy4TzXQ3.js.map → ganttDiagram-EK5VF46D-CMeQyzw0.js.map} +1 -1
- package/build/client/assets/{gitGraphDiagram-GW3U2K7C-DzBhnK-B.js → gitGraphDiagram-GW3U2K7C-7VXLsb3B.js} +2 -2
- package/build/client/assets/{gitGraphDiagram-GW3U2K7C-DzBhnK-B.js.map → gitGraphDiagram-GW3U2K7C-7VXLsb3B.js.map} +1 -1
- package/build/client/assets/{graph-BJv4g4WF.js → graph-CUXIVTV_.js} +2 -2
- package/build/client/assets/{graph-BJv4g4WF.js.map → graph-CUXIVTV_.js.map} +1 -1
- package/build/client/assets/healthcheck-CzinVzp5.js +2 -0
- package/build/client/assets/healthcheck-CzinVzp5.js.map +1 -0
- package/build/client/assets/{index-B1PSYpv5.js → index-B62epZwL.js} +2 -2
- package/build/client/assets/{index-B1PSYpv5.js.map → index-B62epZwL.js.map} +1 -1
- package/build/client/assets/{index-BIZ9tS_H.js → index-BIQBwMwp.js} +2 -2
- package/build/client/assets/{index-BIZ9tS_H.js.map → index-BIQBwMwp.js.map} +1 -1
- package/build/client/assets/{index-DekUa-GU.js → index-Bmu9ueJv.js} +2 -2
- package/build/client/assets/{index-DekUa-GU.js.map → index-Bmu9ueJv.js.map} +1 -1
- package/build/client/assets/{index-BD2di7YH.js → index-BxbUUA1v.js} +2 -2
- package/build/client/assets/{index-BD2di7YH.js.map → index-BxbUUA1v.js.map} +1 -1
- package/build/client/assets/index-CmJRt077.js +2 -0
- package/build/client/assets/index-CmJRt077.js.map +1 -0
- package/build/client/assets/{index-Bsk3EtRz.js → index-CpW8r_vy.js} +2 -2
- package/build/client/assets/{index-Bsk3EtRz.js.map → index-CpW8r_vy.js.map} +1 -1
- package/build/client/assets/index-CzinVzp5.js +2 -0
- package/build/client/assets/index-CzinVzp5.js.map +1 -0
- package/build/client/assets/{index-Ceu33swA.js → index-D949RV5i.js} +2 -2
- package/build/client/assets/{index-Ceu33swA.js.map → index-D949RV5i.js.map} +1 -1
- package/build/client/assets/index-DGfGd4tZ.js +2 -0
- package/build/client/assets/index-DGfGd4tZ.js.map +1 -0
- package/build/client/assets/{index-DRT2xNGZ.js → index-DZ7QmTGQ.js} +2 -2
- package/build/client/assets/{index-DRT2xNGZ.js.map → index-DZ7QmTGQ.js.map} +1 -1
- package/build/client/assets/{index-FuK0F_Wh.js → index-Dp2qNmjA.js} +2 -2
- package/build/client/assets/{index-FuK0F_Wh.js.map → index-Dp2qNmjA.js.map} +1 -1
- package/build/client/assets/{index-DdU0Nh5E.js → index-o1XX5CbB.js} +2 -2
- package/build/client/assets/{index-DdU0Nh5E.js.map → index-o1XX5CbB.js.map} +1 -1
- package/build/client/assets/infoDiagram-LHK5PUON-BimLffVT.js +3 -0
- package/build/client/assets/{infoDiagram-LHK5PUON-B0CtEKKp.js.map → infoDiagram-LHK5PUON-BimLffVT.js.map} +1 -1
- package/build/client/assets/{journeyDiagram-EWQZEKCU-DWuYI9g-.js → journeyDiagram-EWQZEKCU-CEXpLtCB.js} +2 -2
- package/build/client/assets/{journeyDiagram-EWQZEKCU-DWuYI9g-.js.map → journeyDiagram-EWQZEKCU-CEXpLtCB.js.map} +1 -1
- package/build/client/assets/{jsx-runtime-goIRIJww.js → jsx-runtime-BCXVJW5I.js} +2 -2
- package/build/client/assets/{jsx-runtime-goIRIJww.js.map → jsx-runtime-BCXVJW5I.js.map} +1 -1
- package/build/client/assets/{kanban-definition-ZSS6B67P-CE9pvfET.js → kanban-definition-ZSS6B67P-DjHXv--U.js} +2 -2
- package/build/client/assets/{kanban-definition-ZSS6B67P-CE9pvfET.js.map → kanban-definition-ZSS6B67P-DjHXv--U.js.map} +1 -1
- package/build/client/assets/l-CPYnNfFd.js +2 -0
- package/build/client/assets/{l-qsRM2e8E.js.map → l-CPYnNfFd.js.map} +1 -1
- package/build/client/assets/launch-editor-CzinVzp5.js +2 -0
- package/build/client/assets/launch-editor-CzinVzp5.js.map +1 -0
- package/build/client/assets/{layout-DW9tPCKa.js → layout-CwSfC1dZ.js} +2 -2
- package/build/client/assets/{layout-DW9tPCKa.js.map → layout-CwSfC1dZ.js.map} +1 -1
- package/build/client/assets/{linear-DsJOwsM9.js → linear-BNqevLb7.js} +2 -2
- package/build/client/assets/{linear-DsJOwsM9.js.map → linear-BNqevLb7.js.map} +1 -1
- package/build/client/assets/{loading-DgKL_xX2.js → loading-D9p-MVcx.js} +2 -2
- package/build/client/assets/{loading-DgKL_xX2.js.map → loading-D9p-MVcx.js.map} +1 -1
- package/build/client/assets/{login-7k0rXuNf.js → login-VqbuUfDG.js} +2 -2
- package/build/client/assets/{login-7k0rXuNf.js.map → login-VqbuUfDG.js.map} +1 -1
- package/build/client/assets/login-sse-CzinVzp5.js +2 -0
- package/build/client/assets/login-sse-CzinVzp5.js.map +1 -0
- package/build/client/assets/lookout-CzinVzp5.js +2 -0
- package/build/client/assets/lookout-CzinVzp5.js.map +1 -0
- package/build/client/assets/manifest-88e0ed1c.js +1 -0
- package/build/client/assets/{mdx-CpRKwxsv.js → mdx-CBSPIxr_.js} +3 -3
- package/build/client/assets/{mdx-CpRKwxsv.js.map → mdx-CBSPIxr_.js.map} +1 -1
- package/build/client/assets/{mermaid.core-E2awlMly.js → mermaid.core-B5SacBUq.js} +5 -5
- package/build/client/assets/{mermaid.core-E2awlMly.js.map → mermaid.core-B5SacBUq.js.map} +1 -1
- package/build/client/assets/{mindmap-definition-6CBA2TL7-yoYfUc5s.js → mindmap-definition-6CBA2TL7-DIBULedP.js} +2 -2
- package/build/client/assets/{mindmap-definition-6CBA2TL7-yoYfUc5s.js.map → mindmap-definition-6CBA2TL7-DIBULedP.js.map} +1 -1
- package/build/client/assets/{misc-AYOlU-Pz.js → misc-DC9v8fpj.js} +2 -2
- package/build/client/assets/{misc-AYOlU-Pz.js.map → misc-DC9v8fpj.js.map} +1 -1
- package/build/client/assets/{nav-chevrons-BDxSRN82.js → nav-chevrons-DkM-_QV1.js} +2 -2
- package/build/client/assets/{nav-chevrons-BDxSRN82.js.map → nav-chevrons-DkM-_QV1.js.map} +1 -1
- package/build/client/assets/notifications-CzinVzp5.js +2 -0
- package/build/client/assets/notifications-CzinVzp5.js.map +1 -0
- package/build/client/assets/og-CzinVzp5.js +2 -0
- package/build/client/assets/og-CzinVzp5.js.map +1 -0
- package/build/client/assets/{onboarding-B1hemeuQ.js → onboarding-CWsG061f.js} +2 -2
- package/build/client/assets/{onboarding-B1hemeuQ.js.map → onboarding-CWsG061f.js.map} +1 -1
- package/build/client/assets/{online-s5FI1zRZ.js → online-BRaPL8M4.js} +2 -2
- package/build/client/assets/{online-s5FI1zRZ.js.map → online-BRaPL8M4.js.map} +1 -1
- package/build/client/assets/{pe-DV6g-pYz.js → pe-Ds0FrlVF.js} +2 -2
- package/build/client/assets/{pe-DV6g-pYz.js.map → pe-Ds0FrlVF.js.map} +1 -1
- package/build/client/assets/{pieDiagram-NIOCPIFQ-0x6JbREy.js → pieDiagram-NIOCPIFQ-CIolu42H.js} +2 -2
- package/build/client/assets/{pieDiagram-NIOCPIFQ-0x6JbREy.js.map → pieDiagram-NIOCPIFQ-CIolu42H.js.map} +1 -1
- package/build/client/assets/{preferences-DNEWmg65.js → preferences-B_3F6aq3.js} +2 -2
- package/build/client/assets/{preferences-DNEWmg65.js.map → preferences-B_3F6aq3.js.map} +1 -1
- package/build/client/assets/{presence-DyZc1sHm.js → presence-Hf9nzyeL.js} +2 -2
- package/build/client/assets/{presence-DyZc1sHm.js.map → presence-Hf9nzyeL.js.map} +1 -1
- package/build/client/assets/{preview-CZWIlUjc.js → preview-lSkq9OTN.js} +2 -2
- package/build/client/assets/{preview-CZWIlUjc.js.map → preview-lSkq9OTN.js.map} +1 -1
- package/build/client/assets/processes-CzinVzp5.js +2 -0
- package/build/client/assets/processes-CzinVzp5.js.map +1 -0
- package/build/client/assets/{product-BWi1RbGo.js → product-i8CKiO-q.js} +2 -2
- package/build/client/assets/{product-BWi1RbGo.js.map → product-i8CKiO-q.js.map} +1 -1
- package/build/client/assets/progress-CzinVzp5.js +2 -0
- package/build/client/assets/progress-CzinVzp5.js.map +1 -0
- package/build/client/assets/{progress-CJaBGaJu.js → progress-DDGVKIp4.js} +2 -2
- package/build/client/assets/{progress-CJaBGaJu.js.map → progress-DDGVKIp4.js.map} +1 -1
- package/build/client/assets/{progress-bar-Iq8Hyfta.js → progress-bar-CI39aieJ.js} +2 -2
- package/build/client/assets/{progress-bar-Iq8Hyfta.js.map → progress-bar-CI39aieJ.js.map} +1 -1
- package/build/client/assets/{quadrantDiagram-2OG54O6I-BJcsm2lS.js → quadrantDiagram-2OG54O6I-6sxycGoV.js} +2 -2
- package/build/client/assets/{quadrantDiagram-2OG54O6I-BJcsm2lS.js.map → quadrantDiagram-2OG54O6I-6sxycGoV.js.map} +1 -1
- package/build/client/assets/{requirementDiagram-QOLK2EJ7-c4CVACVv.js → requirementDiagram-QOLK2EJ7-f7hp8dOa.js} +2 -2
- package/build/client/assets/{requirementDiagram-QOLK2EJ7-c4CVACVv.js.map → requirementDiagram-QOLK2EJ7-f7hp8dOa.js.map} +1 -1
- package/build/client/assets/{revalidation-ws-BSbKT8x8.js → revalidation-ws-BX7vZNWF.js} +2 -2
- package/build/client/assets/{revalidation-ws-BSbKT8x8.js.map → revalidation-ws-BX7vZNWF.js.map} +1 -1
- package/build/client/assets/robots_._txt-CzinVzp5.js +2 -0
- package/build/client/assets/robots_._txt-CzinVzp5.js.map +1 -0
- package/build/client/assets/{root-B5xKM-J9.js → root-xJHXaHUJ.js} +2 -2
- package/build/client/assets/{root-B5xKM-J9.js.map → root-xJHXaHUJ.js.map} +1 -1
- package/build/client/assets/{sankeyDiagram-4UZDY2LN-CsBDNyAc.js → sankeyDiagram-4UZDY2LN-Bo-cNxHo.js} +2 -2
- package/build/client/assets/{sankeyDiagram-4UZDY2LN-CsBDNyAc.js.map → sankeyDiagram-4UZDY2LN-Bo-cNxHo.js.map} +1 -1
- package/build/client/assets/{seo-D1RdFT8N.js → seo-CMkjont6.js} +2 -2
- package/build/client/assets/{seo-D1RdFT8N.js.map → seo-CMkjont6.js.map} +1 -1
- package/build/client/assets/{sequenceDiagram-SKLFT4DO-BP6qZ82F.js → sequenceDiagram-SKLFT4DO-CvZF6Lx_.js} +2 -2
- package/build/client/assets/{sequenceDiagram-SKLFT4DO-BP6qZ82F.js.map → sequenceDiagram-SKLFT4DO-CvZF6Lx_.js.map} +1 -1
- package/build/client/assets/set-playground-CzinVzp5.js +2 -0
- package/build/client/assets/set-playground-CzinVzp5.js.map +1 -0
- package/build/client/assets/{set-playground-IxA0wk_1.js → set-playground-nExjQpJl.js} +2 -2
- package/build/client/assets/{set-playground-IxA0wk_1.js.map → set-playground-nExjQpJl.js.map} +1 -1
- package/build/client/assets/sitemap_._xml-CzinVzp5.js +2 -0
- package/build/client/assets/sitemap_._xml-CzinVzp5.js.map +1 -0
- package/build/client/assets/start-CzinVzp5.js +2 -0
- package/build/client/assets/start-CzinVzp5.js.map +1 -0
- package/build/client/assets/{stateDiagram-MI5ZYTHO-O-pNEUqE.js → stateDiagram-MI5ZYTHO-UpA9Ug3b.js} +2 -2
- package/build/client/assets/{stateDiagram-MI5ZYTHO-O-pNEUqE.js.map → stateDiagram-MI5ZYTHO-UpA9Ug3b.js.map} +1 -1
- package/build/client/assets/stateDiagram-v2-5AN5P6BG-CCfJOx8X.js +2 -0
- package/build/client/assets/{stateDiagram-v2-5AN5P6BG-DWRK1HnX.js.map → stateDiagram-v2-5AN5P6BG-CCfJOx8X.js.map} +1 -1
- package/build/client/assets/{support-DOruYNSQ.js → support-D9l4KIwV.js} +2 -2
- package/build/client/assets/{support-DOruYNSQ.js.map → support-D9l4KIwV.js.map} +1 -1
- package/build/client/assets/test-BOdGHmEn.js +2 -0
- package/build/client/assets/{test-CUcnZBUj.js.map → test-BOdGHmEn.js.map} +1 -1
- package/build/client/assets/test-CzinVzp5.js +2 -0
- package/build/client/assets/test-CzinVzp5.js.map +1 -0
- package/build/client/assets/test._testName-CzinVzp5.js +2 -0
- package/build/client/assets/test._testName-CzinVzp5.js.map +1 -0
- package/build/client/assets/test.epic_ws_.js_-CzinVzp5.js +2 -0
- package/build/client/assets/test.epic_ws_.js_-CzinVzp5.js.map +1 -0
- package/build/client/assets/{tests-ZJeaTHW4.js → tests-mPyIoDfa.js} +2 -2
- package/build/client/assets/{tests-ZJeaTHW4.js.map → tests-mPyIoDfa.js.map} +1 -1
- package/build/client/assets/{timeline-definition-MYPXXCX6-EAXZrmJO.js → timeline-definition-MYPXXCX6-8sYs7tSF.js} +2 -2
- package/build/client/assets/{timeline-definition-MYPXXCX6-EAXZrmJO.js.map → timeline-definition-MYPXXCX6-8sYs7tSF.js.map} +1 -1
- package/build/client/assets/{tooltip-B15lZHMy.js → tooltip-3YvF9utB.js} +2 -2
- package/build/client/assets/{tooltip-B15lZHMy.js.map → tooltip-3YvF9utB.js.map} +1 -1
- package/build/client/assets/{treemap-75Q7IDZK-rD41bCeV.js → treemap-75Q7IDZK-Ci7z_i29.js} +2 -2
- package/build/client/assets/{treemap-75Q7IDZK-rD41bCeV.js.map → treemap-75Q7IDZK-Ci7z_i29.js.map} +1 -1
- package/build/client/assets/{use-event-source-CsNCBZa7.js → use-event-source-DSS8PI2B.js} +2 -2
- package/build/client/assets/{use-event-source-CsNCBZa7.js.map → use-event-source-DSS8PI2B.js.map} +1 -1
- package/build/client/assets/{user-DF_rNHQo.js → user-Cf5ug4IB.js} +2 -2
- package/build/client/assets/{user-DF_rNHQo.js.map → user-Cf5ug4IB.js.map} +1 -1
- package/build/client/assets/{version-CvE-TYt1.js → version-aSenWzPv.js} +2 -2
- package/build/client/assets/{version-CvE-TYt1.js.map → version-aSenWzPv.js.map} +1 -1
- package/build/client/assets/workshop-config-DeZmWFjn.js +2 -0
- package/build/client/assets/{workshop-config-CVpKt_JE.js.map → workshop-config-DeZmWFjn.js.map} +1 -1
- package/build/client/assets/{workspace-structure-Bk_qPAQh.js → workspace-structure-X7EUD4pR.js} +2 -2
- package/build/client/assets/{workspace-structure-Bk_qPAQh.js.map → workspace-structure-X7EUD4pR.js.map} +1 -1
- package/build/client/assets/{xychartDiagram-H2YORKM3-9pKmc9g3.js → xychartDiagram-H2YORKM3-lxnVfT4u.js} +2 -2
- package/build/client/assets/{xychartDiagram-H2YORKM3-9pKmc9g3.js.map → xychartDiagram-H2YORKM3-lxnVfT4u.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/package.json +1 -1
- package/build/client/assets/_--cDLQzUf.js.map +0 -1
- package/build/client/assets/_exerciseNumber_._stepNumber.index-ou4OFtMO.js +0 -2
- package/build/client/assets/_exerciseNumber_._stepNumber.index-ou4OFtMO.js.map +0 -1
- package/build/client/assets/_layout-CnWx8UeZ.js +0 -2
- package/build/client/assets/api._-ou4OFtMO.js +0 -2
- package/build/client/assets/api._-ou4OFtMO.js.map +0 -1
- package/build/client/assets/app-CtqBDgGi.js +0 -2
- package/build/client/assets/app.epic_ws_.js_-ou4OFtMO.js +0 -2
- package/build/client/assets/app.epic_ws_.js_-ou4OFtMO.js.map +0 -1
- package/build/client/assets/apps-BPOcMP7G.js +0 -2
- package/build/client/assets/apps-BPOcMP7G.js.map +0 -1
- package/build/client/assets/apps-ou4OFtMO.js +0 -2
- package/build/client/assets/apps-ou4OFtMO.js.map +0 -1
- package/build/client/assets/cache-ou4OFtMO.js +0 -2
- package/build/client/assets/cache-ou4OFtMO.js.map +0 -1
- package/build/client/assets/channel-CpQWA5KX.js +0 -2
- package/build/client/assets/classDiagram-M3E45YP4-Bx5hcCk1.js +0 -2
- package/build/client/assets/classDiagram-v2-YAWTLIQI-Bx5hcCk1.js +0 -2
- package/build/client/assets/clone-BCiyXgeX.js +0 -2
- package/build/client/assets/diff-CogRp5CJ.js +0 -2
- package/build/client/assets/discord-CoTrI37L.js +0 -2
- package/build/client/assets/discord-CoTrI37L.js.map +0 -1
- package/build/client/assets/epic_ws_.js_-ou4OFtMO.js +0 -2
- package/build/client/assets/epic_ws_.js_-ou4OFtMO.js.map +0 -1
- package/build/client/assets/exercises-ou4OFtMO.js +0 -2
- package/build/client/assets/exercises-ou4OFtMO.js.map +0 -1
- package/build/client/assets/healthcheck-ou4OFtMO.js +0 -2
- package/build/client/assets/healthcheck-ou4OFtMO.js.map +0 -1
- package/build/client/assets/index-B7HEcuMW.js +0 -2
- package/build/client/assets/index-B7HEcuMW.js.map +0 -1
- package/build/client/assets/index-BPOcMP7G.js +0 -2
- package/build/client/assets/index-BPOcMP7G.js.map +0 -1
- package/build/client/assets/index-ou4OFtMO.js +0 -2
- package/build/client/assets/index-ou4OFtMO.js.map +0 -1
- package/build/client/assets/infoDiagram-LHK5PUON-B0CtEKKp.js +0 -3
- package/build/client/assets/l-qsRM2e8E.js +0 -2
- package/build/client/assets/launch-editor-ou4OFtMO.js +0 -2
- package/build/client/assets/launch-editor-ou4OFtMO.js.map +0 -1
- package/build/client/assets/login-sse-ou4OFtMO.js +0 -2
- package/build/client/assets/login-sse-ou4OFtMO.js.map +0 -1
- package/build/client/assets/lookout-ou4OFtMO.js +0 -2
- package/build/client/assets/lookout-ou4OFtMO.js.map +0 -1
- package/build/client/assets/manifest-61e2fad7.js +0 -1
- package/build/client/assets/notifications-ou4OFtMO.js +0 -2
- package/build/client/assets/notifications-ou4OFtMO.js.map +0 -1
- package/build/client/assets/og-ou4OFtMO.js +0 -2
- package/build/client/assets/og-ou4OFtMO.js.map +0 -1
- package/build/client/assets/processes-ou4OFtMO.js +0 -2
- package/build/client/assets/processes-ou4OFtMO.js.map +0 -1
- package/build/client/assets/progress-ou4OFtMO.js +0 -2
- package/build/client/assets/progress-ou4OFtMO.js.map +0 -1
- package/build/client/assets/robots_._txt-ou4OFtMO.js +0 -2
- package/build/client/assets/robots_._txt-ou4OFtMO.js.map +0 -1
- package/build/client/assets/set-playground-ou4OFtMO.js +0 -2
- package/build/client/assets/set-playground-ou4OFtMO.js.map +0 -1
- package/build/client/assets/sitemap_._xml-ou4OFtMO.js +0 -2
- package/build/client/assets/sitemap_._xml-ou4OFtMO.js.map +0 -1
- package/build/client/assets/start-ou4OFtMO.js +0 -2
- package/build/client/assets/start-ou4OFtMO.js.map +0 -1
- package/build/client/assets/stateDiagram-v2-5AN5P6BG-DWRK1HnX.js +0 -2
- package/build/client/assets/test-CUcnZBUj.js +0 -2
- package/build/client/assets/test-ou4OFtMO.js +0 -2
- package/build/client/assets/test-ou4OFtMO.js.map +0 -1
- package/build/client/assets/test._testName-ou4OFtMO.js +0 -2
- package/build/client/assets/test._testName-ou4OFtMO.js.map +0 -1
- package/build/client/assets/test.epic_ws_.js_-ou4OFtMO.js +0 -2
- package/build/client/assets/test.epic_ws_.js_-ou4OFtMO.js.map +0 -1
- package/build/client/assets/workshop-config-CVpKt_JE.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{s as t,c as i,a as o,C as m}from"./chunk-SZ463SBG-CXn2Ua1j.js";import{_ as a}from"./mermaid.core-B5SacBUq.js";import"./chunk-E2GYISFI-9OhiF1PX.js";import"./chunk-BFAMUDN2-DSTABTtJ.js";import"./chunk-SKB7J2MH-BYV2rYUm.js";import"./mdx-CBSPIxr_.js";import"./jsx-runtime-BCXVJW5I.js";import"./_-DWa4Q8mN.js";import"./clsx-B-dksMZM.js";import"./chunk-EF7DTUVF-CxbGIp3Y.js";import"./index-o1XX5CbB.js";import"./index-Dp2qNmjA.js";import"./epic-video-_fawWf8X.js";import"./index-BxbUUA1v.js";import"./misc-DC9v8fpj.js";import"./tooltip-3YvF9utB.js";import"./pe-Ds0FrlVF.js";import"./online-BRaPL8M4.js";import"./loading-D9p-MVcx.js";import"./user-Cf5ug4IB.js";import"./workshop-config-DeZmWFjn.js";import"./progress-bar-CI39aieJ.js";var R={parser:o,get db(){return new m},renderer:i,styles:t,init:a(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{R as diagram};
|
|
2
|
+
//# sourceMappingURL=classDiagram-M3E45YP4-CC6tSkAY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classDiagram-M3E45YP4-
|
|
1
|
+
{"version":3,"file":"classDiagram-M3E45YP4-CC6tSkAY.js","sources":["../../../../../node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-M3E45YP4.mjs"],"sourcesContent":["import {\n ClassDB,\n classDiagram_default,\n classRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-SZ463SBG.mjs\";\nimport \"./chunk-E2GYISFI.mjs\";\nimport \"./chunk-BFAMUDN2.mjs\";\nimport \"./chunk-SKB7J2MH.mjs\";\nimport \"./chunk-IWUHOULB.mjs\";\nimport \"./chunk-M6DAPIYF.mjs\";\nimport \"./chunk-MXNHSMXR.mjs\";\nimport \"./chunk-JW4RIYDF.mjs\";\nimport \"./chunk-AC5SNWB5.mjs\";\nimport \"./chunk-UWXLY5YG.mjs\";\nimport \"./chunk-QESNASVV.mjs\";\nimport \"./chunk-55PJQP7W.mjs\";\nimport {\n __name\n} from \"./chunk-3XYRH5AP.mjs\";\n\n// src/diagrams/class/classDiagram.ts\nvar diagram = {\n parser: classDiagram_default,\n get db() {\n return new ClassDB();\n },\n renderer: classRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["diagram","classDiagram_default","ClassDB","classRenderer_v3_unified_default","styles_default","__name","cnf"],"mappings":"8tBAsBG,IAACA,EAAU,CACZ,OAAQC,EACR,IAAI,IAAK,CACP,OAAO,IAAIC,CACb,EACA,SAAUC,EACV,OAAQC,EACR,KAAsBC,EAAQC,GAAQ,CAC/BA,EAAI,QACPA,EAAI,MAAQ,CAAA,GAEdA,EAAI,MAAM,oBAAsBA,EAAI,mBACtC,EAAG,MAAM,CACX","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{s as t,c as i,a as o,C as m}from"./chunk-SZ463SBG-CXn2Ua1j.js";import{_ as a}from"./mermaid.core-B5SacBUq.js";import"./chunk-E2GYISFI-9OhiF1PX.js";import"./chunk-BFAMUDN2-DSTABTtJ.js";import"./chunk-SKB7J2MH-BYV2rYUm.js";import"./mdx-CBSPIxr_.js";import"./jsx-runtime-BCXVJW5I.js";import"./_-DWa4Q8mN.js";import"./clsx-B-dksMZM.js";import"./chunk-EF7DTUVF-CxbGIp3Y.js";import"./index-o1XX5CbB.js";import"./index-Dp2qNmjA.js";import"./epic-video-_fawWf8X.js";import"./index-BxbUUA1v.js";import"./misc-DC9v8fpj.js";import"./tooltip-3YvF9utB.js";import"./pe-Ds0FrlVF.js";import"./online-BRaPL8M4.js";import"./loading-D9p-MVcx.js";import"./user-Cf5ug4IB.js";import"./workshop-config-DeZmWFjn.js";import"./progress-bar-CI39aieJ.js";var R={parser:o,get db(){return new m},renderer:i,styles:t,init:a(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{R as diagram};
|
|
2
|
+
//# sourceMappingURL=classDiagram-v2-YAWTLIQI-CC6tSkAY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classDiagram-v2-YAWTLIQI-
|
|
1
|
+
{"version":3,"file":"classDiagram-v2-YAWTLIQI-CC6tSkAY.js","sources":["../../../../../node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-YAWTLIQI.mjs"],"sourcesContent":["import {\n ClassDB,\n classDiagram_default,\n classRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-SZ463SBG.mjs\";\nimport \"./chunk-E2GYISFI.mjs\";\nimport \"./chunk-BFAMUDN2.mjs\";\nimport \"./chunk-SKB7J2MH.mjs\";\nimport \"./chunk-IWUHOULB.mjs\";\nimport \"./chunk-M6DAPIYF.mjs\";\nimport \"./chunk-MXNHSMXR.mjs\";\nimport \"./chunk-JW4RIYDF.mjs\";\nimport \"./chunk-AC5SNWB5.mjs\";\nimport \"./chunk-UWXLY5YG.mjs\";\nimport \"./chunk-QESNASVV.mjs\";\nimport \"./chunk-55PJQP7W.mjs\";\nimport {\n __name\n} from \"./chunk-3XYRH5AP.mjs\";\n\n// src/diagrams/class/classDiagram-v2.ts\nvar diagram = {\n parser: classDiagram_default,\n get db() {\n return new ClassDB();\n },\n renderer: classRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["diagram","classDiagram_default","ClassDB","classRenderer_v3_unified_default","styles_default","__name","cnf"],"mappings":"8tBAsBG,IAACA,EAAU,CACZ,OAAQC,EACR,IAAI,IAAK,CACP,OAAO,IAAIC,CACb,EACA,SAAUC,EACV,OAAQC,EACR,KAAsBC,EAAQC,GAAQ,CAC/BA,EAAI,QACPA,EAAI,MAAQ,CAAA,GAEdA,EAAI,MAAM,oBAAsBA,EAAI,mBACtC,EAAG,MAAM,CACX","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone-
|
|
1
|
+
{"version":3,"file":"clone-F4MLHzyj.js","sources":["../../../../../node_modules/lodash-es/clone.js"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n"],"names":["CLONE_SYMBOLS_FLAG","clone","value","baseClone"],"mappings":"4CAGA,IAAIA,EAAqB,EA4BzB,SAASC,EAAMC,EAAO,CACpB,OAAOC,EAAUD,EAAOF,CAAkB,CAC5C","x_google_ignoreList":[0]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{_ as w,aw as F,ax as Y,ay as _,az as H,l as r,c as V,aA as z,aB as U,ai as $,an as q,aj as P,ah as K,aC as Q,aD as W,aE as Z}from"./mermaid.core-
|
|
1
|
+
import{_ as w,aw as F,ax as Y,ay as _,az as H,l as r,c as V,aA as z,aB as U,ai as $,an as q,aj as P,ah as K,aC as Q,aD as W,aE as Z}from"./mermaid.core-B5SacBUq.js";import{G as B}from"./graph-CUXIVTV_.js";import{l as I}from"./layout-CwSfC1dZ.js";import{i as b}from"./_baseUniq-B-uLgGV0.js";import{c as L}from"./clone-F4MLHzyj.js";import{m as A}from"./_basePickBy-CmdPA9Qj.js";import"./mdx-CBSPIxr_.js";import"./jsx-runtime-BCXVJW5I.js";import"./_-DWa4Q8mN.js";import"./clsx-B-dksMZM.js";import"./chunk-EF7DTUVF-CxbGIp3Y.js";import"./index-o1XX5CbB.js";import"./index-Dp2qNmjA.js";import"./epic-video-_fawWf8X.js";import"./index-BxbUUA1v.js";import"./misc-DC9v8fpj.js";import"./tooltip-3YvF9utB.js";import"./pe-Ds0FrlVF.js";import"./online-BRaPL8M4.js";import"./loading-D9p-MVcx.js";import"./user-Cf5ug4IB.js";import"./workshop-config-DeZmWFjn.js";import"./progress-bar-CI39aieJ.js";function p(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:ee(e),edges:ne(e)};return b(e.graph())||(t.value=L(e.graph())),t}function ee(e){return A(e.nodes(),function(t){var n=e.node(t),a=e.parent(t),s={v:t};return b(n)||(s.value=n),b(a)||(s.parent=a),s})}function ne(e){return A(e.edges(),function(t){var n=e.edge(t),a={v:t.v,w:t.w};return b(t.name)||(a.name=t.name),b(n)||(a.value=n),a})}var d=new Map,X=new Map,J=new Map,te=w(()=>{X.clear(),J.clear(),d.clear()},"clear"),D=w((e,t)=>{const n=X.get(t)||[];return r.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),ie=w((e,t)=>{const n=X.get(t)||[];return r.info("Descendants of ",t," is ",n),r.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||D(e.v,t)||D(e.w,t)||n.includes(e.w):(r.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),G=w((e,t,n,a)=>{r.warn("Copying children of ",e,"root",a,"data",t.node(e),a);const s=t.children(e)||[];e!==a&&s.push(e),r.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)G(o,t,n,a);else{const l=t.node(o);r.info("cp ",o," to ",a," with parent ",e),n.setNode(o,l),a!==t.parent(o)&&(r.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==a&&o!==e?(r.debug("Setting parent",o,e),n.setParent(o,e)):(r.info("In copy ",e,"root",a,"data",t.node(e),a),r.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==a,"node!==clusterId",o!==e));const u=t.edges(o);r.debug("Copying Edges",u),u.forEach(c=>{r.info("Edge",c);const m=t.edge(c.v,c.w,c.name);r.info("Edge data",m,a);try{ie(c,a)?(r.info("Copying as ",c.v,c.w,m,c.name),n.setEdge(c.v,c.w,m,c.name),r.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):r.info("Skipping copy of edge ",c.v,"-->",c.w," rootId: ",a," clusterId:",e)}catch(h){r.error(h)}})}r.debug("Removing node",o),t.removeNode(o)})},"copy"),R=w((e,t)=>{const n=t.children(e);let a=[...n];for(const s of n)J.set(s,e),a=[...a,...R(s,t)];return a},"extractDescendants"),re=w((e,t,n)=>{const a=e.edges().filter(c=>c.v===t||c.w===t),s=e.edges().filter(c=>c.v===n||c.w===n),o=a.map(c=>({v:c.v===t?n:c.v,w:c.w===t?t:c.w})),l=s.map(c=>({v:c.v,w:c.w}));return o.filter(c=>l.some(m=>c.v===m.v&&c.w===m.w))},"findCommonEdges"),C=w((e,t,n)=>{const a=t.children(e);if(r.trace("Searching children of id ",e,a),a.length<1)return e;let s;for(const o of a){const l=C(o,t,n),u=re(t,n,l);if(l)if(u.length>0)s=l;else return l}return s},"findNonClusterChild"),k=w(e=>!d.has(e)||!d.get(e).externalConnections?e:d.has(e)?d.get(e).id:e,"getAnchorId"),se=w((e,t)=>{if(!e||t>10){r.debug("Opting out, no graph ");return}else r.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(r.warn("Cluster identified",n," Replacement id in edges: ",C(n,e,n)),X.set(n,R(n,e)),d.set(n,{id:C(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const a=e.children(n),s=e.edges();a.length>0?(r.debug("Cluster identified",n,X),s.forEach(o=>{const l=D(o.v,n),u=D(o.w,n);l^u&&(r.warn("Edge: ",o," leaves cluster ",n),r.warn("Descendants of XXX ",n,": ",X.get(n)),d.get(n).externalConnections=!0)})):r.debug("Not a cluster ",n,X)});for(let n of d.keys()){const a=d.get(n).id,s=e.parent(a);s!==n&&d.has(s)&&!d.get(s).externalConnections&&(d.get(n).id=s)}e.edges().forEach(function(n){const a=e.edge(n);r.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),r.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(r.warn("Fix XXX",d,"ids:",n.v,n.w,"Translating: ",d.get(n.v)," --- ",d.get(n.w)),d.get(n.v)||d.get(n.w)){if(r.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),s=k(n.v),o=k(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const l=e.parent(s);d.get(l).externalConnections=!0,a.fromCluster=n.v}if(o!==n.w){const l=e.parent(o);d.get(l).externalConnections=!0,a.toCluster=n.w}r.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,a,n.name)}}),r.warn("Adjusted Graph",p(e)),T(e,0),r.trace(d)},"adjustClustersAndEdges"),T=w((e,t)=>{if(r.warn("extractor - ",t,p(e),e.children("D")),t>10){r.error("Bailing out");return}let n=e.nodes(),a=!1;for(const s of n){const o=e.children(s);a=a||o.length>0}if(!a){r.debug("Done, no node has children",e.nodes());return}r.debug("Nodes = ",n,t);for(const s of n)if(r.debug("Extracting node",s,d,d.has(s)&&!d.get(s).externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!d.has(s))r.debug("Not a cluster",s,t);else if(!d.get(s).externalConnections&&e.children(s)&&e.children(s).length>0){r.warn("Cluster without external connections, without a parent and with children",s,t);let l=e.graph().rankdir==="TB"?"LR":"TB";d.get(s)?.clusterData?.dir&&(l=d.get(s).clusterData.dir,r.warn("Fixing dir",d.get(s).clusterData.dir,l));const u=new B({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});r.warn("Old graph before copy",p(e)),G(s,e,u,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:d.get(s).clusterData,label:d.get(s).label,graph:u}),r.warn("New graph after copy node: (",s,")",p(u)),r.debug("Old graph after copy",p(e))}else r.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!d.get(s).externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),r.debug(d);n=e.nodes(),r.warn("New list of nodes",n);for(const s of n){const o=e.node(s);r.warn(" Now next level",s,o),o?.clusterNode&&T(o.graph,t+1)}},"extractor"),M=w((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(a=>{const s=e.children(a),o=M(e,s);n=[...n,...o]}),n},"sorter"),oe=w(e=>M(e,e.children()),"sortNodesByHierarchy"),j=w(async(e,t,n,a,s,o)=>{r.warn("Graph in recursive render:XAX",p(t),s);const l=t.graph().rankdir;r.trace("Dir in recursive render - dir:",l);const u=e.insert("g").attr("class","root");t.nodes()?r.info("Recursive render XXX",t.nodes()):r.info("No nodes found for",t),t.edges().length>0&&r.info("Recursive edges",t.edge(t.edges()[0]));const c=u.insert("g").attr("class","clusters"),m=u.insert("g").attr("class","edgePaths"),h=u.insert("g").attr("class","edgeLabels"),v=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(f){const i=t.node(f);if(s!==void 0){const g=JSON.parse(JSON.stringify(s.clusterData));r.trace(`Setting data for parent cluster XXX
|
|
2
2
|
Node.id = `,f,`
|
|
3
3
|
data=`,g.height,`
|
|
4
4
|
Parent cluster`,s.height),t.setNode(s.id,g),t.parent(f)||(r.trace("Setting parent",f,s.id),t.setParent(f,s.id,g))}if(r.info("(Insert) Node XXX"+f+": "+JSON.stringify(t.node(f))),i?.clusterNode){r.info("Cluster identified XBX",f,i.width,t.node(f));const{ranksep:g,nodesep:E}=t.graph();i.graph.setGraph({...i.graph.graph(),ranksep:g+25,nodesep:E});const N=await j(v,i.graph,n,a,t.node(f),o),x=N.elem;z(i,x),i.diff=N.diff||0,r.info("New compound node after recursive render XAX",f,"width",i.width,"height",i.height),U(x,i)}else t.children(f).length>0?(r.trace("Cluster - the non recursive path XBX",f,i.id,i,i.width,"Graph:",t),r.trace(C(i.id,t)),d.set(i.id,{id:C(i.id,t),node:i})):(r.trace("Node - the non recursive path XAX",f,v,t.node(f),l),await $(v,t.node(f),{config:o,dir:l}))})),await w(async()=>{const f=t.edges().map(async function(i){const g=t.edge(i.v,i.w,i.name);r.info("Edge "+i.v+" -> "+i.w+": "+JSON.stringify(i)),r.info("Edge "+i.v+" -> "+i.w+": ",i," ",JSON.stringify(t.edge(i))),r.info("Fix",d,"ids:",i.v,i.w,"Translating: ",d.get(i.v),d.get(i.w)),await Z(h,g)});await Promise.all(f)},"processEdges")(),r.info("Graph before layout:",JSON.stringify(p(t))),r.info("############################################# XXX"),r.info("### Layout ### XXX"),r.info("############################################# XXX"),I(t),r.info("Graph after layout:",JSON.stringify(p(t)));let O=0,{subGraphTitleTotalMargin:S}=q(o);return await Promise.all(oe(t).map(async function(f){const i=t.node(f);if(r.info("Position XBX => "+f+": ("+i.x,","+i.y,") width: ",i.width," height: ",i.height),i?.clusterNode)i.y+=S,r.info("A tainted cluster node XBX1",f,i.id,i.width,i.height,i.x,i.y,t.parent(f)),d.get(i.id).node=i,P(i);else if(t.children(f).length>0){r.info("A pure cluster node XBX1",f,i.id,i.x,i.y,i.width,i.height,t.parent(f)),i.height+=S,t.node(i.parentId);const g=i?.padding/2||0,E=i?.labelBBox?.height||0,N=E-g||0;r.debug("OffsetY",N,"labelHeight",E,"halfPadding",g),await K(c,i),d.get(i.id).node=i}else{const g=t.node(i.parentId);i.y+=S/2,r.info("A regular node XBX1 - using the padding",i.id,"parent",i.parentId,i.width,i.height,i.x,i.y,"offsetY",i.offsetY,"parent",g,g?.offsetY,i),P(i)}})),t.edges().forEach(function(f){const i=t.edge(f);r.info("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(i),i),i.points.forEach(x=>x.y+=S/2);const g=t.node(f.v);var E=t.node(f.w);const N=Q(m,i,d,n,g,E,a);W(i,N)}),t.nodes().forEach(function(f){const i=t.node(f);r.info(f,i.type,i.diff),i.isGroup&&(O=i.diff)}),r.warn("Returning from recursive render XAX",u,O),{elem:u,diff:O}},"recursiveRender"),ke=w(async(e,t)=>{const n=new B({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=t.select("g");F(a,e.markers,e.type,e.diagramId),Y(),_(),H(),te(),e.nodes.forEach(o=>{n.setNode(o.id,{...o}),o.parentId&&n.setParent(o.id,o.parentId)}),r.debug("Edges:",e.edges),e.edges.forEach(o=>{if(o.start===o.end){const l=o.start,u=l+"---"+l+"---1",c=l+"---"+l+"---2",m=n.node(l);n.setNode(u,{domId:u,id:u,parentId:m.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(u,m.parentId),n.setNode(c,{domId:c,id:c,parentId:m.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(c,m.parentId);const h=structuredClone(o),v=structuredClone(o),y=structuredClone(o);h.label="",h.arrowTypeEnd="none",h.id=l+"-cyclic-special-1",v.arrowTypeStart="none",v.arrowTypeEnd="none",v.id=l+"-cyclic-special-mid",y.label="",m.isGroup&&(h.fromCluster=l,y.toCluster=l),y.id=l+"-cyclic-special-2",y.arrowTypeStart="none",n.setEdge(l,u,h,l+"-cyclic-special-0"),n.setEdge(u,c,v,l+"-cyclic-special-1"),n.setEdge(c,l,y,l+"-cyc<lic-special-2")}else n.setEdge(o.start,o.end,{...o},o.id)}),r.warn("Graph at first:",JSON.stringify(p(n))),se(n),r.warn("Graph after XAX:",JSON.stringify(p(n)));const s=V();await j(a,n,e.type,e.diagramId,void 0,s)},"render");export{ke as render};
|
|
5
|
-
//# sourceMappingURL=dagre-JOIXM2OF-
|
|
5
|
+
//# sourceMappingURL=dagre-JOIXM2OF-DBCPFaUf.js.map
|
package/build/client/assets/{dagre-JOIXM2OF-A6mDMZb1.js.map → dagre-JOIXM2OF-DBCPFaUf.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dagre-JOIXM2OF-A6mDMZb1.js","sources":["../../../../../node_modules/dagre-d3-es/src/graphlib/json.js","../../../../../node_modules/mermaid/dist/chunks/mermaid.core/dagre-JOIXM2OF.mjs"],"sourcesContent":["import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\nexport { write, read };\n\nfunction write(g) {\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n","import {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-M6DAPIYF.mjs\";\nimport \"./chunk-MXNHSMXR.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-JW4RIYDF.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-AC5SNWB5.mjs\";\nimport \"./chunk-UWXLY5YG.mjs\";\nimport \"./chunk-QESNASVV.mjs\";\nimport \"./chunk-55PJQP7W.mjs\";\nimport {\n __name,\n getConfig2 as getConfig,\n log\n} from \"./chunk-3XYRH5AP.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson2 from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib2 from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nvar clusterDb = /* @__PURE__ */ new Map();\nvar descendants = /* @__PURE__ */ new Map();\nvar parents = /* @__PURE__ */ new Map();\nvar clear4 = /* @__PURE__ */ __name(() => {\n descendants.clear();\n parents.clear();\n clusterDb.clear();\n}, \"clear\");\nvar isDescendant = /* @__PURE__ */ __name((id, ancestorId) => {\n const ancestorDescendants = descendants.get(ancestorId) || [];\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", ancestorDescendants.includes(id));\n return ancestorDescendants.includes(id);\n}, \"isDescendant\");\nvar edgeInCluster = /* @__PURE__ */ __name((edge, clusterId) => {\n const clusterDescendants = descendants.get(clusterId) || [];\n log.info(\"Descendants of \", clusterId, \" is \", clusterDescendants);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId || edge.w === clusterId) {\n return false;\n }\n if (!clusterDescendants) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return clusterDescendants.includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || clusterDescendants.includes(edge.w);\n}, \"edgeInCluster\");\nvar copy = /* @__PURE__ */ __name((clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n}, \"copy\");\nvar extractDescendants = /* @__PURE__ */ __name((id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents.set(child, id);\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n}, \"extractDescendants\");\nvar findCommonEdges = /* @__PURE__ */ __name((graph, id1, id2) => {\n const edges1 = graph.edges().filter((edge) => edge.v === id1 || edge.w === id1);\n const edges2 = graph.edges().filter((edge) => edge.v === id2 || edge.w === id2);\n const edges1Prim = edges1.map((edge) => {\n return { v: edge.v === id1 ? id2 : edge.v, w: edge.w === id1 ? id1 : edge.w };\n });\n const edges2Prim = edges2.map((edge) => {\n return { v: edge.v, w: edge.w };\n });\n const result = edges1Prim.filter((edgeIn1) => {\n return edges2Prim.some((edge) => edgeIn1.v === edge.v && edgeIn1.w === edge.w);\n });\n return result;\n}, \"findCommonEdges\");\nvar findNonClusterChild = /* @__PURE__ */ __name((id, graph, clusterId) => {\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n return id;\n }\n let reserve;\n for (const child of children) {\n const _id = findNonClusterChild(child, graph, clusterId);\n const commonEdges = findCommonEdges(graph, clusterId, _id);\n if (_id) {\n if (commonEdges.length > 0) {\n reserve = _id;\n } else {\n return _id;\n }\n }\n }\n return reserve;\n}, \"findNonClusterChild\");\nvar getAnchorId = /* @__PURE__ */ __name((id) => {\n if (!clusterDb.has(id)) {\n return id;\n }\n if (!clusterDb.get(id).externalConnections) {\n return id;\n }\n if (clusterDb.has(id)) {\n return clusterDb.get(id).id;\n }\n return id;\n}, \"getAnchorId\");\nvar adjustClustersAndEdges = /* @__PURE__ */ __name((graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph, id)\n );\n descendants.set(id, extractDescendants(id, graph));\n clusterDb.set(id, { id: findNonClusterChild(id, graph, id), clusterData: graph.node(id) });\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants.get(id));\n clusterDb.get(id).externalConnections = true;\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of clusterDb.keys()) {\n const nonClusterChild = clusterDb.get(id).id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb.has(parent) && !clusterDb.get(parent).externalConnections) {\n clusterDb.get(id).id = parent;\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n \" --- \",\n clusterDb.get(e.w)\n );\n if (clusterDb.get(e.v) || clusterDb.get(e.w)) {\n log.warn(\"Fixing and trying - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb.get(parent).externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb.get(parent).externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n}, \"adjustClustersAndEdges\");\nvar extractor = /* @__PURE__ */ __name((graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb.has(node) && !clusterDb.get(node).externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb.has(node)) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (!clusterDb.get(node).externalConnections && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb.get(node)?.clusterData?.dir) {\n dir = clusterDb.get(node).clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb.get(node).clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n log.warn(\"Old graph before copy\", graphlibJson.write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.warn(\"New graph after copy node: (\", node, \")\", graphlibJson.write(clusterGraph));\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb.get(node).externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data?.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n}, \"extractor\");\nvar sorter = /* @__PURE__ */ __name((graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign([], nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n}, \"sorter\");\nvar sortNodesByHierarchy = /* @__PURE__ */ __name((graph) => sorter(graph, graph.children()), \"sortNodesByHierarchy\");\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson2.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson2.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson2.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += subGraphTitleTotalMargin / 2);\n const startNode = graph.node(e.v);\n var endNode = graph.node(e.w);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib2.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyc<lic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson2.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson2.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n render\n};\n"],"names":["write","g","json","writeNodes","writeEdges","_.isUndefined","_.clone","_.map","v","nodeValue","parent","node","e","edgeValue","edge","clusterDb","descendants","parents","clear4","__name","isDescendant","id","ancestorId","ancestorDescendants","log","edgeInCluster","clusterId","clusterDescendants","copy","graph","newGraph","rootId","nodes","data","edges","data2","extractDescendants","children","res","child","findCommonEdges","id1","id2","edges1","edges2","edges1Prim","edges2Prim","edgeIn1","findNonClusterChild","reserve","_id","commonEdges","getAnchorId","adjustClustersAndEdges","depth","d1","d2","nonClusterChild","w","graphlibJson.write","extractor","hasChildren","dir","clusterGraph","graphlib.Graph","sorter","result","sorted","sortNodesByHierarchy","recursiveRender","_elem","diagramType","parentCluster","siteConfig","graphlibJson2.write","elem","clusters","edgePaths","edgeLabels","ranksep","nodesep","o","newEl","updateNodeBounds","setNodeElem","insertNode","edgePromises","insertEdgeLabel","dagreLayout","diff","subGraphTitleTotalMargin","getSubGraphTitleMargins","positionNode","halfPadding","labelHeight","offsetY","insertCluster","point","startNode","endNode","paths","insertEdge","positionEdgeLabel","n","render","data4Layout","svg","graphlib2.Graph","element","markers_default","clear3","clear2","clear","nodeId","specialId1","specialId2","edge1","edgeMid","edge2","getConfig"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"dagre-JOIXM2OF-DBCPFaUf.js","sources":["../../../../../node_modules/dagre-d3-es/src/graphlib/json.js","../../../../../node_modules/mermaid/dist/chunks/mermaid.core/dagre-JOIXM2OF.mjs"],"sourcesContent":["import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\nexport { write, read };\n\nfunction write(g) {\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n","import {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-M6DAPIYF.mjs\";\nimport \"./chunk-MXNHSMXR.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-JW4RIYDF.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-AC5SNWB5.mjs\";\nimport \"./chunk-UWXLY5YG.mjs\";\nimport \"./chunk-QESNASVV.mjs\";\nimport \"./chunk-55PJQP7W.mjs\";\nimport {\n __name,\n getConfig2 as getConfig,\n log\n} from \"./chunk-3XYRH5AP.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson2 from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib2 from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nvar clusterDb = /* @__PURE__ */ new Map();\nvar descendants = /* @__PURE__ */ new Map();\nvar parents = /* @__PURE__ */ new Map();\nvar clear4 = /* @__PURE__ */ __name(() => {\n descendants.clear();\n parents.clear();\n clusterDb.clear();\n}, \"clear\");\nvar isDescendant = /* @__PURE__ */ __name((id, ancestorId) => {\n const ancestorDescendants = descendants.get(ancestorId) || [];\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", ancestorDescendants.includes(id));\n return ancestorDescendants.includes(id);\n}, \"isDescendant\");\nvar edgeInCluster = /* @__PURE__ */ __name((edge, clusterId) => {\n const clusterDescendants = descendants.get(clusterId) || [];\n log.info(\"Descendants of \", clusterId, \" is \", clusterDescendants);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId || edge.w === clusterId) {\n return false;\n }\n if (!clusterDescendants) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return clusterDescendants.includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || clusterDescendants.includes(edge.w);\n}, \"edgeInCluster\");\nvar copy = /* @__PURE__ */ __name((clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n}, \"copy\");\nvar extractDescendants = /* @__PURE__ */ __name((id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents.set(child, id);\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n}, \"extractDescendants\");\nvar findCommonEdges = /* @__PURE__ */ __name((graph, id1, id2) => {\n const edges1 = graph.edges().filter((edge) => edge.v === id1 || edge.w === id1);\n const edges2 = graph.edges().filter((edge) => edge.v === id2 || edge.w === id2);\n const edges1Prim = edges1.map((edge) => {\n return { v: edge.v === id1 ? id2 : edge.v, w: edge.w === id1 ? id1 : edge.w };\n });\n const edges2Prim = edges2.map((edge) => {\n return { v: edge.v, w: edge.w };\n });\n const result = edges1Prim.filter((edgeIn1) => {\n return edges2Prim.some((edge) => edgeIn1.v === edge.v && edgeIn1.w === edge.w);\n });\n return result;\n}, \"findCommonEdges\");\nvar findNonClusterChild = /* @__PURE__ */ __name((id, graph, clusterId) => {\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n return id;\n }\n let reserve;\n for (const child of children) {\n const _id = findNonClusterChild(child, graph, clusterId);\n const commonEdges = findCommonEdges(graph, clusterId, _id);\n if (_id) {\n if (commonEdges.length > 0) {\n reserve = _id;\n } else {\n return _id;\n }\n }\n }\n return reserve;\n}, \"findNonClusterChild\");\nvar getAnchorId = /* @__PURE__ */ __name((id) => {\n if (!clusterDb.has(id)) {\n return id;\n }\n if (!clusterDb.get(id).externalConnections) {\n return id;\n }\n if (clusterDb.has(id)) {\n return clusterDb.get(id).id;\n }\n return id;\n}, \"getAnchorId\");\nvar adjustClustersAndEdges = /* @__PURE__ */ __name((graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph, id)\n );\n descendants.set(id, extractDescendants(id, graph));\n clusterDb.set(id, { id: findNonClusterChild(id, graph, id), clusterData: graph.node(id) });\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants.get(id));\n clusterDb.get(id).externalConnections = true;\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of clusterDb.keys()) {\n const nonClusterChild = clusterDb.get(id).id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb.has(parent) && !clusterDb.get(parent).externalConnections) {\n clusterDb.get(id).id = parent;\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n \" --- \",\n clusterDb.get(e.w)\n );\n if (clusterDb.get(e.v) || clusterDb.get(e.w)) {\n log.warn(\"Fixing and trying - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb.get(parent).externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb.get(parent).externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n}, \"adjustClustersAndEdges\");\nvar extractor = /* @__PURE__ */ __name((graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb.has(node) && !clusterDb.get(node).externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb.has(node)) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (!clusterDb.get(node).externalConnections && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb.get(node)?.clusterData?.dir) {\n dir = clusterDb.get(node).clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb.get(node).clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n log.warn(\"Old graph before copy\", graphlibJson.write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.warn(\"New graph after copy node: (\", node, \")\", graphlibJson.write(clusterGraph));\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb.get(node).externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data?.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n}, \"extractor\");\nvar sorter = /* @__PURE__ */ __name((graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign([], nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n}, \"sorter\");\nvar sortNodesByHierarchy = /* @__PURE__ */ __name((graph) => sorter(graph, graph.children()), \"sortNodesByHierarchy\");\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson2.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson2.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson2.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += subGraphTitleTotalMargin / 2);\n const startNode = graph.node(e.v);\n var endNode = graph.node(e.w);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib2.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyc<lic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson2.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson2.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n render\n};\n"],"names":["write","g","json","writeNodes","writeEdges","_.isUndefined","_.clone","_.map","v","nodeValue","parent","node","e","edgeValue","edge","clusterDb","descendants","parents","clear4","__name","isDescendant","id","ancestorId","ancestorDescendants","log","edgeInCluster","clusterId","clusterDescendants","copy","graph","newGraph","rootId","nodes","data","edges","data2","extractDescendants","children","res","child","findCommonEdges","id1","id2","edges1","edges2","edges1Prim","edges2Prim","edgeIn1","findNonClusterChild","reserve","_id","commonEdges","getAnchorId","adjustClustersAndEdges","depth","d1","d2","nonClusterChild","w","graphlibJson.write","extractor","hasChildren","dir","clusterGraph","graphlib.Graph","sorter","result","sorted","sortNodesByHierarchy","recursiveRender","_elem","diagramType","parentCluster","siteConfig","graphlibJson2.write","elem","clusters","edgePaths","edgeLabels","ranksep","nodesep","o","newEl","updateNodeBounds","setNodeElem","insertNode","edgePromises","insertEdgeLabel","dagreLayout","diff","subGraphTitleTotalMargin","getSubGraphTitleMargins","positionNode","halfPadding","labelHeight","offsetY","insertCluster","point","startNode","endNode","paths","insertEdge","positionEdgeLabel","n","render","data4Layout","svg","graphlib2.Graph","element","markers_default","clear3","clear2","clear","nodeId","specialId1","specialId2","edge1","edgeMid","edge2","getConfig"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as y}from"./chunk-353BL4L5-
|
|
1
|
+
import{p as y}from"./chunk-353BL4L5-CKiJ_fS0.js";import{_ as l,s as B,g as S,t as z,q as F,a as P,b as E,F as v,K as W,e as T,z as D,G as _,H as A,l as w}from"./mermaid.core-B5SacBUq.js";import{p as N}from"./treemap-75Q7IDZK-Ci7z_i29.js";import"./mdx-CBSPIxr_.js";import"./jsx-runtime-BCXVJW5I.js";import"./_-DWa4Q8mN.js";import"./clsx-B-dksMZM.js";import"./chunk-EF7DTUVF-CxbGIp3Y.js";import"./index-o1XX5CbB.js";import"./index-Dp2qNmjA.js";import"./epic-video-_fawWf8X.js";import"./index-BxbUUA1v.js";import"./misc-DC9v8fpj.js";import"./tooltip-3YvF9utB.js";import"./pe-Ds0FrlVF.js";import"./online-BRaPL8M4.js";import"./loading-D9p-MVcx.js";import"./user-Cf5ug4IB.js";import"./workshop-config-DeZmWFjn.js";import"./progress-bar-CI39aieJ.js";import"./_baseUniq-B-uLgGV0.js";import"./_basePickBy-CmdPA9Qj.js";import"./clone-F4MLHzyj.js";var x={packet:[]},u=structuredClone(x),L=A.packet,Y=l(()=>{const t=v({...L,..._().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),G=l(()=>u.packet,"getPacket"),H=l(t=>{t.length>0&&u.packet.push(t)},"pushWord"),I=l(()=>{D(),u=structuredClone(x)},"clear"),h={pushWord:H,getPacket:G,getConfig:Y,clear:I,setAccTitle:E,getAccTitle:P,setDiagramTitle:F,getDiagramTitle:z,getAccDescription:S,setAccDescription:B},K=1e4,M=l(t=>{y(t,h);let e=-1,o=[],i=1;const{bitsPerRow:s}=h.getConfig();for(let{start:a,end:r,bits:c,label:f}of t.blocks){if(a!==void 0&&r!==void 0&&r<a)throw new Error(`Packet block ${a} - ${r} is invalid. End must be greater than start.`);if(a??=e+1,a!==e+1)throw new Error(`Packet block ${a} - ${r??a} is not contiguous. It should start from ${e+1}.`);if(c===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(r??=a+(c??1)-1,c??=r-a+1,e=r,w.debug(`Packet block ${a} - ${e} with label ${f}`);o.length<=s+1&&h.getPacket().length<K;){const[d,p]=O({start:a,end:r,bits:c,label:f},i,s);if(o.push(d),d.end+1===i*s&&(h.pushWord(o),o=[],i++),!p)break;({start:a,end:r,bits:c,label:f}=p)}}h.pushWord(o)},"populate"),O=l((t,e,o)=>{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*o)return[t,void 0];const i=e*o-1,s=e*o;return[{start:t.start,end:i,label:t.label,bits:i-t.start},{start:s,end:t.end,label:t.label,bits:t.end-s}]},"getNextFittingBlock"),q={parse:l(async t=>{const e=await N("packet",t);w.debug(e),M(e)},"parse")},R=l((t,e,o,i)=>{const s=i.db,a=s.getConfig(),{rowHeight:r,paddingY:c,bitWidth:f,bitsPerRow:d}=a,p=s.getPacket(),n=s.getDiagramTitle(),k=r+c,g=k*(p.length+1)-(n?0:r),m=f*d+2,b=W(e);b.attr("viewbox",`0 0 ${m} ${g}`),T(b,g,m,a.useMaxWidth);for(const[C,$]of p.entries())U(b,$,C,a);b.append("text").text(n).attr("x",m/2).attr("y",g-k/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),U=l((t,e,o,{rowHeight:i,paddingX:s,paddingY:a,bitWidth:r,bitsPerRow:c,showBits:f})=>{const d=t.append("g"),p=o*(i+a)+a;for(const n of e){const k=n.start%c*r+1,g=(n.end-n.start+1)*r-s;if(d.append("rect").attr("x",k).attr("y",p).attr("width",g).attr("height",i).attr("class","packetBlock"),d.append("text").attr("x",k+g/2).attr("y",p+i/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(n.label),!f)continue;const m=n.end===n.start,b=p-2;d.append("text").attr("x",k+(m?g/2:0)).attr("y",b).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",m?"middle":"start").text(n.start),m||d.append("text").attr("x",k+g).attr("y",b).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(n.end)}},"drawWord"),X={draw:R},j={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},J=l(({packet:t}={})=>{const e=v(j,t);return`
|
|
2
2
|
.packetByte {
|
|
3
3
|
font-size: ${e.byteFontSize};
|
|
4
4
|
}
|
|
@@ -22,4 +22,4 @@ import{p as y}from"./chunk-353BL4L5-DOMtvp_0.js";import{_ as l,s as B,g as S,t a
|
|
|
22
22
|
fill: ${e.blockFillColor};
|
|
23
23
|
}
|
|
24
24
|
`},"styles"),wt={parser:q,db:h,renderer:X,styles:J};export{wt as diagram};
|
|
25
|
-
//# sourceMappingURL=diagram-5UYTHUR4-
|
|
25
|
+
//# sourceMappingURL=diagram-5UYTHUR4-BKRE1kDz.js.map
|
package/build/client/assets/{diagram-5UYTHUR4-x6sH3-lD.js.map → diagram-5UYTHUR4-BKRE1kDz.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagram-5UYTHUR4-x6sH3-lD.js","sources":["../../../../../node_modules/mermaid/dist/chunks/mermaid.core/diagram-5UYTHUR4.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-353BL4L5.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-55PJQP7W.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-P3VETL53.mjs\";\nimport {\n __name,\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-3XYRH5AP.mjs\";\n\n// src/diagrams/packet/db.ts\nvar defaultPacketData = {\n packet: []\n};\nvar data = structuredClone(defaultPacketData);\nvar DEFAULT_PACKET_CONFIG = defaultConfig_default.packet;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_PACKET_CONFIG,\n ...getConfig().packet\n });\n if (config.showBits) {\n config.paddingY += 10;\n }\n return config;\n}, \"getConfig\");\nvar getPacket = /* @__PURE__ */ __name(() => data.packet, \"getPacket\");\nvar pushWord = /* @__PURE__ */ __name((word) => {\n if (word.length > 0) {\n data.packet.push(word);\n }\n}, \"pushWord\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = structuredClone(defaultPacketData);\n}, \"clear\");\nvar db = {\n pushWord,\n getPacket,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/packet/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar maxPacketSize = 1e4;\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n let lastBit = -1;\n let word = [];\n let row = 1;\n const { bitsPerRow } = db.getConfig();\n for (let { start, end, bits, label } of ast.blocks) {\n if (start !== void 0 && end !== void 0 && end < start) {\n throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);\n }\n start ??= lastBit + 1;\n if (start !== lastBit + 1) {\n throw new Error(\n `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${lastBit + 1}.`\n );\n }\n if (bits === 0) {\n throw new Error(`Packet block ${start} is invalid. Cannot have a zero bit field.`);\n }\n end ??= start + (bits ?? 1) - 1;\n bits ??= end - start + 1;\n lastBit = end;\n log.debug(`Packet block ${start} - ${lastBit} with label ${label}`);\n while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) {\n const [block, nextBlock] = getNextFittingBlock({ start, end, bits, label }, row, bitsPerRow);\n word.push(block);\n if (block.end + 1 === row * bitsPerRow) {\n db.pushWord(word);\n word = [];\n row++;\n }\n if (!nextBlock) {\n break;\n }\n ({ start, end, bits, label } = nextBlock);\n }\n }\n db.pushWord(word);\n}, \"populate\");\nvar getNextFittingBlock = /* @__PURE__ */ __name((block, row, bitsPerRow) => {\n if (block.start === void 0) {\n throw new Error(\"start should have been set during first phase\");\n }\n if (block.end === void 0) {\n throw new Error(\"end should have been set during first phase\");\n }\n if (block.start > block.end) {\n throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);\n }\n if (block.end + 1 <= row * bitsPerRow) {\n return [block, void 0];\n }\n const rowEnd = row * bitsPerRow - 1;\n const rowStart = row * bitsPerRow;\n return [\n {\n start: block.start,\n end: rowEnd,\n label: block.label,\n bits: rowEnd - block.start\n },\n {\n start: rowStart,\n end: block.end,\n label: block.label,\n bits: block.end - rowStart\n }\n ];\n}, \"getNextFittingBlock\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"packet\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/packet/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const config = db2.getConfig();\n const { rowHeight, paddingY, bitWidth, bitsPerRow } = config;\n const words = db2.getPacket();\n const title = db2.getDiagramTitle();\n const totalRowHeight = rowHeight + paddingY;\n const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight);\n const svgWidth = bitWidth * bitsPerRow + 2;\n const svg = selectSvgElement(id);\n svg.attr(\"viewbox\", `0 0 ${svgWidth} ${svgHeight}`);\n configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);\n for (const [word, packet] of words.entries()) {\n drawWord(svg, packet, word, config);\n }\n svg.append(\"text\").text(title).attr(\"x\", svgWidth / 2).attr(\"y\", svgHeight - totalRowHeight / 2).attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").attr(\"class\", \"packetTitle\");\n}, \"draw\");\nvar drawWord = /* @__PURE__ */ __name((svg, word, rowNumber, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }) => {\n const group = svg.append(\"g\");\n const wordY = rowNumber * (rowHeight + paddingY) + paddingY;\n for (const block of word) {\n const blockX = block.start % bitsPerRow * bitWidth + 1;\n const width = (block.end - block.start + 1) * bitWidth - paddingX;\n group.append(\"rect\").attr(\"x\", blockX).attr(\"y\", wordY).attr(\"width\", width).attr(\"height\", rowHeight).attr(\"class\", \"packetBlock\");\n group.append(\"text\").attr(\"x\", blockX + width / 2).attr(\"y\", wordY + rowHeight / 2).attr(\"class\", \"packetLabel\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").text(block.label);\n if (!showBits) {\n continue;\n }\n const isSingleBlock = block.end === block.start;\n const bitNumberY = wordY - 2;\n group.append(\"text\").attr(\"x\", blockX + (isSingleBlock ? width / 2 : 0)).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte start\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", isSingleBlock ? \"middle\" : \"start\").text(block.start);\n if (!isSingleBlock) {\n group.append(\"text\").attr(\"x\", blockX + width).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte end\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", \"end\").text(block.end);\n }\n }\n}, \"drawWord\");\nvar renderer = { draw };\n\n// src/diagrams/packet/styles.ts\nvar defaultPacketStyleOptions = {\n byteFontSize: \"10px\",\n startByteColor: \"black\",\n endByteColor: \"black\",\n labelColor: \"black\",\n labelFontSize: \"12px\",\n titleColor: \"black\",\n titleFontSize: \"14px\",\n blockStrokeColor: \"black\",\n blockStrokeWidth: \"1\",\n blockFillColor: \"#efefef\"\n};\nvar styles = /* @__PURE__ */ __name(({ packet } = {}) => {\n const options = cleanAndMerge(defaultPacketStyleOptions, packet);\n return `\n\t.packetByte {\n\t\tfont-size: ${options.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${options.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${options.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${options.labelColor};\n\t\tfont-size: ${options.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${options.titleColor};\n\t\tfont-size: ${options.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${options.blockStrokeColor};\n\t\tstroke-width: ${options.blockStrokeWidth};\n\t\tfill: ${options.blockFillColor};\n\t}\n\t`;\n}, \"styles\");\n\n// src/diagrams/packet/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],"names":["defaultPacketData","data","DEFAULT_PACKET_CONFIG","defaultConfig_default","getConfig2","__name","config","cleanAndMerge","getConfig","getPacket","pushWord","word","clear2","clear","db","setAccTitle","getAccTitle","setDiagramTitle","getDiagramTitle","getAccDescription","setAccDescription","maxPacketSize","populate","ast","populateCommonDb","lastBit","row","bitsPerRow","start","end","bits","label","log","block","nextBlock","getNextFittingBlock","rowEnd","rowStart","parser","input","parse","draw","_text","id","_version","diagram2","db2","rowHeight","paddingY","bitWidth","words","title","totalRowHeight","svgHeight","svgWidth","svg","selectSvgElement","configureSvgSize","packet","drawWord","rowNumber","paddingX","showBits","group","wordY","blockX","width","isSingleBlock","bitNumberY","renderer","defaultPacketStyleOptions","styles","options","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"diagram-5UYTHUR4-BKRE1kDz.js","sources":["../../../../../node_modules/mermaid/dist/chunks/mermaid.core/diagram-5UYTHUR4.mjs"],"sourcesContent":["import {\n populateCommonDb\n} from \"./chunk-353BL4L5.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-55PJQP7W.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-P3VETL53.mjs\";\nimport {\n __name,\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-3XYRH5AP.mjs\";\n\n// src/diagrams/packet/db.ts\nvar defaultPacketData = {\n packet: []\n};\nvar data = structuredClone(defaultPacketData);\nvar DEFAULT_PACKET_CONFIG = defaultConfig_default.packet;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_PACKET_CONFIG,\n ...getConfig().packet\n });\n if (config.showBits) {\n config.paddingY += 10;\n }\n return config;\n}, \"getConfig\");\nvar getPacket = /* @__PURE__ */ __name(() => data.packet, \"getPacket\");\nvar pushWord = /* @__PURE__ */ __name((word) => {\n if (word.length > 0) {\n data.packet.push(word);\n }\n}, \"pushWord\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = structuredClone(defaultPacketData);\n}, \"clear\");\nvar db = {\n pushWord,\n getPacket,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/packet/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar maxPacketSize = 1e4;\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n let lastBit = -1;\n let word = [];\n let row = 1;\n const { bitsPerRow } = db.getConfig();\n for (let { start, end, bits, label } of ast.blocks) {\n if (start !== void 0 && end !== void 0 && end < start) {\n throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);\n }\n start ??= lastBit + 1;\n if (start !== lastBit + 1) {\n throw new Error(\n `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${lastBit + 1}.`\n );\n }\n if (bits === 0) {\n throw new Error(`Packet block ${start} is invalid. Cannot have a zero bit field.`);\n }\n end ??= start + (bits ?? 1) - 1;\n bits ??= end - start + 1;\n lastBit = end;\n log.debug(`Packet block ${start} - ${lastBit} with label ${label}`);\n while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) {\n const [block, nextBlock] = getNextFittingBlock({ start, end, bits, label }, row, bitsPerRow);\n word.push(block);\n if (block.end + 1 === row * bitsPerRow) {\n db.pushWord(word);\n word = [];\n row++;\n }\n if (!nextBlock) {\n break;\n }\n ({ start, end, bits, label } = nextBlock);\n }\n }\n db.pushWord(word);\n}, \"populate\");\nvar getNextFittingBlock = /* @__PURE__ */ __name((block, row, bitsPerRow) => {\n if (block.start === void 0) {\n throw new Error(\"start should have been set during first phase\");\n }\n if (block.end === void 0) {\n throw new Error(\"end should have been set during first phase\");\n }\n if (block.start > block.end) {\n throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);\n }\n if (block.end + 1 <= row * bitsPerRow) {\n return [block, void 0];\n }\n const rowEnd = row * bitsPerRow - 1;\n const rowStart = row * bitsPerRow;\n return [\n {\n start: block.start,\n end: rowEnd,\n label: block.label,\n bits: rowEnd - block.start\n },\n {\n start: rowStart,\n end: block.end,\n label: block.label,\n bits: block.end - rowStart\n }\n ];\n}, \"getNextFittingBlock\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"packet\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/packet/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const config = db2.getConfig();\n const { rowHeight, paddingY, bitWidth, bitsPerRow } = config;\n const words = db2.getPacket();\n const title = db2.getDiagramTitle();\n const totalRowHeight = rowHeight + paddingY;\n const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight);\n const svgWidth = bitWidth * bitsPerRow + 2;\n const svg = selectSvgElement(id);\n svg.attr(\"viewbox\", `0 0 ${svgWidth} ${svgHeight}`);\n configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);\n for (const [word, packet] of words.entries()) {\n drawWord(svg, packet, word, config);\n }\n svg.append(\"text\").text(title).attr(\"x\", svgWidth / 2).attr(\"y\", svgHeight - totalRowHeight / 2).attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").attr(\"class\", \"packetTitle\");\n}, \"draw\");\nvar drawWord = /* @__PURE__ */ __name((svg, word, rowNumber, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }) => {\n const group = svg.append(\"g\");\n const wordY = rowNumber * (rowHeight + paddingY) + paddingY;\n for (const block of word) {\n const blockX = block.start % bitsPerRow * bitWidth + 1;\n const width = (block.end - block.start + 1) * bitWidth - paddingX;\n group.append(\"rect\").attr(\"x\", blockX).attr(\"y\", wordY).attr(\"width\", width).attr(\"height\", rowHeight).attr(\"class\", \"packetBlock\");\n group.append(\"text\").attr(\"x\", blockX + width / 2).attr(\"y\", wordY + rowHeight / 2).attr(\"class\", \"packetLabel\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").text(block.label);\n if (!showBits) {\n continue;\n }\n const isSingleBlock = block.end === block.start;\n const bitNumberY = wordY - 2;\n group.append(\"text\").attr(\"x\", blockX + (isSingleBlock ? width / 2 : 0)).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte start\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", isSingleBlock ? \"middle\" : \"start\").text(block.start);\n if (!isSingleBlock) {\n group.append(\"text\").attr(\"x\", blockX + width).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte end\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", \"end\").text(block.end);\n }\n }\n}, \"drawWord\");\nvar renderer = { draw };\n\n// src/diagrams/packet/styles.ts\nvar defaultPacketStyleOptions = {\n byteFontSize: \"10px\",\n startByteColor: \"black\",\n endByteColor: \"black\",\n labelColor: \"black\",\n labelFontSize: \"12px\",\n titleColor: \"black\",\n titleFontSize: \"14px\",\n blockStrokeColor: \"black\",\n blockStrokeWidth: \"1\",\n blockFillColor: \"#efefef\"\n};\nvar styles = /* @__PURE__ */ __name(({ packet } = {}) => {\n const options = cleanAndMerge(defaultPacketStyleOptions, packet);\n return `\n\t.packetByte {\n\t\tfont-size: ${options.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${options.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${options.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${options.labelColor};\n\t\tfont-size: ${options.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${options.titleColor};\n\t\tfont-size: ${options.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${options.blockStrokeColor};\n\t\tstroke-width: ${options.blockStrokeWidth};\n\t\tfill: ${options.blockFillColor};\n\t}\n\t`;\n}, \"styles\");\n\n// src/diagrams/packet/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],"names":["defaultPacketData","data","DEFAULT_PACKET_CONFIG","defaultConfig_default","getConfig2","__name","config","cleanAndMerge","getConfig","getPacket","pushWord","word","clear2","clear","db","setAccTitle","getAccTitle","setDiagramTitle","getDiagramTitle","getAccDescription","setAccDescription","maxPacketSize","populate","ast","populateCommonDb","lastBit","row","bitsPerRow","start","end","bits","label","log","block","nextBlock","getNextFittingBlock","rowEnd","rowStart","parser","input","parse","draw","_text","id","_version","diagram2","db2","rowHeight","paddingY","bitWidth","words","title","totalRowHeight","svgHeight","svgWidth","svg","selectSvgElement","configureSvgSize","packet","drawWord","rowNumber","paddingX","showBits","group","wordY","blockX","width","isSingleBlock","bitNumberY","renderer","defaultPacketStyleOptions","styles","options","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as de}from"./chunk-SKB7J2MH-CcNDMvqa.js";import{_ as w,F as te,G as ae,K as he,e as ue,l as J,aY as P,d as j,b as fe,a as me,q as ge,t as ye,g as Se,s as ve,H as xe,aZ as be,z as we}from"./mermaid.core-E2awlMly.js";import{p as Ce}from"./chunk-353BL4L5-DOMtvp_0.js";import{p as Te}from"./treemap-75Q7IDZK-rD41bCeV.js";import{b as O}from"./defaultLocale-C4B-KCzX.js";import{o as U}from"./ordinal-Cboi1Yqb.js";import"./mdx-CpRKwxsv.js";import"./jsx-runtime-goIRIJww.js";import"./_--cDLQzUf.js";import"./clsx-B-dksMZM.js";import"./chunk-EF7DTUVF-D_IQfNOX.js";import"./index-DdU0Nh5E.js";import"./index-FuK0F_Wh.js";import"./epic-video-DVQxX7HO.js";import"./index-BD2di7YH.js";import"./misc-AYOlU-Pz.js";import"./tooltip-B15lZHMy.js";import"./pe-DV6g-pYz.js";import"./online-s5FI1zRZ.js";import"./loading-DgKL_xX2.js";import"./user-DF_rNHQo.js";import"./workshop-config-CVpKt_JE.js";import"./progress-bar-Iq8Hyfta.js";import"./_baseUniq-UdyoJGsA.js";import"./_basePickBy-DAhPI2F6.js";import"./clone-BCiyXgeX.js";import"./init-Gi6I4Gst.js";function Le(t){var a=0,l=t.children,n=l&&l.length;if(!n)a=1;else for(;--n>=0;)a+=l[n].value;t.value=a}function $e(){return this.eachAfter(Le)}function Ae(t,a){let l=-1;for(const n of this)t.call(a,n,++l,this);return this}function Fe(t,a){for(var l=this,n=[l],o,s,p=-1;l=n.pop();)if(t.call(a,l,++p,this),o=l.children)for(s=o.length-1;s>=0;--s)n.push(o[s]);return this}function ke(t,a){for(var l=this,n=[l],o=[],s,p,d,m=-1;l=n.pop();)if(o.push(l),s=l.children)for(p=0,d=s.length;p<d;++p)n.push(s[p]);for(;l=o.pop();)t.call(a,l,++m,this);return this}function Ne(t,a){let l=-1;for(const n of this)if(t.call(a,n,++l,this))return n}function Me(t){return this.eachAfter(function(a){for(var l=+t(a.data)||0,n=a.children,o=n&&n.length;--o>=0;)l+=n[o].value;a.value=l})}function _e(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function ze(t){for(var a=this,l=Ve(a,t),n=[a];a!==l;)a=a.parent,n.push(a);for(var o=n.length;t!==l;)n.splice(o,0,t),t=t.parent;return n}function Ve(t,a){if(t===a)return t;var l=t.ancestors(),n=a.ancestors(),o=null;for(t=l.pop(),a=n.pop();t===a;)o=t,t=l.pop(),a=n.pop();return o}function De(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Pe(){return Array.from(this)}function Be(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function Re(){var t=this,a=[];return t.each(function(l){l!==t&&a.push({source:l.parent,target:l})}),a}function*Ee(){var t=this,a,l=[t],n,o,s;do for(a=l.reverse(),l=[];t=a.pop();)if(yield t,n=t.children)for(o=0,s=n.length;o<s;++o)l.push(n[o]);while(l.length)}function Q(t,a){t instanceof Map?(t=[void 0,t],a===void 0&&(a=Ie)):a===void 0&&(a=He);for(var l=new Z(t),n,o=[l],s,p,d,m;n=o.pop();)if((p=a(n.data))&&(m=(p=Array.from(p)).length))for(n.children=p,d=m-1;d>=0;--d)o.push(s=p[d]=new Z(p[d])),s.parent=n,s.depth=n.depth+1;return l.eachBefore(Ge)}function We(){return Q(this).eachBefore(Oe)}function He(t){return t.children}function Ie(t){return Array.isArray(t)?t[1]:null}function Oe(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Ge(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function Z(t){this.data=t,this.depth=this.height=0,this.parent=null}Z.prototype=Q.prototype={constructor:Z,count:$e,each:Ae,eachAfter:ke,eachBefore:Fe,find:Ne,sum:Me,sort:_e,path:ze,ancestors:De,descendants:Pe,leaves:Be,links:Re,copy:We,[Symbol.iterator]:Ee};function qe(t){if(typeof t!="function")throw new Error;return t}function G(){return 0}function q(t){return function(){return t}}function Xe(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Ye(t,a,l,n,o){for(var s=t.children,p,d=-1,m=s.length,c=t.value&&(n-a)/t.value;++d<m;)p=s[d],p.y0=l,p.y1=o,p.x0=a,p.x1=a+=p.value*c}function je(t,a,l,n,o){for(var s=t.children,p,d=-1,m=s.length,c=t.value&&(o-l)/t.value;++d<m;)p=s[d],p.x0=a,p.x1=n,p.y0=l,p.y1=l+=p.value*c}var Ze=(1+Math.sqrt(5))/2;function Ke(t,a,l,n,o,s){for(var p=[],d=a.children,m,c,h=0,b=0,r=d.length,x,S,v=a.value,u,g,N,k,V,E,M;h<r;){x=o-l,S=s-n;do u=d[b++].value;while(!u&&b<r);for(g=N=u,E=Math.max(S/x,x/S)/(v*t),M=u*u*E,V=Math.max(N/M,M/g);b<r;++b){if(u+=c=d[b].value,c<g&&(g=c),c>N&&(N=c),M=u*u*E,k=Math.max(N/M,M/g),k>V){u-=c;break}V=k}p.push(m={value:u,dice:x<S,children:d.slice(h,b)}),m.dice?Ye(m,l,n,o,v?n+=S*u/v:s):je(m,l,n,v?l+=x*u/v:o,s),v-=u,h=b}return p}const Ue=function t(a){function l(n,o,s,p,d){Ke(a,n,o,s,p,d)}return l.ratio=function(n){return t((n=+n)>1?n:1)},l}(Ze);function Je(){var t=Ue,a=!1,l=1,n=1,o=[0],s=G,p=G,d=G,m=G,c=G;function h(r){return r.x0=r.y0=0,r.x1=l,r.y1=n,r.eachBefore(b),o=[0],a&&r.eachBefore(Xe),r}function b(r){var x=o[r.depth],S=r.x0+x,v=r.y0+x,u=r.x1-x,g=r.y1-x;u<S&&(S=u=(S+u)/2),g<v&&(v=g=(v+g)/2),r.x0=S,r.y0=v,r.x1=u,r.y1=g,r.children&&(x=o[r.depth+1]=s(r)/2,S+=c(r)-x,v+=p(r)-x,u-=d(r)-x,g-=m(r)-x,u<S&&(S=u=(S+u)/2),g<v&&(v=g=(v+g)/2),t(r,S,v,u,g))}return h.round=function(r){return arguments.length?(a=!!r,h):a},h.size=function(r){return arguments.length?(l=+r[0],n=+r[1],h):[l,n]},h.tile=function(r){return arguments.length?(t=qe(r),h):t},h.padding=function(r){return arguments.length?h.paddingInner(r).paddingOuter(r):h.paddingInner()},h.paddingInner=function(r){return arguments.length?(s=typeof r=="function"?r:q(+r),h):s},h.paddingOuter=function(r){return arguments.length?h.paddingTop(r).paddingRight(r).paddingBottom(r).paddingLeft(r):h.paddingTop()},h.paddingTop=function(r){return arguments.length?(p=typeof r=="function"?r:q(+r),h):p},h.paddingRight=function(r){return arguments.length?(d=typeof r=="function"?r:q(+r),h):d},h.paddingBottom=function(r){return arguments.length?(m=typeof r=="function"?r:q(+r),h):m},h.paddingLeft=function(r){return arguments.length?(c=typeof r=="function"?r:q(+r),h):c},h}var R,ne=(R=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=fe,this.getAccTitle=me,this.setDiagramTitle=ge,this.getDiagramTitle=ye,this.getAccDescription=Se,this.setAccDescription=ve}getNodes(){return this.nodes}getConfig(){const a=xe,l=ae();return te({...a.treemap,...l.treemap??{}})}addNode(a,l){this.nodes.push(a),this.levels.set(a,l),l===0&&(this.outerNodes.push(a),this.root??=a)}getRoot(){return{name:"",children:this.outerNodes}}addClass(a,l){const n=this.classes.get(a)??{id:a,styles:[],textStyles:[]},o=l.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");o&&o.forEach(s=>{be(s)&&(n?.textStyles?n.textStyles.push(s):n.textStyles=[s]),n?.styles?n.styles.push(s):n.styles=[s]}),this.classes.set(a,n)}getClasses(){return this.classes}getStylesForClass(a){return this.classes.get(a)?.styles??[]}clear(){we(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},w(R,"TreeMapDB"),R);function le(t){if(!t.length)return[];const a=[],l=[];return t.forEach(n=>{const o={name:n.name,children:n.type==="Leaf"?void 0:[]};for(o.classSelector=n?.classSelector,n?.cssCompiledStyles&&(o.cssCompiledStyles=[n.cssCompiledStyles]),n.type==="Leaf"&&n.value!==void 0&&(o.value=n.value);l.length>0&&l[l.length-1].level>=n.level;)l.pop();if(l.length===0)a.push(o);else{const s=l[l.length-1].node;s.children?s.children.push(o):s.children=[o]}n.type!=="Leaf"&&l.push({node:o,level:n.level})}),a}w(le,"buildHierarchy");var Qe=w((t,a)=>{Ce(t,a);const l=[];for(const s of t.TreemapRows??[])s.$type==="ClassDefStatement"&&a.addClass(s.className??"",s.styleText??"");for(const s of t.TreemapRows??[]){const p=s.item;if(!p)continue;const d=s.indent?parseInt(s.indent):0,m=et(p),c=p.classSelector?a.getStylesForClass(p.classSelector):[],h=c.length>0?c.join(";"):void 0,b={level:d,name:m,type:p.$type,value:p.value,classSelector:p.classSelector,cssCompiledStyles:h};l.push(b)}const n=le(l),o=w((s,p)=>{for(const d of s)a.addNode(d,p),d.children&&d.children.length>0&&o(d.children,p+1)},"addNodesRecursively");o(n,0)},"populate"),et=w(t=>t.name?String(t.name):"","getItemName"),re={parser:{yy:void 0},parse:w(async t=>{try{const l=await Te("treemap",t);J.debug("Treemap AST:",l);const n=re.parser?.yy;if(!(n instanceof ne))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Qe(l,n)}catch(a){throw J.error("Error parsing treemap:",a),a}},"parse")},tt=10,B=10,X=25,at=w((t,a,l,n)=>{const o=n.db,s=o.getConfig(),p=s.padding??tt,d=o.getDiagramTitle(),m=o.getRoot(),{themeVariables:c}=ae();if(!m)return;const h=d?30:0,b=he(a),r=s.nodeWidth?s.nodeWidth*B:960,x=s.nodeHeight?s.nodeHeight*B:500,S=r,v=x+h;b.attr("viewBox",`0 0 ${S} ${v}`),ue(b,v,S,s.useMaxWidth);let u;try{const e=s.valueFormat||",";if(e==="$0,0")u=w(i=>"$"+O(",")(i),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const i=/\.\d+/.exec(e),f=i?i[0]:"";u=w(C=>"$"+O(","+f)(C),"valueFormat")}else if(e.startsWith("$")){const i=e.substring(1);u=w(f=>"$"+O(i||"")(f),"valueFormat")}else u=O(e)}catch(e){J.error("Error creating format function:",e),u=O(",")}const g=U().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),N=U().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),k=U().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);d&&b.append("text").attr("x",S/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(d);const V=b.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),E=Q(m).sum(e=>e.value??0).sort((e,i)=>(i.value??0)-(e.value??0)),ee=Je().size([r,x]).paddingTop(e=>e.children&&e.children.length>0?X+B:0).paddingInner(p).paddingLeft(e=>e.children&&e.children.length>0?B:0).paddingRight(e=>e.children&&e.children.length>0?B:0).paddingBottom(e=>e.children&&e.children.length>0?B:0).round(!0)(E),se=ee.descendants().filter(e=>e.children&&e.children.length>0),W=V.selectAll(".treemapSection").data(se).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",X).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),W.append("clipPath").attr("id",(e,i)=>`clip-section-${a}-${i}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",X),W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,i)=>`treemapSection section${i}`).attr("fill",e=>g(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>N(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const i=P({cssCompiledStyles:e.data.cssCompiledStyles});return i.nodeStyles+";"+i.borderStyles.join(";")}),W.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",X/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("style",e=>{if(e.depth===0)return"display: none;";const i="dominant-baseline: middle; font-size: 12px; fill:"+k(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const i=j(this),f=e.data.name;i.text(f);const C=e.x1-e.x0,L=6;let $;s.showValues!==!1&&e.value?$=C-10-30-10-L:$=C-L-6;const A=Math.max(15,$),y=i.node();if(y.getComputedTextLength()>A){let T=f;for(;T.length>0;){if(T=f.substring(0,T.length-1),T.length===0){i.text("..."),y.getComputedTextLength()>A&&i.text("");break}if(i.text(T+"..."),y.getComputedTextLength()<=A)break}}}),s.showValues!==!1&&W.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",X/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?u(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const i="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+k(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")});const ie=ee.leaves(),Y=V.selectAll(".treemapLeafGroup").data(ie).enter().append("g").attr("class",(e,i)=>`treemapNode treemapLeafGroup leaf${i}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);Y.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?g(e.parent.data.name):g(e.data.name)).attr("style",e=>P({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?g(e.parent.data.name):g(e.data.name)).attr("stroke-width",3),Y.append("clipPath").attr("id",(e,i)=>`clip-${a}-${i}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),Y.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const i="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+k(e.data.name)+";",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,i)=>`url(#clip-${a}-${i})`).text(e=>e.data.name).each(function(e){const i=j(this),f=e.x1-e.x0,C=e.y1-e.y0,L=i.node(),$=4,D=f-2*$,A=C-2*$;if(D<10||A<10){i.style("display","none");return}let y=parseInt(i.style("font-size"),10);const _=8,F=28,T=.6,z=6,H=2;for(;L.getComputedTextLength()>D&&y>_;)y--,i.style("font-size",`${y}px`);let I=Math.max(z,Math.min(F,Math.round(y*T))),K=y+H+I;for(;K>A&&y>_&&(y--,I=Math.max(z,Math.min(F,Math.round(y*T))),!(I<z&&y===_));)i.style("font-size",`${y}px`),K=y+H+I;i.style("font-size",`${y}px`),(L.getComputedTextLength()>D||y<_||A<y)&&i.style("display","none")}),s.showValues!==!1&&Y.append("text").attr("class","treemapValue").attr("x",i=>(i.x1-i.x0)/2).attr("y",function(i){return(i.y1-i.y0)/2}).attr("style",i=>{const f="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+k(i.data.name)+";",C=P({cssCompiledStyles:i.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(i,f)=>`url(#clip-${a}-${f})`).text(i=>i.value?u(i.value):"").each(function(i){const f=j(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=j(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const $=parseFloat(L.style("font-size")),D=28,A=.6,y=6,_=2,F=Math.max(y,Math.min(D,Math.round($*A)));f.style("font-size",`${F}px`);const z=(i.y1-i.y0)/2+$/2+_;f.attr("y",z);const H=i.x1-i.x0,ce=i.y1-i.y0-4,pe=H-8;f.node().getComputedTextLength()>pe||z+F>ce||F<y?f.style("display","none"):f.style("display",null)});const oe=s.diagramPadding??8;de(b,oe,"flowchart",s?.useMaxWidth||!1)},"draw"),nt=w(function(t,a){return a.db.getClasses()},"getClasses"),lt={draw:at,getClasses:nt},rt={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},st=w(({treemap:t}={})=>{const a=te(rt,t);return`
|
|
1
|
+
import{s as de}from"./chunk-SKB7J2MH-BYV2rYUm.js";import{_ as w,F as te,G as ae,K as he,e as ue,l as J,aY as P,d as j,b as fe,a as me,q as ge,t as ye,g as Se,s as ve,H as xe,aZ as be,z as we}from"./mermaid.core-B5SacBUq.js";import{p as Ce}from"./chunk-353BL4L5-CKiJ_fS0.js";import{p as Te}from"./treemap-75Q7IDZK-Ci7z_i29.js";import{b as O}from"./defaultLocale-C4B-KCzX.js";import{o as U}from"./ordinal-Cboi1Yqb.js";import"./mdx-CBSPIxr_.js";import"./jsx-runtime-BCXVJW5I.js";import"./_-DWa4Q8mN.js";import"./clsx-B-dksMZM.js";import"./chunk-EF7DTUVF-CxbGIp3Y.js";import"./index-o1XX5CbB.js";import"./index-Dp2qNmjA.js";import"./epic-video-_fawWf8X.js";import"./index-BxbUUA1v.js";import"./misc-DC9v8fpj.js";import"./tooltip-3YvF9utB.js";import"./pe-Ds0FrlVF.js";import"./online-BRaPL8M4.js";import"./loading-D9p-MVcx.js";import"./user-Cf5ug4IB.js";import"./workshop-config-DeZmWFjn.js";import"./progress-bar-CI39aieJ.js";import"./_baseUniq-B-uLgGV0.js";import"./_basePickBy-CmdPA9Qj.js";import"./clone-F4MLHzyj.js";import"./init-Gi6I4Gst.js";function Le(t){var a=0,l=t.children,n=l&&l.length;if(!n)a=1;else for(;--n>=0;)a+=l[n].value;t.value=a}function $e(){return this.eachAfter(Le)}function Ae(t,a){let l=-1;for(const n of this)t.call(a,n,++l,this);return this}function Fe(t,a){for(var l=this,n=[l],o,s,p=-1;l=n.pop();)if(t.call(a,l,++p,this),o=l.children)for(s=o.length-1;s>=0;--s)n.push(o[s]);return this}function ke(t,a){for(var l=this,n=[l],o=[],s,p,d,m=-1;l=n.pop();)if(o.push(l),s=l.children)for(p=0,d=s.length;p<d;++p)n.push(s[p]);for(;l=o.pop();)t.call(a,l,++m,this);return this}function Ne(t,a){let l=-1;for(const n of this)if(t.call(a,n,++l,this))return n}function Me(t){return this.eachAfter(function(a){for(var l=+t(a.data)||0,n=a.children,o=n&&n.length;--o>=0;)l+=n[o].value;a.value=l})}function _e(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function ze(t){for(var a=this,l=Ve(a,t),n=[a];a!==l;)a=a.parent,n.push(a);for(var o=n.length;t!==l;)n.splice(o,0,t),t=t.parent;return n}function Ve(t,a){if(t===a)return t;var l=t.ancestors(),n=a.ancestors(),o=null;for(t=l.pop(),a=n.pop();t===a;)o=t,t=l.pop(),a=n.pop();return o}function De(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Pe(){return Array.from(this)}function Be(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function Re(){var t=this,a=[];return t.each(function(l){l!==t&&a.push({source:l.parent,target:l})}),a}function*Ee(){var t=this,a,l=[t],n,o,s;do for(a=l.reverse(),l=[];t=a.pop();)if(yield t,n=t.children)for(o=0,s=n.length;o<s;++o)l.push(n[o]);while(l.length)}function Q(t,a){t instanceof Map?(t=[void 0,t],a===void 0&&(a=Ie)):a===void 0&&(a=He);for(var l=new Z(t),n,o=[l],s,p,d,m;n=o.pop();)if((p=a(n.data))&&(m=(p=Array.from(p)).length))for(n.children=p,d=m-1;d>=0;--d)o.push(s=p[d]=new Z(p[d])),s.parent=n,s.depth=n.depth+1;return l.eachBefore(Ge)}function We(){return Q(this).eachBefore(Oe)}function He(t){return t.children}function Ie(t){return Array.isArray(t)?t[1]:null}function Oe(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Ge(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function Z(t){this.data=t,this.depth=this.height=0,this.parent=null}Z.prototype=Q.prototype={constructor:Z,count:$e,each:Ae,eachAfter:ke,eachBefore:Fe,find:Ne,sum:Me,sort:_e,path:ze,ancestors:De,descendants:Pe,leaves:Be,links:Re,copy:We,[Symbol.iterator]:Ee};function qe(t){if(typeof t!="function")throw new Error;return t}function G(){return 0}function q(t){return function(){return t}}function Xe(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Ye(t,a,l,n,o){for(var s=t.children,p,d=-1,m=s.length,c=t.value&&(n-a)/t.value;++d<m;)p=s[d],p.y0=l,p.y1=o,p.x0=a,p.x1=a+=p.value*c}function je(t,a,l,n,o){for(var s=t.children,p,d=-1,m=s.length,c=t.value&&(o-l)/t.value;++d<m;)p=s[d],p.x0=a,p.x1=n,p.y0=l,p.y1=l+=p.value*c}var Ze=(1+Math.sqrt(5))/2;function Ke(t,a,l,n,o,s){for(var p=[],d=a.children,m,c,h=0,b=0,r=d.length,x,S,v=a.value,u,g,N,k,V,E,M;h<r;){x=o-l,S=s-n;do u=d[b++].value;while(!u&&b<r);for(g=N=u,E=Math.max(S/x,x/S)/(v*t),M=u*u*E,V=Math.max(N/M,M/g);b<r;++b){if(u+=c=d[b].value,c<g&&(g=c),c>N&&(N=c),M=u*u*E,k=Math.max(N/M,M/g),k>V){u-=c;break}V=k}p.push(m={value:u,dice:x<S,children:d.slice(h,b)}),m.dice?Ye(m,l,n,o,v?n+=S*u/v:s):je(m,l,n,v?l+=x*u/v:o,s),v-=u,h=b}return p}const Ue=function t(a){function l(n,o,s,p,d){Ke(a,n,o,s,p,d)}return l.ratio=function(n){return t((n=+n)>1?n:1)},l}(Ze);function Je(){var t=Ue,a=!1,l=1,n=1,o=[0],s=G,p=G,d=G,m=G,c=G;function h(r){return r.x0=r.y0=0,r.x1=l,r.y1=n,r.eachBefore(b),o=[0],a&&r.eachBefore(Xe),r}function b(r){var x=o[r.depth],S=r.x0+x,v=r.y0+x,u=r.x1-x,g=r.y1-x;u<S&&(S=u=(S+u)/2),g<v&&(v=g=(v+g)/2),r.x0=S,r.y0=v,r.x1=u,r.y1=g,r.children&&(x=o[r.depth+1]=s(r)/2,S+=c(r)-x,v+=p(r)-x,u-=d(r)-x,g-=m(r)-x,u<S&&(S=u=(S+u)/2),g<v&&(v=g=(v+g)/2),t(r,S,v,u,g))}return h.round=function(r){return arguments.length?(a=!!r,h):a},h.size=function(r){return arguments.length?(l=+r[0],n=+r[1],h):[l,n]},h.tile=function(r){return arguments.length?(t=qe(r),h):t},h.padding=function(r){return arguments.length?h.paddingInner(r).paddingOuter(r):h.paddingInner()},h.paddingInner=function(r){return arguments.length?(s=typeof r=="function"?r:q(+r),h):s},h.paddingOuter=function(r){return arguments.length?h.paddingTop(r).paddingRight(r).paddingBottom(r).paddingLeft(r):h.paddingTop()},h.paddingTop=function(r){return arguments.length?(p=typeof r=="function"?r:q(+r),h):p},h.paddingRight=function(r){return arguments.length?(d=typeof r=="function"?r:q(+r),h):d},h.paddingBottom=function(r){return arguments.length?(m=typeof r=="function"?r:q(+r),h):m},h.paddingLeft=function(r){return arguments.length?(c=typeof r=="function"?r:q(+r),h):c},h}var R,ne=(R=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=fe,this.getAccTitle=me,this.setDiagramTitle=ge,this.getDiagramTitle=ye,this.getAccDescription=Se,this.setAccDescription=ve}getNodes(){return this.nodes}getConfig(){const a=xe,l=ae();return te({...a.treemap,...l.treemap??{}})}addNode(a,l){this.nodes.push(a),this.levels.set(a,l),l===0&&(this.outerNodes.push(a),this.root??=a)}getRoot(){return{name:"",children:this.outerNodes}}addClass(a,l){const n=this.classes.get(a)??{id:a,styles:[],textStyles:[]},o=l.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");o&&o.forEach(s=>{be(s)&&(n?.textStyles?n.textStyles.push(s):n.textStyles=[s]),n?.styles?n.styles.push(s):n.styles=[s]}),this.classes.set(a,n)}getClasses(){return this.classes}getStylesForClass(a){return this.classes.get(a)?.styles??[]}clear(){we(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},w(R,"TreeMapDB"),R);function le(t){if(!t.length)return[];const a=[],l=[];return t.forEach(n=>{const o={name:n.name,children:n.type==="Leaf"?void 0:[]};for(o.classSelector=n?.classSelector,n?.cssCompiledStyles&&(o.cssCompiledStyles=[n.cssCompiledStyles]),n.type==="Leaf"&&n.value!==void 0&&(o.value=n.value);l.length>0&&l[l.length-1].level>=n.level;)l.pop();if(l.length===0)a.push(o);else{const s=l[l.length-1].node;s.children?s.children.push(o):s.children=[o]}n.type!=="Leaf"&&l.push({node:o,level:n.level})}),a}w(le,"buildHierarchy");var Qe=w((t,a)=>{Ce(t,a);const l=[];for(const s of t.TreemapRows??[])s.$type==="ClassDefStatement"&&a.addClass(s.className??"",s.styleText??"");for(const s of t.TreemapRows??[]){const p=s.item;if(!p)continue;const d=s.indent?parseInt(s.indent):0,m=et(p),c=p.classSelector?a.getStylesForClass(p.classSelector):[],h=c.length>0?c.join(";"):void 0,b={level:d,name:m,type:p.$type,value:p.value,classSelector:p.classSelector,cssCompiledStyles:h};l.push(b)}const n=le(l),o=w((s,p)=>{for(const d of s)a.addNode(d,p),d.children&&d.children.length>0&&o(d.children,p+1)},"addNodesRecursively");o(n,0)},"populate"),et=w(t=>t.name?String(t.name):"","getItemName"),re={parser:{yy:void 0},parse:w(async t=>{try{const l=await Te("treemap",t);J.debug("Treemap AST:",l);const n=re.parser?.yy;if(!(n instanceof ne))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Qe(l,n)}catch(a){throw J.error("Error parsing treemap:",a),a}},"parse")},tt=10,B=10,X=25,at=w((t,a,l,n)=>{const o=n.db,s=o.getConfig(),p=s.padding??tt,d=o.getDiagramTitle(),m=o.getRoot(),{themeVariables:c}=ae();if(!m)return;const h=d?30:0,b=he(a),r=s.nodeWidth?s.nodeWidth*B:960,x=s.nodeHeight?s.nodeHeight*B:500,S=r,v=x+h;b.attr("viewBox",`0 0 ${S} ${v}`),ue(b,v,S,s.useMaxWidth);let u;try{const e=s.valueFormat||",";if(e==="$0,0")u=w(i=>"$"+O(",")(i),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const i=/\.\d+/.exec(e),f=i?i[0]:"";u=w(C=>"$"+O(","+f)(C),"valueFormat")}else if(e.startsWith("$")){const i=e.substring(1);u=w(f=>"$"+O(i||"")(f),"valueFormat")}else u=O(e)}catch(e){J.error("Error creating format function:",e),u=O(",")}const g=U().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),N=U().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),k=U().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);d&&b.append("text").attr("x",S/2).attr("y",h/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(d);const V=b.append("g").attr("transform",`translate(0, ${h})`).attr("class","treemapContainer"),E=Q(m).sum(e=>e.value??0).sort((e,i)=>(i.value??0)-(e.value??0)),ee=Je().size([r,x]).paddingTop(e=>e.children&&e.children.length>0?X+B:0).paddingInner(p).paddingLeft(e=>e.children&&e.children.length>0?B:0).paddingRight(e=>e.children&&e.children.length>0?B:0).paddingBottom(e=>e.children&&e.children.length>0?B:0).round(!0)(E),se=ee.descendants().filter(e=>e.children&&e.children.length>0),W=V.selectAll(".treemapSection").data(se).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",X).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),W.append("clipPath").attr("id",(e,i)=>`clip-section-${a}-${i}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",X),W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,i)=>`treemapSection section${i}`).attr("fill",e=>g(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>N(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const i=P({cssCompiledStyles:e.data.cssCompiledStyles});return i.nodeStyles+";"+i.borderStyles.join(";")}),W.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",X/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("style",e=>{if(e.depth===0)return"display: none;";const i="dominant-baseline: middle; font-size: 12px; fill:"+k(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const i=j(this),f=e.data.name;i.text(f);const C=e.x1-e.x0,L=6;let $;s.showValues!==!1&&e.value?$=C-10-30-10-L:$=C-L-6;const A=Math.max(15,$),y=i.node();if(y.getComputedTextLength()>A){let T=f;for(;T.length>0;){if(T=f.substring(0,T.length-1),T.length===0){i.text("..."),y.getComputedTextLength()>A&&i.text("");break}if(i.text(T+"..."),y.getComputedTextLength()<=A)break}}}),s.showValues!==!1&&W.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",X/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?u(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const i="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+k(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")});const ie=ee.leaves(),Y=V.selectAll(".treemapLeafGroup").data(ie).enter().append("g").attr("class",(e,i)=>`treemapNode treemapLeafGroup leaf${i}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);Y.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?g(e.parent.data.name):g(e.data.name)).attr("style",e=>P({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?g(e.parent.data.name):g(e.data.name)).attr("stroke-width",3),Y.append("clipPath").attr("id",(e,i)=>`clip-${a}-${i}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),Y.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const i="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+k(e.data.name)+";",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return i+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,i)=>`url(#clip-${a}-${i})`).text(e=>e.data.name).each(function(e){const i=j(this),f=e.x1-e.x0,C=e.y1-e.y0,L=i.node(),$=4,D=f-2*$,A=C-2*$;if(D<10||A<10){i.style("display","none");return}let y=parseInt(i.style("font-size"),10);const _=8,F=28,T=.6,z=6,H=2;for(;L.getComputedTextLength()>D&&y>_;)y--,i.style("font-size",`${y}px`);let I=Math.max(z,Math.min(F,Math.round(y*T))),K=y+H+I;for(;K>A&&y>_&&(y--,I=Math.max(z,Math.min(F,Math.round(y*T))),!(I<z&&y===_));)i.style("font-size",`${y}px`),K=y+H+I;i.style("font-size",`${y}px`),(L.getComputedTextLength()>D||y<_||A<y)&&i.style("display","none")}),s.showValues!==!1&&Y.append("text").attr("class","treemapValue").attr("x",i=>(i.x1-i.x0)/2).attr("y",function(i){return(i.y1-i.y0)/2}).attr("style",i=>{const f="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+k(i.data.name)+";",C=P({cssCompiledStyles:i.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(i,f)=>`url(#clip-${a}-${f})`).text(i=>i.value?u(i.value):"").each(function(i){const f=j(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=j(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const $=parseFloat(L.style("font-size")),D=28,A=.6,y=6,_=2,F=Math.max(y,Math.min(D,Math.round($*A)));f.style("font-size",`${F}px`);const z=(i.y1-i.y0)/2+$/2+_;f.attr("y",z);const H=i.x1-i.x0,ce=i.y1-i.y0-4,pe=H-8;f.node().getComputedTextLength()>pe||z+F>ce||F<y?f.style("display","none"):f.style("display",null)});const oe=s.diagramPadding??8;de(b,oe,"flowchart",s?.useMaxWidth||!1)},"draw"),nt=w(function(t,a){return a.db.getClasses()},"getClasses"),lt={draw:at,getClasses:nt},rt={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},st=w(({treemap:t}={})=>{const a=te(rt,t);return`
|
|
2
2
|
.treemapNode.section {
|
|
3
3
|
stroke: ${a.sectionStrokeColor};
|
|
4
4
|
stroke-width: ${a.sectionStrokeWidth};
|
|
@@ -22,4 +22,4 @@ import{s as de}from"./chunk-SKB7J2MH-CcNDMvqa.js";import{_ as w,F as te,G as ae,
|
|
|
22
22
|
font-size: ${a.titleFontSize};
|
|
23
23
|
}
|
|
24
24
|
`},"getStyles"),it=st,Pt={parser:re,get db(){return new ne},renderer:lt,styles:it};export{Pt as diagram};
|
|
25
|
-
//# sourceMappingURL=diagram-VMROVX33-
|
|
25
|
+
//# sourceMappingURL=diagram-VMROVX33-CQ7wnVJQ.js.map
|