excalidrop 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +62 -6
- package/dist/cli.js.map +1 -1
- package/dist/frontend/assets/{advancedFormat-13WcrIKs.js → advancedFormat-DE1yOycD.js} +1 -1
- package/dist/frontend/assets/{ar-SA-G6X2FPQ2-D8qDPMhv.js → ar-SA-G6X2FPQ2-QnaMc7JM.js} +1 -1
- package/dist/frontend/assets/{arc-B_uYwE6m.js → arc-Cg8U0Eq5.js} +1 -1
- package/dist/frontend/assets/{az-AZ-76LH7QW2-BVH7xgNf.js → az-AZ-76LH7QW2-BO9Hr9vy.js} +1 -1
- package/dist/frontend/assets/{bg-BG-XCXSNQG7-ByPUKhGL.js → bg-BG-XCXSNQG7-DsQdG8GQ.js} +1 -1
- package/dist/frontend/assets/{blockDiagram-38ab4fdb-CQvePe8Z.js → blockDiagram-38ab4fdb-Cfq7gTl5.js} +1 -1
- package/dist/frontend/assets/{blockDiagram-68f4deed-CwvcKSDG.js → blockDiagram-68f4deed-DKXvoBM4.js} +1 -1
- package/dist/frontend/assets/{bn-BD-2XOGV67Q-D4KqOeKh.js → bn-BD-2XOGV67Q-0GTwXdnx.js} +1 -1
- package/dist/frontend/assets/{c4Diagram-15b5d702-COmliiHE.js → c4Diagram-15b5d702-CzLwW3PM.js} +1 -1
- package/dist/frontend/assets/{c4Diagram-3d4e48cf-D7OkyBCG.js → c4Diagram-3d4e48cf-BtA5sIH_.js} +1 -1
- package/dist/frontend/assets/{ca-ES-6MX7JW3Y-CVSEc9Gr.js → ca-ES-6MX7JW3Y-D792TpuE.js} +1 -1
- package/dist/frontend/assets/channel-BiBGrGc2.js +1 -0
- package/dist/frontend/assets/{classDiagram-70f12bd4-CiR1mAxL.js → classDiagram-70f12bd4-CYlskbl7.js} +1 -1
- package/dist/frontend/assets/{classDiagram-d40c83e7-BOwtqvA-.js → classDiagram-d40c83e7-TFFAmI3n.js} +1 -1
- package/dist/frontend/assets/{classDiagram-v2-d5a6b087-CLfovOEZ.js → classDiagram-v2-d5a6b087-CuEs-vQM.js} +1 -1
- package/dist/frontend/assets/{classDiagram-v2-f2320105-BbgjahgF.js → classDiagram-v2-f2320105-CP2QUPIw.js} +1 -1
- package/dist/frontend/assets/clone-DP5GGGqv.js +1 -0
- package/dist/frontend/assets/{createText-2e5e7dd3-hFM4xCnY.js → createText-2e5e7dd3-B9buhJhz.js} +1 -1
- package/dist/frontend/assets/{createText-d213de94-BcC2siap.js → createText-d213de94-Dl7cGRq1.js} +1 -1
- package/dist/frontend/assets/{cs-CZ-2BRQDIVT-GLI3AmJq.js → cs-CZ-2BRQDIVT-BX_XTb-l.js} +1 -1
- package/dist/frontend/assets/{cytoscape-cose-bilkent-DIrtWvIC.js → cytoscape-cose-bilkent-bdLom2jo.js} +1 -1
- package/dist/frontend/assets/{da-DK-5WZEPLOC-BirYbTgL.js → da-DK-5WZEPLOC-Bfj3iC9L.js} +1 -1
- package/dist/frontend/assets/{de-DE-XR44H4JA-CpII26VX.js → de-DE-XR44H4JA-dlBwXmiG.js} +1 -1
- package/dist/frontend/assets/{edges-332bd1c7-CV1_ozEk.js → edges-332bd1c7-B1wvBqMI.js} +1 -1
- package/dist/frontend/assets/{edges-e0da2a9e-pqeZxZR9.js → edges-e0da2a9e-CdBHUaUf.js} +1 -1
- package/dist/frontend/assets/{el-GR-BZB4AONW-DFs7KhuG.js → el-GR-BZB4AONW-_x5lVXg8.js} +1 -1
- package/dist/frontend/assets/{elk.bundled-CK-SRvXT.js → elk.bundled-DtUPYeYN.js} +1 -1
- package/dist/frontend/assets/{erDiagram-880f2ed8-D8z0YP6a.js → erDiagram-880f2ed8-BsPsKkXE.js} +1 -1
- package/dist/frontend/assets/{erDiagram-9861fffd-5ZZvug0m.js → erDiagram-9861fffd-Bgpjn4d-.js} +1 -1
- package/dist/frontend/assets/{es-ES-U4NZUMDT-DKbN2UTU.js → es-ES-U4NZUMDT-CgmLkh9-.js} +1 -1
- package/dist/frontend/assets/{eu-ES-A7QVB2H4-7_Gn1vLd.js → eu-ES-A7QVB2H4-xmyjxW0n.js} +1 -1
- package/dist/frontend/assets/{fa-IR-HGAKTJCU-GYGVj_td.js → fa-IR-HGAKTJCU-BN1XqkA9.js} +1 -1
- package/dist/frontend/assets/{fi-FI-Z5N7JZ37-CSqOf1gy.js → fi-FI-Z5N7JZ37-DPGmsozE.js} +1 -1
- package/dist/frontend/assets/{flowDb-7c981674-hAdbykWR.js → flowDb-7c981674-D-Lz-ucy.js} +1 -1
- package/dist/frontend/assets/{flowDb-956e92f1-BT3sVrS_.js → flowDb-956e92f1-CGqQ4oJb.js} +1 -1
- package/dist/frontend/assets/{flowDiagram-66a62f08-BFbBUcUi.js → flowDiagram-66a62f08-yAsoSO4M.js} +1 -1
- package/dist/frontend/assets/{flowDiagram-cbd28bf7-D-6XLmjT.js → flowDiagram-cbd28bf7-Cv24oAFw.js} +1 -1
- package/dist/frontend/assets/flowDiagram-v2-96b9c2cf-DL-IsgmS.js +1 -0
- package/dist/frontend/assets/flowDiagram-v2-ffc7f31a-cm0Es-T3.js +1 -0
- package/dist/frontend/assets/{flowchart-elk-definition-36e2d292-9Nr5xJ91.js → flowchart-elk-definition-36e2d292-8RiRHcVG.js} +1 -1
- package/dist/frontend/assets/{flowchart-elk-definition-4a651766-Dh7uuQPf.js → flowchart-elk-definition-4a651766-Z37NlWB1.js} +1 -1
- package/dist/frontend/assets/{fr-FR-RHASNOE6-C_Z36lVW.js → fr-FR-RHASNOE6-daCFKfHs.js} +1 -1
- package/dist/frontend/assets/{ganttDiagram-04f9e578-DJ_dJIYA.js → ganttDiagram-04f9e578-BMq_3g8O.js} +1 -1
- package/dist/frontend/assets/{ganttDiagram-c361ad54-CQOWRFrH.js → ganttDiagram-c361ad54-D09Dl_OA.js} +1 -1
- package/dist/frontend/assets/{gitGraphDiagram-21fc4d3e-7pQNN07o.js → gitGraphDiagram-21fc4d3e-ffU3Oe9e.js} +1 -1
- package/dist/frontend/assets/{gitGraphDiagram-72cf32ee-BVi0ODi6.js → gitGraphDiagram-72cf32ee-B1qFZhLG.js} +1 -1
- package/dist/frontend/assets/{gl-ES-HMX3MZ6V-DV1iEV4R.js → gl-ES-HMX3MZ6V-Bi_ejBVO.js} +1 -1
- package/dist/frontend/assets/{graph-DPklf_4J.js → graph-Cld5o79d.js} +1 -1
- package/dist/frontend/assets/{graph-DZoF-TB0.js → graph-D0R7rXy3.js} +1 -1
- package/dist/frontend/assets/{he-IL-6SHJWFNN-qSfOYyrG.js → he-IL-6SHJWFNN-BxMAYMHO.js} +1 -1
- package/dist/frontend/assets/{hi-IN-IWLTKZ5I-CUUpX9FX.js → hi-IN-IWLTKZ5I-CEvdaxPD.js} +1 -1
- package/dist/frontend/assets/{hu-HU-A5ZG7DT2-jc9NuvMZ.js → hu-HU-A5ZG7DT2-DD25K3R6.js} +1 -1
- package/dist/frontend/assets/{id-ID-SAP4L64H-gAQX_ycs.js → id-ID-SAP4L64H-BbNSAn5U.js} +1 -1
- package/dist/frontend/assets/{index-DMNFnJz0.js → index-1WYcrLVJ.js} +4 -4
- package/dist/frontend/assets/{index-3862675e-DkeMPq9X.js → index-3862675e-B37xIMNY.js} +1 -1
- package/dist/frontend/assets/{index-6079d271-GJeDwDgK.js → index-6079d271-MI3jF-v5.js} +1 -1
- package/dist/frontend/assets/index-BQuFwudZ.js +349 -0
- package/dist/frontend/assets/{infoDiagram-4a4f5b27-D4VmHTt0.js → infoDiagram-4a4f5b27-Ct-SquLn.js} +1 -1
- package/dist/frontend/assets/{infoDiagram-f8f76790-CKGoMOTF.js → infoDiagram-f8f76790-DhHJqTvC.js} +1 -1
- package/dist/frontend/assets/{it-IT-JPQ66NNP-D8O8hsKi.js → it-IT-JPQ66NNP-DGCSNBVd.js} +1 -1
- package/dist/frontend/assets/{ja-JP-DBVTYXUO-CD5HWhjP.js → ja-JP-DBVTYXUO-BCiZKQS1.js} +1 -1
- package/dist/frontend/assets/{journeyDiagram-29694f62-Cj-S78w5.js → journeyDiagram-29694f62-JHRAdUlO.js} +1 -1
- package/dist/frontend/assets/{journeyDiagram-49397b02-Cs4WN5FP.js → journeyDiagram-49397b02-Cz3Xcr6V.js} +1 -1
- package/dist/frontend/assets/{kaa-6HZHGXH3-xebLrnfE.js → kaa-6HZHGXH3-BVSalYYt.js} +1 -1
- package/dist/frontend/assets/{kab-KAB-ZGHBKWFO-DvfjxFnt.js → kab-KAB-ZGHBKWFO-C9onfV-Y.js} +1 -1
- package/dist/frontend/assets/{kk-KZ-P5N5QNE5-BKr_G3W_.js → kk-KZ-P5N5QNE5-D7HmWmH6.js} +1 -1
- package/dist/frontend/assets/{km-KH-HSX4SM5Z-BC3jqWvk.js → km-KH-HSX4SM5Z--gSIK5hM.js} +1 -1
- package/dist/frontend/assets/{ko-KR-MTYHY66A-Dueq3BFJ.js → ko-KR-MTYHY66A-DX-ewFiI.js} +1 -1
- package/dist/frontend/assets/{ku-TR-6OUDTVRD-DOUVUhi3.js → ku-TR-6OUDTVRD-BzkN5jDn.js} +1 -1
- package/dist/frontend/assets/{layout-DNILJXpj.js → layout-Bg902Usv.js} +1 -1
- package/dist/frontend/assets/{layout-BC6d-Wwh.js → layout-DTqY_XPF.js} +1 -1
- package/dist/frontend/assets/{line-DHiJikCQ.js → line-CyQqGgtO.js} +1 -1
- package/dist/frontend/assets/{linear-CEqgKjcC.js → linear-Bs8n8jyN.js} +1 -1
- package/dist/frontend/assets/{lt-LT-XHIRWOB4-b-v2D9bi.js → lt-LT-XHIRWOB4-DYMQN62-.js} +1 -1
- package/dist/frontend/assets/{lv-LV-5QDEKY6T-DeSmLJYT.js → lv-LV-5QDEKY6T-Ba6KAHxv.js} +1 -1
- package/dist/frontend/assets/{mindmap-definition-ac74a2e8-CU4tLzl8.js → mindmap-definition-ac74a2e8-CFIgjLLb.js} +1 -1
- package/dist/frontend/assets/{mindmap-definition-fc14e90a-cr8cL-H3.js → mindmap-definition-fc14e90a-BrE0Pj3C.js} +1 -1
- package/dist/frontend/assets/{mr-IN-CRQNXWMA-CEN0CMR0.js → mr-IN-CRQNXWMA-CopS0bND.js} +1 -1
- package/dist/frontend/assets/{my-MM-5M5IBNSE-Bri-YGoK.js → my-MM-5M5IBNSE-CBjLWYW5.js} +1 -1
- package/dist/frontend/assets/{nb-NO-T6EIAALU-47lldcE5.js → nb-NO-T6EIAALU-CfqYpnNU.js} +1 -1
- package/dist/frontend/assets/{nl-NL-IS3SIHDZ-C4cm6lD2.js → nl-NL-IS3SIHDZ-CQao565c.js} +1 -1
- package/dist/frontend/assets/{nn-NO-6E72VCQL-pb1Jxyuz.js → nn-NO-6E72VCQL-BfcDB6Nm.js} +1 -1
- package/dist/frontend/assets/{oc-FR-POXYY2M6-tuCngTrJ.js → oc-FR-POXYY2M6-CBEuTLTI.js} +1 -1
- package/dist/frontend/assets/{pa-IN-N4M65BXN-Cosawm6d.js → pa-IN-N4M65BXN-CIRvxv_4.js} +1 -1
- package/dist/frontend/assets/{pica-Cqow9aeR.js → pica-n9a5bdBf.js} +1 -1
- package/dist/frontend/assets/{pie-C78Yrqjh.js → pie-Bw6jHLyi.js} +1 -1
- package/dist/frontend/assets/{pieDiagram-421022e6-AfZ8Wmiu.js → pieDiagram-421022e6-Bq7587Ql.js} +1 -1
- package/dist/frontend/assets/{pieDiagram-8a3498a8-Sb4RWl24.js → pieDiagram-8a3498a8-Cs30mQ4p.js} +1 -1
- package/dist/frontend/assets/{pl-PL-T2D74RX3-Chumgtd8.js → pl-PL-T2D74RX3-DtyedWZX.js} +1 -1
- package/dist/frontend/assets/{pt-BR-5N22H2LF-Y6yMB05f.js → pt-BR-5N22H2LF-DN1KIZAy.js} +1 -1
- package/dist/frontend/assets/{pt-PT-UZXXM6DQ-2XNNwJUO.js → pt-PT-UZXXM6DQ-BabgX2Go.js} +1 -1
- package/dist/frontend/assets/{quadrantDiagram-0957ecba-aT6ajsQz.js → quadrantDiagram-0957ecba-r08S29Gl.js} +1 -1
- package/dist/frontend/assets/{quadrantDiagram-120e2f19-DA8xtpNX.js → quadrantDiagram-120e2f19-Cr2SCg_P.js} +1 -1
- package/dist/frontend/assets/{relay-CO0fAEJb.js → relay-BgjIEMqw.js} +2 -2
- package/dist/frontend/assets/{requirementDiagram-23d650b8-BZtxzO7K.js → requirementDiagram-23d650b8-DWSUlPnt.js} +1 -1
- package/dist/frontend/assets/{requirementDiagram-deff3bca-CQYENSbT.js → requirementDiagram-deff3bca-D-4X-NA5.js} +1 -1
- package/dist/frontend/assets/{ro-RO-JPDTUUEW-BfolbfPU.js → ro-RO-JPDTUUEW-BTtFaTbo.js} +1 -1
- package/dist/frontend/assets/{ru-RU-B4JR7IUQ-BNWrm2pe.js → ru-RU-B4JR7IUQ-Cx7p9fCi.js} +1 -1
- package/dist/frontend/assets/{sankeyDiagram-04a897e0-D0OJOdMM.js → sankeyDiagram-04a897e0-b2SeMYG6.js} +1 -1
- package/dist/frontend/assets/{sankeyDiagram-23345273-DJYXL1_D.js → sankeyDiagram-23345273-DLciAh1g.js} +1 -1
- package/dist/frontend/assets/{selectAll-DOPd5EPW.js → selectAll-3cbo0gSx.js} +1 -1
- package/dist/frontend/assets/{sequenceDiagram-17ac3bff-DHJQ2Zdp.js → sequenceDiagram-17ac3bff-D4C97IMR.js} +1 -1
- package/dist/frontend/assets/{sequenceDiagram-704730f1-B013vXOZ.js → sequenceDiagram-704730f1-CsIwqj61.js} +1 -1
- package/dist/frontend/assets/{si-LK-N5RQ5JYF-D32y43Nh.js → si-LK-N5RQ5JYF-DRbkL9Bw.js} +1 -1
- package/dist/frontend/assets/{sk-SK-C5VTKIMK-ORKN2f5z.js → sk-SK-C5VTKIMK-b8KPqW9j.js} +1 -1
- package/dist/frontend/assets/{sl-SI-NN7IZMDC-orl2CefP.js → sl-SI-NN7IZMDC-DAgg3HEv.js} +1 -1
- package/dist/frontend/assets/{stateDiagram-587899a1-Bq1RJXU-.js → stateDiagram-587899a1-BrL0AJ2m.js} +1 -1
- package/dist/frontend/assets/{stateDiagram-9c5f0230-fS9zifGF.js → stateDiagram-9c5f0230-znRpiySU.js} +1 -1
- package/dist/frontend/assets/{stateDiagram-v2-51a3dcff-CBvwJ0uj.js → stateDiagram-v2-51a3dcff-Cm0gu2aT.js} +1 -1
- package/dist/frontend/assets/{stateDiagram-v2-d93cdb3a-BtvnfP6y.js → stateDiagram-v2-d93cdb3a-D1v21-Eu.js} +1 -1
- package/dist/frontend/assets/{styles-2ab5d517-CD2K6uvC.js → styles-2ab5d517-DegF9FpK.js} +1 -1
- package/dist/frontend/assets/{styles-5f03d8d2-BGwVkv5B.js → styles-5f03d8d2-rJg_uZ1y.js} +1 -1
- package/dist/frontend/assets/{styles-6aaf32cf-Cp8Xm4ia.js → styles-6aaf32cf-DZ1tE453.js} +1 -1
- package/dist/frontend/assets/{styles-9a916d00-BFniIAZ5.js → styles-9a916d00-8MQRBV5u.js} +1 -1
- package/dist/frontend/assets/{styles-c10674c1-CsoDZQ7K.js → styles-c10674c1-CoYU8Hxx.js} +1 -1
- package/dist/frontend/assets/{styles-edf9a4b0-CiM579LN.js → styles-edf9a4b0--FFAlqXa.js} +1 -1
- package/dist/frontend/assets/subset-shared.chunk.js +1 -1
- package/dist/frontend/assets/subset-worker.chunk.js +1 -1
- package/dist/frontend/assets/{sv-SE-XGPEYMSR-DHbvQRGF.js → sv-SE-XGPEYMSR-BupEJvWR.js} +1 -1
- package/dist/frontend/assets/{svgDrawCommon-08f97a94-BjVpQLSR.js → svgDrawCommon-08f97a94-CTj31sRY.js} +1 -1
- package/dist/frontend/assets/{svgDrawCommon-3ba9043b-DjE4ZK0L.js → svgDrawCommon-3ba9043b-BZHRpxTv.js} +1 -1
- package/dist/frontend/assets/{ta-IN-2NMHFXQM-Ca1t_Ko2.js → ta-IN-2NMHFXQM-DTr9GIu-.js} +1 -1
- package/dist/frontend/assets/{th-TH-HPSO5L25-2L4nZMR3.js → th-TH-HPSO5L25-BDPsaOgQ.js} +1 -1
- package/dist/frontend/assets/{timeline-definition-7e6b55e7-BFW1xuIt.js → timeline-definition-7e6b55e7-DYpxvJMC.js} +1 -1
- package/dist/frontend/assets/{timeline-definition-85554ec2-Bjtl-I1R.js → timeline-definition-85554ec2-qV8Ig3TX.js} +1 -1
- package/dist/frontend/assets/{tr-TR-DEFEU3FU-DTNddWux.js → tr-TR-DEFEU3FU-Cgh12nEY.js} +1 -1
- package/dist/frontend/assets/{uk-UA-QMV73CPH-L17E1Z9m.js → uk-UA-QMV73CPH-DsPGU0Dc.js} +1 -1
- package/dist/frontend/assets/{union-BOPJv_NW.js → union-BNBs5eWq.js} +1 -1
- package/dist/frontend/assets/{vi-VN-M7AON7JQ-B2rkMBha.js → vi-VN-M7AON7JQ-DCP17qnJ.js} +1 -1
- package/dist/frontend/assets/{xychartDiagram-b6496bcd-zkCAiikr.js → xychartDiagram-b6496bcd-BlZqZpsh.js} +1 -1
- package/dist/frontend/assets/{xychartDiagram-e933f94c-DgmjX1Cq.js → xychartDiagram-e933f94c-j14yGvbF.js} +1 -1
- package/dist/frontend/assets/{zh-CN-LNUGB5OW-C3MR_Iw2.js → zh-CN-LNUGB5OW-DtwvmVxH.js} +1 -1
- package/dist/frontend/assets/{zh-HK-E62DVLB3-Bp3C_l-n.js → zh-HK-E62DVLB3-ChF_vupN.js} +1 -1
- package/dist/frontend/assets/{zh-TW-RAJ6MFWO-DiA5M5RC.js → zh-TW-RAJ6MFWO-CU8L3VT-.js} +1 -1
- package/dist/frontend/assets/{zipObject-BXMcibol.js → zipObject-BENW7yI5.js} +1 -1
- package/dist/frontend/index.html +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +30 -4
- package/dist/mcp.js.map +1 -1
- package/package.json +2 -1
- package/worker/README.md +69 -0
- package/worker/src/index.js +170 -0
- package/worker/src/mcp.js +594 -0
- package/worker/src/relay.js +130 -0
- package/worker/wrangler.toml +20 -0
- package/dist/frontend/assets/channel-FdQr2Y2u.js +0 -1
- package/dist/frontend/assets/clone-Bww_2hMC.js +0 -1
- package/dist/frontend/assets/flowDiagram-v2-96b9c2cf-BrPX1C0T.js +0 -1
- package/dist/frontend/assets/flowDiagram-v2-ffc7f31a-DcmJmCpH.js +0 -1
- package/dist/frontend/assets/index-DPE4WCka.js +0 -349
|
@@ -1 +1 @@
|
|
|
1
|
-
import{G as A}from"./graph-DPklf_4J.js";import{l as H}from"./layout-BC6d-Wwh.js";import{i as N}from"./union-BOPJv_NW.js";import{c as V}from"./clone-Bww_2hMC.js";import{m as $}from"./zipObject-BXMcibol.js";import{i as U,u as W,s as _,a as q,b as z,f as D,e as O,d as K,p as Q,h as B,j as J,k as Y,m as Z}from"./edges-332bd1c7-CV1_ozEk.js";import{l as s,g as T,G as S,e as L}from"./index-DPE4WCka.js";import{c as I}from"./createText-d213de94-BcC2siap.js";function y(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:tt(e),edges:et(e)};return N(e.graph())||(t.value=V(e.graph())),t}function tt(e){return $(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),i={v:t};return N(n)||(i.value=n),N(r)||(i.parent=r),i})}function et(e){return $(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return N(t.name)||(r.name=t.name),N(n)||(r.value=n),r})}let l={},g={},R={};const nt=()=>{g={},R={},l={}},p=(e,t)=>(s.trace("In isDescendant",t," ",e," = ",g[t].includes(e)),!!g[t].includes(e)),it=(e,t)=>(s.info("Descendants of ",t," is ",g[t]),s.info("Edge is ",e),e.v===t||e.w===t?!1:g[t]?g[t].includes(e.v)||p(e.v,t)||p(e.w,t)||g[t].includes(e.w):(s.debug("Tilt, ",t,",not in descendants"),!1)),P=(e,t,n,r)=>{s.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const i=t.children(e)||[];e!==r&&i.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)P(a,t,n,r);else{const d=t.node(a);s.info("cp ",a," to ",r," with parent ",e),n.setNode(a,d),r!==t.parent(a)&&(s.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(s.debug("Setting parent",a,e),n.setParent(a,e)):(s.info("In copy ",e,"root",r,"data",t.node(e),r),s.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));const u=t.edges(a);s.debug("Copying Edges",u),u.forEach(f=>{s.info("Edge",f);const h=t.edge(f.v,f.w,f.name);s.info("Edge data",h,r);try{it(f,r)?(s.info("Copying as ",f.v,f.w,h,f.name),n.setEdge(f.v,f.w,h,f.name),s.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.info("Skipping copy of edge ",f.v,"-->",f.w," rootId: ",r," clusterId:",e)}catch(w){s.error(w)}})}s.debug("Removing node",a),t.removeNode(a)})},k=(e,t)=>{const n=t.children(e);let r=[...n];for(const i of n)R[i]=e,r=[...r,...k(i,t)];return r},C=(e,t)=>{s.trace("Searching",e);const n=t.children(e);if(s.trace("Searching children of id ",e,n),n.length<1)return s.trace("This is a valid node",e),e;for(const r of n){const i=C(r,t);if(i)return s.trace("Found replacement for",e," => ",i),i}},X=e=>!l[e]||!l[e].externalConnections?e:l[e]?l[e].id:e,st=(e,t)=>{if(!e||t>10){s.debug("Opting out, no graph ");return}else s.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),g[n]=k(n,e),l[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),i=e.edges();r.length>0?(s.debug("Cluster identified",n,g),i.forEach(a=>{if(a.v!==n&&a.w!==n){const d=p(a.v,n),u=p(a.w,n);d^u&&(s.warn("Edge: ",a," leaves cluster ",n),s.warn("Descendants of XXX ",n,": ",g[n]),l[n].externalConnections=!0)}})):s.debug("Not a cluster ",n,g)});for(let n of Object.keys(l)){const r=l[n].id,i=e.parent(r);i!==n&&l[i]&&!l[i].externalConnections&&(l[n].id=i)}e.edges().forEach(function(n){const r=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(s.warn("Fix XXX",l,"ids:",n.v,n.w,"Translating: ",l[n.v]," --- ",l[n.w]),l[n.v]&&l[n.w]&&l[n.v]===l[n.w]){s.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name);const d=n.w+"---"+n.v;e.setNode(d,{domId:d,id:d,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const u=structuredClone(r),f=structuredClone(r);u.label="",u.arrowTypeEnd="none",f.label="",u.fromCluster=n.v,f.toCluster=n.v,e.setEdge(i,d,u,n.name+"-cyclic-special"),e.setEdge(d,a,f,n.name+"-cyclic-special")}else if(l[n.v]||l[n.w]){if(s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){const d=e.parent(i);l[d].externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){const d=e.parent(a);l[d].externalConnections=!0,r.toCluster=n.w}s.warn("Fix Replacing with XXX",i,a,n.name),e.setEdge(i,a,r,n.name)}}),s.warn("Adjusted Graph",y(e)),G(e,0),s.trace(l)},G=(e,t)=>{if(s.warn("extractor - ",t,y(e),e.children("D")),t>10){s.error("Bailing out");return}let n=e.nodes(),r=!1;for(const i of n){const a=e.children(i);r=r||a.length>0}if(!r){s.debug("Done, no node has children",e.nodes());return}s.debug("Nodes = ",n,t);for(const i of n)if(s.debug("Extracting node",i,l,l[i]&&!l[i].externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!l[i])s.debug("Not a cluster",i,t);else if(!l[i].externalConnections&&e.children(i)&&e.children(i).length>0){s.warn("Cluster without external connections, without a parent and with children",i,t);let d=e.graph().rankdir==="TB"?"LR":"TB";l[i]&&l[i].clusterData&&l[i].clusterData.dir&&(d=l[i].clusterData.dir,s.warn("Fixing dir",l[i].clusterData.dir,d));const u=new A({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",y(e)),P(i,e,u,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:l[i].clusterData,labelText:l[i].labelText,graph:u}),s.warn("New graph after copy node: (",i,")",y(u)),s.debug("Old graph after copy",y(e))}else s.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!l[i].externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),s.debug(l);n=e.nodes(),s.warn("New list of nodes",n);for(const i of n){const a=e.node(i);s.warn(" Now next level",i,a),a.clusterNode&&G(a.graph,t+1)}},F=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const i=e.children(r),a=F(e,i);n=[...n,...a]}),n},rt=e=>F(e,e.children()),at=(e,t)=>{s.info("Creating subgraph rect for ",t.id,t);const n=T(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=r.insert("rect",":first-child"),a=S(n.flowchart.htmlLabels),d=r.insert("g").attr("class","cluster-label"),u=t.labelType==="markdown"?I(d,t.labelText,{style:t.labelStyle,useHtmlLabels:a}):d.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}const h=0*t.padding,w=h/2,m=t.width<=f.width+h?f.width+h:t.width;t.width<=f.width+h?t.diff=(f.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,s.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-m/2).attr("y",t.y-t.height/2-w).attr("width",m).attr("height",t.height+h);const{subGraphTitleTopMargin:v}=D(n);a?d.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2+v})`):d.attr("transform",`translate(${t.x}, ${t.y-t.height/2+v})`);const x=i.node().getBBox();return t.width=x.width,t.height=x.height,t.intersect=function(c){return B(t,c)},r},ct=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.intersect=function(u){return B(t,u)},n},ot=(e,t)=>{const n=T(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),i=r.insert("rect",":first-child"),a=r.insert("g").attr("class","cluster-label"),d=r.append("rect"),u=a.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}f=u.getBBox();const h=0*t.padding,w=h/2,m=t.width<=f.width+t.padding?f.width+t.padding:t.width;t.width<=f.width+t.padding?t.diff=(f.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-m/2-w).attr("y",t.y-t.height/2-w).attr("width",m+h).attr("height",t.height+h),d.attr("class","inner").attr("x",t.x-m/2-w).attr("y",t.y-t.height/2-w+f.height-1).attr("width",m+h).attr("height",t.height+h-f.height-3);const{subGraphTitleTopMargin:v}=D(n);a.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2-t.padding/3+(S(n.flowchart.htmlLabels)?5:3)+v})`);const x=i.node().getBBox();return t.height=x.height,t.intersect=function(c){return B(t,c)},r},lt=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.diff=-t.padding/2,t.intersect=function(u){return B(t,u)},n},ft={rect:at,roundedWithTitle:ot,noteGroup:ct,divider:lt};let j={};const dt=(e,t)=>{s.trace("Inserting cluster");const n=t.shape||"rect";j[t.id]=ft[n](e,t)},ut=()=>{j={}},M=async(e,t,n,r,i,a)=>{s.info("Graph in recursive render: XXX",y(t),i);const d=t.graph().rankdir;s.trace("Dir in recursive render - dir:",d);const u=e.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.trace("Recursive edges",t.edge(t.edges()[0]));const f=u.insert("g").attr("class","clusters"),h=u.insert("g").attr("class","edgePaths"),w=u.insert("g").attr("class","edgeLabels"),m=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(c){const o=t.node(c);if(i!==void 0){const b=JSON.parse(JSON.stringify(i.clusterData));s.info("Setting data for cluster XXX (",c,") ",b,i),t.setNode(i.id,b),t.parent(c)||(s.trace("Setting parent",c,i.id),t.setParent(c,i.id,b))}if(s.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){s.info("Cluster identified",c,o.width,t.node(c));const b=await M(m,o.graph,n,r,t.node(c),a),E=b.elem;W(o,E),o.diff=b.diff||0,s.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),_(E,o),s.warn("Recursive render complete ",E,o)}else t.children(c).length>0?(s.info("Cluster - the non recursive path XXX",c,o.id,o,t),s.info(C(o.id,t)),l[o.id]={id:C(o.id,t),node:o}):(s.info("Node - the non recursive path",c,o.id,o),await q(m,t.node(c),d))})),t.edges().forEach(function(c){const o=t.edge(c.v,c.w,c.name);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),s.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),s.info("Fix",l,"ids:",c.v,c.w,"Translating: ",l[c.v],l[c.w]),z(w,o)}),t.edges().forEach(function(c){s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),s.info("#############################################"),s.info("### Layout ###"),s.info("#############################################"),s.info(t),H(t),s.info("Graph after layout:",y(t));let v=0;const{subGraphTitleTotalMargin:x}=D(a);return rt(t).forEach(function(c){const o=t.node(c);s.info("Position "+c+": "+JSON.stringify(t.node(c))),s.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?(o.y+=x,O(o)):t.children(c).length>0?(o.height+=x,dt(f,o),l[o.id].node=o):(o.y+=x/2,O(o))}),t.edges().forEach(function(c){const o=t.edge(c);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o),o.points.forEach(E=>E.y+=x/2);const b=K(h,c,o,l,n,t,r);Q(o,b)}),t.nodes().forEach(function(c){const o=t.node(c);s.info(c,o.type,o.diff),o.type==="group"&&(v=o.diff)}),{elem:u,diff:v}},Et=async(e,t,n,r,i)=>{U(e,n,r,i),Y(),Z(),ut(),nt(),s.warn("Graph at first:",JSON.stringify(y(t))),st(t),s.warn("Graph after:",JSON.stringify(y(t)));const a=T();await M(e,t,r,i,void 0,a)};export{Et as r};
|
|
1
|
+
import{G as A}from"./graph-Cld5o79d.js";import{l as H}from"./layout-Bg902Usv.js";import{i as N}from"./union-BNBs5eWq.js";import{c as V}from"./clone-DP5GGGqv.js";import{m as $}from"./zipObject-BENW7yI5.js";import{i as U,u as W,s as _,a as q,b as z,f as D,e as O,d as K,p as Q,h as B,j as J,k as Y,m as Z}from"./edges-332bd1c7-B1wvBqMI.js";import{l as s,g as T,G as S,e as L}from"./index-BQuFwudZ.js";import{c as I}from"./createText-d213de94-Dl7cGRq1.js";function y(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:tt(e),edges:et(e)};return N(e.graph())||(t.value=V(e.graph())),t}function tt(e){return $(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),i={v:t};return N(n)||(i.value=n),N(r)||(i.parent=r),i})}function et(e){return $(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return N(t.name)||(r.name=t.name),N(n)||(r.value=n),r})}let l={},g={},R={};const nt=()=>{g={},R={},l={}},p=(e,t)=>(s.trace("In isDescendant",t," ",e," = ",g[t].includes(e)),!!g[t].includes(e)),it=(e,t)=>(s.info("Descendants of ",t," is ",g[t]),s.info("Edge is ",e),e.v===t||e.w===t?!1:g[t]?g[t].includes(e.v)||p(e.v,t)||p(e.w,t)||g[t].includes(e.w):(s.debug("Tilt, ",t,",not in descendants"),!1)),P=(e,t,n,r)=>{s.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const i=t.children(e)||[];e!==r&&i.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)P(a,t,n,r);else{const d=t.node(a);s.info("cp ",a," to ",r," with parent ",e),n.setNode(a,d),r!==t.parent(a)&&(s.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(s.debug("Setting parent",a,e),n.setParent(a,e)):(s.info("In copy ",e,"root",r,"data",t.node(e),r),s.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));const u=t.edges(a);s.debug("Copying Edges",u),u.forEach(f=>{s.info("Edge",f);const h=t.edge(f.v,f.w,f.name);s.info("Edge data",h,r);try{it(f,r)?(s.info("Copying as ",f.v,f.w,h,f.name),n.setEdge(f.v,f.w,h,f.name),s.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.info("Skipping copy of edge ",f.v,"-->",f.w," rootId: ",r," clusterId:",e)}catch(w){s.error(w)}})}s.debug("Removing node",a),t.removeNode(a)})},k=(e,t)=>{const n=t.children(e);let r=[...n];for(const i of n)R[i]=e,r=[...r,...k(i,t)];return r},C=(e,t)=>{s.trace("Searching",e);const n=t.children(e);if(s.trace("Searching children of id ",e,n),n.length<1)return s.trace("This is a valid node",e),e;for(const r of n){const i=C(r,t);if(i)return s.trace("Found replacement for",e," => ",i),i}},X=e=>!l[e]||!l[e].externalConnections?e:l[e]?l[e].id:e,st=(e,t)=>{if(!e||t>10){s.debug("Opting out, no graph ");return}else s.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),g[n]=k(n,e),l[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),i=e.edges();r.length>0?(s.debug("Cluster identified",n,g),i.forEach(a=>{if(a.v!==n&&a.w!==n){const d=p(a.v,n),u=p(a.w,n);d^u&&(s.warn("Edge: ",a," leaves cluster ",n),s.warn("Descendants of XXX ",n,": ",g[n]),l[n].externalConnections=!0)}})):s.debug("Not a cluster ",n,g)});for(let n of Object.keys(l)){const r=l[n].id,i=e.parent(r);i!==n&&l[i]&&!l[i].externalConnections&&(l[n].id=i)}e.edges().forEach(function(n){const r=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(s.warn("Fix XXX",l,"ids:",n.v,n.w,"Translating: ",l[n.v]," --- ",l[n.w]),l[n.v]&&l[n.w]&&l[n.v]===l[n.w]){s.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name);const d=n.w+"---"+n.v;e.setNode(d,{domId:d,id:d,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const u=structuredClone(r),f=structuredClone(r);u.label="",u.arrowTypeEnd="none",f.label="",u.fromCluster=n.v,f.toCluster=n.v,e.setEdge(i,d,u,n.name+"-cyclic-special"),e.setEdge(d,a,f,n.name+"-cyclic-special")}else if(l[n.v]||l[n.w]){if(s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){const d=e.parent(i);l[d].externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){const d=e.parent(a);l[d].externalConnections=!0,r.toCluster=n.w}s.warn("Fix Replacing with XXX",i,a,n.name),e.setEdge(i,a,r,n.name)}}),s.warn("Adjusted Graph",y(e)),G(e,0),s.trace(l)},G=(e,t)=>{if(s.warn("extractor - ",t,y(e),e.children("D")),t>10){s.error("Bailing out");return}let n=e.nodes(),r=!1;for(const i of n){const a=e.children(i);r=r||a.length>0}if(!r){s.debug("Done, no node has children",e.nodes());return}s.debug("Nodes = ",n,t);for(const i of n)if(s.debug("Extracting node",i,l,l[i]&&!l[i].externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!l[i])s.debug("Not a cluster",i,t);else if(!l[i].externalConnections&&e.children(i)&&e.children(i).length>0){s.warn("Cluster without external connections, without a parent and with children",i,t);let d=e.graph().rankdir==="TB"?"LR":"TB";l[i]&&l[i].clusterData&&l[i].clusterData.dir&&(d=l[i].clusterData.dir,s.warn("Fixing dir",l[i].clusterData.dir,d));const u=new A({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",y(e)),P(i,e,u,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:l[i].clusterData,labelText:l[i].labelText,graph:u}),s.warn("New graph after copy node: (",i,")",y(u)),s.debug("Old graph after copy",y(e))}else s.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!l[i].externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),s.debug(l);n=e.nodes(),s.warn("New list of nodes",n);for(const i of n){const a=e.node(i);s.warn(" Now next level",i,a),a.clusterNode&&G(a.graph,t+1)}},F=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const i=e.children(r),a=F(e,i);n=[...n,...a]}),n},rt=e=>F(e,e.children()),at=(e,t)=>{s.info("Creating subgraph rect for ",t.id,t);const n=T(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=r.insert("rect",":first-child"),a=S(n.flowchart.htmlLabels),d=r.insert("g").attr("class","cluster-label"),u=t.labelType==="markdown"?I(d,t.labelText,{style:t.labelStyle,useHtmlLabels:a}):d.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}const h=0*t.padding,w=h/2,m=t.width<=f.width+h?f.width+h:t.width;t.width<=f.width+h?t.diff=(f.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,s.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-m/2).attr("y",t.y-t.height/2-w).attr("width",m).attr("height",t.height+h);const{subGraphTitleTopMargin:v}=D(n);a?d.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2+v})`):d.attr("transform",`translate(${t.x}, ${t.y-t.height/2+v})`);const x=i.node().getBBox();return t.width=x.width,t.height=x.height,t.intersect=function(c){return B(t,c)},r},ct=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.intersect=function(u){return B(t,u)},n},ot=(e,t)=>{const n=T(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),i=r.insert("rect",":first-child"),a=r.insert("g").attr("class","cluster-label"),d=r.append("rect"),u=a.node().appendChild(J(t.labelText,t.labelStyle,void 0,!0));let f=u.getBBox();if(S(n.flowchart.htmlLabels)){const c=u.children[0],o=L(u);f=c.getBoundingClientRect(),o.attr("width",f.width),o.attr("height",f.height)}f=u.getBBox();const h=0*t.padding,w=h/2,m=t.width<=f.width+t.padding?f.width+t.padding:t.width;t.width<=f.width+t.padding?t.diff=(f.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-m/2-w).attr("y",t.y-t.height/2-w).attr("width",m+h).attr("height",t.height+h),d.attr("class","inner").attr("x",t.x-m/2-w).attr("y",t.y-t.height/2-w+f.height-1).attr("width",m+h).attr("height",t.height+h-f.height-3);const{subGraphTitleTopMargin:v}=D(n);a.attr("transform",`translate(${t.x-f.width/2}, ${t.y-t.height/2-t.padding/3+(S(n.flowchart.htmlLabels)?5:3)+v})`);const x=i.node().getBBox();return t.height=x.height,t.intersect=function(c){return B(t,c)},r},lt=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;r.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);const d=r.node().getBBox();return t.width=d.width,t.height=d.height,t.diff=-t.padding/2,t.intersect=function(u){return B(t,u)},n},ft={rect:at,roundedWithTitle:ot,noteGroup:ct,divider:lt};let j={};const dt=(e,t)=>{s.trace("Inserting cluster");const n=t.shape||"rect";j[t.id]=ft[n](e,t)},ut=()=>{j={}},M=async(e,t,n,r,i,a)=>{s.info("Graph in recursive render: XXX",y(t),i);const d=t.graph().rankdir;s.trace("Dir in recursive render - dir:",d);const u=e.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.trace("Recursive edges",t.edge(t.edges()[0]));const f=u.insert("g").attr("class","clusters"),h=u.insert("g").attr("class","edgePaths"),w=u.insert("g").attr("class","edgeLabels"),m=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(c){const o=t.node(c);if(i!==void 0){const b=JSON.parse(JSON.stringify(i.clusterData));s.info("Setting data for cluster XXX (",c,") ",b,i),t.setNode(i.id,b),t.parent(c)||(s.trace("Setting parent",c,i.id),t.setParent(c,i.id,b))}if(s.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o&&o.clusterNode){s.info("Cluster identified",c,o.width,t.node(c));const b=await M(m,o.graph,n,r,t.node(c),a),E=b.elem;W(o,E),o.diff=b.diff||0,s.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),_(E,o),s.warn("Recursive render complete ",E,o)}else t.children(c).length>0?(s.info("Cluster - the non recursive path XXX",c,o.id,o,t),s.info(C(o.id,t)),l[o.id]={id:C(o.id,t),node:o}):(s.info("Node - the non recursive path",c,o.id,o),await q(m,t.node(c),d))})),t.edges().forEach(function(c){const o=t.edge(c.v,c.w,c.name);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),s.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),s.info("Fix",l,"ids:",c.v,c.w,"Translating: ",l[c.v],l[c.w]),z(w,o)}),t.edges().forEach(function(c){s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),s.info("#############################################"),s.info("### Layout ###"),s.info("#############################################"),s.info(t),H(t),s.info("Graph after layout:",y(t));let v=0;const{subGraphTitleTotalMargin:x}=D(a);return rt(t).forEach(function(c){const o=t.node(c);s.info("Position "+c+": "+JSON.stringify(t.node(c))),s.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o&&o.clusterNode?(o.y+=x,O(o)):t.children(c).length>0?(o.height+=x,dt(f,o),l[o.id].node=o):(o.y+=x/2,O(o))}),t.edges().forEach(function(c){const o=t.edge(c);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o),o.points.forEach(E=>E.y+=x/2);const b=K(h,c,o,l,n,t,r);Q(o,b)}),t.nodes().forEach(function(c){const o=t.node(c);s.info(c,o.type,o.diff),o.type==="group"&&(v=o.diff)}),{elem:u,diff:v}},Et=async(e,t,n,r,i)=>{U(e,n,r,i),Y(),Z(),ut(),nt(),s.warn("Graph at first:",JSON.stringify(y(t))),st(t),s.warn("Graph after:",JSON.stringify(y(t)));const a=T();await M(e,t,r,i,void 0,a)};export{Et as r};
|