@cyberismo/backend 1.1.2 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dist/app.d.ts +5 -15
- package/dist/app.js +46 -44
- package/dist/app.js.map +1 -1
- package/dist/auth/index.d.ts +1 -13
- package/dist/auth/index.js +3 -13
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/keycloak.d.ts +2 -15
- package/dist/auth/keycloak.js +8 -12
- package/dist/auth/keycloak.js.map +1 -1
- package/dist/auth/mock.d.ts +12 -20
- package/dist/auth/mock.js +121 -43
- package/dist/auth/mock.js.map +1 -1
- package/dist/auth/types.d.ts +7 -13
- package/dist/auth/types.js +2 -12
- package/dist/auth/types.js.map +1 -1
- package/dist/common/errors.d.ts +12 -0
- package/dist/common/errors.js +31 -0
- package/dist/common/errors.js.map +1 -0
- package/dist/common/validationSchemas.d.ts +0 -12
- package/dist/common/validationSchemas.js +2 -12
- package/dist/common/validationSchemas.js.map +1 -1
- package/dist/domain/auth/index.d.ts +0 -12
- package/dist/domain/auth/index.js +2 -12
- package/dist/domain/auth/index.js.map +1 -1
- package/dist/domain/calculations/index.d.ts +0 -12
- package/dist/domain/calculations/index.js +4 -14
- package/dist/domain/calculations/index.js.map +1 -1
- package/dist/domain/calculations/schema.d.ts +0 -12
- package/dist/domain/calculations/schema.js +2 -12
- package/dist/domain/calculations/schema.js.map +1 -1
- package/dist/domain/calculations/service.d.ts +2 -14
- package/dist/domain/calculations/service.js +7 -17
- package/dist/domain/calculations/service.js.map +1 -1
- package/dist/domain/cardTypes/index.d.ts +0 -12
- package/dist/domain/cardTypes/index.js +10 -20
- package/dist/domain/cardTypes/index.js.map +1 -1
- package/dist/domain/cardTypes/schema.d.ts +0 -12
- package/dist/domain/cardTypes/schema.js +2 -12
- package/dist/domain/cardTypes/schema.js.map +1 -1
- package/dist/domain/cardTypes/service.d.ts +4 -16
- package/dist/domain/cardTypes/service.js +17 -25
- package/dist/domain/cardTypes/service.js.map +1 -1
- package/dist/domain/cards/index.d.ts +0 -12
- package/dist/domain/cards/index.js +120 -175
- package/dist/domain/cards/index.js.map +1 -1
- package/dist/domain/cards/lib.d.ts +6 -23
- package/dist/domain/cards/lib.js +7 -135
- package/dist/domain/cards/lib.js.map +1 -1
- package/dist/domain/cards/mermaid.d.ts +8 -0
- package/dist/domain/cards/mermaid.js +23 -0
- package/dist/domain/cards/mermaid.js.map +1 -0
- package/dist/domain/cards/schema.d.ts +6 -12
- package/dist/domain/cards/schema.js +15 -15
- package/dist/domain/cards/schema.js.map +1 -1
- package/dist/domain/cards/service.d.ts +29 -36
- package/dist/domain/cards/service.js +119 -90
- package/dist/domain/cards/service.js.map +1 -1
- package/dist/domain/connectors/index.d.ts +0 -12
- package/dist/domain/connectors/index.js +4 -14
- package/dist/domain/connectors/index.js.map +1 -1
- package/dist/domain/connectors/service.d.ts +2 -14
- package/dist/domain/connectors/service.js +4 -14
- package/dist/domain/connectors/service.js.map +1 -1
- package/dist/domain/events/events-by-project.d.ts +19 -0
- package/dist/domain/events/events-by-project.js +57 -0
- package/dist/domain/events/events-by-project.js.map +1 -0
- package/dist/domain/events/index.d.ts +3 -0
- package/dist/domain/events/index.js +84 -0
- package/dist/domain/events/index.js.map +1 -0
- package/dist/domain/events/lifetime.d.ts +2 -0
- package/dist/domain/events/lifetime.js +15 -0
- package/dist/domain/events/lifetime.js.map +1 -0
- package/dist/domain/events/project-events.d.ts +63 -0
- package/dist/domain/events/project-events.js +204 -0
- package/dist/domain/events/project-events.js.map +1 -0
- package/dist/domain/events/schema.d.ts +10 -0
- package/dist/domain/events/schema.js +10 -0
- package/dist/domain/events/schema.js.map +1 -0
- package/dist/domain/fieldTypes/index.d.ts +0 -12
- package/dist/domain/fieldTypes/index.js +6 -16
- package/dist/domain/fieldTypes/index.js.map +1 -1
- package/dist/domain/fieldTypes/schema.d.ts +0 -12
- package/dist/domain/fieldTypes/schema.js +2 -12
- package/dist/domain/fieldTypes/schema.js.map +1 -1
- package/dist/domain/fieldTypes/service.d.ts +4 -16
- package/dist/domain/fieldTypes/service.js +7 -17
- package/dist/domain/fieldTypes/service.js.map +1 -1
- package/dist/domain/graphModels/index.d.ts +0 -12
- package/dist/domain/graphModels/index.js +4 -14
- package/dist/domain/graphModels/index.js.map +1 -1
- package/dist/domain/graphModels/schema.d.ts +0 -12
- package/dist/domain/graphModels/schema.js +2 -12
- package/dist/domain/graphModels/schema.js.map +1 -1
- package/dist/domain/graphModels/service.d.ts +2 -14
- package/dist/domain/graphModels/service.js +4 -14
- package/dist/domain/graphModels/service.js.map +1 -1
- package/dist/domain/graphViews/index.d.ts +0 -12
- package/dist/domain/graphViews/index.js +4 -14
- package/dist/domain/graphViews/index.js.map +1 -1
- package/dist/domain/graphViews/schema.js +2 -0
- package/dist/domain/graphViews/schema.js.map +1 -1
- package/dist/domain/graphViews/service.d.ts +2 -14
- package/dist/domain/graphViews/service.js +4 -14
- package/dist/domain/graphViews/service.js.map +1 -1
- package/dist/domain/labels/index.d.ts +0 -12
- package/dist/domain/labels/index.js +4 -14
- package/dist/domain/labels/index.js.map +1 -1
- package/dist/domain/labels/service.d.ts +3 -15
- package/dist/domain/labels/service.js +5 -15
- package/dist/domain/labels/service.js.map +1 -1
- package/dist/domain/linkTypes/index.d.ts +0 -12
- package/dist/domain/linkTypes/index.js +6 -16
- package/dist/domain/linkTypes/index.js.map +1 -1
- package/dist/domain/linkTypes/schema.d.ts +0 -12
- package/dist/domain/linkTypes/schema.js +2 -12
- package/dist/domain/linkTypes/schema.js.map +1 -1
- package/dist/domain/linkTypes/service.d.ts +3 -15
- package/dist/domain/linkTypes/service.js +7 -17
- package/dist/domain/linkTypes/service.js.map +1 -1
- package/dist/domain/logicPrograms/index.d.ts +0 -12
- package/dist/domain/logicPrograms/index.js +4 -14
- package/dist/domain/logicPrograms/index.js.map +1 -1
- package/dist/domain/logicPrograms/service.d.ts +2 -14
- package/dist/domain/logicPrograms/service.js +5 -3
- package/dist/domain/logicPrograms/service.js.map +1 -1
- package/dist/domain/mcp/index.d.ts +3 -15
- package/dist/domain/mcp/index.js +27 -21
- package/dist/domain/mcp/index.js.map +1 -1
- package/dist/domain/project/index.d.ts +0 -12
- package/dist/domain/project/index.js +41 -39
- package/dist/domain/project/index.js.map +1 -1
- package/dist/domain/project/schema.d.ts +8 -12
- package/dist/domain/project/schema.js +36 -18
- package/dist/domain/project/schema.js.map +1 -1
- package/dist/domain/project/service.d.ts +20 -28
- package/dist/domain/project/service.js +56 -60
- package/dist/domain/project/service.js.map +1 -1
- package/dist/domain/projects/index.d.ts +2 -14
- package/dist/domain/projects/index.js +23 -36
- package/dist/domain/projects/index.js.map +1 -1
- package/dist/domain/projects/schema.d.ts +1 -12
- package/dist/domain/projects/schema.js +3 -12
- package/dist/domain/projects/schema.js.map +1 -1
- package/dist/domain/projects/service.d.ts +9 -35
- package/dist/domain/projects/service.js +12 -48
- package/dist/domain/projects/service.js.map +1 -1
- package/dist/domain/reports/index.d.ts +0 -12
- package/dist/domain/reports/index.js +4 -14
- package/dist/domain/reports/index.js.map +1 -1
- package/dist/domain/reports/schema.d.ts +0 -12
- package/dist/domain/reports/schema.js +2 -12
- package/dist/domain/reports/schema.js.map +1 -1
- package/dist/domain/reports/service.d.ts +2 -14
- package/dist/domain/reports/service.js +4 -14
- package/dist/domain/reports/service.js.map +1 -1
- package/dist/domain/resources/index.d.ts +0 -12
- package/dist/domain/resources/index.js +91 -26
- package/dist/domain/resources/index.js.map +1 -1
- package/dist/domain/resources/schema.d.ts +8 -2
- package/dist/domain/resources/schema.js +8 -1
- package/dist/domain/resources/schema.js.map +1 -1
- package/dist/domain/resources/service.d.ts +23 -23
- package/dist/domain/resources/service.js +83 -51
- package/dist/domain/resources/service.js.map +1 -1
- package/dist/domain/skills/index.d.ts +3 -0
- package/dist/domain/skills/index.js +42 -0
- package/dist/domain/skills/index.js.map +1 -0
- package/dist/domain/skills/schema.d.ts +4 -0
- package/dist/domain/skills/schema.js +8 -0
- package/dist/domain/skills/schema.js.map +1 -0
- package/dist/domain/skills/service.d.ts +2 -0
- package/dist/domain/skills/service.js +6 -0
- package/dist/domain/skills/service.js.map +1 -0
- package/dist/domain/templates/index.d.ts +0 -12
- package/dist/domain/templates/index.js +8 -18
- package/dist/domain/templates/index.js.map +1 -1
- package/dist/domain/templates/schema.d.ts +0 -12
- package/dist/domain/templates/schema.js +2 -12
- package/dist/domain/templates/schema.js.map +1 -1
- package/dist/domain/templates/service.d.ts +4 -16
- package/dist/domain/templates/service.js +8 -18
- package/dist/domain/templates/service.js.map +1 -1
- package/dist/domain/tree/index.d.ts +0 -12
- package/dist/domain/tree/index.js +4 -14
- package/dist/domain/tree/index.js.map +1 -1
- package/dist/domain/tree/service.d.ts +3 -15
- package/dist/domain/tree/service.js +8 -15
- package/dist/domain/tree/service.js.map +1 -1
- package/dist/domain/workflows/index.d.ts +0 -12
- package/dist/domain/workflows/index.js +4 -14
- package/dist/domain/workflows/index.js.map +1 -1
- package/dist/domain/workflows/schema.d.ts +0 -12
- package/dist/domain/workflows/schema.js +2 -12
- package/dist/domain/workflows/schema.js.map +1 -1
- package/dist/domain/workflows/service.d.ts +2 -14
- package/dist/domain/workflows/service.js +4 -14
- package/dist/domain/workflows/service.js.map +1 -1
- package/dist/export.d.ts +8 -21
- package/dist/export.js +71 -66
- package/dist/export.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.js +20 -41
- package/dist/index.js.map +1 -1
- package/dist/main.js +36 -32
- package/dist/main.js.map +1 -1
- package/dist/middleware/auth.d.ts +5 -12
- package/dist/middleware/auth.js +22 -16
- package/dist/middleware/auth.js.map +1 -1
- package/dist/middleware/commandManager.d.ts +17 -20
- package/dist/middleware/commandManager.js +27 -35
- package/dist/middleware/commandManager.js.map +1 -1
- package/dist/middleware/tree.js +2 -0
- package/dist/middleware/tree.js.map +1 -1
- package/dist/middleware/zvalidator.js +2 -0
- package/dist/middleware/zvalidator.js.map +1 -1
- package/dist/overlay.d.ts +33 -0
- package/dist/overlay.js +162 -0
- package/dist/overlay.js.map +1 -0
- package/dist/public/THIRD-PARTY.txt +1892 -688
- package/dist/public/assets/__vite-browser-external-DGgK3jMU.js +1 -0
- package/dist/public/assets/abnfDiagram-WEYOIA3C-B3qq7PKv.js +1 -0
- package/dist/public/assets/architecture-WOLXFQ4H-Bzau2LI0.js +1 -0
- package/dist/public/assets/architectureDiagram-ZHVYKT53-Bg0cUwdb.js +36 -0
- package/dist/public/assets/blockDiagram-RJAE7QA3-0RJB-ra-.js +140 -0
- package/dist/public/assets/c4Diagram-XDPPPE54-BzoQcLvf.js +38 -0
- package/dist/public/assets/channel-6BNdw4Ax.js +1 -0
- package/dist/public/assets/{chunk-MOJQB5TN-D1shKbMs.js → chunk-2E7WHVMD-6aqPk-Hk.js} +4 -4
- package/dist/public/assets/chunk-4EMNKR2T-vovNSAaE.js +1 -0
- package/dist/public/assets/chunk-55XCU76K-DXkKnt2y.js +1 -0
- package/dist/public/assets/chunk-7S6XSTFO-B9bfO0l3.js +2 -0
- package/dist/public/assets/chunk-AQDTSKZB-ilLy_cYP.js +72 -0
- package/dist/public/assets/chunk-DSNLSHJZ-DAudglXu.js +129 -0
- package/dist/public/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
- package/dist/public/assets/chunk-HAGFOTED-CSKFgs6b.js +62 -0
- package/dist/public/assets/chunk-HNE4Q36P-Cu5gPBVk.js +1 -0
- package/dist/public/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
- package/dist/public/assets/chunk-NGNAAXSQ-DI_UYJZ4.js +136 -0
- package/dist/public/assets/chunk-NQOKRVIF-Bpcvhq1n.js +213 -0
- package/dist/public/assets/chunk-UHW7PFBP-BDjvOaTH.js +1 -0
- package/dist/public/assets/chunk-VQ5W62QI-DHTcO93W.js +1 -0
- package/dist/public/assets/chunk-WQQL4CDK-H6nAhuck.js +10 -0
- package/dist/public/assets/chunk-XXDRQBXY-BUghdEVl.js +1 -0
- package/dist/public/assets/chunk-YZO67HFG-D13E0_Yh.js +1 -0
- package/dist/public/assets/chunk-ZAUX2LTX-Dp5y-2wt.js +1 -0
- package/dist/public/assets/chunk-ZCHMQSOR-RJjlln1D.js +2 -0
- package/dist/public/assets/classDiagram-v2-4MYWR3UA-CAqiFCSv.js +217 -0
- package/dist/public/assets/cose-bilkent-JH36ORCC-C_VOHzoP.js +1 -0
- package/dist/public/assets/cynefin-EF2NZ3EQ-Dyk4ZPjK.js +1 -0
- package/dist/public/assets/cynefinDiagram-WF24UDRP-b_Ia8gQX.js +62 -0
- package/dist/public/assets/cytoscape.esm-GRKmfDkD.js +321 -0
- package/dist/public/assets/dagre-NK4GIZVX-CH1K1yF8.js +4 -0
- package/dist/public/assets/diagram-CBK3MWTC-OaKd5avy.js +24 -0
- package/dist/public/assets/diagram-I5XIIV2D-Cmu5z1ad.js +24 -0
- package/dist/public/assets/diagram-ODIL2UCW-Cz1kkDDX.js +30 -0
- package/dist/public/assets/diagram-PFBEJUXE-faMkmqUW.js +3 -0
- package/dist/public/assets/diagram-RJA3I4VV-nycvfte-.js +41 -0
- package/dist/public/assets/diagram-TYUNFSNR-CjEv5QCm.js +200 -0
- package/dist/public/assets/dist-DGs_yUrP.js +1 -0
- package/dist/public/assets/ebnfDiagram-V4P3TTPT-DN-IIxCy.js +1 -0
- package/dist/public/assets/elk-QONTBCTQ-Bsam88GP.js +27 -0
- package/dist/public/assets/erDiagram-KYQIGQAA-DEU_qqNK.js +99 -0
- package/dist/public/assets/eventmodeling-K75KTNOO-Bl6NCM9E.js +1 -0
- package/dist/public/assets/flowDiagram-IUGLLWBU-Cl4qZ-36.js +1 -0
- package/dist/public/assets/ganttDiagram-R7GPNTJY-BmMd4aGi.js +292 -0
- package/dist/public/assets/gitGraph-VSP46ZUC-Q0H2PWek.js +1 -0
- package/dist/public/assets/gitGraphDiagram-PDYL7XHY-BlCTBYTj.js +106 -0
- package/dist/public/assets/index-CuBJ0hof.css +1 -0
- package/dist/public/assets/index-D6WqGtsG.js +27876 -0
- package/dist/public/assets/index-D701BZPh.js +2219 -0
- package/dist/public/assets/info-OHQRW6UA-D0TMPJxW.js +1 -0
- package/dist/public/assets/infoDiagram-MVDRKAX5-CljbtJXu.js +2 -0
- package/dist/public/assets/{ishikawaDiagram-FXEZZL3T-CiLpASIW.js → ishikawaDiagram-HPEHV2GE-_Y3Fr0hu.js} +6 -6
- package/dist/public/assets/journeyDiagram-BOSHW7O7-Bo55jJ4m.js +139 -0
- package/dist/public/assets/kanban-definition-FNSA4HC5-Cd-10MtF.js +89 -0
- package/dist/public/assets/katex-MEuSR36T.js +257 -0
- package/dist/public/assets/line-BDmh4sWC.js +1 -0
- package/dist/public/assets/linear-Dt7xjMrI.js +1 -0
- package/dist/public/assets/mermaid-parser.core-BJ1yyzvV.js +7 -0
- package/dist/public/assets/mindmap-definition-6OY57UG3-CRgumPuN.js +98 -0
- package/dist/public/assets/packet-JDAUHWVQ-DsTMT3Kw.js +1 -0
- package/dist/public/assets/path-B_0haWDX.js +1 -0
- package/dist/public/assets/pegDiagram-ECIUJNBX-BEGI5k3m.js +1 -0
- package/dist/public/assets/pie-XZMESJXO-COyqzA3N.js +1 -0
- package/dist/public/assets/pieDiagram-GNMPY74T-CrLJhZJJ.js +39 -0
- package/dist/public/assets/{quadrantDiagram-ABIIQ3AL-B3czMbdS.js → quadrantDiagram-D57K4MC3-Fl7HMHxK.js} +6 -6
- package/dist/public/assets/radar-ABXABTNO-DeXHKowk.js +1 -0
- package/dist/public/assets/railroad-I3PHUGI6-CUjKUdPz.js +1 -0
- package/dist/public/assets/railroad-abnf-LNEFI6M7-B1aEgHE6.js +1 -0
- package/dist/public/assets/railroad-ebnf-DWYD2UWJ-DmmI3Voz.js +1 -0
- package/dist/public/assets/railroad-peg-JR7BVNR7-BHzi9m7r.js +1 -0
- package/dist/public/assets/railroadDiagram-Y72NRBL7-D1oeE5fy.js +1 -0
- package/dist/public/assets/requirementDiagram-EQYSW5RA-BJDKK1aS.js +84 -0
- package/dist/public/assets/rolldown-runtime-BCiCTKAo.js +1 -0
- package/dist/public/assets/{rough.esm-By172zw-.js → rough.esm-Dy-Kn_BL.js} +1 -1
- package/dist/public/assets/sankeyDiagram-SY24JHO5-C4g0OwZ9.js +40 -0
- package/dist/public/assets/sequenceDiagram-BLEHNHQU-CEvy4P-b.js +169 -0
- package/dist/public/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
- package/dist/public/assets/src-MPsEqXxq.js +1 -0
- package/dist/public/assets/stateDiagram-v2-A6IESKWZ-BFhvw4Gl.js +291 -0
- package/dist/public/assets/swimlanes-B3ENRKFQ-BIl_Q-FM.js +1 -0
- package/dist/public/assets/swimlanesDiagram-AYQRV4AK-rvDbKEHQ.js +8 -0
- package/dist/public/assets/timeline-definition-JXYKGLGB-qAoWTH4N.js +120 -0
- package/dist/public/assets/treeView-D4JQ5SDB-vq16JKkJ.js +1 -0
- package/dist/public/assets/treemap-SAJKECNS-C0IZTaDk.js +1 -0
- package/dist/public/assets/usecaseDiagram-WPOLBNNX-Dq8iz49r.js +328 -0
- package/dist/public/assets/vennDiagram-Q3Y3IDCW-Br4JmRjM.js +34 -0
- package/dist/public/assets/wardley-7MLQ67FV-CEPlAQ79.js +1 -0
- package/dist/public/assets/wardleyDiagram-IVAIDKWA-DURB7Ue6.js +78 -0
- package/dist/public/assets/xychartDiagram-4URNHDU4-BiZywfhy.js +7 -0
- package/dist/public/index.html +27 -28
- package/dist/public/sbom.cdx.json +1 -0
- package/dist/types.d.ts +0 -12
- package/dist/types.js +2 -12
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +12 -5
- package/dist/utils.js +18 -43
- package/dist/utils.js.map +1 -1
- package/package.json +14 -14
- package/src/app.ts +51 -49
- package/src/auth/index.ts +3 -13
- package/src/auth/keycloak.ts +10 -15
- package/src/auth/mock.ts +144 -48
- package/src/auth/types.ts +10 -13
- package/src/common/errors.ts +45 -0
- package/src/common/validationSchemas.ts +3 -12
- package/src/domain/auth/index.ts +2 -12
- package/src/domain/calculations/index.ts +4 -14
- package/src/domain/calculations/schema.ts +2 -12
- package/src/domain/calculations/service.ts +8 -21
- package/src/domain/cardTypes/index.ts +10 -20
- package/src/domain/cardTypes/schema.ts +3 -12
- package/src/domain/cardTypes/service.ts +22 -29
- package/src/domain/cards/index.ts +158 -218
- package/src/domain/cards/lib.ts +9 -173
- package/src/domain/cards/mermaid.ts +25 -0
- package/src/domain/cards/schema.ts +19 -15
- package/src/domain/cards/service.ts +166 -134
- package/src/domain/connectors/index.ts +5 -14
- package/src/domain/connectors/service.ts +5 -20
- package/src/domain/events/events-by-project.ts +59 -0
- package/src/domain/events/index.ts +102 -0
- package/src/domain/events/lifetime.ts +17 -0
- package/src/domain/events/project-events.ts +266 -0
- package/src/domain/events/schema.ts +11 -0
- package/src/domain/fieldTypes/index.ts +6 -16
- package/src/domain/fieldTypes/schema.ts +3 -12
- package/src/domain/fieldTypes/service.ts +9 -21
- package/src/domain/graphModels/index.ts +4 -14
- package/src/domain/graphModels/schema.ts +3 -12
- package/src/domain/graphModels/service.ts +5 -18
- package/src/domain/graphViews/index.ts +4 -14
- package/src/domain/graphViews/schema.ts +3 -0
- package/src/domain/graphViews/service.ts +5 -18
- package/src/domain/labels/index.ts +4 -14
- package/src/domain/labels/service.ts +6 -16
- package/src/domain/linkTypes/index.ts +6 -16
- package/src/domain/linkTypes/schema.ts +2 -12
- package/src/domain/linkTypes/service.ts +8 -21
- package/src/domain/logicPrograms/index.ts +5 -17
- package/src/domain/logicPrograms/service.ts +7 -16
- package/src/domain/mcp/index.ts +33 -24
- package/src/domain/project/index.ts +59 -37
- package/src/domain/project/schema.ts +41 -18
- package/src/domain/project/service.ts +81 -71
- package/src/domain/projects/index.ts +38 -50
- package/src/domain/projects/schema.ts +3 -12
- package/src/domain/projects/service.ts +18 -88
- package/src/domain/reports/index.ts +4 -14
- package/src/domain/reports/schema.ts +2 -12
- package/src/domain/reports/service.ts +5 -18
- package/src/domain/resources/index.ts +102 -30
- package/src/domain/resources/schema.ts +15 -2
- package/src/domain/resources/service.ts +98 -81
- package/src/domain/skills/index.ts +51 -0
- package/src/domain/skills/schema.ts +9 -0
- package/src/domain/skills/service.ts +8 -0
- package/src/domain/templates/index.ts +8 -18
- package/src/domain/templates/schema.ts +2 -12
- package/src/domain/templates/service.ts +9 -22
- package/src/domain/tree/index.ts +4 -14
- package/src/domain/tree/service.ts +10 -21
- package/src/domain/workflows/index.ts +4 -14
- package/src/domain/workflows/schema.ts +2 -12
- package/src/domain/workflows/service.ts +5 -18
- package/src/export.ts +82 -73
- package/src/index.ts +30 -46
- package/src/main.ts +45 -37
- package/src/middleware/auth.ts +25 -16
- package/src/middleware/commandManager.ts +37 -49
- package/src/middleware/tree.ts +3 -0
- package/src/middleware/zvalidator.ts +3 -0
- package/src/overlay.ts +185 -0
- package/src/types.ts +2 -12
- package/src/utils.ts +26 -46
- package/dist/domain/cards/presence.d.ts +0 -50
- package/dist/domain/cards/presence.js +0 -93
- package/dist/domain/cards/presence.js.map +0 -1
- package/dist/project-registry.d.ts +0 -57
- package/dist/project-registry.js +0 -93
- package/dist/project-registry.js.map +0 -1
- package/dist/public/assets/abnfDiagram-VRR7QNED-Djr4KJ5E.js +0 -1
- package/dist/public/assets/arc-DrR4k_H-.js +0 -1
- package/dist/public/assets/architecture-TIHT7OUA-XL6N-4o9.js +0 -1
- package/dist/public/assets/architectureDiagram-ZJ3FMSHR-DsMU2Uwa.js +0 -36
- package/dist/public/assets/blockDiagram-677ZJIJ3-DRBmQUQJ.js +0 -132
- package/dist/public/assets/c4Diagram-LMCZKHZV-E0rM02LD.js +0 -10
- package/dist/public/assets/channel-D5fnImJy.js +0 -1
- package/dist/public/assets/chunk-32BRIVSS-BnDY0aSV.js +0 -1
- package/dist/public/assets/chunk-52WLFC77-N5YugKaZ.js +0 -10
- package/dist/public/assets/chunk-5FCAYU7R-I3_t_Ic_.js +0 -1
- package/dist/public/assets/chunk-5HE753X5-Dxz40rzH.js +0 -1
- package/dist/public/assets/chunk-5JV3BV7I-CNwCKRLH.js +0 -1
- package/dist/public/assets/chunk-5TONJI2A-ezWQ_Z2j.js +0 -2
- package/dist/public/assets/chunk-7BUUIJ7U-Bb538aSH.js +0 -1
- package/dist/public/assets/chunk-BIQX33UG-DS132-R_.js +0 -1
- package/dist/public/assets/chunk-C7G6YPKG-BN-cNjoj.js +0 -1
- package/dist/public/assets/chunk-CQNSW5MT-D8Mn1I73.js +0 -1
- package/dist/public/assets/chunk-CYSBUYHQ-Dc64Dwdo.js +0 -1
- package/dist/public/assets/chunk-EMLP6XTP-aIK0V8GX.js +0 -1
- package/dist/public/assets/chunk-EX3LRPZG-Db0XYyxy.js +0 -231
- package/dist/public/assets/chunk-FWX5IMBZ-BF_P2-Do.js +0 -2
- package/dist/public/assets/chunk-HOUHSVGY-L35GPy9G.js +0 -1
- package/dist/public/assets/chunk-ICXQ74PX-Bb8zaHde.js +0 -2
- package/dist/public/assets/chunk-JG7HCLWE-BtAXK3iQ.js +0 -2
- package/dist/public/assets/chunk-KEIR6QF5-DEvma7oi.js +0 -161
- package/dist/public/assets/chunk-MOZMSUNE-5FIqIBsY.js +0 -1
- package/dist/public/assets/chunk-OGEWGWER-BVIFy9xz.js +0 -1
- package/dist/public/assets/chunk-OSBZ3O6U-Cfd7kf1R.js +0 -1
- package/dist/public/assets/chunk-PUDLZKDR-Db3FSNR9.js +0 -156
- package/dist/public/assets/chunk-Q4XR5HBZ-BuKFRUzR.js +0 -70
- package/dist/public/assets/chunk-QBLGF6JB-DUGZXFh-.js +0 -1
- package/dist/public/assets/chunk-R7FJI6CG-D7mUd-qN.js +0 -1
- package/dist/public/assets/chunk-RYQCIY6F-C_3rESBd.js +0 -1
- package/dist/public/assets/chunk-U6XO7XAA-C3UhlwA1.js +0 -2
- package/dist/public/assets/chunk-V7JOEXUC-71b0ABpv.js +0 -206
- package/dist/public/assets/chunk-VAUOI2AC-C-GBw18h.js +0 -1
- package/dist/public/assets/chunk-VR4S4FIN-tUhbELKr.js +0 -1
- package/dist/public/assets/chunk-WYO6CB5R-BQoO62-B.js +0 -127
- package/dist/public/assets/chunk-XXDRQBXY-Co8n4ZHT.js +0 -1
- package/dist/public/assets/chunk-YOTPTUD7-DhCRKU1A.js +0 -1
- package/dist/public/assets/chunk-ZGVPDNZ5-hpz2Ryq5.js +0 -62
- package/dist/public/assets/chunk-ZIRB5QZD-BpeS1aZ7.js +0 -32
- package/dist/public/assets/classDiagram-OUVF2IWQ-CXdVorPK.js +0 -1
- package/dist/public/assets/classDiagram-v2-EOCWNBFH-CXdVorPK.js +0 -1
- package/dist/public/assets/colors-Cg5Vh3br.js +0 -1
- package/dist/public/assets/cose-bilkent-JH36ORCC-4GoRbloS.js +0 -1
- package/dist/public/assets/cynefin-VYW2F7L2-BPH-25fI.js +0 -1
- package/dist/public/assets/cynefinDiagram-TSTJHNR4-PEf16euv.js +0 -62
- package/dist/public/assets/cytoscape.esm-C3UvhD5t.js +0 -321
- package/dist/public/assets/dagre-Buvkdvvj.js +0 -1
- package/dist/public/assets/dagre-VKFMJZFB-DPsCMBF1.js +0 -4
- package/dist/public/assets/diagram-FQU43EPY-DS-ryuRg.js +0 -3
- package/dist/public/assets/diagram-G47NLZAW-CzUoYkFf.js +0 -24
- package/dist/public/assets/diagram-NH7WQ7WH-MhGnE2fh.js +0 -24
- package/dist/public/assets/diagram-OA4YK3LP-CsQ9aFR_.js +0 -30
- package/dist/public/assets/diagram-WEI45ONY-Er3q49ew.js +0 -41
- package/dist/public/assets/dist-BzwexiH1.js +0 -1
- package/dist/public/assets/ebnfDiagram-CCIWWBDH-AnJAsk14.js +0 -1
- package/dist/public/assets/erDiagram-Q63AITRT-DulA16my.js +0 -85
- package/dist/public/assets/eventmodeling-45OFAUF4-CoIhTpHU.js +0 -1
- package/dist/public/assets/flowDiagram-23GEKE2U-BGMXUq18.js +0 -1
- package/dist/public/assets/ganttDiagram-NO4QXBWP-DAvCPT7_.js +0 -292
- package/dist/public/assets/gitGraph-TEB2WS4Q-BcPsZts5.js +0 -1
- package/dist/public/assets/gitGraphDiagram-IHSO6WYX-CksvJvsQ.js +0 -106
- package/dist/public/assets/index-COSSLZqt.css +0 -1
- package/dist/public/assets/index-Y8Ckwau7.js +0 -447
- package/dist/public/assets/info-DKCQHKI2-7VGzrAVB.js +0 -1
- package/dist/public/assets/infoDiagram-FWYZ7A6U-D_by7lSL.js +0 -2
- package/dist/public/assets/journeyDiagram-5HDEW3XC-DpvFmk7c.js +0 -139
- package/dist/public/assets/kanban-definition-HUTT4EX6-DYP_x6zD.js +0 -89
- package/dist/public/assets/katex-DolUETbr.js +0 -257
- package/dist/public/assets/line-C8Sfsgt8.js +0 -1
- package/dist/public/assets/linear-BWTvbP1l.js +0 -1
- package/dist/public/assets/map-BaFkSB1l.js +0 -1
- package/dist/public/assets/mermaid-parser.core--8614tkK.js +0 -4
- package/dist/public/assets/mindmap-definition-LN4V7U3C-3IAd4gp3.js +0 -96
- package/dist/public/assets/ordinal-BdBDtYTt.js +0 -1
- package/dist/public/assets/packet-7NZHBO7P-KYt33H0C.js +0 -1
- package/dist/public/assets/path-HTXttWil.js +0 -1
- package/dist/public/assets/pegDiagram-2B236MQR-BQNFxYz2.js +0 -1
- package/dist/public/assets/pie-RZYD4A2V-xKz9s9I4.js +0 -1
- package/dist/public/assets/pieDiagram-ENE6RG2P-Cy13tg8_.js +0 -39
- package/dist/public/assets/radar-I7S5WNFK-B4QTX-fX.js +0 -1
- package/dist/public/assets/railroad-3IZDKUUU-Co_9rPVC.js +0 -1
- package/dist/public/assets/railroad-abnf-AHOZXSZD-Bhy_c3ol.js +0 -1
- package/dist/public/assets/railroad-ebnf-EBAXGLYW-B9ENjG34.js +0 -1
- package/dist/public/assets/railroad-peg-LSFZ7HO6-CyJxDBsB.js +0 -1
- package/dist/public/assets/railroadDiagram-RFXS5EU6-M2j5SJF2.js +0 -1
- package/dist/public/assets/range-EplFIxc7.js +0 -1
- package/dist/public/assets/requirementDiagram-TGXJPOKE-CmvJWy_S.js +0 -84
- package/dist/public/assets/sankeyDiagram-HTMAVEWB-tAeOzMTn.js +0 -40
- package/dist/public/assets/sequenceDiagram-DBY2YBRQ-r0pwijM4.js +0 -162
- package/dist/public/assets/sizeCapture-X5ZJPWSS-B0uUizjq.js +0 -1
- package/dist/public/assets/src-DOh7_en_.js +0 -1
- package/dist/public/assets/stateDiagram-2N3HPSRC-a9IdkSQG.js +0 -1
- package/dist/public/assets/stateDiagram-v2-6OUMAXLB-s2blPtZ-.js +0 -1
- package/dist/public/assets/swimlanes-5IMT3BWC-5w0Cdxk6.js +0 -2
- package/dist/public/assets/swimlanesDiagram-G3AALYLV-BWa-KRed.js +0 -8
- package/dist/public/assets/time-BM2d9MsQ.js +0 -1
- package/dist/public/assets/timeline-definition-FHXFAJF6-CvXlv_4Y.js +0 -120
- package/dist/public/assets/treeView-QDETBFTQ-B9cxjfpB.js +0 -1
- package/dist/public/assets/treemap-6X3UGDF4-BplEq4hB.js +0 -1
- package/dist/public/assets/treemap-BfjIY-m6.js +0 -1
- package/dist/public/assets/vennDiagram-L72KCM5P-ti2qNcvo.js +0 -34
- package/dist/public/assets/wardley-OPB4EBWU-BX2ghg5e.js +0 -1
- package/dist/public/assets/wardleyDiagram-EHGQE667-C8lblm8x.js +0 -78
- package/dist/public/assets/xychartDiagram-FW5EYKEG-US-_k5eu.js +0 -7
- package/src/domain/cards/presence.ts +0 -124
- package/src/project-registry.ts +0 -130
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{c as e,i as t,n,o as r,r as i,s as a,t as o}from"./chunk-ZCHMQSOR-RJjlln1D.js";import{r as s}from"./chunk-HNE4Q36P-Cu5gPBVk.js";import{a as c,i as l,l as u}from"./chunk-WQQL4CDK-H6nAhuck.js";import{a as d,i as f,n as p}from"./chunk-ZAUX2LTX-Dp5y-2wt.js";import{c as m}from"./chunk-HAGFOTED-CSKFgs6b.js";import"./chunk-UHW7PFBP-BDjvOaTH.js";import"./chunk-AQDTSKZB-ilLy_cYP.js";import"./chunk-YZO67HFG-D13E0_Yh.js";import"./chunk-7S6XSTFO-B9bfO0l3.js";import{b as h}from"./chunk-DSNLSHJZ-DAudglXu.js";import{j as g}from"./src-MPsEqXxq.js";import{n as _}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{$ as v,A as ee,B as y,C as b,D as x,E as te,F as ne,G as re,H as S,I as ie,J as ae,K as oe,L as se,M as ce,N as le,O as ue,P as de,Q as C,R as fe,S as pe,T as me,U as he,V as ge,W as _e,X as ve,Y as ye,Z as w,_ as be,a as T,b as xe,c as Se,d as Ce,et as E,f as D,g as we,h as Te,i as O,it as Ee,j as De,k as Oe,l as ke,m as Ae,n as k,nt as je,o as A,p as Me,q as Ne,r as j,rt as Pe,s as Fe,t as M,tt as N,u as Ie,v as Le,w as Re,x as ze,y as Be,z as P}from"./graphlib-DS17s2tU.js";var Ve=/\s/;function He(e){for(var t=e.length;t--&&Ve.test(e.charAt(t)););return t}var Ue=/^\s+/;function We(e){return e&&e.slice(0,He(e)+1).replace(Ue,``)}var Ge=NaN,Ke=/^[-+]0x[0-9a-f]+$/i,qe=/^0b[01]+$/i,Je=/^0o[0-7]+$/i,Ye=parseInt;function Xe(e){if(typeof e==`number`)return e;if(E(e))return Ge;if(w(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=w(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=We(e);var n=qe.test(e);return n||Je.test(e)?Ye(e.slice(2),n?2:8):Ke.test(e)?Ge:+e}var Ze=1/0,Qe=17976931348623157e292;function F(e){return e?(e=Xe(e),e===Ze||e===-Ze?(e<0?-1:1)*Qe:e===e?e:0):e===0?e:0}function $e(e){var t=F(e),n=t%1;return t===t?n?t-n:t:0}var et=Object.create,tt=function(){function e(){}return function(t){if(!w(t))return{};if(et)return et(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function nt(e,t){var n=-1,r=e.length;for(t||=Array(r);++n<r;)t[n]=e[n];return t}function I(e,t,n){t==`__proto__`&&Ne?Ne(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var rt=Object.prototype.hasOwnProperty;function L(e,t,n){var r=e[t];(!(rt.call(e,t)&&S(r,n))||n===void 0&&!(t in e))&&I(e,t,n)}function R(e,t,n,r){var i=!n;n||={};for(var a=-1,o=t.length;++a<o;){var s=t[a],c=r?r(n[s],e[s],s,n,e):void 0;c===void 0&&(c=e[s]),i?I(n,s,c):L(n,s,c)}return n}function z(e,t,n){if(!w(n))return!1;var r=typeof t;return(r==`number`?P(n)&&he(t,n.length):r==`string`&&t in n)?S(n[t],e):!1}function it(e){return y(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&z(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}function at(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var ot=Object.prototype.hasOwnProperty;function st(e){if(!w(e))return at(e);var t=fe(e),n=[];for(var r in e)(r!=`constructor`||!t&&ot.call(e,r))&&n.push(r);return n}function B(e){return P(e)?ce(e,!0):st(e)}function V(e){return e!=null&&e.length?b(e,1):[]}function ct(e){return oe(ge(e,void 0,V),e+``)}var lt=De(Object.getPrototypeOf,Object),ut=`[object Object]`,dt=Function.prototype,ft=Object.prototype,pt=dt.toString,mt=ft.hasOwnProperty,ht=pt.call(Object);function gt(e){if(!N(e)||je(e)!=ut)return!1;var t=lt(e);if(t===null)return!0;var n=mt.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&pt.call(n)==ht}var _t=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function vt(e){return _t.test(e)}function yt(e,t){return e&&R(t,Oe(t),e)}function bt(e,t){return e&&R(t,B(t),e)}var xt=typeof exports==`object`&&exports&&!exports.nodeType&&exports,St=xt&&typeof module==`object`&&module&&!module.nodeType&&module,Ct=St&&St.exports===xt?Ee.Buffer:void 0,wt=Ct?Ct.allocUnsafe:void 0;function Tt(e,t){if(t)return e.slice();var n=e.length,r=wt?wt(n):new e.constructor(n);return e.copy(r),r}function Et(e,t){return R(e,xe(e),t)}var Dt=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Re(t,xe(e)),e=lt(e);return t}:ze;function Ot(e,t){return R(e,Dt(e),t)}function kt(e){return Be(e,B,Dt)}var At=Object.prototype.hasOwnProperty;function jt(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&At.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}function Mt(e){var t=new e.constructor(e.byteLength);return new we(t).set(new we(e)),t}function Nt(e,t){var n=t?Mt(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var Pt=/\w*$/;function Ft(e){var t=new e.constructor(e.source,Pt.exec(e));return t.lastIndex=e.lastIndex,t}var It=Pe?Pe.prototype:void 0,Lt=It?It.valueOf:void 0;function Rt(e){return Lt?Object(Lt.call(e)):{}}function zt(e,t){var n=t?Mt(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var Bt=`[object Boolean]`,Vt=`[object Date]`,Ht=`[object Map]`,Ut=`[object Number]`,Wt=`[object RegExp]`,Gt=`[object Set]`,Kt=`[object String]`,qt=`[object Symbol]`,Jt=`[object ArrayBuffer]`,Yt=`[object DataView]`,Xt=`[object Float32Array]`,Zt=`[object Float64Array]`,Qt=`[object Int8Array]`,$t=`[object Int16Array]`,en=`[object Int32Array]`,tn=`[object Uint8Array]`,nn=`[object Uint8ClampedArray]`,rn=`[object Uint16Array]`,an=`[object Uint32Array]`;function on(e,t,n){var r=e.constructor;switch(t){case Jt:return Mt(e);case Bt:case Vt:return new r(+e);case Yt:return Nt(e,n);case Xt:case Zt:case Qt:case $t:case en:case tn:case nn:case rn:case an:return zt(e,n);case Ht:return new r;case Ut:case Kt:return new r(e);case Wt:return Ft(e);case Gt:return new r;case qt:return Rt(e)}}function sn(e){return typeof e.constructor==`function`&&!fe(e)?tt(lt(e)):{}}var cn=`[object Map]`;function ln(e){return N(e)&&be(e)==cn}var un=de&&de.isMap,dn=un?ne(un):ln,fn=`[object Set]`;function pn(e){return N(e)&&be(e)==fn}var mn=de&&de.isSet,hn=mn?ne(mn):pn,gn=1,_n=2,vn=4,yn=`[object Arguments]`,bn=`[object Array]`,xn=`[object Boolean]`,Sn=`[object Date]`,Cn=`[object Error]`,wn=`[object Function]`,Tn=`[object GeneratorFunction]`,En=`[object Map]`,Dn=`[object Number]`,On=`[object Object]`,kn=`[object RegExp]`,An=`[object Set]`,jn=`[object String]`,Mn=`[object Symbol]`,Nn=`[object WeakMap]`,Pn=`[object ArrayBuffer]`,Fn=`[object DataView]`,In=`[object Float32Array]`,Ln=`[object Float64Array]`,Rn=`[object Int8Array]`,zn=`[object Int16Array]`,Bn=`[object Int32Array]`,Vn=`[object Uint8Array]`,Hn=`[object Uint8ClampedArray]`,Un=`[object Uint16Array]`,Wn=`[object Uint32Array]`,H={};H[yn]=H[bn]=H[Pn]=H[Fn]=H[xn]=H[Sn]=H[In]=H[Ln]=H[Rn]=H[zn]=H[Bn]=H[En]=H[Dn]=H[On]=H[kn]=H[An]=H[jn]=H[Mn]=H[Vn]=H[Hn]=H[Un]=H[Wn]=!0,H[Cn]=H[wn]=H[Nn]=!1;function U(e,t,n,r,i,a){var o,s=t&gn,c=t&_n,l=t&vn;if(n&&(o=i?n(e,r,i,a):n(e)),o!==void 0)return o;if(!w(e))return e;var u=C(e);if(u){if(o=jt(e),!s)return nt(e,o)}else{var d=be(e),f=d==wn||d==Tn;if(ie(e))return Tt(e,s);if(d==On||d==yn||f&&!i){if(o=c||f?{}:sn(e),!s)return c?Ot(e,bt(o,e)):Et(e,yt(o,e))}else{if(!H[d])return i?e:{};o=on(e,d,s)}}a||=new pe;var p=a.get(e);if(p)return p;a.set(e,o),hn(e)?e.forEach(function(r){o.add(U(r,t,n,r,e,a))}):dn(e)&&e.forEach(function(r,i){o.set(i,U(r,t,n,i,e,a))});var m=u?void 0:(l?c?kt:Le:c?B:Oe)(e);return re(m||e,function(r,i){m&&(i=r,r=e[i]),L(o,i,U(r,t,n,i,e,a))}),o}var Gn=1,Kn=4;function qn(e){return U(e,Gn|Kn)}var Jn=function(){return Ee.Date.now()},Yn=Object.prototype,Xn=Yn.hasOwnProperty,Zn=y(function(e,t){e=Object(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&z(t[0],t[1],i)&&(r=1);++n<r;)for(var a=t[n],o=B(a),s=-1,c=o.length;++s<c;){var l=o[s],u=e[l];(u===void 0||S(u,Yn[l])&&!Xn.call(e,l))&&(e[l]=a[l])}return e});function Qn(e,t,n){(n!==void 0&&!S(e[t],n)||n===void 0&&!(t in e))&&I(e,t,n)}function $n(e,t){if((t!==`constructor`||typeof e[t]!=`function`)&&t!=`__proto__`)return e[t]}function er(e){return R(e,B(e))}function tr(e,t,n,r,i,a,o){var s=$n(e,n),c=$n(t,n),l=o.get(c);if(l)Qn(e,n,l);else{var u=a?a(s,c,n+``,e,t,o):void 0,d=u===void 0;if(d){var f=C(c),p=!f&&ie(c),m=!f&&!p&&le(c);u=c,f||p||m?C(s)?u=s:Se(s)?u=nt(s):p?(d=!1,u=Tt(c,!0)):m?(d=!1,u=zt(c,!0)):u=[]:gt(c)||se(c)?(u=s,se(s)?u=er(s):(!w(s)||ye(s))&&(u=sn(c))):d=!1}d&&(o.set(c,u),i(u,c,r,a,o),o.delete(c)),Qn(e,n,u)}}function nr(e,t,n,r,i){e!==t&&Ce(t,function(a,o){if(i||=new pe,w(a))tr(e,t,o,n,nr,r,i);else{var s=r?r($n(e,o),a,o+``,e,t,i):void 0;s===void 0&&(s=a),Qn(e,o,s)}},B)}function W(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function rr(e){return function(t,n,r){var i=Object(t);if(!P(t)){var a=D(n,3);t=Oe(t),n=function(e){return a(i[e],e,i)}}var o=e(t,n,r);return o>-1?i[a?t[o]:o]:void 0}}var ir=Math.max;function ar(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:$e(n);return i<0&&(i=ir(r+i,0)),_e(e,D(t,3),i)}var or=rr(ar);function sr(e,t){var n=-1,r=P(e)?Array(e.length):[];return ke(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function G(e,t){return(C(e)?v:sr)(e,D(t,3))}function cr(e,t){return e==null?e:Ce(e,Fe(t),B)}function lr(e,t){return e&&Ie(e,Fe(t))}function ur(e,t){return e>t}var dr=Object.prototype.hasOwnProperty;function fr(e,t){return e!=null&&dr.call(e,t)}function pr(e,t){return e!=null&&Te(e,t,fr)}var mr=`[object String]`;function hr(e){return typeof e==`string`||!C(e)&&N(e)&&je(e)==mr}function gr(e,t){return e<t}function K(e,t){var n={};return t=D(t,3),Ie(e,function(e,r,i){I(n,r,t(e,r,i))}),n}function _r(e,t,n){for(var r=-1,i=e.length;++r<i;){var a=e[r],o=t(a);if(o!=null&&(s===void 0?o===o&&!E(o):n(o,s)))var s=o,c=a}return c}function q(e){return e&&e.length?_r(e,ve,ur):void 0}var vr=it(function(e,t,n){nr(e,t,n)});function J(e){return e&&e.length?_r(e,ve,gr):void 0}function yr(e,t){return e&&e.length?_r(e,D(t,2),gr):void 0}function br(e,t,n,r){if(!w(e))return e;t=x(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i<a;){var c=te(t[i]),l=n;if(c===`__proto__`||c===`constructor`||c===`prototype`)return e;if(i!=o){var u=s[c];l=r?r(u,c,s):void 0,l===void 0&&(l=w(u)?u:he(t[i+1])?[]:{})}L(s,c,l),s=s[c]}return e}function xr(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=me(e,o);n(s,o)&&br(a,x(o,e),s)}return a}function Sr(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}function Cr(e,t){if(e!==t){var n=e!==void 0,r=e===null,i=e===e,a=E(e),o=t!==void 0,s=t===null,c=t===t,l=E(t);if(!s&&!l&&!a&&e>t||a&&o&&c&&!s&&!l||r&&o&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&e<t||l&&n&&i&&!r&&!a||s&&n&&i||!o&&i||!c)return-1}return 0}function wr(e,t,n){for(var r=-1,i=e.criteria,a=t.criteria,o=i.length,s=n.length;++r<o;){var c=Cr(i[r],a[r]);if(c)return r>=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}function Tr(e,t,n){t=t.length?v(t,function(e){return C(e)?function(t){return me(t,e.length===1?e[0]:e)}:e}):[ve];var r=-1;return t=v(t,ne(D)),Sr(sr(e,function(e,n,i){return{criteria:v(t,function(t){return t(e)}),index:++r,value:e}}),function(e,t){return wr(e,t,n)})}var Er=Me(`length`),Dr=`\\ud800-\\udfff`,Or=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,kr=`\\ufe0e\\ufe0f`,Ar=`[`+Dr+`]`,jr=`[`+Or+`]`,Mr=`\\ud83c[\\udffb-\\udfff]`,Nr=`(?:`+jr+`|`+Mr+`)`,Pr=`[^`+Dr+`]`,Fr=`(?:\\ud83c[\\udde6-\\uddff]){2}`,Ir=`[\\ud800-\\udbff][\\udc00-\\udfff]`,Lr=`\\u200d`,Rr=Nr+`?`,zr=`[`+kr+`]?`,Br=`(?:`+Lr+`(?:`+[Pr,Fr,Ir].join(`|`)+`)`+zr+Rr+`)*`,Vr=zr+Rr+Br,Hr=`(?:`+[Pr+jr+`?`,jr,Fr,Ir,Ar].join(`|`)+`)`,Ur=RegExp(Mr+`(?=`+Mr+`)|`+Hr+Vr,`g`);function Wr(e){for(var t=Ur.lastIndex=0;Ur.test(e);)++t;return t}function Gr(e){return vt(e)?Wr(e):Er(e)}function Kr(e,t){return xr(e,t,function(t,n){return Ae(e,n)})}var qr=ct(function(e,t){return e==null?{}:Kr(e,t)}),Jr=Math.ceil,Yr=Math.max;function Xr(e,t,n,r){for(var i=-1,a=Yr(Jr((t-e)/(n||1)),0),o=Array(a);a--;)o[r?a:++i]=e,e+=n;return o}function Zr(e){return function(t,n,r){return r&&typeof r!=`number`&&z(t,n,r)&&(n=r=void 0),t=F(t),n===void 0?(n=t,t=0):n=F(n),r=r===void 0?t<n?1:-1:F(r),Xr(t,n,r,e)}}var Y=Zr(),Qr=`[object Map]`,$r=`[object Set]`;function ei(e){if(e==null)return 0;if(P(e))return hr(e)?Gr(e):e.length;var t=be(e);return t==Qr||t==$r?e.size:ee(e).length}var X=y(function(e,t){if(e==null)return[];var n=t.length;return n>1&&z(e,t[0],t[1])?t=[]:n>2&&z(t[0],t[1],t[2])&&(t=[t[0]]),Tr(e,b(t,1),[])}),ti=0;function ni(e){var t=++ti;return ue(e)+t}function ri(e,t,n){for(var r=-1,i=e.length,a=t.length,o={};++r<i;){var s=r<a?t[r]:void 0;n(o,e[r],s)}return o}function ii(e,t){return ri(e||[],t||[],L)}var ai=class{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,t=e._prev;if(t!==e)return oi(t),t}enqueue(e){var t=this._sentinel;e._prev&&e._next&&oi(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,si)),n=n._prev;return`[`+e.join(`, `)+`]`}};function oi(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function si(e,t){if(e!==`_next`&&e!==`_prev`)return t}var ci=ae(1);function li(e,t){if(e.nodeCount()<=1)return[];var n=fi(e,t||ci);return V(G(ui(n.graph,n.buckets,n.zeroIdx),function(t){return e.outEdges(t.v,t.w)}))}function ui(e,t,n){for(var r=[],i=t[t.length-1],a=t[0],o;e.nodeCount();){for(;o=a.dequeue();)di(e,t,n,o);for(;o=i.dequeue();)di(e,t,n,o);if(e.nodeCount()){for(var s=t.length-2;s>0;--s)if(o=t[s].dequeue(),o){r=r.concat(di(e,t,n,o,!0));break}}}return r}function di(e,t,n,r,i){var a=i?[]:void 0;return A(e.inEdges(r.v),function(r){var o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,pi(t,n,s)}),A(e.outEdges(r.v),function(r){var i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,pi(t,n,o)}),e.removeNode(r.v),a}function fi(e,t){var n=new M,r=0,i=0;A(e.nodes(),function(e){n.setNode(e,{v:e,in:0,out:0})}),A(e.edges(),function(e){var a=n.edge(e.v,e.w)||0,o=t(e),s=a+o;n.setEdge(e.v,e.w,s),i=Math.max(i,n.node(e.v).out+=o),r=Math.max(r,n.node(e.w).in+=o)});var a=Y(i+r+3).map(function(){return new ai}),o=r+1;return A(n.nodes(),function(e){pi(a,o,n.node(e))}),{graph:n,buckets:a,zeroIdx:o}}function pi(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}function mi(e){var t=e.graph().acyclicer===`greedy`?li(e,n(e)):hi(e);A(t,function(t){var n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,ni(`rev`))});function n(e){return function(t){return e.edge(t).weight}}}function hi(e){var t=[],n={},r={};function i(a){Object.prototype.hasOwnProperty.call(r,a)||(r[a]=!0,n[a]=!0,A(e.outEdges(a),function(e){Object.prototype.hasOwnProperty.call(n,e.w)?t.push(e):i(e.w)}),delete n[a])}return A(e.nodes(),i),t}function gi(e){A(e.edges(),function(t){var n=e.edge(t);if(n.reversed){e.removeEdge(t);var r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}function Z(e,t,n,r){var i;do i=ni(r);while(e.hasNode(i));return n.dummy=t,e.setNode(i,n),i}function _i(e){var t=new M().setGraph(e.graph());return A(e.nodes(),function(n){t.setNode(n,e.node(n))}),A(e.edges(),function(n){var r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function vi(e){var t=new M({multigraph:e.isMultigraph()}).setGraph(e.graph());return A(e.nodes(),function(n){e.children(n).length||t.setNode(n,e.node(n))}),A(e.edges(),function(n){t.setEdge(n,e.edge(n))}),t}function yi(e,t){var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);var c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function bi(e){var t=G(Y(wi(e)+1),function(){return[]});return A(e.nodes(),function(n){var r=e.node(n),i=r.rank;j(i)||(t[i][r.order]=n)}),t}function xi(e){var t=J(G(e.nodes(),function(t){return e.node(t).rank}));A(e.nodes(),function(n){var r=e.node(n);pr(r,`rank`)&&(r.rank-=t)})}function Si(e){var t=J(G(e.nodes(),function(t){return e.node(t).rank})),n=[];A(e.nodes(),function(r){var i=e.node(r).rank-t;n[i]||(n[i]=[]),n[i].push(r)});var r=0,i=e.graph().nodeRankFactor;A(n,function(t,n){j(t)&&n%i!==0?--r:r&&A(t,function(t){e.node(t).rank+=r})})}function Ci(e,t,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),Z(e,`border`,i,t)}function wi(e){return q(G(e.nodes(),function(t){var n=e.node(t).rank;if(!j(n))return n}))}function Ti(e,t){var n={lhs:[],rhs:[]};return A(e,function(e){t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function Ei(e,t){var n=Jn();try{return t()}finally{console.log(e+` time: `+(Jn()-n)+`ms`)}}function Di(e,t){return t()}function Oi(e){function t(n){var r=e.children(n),i=e.node(n);if(r.length&&A(r,t),Object.prototype.hasOwnProperty.call(i,`minRank`)){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;a<o;++a)ki(e,`borderLeft`,`_bl`,n,i,a),ki(e,`borderRight`,`_br`,n,i,a)}}A(e.children(),t)}function ki(e,t,n,r,i,a){var o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=Z(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function Ai(e){var t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&Mi(e)}function ji(e){var t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&Pi(e),(t===`lr`||t===`rl`)&&(Ii(e),Mi(e))}function Mi(e){A(e.nodes(),function(t){Ni(e.node(t))}),A(e.edges(),function(t){Ni(e.edge(t))})}function Ni(e){var t=e.width;e.width=e.height,e.height=t}function Pi(e){A(e.nodes(),function(t){Fi(e.node(t))}),A(e.edges(),function(t){var n=e.edge(t);A(n.points,Fi),Object.prototype.hasOwnProperty.call(n,`y`)&&Fi(n)})}function Fi(e){e.y=-e.y}function Ii(e){A(e.nodes(),function(t){Li(e.node(t))}),A(e.edges(),function(t){var n=e.edge(t);A(n.points,Li),Object.prototype.hasOwnProperty.call(n,`x`)&&Li(n)})}function Li(e){var t=e.x;e.x=e.y,e.y=t}function Ri(e){e.graph().dummyChains=[],A(e.edges(),function(t){zi(e,t)})}function zi(e,t){var n=t.v,r=e.node(n).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==r+1){e.removeEdge(t);var l=void 0,u,d=0;for(++r;r<a;++d,++r)s.points=[],l={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},u=Z(e,`edge`,l,`_d`),r===c&&(l.width=s.width,l.height=s.height,l.dummy=`edge-label`,l.labelpos=s.labelpos),e.setEdge(n,u,{weight:s.weight},o),d===0&&e.graph().dummyChains.push(u),n=u;e.setEdge(n,i,{weight:s.weight},o)}}function Bi(e){A(e.graph().dummyChains,function(t){var n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}function Vi(e){var t={};function n(r){var i=e.node(r);if(Object.prototype.hasOwnProperty.call(t,r))return i.rank;t[r]=!0;var a=J(G(e.outEdges(r),function(t){return n(t.w)-e.edge(t).minlen}));return(a===1/0||a==null)&&(a=0),i.rank=a}A(e.sources(),n)}function Q(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function Hi(e){var t=new M({directed:!1}),n=e.nodes()[0],r=e.nodeCount();t.setNode(n,{});for(var i,a;Ui(t,e)<r;)i=Wi(t,e),a=t.hasNode(i.v)?Q(e,i):-Q(e,i),Gi(t,e,a);return t}function Ui(e,t){function n(r){A(t.nodeEdges(r),function(i){var a=i.v,o=r===a?i.w:a;!e.hasNode(o)&&!Q(t,i)&&(e.setNode(o,{}),e.setEdge(r,o,{}),n(o))})}return A(e.nodes(),n),e.nodeCount()}function Wi(e,t){return yr(t.edges(),function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return Q(t,n)})}function Gi(e,t,n){A(e.nodes(),function(e){t.node(e).rank+=n})}ae(1),ae(1),Ki.CycleException=qi;function Ki(e){var t={},n={},r=[];function i(a){if(Object.prototype.hasOwnProperty.call(n,a))throw new qi;Object.prototype.hasOwnProperty.call(t,a)||(n[a]=!0,t[a]=!0,A(e.predecessors(a),i),delete n[a],r.push(a))}if(A(e.sinks(),i),ei(t)!==e.nodeCount())throw new qi;return r}function qi(){}qi.prototype=Error();function Ji(e,t,n){C(t)||(t=[t]);var r=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],a={};return A(t,function(t){if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);Yi(e,t,n===`post`,a,r,i)}),i}function Yi(e,t,n,r,i,a){Object.prototype.hasOwnProperty.call(r,t)||(r[t]=!0,n||a.push(t),A(i(t),function(t){Yi(e,t,n,r,i,a)}),n&&a.push(t))}function Xi(e,t){return Ji(e,t,`post`)}function Zi(e,t){return Ji(e,t,`pre`)}$.initLowLimValues=ta,$.initCutValues=Qi,$.calcCutValue=ea,$.leaveEdge=ra,$.enterEdge=ia,$.exchangeEdges=aa;function $(e){e=_i(e),Vi(e);var t=Hi(e);ta(t),Qi(t,e);for(var n,r;n=ra(t);)r=ia(t,e,n),aa(t,e,n,r)}function Qi(e,t){var n=Xi(e,e.nodes());n=n.slice(0,n.length-1),A(n,function(n){$i(e,t,n)})}function $i(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=ea(e,t,n)}function ea(e,t,n){var r=e.node(n).parent,i=!0,a=t.edge(n,r),o=0;return a||=(i=!1,t.edge(r,n)),o=a.weight,A(t.nodeEdges(n),function(a){var s=a.v===n,c=s?a.w:a.v;if(c!==r){var l=s===i,u=t.edge(a).weight;if(o+=l?u:-u,sa(e,n,c)){var d=e.edge(n,c).cutvalue;o+=l?-d:d}}}),o}function ta(e,t){arguments.length<2&&(t=e.nodes()[0]),na(e,{},1,t)}function na(e,t,n,r,i){var a=n,o=e.node(r);return t[r]=!0,A(e.neighbors(r),function(i){Object.prototype.hasOwnProperty.call(t,i)||(n=na(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function ra(e){return or(e.edges(),function(t){return e.edge(t).cutvalue<0})}function ia(e,t,n){var r=n.v,i=n.w;t.hasEdge(r,i)||(r=n.w,i=n.v);var a=e.node(r),o=e.node(i),s=a,c=!1;return a.lim>o.lim&&(s=o,c=!0),yr(T(t.edges(),function(t){return c===ca(e,e.node(t.v),s)&&c!==ca(e,e.node(t.w),s)}),function(e){return Q(t,e)})}function aa(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),ta(e),Qi(e,t),oa(e,t)}function oa(e,t){var n=Zi(e,or(e.nodes(),function(e){return!t.node(e).parent}));n=n.slice(1),A(n,function(n){var r=e.node(n).parent,i=t.edge(n,r),a=!1;i||(i=t.edge(r,n),a=!0),t.node(n).rank=t.node(r).rank+(a?i.minlen:-i.minlen)})}function sa(e,t,n){return e.hasEdge(t,n)}function ca(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}function la(e){switch(e.graph().ranker){case`network-simplex`:fa(e);break;case`tight-tree`:da(e);break;case`longest-path`:ua(e);break;default:fa(e)}}var ua=Vi;function da(e){Vi(e),Hi(e)}function fa(e){$(e)}function pa(e){var t=Z(e,`root`,{},`_root`),n=ha(e),r=q(O(n))-1,i=2*r+1;e.graph().nestingRoot=t,A(e.edges(),function(t){e.edge(t).minlen*=i});var a=ga(e)+1;A(e.children(),function(o){ma(e,t,i,a,r,n,o)}),e.graph().nodeRankFactor=i}function ma(e,t,n,r,i,a,o){var s=e.children(o);if(!s.length)o!==t&&e.setEdge(t,o,{weight:0,minlen:n});else{var c=Ci(e,`_bt`),l=Ci(e,`_bb`),u=e.node(o);e.setParent(c,o),u.borderTop=c,e.setParent(l,o),u.borderBottom=l,A(s,function(s){ma(e,t,n,r,i,a,s);var u=e.node(s),d=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,p=u.borderTop?r:2*r,m=d===f?i-a[o]+1:1;e.setEdge(c,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,l,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,c,{weight:0,minlen:i+a[o]})}}function ha(e){var t={};function n(r,i){var a=e.children(r);a&&a.length&&A(a,function(e){n(e,i+1)}),t[r]=i}return A(e.children(),function(e){n(e,1)}),t}function ga(e){return k(e.edges(),function(t,n){return t+e.edge(n).weight},0)}function _a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,A(e.edges(),function(t){e.edge(t).nestingEdge&&e.removeEdge(t)})}function va(e,t,n){var r={},i;A(n,function(n){for(var a=e.parent(n),o,s;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}function ya(e,t,n){var r=ba(e),i=new M({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(t){return e.node(t)});return A(e.nodes(),function(a){var o=e.node(a),s=e.parent(a);(o.rank===t||o.minRank<=t&&t<=o.maxRank)&&(i.setNode(a),i.setParent(a,s||r),A(e[n](a),function(t){var n=t.v===a?t.w:t.v,r=i.edge(n,a),o=j(r)?0:r.weight;i.setEdge(n,a,{weight:e.edge(t).weight+o})}),Object.prototype.hasOwnProperty.call(o,`minRank`)&&i.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]}))}),i}function ba(e){for(var t;e.hasNode(t=ni(`_root`)););return t}function xa(e,t){for(var n=0,r=1;r<t.length;++r)n+=Sa(e,t[r-1],t[r]);return n}function Sa(e,t,n){for(var r=ii(n,G(n,function(e,t){return t})),i=V(G(t,function(t){return X(G(e.outEdges(t),function(t){return{pos:r[t.w],weight:e.edge(t).weight}}),`pos`)})),a=1;a<n.length;)a<<=1;var o=2*a-1;--a;var s=G(Array(o),function(){return 0}),c=0;return A(i.forEach(function(e){var t=e.pos+a;s[t]+=e.weight;for(var n=0;t>0;)t%2&&(n+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*n})),c}function Ca(e){var t={},n=T(e.nodes(),function(t){return!e.children(t).length}),r=G(Y(q(G(n,function(t){return e.node(t).rank}))+1),function(){return[]});function i(n){pr(t,n)||(t[n]=!0,r[e.node(n).rank].push(n),A(e.successors(n),i))}var a=X(n,function(t){return e.node(t).rank});return A(a,i),r}function wa(e,t){return G(t,function(t){var n=e.inEdges(t);if(n.length){var r=k(n,function(t,n){var r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}return{v:t}})}function Ta(e,t){var n={};return A(e,function(e,t){var r=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};j(e.barycenter)||(r.barycenter=e.barycenter,r.weight=e.weight)}),A(t.edges(),function(e){var t=n[e.v],r=n[e.w];!j(t)&&!j(r)&&(r.indegree++,t.out.push(n[e.w]))}),Ea(T(n,function(e){return!e.indegree}))}function Ea(e){var t=[];function n(e){return function(t){t.merged||(j(t.barycenter)||j(e.barycenter)||t.barycenter>=e.barycenter)&&Da(e,t)}}function r(t){return function(n){n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){var i=e.pop();t.push(i),A(i.in.reverse(),n(i)),A(i.out,r(i))}return G(T(t,function(e){return!e.merged}),function(e){return qr(e,[`vs`,`i`,`barycenter`,`weight`])})}function Da(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}function Oa(e,t){var n=Ti(e,function(e){return Object.prototype.hasOwnProperty.call(e,`barycenter`)}),r=n.lhs,i=X(n.rhs,function(e){return-e.i}),a=[],o=0,s=0,c=0;r.sort(Aa(!!t)),c=ka(a,i,c),A(r,function(e){c+=e.vs.length,a.push(e.vs),o+=e.barycenter*e.weight,s+=e.weight,c=ka(a,i,c)});var l={vs:V(a)};return s&&(l.barycenter=o/s,l.weight=s),l}function ka(e,t,n){for(var r;t.length&&(r=W(t)).i<=n;)t.pop(),e.push(r.vs),n++;return n}function Aa(e){return function(t,n){return t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}}function ja(e,t,n,r){var i=e.children(t),a=e.node(t),o=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};o&&(i=T(i,function(e){return e!==o&&e!==s}));var l=wa(e,i);A(l,function(t){if(e.children(t.v).length){var i=ja(e,t.v,n,r);c[t.v]=i,Object.prototype.hasOwnProperty.call(i,`barycenter`)&&Na(t,i)}});var u=Ta(l,n);Ma(u,c);var d=Oa(u,r);if(o&&(d.vs=V([o,d.vs,s]),e.predecessors(o).length)){var f=e.node(e.predecessors(o)[0]),p=e.node(e.predecessors(s)[0]);Object.prototype.hasOwnProperty.call(d,`barycenter`)||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function Ma(e,t){A(e,function(e){e.vs=V(e.vs.map(function(e){return t[e]?t[e].vs:e}))})}function Na(e,t){j(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}function Pa(e){var t=wi(e),n=Fa(e,Y(1,t+1),`inEdges`),r=Fa(e,Y(t-1,-1,-1),`outEdges`),i=Ca(e);La(e,i);for(var a=1/0,o,s=0,c=0;c<4;++s,++c){Ia(s%2?n:r,s%4>=2),i=bi(e);var l=xa(e,i);l<a&&(c=0,o=qn(i),a=l)}La(e,o)}function Fa(e,t,n){return G(t,function(t){return ya(e,t,n)})}function Ia(e,t){var n=new M;A(e,function(e){var r=e.graph().root,i=ja(e,r,n,t);A(i.vs,function(t,n){e.node(t).order=n}),va(e,n,i.vs)})}function La(e,t){A(t,function(t){A(t,function(t,n){e.node(t).order=n})})}function Ra(e){var t=Ba(e);A(e.graph().dummyChains,function(n){for(var r=e.node(n),i=r.edgeObj,a=za(e,t,i.v,i.w),o=a.path,s=a.lca,c=0,l=o[c],u=!0;n!==i.w;){if(r=e.node(n),u){for(;(l=o[c])!==s&&e.node(l).maxRank<r.rank;)c++;l===s&&(u=!1)}if(!u){for(;c<o.length-1&&e.node(l=o[c+1]).minRank<=r.rank;)c++;l=o[c]}e.setParent(n,l),n=e.successors(n)[0]}})}function za(e,t,n,r){var i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c=n,l;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));for(l=c,c=r;(c=e.parent(c))!==l;)a.push(c);return{path:i.concat(a.reverse()),lca:l}}function Ba(e){var t={},n=0;function r(i){var a=n;A(e.children(i),r),t[i]={low:a,lim:n++}}return A(e.children(),r),t}function Va(e,t){var n={};function r(t,r){var i=0,a=0,o=t.length,s=W(r);return A(r,function(t,c){var l=Ua(e,t),u=l?e.node(l).order:o;(l||t===s)&&(A(r.slice(a,c+1),function(t){A(e.predecessors(t),function(r){var a=e.node(r),o=a.order;(o<i||u<o)&&!(a.dummy&&e.node(t).dummy)&&Wa(n,r,t)})}),a=c+1,i=u)}),r}return k(t,r),n}function Ha(e,t){var n={};function r(t,r,i,a,o){var s;A(Y(r,i),function(r){s=t[r],e.node(s).dummy&&A(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.order<a||r.order>o)&&Wa(n,t,s)})})}function i(t,n){var i=-1,a,o=0;return A(n,function(s,c){if(e.node(s).dummy===`border`){var l=e.predecessors(s);l.length&&(a=e.node(l[0]).order,r(n,o,c,i,a),o=c,i=a)}r(n,o,n.length,a,t.length)}),n}return k(t,i),n}function Ua(e,t){if(e.node(t).dummy)return or(e.predecessors(t),function(t){return e.node(t).dummy})}function Wa(e,t,n){if(t>n){var r=t;t=n,n=r}Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=e[t];Object.defineProperty(i,n,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function Ga(e,t,n){if(t>n){var r=t;t=n,n=r}return!!e[t]&&Object.prototype.hasOwnProperty.call(e[t],n)}function Ka(e,t,n,r){var i={},a={},o={};return A(t,function(e){A(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),A(t,function(e){var t=-1;A(e,function(e){var s=r(e);if(s.length){s=X(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),u=Math.ceil(c);l<=u;++l){var d=s[l];a[e]===e&&t<o[d]&&!Ga(n,e,d)&&(a[d]=e,a[e]=i[e]=i[d],t=o[d])}}})}),{root:i,align:a}}function qa(e,t,n,r,i){var a={},o=Ja(e,t,n,i),s=i?`borderLeft`:`borderRight`;function c(e,t){for(var n=o.nodes(),r=n.pop(),i={};r;)i[r]?e(r):(i[r]=!0,n.push(r),n=n.concat(t(r))),r=n.pop()}function l(e){a[e]=o.inEdges(e).reduce(function(e,t){return Math.max(e,a[t.v]+o.edge(t))},0)}function u(t){var n=o.outEdges(t).reduce(function(e,t){return Math.min(e,a[t.w]-o.edge(t))},1/0),r=e.node(t);n!==1/0&&r.borderType!==s&&(a[t]=Math.max(a[t],n))}return c(l,o.predecessors.bind(o)),c(u,o.successors.bind(o)),A(r,function(e){a[e]=a[n[e]]}),a}function Ja(e,t,n,r){var i=new M,a=e.graph(),o=$a(a.nodesep,a.edgesep,r);return A(t,function(t){var r;A(t,function(t){var a=n[t];if(i.setNode(a),r){var s=n[r],c=i.edge(s,a);i.setEdge(s,a,Math.max(o(e,t,r),c||0))}r=t})}),i}function Ya(e,t){return yr(O(t),function(t){var n=-1/0,r=1/0;return cr(t,function(t,i){var a=eo(e,i)/2;n=Math.max(t+a,n),r=Math.min(t-a,r)}),n-r})}function Xa(e,t){var n=O(t),r=J(n),i=q(n);A([`u`,`d`],function(n){A([`l`,`r`],function(a){var o=n+a,s=e[o],c;if(s!==t){var l=O(s);c=a===`l`?r-J(l):i-q(l),c&&(e[o]=K(s,function(e){return e+c}))}})})}function Za(e,t){return K(e.ul,function(n,r){if(t)return e[t.toLowerCase()][r];var i=X(G(e,r));return(i[1]+i[2])/2})}function Qa(e){var t=bi(e),n=vr(Va(e,t),Ha(e,t)),r={},i;return A([`u`,`d`],function(a){i=a===`u`?t:O(t).reverse(),A([`l`,`r`],function(t){t===`r`&&(i=G(i,function(e){return O(e).reverse()}));var o=(a===`u`?e.predecessors:e.successors).bind(e),s=Ka(e,i,n,o),c=qa(e,i,s.root,s.align,t===`r`);t===`r`&&(c=K(c,function(e){return-e})),r[a+t]=c})}),Xa(r,Ya(e,r)),Za(r,e.graph().align)}function $a(e,t,n){return function(r,i,a){var o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.prototype.hasOwnProperty.call(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2}if(l&&(c+=n?l:-l),l=0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.prototype.hasOwnProperty.call(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2}return l&&(c+=n?l:-l),l=0,c}}function eo(e,t){return e.node(t).width}function to(e){e=vi(e),no(e),lr(Qa(e),function(t,n){e.node(n).x=t})}function no(e){var t=bi(e),n=e.graph().ranksep,r=0;A(t,function(t){var i=q(G(t,function(t){return e.node(t).height}));A(t,function(t){e.node(t).y=r+i/2}),r+=i+n})}function ro(e,t){var n=t&&t.debugTiming?Ei:Di;n(`layout`,()=>{var t=n(` buildLayoutGraph`,()=>ho(e));n(` runLayout`,()=>io(t,n)),n(` updateInputGraph`,()=>ao(e,t))})}function io(e,t){t(` makeSpaceForEdgeLabels`,()=>go(e)),t(` removeSelfEdges`,()=>To(e)),t(` acyclic`,()=>mi(e)),t(` nestingGraph.run`,()=>pa(e)),t(` rank`,()=>la(vi(e))),t(` injectEdgeLabelProxies`,()=>_o(e)),t(` removeEmptyRanks`,()=>Si(e)),t(` nestingGraph.cleanup`,()=>_a(e)),t(` normalizeRanks`,()=>xi(e)),t(` assignRankMinMax`,()=>vo(e)),t(` removeEdgeLabelProxies`,()=>yo(e)),t(` normalize.run`,()=>Ri(e)),t(` parentDummyChains`,()=>Ra(e)),t(` addBorderSegments`,()=>Oi(e)),t(` order`,()=>Pa(e)),t(` insertSelfEdges`,()=>Eo(e)),t(` adjustCoordinateSystem`,()=>Ai(e)),t(` position`,()=>to(e)),t(` positionSelfEdges`,()=>Do(e)),t(` removeBorderNodes`,()=>wo(e)),t(` normalize.undo`,()=>Bi(e)),t(` fixupEdgeLabelCoords`,()=>So(e)),t(` undoCoordinateSystem`,()=>ji(e)),t(` translateGraph`,()=>bo(e)),t(` assignNodeIntersects`,()=>xo(e)),t(` reversePoints`,()=>Co(e)),t(` acyclic.undo`,()=>gi(e))}function ao(e,t){A(e.nodes(),function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))}),A(e.edges(),function(n){var r=e.edge(n),i=t.edge(n);r.points=i.points,Object.prototype.hasOwnProperty.call(i,`x`)&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var oo=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],so={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},co=[`acyclicer`,`ranker`,`rankdir`,`align`],lo=[`width`,`height`],uo={width:0,height:0},fo=[`minlen`,`weight`,`width`,`height`,`labeloffset`],po={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},mo=[`labelpos`];function ho(e){var t=new M({multigraph:!0,compound:!0}),n=ko(e.graph());return t.setGraph(vr({},so,Oo(n,oo),qr(n,co))),A(e.nodes(),function(n){var r=ko(e.node(n));t.setNode(n,Zn(Oo(r,lo),uo)),t.setParent(n,e.parent(n))}),A(e.edges(),function(n){var r=ko(e.edge(n));t.setEdge(n,vr({},po,Oo(r,fo),qr(r,mo)))}),t}function go(e){var t=e.graph();t.ranksep/=2,A(e.edges(),function(n){var r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function _o(e){A(e.edges(),function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v);Z(e,`edge-proxy`,{rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t},`_ep`)}})}function vo(e){var t=0;A(e.nodes(),function(n){var r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=q(t,r.maxRank))}),e.graph().maxRank=t}function yo(e){A(e.nodes(),function(t){var n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function bo(e){var t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function c(e){var a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}A(e.nodes(),function(t){c(e.node(t))}),A(e.edges(),function(t){var n=e.edge(t);Object.prototype.hasOwnProperty.call(n,`x`)&&c(n)}),t-=o,r-=s,A(e.nodes(),function(n){var i=e.node(n);i.x-=t,i.y-=r}),A(e.edges(),function(n){var i=e.edge(n);A(i.points,function(e){e.x-=t,e.y-=r}),Object.prototype.hasOwnProperty.call(i,`x`)&&(i.x-=t),Object.prototype.hasOwnProperty.call(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function xo(e){A(e.edges(),function(t){var n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(yi(r,a)),n.points.push(yi(i,o))})}function So(e){A(e.edges(),function(t){var n=e.edge(t);if(Object.prototype.hasOwnProperty.call(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset}})}function Co(e){A(e.edges(),function(t){var n=e.edge(t);n.reversed&&n.points.reverse()})}function wo(e){A(e.nodes(),function(t){if(e.children(t).length){var n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(W(n.borderLeft)),o=e.node(W(n.borderRight));n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),A(e.nodes(),function(t){e.node(t).dummy===`border`&&e.removeNode(t)})}function To(e){A(e.edges(),function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function Eo(e){var t=bi(e);A(t,function(t){var n=0;A(t,function(t,r){var i=e.node(t);i.order=r+n,A(i.selfEdges,function(t){Z(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,label:t.label},`_se`)}),delete i.selfEdges})})}function Do(e){A(e.nodes(),function(t){var n=e.node(t);if(n.dummy===`selfedge`){var r=e.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}})}function Oo(e,t){return K(qr(e,t),Number)}function ko(e){var t={};return A(e,function(e,n){t[n.toLowerCase()]=e}),t}var Ao=_((e,t,n)=>Math.max(t,Math.min(n,e)),`clamp`),jo=_((e=`TB`)=>{switch(e){case`BT`:return`bottom`;case`LR`:return`right`;case`RL`:return`left`;default:return`top`}},`getDefaultSelfLoopSide`),Mo=_(e=>e===`flowchart`||e===`flowchart-v2`||e===`stateDiagram`||e===`er`||e===`classDiagram`,`shouldMergeSelfLoopSegments`),No=[`x`,`y`,`width`,`height`,`labelBBox`,`intersect`,`calcIntersect`,`diff`,`clusterNode`],Po=_((e,t,n,r,i)=>{let a=[],o=new Set;if(n.forEach(({start:e,end:t})=>{e!==r&&o.add(e),t!==r&&o.add(t)}),o.forEach(t=>{let n=e.node(t);typeof n?.x==`number`&&typeof n?.y==`number`&&a.push(n)}),a.length===0&&n.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{typeof e?.x==`number`&&typeof e?.y==`number`&&a.push(e)})}),a.length===0)return jo(i);let s=a.reduce((e,t)=>({x:e.x+t.x/a.length,y:e.y+t.y/a.length}),{x:0,y:0}),c=s.x-t.x,l=s.y-t.y;return Math.abs(c)>Math.abs(l)?c>0?`right`:`left`:Math.abs(l)>0?l>0?`bottom`:`top`:jo(i)},`getSelfLoopSide`),Fo=_((e,t=`top`,n=0,r=0)=>{let i=e.x,a=e.y-n,o=e.width/2,s=e.height/2,c=Math.max(36,Math.min(100,e.width*.8)),l=Ao(Math.max(r,e.width*.35),36,c),u=Ao(Math.min(e.width,e.height)*.45,24,48);switch(t){case`bottom`:{let e=a+s;return[{x:i-l/2,y:e},{x:i-l/2,y:e+u},{x:i+l/2,y:e+u},{x:i+l/2,y:e}]}case`right`:{let e=i+o;return[{x:e,y:a-l/2},{x:e+u,y:a-l/2},{x:e+u,y:a+l/2},{x:e,y:a+l/2}]}case`left`:{let e=i-o;return[{x:e,y:a-l/2},{x:e-u,y:a-l/2},{x:e-u,y:a+l/2},{x:e,y:a+l/2}]}default:{let e=a-s;return[{x:i-l/2,y:e},{x:i-l/2,y:e-u},{x:i+l/2,y:e-u},{x:i+l/2,y:e}]}}},`getSelfLoopPoints`),Io=_((e,t,n=`top`,r=0,i={})=>{let a=e.x,o=e.y-r,s=i.width??0,c=i.height??0;switch(n){case`bottom`:return{x:a,y:Math.max(...t.map(e=>e.y))+c/2+4};case`right`:return{x:Math.max(...t.map(e=>e.x))+s/2+4,y:o};case`left`:return{x:Math.min(...t.map(e=>e.x))-s/2-4,y:o};default:return{x:a,y:Math.min(...t.map(e=>e.y))-c/2-4}}},`getSelfLoopLabelPosition`),Lo=_((e,t=0,{mergeSelfLoops:n=!0}={})=>{let r=new Map,i=[],a=e.graph()?.rankdir;return e.edges().forEach(t=>{let a=e.edge(t);if(n&&a.selfLoop){let e=a.selfLoop.id;r.has(e)||r.set(e,[]),r.get(e).push({edge:a,start:t.v,end:t.w})}else i.push({edge:a,start:t.v,end:t.w})}),r.forEach(n=>{if(n.length!==3){n.forEach(e=>i.push(e));return}n.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[r,o,s]=n,c=r.edge.originalEdge??o.edge.originalEdge??s.edge.originalEdge??o.edge,l=e.node(c.start);if(!l){n.forEach(e=>i.push(e));return}let u={width:o.edge.width,height:o.edge.height},d=Po(e,l,n,c.start,a),f=Fo(l,d,t,u.width??0),p=Io(l,f,d,t,u),m={...o.edge,...c,id:c.id,points:f,start:c.start,end:c.end,x:p.x,y:p.y,width:u.width,height:u.height,labelStyle:o.edge.labelStyle,fromCluster:r.edge.fromCluster??o.edge.fromCluster??s.edge.fromCluster,toCluster:r.edge.toCluster??o.edge.toCluster??s.edge.toCluster};delete m.selfLoop,delete m.originalEdge,i.push({edge:m,start:m.start,end:m.end})}),i},`getEdgesToRender`),Ro=_(async({element:e,graph:i,diagramType:o,id:s,parentCluster:l,siteConfig:u})=>{let f=i.graph().rankdir;g.trace(`Dir in recursive render - dir:`,f);let{clusters:h,edgePaths:v,edgeLabels:ee,nodes:y,rootGroups:b}=t(e,{edgePathsClass:`edgePaths`});i.nodes()?g.info(`Recursive render XXX`,i.nodes()):g.info(`No nodes found for`,i),i.edges().length>0&&g.info(`Recursive edges`,i.edge(i.edges()[0]));let x=Mo(o);await Promise.all(i.nodes().map(async function(e){let t=i.node(e);if(l!==void 0){let t=JSON.parse(JSON.stringify(l.clusterData));g.trace(`Setting data for parent cluster XXX
|
|
2
|
+
Node.id = `,e,`
|
|
3
|
+
data=`,t.height,`
|
|
4
|
+
Parent cluster`,l.height),i.setNode(l.id,t),i.parent(e)||(g.trace(`Setting parent`,e,l.id),i.setParent(e,l.id,t))}if(g.info(`(Insert) Node XXX`+e+`: `+JSON.stringify(i.node(e))),t?.clusterNode){g.info(`Cluster identified XBX`,e,t.width,i.node(e));let{ranksep:n,nodesep:r}=i.graph();t.graph.setGraph({...t.graph.graph(),ranksep:n+25,nodesep:r});let a=await Go({element:y,graph:t.graph,diagramType:o,id:s,parentCluster:i.node(e),siteConfig:u}),c=a.elem;m(t,c),t.diff=a.diff||0,g.info(`New compound node after recursive render XAX`,e,`width`,t.width,`height`,t.height),d(c,t)}else i.children(e).length>0?(g.trace(`Cluster - the non recursive path XBX`,e,t.id,t,t.width,`Graph:`,i),g.trace(r(t.id,i)),n.set(t.id,{id:r(t.id,i),node:t})):(g.trace(`Node - the non recursive path XAX`,e,y,i.node(e),f),await a(y,i.node(e),{config:u,dir:f}))})),await _(async()=>{let e=i.edges().map(async function(e){let t=i.edge(e.v,e.w,e.name);if(g.info(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(e)),g.info(`Edge `+e.v+` -> `+e.w+`: `,e,` `,JSON.stringify(i.edge(e))),g.info(`Fix`,n,`ids:`,e.v,e.w,`Translating: `,n.get(e.v),n.get(e.w)),x&&t.selfLoop){if(t.selfLoop.order!==1)return;let e={...t.originalEdge,...t,id:t.selfLoop.id,startLabelLeft:t.originalEdge?.startLabelLeft??t.startLabelLeft,startLabelRight:t.originalEdge?.startLabelRight??t.startLabelRight,endLabelLeft:t.originalEdge?.endLabelLeft??t.endLabelLeft,endLabelRight:t.originalEdge?.endLabelRight??t.endLabelRight};await c(ee,e),t.width=e.width,t.height=e.height,t.labelStyle=e.labelStyle}else await c(ee,t)});await Promise.all(e)},`processEdges`)();let{subGraphTitleTotalMargin:te}=p(u);return{elem:b,graph:i,groups:{clusters:h,edgePaths:v,edgeLabels:ee,nodes:y,rootGroups:b},diagramType:o,id:s,mergeSelfLoops:x,subGraphTitleTotalMargin:te}},`measureDagreGraph`),zo=_(e=>{g.info(`############################################# XXX`),g.info(`### Layout ### XXX`),g.info(`############################################# XXX`),ro(e)},`runDagreGraphLayout`),Bo=_((e,t,n)=>{let r=e.node(t);if(!r)return;let i={...r};return r?.clusterNode?i.y=(r.y??0)+n:e.children(t).length>0?i.height=(r.height??0)+n:i.y=(r.y??0)+n/2,i},`normalizeDagreNode`),Vo=_((e,t)=>{No.forEach(n=>{t[n]!==void 0&&(e[n]=t[n])})},`applyDagreNodeLayout`),Ho=_((e,t,n,r)=>({...e,start:e.start??t,end:e.end??n,points:(e.points??[]).map(e=>({...e,y:typeof e.y==`number`?e.y+r:e.y}))}),`normalizeDagreEdge`),Uo=_((t,n)=>{let{graph:r,mergeSelfLoops:i,subGraphTitleTotalMargin:a=0}=n,o=new Map(t.nodes.map(e=>[e.id,e]));e(r).forEach(e=>{let t=Bo(r,e,a);if(!t)return;Vo(r.node(e),t);let n=o.get(e);n&&Vo(n,t)});let s=a/2;return t.edges=Lo(r,s,{mergeSelfLoops:i}).map(({edge:e,start:t,end:n})=>Ho(e,t,n,s)),t},`applyDagreLayoutResult`),Wo=_(async({elem:t,graph:r,groups:{clusters:i,edgePaths:a},diagramType:o,id:c,mergeSelfLoops:d,subGraphTitleTotalMargin:p})=>{let m=0;await Promise.all(e(r).map(async function(e){let t=r.node(e);if(g.info(`Position XBX => `+e+`: (`+t.x,`,`+t.y,`) width: `,t.width,` height: `,t.height),t?.clusterNode)t.y+=p,g.info(`A tainted cluster node XBX1`,e,t.id,t.width,t.height,t.x,t.y,r.parent(e)),n.get(t.id).node=t,f(t);else if(r.children(e).length>0){g.info(`A pure cluster node XBX1`,e,t.id,t.x,t.y,t.width,t.height,r.parent(e)),t.height+=p,r.node(t.parentId);let a=t?.padding/2||0,o=t?.labelBBox?.height||0,c=o-a||0;g.debug(`OffsetY`,c,`labelHeight`,o,`halfPadding`,a),await s(i,t),n.get(t.id).node=t}else{let e=r.node(t.parentId);t.y+=p/2,g.info(`A regular node XBX1 - using the padding`,t.id,`parent`,t.parentId,t.width,t.height,t.x,t.y,`offsetY`,t.offsetY,`parent`,e,e?.offsetY,t),f(t)}}));let h=p/2;return Lo(r,h,{mergeSelfLoops:d}).forEach(function({edge:e,start:t,end:i}){g.info(`Edge `+t+` -> `+i+`: `+JSON.stringify(e),e),e.points.forEach(e=>e.y+=h);let s=r.node(t),d=r.node(i),f=l(a,e,n,o,s,d,c);u(e,f)}),r.nodes().forEach(function(e){let t=r.node(e);g.info(e,t.type,t.diff),t.isGroup&&(m=t.diff)}),g.warn(`Returning from recursive render XAX`,t,m),{elem:t,diff:m}},`paintDagreLayoutCore`),Go=_(async e=>{let t=await Ro(e);return zo(t.graph),await Wo(t)},`renderDagreSubgraph`),Ko=_(e=>{let t=new M({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{t.setNode(e.id,{...e}),e.parentId&&t.setParent(e.id,e.parentId)}),g.debug(`Edges:`,e.edges),e.edges.forEach(e=>{if(e.start===e.end){let n=e.start,r=n+`---`+n+`---1`,i=n+`---`+n+`---2`,a=t.node(n);t.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:``,label:``,padding:0,shape:`labelRect`,style:``,width:10,height:10}),t.setParent(r,a.parentId),t.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:``,padding:0,shape:`labelRect`,label:``,style:``,width:10,height:10}),t.setParent(i,a.parentId);let o=structuredClone(e),s=structuredClone(e),c=structuredClone(e),l=structuredClone(e);s.originalEdge=o,s.selfLoop={id:o.id,order:0},c.originalEdge=o,c.selfLoop={id:o.id,order:1},l.originalEdge=o,l.selfLoop={id:o.id,order:2},s.label=``,s.arrowTypeEnd=`none`,s.endLabelLeft=``,s.endLabelRight=``,s.startLabelLeft=``,s.id=n+`-cyclic-special-1`,c.startLabelRight=``,c.startLabelLeft=``,c.endLabelLeft=``,c.endLabelRight=``,c.arrowTypeStart=`none`,c.arrowTypeEnd=`none`,c.id=n+`-cyclic-special-mid`,l.label=``,l.startLabelRight=``,l.startLabelLeft=``,l.arrowTypeStart=`none`,a.isGroup&&(s.fromCluster=n,l.toCluster=n),l.id=n+`-cyclic-special-2`,l.arrowTypeStart=`none`,t.setEdge(n,r,s,n+`-cyclic-special-0`),t.setEdge(r,i,c,n+`-cyclic-special-1`),t.setEdge(i,n,l,n+`-cyclic-special-2`)}else t.setEdge(e.start,e.end,{...e},e.id)}),o(t),{graph:t}},`prepareLayoutForDagre`),qo=_(async(e,{element:t,preparedLayout:n})=>{let r=n??Ko(e),i=h(),a=await Ro({element:t,graph:r.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:i});return r.measuredLayout=a,a},`measureDagreLayout`),Jo=_((e,t)=>{let n=t.preparedLayout?.measuredLayout;if(!n)throw Error(`runDagreLayoutCore requires measureDagreLayout to run first`);return zo(n.graph),Uo(e,n),n},`runDagreLayoutCore`),Yo=i({prepareLayout:Ko,measureLayout:qo,runLayoutCore:Jo,paintOptions:{clusterDb:n,getNodes:_((t,{measure:n})=>e(n.graph).map(e=>n.graph.node(e)).filter(Boolean),`getDagrePaintNodes`),getEdgeNode:_((e,t,{measure:n})=>e?n.graph.node(e):void 0,`getDagreEdgeNode`),skipNode:_((e,{measure:t})=>!t.graph.hasNode(e.id),`skipNode`),isCluster:_((e,{measure:t})=>t.graph.hasNode(e.id)&&(t.graph.children(e.id)??[]).length>0,`isCluster`)}});export{Uo as applyDagreLayoutResult,Lo as getEdgesToRender,qo as measureDagreLayout,Ko as prepareLayoutForDagre,Yo as render,Jo as runDagreLayoutCore};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import{t as e}from"./chunk-JWPE2WC7-DVXcaiue.js";import{C as t,T as n,a as r,w as i}from"./index-D701BZPh.js";import{t as a}from"./chunk-VQ5W62QI-DHTcO93W.js";import{t as o}from"./defaultLocale-CNPGWpMu.js";import{i as s,n as c}from"./chunk-UHW7PFBP-BDjvOaTH.js";import{i as l}from"./chunk-7S6XSTFO-B9bfO0l3.js";import{C as u,E as d,H as f,U as p,_ as m,a as h,c as g,f as _,q as v,v as y,y as b}from"./chunk-DSNLSHJZ-DAudglXu.js";import{j as x,k as S}from"./src-MPsEqXxq.js";import{n as C}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{n as w}from"./mermaid-parser.core-BJ1yyzvV.js";var T=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=p,this.getAccTitle=y,this.setDiagramTitle=v,this.getDiagramTitle=u,this.getAccDescription=m,this.setAccDescription=f}static{C(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=_,t=b();return l({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{c(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){h(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function E(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}C(E,`buildHierarchy`);var D=C((t,n)=>{e(t,n);let r=[];for(let e of t.TreemapRows??[])e.$type===`ClassDefStatement`&&n.addClass(e.className??``,e.styleText??``);for(let e of t.TreemapRows??[]){let t=e.item;if(!t)continue;let i=e.indent?parseInt(e.indent):0,a=O(t),o=t.classSelector?n.getStylesForClass(t.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:t.$type,value:t.value,classSelector:t.classSelector,cssCompiledStyles:s};r.push(c)}let i=E(r),a=C((e,t)=>{for(let r of e)n.addNode(r,t),r.children&&r.children.length>0&&a(r.children,t+1)},`addNodesRecursively`);a(i,0)},`populate`),O=C(e=>e.name?String(e.name):``,`getItemName`),k={parser:{yy:void 0},parse:C(async e=>{try{let t=await w(`treemap`,e);x.debug(`Treemap AST:`,t);let n=k.parser?.yy;if(!(n instanceof T))throw 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.`);D(t,n)}catch(e){throw x.error(`Error parsing treemap:`,e),e}},`parse`)},A=10,j=10,M=25,N={draw:C((e,c,l,u)=>{let d=u.db,f=d.getConfig(),p=f.padding??A,m=d.getDiagramTitle(),h=d.getRoot(),{themeVariables:_}=b();if(!h)return;let v=m?30:0,y=r(c),w=f.nodeWidth?f.nodeWidth*j:960,T=f.nodeHeight?f.nodeHeight*j:500,E=w,D=T+v;y.attr(`viewBox`,`0 0 ${E} ${D}`),g(y,D,E,f.useMaxWidth);let O;try{let e=f.valueFormat||`,`;if(e===`$0,0`)O=C(e=>`$`+o(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let t=/\.\d+/.exec(e),n=t?t[0]:``;O=C(e=>`$`+o(`,`+n)(e),`valueFormat`)}else if(e.startsWith(`$`)){let t=e.substring(1);O=C(e=>`$`+o(t||``)(e),`valueFormat`)}else O=o(e)}catch(e){x.error(`Error creating format function:`,e),O=o(`,`)}let k=t().range([`transparent`,_.cScale0,_.cScale1,_.cScale2,_.cScale3,_.cScale4,_.cScale5,_.cScale6,_.cScale7,_.cScale8,_.cScale9,_.cScale10,_.cScale11]),N=t().range([`transparent`,_.cScalePeer0,_.cScalePeer1,_.cScalePeer2,_.cScalePeer3,_.cScalePeer4,_.cScalePeer5,_.cScalePeer6,_.cScalePeer7,_.cScalePeer8,_.cScalePeer9,_.cScalePeer10,_.cScalePeer11]),P=t().range([_.cScaleLabel0,_.cScaleLabel1,_.cScaleLabel2,_.cScaleLabel3,_.cScaleLabel4,_.cScaleLabel5,_.cScaleLabel6,_.cScaleLabel7,_.cScaleLabel8,_.cScaleLabel9,_.cScaleLabel10,_.cScaleLabel11]);m&&y.append(`text`).attr(`x`,E/2).attr(`y`,v/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(m);let F=y.append(`g`).attr(`transform`,`translate(0, ${v})`).attr(`class`,`treemapContainer`),I=n(h).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),L=i().size([w,T]).paddingTop(e=>e.children&&e.children.length>0?M+j:0).paddingInner(p).paddingLeft(e=>e.children&&e.children.length>0?j:0).paddingRight(e=>e.children&&e.children.length>0?j:0).paddingBottom(e=>e.children&&e.children.length>0?j:0).round(!0)(I),R=L.descendants().filter(e=>e.children&&e.children.length>0),z=F.selectAll(`.treemapSection`).data(R).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);z.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,M).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),z.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${c}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,M),z.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>k(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;`;let t=s({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),z.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,M/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`clip-path`,(e,t)=>`url(#clip-section-${c}-${t})`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+P(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+s({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=S(this),n=e.data.name;t.text(n);let r=e.x1-e.x0,i;i=f.showValues!==!1&&e.value?r-10-30-10-6:r-6-6;let a=Math.max(15,i),o=t.node();if(o.getComputedTextLength()>a){let e=n;for(;e.length>0;){if(e=n.substring(0,e.length-1),e.length===0){t.text(`...`),o.getComputedTextLength()>a&&t.text(``);break}if(t.text(e+`...`),o.getComputedTextLength()<=a)break}}}),f.showValues!==!1&&z.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,M/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?O(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+P(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+s({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let B=L.leaves(),V=B.length>20,H=V?16:38,U=V?14:28,W=V?4:8,G=V?4:6,K=V?2:4,q=V?8:10,J=V?1:2,Y=F.selectAll(`.treemapLeafGroup`).data(B).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${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?k(e.parent.data.name):k(e.data.name)).attr(`style`,e=>s({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?k(e.parent.data.name):k(e.data.name)).attr(`stroke-width`,3),Y.append(`clipPath`).attr(`id`,(e,t)=>`clip-${c}-${t}`).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=>`text-anchor: middle; dominant-baseline: middle; font-size: ${H}px;fill:`+P(e.data.name)+`;`+s({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${c}-${t})`).text(e=>e.data.name).each(function(e){let t=S(this),n=e.x1-e.x0,r=e.y1-e.y0,i=t.node(),a=n-2*K,o=r-2*K;if(a<q||o<q){t.style(`display`,`none`);return}let s=parseInt(t.style(`font-size`),10),c=.6;for(;i.getComputedTextLength()>a&&s>W;)s--,t.style(`font-size`,`${s}px`);let l=Math.max(G,Math.min(U,Math.round(s*c))),u=s+J+l;for(;u>o&&s>W&&(s--,l=Math.max(G,Math.min(U,Math.round(s*c))),!(l<G&&s===W));)t.style(`font-size`,`${s}px`),u=s+J+l;t.style(`font-size`,`${s}px`),V?(s<W||o<W)&&t.style(`display`,`none`):(i.getComputedTextLength()>a||s<W||o<s)&&t.style(`display`,`none`)}),f.showValues!==!1&&Y.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${U}px;fill:`+P(e.data.name)+`;`+s({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${c}-${t})`).text(e=>e.value?O(e.value):``).each(function(e){let t=S(this),n=this.parentNode;if(!n){t.style(`display`,`none`);return}let r=S(n).select(`.treemapLabel`);if(r.empty()||r.style(`display`)===`none`){t.style(`display`,`none`);return}let i=parseFloat(r.style(`font-size`)),a=Math.max(G,Math.min(U,Math.round(i*.6)));t.style(`font-size`,`${a}px`);let o=(e.y1-e.y0)/2+i/2+J;t.attr(`y`,o);let s=e.x1-e.x0,c=e.y1-e.y0-4,l=s-2*K;t.node().getComputedTextLength()>l||o+a>c||a<G?t.style(`display`,`none`):t.style(`display`,null)});let X=f.diagramPadding??8;a(y,X,`flowchart`,f?.useMaxWidth||!1)},`draw`),getClasses:C(function(e,t){return t.db.getClasses()},`getClasses`)},P={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},F={parser:k,get db(){return new T},renderer:N,styles:C(({treemap:e}={})=>{let t=d(),n=b(),r=l(t,n.themeVariables),i=l(P,e),a=i.titleColor??r.titleColor,o=i.labelColor??r.textColor,s=i.valueColor??r.textColor;return`
|
|
2
|
+
.treemapNode.section {
|
|
3
|
+
stroke: ${i.sectionStrokeColor};
|
|
4
|
+
stroke-width: ${i.sectionStrokeWidth};
|
|
5
|
+
fill: ${i.sectionFillColor};
|
|
6
|
+
}
|
|
7
|
+
.treemapNode.leaf {
|
|
8
|
+
stroke: ${i.leafStrokeColor};
|
|
9
|
+
stroke-width: ${i.leafStrokeWidth};
|
|
10
|
+
fill: ${i.leafFillColor};
|
|
11
|
+
}
|
|
12
|
+
.treemapLabel {
|
|
13
|
+
fill: ${o};
|
|
14
|
+
font-size: ${i.labelFontSize};
|
|
15
|
+
}
|
|
16
|
+
.treemapValue {
|
|
17
|
+
fill: ${s};
|
|
18
|
+
font-size: ${i.valueFontSize};
|
|
19
|
+
}
|
|
20
|
+
.treemapTitle {
|
|
21
|
+
fill: ${a};
|
|
22
|
+
font-size: ${i.titleFontSize};
|
|
23
|
+
}
|
|
24
|
+
`},`getStyles`)};export{F as diagram};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import{t as e}from"./chunk-JWPE2WC7-DVXcaiue.js";import{a as t}from"./index-D701BZPh.js";import{i as n}from"./chunk-7S6XSTFO-B9bfO0l3.js";import{C as r,H as i,U as a,_ as o,a as s,c,f as l,q as u,v as d,y as f}from"./chunk-DSNLSHJZ-DAudglXu.js";import{j as p}from"./src-MPsEqXxq.js";import{n as m}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{n as h}from"./mermaid-parser.core-BJ1yyzvV.js";var g=l.packet,_=class{constructor(){this.packet=[],this.setAccTitle=a,this.getAccTitle=d,this.setDiagramTitle=u,this.getDiagramTitle=r,this.getAccDescription=o,this.setAccDescription=i}static{m(this,`PacketDB`)}getConfig(){let e=n({...g,...f().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){s(),this.packet=[]}},v=1e4,y=m((t,n)=>{e(t,n);let r=-1,i=[],a=1,{bitsPerRow:o}=n.getConfig();for(let{start:e,end:s,bits:c,label:l}of t.blocks){if(e!==void 0&&s!==void 0&&s<e)throw Error(`Packet block ${e} - ${s} is invalid. End must be greater than start.`);if(e??=r+1,e!==r+1)throw Error(`Packet block ${e} - ${s??e} is not contiguous. It should start from ${r+1}.`);if(c===0)throw Error(`Packet block ${e} is invalid. Cannot have a zero bit field.`);for(s??=e+(c??1)-1,c??=s-e+1,r=s,p.debug(`Packet block ${e} - ${r} with label ${l}`);i.length<=o+1&&n.getPacket().length<v;){let[t,r]=b({start:e,end:s,bits:c,label:l},a,o);if(i.push(t),t.end+1===a*o&&(n.pushWord(i),i=[],a++),!r)break;({start:e,end:s,bits:c,label:l}=r)}}n.pushWord(i)},`populate`),b=m((e,t,n)=>{if(e.start===void 0)throw Error(`start should have been set during first phase`);if(e.end===void 0)throw Error(`end should have been set during first phase`);if(e.start>e.end)throw Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*n)return[e,void 0];let r=t*n-1,i=t*n;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:i,end:e.end,label:e.label,bits:e.end-i}]},`getNextFittingBlock`),x={parser:{yy:void 0},parse:m(async e=>{let t=await h(`packet`,e),n=x.parser?.yy;if(!(n instanceof _))throw Error(`parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);p.debug(t),y(t,n)},`parse`)},S=m((e,n,r,i)=>{let a=i.db,o=a.getConfig(),{rowHeight:s,paddingY:l,bitWidth:u,bitsPerRow:d}=o,f=a.getPacket(),p=a.getDiagramTitle(),m=s+l,h=m*(f.length+1)-(p?0:s),g=u*d+2,_=t(n);_.attr(`viewBox`,`0 0 ${g} ${h}`),c(_,h,g,o.useMaxWidth);for(let[e,t]of f.entries())C(_,t,e,o);_.append(`text`).text(p).attr(`x`,g/2).attr(`y`,h-m/2).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).attr(`class`,`packetTitle`)},`draw`),C=m((e,t,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:c,bitOrder:l})=>{let u=e.append(`g`),d=n*(r+a)+a,f=l===`descending`;for(let e of t){let t=e.end-e.start+1,n=e.start%s,a=(f?s-n-t:n)*o+1,l=t*o-i;if(u.append(`rect`).attr(`x`,a).attr(`y`,d).attr(`width`,l).attr(`height`,r).attr(`class`,`packetBlock`),u.append(`text`).attr(`x`,a+l/2).attr(`y`,d+r/2).attr(`class`,`packetLabel`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).text(e.label),!c)continue;let[p,m]=f?[e.end,e.start]:[e.start,e.end],h=t===1,g=d-2;u.append(`text`).attr(`x`,a+(h?l/2:0)).attr(`y`,g).attr(`class`,`packetByte start`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,h?`middle`:`start`).text(p),h||u.append(`text`).attr(`x`,a+l).attr(`y`,g).attr(`class`,`packetByte end`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,`end`).text(m)}},`drawWord`),w={draw:S},T={byteFontSize:`10px`,startByteColor:`black`,endByteColor:`black`,labelColor:`black`,labelFontSize:`12px`,titleColor:`black`,titleFontSize:`14px`,blockStrokeColor:`black`,blockStrokeWidth:`1`,blockFillColor:`#efefef`},E={parser:x,get db(){return new _},renderer:w,styles:m(({packet:e}={})=>{let t=n(T,e);return`
|
|
2
|
+
.packetByte {
|
|
3
|
+
font-size: ${t.byteFontSize};
|
|
4
|
+
}
|
|
5
|
+
.packetByte.start {
|
|
6
|
+
fill: ${t.startByteColor};
|
|
7
|
+
}
|
|
8
|
+
.packetByte.end {
|
|
9
|
+
fill: ${t.endByteColor};
|
|
10
|
+
}
|
|
11
|
+
.packetLabel {
|
|
12
|
+
fill: ${t.labelColor};
|
|
13
|
+
font-size: ${t.labelFontSize};
|
|
14
|
+
}
|
|
15
|
+
.packetTitle {
|
|
16
|
+
fill: ${t.titleColor};
|
|
17
|
+
font-size: ${t.titleFontSize};
|
|
18
|
+
}
|
|
19
|
+
.packetBlock {
|
|
20
|
+
stroke: ${t.blockStrokeColor};
|
|
21
|
+
stroke-width: ${t.blockStrokeWidth};
|
|
22
|
+
fill: ${t.blockFillColor};
|
|
23
|
+
}
|
|
24
|
+
`},`styles`)};export{E as diagram};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import{t as e}from"./chunk-2Q5K7J3B-C1jixKkw.js";import{t}from"./chunk-JWPE2WC7-DVXcaiue.js";import{a as n}from"./index-D701BZPh.js";import{r,t as i}from"./chunk-YZO67HFG-D13E0_Yh.js";import{i as a}from"./chunk-7S6XSTFO-B9bfO0l3.js";import{C as o,H as s,U as c,_ as l,a as u,c as d,f,q as p,v as m,y as h,z as g}from"./chunk-DSNLSHJZ-DAudglXu.js";import{j as _}from"./src-MPsEqXxq.js";import{n as v}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{n as y}from"./mermaid-parser.core-BJ1yyzvV.js";var b=/[─━│┃└┗├┣]/,x=/[└┗├┣]/,S=/[─━]/,C=/^[\s│┃]+$/,w=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,T=/^\s*%%/,E=` `;function D(e){return e.some(e=>b.test(e))}v(D,`isBoxDrawingFormat`);function O(e){for(let t of e){let e=x.exec(t);if(e?.index&&e.index>0)return e.index}return 4}v(O,`inferSegmentWidth`);function k(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,n)=>{let r=parseInt(n,10),i=t.get(r);return i?`line ${i}`:e})}v(k,`remapErrorLines`);function A(e){let t=e.split(`
|
|
2
|
+
`),n=new Map,r=-1;for(let[e,n]of t.entries())if(n.trim()===`treeView-beta`){r=e;break}if(r===-1)return{text:e,lineMap:n};let i=[];for(let e=r+1;e<t.length;e++){let n=t[e];n.trim()===``||T.test(n)||w.test(n)||C.test(n)||i.push(n.replace(/\t/g,` `))}if(!D(i))return{text:e,lineMap:n};let a=O(i),o=[],s=0;for(let e=0;e<=r;e++)o.push(t[e]),s++,n.set(s,e+1);for(let e=r+1;e<t.length;e++){let r=t[e],i=r.trim(),c=e+1;if(i===``||T.test(r)||w.test(r)){o.push(r),s++,n.set(s,c);continue}if(C.test(r))continue;let l=r.replace(/\t/g,` `),u=x.exec(l);if(u?.index!==void 0){let e=u.index,t=Math.round(e/a)+1,r=e+1;for(;r<l.length&&S.test(l[r]);)r++;for(;r<l.length&&l[r]===` `;)r++;let i=l.slice(r).trimEnd();if(!i)throw Error(`Line ${c}: Empty node \u2014 expected a filename or directory name after the box-drawing prefix`);let d=E.repeat(t);o.push(d+i),s++,n.set(s,c)}else if(/^[\s─━│┃└┗├┣]+$/.test(l))continue;else if(b.test(l))o.push(r),s++,n.set(s,c);else if(/^\s+/.test(l))throw Error(`Line ${c}: Unexpected indentation without box-drawing characters. In box-drawing format, use \u251C\u2500\u2500 or \u2514\u2500\u2500 prefixes for indented nodes.`);else o.push(r),s++,n.set(s,c)}return{text:o.join(`
|
|
3
|
+
`),lineMap:n}}v(A,`preprocessBoxDrawing`);var j=new e(()=>({cnt:1,stack:[{id:0,level:-1,name:`/`,nodeType:`directory`,children:[]}]})),M=v(()=>{j.reset(),u()},`clear`),N=v(()=>j.records.stack[0],`getRoot`),P=v(()=>j.records.cnt,`getCount`),F=f.treeView,I={clear:M,addNode:v((e,t,n,r,i,a)=>{for(;e<=j.records.stack[j.records.stack.length-1].level;)j.records.stack.pop();let o={id:j.records.cnt++,level:e,name:t,nodeType:n,icon:i,cssClass:r,description:a,children:[]};j.records.stack[j.records.stack.length-1].children.push(o),j.records.stack.push(o)},`addNode`),getRoot:N,getCount:P,getConfig:v(()=>a(F,h().treeView),`getConfig`),getAccTitle:m,getAccDescription:l,getDiagramTitle:o,setAccDescription:s,setAccTitle:c,setDiagramTitle:p},L=v(e=>{t(e,I);for(let t of e.nodes){let e=typeof t.indent==`number`?t.indent:0,n=t.name,r=n.endsWith(`/`);r&&(n=n.slice(0,-1));let i=r?`directory`:`file`,a=t.classAnnotation||void 0,o=t.iconAnnotation,s=o===void 0?void 0:o||`none`,c=t.descAnnotation||void 0,l=c?g(c,h()):void 0;I.addNode(e,n,i,a,s,l)}},`populate`),R={parse:v(async e=>{let{text:t,lineMap:n}=A(e);try{let e=await y(`treeView`,t);_.debug(e),L(e)}catch(e){throw n.size>0&&e instanceof Error&&(e.message=k(e.message,n)),e}},`parse`)},z={prefix:`mermaid-treeview`,height:24,width:24,icons:{folder:{body:`<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>`},file:{body:`<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>`}}};function B(e,t){let n=t?.filenameIcons?.[e];if(n)return n;let r=e.lastIndexOf(`.`);if(r>0){let n=e.substring(r).toLowerCase(),i=t?.extensionIcons;return i?.[n]??i?.[n.slice(1)]}}v(B,`detectIcon`);function V(e,t){return e.includes(`:`)?e:e in z.icons||!t?`${z.prefix}:${e}`:`${t}:${e}`}v(V,`qualifyIcon`);function H(e,t){if(e.icon!==`none`){if(e.icon)return V(e.icon,t.defaultIconPack);if(t.showIcons){if(e.nodeType===`file`){let n=B(e.name,t);if(n===`none`)return;if(n)return V(n,t.defaultIconPack)}return`${z.prefix}:${e.nodeType===`directory`?`folder`:`file`}`}}}v(H,`getNodeIcon`),r([{name:z.prefix,icons:z}]);var U=14,W=4,G=16,K=v(async(e,t)=>{let n=[],r=v(e=>{let i=H(e,t);i&&n.push({icon:i,node:e}),e.children.forEach(r)},`collect`);r(e);let a=await Promise.all(n.map(async({icon:e,node:t})=>({id:t.id,svg:await i(e,{height:U,width:U})})));return new Map(a.map(({id:e,svg:t})=>[e,t]))},`resolveNodeIcons`),q=v((e,t,n,r,i,a)=>{let o=r.append(`g`),s=`treeView-node-label`;n.nodeType===`directory`&&(s+=` treeView-node-dir`),n.cssClass&&(s+=` ${n.cssClass}`);let c=U+W,l=H(n,i),u=l!==void 0;l&&o.append(`g`).attr(`class`,`treeView-node-icon`).attr(`transform`,`translate(${e+i.paddingX}, ${t+i.paddingY})`).html(a.get(n.id)??``);let d=o.append(`text`).text(n.name).attr(`dominant-baseline`,`middle`).attr(`class`,s),{height:f,width:p}=d.node().getBBox(),m=f+i.paddingY*2,h=e+i.paddingX+(u?c:0);d.attr(`x`,h),d.attr(`y`,t+m/2);let g=h+p;return n.BBox={x:e,y:t,width:p+i.paddingX*2+(u?c:0),height:m},n.cssClass?.split(/\s+/).includes(`highlight`)&&o.insert(`rect`,`:first-child`).attr(`x`,e).attr(`y`,t+1).attr(`width`,0).attr(`height`,m-2).attr(`rx`,3).attr(`class`,`treeView-highlight-bg`),{node:n,nodeGroup:o,labelRightEdge:g,centerY:t+m/2}},`positionLabel`),J=v((e,t,n,r,i,a)=>e.append(`line`).attr(`x1`,t).attr(`y1`,n).attr(`x2`,r).attr(`y2`,i).attr(`stroke-width`,a).attr(`class`,`treeView-node-line`),`positionLine`),Y=v((e,t,n,r)=>{let i=0,a=0,o=[],s=v((e,t,n,s)=>{let c=s*(n.rowIndent+n.paddingX),l=q(c,i,t,e,n,r);o.push(l);let{height:u,width:d}=t.BBox;J(e,c-n.rowIndent,i+u/2,c,i+u/2,n.lineThickness),a=Math.max(a,c+d),i+=u},`drawNode`),c=v((t,r=0)=>{s(e,t,n,r),t.children.forEach(e=>{c(e,r+1)});let{x:i,y:a,height:o}=t.BBox;if(t.children.length){let{y:r,height:s}=t.children[t.children.length-1].BBox;J(e,i+n.paddingX,a+o,i+n.paddingX,r+s/2+n.lineThickness/2,n.lineThickness)}},`processNode`);c(t);let l=o.filter(e=>e.node.description);if(l.length>0){let e=Math.max(...o.map(e=>e.labelRightEdge))+G;for(let t of l){let r=t.nodeGroup.append(`text`).text(t.node.description).attr(`dominant-baseline`,`middle`).attr(`class`,`treeView-node-description`).attr(`x`,e).attr(`y`,t.centerY).node().getBBox();a=Math.max(a,e+r.width+n.paddingX)}}for(let e of o)if(e.node.cssClass?.split(/\s+/).includes(`highlight`)){let t=e.nodeGroup.select(`.treeView-highlight-bg`);if(!t.empty()){let n=a-e.node.BBox.x+8;t.attr(`width`,n),a=Math.max(a,e.node.BBox.x+n+2)}}return{totalHeight:i,totalWidth:a}},`drawTree`),X={draw:v(async(e,t,r,i)=>{_.debug(`Rendering treeView diagram
|
|
4
|
+
`+e);let a=i.db,o=a.getRoot(),s=a.getConfig(),c=n(t),l=c.append(`g`);l.attr(`class`,`tree-view`);let{totalHeight:u,totalWidth:f}=Y(l,o,s,await K(o,s));c.attr(`viewBox`,`-${s.lineThickness/2} 0 ${f} ${u}`),d(c,u,f,s.useMaxWidth)},`draw`)},Z={labelFontSize:`16px`,labelColor:`black`,lineColor:`black`,iconColor:`#546e7a`,descriptionColor:`#6a9955`,highlightBg:`rgba(255, 193, 7, 0.15)`,highlightStroke:`#ffc107`},Q={db:I,renderer:X,parser:R,styles:v(({treeView:e})=>{let{labelFontSize:t,labelColor:n,lineColor:r,iconColor:i,descriptionColor:o,highlightBg:s,highlightStroke:c}=a(Z,e);return`
|
|
5
|
+
.treeView-node-label {
|
|
6
|
+
font-size: ${t};
|
|
7
|
+
fill: ${n};
|
|
8
|
+
white-space: pre;
|
|
9
|
+
}
|
|
10
|
+
.treeView-node-dir {
|
|
11
|
+
font-weight: bold;
|
|
12
|
+
}
|
|
13
|
+
.treeView-node-line {
|
|
14
|
+
stroke: ${r};
|
|
15
|
+
}
|
|
16
|
+
.treeView-node-icon {
|
|
17
|
+
color: ${i};
|
|
18
|
+
}
|
|
19
|
+
.treeView-node-description {
|
|
20
|
+
font-size: ${t};
|
|
21
|
+
fill: ${o};
|
|
22
|
+
font-style: italic;
|
|
23
|
+
white-space: pre;
|
|
24
|
+
}
|
|
25
|
+
.treeView-highlight-bg {
|
|
26
|
+
fill: ${s};
|
|
27
|
+
stroke: ${c};
|
|
28
|
+
stroke-width: 1;
|
|
29
|
+
}
|
|
30
|
+
`},`styles`)};export{Q as diagram};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{t as e}from"./chunk-JWPE2WC7-DVXcaiue.js";import{i as t,t as n,v as r}from"./chunk-7S6XSTFO-B9bfO0l3.js";import{C as i,H as a,U as o,X as s,_ as c,a as l,b as u,f as d,q as f,v as p,y as m,z as h}from"./chunk-DSNLSHJZ-DAudglXu.js";import{j as g,k as _}from"./src-MPsEqXxq.js";import{T as ee}from"./chunk-NGNAAXSQ-DI_UYJZ4.js";import{n as v}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{n as te}from"./mermaid-parser.core-BJ1yyzvV.js";var y=`position frame`,b=`frame positioned`,x=`position relation`,S=`relation positioned`,ne=v(function(e){g.debug(`options str`,e)},`setOptions`),re=v(function(){return{}},`getOptions`),ie=v(function(){C(),l()},`clear`);function C(){w={}}v(C,`reset`);var ae=d.eventmodeling,oe=v(()=>t({...ae,...m().eventmodeling}),`getConfig`),w={};function T(){let e=se,{ast:t}=w,n=O();if(!t)throw Error(`No data for EventModel`);return t.frames.forEach((r,i)=>{let a=F(r,t.dataEntities,n);e=J(e,{$kind:y,index:i,frame:r,textProps:a});let o;V(r)?(g.debug(`source frame`,r.sourceFrames),o=t.frames.filter(e=>r.sourceFrames.some(t=>t.$refText===e.name)),o.forEach(t=>{e=J(e,{$kind:x,index:i,frame:r,sourceFrame:t})})):e=J(e,{$kind:x,index:i,frame:r})}),e={...e,sortedSwimlanesArray:R(e.swimlanes)},e}v(T,`getState`);function E(e){w.ast=void 0;let t=new Set;for(let n of e.frames){if(t.has(n.name)){let e=n.$cstNode?.range.start.line,t=e===void 0?``:` on line ${e+1}`;throw Error(`Duplicate event modeling frame ID "${n.name}"${t}`)}t.add(n.name)}w.ast=e}v(E,`setAst`);var D={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:`bold`,boxTextPadding:10,swimlaneTextFontWeight:`bold`,labelUiAutomation:`UI/Automation`,labelUiAutomationPrefix:`UI/A: `,labelCommandReadModel:`Command/Read Model`,labelCommandReadModelPrefix:`C/RM: `,labelEvents:`Events`,labelEventsPrefix:`Stream: `};function O(){return D}v(O,`getDiagramProps`);var se={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function k(e){let t=e.split(`.`);if(t.length===2)return t[0]}v(k,`extractNamespace`);function A(e){let t=e.split(`.`);return t.length===2?t[1]:e}v(A,`extractName`);function j(e,t){if(t&&t.length!==0)return Object.values(e).find(e=>e.namespace===t)}v(j,`findSwimlaneByNamespace`);function M(e,t,n){return Math.max(t,...Object.keys(e).filter(e=>{let r=Number.parseInt(e);return r>t&&r<n}).map(e=>Number.parseInt(e)))+1}v(M,`findNextAvailableIndex`);function N(e,t){let n=k(e.entityIdentifier),r=j(t,n);switch(e.modelEntityType){case`ui`:case`pcr`:case`processor`:return r?{index:r.index,label:r.namespace||D.labelUiAutomation}:n?{index:M(t,0,100),label:D.labelUiAutomationPrefix+n}:{index:0,label:D.labelUiAutomation};case`rmo`:case`readmodel`:case`cmd`:case`command`:return r?{index:r.index,label:r.namespace||D.labelCommandReadModel}:n?{index:M(t,100,200),label:D.labelCommandReadModelPrefix+n}:{index:100,label:D.labelCommandReadModel};default:return r?{index:r.index,label:r.namespace||D.labelEvents}:n?{index:M(t,200,300),label:D.labelEventsPrefix+n}:{index:200,label:D.labelEvents}}}v(N,`calculateSwimlaneProps`);function P(e){let{themeVariables:t}=m();switch(e.modelEntityType){case`ui`:return{fill:t.emUiFill??`white`,stroke:t.emUiStroke??`#dbdada`};case`pcr`:case`processor`:return{fill:t.emProcessorFill??`#edb3f6`,stroke:t.emProcessorStroke??`#b88cbf`};case`rmo`:case`readmodel`:return{fill:t.emReadModelFill??`#d3f1a2`,stroke:t.emReadModelStroke??`#a3b732`};case`cmd`:case`command`:return{fill:t.emCommandFill??`#bcd6fe`,stroke:t.emCommandStroke??`#679ac3`};case`evt`:case`event`:return{fill:t.emEventFill??`#ffb778`,stroke:t.emEventStroke??`#c19a0f`};default:return{fill:`red`,stroke:`black`}}}v(P,`calculateEntityVisualProps`);function F(e,t,i){let a=m(),o=h(A(e.entityIdentifier)??``,a),s,c={fontSize:16,fontWeight:700,fontFamily:`"trebuchet ms", verdana, arial, sans-serif`,joinWith:`<br/>`},l=`<b>${r(o,i.textMaxWidth,c)}</b>`;if(e.dataInlineValue&&(s=e.dataInlineValue,s=s.substring(s.indexOf(`{`)+1),s=s.substring(0,s.lastIndexOf(`}`)-1),s=h(s,a),s=r(s,i.textMaxWidth,c),s=s.replaceAll(` `,` `)),e.dataReference){let n=t.find(t=>t.name===e.dataReference?.$refText);n&&(s=n.dataBlockValue,s=s.substring(s.indexOf(`{
|
|
2
|
+
`)+2),s=s.substring(0,s.lastIndexOf(`}`)-1),s=h(s,a),s=r(s,i.textMaxWidth,c),s=s.replaceAll(` `,` `),s+=`<br/>`)}let u=s!==void 0;u&&(l+=`<br/><br/><code style="text-align: left; display: block;max-width:${i.textMaxWidth}px">${s}</code>`);let d={fontSize:c.fontSize,fontWeight:c.fontWeight,fontFamily:c.fontFamily},f=n(l,d),p=u?f.width/3:f.width,_={content:l,width:p,height:f.height};return g.debug(`[${e.name}] ${e.entityIdentifier} text`,_),_}v(F,`calculateTextProps`);function I(e,t){let n=t,r=P(n.frame),i={width:n.textProps.width+2*D.boxTextPadding,height:n.textProps.height+2*D.boxTextPadding};return[{$kind:b,frame:n.frame,index:n.index,visual:r,dimension:i,textProps:n.textProps}]}v(I,`decidePositionFrame`);function ce(e,t,n){return t===void 0?D.contentStartX:t.index===e.index&&e.r?e.r+D.boxPadding:n===void 0?D.contentStartX:n.r-D.boxOverlap+D.boxPadding}v(ce,`calculateX`);function L(e,t){let n=[...e.map(e=>e.r),t];return Math.max(...n)}v(L,`calculateMaxRight`);function R(e){return Object.values(e).sort((e,t)=>e.index-t.index)}v(R,`sortedSwimlanesArray`);function z(e,t){let n=t,r=N(n.frame,e.swimlanes),i;i=r.index in e.swimlanes?e.swimlanes[r.index]:{index:r.index,label:r.label,r:0,y:r.index*D.swimlaneMinHeight+D.swimlaneGap,height:D.swimlaneMinHeight,maxHeight:D.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,o=e.previousSwimlaneNumber===void 0?void 0:e.swimlanes[e.previousSwimlaneNumber],s={width:Math.max(D.boxMinWidth,Math.min(D.boxMaxWidth,n.dimension.width))+2*D.boxPadding,height:Math.max(D.boxMinHeight,Math.min(D.boxMaxHeight,n.dimension.height))+2*D.boxPadding},c=ce(i,o,a),l=c+s.width+D.boxPadding,u=L(Object.values(e.swimlanes),l);i.r=c+s.width,i.maxHeight=Math.max(i.maxHeight,s.height),i.height=Math.max(D.swimlaneMinHeight,i.maxHeight)+2*D.swimlanePadding;let d={x:c,y:D.swimlanePadding+i.y,r:l,dimension:s,leftSibling:!1,swimlane:i,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},f={...e,boxes:[...e.boxes,d],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:r.index,previousFrame:n.frame,maxR:u},p=R(f.swimlanes);p.length>0&&(p[0].y=0);for(let e=1;e<p.length;e++){let t=p[e],n=p[e-1];t.y=n.y+n.height+D.swimlaneGap}return f}v(z,`evolveFramePositioned`);function B(e,t){return e===0&&t.sourceFrames.length===0}v(B,`isFirstFrame`);function V(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}v(V,`hasSourceFrame`);function H(e,t){if(t!=null)return e.find(e=>e.frame.name===t.name)}v(H,`findBoxByFrame`);function U(e,t,n){if(!(n<0))for(let r=n;r>=0;r--){let n=e[r];if(n.swimlane.index!==t)return n}}v(U,`findBoxByLineIndex`);function W(e,t){let n=t;if(B(n.index,n.frame))return[];let r=H(e.boxes,n.frame);if(r===void 0)throw Error(`Target box not found for frame ${n.frame.name}`);let i;if(n.sourceFrame)i=H(e.boxes,n.sourceFrame);else{if(ee(n.frame))return[];i=U(e.boxes,r.swimlane.index,n.index-1)}return i===void 0?[]:[{$kind:S,frame:n.frame,index:n.index,sourceBox:i,targetBox:r}]}v(W,`decidePositionRelation`);function G(e,t){let n=t,r={visual:{fill:`none`,stroke:`#000`},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,r]}}v(G,`evolveRelationPositioned`);var le={[y]:I,[x]:W},ue={[b]:z,[S]:G};function K(e,t){let n=le[t.$kind];if(n==null)return[];let r=n(e,t);return g.debug(`decided events`,r),r}v(K,`decide`);function q(e,t){let n=t.reduce((e,t)=>{let n=ue[t.$kind];return n==null?e:n(e,t)},e);return g.debug(`evolve events`,{state:e,newState:n,events:t}),n}v(q,`evolve`);function J(e,t){return q(e,K(e,t))}v(J,`dispatch`);var Y={getConfig:oe,preserveCommentsWhenParsing:!0,setOptions:ne,getOptions:re,clear:ie,setAccTitle:o,getAccTitle:p,getAccDescription:c,setAccDescription:a,setDiagramTitle:f,getDiagramTitle:i,setAst:E,getDiagramProps:O,getState:T},de={parse:v(async t=>{let n=await te(`eventmodeling`,t);g.debug(n),Y.setAst(n),e(n,Y)},`parse`)},fe=u()?.eventmodeling;function X(e,t){return n=>{let r=n.swimlane.y+t.swimlanePadding,i=e.append(`g`).attr(`class`,`em-box`);i.append(`rect`).attr(`x`,n.x).attr(`y`,r).attr(`rx`,`3`).attr(`width`,n.dimension.width).attr(`height`,n.dimension.height).attr(`stroke`,n.visual.stroke).attr(`fill`,n.visual.fill),i.append(`foreignObject`).attr(`x`,n.x+t.boxPadding).attr(`y`,r+10).attr(`width`,n.dimension.width-2*t.boxPadding).attr(`height`,n.dimension.height-2*t.boxPadding).append(`xhtml:div`).style(`display`,`table`).style(`height`,`100%`).style(`width`,`100%`).append(`span`).style(`display`,`table-cell`).style(`text-align`,`center`).style(`vertical-align`,`middle`).html(n.text)}}v(X,`renderD3Box`);function Z(e,t){return e>t}v(Z,`dirUpwards`);function Q(e,t,n,r){return i=>{let a=i.sourceBox.swimlane.y+t.swimlanePadding,o=i.targetBox.swimlane.y+t.swimlanePadding,s=Z(a,o),c=i.sourceBox.x+i.sourceBox.dimension.width*2/3,l=i.targetBox.x+i.targetBox.dimension.width/3,u,d;g.debug(`rendering relation up=${s} for `,{sourceBox:i.sourceBox,targetBox:i.targetBox}),s?(u=a,d=o+i.targetBox.dimension.height):(u=a+i.sourceBox.dimension.height,d=o);let f=r.emRelationStroke??i.visual.stroke;e.append(`path`).attr(`class`,`em-relation`).attr(`fill`,i.visual.fill).attr(`stroke`,f).attr(`stroke-width`,`1`).attr(`marker-end`,`url(#${n})`).attr(`d`,`M${c} ${u} L${l} ${d}`)}}v(Q,`renderD3Relation`);function $(e,t,n,r){return i=>{let a=e.append(`g`).attr(`class`,`em-swimlane`),o=r.emSwimlaneBackgroundOdd??`rgb(250,250,250)`,s=r.emSwimlaneBackgroundStroke??`rgb(240,240,240)`;a.append(`rect`).attr(`x`,0).attr(`y`,i.y).attr(`rx`,`3`).attr(`width`,t+n.swimlanePadding).attr(`height`,i.height).attr(`fill`,o).attr(`stroke`,s),a.append(`text`).attr(`font-weight`,n.swimlaneTextFontWeight).attr(`x`,30).attr(`y`,i.y+30).text(i.label)}}v($,`renderD3Swimlane`);var pe={parser:de,db:Y,renderer:{draw:v(function(e,t,n,r){if(g.debug(`in eventmodeling renderer`,e+`
|
|
3
|
+
`,`id:`,t,n),!fe)throw Error(`EventModeling config not found`);let i=r.db,{themeVariables:a,eventmodeling:o}=u(),c=_(`[id="${t}"]`),l=i.getDiagramProps(),d=i.getState(),f=`em-arrowhead-${t}`,p=a.emArrowhead??`#000000`;d.sortedSwimlanesArray.forEach($(c,d.maxR,l,a)),d.boxes.forEach(X(c,l)),d.relations.forEach(Q(c,l,f,a)),c.append(`defs`).append(`marker`).attr(`id`,f).attr(`markerWidth`,`10`).attr(`markerHeight`,`7`).attr(`refX`,`10`).attr(`refY`,`3.5`).attr(`orient`,`auto`).append(`polygon`).attr(`points`,`0 0, 10 3.5, 0 7`).attr(`fill`,p),s(void 0,c,o?.padding??30,o?.useMaxWidth)},`draw`)},styles:v(e=>``,`getStyles`)};export{pe as diagram};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import{t as e}from"./chunk-JWPE2WC7-DVXcaiue.js";import{a as t}from"./index-D701BZPh.js";import{i as n}from"./chunk-7S6XSTFO-B9bfO0l3.js";import{C as r,E as i,H as a,U as o,_ as s,a as c,c as l,f as u,q as d,v as f,y as p}from"./chunk-DSNLSHJZ-DAudglXu.js";import{j as m}from"./src-MPsEqXxq.js";import{n as h}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{n as g}from"./mermaid-parser.core-BJ1yyzvV.js";var _={showLegend:!0,ticks:5,max:null,min:0,graticule:`circle`},v=32,y={axes:[],curves:[],options:_},b=structuredClone(y),x=u.radar,S=h(()=>n({...x,...p().radar}),`getConfig`),C=h(()=>b.axes,`getAxes`),w=h(()=>b.curves,`getCurves`),T=h(()=>b.options,`getOptions`),E=h(e=>{b.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},`setAxes`),D=h(e=>{b.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:O(e.entries)}))},`setCurves`),O=h(e=>{if(e[0].axis==null)return e.map(e=>e.value);let t=C();if(t.length===0)throw Error(`Axes must be populated before curves for reference entries`);return t.map(t=>{let n=e.find(e=>e.axis?.$refText===t.name);if(n===void 0)throw Error(`Missing entry for axis `+t.label);return n.value})},`computeCurveEntries`),k={getAxes:C,getCurves:w,getOptions:T,setAxes:E,setCurves:D,setOptions:h(e=>{let t=e.reduce((e,t)=>(e[t.name]=t,e),{});b.options={showLegend:t.showLegend?.value??_.showLegend,ticks:t.ticks?.value??_.ticks,max:t.max?.value??_.max,min:t.min?.value??_.min,graticule:t.graticule?.value??_.graticule},b.options.ticks>v&&(m.warn(`Radar diagram ticks (${b.options.ticks}) exceeds maximum allowed (${v}). Using ${v} instead.`),b.options.ticks=v)},`setOptions`),getConfig:S,clear:h(()=>{c(),b=structuredClone(y)},`clear`),setAccTitle:o,getAccTitle:f,setDiagramTitle:d,getDiagramTitle:r,getAccDescription:s,setAccDescription:a},A=h(t=>{e(t,k);let{axes:n,curves:r,options:i}=t;k.setAxes(n),k.setCurves(r),k.setOptions(i)},`populate`),j={parse:h(async e=>{let t=await g(`radar`,e);m.debug(t),A(t)},`parse`)},M=h((e,n,r,i)=>{let a=i.db,o=a.getAxes(),s=a.getCurves(),c=a.getOptions(),l=a.getConfig(),u=a.getDiagramTitle(),d=N(t(n),l),f=c.max??Math.max(...s.map(e=>Math.max(...e.entries))),p=c.min,m=Math.min(l.width,l.height)/2;P(d,o,m,c.ticks,c.graticule),F(d,o,m,l),I(d,o,s,p,f,c.graticule,l),z(d,s,c.showLegend,l),d.append(`text`).attr(`class`,`radarTitle`).text(u).attr(`x`,0).attr(`y`,-l.height/2-l.marginTop)},`draw`),N=h((e,t)=>{let n=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,i={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return l(e,r,n,t.useMaxWidth??!0),e.attr(`viewBox`,`0 0 ${n} ${r}`).attr(`overflow`,`visible`),e.append(`g`).attr(`transform`,`translate(${i.x}, ${i.y})`)},`drawFrame`),P=h((e,t,n,r,i)=>{if(i===`circle`)for(let t=0;t<r;t++){let i=n*(t+1)/r;e.append(`circle`).attr(`r`,i).attr(`class`,`radarGraticule`)}else if(i===`polygon`){let i=t.length;for(let a=0;a<r;a++){let o=n*(a+1)/r,s=t.map((e,t)=>{let n=2*t*Math.PI/i-Math.PI/2;return`${o*Math.cos(n)},${o*Math.sin(n)}`}).join(` `);e.append(`polygon`).attr(`points`,s).attr(`class`,`radarGraticule`)}}},`drawGraticule`),F=h((e,t,n,r)=>{let i=t.length;for(let a=0;a<i;a++){let o=t[a].label,s=2*a*Math.PI/i-Math.PI/2,c=Math.cos(s),l=Math.sin(s);e.append(`line`).attr(`x1`,0).attr(`y1`,0).attr(`x2`,n*r.axisScaleFactor*c).attr(`y2`,n*r.axisScaleFactor*l).attr(`class`,`radarAxisLine`);let u=c>.01?`start`:c<-.01?`end`:`middle`,d=l>.01?`hanging`:l<-.01?`auto`:`central`;e.append(`text`).text(o).attr(`x`,n*r.axisLabelFactor*c+4*c).attr(`y`,n*r.axisLabelFactor*l+4*l).attr(`text-anchor`,u).attr(`dominant-baseline`,d).attr(`class`,`radarAxisLabel`)}},`drawAxes`);function I(e,t,n,r,i,a,o){let s=t.length,c=Math.min(o.width,o.height)/2;n.forEach((t,n)=>{if(t.entries.length!==s)return;let l=t.entries.map((e,t)=>{let n=2*Math.PI*t/s-Math.PI/2,a=L(e,r,i,c);return{x:a*Math.cos(n),y:a*Math.sin(n)}});a===`circle`?e.append(`path`).attr(`d`,R(l,o.curveTension)).attr(`class`,`radarCurve-${n}`):a===`polygon`&&e.append(`polygon`).attr(`points`,l.map(e=>`${e.x},${e.y}`).join(` `)).attr(`class`,`radarCurve-${n}`)})}h(I,`drawCurves`);function L(e,t,n,r){return r*(Math.min(Math.max(e,t),n)-t)/(n-t)}h(L,`relativeRadius`);function R(e,t){let n=e.length,r=`M${e[0].x},${e[0].y}`;for(let i=0;i<n;i++){let a=e[(i-1+n)%n],o=e[i],s=e[(i+1)%n],c=e[(i+2)%n],l={x:o.x+(s.x-a.x)*t,y:o.y+(s.y-a.y)*t},u={x:s.x-(c.x-o.x)*t,y:s.y-(c.y-o.y)*t};r+=` C${l.x},${l.y} ${u.x},${u.y} ${s.x},${s.y}`}return`${r} Z`}h(R,`closedRoundCurve`);function z(e,t,n,r){if(!n)return;let i=(r.width/2+r.marginRight)*3/4,a=-(r.height/2+r.marginTop)*3/4;t.forEach((t,n)=>{let r=e.append(`g`).attr(`transform`,`translate(${i}, ${a+n*20})`);r.append(`rect`).attr(`width`,12).attr(`height`,12).attr(`class`,`radarLegendBox-${n}`),r.append(`text`).attr(`x`,16).attr(`y`,0).attr(`class`,`radarLegendText`).text(t.label)})}h(z,`drawLegend`);var B={draw:M},V=h((e,t)=>{let n=``;for(let r=0;r<e.THEME_COLOR_LIMIT;r++){let i=e[`cScale${r}`];n+=`
|
|
2
|
+
.radarCurve-${r} {
|
|
3
|
+
color: ${i};
|
|
4
|
+
fill: ${i};
|
|
5
|
+
fill-opacity: ${t.curveOpacity};
|
|
6
|
+
stroke: ${i};
|
|
7
|
+
stroke-width: ${t.curveStrokeWidth};
|
|
8
|
+
}
|
|
9
|
+
.radarLegendBox-${r} {
|
|
10
|
+
fill: ${i};
|
|
11
|
+
fill-opacity: ${t.curveOpacity};
|
|
12
|
+
stroke: ${i};
|
|
13
|
+
}
|
|
14
|
+
`}return n},`genIndexStyles`),H=h(e=>{let t=i(),r=p(),a=n(t,r.themeVariables);return{themeVariables:a,radarOptions:n(a.radar,e)}},`buildRadarStyleOptions`),U={parser:j,db:k,renderer:B,styles:h(({radar:e}={})=>{let{themeVariables:t,radarOptions:n}=H(e);return`
|
|
15
|
+
.radarTitle {
|
|
16
|
+
font-size: ${t.fontSize};
|
|
17
|
+
color: ${t.titleColor};
|
|
18
|
+
dominant-baseline: hanging;
|
|
19
|
+
text-anchor: middle;
|
|
20
|
+
}
|
|
21
|
+
.radarAxisLine {
|
|
22
|
+
stroke: ${n.axisColor};
|
|
23
|
+
stroke-width: ${n.axisStrokeWidth};
|
|
24
|
+
}
|
|
25
|
+
.radarAxisLabel {
|
|
26
|
+
font-size: ${n.axisLabelFontSize}px;
|
|
27
|
+
color: ${n.axisColor};
|
|
28
|
+
}
|
|
29
|
+
.radarGraticule {
|
|
30
|
+
fill: ${n.graticuleColor};
|
|
31
|
+
fill-opacity: ${n.graticuleOpacity};
|
|
32
|
+
stroke: ${n.graticuleColor};
|
|
33
|
+
stroke-width: ${n.graticuleStrokeWidth};
|
|
34
|
+
}
|
|
35
|
+
.radarLegendText {
|
|
36
|
+
text-anchor: start;
|
|
37
|
+
font-size: ${n.legendFontSize}px;
|
|
38
|
+
dominant-baseline: hanging;
|
|
39
|
+
}
|
|
40
|
+
${V(t,n)}
|
|
41
|
+
`},`styles`)};export{U as diagram};
|