@aiquants/markdown 1.5.0 → 1.6.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 +67 -13
- package/dist/arc-BoCDCi7a.js +84 -0
- package/dist/{arc-CEt7sPHR.js.map → arc-BoCDCi7a.js.map} +1 -1
- package/dist/{arc-DIzHZzU-.cjs → arc-De-Zv-A5.cjs} +2 -2
- package/dist/{arc-DIzHZzU-.cjs.map → arc-De-Zv-A5.cjs.map} +1 -1
- package/dist/{architectureDiagram-3BPJPVTR-BwXrmOEe.js → architectureDiagram-3BPJPVTR--B7uWkzb.js} +3 -3
- package/dist/{architectureDiagram-3BPJPVTR-BwXrmOEe.js.map → architectureDiagram-3BPJPVTR--B7uWkzb.js.map} +1 -1
- package/dist/{architectureDiagram-3BPJPVTR-BObLtWhv.cjs → architectureDiagram-3BPJPVTR-BU8vezuK.cjs} +2 -2
- package/dist/{architectureDiagram-3BPJPVTR-BObLtWhv.cjs.map → architectureDiagram-3BPJPVTR-BU8vezuK.cjs.map} +1 -1
- package/dist/{blockDiagram-GPEHLZMM-DlSz5bgX.cjs → blockDiagram-GPEHLZMM-BgMaQKJL.cjs} +2 -2
- package/dist/{blockDiagram-GPEHLZMM-DlSz5bgX.cjs.map → blockDiagram-GPEHLZMM-BgMaQKJL.cjs.map} +1 -1
- package/dist/{blockDiagram-GPEHLZMM-CuNIZgrH.js → blockDiagram-GPEHLZMM-D9Qu4RmQ.js} +4 -4
- package/dist/{blockDiagram-GPEHLZMM-CuNIZgrH.js.map → blockDiagram-GPEHLZMM-D9Qu4RmQ.js.map} +1 -1
- package/dist/{c4Diagram-AAUBKEIU-yYGK7jpN.js → c4Diagram-AAUBKEIU-B_S1FVg0.js} +3 -3
- package/dist/{c4Diagram-AAUBKEIU-yYGK7jpN.js.map → c4Diagram-AAUBKEIU-B_S1FVg0.js.map} +1 -1
- package/dist/{c4Diagram-AAUBKEIU-BeW_zC3n.cjs → c4Diagram-AAUBKEIU-DdYus-OD.cjs} +2 -2
- package/dist/{c4Diagram-AAUBKEIU-BeW_zC3n.cjs.map → c4Diagram-AAUBKEIU-DdYus-OD.cjs.map} +1 -1
- package/dist/channel-CL-Jpcy1.cjs +2 -0
- package/dist/{channel-DJV0Dpb7.cjs.map → channel-CL-Jpcy1.cjs.map} +1 -1
- package/dist/channel-K4LsZJQ3.js +6 -0
- package/dist/{channel-D_k9IBco.js.map → channel-K4LsZJQ3.js.map} +1 -1
- package/dist/{chunk-2J33WTMH-_yO_LcWk.js → chunk-2J33WTMH-DRQXzgFz.js} +5 -5
- package/dist/{chunk-2J33WTMH-_yO_LcWk.js.map → chunk-2J33WTMH-DRQXzgFz.js.map} +1 -1
- package/dist/{chunk-2J33WTMH-Cowi4nma.cjs → chunk-2J33WTMH-DwPHxvbM.cjs} +2 -2
- package/dist/{chunk-2J33WTMH-Cowi4nma.cjs.map → chunk-2J33WTMH-DwPHxvbM.cjs.map} +1 -1
- package/dist/{chunk-4BX2VUAB-Bfs3RK7t.js → chunk-4BX2VUAB-D9XJDecT.js} +2 -2
- package/dist/{chunk-4BX2VUAB-Bfs3RK7t.js.map → chunk-4BX2VUAB-D9XJDecT.js.map} +1 -1
- package/dist/{chunk-4BX2VUAB-CvWrfkZa.cjs → chunk-4BX2VUAB-dlb1zwjz.cjs} +2 -2
- package/dist/{chunk-4BX2VUAB-CvWrfkZa.cjs.map → chunk-4BX2VUAB-dlb1zwjz.cjs.map} +1 -1
- package/dist/chunk-55IACEB6-D6SBdsxQ.js +9 -0
- package/dist/{chunk-55IACEB6-DJuAcFli.js.map → chunk-55IACEB6-D6SBdsxQ.js.map} +1 -1
- package/dist/{chunk-55IACEB6-B0mU27TO.cjs → chunk-55IACEB6-DsigtXV5.cjs} +2 -2
- package/dist/{chunk-55IACEB6-B0mU27TO.cjs.map → chunk-55IACEB6-DsigtXV5.cjs.map} +1 -1
- package/dist/{chunk-727SXJPM-CVzH4wV5.js → chunk-727SXJPM-BPMnljJt.js} +6 -6
- package/dist/{chunk-727SXJPM-CVzH4wV5.js.map → chunk-727SXJPM-BPMnljJt.js.map} +1 -1
- package/dist/{chunk-727SXJPM-B5m5LYHV.cjs → chunk-727SXJPM-e9WFwXOz.cjs} +2 -2
- package/dist/{chunk-727SXJPM-B5m5LYHV.cjs.map → chunk-727SXJPM-e9WFwXOz.cjs.map} +1 -1
- package/dist/{chunk-AQP2D5EJ-BQmegdYZ.js → chunk-AQP2D5EJ-BpywKue8.js} +24 -24
- package/dist/{chunk-AQP2D5EJ-BQmegdYZ.js.map → chunk-AQP2D5EJ-BpywKue8.js.map} +1 -1
- package/dist/{chunk-AQP2D5EJ-D8g3xVfY.cjs → chunk-AQP2D5EJ-CfVceSH6.cjs} +2 -2
- package/dist/{chunk-AQP2D5EJ-D8g3xVfY.cjs.map → chunk-AQP2D5EJ-CfVceSH6.cjs.map} +1 -1
- package/dist/{chunk-FMBD7UC4-DOp7_K1e.cjs → chunk-FMBD7UC4-BGnaELVV.cjs} +2 -2
- package/dist/{chunk-FMBD7UC4-DOp7_K1e.cjs.map → chunk-FMBD7UC4-BGnaELVV.cjs.map} +1 -1
- package/dist/{chunk-FMBD7UC4-A9cVBrbN.js → chunk-FMBD7UC4-Ceyg9OFV.js} +2 -2
- package/dist/{chunk-FMBD7UC4-A9cVBrbN.js.map → chunk-FMBD7UC4-Ceyg9OFV.js.map} +1 -1
- package/dist/{chunk-ND2GUHAM-D25Z9Pku.cjs → chunk-ND2GUHAM-Di1_ImUP.cjs} +2 -2
- package/dist/{chunk-ND2GUHAM-D25Z9Pku.cjs.map → chunk-ND2GUHAM-Di1_ImUP.cjs.map} +1 -1
- package/dist/{chunk-ND2GUHAM-zG18UJLV.js → chunk-ND2GUHAM-_KS2U3Xd.js} +2 -2
- package/dist/{chunk-ND2GUHAM-zG18UJLV.js.map → chunk-ND2GUHAM-_KS2U3Xd.js.map} +1 -1
- package/dist/{chunk-QZHKN3VN-CzUmAQ1N.cjs → chunk-QZHKN3VN-37Dnf6ph.cjs} +2 -2
- package/dist/{chunk-QZHKN3VN-CzUmAQ1N.cjs.map → chunk-QZHKN3VN-37Dnf6ph.cjs.map} +1 -1
- package/dist/{chunk-QZHKN3VN-TMR0u28S.js → chunk-QZHKN3VN-BmwSf22H.js} +2 -2
- package/dist/{chunk-QZHKN3VN-TMR0u28S.js.map → chunk-QZHKN3VN-BmwSf22H.js.map} +1 -1
- package/dist/{classDiagram-4FO5ZUOK-B6q8R48h.js → classDiagram-4FO5ZUOK-BWqlCTLp.js} +3 -3
- package/dist/{classDiagram-4FO5ZUOK-B6q8R48h.js.map → classDiagram-4FO5ZUOK-BWqlCTLp.js.map} +1 -1
- package/dist/{classDiagram-4FO5ZUOK-AWKMUU6E.cjs → classDiagram-4FO5ZUOK-C4BU4T62.cjs} +2 -2
- package/dist/{classDiagram-4FO5ZUOK-AWKMUU6E.cjs.map → classDiagram-4FO5ZUOK-C4BU4T62.cjs.map} +1 -1
- package/dist/{classDiagram-v2-Q7XG4LA2-B6q8R48h.js → classDiagram-v2-Q7XG4LA2-BWqlCTLp.js} +3 -3
- package/dist/{classDiagram-v2-Q7XG4LA2-B6q8R48h.js.map → classDiagram-v2-Q7XG4LA2-BWqlCTLp.js.map} +1 -1
- package/dist/{classDiagram-v2-Q7XG4LA2-AWKMUU6E.cjs → classDiagram-v2-Q7XG4LA2-C4BU4T62.cjs} +2 -2
- package/dist/{classDiagram-v2-Q7XG4LA2-AWKMUU6E.cjs.map → classDiagram-v2-Q7XG4LA2-C4BU4T62.cjs.map} +1 -1
- package/dist/{cose-bilkent-S5V4N54A-CmOvtbW1.js → cose-bilkent-S5V4N54A-XubnkySi.js} +25 -25
- package/dist/{cose-bilkent-S5V4N54A-CmOvtbW1.js.map → cose-bilkent-S5V4N54A-XubnkySi.js.map} +1 -1
- package/dist/{cose-bilkent-S5V4N54A-Be0WGYzv.cjs → cose-bilkent-S5V4N54A-i82zh9MZ.cjs} +2 -2
- package/dist/{cose-bilkent-S5V4N54A-Be0WGYzv.cjs.map → cose-bilkent-S5V4N54A-i82zh9MZ.cjs.map} +1 -1
- package/dist/{dagre-BM42HDAG-Cj9S9AJL.cjs → dagre-BM42HDAG-BnI0bbQQ.cjs} +2 -2
- package/dist/{dagre-BM42HDAG-Cj9S9AJL.cjs.map → dagre-BM42HDAG-BnI0bbQQ.cjs.map} +1 -1
- package/dist/{dagre-BM42HDAG-BdMc_uQ_.js → dagre-BM42HDAG-dbwMNqTJ.js} +20 -20
- package/dist/{dagre-BM42HDAG-BdMc_uQ_.js.map → dagre-BM42HDAG-dbwMNqTJ.js.map} +1 -1
- package/dist/{diagram-2AECGRRQ-BoIVObSX.js → diagram-2AECGRRQ-Dq3jgteK.js} +9 -9
- package/dist/{diagram-2AECGRRQ-BoIVObSX.js.map → diagram-2AECGRRQ-Dq3jgteK.js.map} +1 -1
- package/dist/{diagram-2AECGRRQ-pClFOcCf.cjs → diagram-2AECGRRQ-LK0WewmW.cjs} +2 -2
- package/dist/{diagram-2AECGRRQ-pClFOcCf.cjs.map → diagram-2AECGRRQ-LK0WewmW.cjs.map} +1 -1
- package/dist/{diagram-5GNKFQAL-B4QZF1L-.cjs → diagram-5GNKFQAL-Cjn8C55h.cjs} +2 -2
- package/dist/{diagram-5GNKFQAL-B4QZF1L-.cjs.map → diagram-5GNKFQAL-Cjn8C55h.cjs.map} +1 -1
- package/dist/{diagram-5GNKFQAL-CF9CayfA.js → diagram-5GNKFQAL-Dee1SqZg.js} +23 -23
- package/dist/{diagram-5GNKFQAL-CF9CayfA.js.map → diagram-5GNKFQAL-Dee1SqZg.js.map} +1 -1
- package/dist/{diagram-KO2AKTUF-DpJGYqyH.js → diagram-KO2AKTUF-CrPdYBLO.js} +14 -14
- package/dist/{diagram-KO2AKTUF-DpJGYqyH.js.map → diagram-KO2AKTUF-CrPdYBLO.js.map} +1 -1
- package/dist/{diagram-KO2AKTUF-OcgLlHLQ.cjs → diagram-KO2AKTUF-DoIuQ47y.cjs} +2 -2
- package/dist/{diagram-KO2AKTUF-OcgLlHLQ.cjs.map → diagram-KO2AKTUF-DoIuQ47y.cjs.map} +1 -1
- package/dist/{diagram-LMA3HP47-E2tXDlPZ.js → diagram-LMA3HP47-B04Q5TTr.js} +12 -12
- package/dist/{diagram-LMA3HP47-E2tXDlPZ.js.map → diagram-LMA3HP47-B04Q5TTr.js.map} +1 -1
- package/dist/{diagram-LMA3HP47-DLDXNgwR.cjs → diagram-LMA3HP47-DMo-Du0O.cjs} +2 -2
- package/dist/{diagram-LMA3HP47-DLDXNgwR.cjs.map → diagram-LMA3HP47-DMo-Du0O.cjs.map} +1 -1
- package/dist/{diagram-OG6HWLK6-D39m55l2.cjs → diagram-OG6HWLK6-CYAVH4wV.cjs} +2 -2
- package/dist/{diagram-OG6HWLK6-D39m55l2.cjs.map → diagram-OG6HWLK6-CYAVH4wV.cjs.map} +1 -1
- package/dist/{diagram-OG6HWLK6-DrX6SniD.js → diagram-OG6HWLK6-DttOCE5a.js} +31 -31
- package/dist/{diagram-OG6HWLK6-DrX6SniD.js.map → diagram-OG6HWLK6-DttOCE5a.js.map} +1 -1
- package/dist/{erDiagram-TEJ5UH35-DHpUNAJP.cjs → erDiagram-TEJ5UH35-Od4ZN_Jj.cjs} +2 -2
- package/dist/{erDiagram-TEJ5UH35-DHpUNAJP.cjs.map → erDiagram-TEJ5UH35-Od4ZN_Jj.cjs.map} +1 -1
- package/dist/{erDiagram-TEJ5UH35-Dv81-v_G.js → erDiagram-TEJ5UH35-l6r2moWp.js} +13 -13
- package/dist/{erDiagram-TEJ5UH35-Dv81-v_G.js.map → erDiagram-TEJ5UH35-l6r2moWp.js.map} +1 -1
- package/dist/extractHeadings-BCDkDiAF.cjs +306 -0
- package/dist/extractHeadings-BCDkDiAF.cjs.map +1 -0
- package/dist/{extractHeadings-BIH0osfd.js → extractHeadings-CvNjLb_I.js} +7799 -6950
- package/dist/extractHeadings-CvNjLb_I.js.map +1 -0
- package/dist/{flowDiagram-I6XJVG4X-ClmjxIFB.js → flowDiagram-I6XJVG4X-BSY6idek.js} +22 -22
- package/dist/{flowDiagram-I6XJVG4X-ClmjxIFB.js.map → flowDiagram-I6XJVG4X-BSY6idek.js.map} +1 -1
- package/dist/{flowDiagram-I6XJVG4X-DYouWDNV.cjs → flowDiagram-I6XJVG4X-DqFjV_FQ.cjs} +2 -2
- package/dist/{flowDiagram-I6XJVG4X-DYouWDNV.cjs.map → flowDiagram-I6XJVG4X-DqFjV_FQ.cjs.map} +1 -1
- package/dist/{ganttDiagram-6RSMTGT7-Me5Zb7D7.cjs → ganttDiagram-6RSMTGT7-Ch-is2L9.cjs} +2 -2
- package/dist/{ganttDiagram-6RSMTGT7-Me5Zb7D7.cjs.map → ganttDiagram-6RSMTGT7-Ch-is2L9.cjs.map} +1 -1
- package/dist/{ganttDiagram-6RSMTGT7-BA96mVrd.js → ganttDiagram-6RSMTGT7-NbUTajI9.js} +114 -114
- package/dist/{ganttDiagram-6RSMTGT7-BA96mVrd.js.map → ganttDiagram-6RSMTGT7-NbUTajI9.js.map} +1 -1
- package/dist/{gitGraphDiagram-PVQCEYII-DyCea4nE.js → gitGraphDiagram-PVQCEYII-BON2AIjh.js} +4 -4
- package/dist/{gitGraphDiagram-PVQCEYII-DyCea4nE.js.map → gitGraphDiagram-PVQCEYII-BON2AIjh.js.map} +1 -1
- package/dist/{gitGraphDiagram-PVQCEYII-D9wpFJGN.cjs → gitGraphDiagram-PVQCEYII-CsKS4JsX.cjs} +2 -2
- package/dist/{gitGraphDiagram-PVQCEYII-D9wpFJGN.cjs.map → gitGraphDiagram-PVQCEYII-CsKS4JsX.cjs.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.client.cjs +1 -1
- package/dist/index.client.js +43 -39
- package/dist/index.client.js.map +1 -1
- package/dist/index.js +43 -39
- package/dist/index.js.map +1 -1
- package/dist/index.server.cjs +1 -1
- package/dist/index.server.cjs.map +1 -1
- package/dist/index.server.js +303 -372
- package/dist/index.server.js.map +1 -1
- package/dist/{infoDiagram-5YYISTIA-Bm90rqIU.js → infoDiagram-5YYISTIA-D9ZSyMlU.js} +8 -8
- package/dist/{infoDiagram-5YYISTIA-Bm90rqIU.js.map → infoDiagram-5YYISTIA-D9ZSyMlU.js.map} +1 -1
- package/dist/{infoDiagram-5YYISTIA-CFhVEX_s.cjs → infoDiagram-5YYISTIA-DPFwfg1u.cjs} +2 -2
- package/dist/{infoDiagram-5YYISTIA-CFhVEX_s.cjs.map → infoDiagram-5YYISTIA-DPFwfg1u.cjs.map} +1 -1
- package/dist/{ishikawaDiagram-YF4QCWOH-ClcY08Tk.cjs → ishikawaDiagram-YF4QCWOH-7n8wfnaJ.cjs} +2 -2
- package/dist/{ishikawaDiagram-YF4QCWOH-ClcY08Tk.cjs.map → ishikawaDiagram-YF4QCWOH-7n8wfnaJ.cjs.map} +1 -1
- package/dist/{ishikawaDiagram-YF4QCWOH-Dn_SmX9S.js → ishikawaDiagram-YF4QCWOH-Bwmaj36v.js} +23 -23
- package/dist/{ishikawaDiagram-YF4QCWOH-Dn_SmX9S.js.map → ishikawaDiagram-YF4QCWOH-Bwmaj36v.js.map} +1 -1
- package/dist/{journeyDiagram-JHISSGLW-DGgZLT-L.cjs → journeyDiagram-JHISSGLW-CU1EWMDk.cjs} +2 -2
- package/dist/{journeyDiagram-JHISSGLW-DGgZLT-L.cjs.map → journeyDiagram-JHISSGLW-CU1EWMDk.cjs.map} +1 -1
- package/dist/{journeyDiagram-JHISSGLW-CoQTbK-P.js → journeyDiagram-JHISSGLW-Cs1W2gPR.js} +14 -14
- package/dist/{journeyDiagram-JHISSGLW-CoQTbK-P.js.map → journeyDiagram-JHISSGLW-Cs1W2gPR.js.map} +1 -1
- package/dist/{kanban-definition-UN3LZRKU-UqgCo7Db.js → kanban-definition-UN3LZRKU-BPKrIETE.js} +37 -37
- package/dist/{kanban-definition-UN3LZRKU-UqgCo7Db.js.map → kanban-definition-UN3LZRKU-BPKrIETE.js.map} +1 -1
- package/dist/{kanban-definition-UN3LZRKU-5akhNSgA.cjs → kanban-definition-UN3LZRKU-BaNd7N3-.cjs} +2 -2
- package/dist/{kanban-definition-UN3LZRKU-5akhNSgA.cjs.map → kanban-definition-UN3LZRKU-BaNd7N3-.cjs.map} +1 -1
- package/dist/{linear-D3Fuq7G8.js → linear-ChMxHyCK.js} +32 -32
- package/dist/{linear-D3Fuq7G8.js.map → linear-ChMxHyCK.js.map} +1 -1
- package/dist/{linear-CwRbgLja.cjs → linear-DZcdO2vJ.cjs} +2 -2
- package/dist/{linear-CwRbgLja.cjs.map → linear-DZcdO2vJ.cjs.map} +1 -1
- package/dist/markdown.css +1 -1
- package/dist/{mindmap-definition-RKZ34NQL-Bii9VbaK.js → mindmap-definition-RKZ34NQL-C8nxZGNS.js} +77 -77
- package/dist/{mindmap-definition-RKZ34NQL-Bii9VbaK.js.map → mindmap-definition-RKZ34NQL-C8nxZGNS.js.map} +1 -1
- package/dist/{mindmap-definition-RKZ34NQL-DXADpvuA.cjs → mindmap-definition-RKZ34NQL-DChglGn7.cjs} +2 -2
- package/dist/{mindmap-definition-RKZ34NQL-DXADpvuA.cjs.map → mindmap-definition-RKZ34NQL-DChglGn7.cjs.map} +1 -1
- package/dist/{pieDiagram-4H26LBE5-IxhnJJ7L.js → pieDiagram-4H26LBE5-CV6cejpg.js} +36 -36
- package/dist/{pieDiagram-4H26LBE5-IxhnJJ7L.js.map → pieDiagram-4H26LBE5-CV6cejpg.js.map} +1 -1
- package/dist/{pieDiagram-4H26LBE5-fogswTcl.cjs → pieDiagram-4H26LBE5-md6Jk-kX.cjs} +2 -2
- package/dist/{pieDiagram-4H26LBE5-fogswTcl.cjs.map → pieDiagram-4H26LBE5-md6Jk-kX.cjs.map} +1 -1
- package/dist/{quadrantDiagram-W4KKPZXB-BVTHzx2l.cjs → quadrantDiagram-W4KKPZXB-BiJ3bFZn.cjs} +2 -2
- package/dist/{quadrantDiagram-W4KKPZXB-BVTHzx2l.cjs.map → quadrantDiagram-W4KKPZXB-BiJ3bFZn.cjs.map} +1 -1
- package/dist/{quadrantDiagram-W4KKPZXB-C8_GeFoe.js → quadrantDiagram-W4KKPZXB-CWoZo1iQ.js} +5 -5
- package/dist/{quadrantDiagram-W4KKPZXB-C8_GeFoe.js.map → quadrantDiagram-W4KKPZXB-CWoZo1iQ.js.map} +1 -1
- package/dist/{requirementDiagram-4Y6WPE33-BAt5yldj.cjs → requirementDiagram-4Y6WPE33-BJMM1_nL.cjs} +2 -2
- package/dist/{requirementDiagram-4Y6WPE33-BAt5yldj.cjs.map → requirementDiagram-4Y6WPE33-BJMM1_nL.cjs.map} +1 -1
- package/dist/{requirementDiagram-4Y6WPE33-Ce1YmqAJ.js → requirementDiagram-4Y6WPE33-BOwFaREr.js} +4 -4
- package/dist/{requirementDiagram-4Y6WPE33-Ce1YmqAJ.js.map → requirementDiagram-4Y6WPE33-BOwFaREr.js.map} +1 -1
- package/dist/{sankeyDiagram-5OEKKPKP-CPzjKU9I.js → sankeyDiagram-5OEKKPKP-D_Y2fiVv.js} +27 -27
- package/dist/{sankeyDiagram-5OEKKPKP-CPzjKU9I.js.map → sankeyDiagram-5OEKKPKP-D_Y2fiVv.js.map} +1 -1
- package/dist/{sankeyDiagram-5OEKKPKP-DKAhIIn6.cjs → sankeyDiagram-5OEKKPKP-DkhPTPSt.cjs} +2 -2
- package/dist/{sankeyDiagram-5OEKKPKP-DKAhIIn6.cjs.map → sankeyDiagram-5OEKKPKP-DkhPTPSt.cjs.map} +1 -1
- package/dist/{sequenceDiagram-3UESZ5HK-CgPqURJr.cjs → sequenceDiagram-3UESZ5HK-BRU7h4Ho.cjs} +2 -2
- package/dist/{sequenceDiagram-3UESZ5HK-CgPqURJr.cjs.map → sequenceDiagram-3UESZ5HK-BRU7h4Ho.cjs.map} +1 -1
- package/dist/{sequenceDiagram-3UESZ5HK-BpwEIPSR.js → sequenceDiagram-3UESZ5HK-DxWSY6ex.js} +43 -43
- package/dist/{sequenceDiagram-3UESZ5HK-BpwEIPSR.js.map → sequenceDiagram-3UESZ5HK-DxWSY6ex.js.map} +1 -1
- package/dist/simple-logger-DIfMY3fH.js +102 -0
- package/dist/simple-logger-DIfMY3fH.js.map +1 -0
- package/dist/simple-logger-DZxBpX7v.cjs +2 -0
- package/dist/simple-logger-DZxBpX7v.cjs.map +1 -0
- package/dist/src/components/MarkdownRenderer.d.ts +8 -12
- package/dist/src/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/src/components/MarkdownViewer.d.ts +133 -0
- package/dist/src/components/MarkdownViewer.d.ts.map +1 -0
- package/dist/src/components/MermaidDiagram.d.ts +9 -1
- package/dist/src/components/MermaidDiagram.d.ts.map +1 -1
- package/dist/src/components/mdastNodes/CodeNode.d.ts +8 -3
- package/dist/src/components/mdastNodes/CodeNode.d.ts.map +1 -1
- package/dist/src/components/mdastNodes/HTMLNode.d.ts.map +1 -1
- package/dist/src/components/mdastNodes/MathNode.d.ts +8 -0
- package/dist/src/components/mdastNodes/MathNode.d.ts.map +1 -1
- package/dist/src/components/mdastNodes/RichLinkCard.d.ts.map +1 -1
- package/dist/src/components/mermaidInteraction.d.ts +57 -0
- package/dist/src/components/mermaidInteraction.d.ts.map +1 -0
- package/dist/src/components/plugins/DifyIFramePlugin.d.ts.map +1 -1
- package/dist/src/gen/markdown/v1/markdown_connect.d.ts +20 -0
- package/dist/src/gen/markdown/v1/markdown_connect.d.ts.map +1 -0
- package/dist/src/gen/markdown/v1/markdown_pb.d.ts +101 -0
- package/dist/src/gen/markdown/v1/markdown_pb.d.ts.map +1 -0
- package/dist/src/index.client.d.ts +2 -1
- package/dist/src/index.client.d.ts.map +1 -1
- package/dist/src/index.server.d.ts +1 -1
- package/dist/src/index.server.d.ts.map +1 -1
- package/dist/src/remarkProcessor.server.d.ts +18 -2
- package/dist/src/remarkProcessor.server.d.ts.map +1 -1
- package/dist/{stateDiagram-AJRCARHV-OpWhWbqI.cjs → stateDiagram-AJRCARHV-CqtM_wb7.cjs} +2 -2
- package/dist/{stateDiagram-AJRCARHV-OpWhWbqI.cjs.map → stateDiagram-AJRCARHV-CqtM_wb7.cjs.map} +1 -1
- package/dist/{stateDiagram-AJRCARHV-OtsOxzY2.js → stateDiagram-AJRCARHV-DSsrJMAA.js} +13 -13
- package/dist/{stateDiagram-AJRCARHV-OtsOxzY2.js.map → stateDiagram-AJRCARHV-DSsrJMAA.js.map} +1 -1
- package/dist/{stateDiagram-v2-BHNVJYJU-CAvz3uwY.js → stateDiagram-v2-BHNVJYJU-BZ0QjYK7.js} +3 -3
- package/dist/{stateDiagram-v2-BHNVJYJU-CAvz3uwY.js.map → stateDiagram-v2-BHNVJYJU-BZ0QjYK7.js.map} +1 -1
- package/dist/{stateDiagram-v2-BHNVJYJU-DEkcCy3a.cjs → stateDiagram-v2-BHNVJYJU-CQp1esNj.cjs} +2 -2
- package/dist/{stateDiagram-v2-BHNVJYJU-DEkcCy3a.cjs.map → stateDiagram-v2-BHNVJYJU-CQp1esNj.cjs.map} +1 -1
- package/dist/styles/markdown.css +1 -1
- package/dist/{timeline-definition-PNZ67QCA-PRJCyjVm.cjs → timeline-definition-PNZ67QCA-B9RmAqqi.cjs} +2 -2
- package/dist/{timeline-definition-PNZ67QCA-PRJCyjVm.cjs.map → timeline-definition-PNZ67QCA-B9RmAqqi.cjs.map} +1 -1
- package/dist/{timeline-definition-PNZ67QCA-CCZVlXOO.js → timeline-definition-PNZ67QCA-CoFHhgLp.js} +38 -38
- package/dist/{timeline-definition-PNZ67QCA-CCZVlXOO.js.map → timeline-definition-PNZ67QCA-CoFHhgLp.js.map} +1 -1
- package/dist/{vennDiagram-CIIHVFJN-CJIbwKdq.cjs → vennDiagram-CIIHVFJN-BLhG-NNC.cjs} +2 -2
- package/dist/{vennDiagram-CIIHVFJN-CJIbwKdq.cjs.map → vennDiagram-CIIHVFJN-BLhG-NNC.cjs.map} +1 -1
- package/dist/{vennDiagram-CIIHVFJN-DjW1FsID.js → vennDiagram-CIIHVFJN-DWsjrahp.js} +98 -98
- package/dist/{vennDiagram-CIIHVFJN-DjW1FsID.js.map → vennDiagram-CIIHVFJN-DWsjrahp.js.map} +1 -1
- package/dist/vite.config.d.ts.map +1 -1
- package/dist/{wardleyDiagram-YWT4CUSO-FRB5Ve3j.cjs → wardleyDiagram-YWT4CUSO-C21VhlO9.cjs} +2 -2
- package/dist/{wardleyDiagram-YWT4CUSO-FRB5Ve3j.cjs.map → wardleyDiagram-YWT4CUSO-C21VhlO9.cjs.map} +1 -1
- package/dist/{wardleyDiagram-YWT4CUSO-opnMU0cO.js → wardleyDiagram-YWT4CUSO-Dcw9yeY5.js} +24 -24
- package/dist/{wardleyDiagram-YWT4CUSO-opnMU0cO.js.map → wardleyDiagram-YWT4CUSO-Dcw9yeY5.js.map} +1 -1
- package/dist/{xychartDiagram-2RQKCTM6-CQh5pyBs.js → xychartDiagram-2RQKCTM6-BwcFF2Mu.js} +3 -3
- package/dist/{xychartDiagram-2RQKCTM6-CQh5pyBs.js.map → xychartDiagram-2RQKCTM6-BwcFF2Mu.js.map} +1 -1
- package/dist/{xychartDiagram-2RQKCTM6-DjDxwlNx.cjs → xychartDiagram-2RQKCTM6-NS9IkwEv.cjs} +2 -2
- package/dist/{xychartDiagram-2RQKCTM6-DjDxwlNx.cjs.map → xychartDiagram-2RQKCTM6-NS9IkwEv.cjs.map} +1 -1
- package/package.json +6 -1
- package/dist/arc-CEt7sPHR.js +0 -84
- package/dist/channel-DJV0Dpb7.cjs +0 -2
- package/dist/channel-D_k9IBco.js +0 -6
- package/dist/chunk-55IACEB6-DJuAcFli.js +0 -9
- package/dist/extractHeadings-BIH0osfd.js.map +0 -1
- package/dist/extractHeadings-C519p0PM.cjs +0 -306
- package/dist/extractHeadings-C519p0PM.cjs.map +0 -1
- package/dist/remark-zenn-message-B-AEffpD.js +0 -408
- package/dist/remark-zenn-message-B-AEffpD.js.map +0 -1
- package/dist/remark-zenn-message-B5yftsqg.cjs +0 -2
- package/dist/remark-zenn-message-B5yftsqg.cjs.map +0 -1
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
export { remarkImportDirective } from './plugins/remark-import-directive.async.server.ts';
|
|
6
6
|
export { remarkResolveUriAsync } from './plugins/remark-resolve-uri.async.ts';
|
|
7
7
|
export { transformUriAsync } from './plugins/transformUri.async.server.ts';
|
|
8
|
-
export { parseMarkdown } from './remarkProcessor.server.ts';
|
|
8
|
+
export { type ParseResult, parseMarkdown } from './remarkProcessor.server.ts';
|
|
9
9
|
//# sourceMappingURL=index.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../../src/index.server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../../src/index.server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE1E,OAAO,EAAE,KAAK,WAAW,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA"}
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export interface ParseResult {
|
|
2
|
+
htmlContent: string;
|
|
3
|
+
headings: Array<{
|
|
4
|
+
text: string;
|
|
5
|
+
depth: number;
|
|
6
|
+
id: string;
|
|
7
|
+
}>;
|
|
8
|
+
}
|
|
9
|
+
export interface ParseOptions {
|
|
10
|
+
validateExistence?: boolean;
|
|
11
|
+
enableSubscript?: boolean;
|
|
12
|
+
enableSuperscript?: boolean;
|
|
13
|
+
enableMark?: boolean;
|
|
14
|
+
enableTableMerge?: boolean;
|
|
15
|
+
enableEmbeds?: boolean;
|
|
16
|
+
enableZennDirectives?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare const parseMarkdown: (markdownText: string, markdownFilePath: string, workspaceRoot: string, userOAuthToken?: string, validateExistenceOrOptions?: boolean | ParseOptions) => Promise<ParseResult>;
|
|
3
19
|
//# sourceMappingURL=remarkProcessor.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remarkProcessor.server.d.ts","sourceRoot":"","sources":["../../src/remarkProcessor.server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"remarkProcessor.server.d.ts","sourceRoot":"","sources":["../../src/remarkProcessor.server.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,WAAW;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,EAAE,EAAE,MAAM,CAAA;KACb,CAAC,CAAA;CACL;AAED,MAAM,WAAW,YAAY;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,eAAO,MAAM,aAAa,GAAU,cAAc,MAAM,EAAE,kBAAkB,MAAM,EAAE,eAAe,MAAM,EAAE,iBAAiB,MAAM,EAAE,6BAA4B,OAAO,GAAG,YAAmB,KAAG,OAAO,CAAC,WAAW,CAkDlN,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("./chunk-AQP2D5EJ-D8g3xVfY.cjs"),t=require("./extractHeadings-C519p0PM.cjs"),H=require("./graph-BgRih2Qv.cjs"),T=require("./layout-ivvluv7u.cjs");var z=t.__name(e=>e.append("circle").attr("class","start-state").attr("r",t.getConfig2().state.sizeUnit).attr("cx",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit).attr("cy",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit),"drawStartState"),L=t.__name(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t.getConfig2().state.textHeight).attr("class","divider").attr("x2",t.getConfig2().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),A=t.__name((e,n)=>{const d=e.append("text").attr("x",2*t.getConfig2().state.padding).attr("y",t.getConfig2().state.textHeight+2*t.getConfig2().state.padding).attr("font-size",t.getConfig2().state.fontSize).attr("class","state-title").text(n.id),g=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t.getConfig2().state.padding).attr("y",t.getConfig2().state.padding).attr("width",g.width+2*t.getConfig2().state.padding).attr("height",g.height+2*t.getConfig2().state.padding).attr("rx",t.getConfig2().state.radius),d},"drawSimpleState"),P=t.__name((e,n)=>{const d=t.__name(function(s,m,u){const B=s.append("tspan").attr("x",2*t.getConfig2().state.padding).text(m);u||B.attr("dy",t.getConfig2().state.textHeight)},"addTspan"),o=e.append("text").attr("x",2*t.getConfig2().state.padding).attr("y",t.getConfig2().state.textHeight+1.3*t.getConfig2().state.padding).attr("font-size",t.getConfig2().state.fontSize).attr("class","state-title").text(n.descriptions[0]).node().getBBox(),l=o.height,h=e.append("text").attr("x",t.getConfig2().state.padding).attr("y",l+t.getConfig2().state.padding*.4+t.getConfig2().state.dividerMargin+t.getConfig2().state.textHeight).attr("class","state-description");let i=!0,r=!0;n.descriptions.forEach(function(s){i||(d(h,s,r),r=!1),i=!1});const y=e.append("line").attr("x1",t.getConfig2().state.padding).attr("y1",t.getConfig2().state.padding+l+t.getConfig2().state.dividerMargin/2).attr("y2",t.getConfig2().state.padding+l+t.getConfig2().state.dividerMargin/2).attr("class","descr-divider"),p=h.node().getBBox(),c=Math.max(p.width,o.width);return y.attr("x2",c+3*t.getConfig2().state.padding),e.insert("rect",":first-child").attr("x",t.getConfig2().state.padding).attr("y",t.getConfig2().state.padding).attr("width",c+2*t.getConfig2().state.padding).attr("height",p.height+l+2*t.getConfig2().state.padding).attr("rx",t.getConfig2().state.radius),e},"drawDescrState"),G=t.__name((e,n,d)=>{const g=t.getConfig2().state.padding,o=2*t.getConfig2().state.padding,l=e.node().getBBox(),h=l.width,i=l.x,r=e.append("text").attr("x",0).attr("y",t.getConfig2().state.titleShift).attr("font-size",t.getConfig2().state.fontSize).attr("class","state-title").text(n.id),p=r.node().getBBox().width+o;let c=Math.max(p,h);c===h&&(c=c+o);let s;const m=e.node().getBBox();n.doc,s=i-g,p>h&&(s=(h-c)/2+g),Math.abs(i-m.x)<g&&p>h&&(s=i-(p-h)/2);const u=1-t.getConfig2().state.textHeight;return e.insert("rect",":first-child").attr("x",s).attr("y",u).attr("class",d?"alt-composit":"composit").attr("width",c).attr("height",m.height+t.getConfig2().state.textHeight+t.getConfig2().state.titleShift+1).attr("rx","0"),r.attr("x",s+g),p<=h&&r.attr("x",i+(c-o)/2-p/2+g),e.insert("rect",":first-child").attr("x",s).attr("y",t.getConfig2().state.titleShift-t.getConfig2().state.textHeight-t.getConfig2().state.padding).attr("width",c).attr("height",t.getConfig2().state.textHeight*3).attr("rx",t.getConfig2().state.radius),e.insert("rect",":first-child").attr("x",s).attr("y",t.getConfig2().state.titleShift-t.getConfig2().state.textHeight-t.getConfig2().state.padding).attr("width",c).attr("height",m.height+3+2*t.getConfig2().state.textHeight).attr("rx",t.getConfig2().state.radius),e},"addTitleAndBox"),R=t.__name(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t.getConfig2().state.sizeUnit+t.getConfig2().state.miniPadding).attr("cx",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit+t.getConfig2().state.miniPadding).attr("cy",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit+t.getConfig2().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t.getConfig2().state.sizeUnit).attr("cx",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit+2).attr("cy",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit+2)),"drawEndState"),W=t.__name((e,n)=>{let d=t.getConfig2().state.forkWidth,g=t.getConfig2().state.forkHeight;if(n.parentId){let o=d;d=g,g=o}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",g).attr("x",t.getConfig2().state.padding).attr("y",t.getConfig2().state.padding)},"drawForkJoinState"),D=t.__name((e,n,d,g)=>{let o=0;const l=g.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let h=e.replace(/\r\n/g,"<br/>");h=h.replace(/\n/g,"<br/>");const i=h.split(t.common_default.lineBreakRegex);let r=1.25*t.getConfig2().state.noteMargin;for(const y of i){const p=y.trim();if(p.length>0){const c=l.append("tspan");if(c.text(p),r===0){const s=c.node().getBBox();r+=s.height}o+=r,c.attr("x",n+t.getConfig2().state.noteMargin),c.attr("y",d+o+1.25*t.getConfig2().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:o}},"_drawLongText"),U=t.__name((e,n)=>{n.attr("class","state-note");const d=n.append("rect").attr("x",0).attr("y",t.getConfig2().state.padding),g=n.append("g"),{textWidth:o,textHeight:l}=D(e,0,0,g);return d.attr("height",l+2*t.getConfig2().state.noteMargin),d.attr("width",o+t.getConfig2().state.noteMargin*2),d},"drawNote"),k=t.__name(function(e,n){const d=n.id,g={id:d,label:n.id,width:0,height:0},o=e.append("g").attr("id",d).attr("class","stateGroup");n.type==="start"&&z(o),n.type==="end"&&R(o),(n.type==="fork"||n.type==="join")&&W(o,n),n.type==="note"&&U(n.note.text,o),n.type==="divider"&&L(o),n.type==="default"&&n.descriptions.length===0&&A(o,n),n.type==="default"&&n.descriptions.length>0&&P(o,n);const l=o.node().getBBox();return g.width=l.width+2*t.getConfig2().state.padding,g.height=l.height+2*t.getConfig2().state.padding,g},"drawState"),N=0,F=t.__name(function(e,n,d){const g=t.__name(function(r){switch(r){case _.StateDB.relationType.AGGREGATION:return"aggregation";case _.StateDB.relationType.EXTENSION:return"extension";case _.StateDB.relationType.COMPOSITION:return"composition";case _.StateDB.relationType.DEPENDENCY:return"dependency"}},"getRelationType");n.points=n.points.filter(r=>!Number.isNaN(r.y));const o=n.points,l=t.line().x(function(r){return r.x}).y(function(r){return r.y}).curve(t.curveBasis),h=e.append("path").attr("d",l(o)).attr("id","edge"+N).attr("class","transition");let i="";if(t.getConfig2().state.arrowMarkerAbsolute&&(i=t.getUrl(!0)),h.attr("marker-end","url("+i+"#"+g(_.StateDB.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:y,y:p}=t.utils_default.calcLabelPosition(n.points),c=t.common_default.getRows(d.title);let s=0;const m=[];let u=0,B=0;for(let x=0;x<=c.length;x++){const f=r.append("text").attr("text-anchor","middle").text(c[x]).attr("x",y).attr("y",p+s),C=f.node().getBBox();u=Math.max(u,C.width),B=Math.min(B,C.x),t.log.info(C.x,y,p+s),s===0&&(s=f.node().getBBox().height,t.log.info("Title height",s,p)),m.push(f)}let S=s*c.length;if(c.length>1){const x=(c.length-1)*s*.5;m.forEach((f,C)=>f.attr("y",p+C*s-x)),S=s*c.length}const a=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",y-u/2-t.getConfig2().state.padding/2).attr("y",p-S/2-t.getConfig2().state.padding/2-3.5).attr("width",u+t.getConfig2().state.padding).attr("height",S+t.getConfig2().state.padding),t.log.info(a)}N++},"drawEdge"),w,E={},O=t.__name(function(){},"setConf"),J=t.__name(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),q=t.__name(function(e,n,d,g){w=t.getConfig2().state;const o=t.getConfig2().securityLevel;let l;o==="sandbox"&&(l=t.select("#i"+n));const h=o==="sandbox"?t.select(l.nodes()[0].contentDocument.body):t.select("body"),i=o==="sandbox"?l.nodes()[0].contentDocument:document;t.log.debug("Rendering diagram "+e);const r=h.select(`[id='${n}']`);J(r);const y=g.db.getRootDoc(),p=r.append("g").attr("id",n+"-root");M(y,p,void 0,!1,h,i,g);const c=w.padding,s=r.node().getBBox(),m=s.width+c*2,u=s.height+c*2,B=m*1.75;t.configureSvgSize(r,u,B,w.useMaxWidth),r.attr("viewBox",`${s.x-w.padding} ${s.y-w.padding} `+m+" "+u)},"draw"),X=t.__name(e=>e?e.length*w.fontSizeFactor:1,"getLabelWidth"),M=t.__name((e,n,d,g,o,l,h)=>{const i=new H.Graph({compound:!0,multigraph:!0});let r,y=!0;for(r=0;r<e.length;r++)if(e[r].stmt==="relation"){y=!1;break}d?i.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:y?1:w.edgeLengthFactor,nodeSep:y?1:50,isMultiGraph:!0}):i.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:y?1:w.edgeLengthFactor,nodeSep:y?1:50,ranker:"tight-tree",isMultiGraph:!0}),i.setDefaultEdgeLabel(function(){return{}});const p=h.db.getStates(),c=h.db.getRelations(),s=Object.keys(p);for(const a of s){const x=p[a];d&&(x.parentId=d);let f;if(x.doc){let C=n.append("g").attr("id",x.id).attr("class","stateGroup");f=M(x.doc,C,x.id,!g,o,l,h);{C=G(C,x,g);let b=C.node().getBBox();f.width=b.width,f.height=b.height+w.padding/2,E[x.id]={y:w.compositTitleSize}}}else f=k(n,x,i);if(x.note){const C={descriptions:[],id:x.id+"-note",note:x.note,type:"note"},b=k(n,C,i);x.note.position==="left of"?(i.setNode(f.id+"-note",b),i.setNode(f.id,f)):(i.setNode(f.id,f),i.setNode(f.id+"-note",b)),i.setParent(f.id,f.id+"-group"),i.setParent(f.id+"-note",f.id+"-group")}else i.setNode(f.id,f)}t.log.debug("Count=",i.nodeCount(),i);let m=0;c.forEach(function(a){m++,t.log.debug("Setting edge",a),i.setEdge(a.id1,a.id2,{relation:a,width:X(a.title),height:w.labelHeight*t.common_default.getRows(a.title).length,labelpos:"c"},"id"+m)}),T.layout(i),t.log.debug("Graph after layout",i.nodes());const u=n.node();i.nodes().forEach(function(a){a!==void 0&&i.node(a)!==void 0?(t.log.warn("Node "+a+": "+JSON.stringify(i.node(a))),o.select("#"+u.id+" #"+a).attr("transform","translate("+(i.node(a).x-i.node(a).width/2)+","+(i.node(a).y+(E[a]?E[a].y:0)-i.node(a).height/2)+" )"),o.select("#"+u.id+" #"+a).attr("data-x-shift",i.node(a).x-i.node(a).width/2),l.querySelectorAll("#"+u.id+" #"+a+" .divider").forEach(f=>{const C=f.parentElement;let b=0,v=0;C&&(C.parentElement&&(b=C.parentElement.getBBox().width),v=parseInt(C.getAttribute("data-x-shift"),10),Number.isNaN(v)&&(v=0)),f.setAttribute("x1",0-v+8),f.setAttribute("x2",b-v-8)})):t.log.debug("No Node "+a+": "+JSON.stringify(i.node(a)))});let B=u.getBBox();i.edges().forEach(function(a){a!==void 0&&i.edge(a)!==void 0&&(t.log.debug("Edge "+a.v+" -> "+a.w+": "+JSON.stringify(i.edge(a))),F(n,i.edge(a),i.edge(a).relation))}),B=u.getBBox();const S={id:d||"root",label:d||"root",width:0,height:0};return S.width=B.width+2*w.padding,S.height=B.height+2*w.padding,t.log.debug("Doc rendered",S,i),S},"renderDoc"),Y={setConf:O,draw:q},$={parser:_.stateDiagram_default,get db(){return new _.StateDB(1)},renderer:Y,styles:_.styles_default,init:t.__name(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};exports.diagram=$;
|
|
2
|
-
//# sourceMappingURL=stateDiagram-AJRCARHV-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("./chunk-AQP2D5EJ-CfVceSH6.cjs"),t=require("./extractHeadings-BCDkDiAF.cjs"),H=require("./graph-BgRih2Qv.cjs"),T=require("./layout-ivvluv7u.cjs");var z=t.__name(e=>e.append("circle").attr("class","start-state").attr("r",t.getConfig2().state.sizeUnit).attr("cx",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit).attr("cy",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit),"drawStartState"),L=t.__name(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t.getConfig2().state.textHeight).attr("class","divider").attr("x2",t.getConfig2().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),A=t.__name((e,n)=>{const d=e.append("text").attr("x",2*t.getConfig2().state.padding).attr("y",t.getConfig2().state.textHeight+2*t.getConfig2().state.padding).attr("font-size",t.getConfig2().state.fontSize).attr("class","state-title").text(n.id),g=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t.getConfig2().state.padding).attr("y",t.getConfig2().state.padding).attr("width",g.width+2*t.getConfig2().state.padding).attr("height",g.height+2*t.getConfig2().state.padding).attr("rx",t.getConfig2().state.radius),d},"drawSimpleState"),P=t.__name((e,n)=>{const d=t.__name(function(s,m,u){const B=s.append("tspan").attr("x",2*t.getConfig2().state.padding).text(m);u||B.attr("dy",t.getConfig2().state.textHeight)},"addTspan"),o=e.append("text").attr("x",2*t.getConfig2().state.padding).attr("y",t.getConfig2().state.textHeight+1.3*t.getConfig2().state.padding).attr("font-size",t.getConfig2().state.fontSize).attr("class","state-title").text(n.descriptions[0]).node().getBBox(),l=o.height,h=e.append("text").attr("x",t.getConfig2().state.padding).attr("y",l+t.getConfig2().state.padding*.4+t.getConfig2().state.dividerMargin+t.getConfig2().state.textHeight).attr("class","state-description");let i=!0,r=!0;n.descriptions.forEach(function(s){i||(d(h,s,r),r=!1),i=!1});const y=e.append("line").attr("x1",t.getConfig2().state.padding).attr("y1",t.getConfig2().state.padding+l+t.getConfig2().state.dividerMargin/2).attr("y2",t.getConfig2().state.padding+l+t.getConfig2().state.dividerMargin/2).attr("class","descr-divider"),p=h.node().getBBox(),c=Math.max(p.width,o.width);return y.attr("x2",c+3*t.getConfig2().state.padding),e.insert("rect",":first-child").attr("x",t.getConfig2().state.padding).attr("y",t.getConfig2().state.padding).attr("width",c+2*t.getConfig2().state.padding).attr("height",p.height+l+2*t.getConfig2().state.padding).attr("rx",t.getConfig2().state.radius),e},"drawDescrState"),G=t.__name((e,n,d)=>{const g=t.getConfig2().state.padding,o=2*t.getConfig2().state.padding,l=e.node().getBBox(),h=l.width,i=l.x,r=e.append("text").attr("x",0).attr("y",t.getConfig2().state.titleShift).attr("font-size",t.getConfig2().state.fontSize).attr("class","state-title").text(n.id),p=r.node().getBBox().width+o;let c=Math.max(p,h);c===h&&(c=c+o);let s;const m=e.node().getBBox();n.doc,s=i-g,p>h&&(s=(h-c)/2+g),Math.abs(i-m.x)<g&&p>h&&(s=i-(p-h)/2);const u=1-t.getConfig2().state.textHeight;return e.insert("rect",":first-child").attr("x",s).attr("y",u).attr("class",d?"alt-composit":"composit").attr("width",c).attr("height",m.height+t.getConfig2().state.textHeight+t.getConfig2().state.titleShift+1).attr("rx","0"),r.attr("x",s+g),p<=h&&r.attr("x",i+(c-o)/2-p/2+g),e.insert("rect",":first-child").attr("x",s).attr("y",t.getConfig2().state.titleShift-t.getConfig2().state.textHeight-t.getConfig2().state.padding).attr("width",c).attr("height",t.getConfig2().state.textHeight*3).attr("rx",t.getConfig2().state.radius),e.insert("rect",":first-child").attr("x",s).attr("y",t.getConfig2().state.titleShift-t.getConfig2().state.textHeight-t.getConfig2().state.padding).attr("width",c).attr("height",m.height+3+2*t.getConfig2().state.textHeight).attr("rx",t.getConfig2().state.radius),e},"addTitleAndBox"),R=t.__name(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t.getConfig2().state.sizeUnit+t.getConfig2().state.miniPadding).attr("cx",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit+t.getConfig2().state.miniPadding).attr("cy",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit+t.getConfig2().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t.getConfig2().state.sizeUnit).attr("cx",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit+2).attr("cy",t.getConfig2().state.padding+t.getConfig2().state.sizeUnit+2)),"drawEndState"),W=t.__name((e,n)=>{let d=t.getConfig2().state.forkWidth,g=t.getConfig2().state.forkHeight;if(n.parentId){let o=d;d=g,g=o}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",g).attr("x",t.getConfig2().state.padding).attr("y",t.getConfig2().state.padding)},"drawForkJoinState"),D=t.__name((e,n,d,g)=>{let o=0;const l=g.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let h=e.replace(/\r\n/g,"<br/>");h=h.replace(/\n/g,"<br/>");const i=h.split(t.common_default.lineBreakRegex);let r=1.25*t.getConfig2().state.noteMargin;for(const y of i){const p=y.trim();if(p.length>0){const c=l.append("tspan");if(c.text(p),r===0){const s=c.node().getBBox();r+=s.height}o+=r,c.attr("x",n+t.getConfig2().state.noteMargin),c.attr("y",d+o+1.25*t.getConfig2().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:o}},"_drawLongText"),U=t.__name((e,n)=>{n.attr("class","state-note");const d=n.append("rect").attr("x",0).attr("y",t.getConfig2().state.padding),g=n.append("g"),{textWidth:o,textHeight:l}=D(e,0,0,g);return d.attr("height",l+2*t.getConfig2().state.noteMargin),d.attr("width",o+t.getConfig2().state.noteMargin*2),d},"drawNote"),k=t.__name(function(e,n){const d=n.id,g={id:d,label:n.id,width:0,height:0},o=e.append("g").attr("id",d).attr("class","stateGroup");n.type==="start"&&z(o),n.type==="end"&&R(o),(n.type==="fork"||n.type==="join")&&W(o,n),n.type==="note"&&U(n.note.text,o),n.type==="divider"&&L(o),n.type==="default"&&n.descriptions.length===0&&A(o,n),n.type==="default"&&n.descriptions.length>0&&P(o,n);const l=o.node().getBBox();return g.width=l.width+2*t.getConfig2().state.padding,g.height=l.height+2*t.getConfig2().state.padding,g},"drawState"),N=0,F=t.__name(function(e,n,d){const g=t.__name(function(r){switch(r){case _.StateDB.relationType.AGGREGATION:return"aggregation";case _.StateDB.relationType.EXTENSION:return"extension";case _.StateDB.relationType.COMPOSITION:return"composition";case _.StateDB.relationType.DEPENDENCY:return"dependency"}},"getRelationType");n.points=n.points.filter(r=>!Number.isNaN(r.y));const o=n.points,l=t.line().x(function(r){return r.x}).y(function(r){return r.y}).curve(t.curveBasis),h=e.append("path").attr("d",l(o)).attr("id","edge"+N).attr("class","transition");let i="";if(t.getConfig2().state.arrowMarkerAbsolute&&(i=t.getUrl(!0)),h.attr("marker-end","url("+i+"#"+g(_.StateDB.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:y,y:p}=t.utils_default.calcLabelPosition(n.points),c=t.common_default.getRows(d.title);let s=0;const m=[];let u=0,B=0;for(let x=0;x<=c.length;x++){const f=r.append("text").attr("text-anchor","middle").text(c[x]).attr("x",y).attr("y",p+s),C=f.node().getBBox();u=Math.max(u,C.width),B=Math.min(B,C.x),t.log.info(C.x,y,p+s),s===0&&(s=f.node().getBBox().height,t.log.info("Title height",s,p)),m.push(f)}let S=s*c.length;if(c.length>1){const x=(c.length-1)*s*.5;m.forEach((f,C)=>f.attr("y",p+C*s-x)),S=s*c.length}const a=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",y-u/2-t.getConfig2().state.padding/2).attr("y",p-S/2-t.getConfig2().state.padding/2-3.5).attr("width",u+t.getConfig2().state.padding).attr("height",S+t.getConfig2().state.padding),t.log.info(a)}N++},"drawEdge"),w,E={},O=t.__name(function(){},"setConf"),J=t.__name(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),q=t.__name(function(e,n,d,g){w=t.getConfig2().state;const o=t.getConfig2().securityLevel;let l;o==="sandbox"&&(l=t.select("#i"+n));const h=o==="sandbox"?t.select(l.nodes()[0].contentDocument.body):t.select("body"),i=o==="sandbox"?l.nodes()[0].contentDocument:document;t.log.debug("Rendering diagram "+e);const r=h.select(`[id='${n}']`);J(r);const y=g.db.getRootDoc(),p=r.append("g").attr("id",n+"-root");M(y,p,void 0,!1,h,i,g);const c=w.padding,s=r.node().getBBox(),m=s.width+c*2,u=s.height+c*2,B=m*1.75;t.configureSvgSize(r,u,B,w.useMaxWidth),r.attr("viewBox",`${s.x-w.padding} ${s.y-w.padding} `+m+" "+u)},"draw"),X=t.__name(e=>e?e.length*w.fontSizeFactor:1,"getLabelWidth"),M=t.__name((e,n,d,g,o,l,h)=>{const i=new H.Graph({compound:!0,multigraph:!0});let r,y=!0;for(r=0;r<e.length;r++)if(e[r].stmt==="relation"){y=!1;break}d?i.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:y?1:w.edgeLengthFactor,nodeSep:y?1:50,isMultiGraph:!0}):i.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:y?1:w.edgeLengthFactor,nodeSep:y?1:50,ranker:"tight-tree",isMultiGraph:!0}),i.setDefaultEdgeLabel(function(){return{}});const p=h.db.getStates(),c=h.db.getRelations(),s=Object.keys(p);for(const a of s){const x=p[a];d&&(x.parentId=d);let f;if(x.doc){let C=n.append("g").attr("id",x.id).attr("class","stateGroup");f=M(x.doc,C,x.id,!g,o,l,h);{C=G(C,x,g);let b=C.node().getBBox();f.width=b.width,f.height=b.height+w.padding/2,E[x.id]={y:w.compositTitleSize}}}else f=k(n,x,i);if(x.note){const C={descriptions:[],id:x.id+"-note",note:x.note,type:"note"},b=k(n,C,i);x.note.position==="left of"?(i.setNode(f.id+"-note",b),i.setNode(f.id,f)):(i.setNode(f.id,f),i.setNode(f.id+"-note",b)),i.setParent(f.id,f.id+"-group"),i.setParent(f.id+"-note",f.id+"-group")}else i.setNode(f.id,f)}t.log.debug("Count=",i.nodeCount(),i);let m=0;c.forEach(function(a){m++,t.log.debug("Setting edge",a),i.setEdge(a.id1,a.id2,{relation:a,width:X(a.title),height:w.labelHeight*t.common_default.getRows(a.title).length,labelpos:"c"},"id"+m)}),T.layout(i),t.log.debug("Graph after layout",i.nodes());const u=n.node();i.nodes().forEach(function(a){a!==void 0&&i.node(a)!==void 0?(t.log.warn("Node "+a+": "+JSON.stringify(i.node(a))),o.select("#"+u.id+" #"+a).attr("transform","translate("+(i.node(a).x-i.node(a).width/2)+","+(i.node(a).y+(E[a]?E[a].y:0)-i.node(a).height/2)+" )"),o.select("#"+u.id+" #"+a).attr("data-x-shift",i.node(a).x-i.node(a).width/2),l.querySelectorAll("#"+u.id+" #"+a+" .divider").forEach(f=>{const C=f.parentElement;let b=0,v=0;C&&(C.parentElement&&(b=C.parentElement.getBBox().width),v=parseInt(C.getAttribute("data-x-shift"),10),Number.isNaN(v)&&(v=0)),f.setAttribute("x1",0-v+8),f.setAttribute("x2",b-v-8)})):t.log.debug("No Node "+a+": "+JSON.stringify(i.node(a)))});let B=u.getBBox();i.edges().forEach(function(a){a!==void 0&&i.edge(a)!==void 0&&(t.log.debug("Edge "+a.v+" -> "+a.w+": "+JSON.stringify(i.edge(a))),F(n,i.edge(a),i.edge(a).relation))}),B=u.getBBox();const S={id:d||"root",label:d||"root",width:0,height:0};return S.width=B.width+2*w.padding,S.height=B.height+2*w.padding,t.log.debug("Doc rendered",S,i),S},"renderDoc"),Y={setConf:O,draw:q},$={parser:_.stateDiagram_default,get db(){return new _.StateDB(1)},renderer:Y,styles:_.styles_default,init:t.__name(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};exports.diagram=$;
|
|
2
|
+
//# sourceMappingURL=stateDiagram-AJRCARHV-CqtM_wb7.cjs.map
|
package/dist/{stateDiagram-AJRCARHV-OpWhWbqI.cjs.map → stateDiagram-AJRCARHV-CqtM_wb7.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateDiagram-AJRCARHV-OpWhWbqI.cjs","sources":["../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-AJRCARHV.mjs"],"sourcesContent":["import {\n StateDB,\n stateDiagram_default,\n styles_default\n} from \"./chunk-AQP2D5EJ.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-2J33WTMH.mjs\";\nimport \"./chunk-LZXEDZCA.mjs\";\nimport \"./chunk-KSCS5N6A.mjs\";\nimport \"./chunk-BSJP7CBP.mjs\";\nimport \"./chunk-3OPIFGDE.mjs\";\nimport \"./chunk-L5ZTLDWV.mjs\";\nimport \"./chunk-NZK2D7GU.mjs\";\nimport \"./chunk-O5CBEL6O.mjs\";\nimport {\n utils_default\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n common_default,\n configureSvgSize,\n getConfig2 as getConfig,\n getUrl\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/state/stateRenderer.js\nimport { select } from \"d3\";\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/diagrams/state/shapes.js\nimport { line, curveBasis } from \"d3\";\nvar drawStartState = /* @__PURE__ */ __name((g) => g.append(\"circle\").attr(\"class\", \"start-state\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit), \"drawStartState\");\nvar drawDivider = /* @__PURE__ */ __name((g) => g.append(\"line\").style(\"stroke\", \"grey\").style(\"stroke-dasharray\", \"3\").attr(\"x1\", getConfig().state.textHeight).attr(\"class\", \"divider\").attr(\"x2\", getConfig().state.textHeight * 2).attr(\"y1\", 0).attr(\"y2\", 0), \"drawDivider\");\nvar drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {\n const state = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 2 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const classBox = state.node().getBBox();\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", classBox.width + 2 * getConfig().state.padding).attr(\"height\", classBox.height + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return state;\n}, \"drawSimpleState\");\nvar drawDescrState = /* @__PURE__ */ __name((g, stateDef) => {\n const addTspan = /* @__PURE__ */ __name(function(textEl, txt, isFirst2) {\n const tSpan = textEl.append(\"tspan\").attr(\"x\", 2 * getConfig().state.padding).text(txt);\n if (!isFirst2) {\n tSpan.attr(\"dy\", getConfig().state.textHeight);\n }\n }, \"addTspan\");\n const title = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 1.3 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.descriptions[0]);\n const titleBox = title.node().getBBox();\n const titleHeight = titleBox.height;\n const description = g.append(\"text\").attr(\"x\", getConfig().state.padding).attr(\n \"y\",\n titleHeight + getConfig().state.padding * 0.4 + getConfig().state.dividerMargin + getConfig().state.textHeight\n ).attr(\"class\", \"state-description\");\n let isFirst = true;\n let isSecond = true;\n stateDef.descriptions.forEach(function(descr) {\n if (!isFirst) {\n addTspan(description, descr, isSecond);\n isSecond = false;\n }\n isFirst = false;\n });\n const descrLine = g.append(\"line\").attr(\"x1\", getConfig().state.padding).attr(\"y1\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"y2\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"class\", \"descr-divider\");\n const descrBox = description.node().getBBox();\n const width = Math.max(descrBox.width, titleBox.width);\n descrLine.attr(\"x2\", width + 3 * getConfig().state.padding);\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", width + 2 * getConfig().state.padding).attr(\"height\", descrBox.height + titleHeight + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"drawDescrState\");\nvar addTitleAndBox = /* @__PURE__ */ __name((g, stateDef, altBkg) => {\n const pad = getConfig().state.padding;\n const dblPad = 2 * getConfig().state.padding;\n const orgBox = g.node().getBBox();\n const orgWidth = orgBox.width;\n const orgX = orgBox.x;\n const title = g.append(\"text\").attr(\"x\", 0).attr(\"y\", getConfig().state.titleShift).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const titleBox = title.node().getBBox();\n const titleWidth = titleBox.width + dblPad;\n let width = Math.max(titleWidth, orgWidth);\n if (width === orgWidth) {\n width = width + dblPad;\n }\n let startX;\n const graphBox = g.node().getBBox();\n if (stateDef.doc) {\n }\n startX = orgX - pad;\n if (titleWidth > orgWidth) {\n startX = (orgWidth - width) / 2 + pad;\n }\n if (Math.abs(orgX - graphBox.x) < pad && titleWidth > orgWidth) {\n startX = orgX - (titleWidth - orgWidth) / 2;\n }\n const lineY = 1 - getConfig().state.textHeight;\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\"y\", lineY).attr(\"class\", altBkg ? \"alt-composit\" : \"composit\").attr(\"width\", width).attr(\n \"height\",\n graphBox.height + getConfig().state.textHeight + getConfig().state.titleShift + 1\n ).attr(\"rx\", \"0\");\n title.attr(\"x\", startX + pad);\n if (titleWidth <= orgWidth) {\n title.attr(\"x\", orgX + (width - dblPad) / 2 - titleWidth / 2 + pad);\n }\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", getConfig().state.textHeight * 3).attr(\"rx\", getConfig().state.radius);\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", graphBox.height + 3 + 2 * getConfig().state.textHeight).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"addTitleAndBox\");\nvar drawEndState = /* @__PURE__ */ __name((g) => {\n g.append(\"circle\").attr(\"class\", \"end-state-outer\").attr(\"r\", getConfig().state.sizeUnit + getConfig().state.miniPadding).attr(\n \"cx\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n ).attr(\n \"cy\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n );\n return g.append(\"circle\").attr(\"class\", \"end-state-inner\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit + 2).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit + 2);\n}, \"drawEndState\");\nvar drawForkJoinState = /* @__PURE__ */ __name((g, stateDef) => {\n let width = getConfig().state.forkWidth;\n let height = getConfig().state.forkHeight;\n if (stateDef.parentId) {\n let tmp = width;\n width = height;\n height = tmp;\n }\n return g.append(\"rect\").style(\"stroke\", \"black\").style(\"fill\", \"black\").attr(\"width\", width).attr(\"height\", height).attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding);\n}, \"drawForkJoinState\");\nvar _drawLongText = /* @__PURE__ */ __name((_text, x, y, g) => {\n let textHeight = 0;\n const textElem = g.append(\"text\");\n textElem.style(\"text-anchor\", \"start\");\n textElem.attr(\"class\", \"noteText\");\n let text = _text.replace(/\\r\\n/g, \"<br/>\");\n text = text.replace(/\\n/g, \"<br/>\");\n const lines = text.split(common_default.lineBreakRegex);\n let tHeight = 1.25 * getConfig().state.noteMargin;\n for (const line2 of lines) {\n const txt = line2.trim();\n if (txt.length > 0) {\n const span = textElem.append(\"tspan\");\n span.text(txt);\n if (tHeight === 0) {\n const textBounds = span.node().getBBox();\n tHeight += textBounds.height;\n }\n textHeight += tHeight;\n span.attr(\"x\", x + getConfig().state.noteMargin);\n span.attr(\"y\", y + textHeight + 1.25 * getConfig().state.noteMargin);\n }\n }\n return { textWidth: textElem.node().getBBox().width, textHeight };\n}, \"_drawLongText\");\nvar drawNote = /* @__PURE__ */ __name((text, g) => {\n g.attr(\"class\", \"state-note\");\n const note = g.append(\"rect\").attr(\"x\", 0).attr(\"y\", getConfig().state.padding);\n const rectElem = g.append(\"g\");\n const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem);\n note.attr(\"height\", textHeight + 2 * getConfig().state.noteMargin);\n note.attr(\"width\", textWidth + getConfig().state.noteMargin * 2);\n return note;\n}, \"drawNote\");\nvar drawState = /* @__PURE__ */ __name(function(elem, stateDef) {\n const id = stateDef.id;\n const stateInfo = {\n id,\n label: stateDef.id,\n width: 0,\n height: 0\n };\n const g = elem.append(\"g\").attr(\"id\", id).attr(\"class\", \"stateGroup\");\n if (stateDef.type === \"start\") {\n drawStartState(g);\n }\n if (stateDef.type === \"end\") {\n drawEndState(g);\n }\n if (stateDef.type === \"fork\" || stateDef.type === \"join\") {\n drawForkJoinState(g, stateDef);\n }\n if (stateDef.type === \"note\") {\n drawNote(stateDef.note.text, g);\n }\n if (stateDef.type === \"divider\") {\n drawDivider(g);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length === 0) {\n drawSimpleState(g, stateDef);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length > 0) {\n drawDescrState(g, stateDef);\n }\n const stateBox = g.node().getBBox();\n stateInfo.width = stateBox.width + 2 * getConfig().state.padding;\n stateInfo.height = stateBox.height + 2 * getConfig().state.padding;\n return stateInfo;\n}, \"drawState\");\nvar edgeCount = 0;\nvar drawEdge = /* @__PURE__ */ __name(function(elem, path, relation) {\n const getRelationType = /* @__PURE__ */ __name(function(type) {\n switch (type) {\n case StateDB.relationType.AGGREGATION:\n return \"aggregation\";\n case StateDB.relationType.EXTENSION:\n return \"extension\";\n case StateDB.relationType.COMPOSITION:\n return \"composition\";\n case StateDB.relationType.DEPENDENCY:\n return \"dependency\";\n }\n }, \"getRelationType\");\n path.points = path.points.filter((p) => !Number.isNaN(p.y));\n const lineData = path.points;\n const lineFunction = line().x(function(d) {\n return d.x;\n }).y(function(d) {\n return d.y;\n }).curve(curveBasis);\n const svgPath = elem.append(\"path\").attr(\"d\", lineFunction(lineData)).attr(\"id\", \"edge\" + edgeCount).attr(\"class\", \"transition\");\n let url = \"\";\n if (getConfig().state.arrowMarkerAbsolute) {\n url = getUrl(true);\n }\n svgPath.attr(\n \"marker-end\",\n \"url(\" + url + \"#\" + getRelationType(StateDB.relationType.DEPENDENCY) + \"End)\"\n );\n if (relation.title !== void 0) {\n const label = elem.append(\"g\").attr(\"class\", \"stateLabel\");\n const { x, y } = utils_default.calcLabelPosition(path.points);\n const rows = common_default.getRows(relation.title);\n let titleHeight = 0;\n const titleRows = [];\n let maxWidth = 0;\n let minX = 0;\n for (let i = 0; i <= rows.length; i++) {\n const title = label.append(\"text\").attr(\"text-anchor\", \"middle\").text(rows[i]).attr(\"x\", x).attr(\"y\", y + titleHeight);\n const boundsTmp = title.node().getBBox();\n maxWidth = Math.max(maxWidth, boundsTmp.width);\n minX = Math.min(minX, boundsTmp.x);\n log.info(boundsTmp.x, x, y + titleHeight);\n if (titleHeight === 0) {\n const titleBox = title.node().getBBox();\n titleHeight = titleBox.height;\n log.info(\"Title height\", titleHeight, y);\n }\n titleRows.push(title);\n }\n let boxHeight = titleHeight * rows.length;\n if (rows.length > 1) {\n const heightAdj = (rows.length - 1) * titleHeight * 0.5;\n titleRows.forEach((title, i) => title.attr(\"y\", y + i * titleHeight - heightAdj));\n boxHeight = titleHeight * rows.length;\n }\n const bounds = label.node().getBBox();\n label.insert(\"rect\", \":first-child\").attr(\"class\", \"box\").attr(\"x\", x - maxWidth / 2 - getConfig().state.padding / 2).attr(\"y\", y - boxHeight / 2 - getConfig().state.padding / 2 - 3.5).attr(\"width\", maxWidth + getConfig().state.padding).attr(\"height\", boxHeight + getConfig().state.padding);\n log.info(bounds);\n }\n edgeCount++;\n}, \"drawEdge\");\n\n// src/diagrams/state/stateRenderer.js\nvar conf;\nvar transformationLog = {};\nvar setConf = /* @__PURE__ */ __name(function() {\n}, \"setConf\");\nvar insertMarkers = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"dependencyEnd\").attr(\"refX\", 19).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 19,7 L9,13 L14,7 L9,1 Z\");\n}, \"insertMarkers\");\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n conf = getConfig().state;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n log.debug(\"Rendering diagram \" + text);\n const diagram2 = root.select(`[id='${id}']`);\n insertMarkers(diagram2);\n const rootDoc = diagObj.db.getRootDoc();\n const rootG = diagram2.append(\"g\").attr(\"id\", id + \"-root\");\n renderDoc(rootDoc, rootG, void 0, false, root, doc, diagObj);\n const padding = conf.padding;\n const bounds = diagram2.node().getBBox();\n const width = bounds.width + padding * 2;\n const height = bounds.height + padding * 2;\n const svgWidth = width * 1.75;\n configureSvgSize(diagram2, height, svgWidth, conf.useMaxWidth);\n diagram2.attr(\n \"viewBox\",\n `${bounds.x - conf.padding} ${bounds.y - conf.padding} ` + width + \" \" + height\n );\n}, \"draw\");\nvar getLabelWidth = /* @__PURE__ */ __name((text) => {\n return text ? text.length * conf.fontSizeFactor : 1;\n}, \"getLabelWidth\");\nvar renderDoc = /* @__PURE__ */ __name((doc, diagram2, parentId, altBkg, root, domDocument, diagObj) => {\n const graph = new graphlib.Graph({\n compound: true,\n multigraph: true\n });\n let i;\n let edgeFreeDoc = true;\n for (i = 0; i < doc.length; i++) {\n if (doc[i].stmt === \"relation\") {\n edgeFreeDoc = false;\n break;\n }\n }\n if (parentId) {\n graph.setGraph({\n rankdir: \"LR\",\n multigraph: true,\n compound: true,\n // acyclicer: 'greedy',\n ranker: \"tight-tree\",\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n isMultiGraph: true\n // ranksep: 5,\n // nodesep: 1\n });\n } else {\n graph.setGraph({\n rankdir: \"TB\",\n multigraph: true,\n compound: true,\n // isCompound: true,\n // acyclicer: 'greedy',\n // ranker: 'longest-path'\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n ranker: \"tight-tree\",\n // ranker: 'network-simplex'\n isMultiGraph: true\n });\n }\n graph.setDefaultEdgeLabel(function() {\n return {};\n });\n const states = diagObj.db.getStates();\n const relations = diagObj.db.getRelations();\n const keys = Object.keys(states);\n let first = true;\n for (const key of keys) {\n const stateDef = states[key];\n if (parentId) {\n stateDef.parentId = parentId;\n }\n let node;\n if (stateDef.doc) {\n let sub = diagram2.append(\"g\").attr(\"id\", stateDef.id).attr(\"class\", \"stateGroup\");\n node = renderDoc(stateDef.doc, sub, stateDef.id, !altBkg, root, domDocument, diagObj);\n if (first) {\n sub = addTitleAndBox(sub, stateDef, altBkg);\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height + conf.padding / 2;\n transformationLog[stateDef.id] = { y: conf.compositTitleSize };\n } else {\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height;\n }\n } else {\n node = drawState(diagram2, stateDef, graph);\n }\n if (stateDef.note) {\n const noteDef = {\n descriptions: [],\n id: stateDef.id + \"-note\",\n note: stateDef.note,\n type: \"note\"\n };\n const note = drawState(diagram2, noteDef, graph);\n if (stateDef.note.position === \"left of\") {\n graph.setNode(node.id + \"-note\", note);\n graph.setNode(node.id, node);\n } else {\n graph.setNode(node.id, node);\n graph.setNode(node.id + \"-note\", note);\n }\n graph.setParent(node.id, node.id + \"-group\");\n graph.setParent(node.id + \"-note\", node.id + \"-group\");\n } else {\n graph.setNode(node.id, node);\n }\n }\n log.debug(\"Count=\", graph.nodeCount(), graph);\n let cnt = 0;\n relations.forEach(function(relation) {\n cnt++;\n log.debug(\"Setting edge\", relation);\n graph.setEdge(\n relation.id1,\n relation.id2,\n {\n relation,\n width: getLabelWidth(relation.title),\n height: conf.labelHeight * common_default.getRows(relation.title).length,\n labelpos: \"c\"\n },\n \"id\" + cnt\n );\n });\n dagreLayout(graph);\n log.debug(\"Graph after layout\", graph.nodes());\n const svgElem = diagram2.node();\n graph.nodes().forEach(function(v) {\n if (v !== void 0 && graph.node(v) !== void 0) {\n log.warn(\"Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\n \"transform\",\n \"translate(\" + (graph.node(v).x - graph.node(v).width / 2) + \",\" + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + \" )\"\n );\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\"data-x-shift\", graph.node(v).x - graph.node(v).width / 2);\n const dividers = domDocument.querySelectorAll(\"#\" + svgElem.id + \" #\" + v + \" .divider\");\n dividers.forEach((divider) => {\n const parent = divider.parentElement;\n let pWidth = 0;\n let pShift = 0;\n if (parent) {\n if (parent.parentElement) {\n pWidth = parent.parentElement.getBBox().width;\n }\n pShift = parseInt(parent.getAttribute(\"data-x-shift\"), 10);\n if (Number.isNaN(pShift)) {\n pShift = 0;\n }\n }\n divider.setAttribute(\"x1\", 0 - pShift + 8);\n divider.setAttribute(\"x2\", pWidth - pShift - 8);\n });\n } else {\n log.debug(\"No Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n }\n });\n let stateBox = svgElem.getBBox();\n graph.edges().forEach(function(e) {\n if (e !== void 0 && graph.edge(e) !== void 0) {\n log.debug(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n drawEdge(diagram2, graph.edge(e), graph.edge(e).relation);\n }\n });\n stateBox = svgElem.getBBox();\n const stateInfo = {\n id: parentId ? parentId : \"root\",\n label: parentId ? parentId : \"root\",\n width: 0,\n height: 0\n };\n stateInfo.width = stateBox.width + 2 * conf.padding;\n stateInfo.height = stateBox.height + 2 * conf.padding;\n log.debug(\"Doc rendered\", stateInfo, graph);\n return stateInfo;\n}, \"renderDoc\");\nvar stateRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/state/stateDiagram.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(1);\n },\n renderer: stateRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["drawStartState","__name","g","getConfig","drawDivider","drawSimpleState","stateDef","state","classBox","drawDescrState","addTspan","textEl","txt","isFirst2","tSpan","titleBox","titleHeight","description","isFirst","isSecond","descr","descrLine","descrBox","width","addTitleAndBox","altBkg","pad","dblPad","orgBox","orgWidth","orgX","title","titleWidth","startX","graphBox","lineY","drawEndState","drawForkJoinState","height","tmp","_drawLongText","_text","x","y","textHeight","textElem","text","lines","common_default","tHeight","line2","span","textBounds","drawNote","note","rectElem","textWidth","drawState","elem","id","stateInfo","stateBox","edgeCount","drawEdge","path","relation","getRelationType","type","StateDB","p","lineData","lineFunction","line","d","curveBasis","svgPath","url","getUrl","label","utils_default","rows","titleRows","maxWidth","minX","i","boundsTmp","log","boxHeight","heightAdj","bounds","conf","transformationLog","setConf","insertMarkers","draw","_version","diagObj","securityLevel","sandboxElement","select","root","doc","diagram2","rootDoc","rootG","renderDoc","padding","svgWidth","configureSvgSize","getLabelWidth","parentId","domDocument","graph","graphlib.Graph","edgeFreeDoc","states","relations","keys","key","node","sub","boxBounds","noteDef","cnt","dagreLayout","svgElem","v","divider","parent","pWidth","pShift","e","stateRenderer_default","diagram","stateDiagram_default","styles_default","cnf"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"stateDiagram-AJRCARHV-CqtM_wb7.cjs","sources":["../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-AJRCARHV.mjs"],"sourcesContent":["import {\n StateDB,\n stateDiagram_default,\n styles_default\n} from \"./chunk-AQP2D5EJ.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-2J33WTMH.mjs\";\nimport \"./chunk-LZXEDZCA.mjs\";\nimport \"./chunk-KSCS5N6A.mjs\";\nimport \"./chunk-BSJP7CBP.mjs\";\nimport \"./chunk-3OPIFGDE.mjs\";\nimport \"./chunk-L5ZTLDWV.mjs\";\nimport \"./chunk-NZK2D7GU.mjs\";\nimport \"./chunk-O5CBEL6O.mjs\";\nimport {\n utils_default\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n common_default,\n configureSvgSize,\n getConfig2 as getConfig,\n getUrl\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/state/stateRenderer.js\nimport { select } from \"d3\";\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/diagrams/state/shapes.js\nimport { line, curveBasis } from \"d3\";\nvar drawStartState = /* @__PURE__ */ __name((g) => g.append(\"circle\").attr(\"class\", \"start-state\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit), \"drawStartState\");\nvar drawDivider = /* @__PURE__ */ __name((g) => g.append(\"line\").style(\"stroke\", \"grey\").style(\"stroke-dasharray\", \"3\").attr(\"x1\", getConfig().state.textHeight).attr(\"class\", \"divider\").attr(\"x2\", getConfig().state.textHeight * 2).attr(\"y1\", 0).attr(\"y2\", 0), \"drawDivider\");\nvar drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {\n const state = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 2 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const classBox = state.node().getBBox();\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", classBox.width + 2 * getConfig().state.padding).attr(\"height\", classBox.height + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return state;\n}, \"drawSimpleState\");\nvar drawDescrState = /* @__PURE__ */ __name((g, stateDef) => {\n const addTspan = /* @__PURE__ */ __name(function(textEl, txt, isFirst2) {\n const tSpan = textEl.append(\"tspan\").attr(\"x\", 2 * getConfig().state.padding).text(txt);\n if (!isFirst2) {\n tSpan.attr(\"dy\", getConfig().state.textHeight);\n }\n }, \"addTspan\");\n const title = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 1.3 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.descriptions[0]);\n const titleBox = title.node().getBBox();\n const titleHeight = titleBox.height;\n const description = g.append(\"text\").attr(\"x\", getConfig().state.padding).attr(\n \"y\",\n titleHeight + getConfig().state.padding * 0.4 + getConfig().state.dividerMargin + getConfig().state.textHeight\n ).attr(\"class\", \"state-description\");\n let isFirst = true;\n let isSecond = true;\n stateDef.descriptions.forEach(function(descr) {\n if (!isFirst) {\n addTspan(description, descr, isSecond);\n isSecond = false;\n }\n isFirst = false;\n });\n const descrLine = g.append(\"line\").attr(\"x1\", getConfig().state.padding).attr(\"y1\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"y2\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"class\", \"descr-divider\");\n const descrBox = description.node().getBBox();\n const width = Math.max(descrBox.width, titleBox.width);\n descrLine.attr(\"x2\", width + 3 * getConfig().state.padding);\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", width + 2 * getConfig().state.padding).attr(\"height\", descrBox.height + titleHeight + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"drawDescrState\");\nvar addTitleAndBox = /* @__PURE__ */ __name((g, stateDef, altBkg) => {\n const pad = getConfig().state.padding;\n const dblPad = 2 * getConfig().state.padding;\n const orgBox = g.node().getBBox();\n const orgWidth = orgBox.width;\n const orgX = orgBox.x;\n const title = g.append(\"text\").attr(\"x\", 0).attr(\"y\", getConfig().state.titleShift).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const titleBox = title.node().getBBox();\n const titleWidth = titleBox.width + dblPad;\n let width = Math.max(titleWidth, orgWidth);\n if (width === orgWidth) {\n width = width + dblPad;\n }\n let startX;\n const graphBox = g.node().getBBox();\n if (stateDef.doc) {\n }\n startX = orgX - pad;\n if (titleWidth > orgWidth) {\n startX = (orgWidth - width) / 2 + pad;\n }\n if (Math.abs(orgX - graphBox.x) < pad && titleWidth > orgWidth) {\n startX = orgX - (titleWidth - orgWidth) / 2;\n }\n const lineY = 1 - getConfig().state.textHeight;\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\"y\", lineY).attr(\"class\", altBkg ? \"alt-composit\" : \"composit\").attr(\"width\", width).attr(\n \"height\",\n graphBox.height + getConfig().state.textHeight + getConfig().state.titleShift + 1\n ).attr(\"rx\", \"0\");\n title.attr(\"x\", startX + pad);\n if (titleWidth <= orgWidth) {\n title.attr(\"x\", orgX + (width - dblPad) / 2 - titleWidth / 2 + pad);\n }\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", getConfig().state.textHeight * 3).attr(\"rx\", getConfig().state.radius);\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", graphBox.height + 3 + 2 * getConfig().state.textHeight).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"addTitleAndBox\");\nvar drawEndState = /* @__PURE__ */ __name((g) => {\n g.append(\"circle\").attr(\"class\", \"end-state-outer\").attr(\"r\", getConfig().state.sizeUnit + getConfig().state.miniPadding).attr(\n \"cx\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n ).attr(\n \"cy\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n );\n return g.append(\"circle\").attr(\"class\", \"end-state-inner\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit + 2).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit + 2);\n}, \"drawEndState\");\nvar drawForkJoinState = /* @__PURE__ */ __name((g, stateDef) => {\n let width = getConfig().state.forkWidth;\n let height = getConfig().state.forkHeight;\n if (stateDef.parentId) {\n let tmp = width;\n width = height;\n height = tmp;\n }\n return g.append(\"rect\").style(\"stroke\", \"black\").style(\"fill\", \"black\").attr(\"width\", width).attr(\"height\", height).attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding);\n}, \"drawForkJoinState\");\nvar _drawLongText = /* @__PURE__ */ __name((_text, x, y, g) => {\n let textHeight = 0;\n const textElem = g.append(\"text\");\n textElem.style(\"text-anchor\", \"start\");\n textElem.attr(\"class\", \"noteText\");\n let text = _text.replace(/\\r\\n/g, \"<br/>\");\n text = text.replace(/\\n/g, \"<br/>\");\n const lines = text.split(common_default.lineBreakRegex);\n let tHeight = 1.25 * getConfig().state.noteMargin;\n for (const line2 of lines) {\n const txt = line2.trim();\n if (txt.length > 0) {\n const span = textElem.append(\"tspan\");\n span.text(txt);\n if (tHeight === 0) {\n const textBounds = span.node().getBBox();\n tHeight += textBounds.height;\n }\n textHeight += tHeight;\n span.attr(\"x\", x + getConfig().state.noteMargin);\n span.attr(\"y\", y + textHeight + 1.25 * getConfig().state.noteMargin);\n }\n }\n return { textWidth: textElem.node().getBBox().width, textHeight };\n}, \"_drawLongText\");\nvar drawNote = /* @__PURE__ */ __name((text, g) => {\n g.attr(\"class\", \"state-note\");\n const note = g.append(\"rect\").attr(\"x\", 0).attr(\"y\", getConfig().state.padding);\n const rectElem = g.append(\"g\");\n const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem);\n note.attr(\"height\", textHeight + 2 * getConfig().state.noteMargin);\n note.attr(\"width\", textWidth + getConfig().state.noteMargin * 2);\n return note;\n}, \"drawNote\");\nvar drawState = /* @__PURE__ */ __name(function(elem, stateDef) {\n const id = stateDef.id;\n const stateInfo = {\n id,\n label: stateDef.id,\n width: 0,\n height: 0\n };\n const g = elem.append(\"g\").attr(\"id\", id).attr(\"class\", \"stateGroup\");\n if (stateDef.type === \"start\") {\n drawStartState(g);\n }\n if (stateDef.type === \"end\") {\n drawEndState(g);\n }\n if (stateDef.type === \"fork\" || stateDef.type === \"join\") {\n drawForkJoinState(g, stateDef);\n }\n if (stateDef.type === \"note\") {\n drawNote(stateDef.note.text, g);\n }\n if (stateDef.type === \"divider\") {\n drawDivider(g);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length === 0) {\n drawSimpleState(g, stateDef);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length > 0) {\n drawDescrState(g, stateDef);\n }\n const stateBox = g.node().getBBox();\n stateInfo.width = stateBox.width + 2 * getConfig().state.padding;\n stateInfo.height = stateBox.height + 2 * getConfig().state.padding;\n return stateInfo;\n}, \"drawState\");\nvar edgeCount = 0;\nvar drawEdge = /* @__PURE__ */ __name(function(elem, path, relation) {\n const getRelationType = /* @__PURE__ */ __name(function(type) {\n switch (type) {\n case StateDB.relationType.AGGREGATION:\n return \"aggregation\";\n case StateDB.relationType.EXTENSION:\n return \"extension\";\n case StateDB.relationType.COMPOSITION:\n return \"composition\";\n case StateDB.relationType.DEPENDENCY:\n return \"dependency\";\n }\n }, \"getRelationType\");\n path.points = path.points.filter((p) => !Number.isNaN(p.y));\n const lineData = path.points;\n const lineFunction = line().x(function(d) {\n return d.x;\n }).y(function(d) {\n return d.y;\n }).curve(curveBasis);\n const svgPath = elem.append(\"path\").attr(\"d\", lineFunction(lineData)).attr(\"id\", \"edge\" + edgeCount).attr(\"class\", \"transition\");\n let url = \"\";\n if (getConfig().state.arrowMarkerAbsolute) {\n url = getUrl(true);\n }\n svgPath.attr(\n \"marker-end\",\n \"url(\" + url + \"#\" + getRelationType(StateDB.relationType.DEPENDENCY) + \"End)\"\n );\n if (relation.title !== void 0) {\n const label = elem.append(\"g\").attr(\"class\", \"stateLabel\");\n const { x, y } = utils_default.calcLabelPosition(path.points);\n const rows = common_default.getRows(relation.title);\n let titleHeight = 0;\n const titleRows = [];\n let maxWidth = 0;\n let minX = 0;\n for (let i = 0; i <= rows.length; i++) {\n const title = label.append(\"text\").attr(\"text-anchor\", \"middle\").text(rows[i]).attr(\"x\", x).attr(\"y\", y + titleHeight);\n const boundsTmp = title.node().getBBox();\n maxWidth = Math.max(maxWidth, boundsTmp.width);\n minX = Math.min(minX, boundsTmp.x);\n log.info(boundsTmp.x, x, y + titleHeight);\n if (titleHeight === 0) {\n const titleBox = title.node().getBBox();\n titleHeight = titleBox.height;\n log.info(\"Title height\", titleHeight, y);\n }\n titleRows.push(title);\n }\n let boxHeight = titleHeight * rows.length;\n if (rows.length > 1) {\n const heightAdj = (rows.length - 1) * titleHeight * 0.5;\n titleRows.forEach((title, i) => title.attr(\"y\", y + i * titleHeight - heightAdj));\n boxHeight = titleHeight * rows.length;\n }\n const bounds = label.node().getBBox();\n label.insert(\"rect\", \":first-child\").attr(\"class\", \"box\").attr(\"x\", x - maxWidth / 2 - getConfig().state.padding / 2).attr(\"y\", y - boxHeight / 2 - getConfig().state.padding / 2 - 3.5).attr(\"width\", maxWidth + getConfig().state.padding).attr(\"height\", boxHeight + getConfig().state.padding);\n log.info(bounds);\n }\n edgeCount++;\n}, \"drawEdge\");\n\n// src/diagrams/state/stateRenderer.js\nvar conf;\nvar transformationLog = {};\nvar setConf = /* @__PURE__ */ __name(function() {\n}, \"setConf\");\nvar insertMarkers = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"dependencyEnd\").attr(\"refX\", 19).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 19,7 L9,13 L14,7 L9,1 Z\");\n}, \"insertMarkers\");\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n conf = getConfig().state;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n log.debug(\"Rendering diagram \" + text);\n const diagram2 = root.select(`[id='${id}']`);\n insertMarkers(diagram2);\n const rootDoc = diagObj.db.getRootDoc();\n const rootG = diagram2.append(\"g\").attr(\"id\", id + \"-root\");\n renderDoc(rootDoc, rootG, void 0, false, root, doc, diagObj);\n const padding = conf.padding;\n const bounds = diagram2.node().getBBox();\n const width = bounds.width + padding * 2;\n const height = bounds.height + padding * 2;\n const svgWidth = width * 1.75;\n configureSvgSize(diagram2, height, svgWidth, conf.useMaxWidth);\n diagram2.attr(\n \"viewBox\",\n `${bounds.x - conf.padding} ${bounds.y - conf.padding} ` + width + \" \" + height\n );\n}, \"draw\");\nvar getLabelWidth = /* @__PURE__ */ __name((text) => {\n return text ? text.length * conf.fontSizeFactor : 1;\n}, \"getLabelWidth\");\nvar renderDoc = /* @__PURE__ */ __name((doc, diagram2, parentId, altBkg, root, domDocument, diagObj) => {\n const graph = new graphlib.Graph({\n compound: true,\n multigraph: true\n });\n let i;\n let edgeFreeDoc = true;\n for (i = 0; i < doc.length; i++) {\n if (doc[i].stmt === \"relation\") {\n edgeFreeDoc = false;\n break;\n }\n }\n if (parentId) {\n graph.setGraph({\n rankdir: \"LR\",\n multigraph: true,\n compound: true,\n // acyclicer: 'greedy',\n ranker: \"tight-tree\",\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n isMultiGraph: true\n // ranksep: 5,\n // nodesep: 1\n });\n } else {\n graph.setGraph({\n rankdir: \"TB\",\n multigraph: true,\n compound: true,\n // isCompound: true,\n // acyclicer: 'greedy',\n // ranker: 'longest-path'\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n ranker: \"tight-tree\",\n // ranker: 'network-simplex'\n isMultiGraph: true\n });\n }\n graph.setDefaultEdgeLabel(function() {\n return {};\n });\n const states = diagObj.db.getStates();\n const relations = diagObj.db.getRelations();\n const keys = Object.keys(states);\n let first = true;\n for (const key of keys) {\n const stateDef = states[key];\n if (parentId) {\n stateDef.parentId = parentId;\n }\n let node;\n if (stateDef.doc) {\n let sub = diagram2.append(\"g\").attr(\"id\", stateDef.id).attr(\"class\", \"stateGroup\");\n node = renderDoc(stateDef.doc, sub, stateDef.id, !altBkg, root, domDocument, diagObj);\n if (first) {\n sub = addTitleAndBox(sub, stateDef, altBkg);\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height + conf.padding / 2;\n transformationLog[stateDef.id] = { y: conf.compositTitleSize };\n } else {\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height;\n }\n } else {\n node = drawState(diagram2, stateDef, graph);\n }\n if (stateDef.note) {\n const noteDef = {\n descriptions: [],\n id: stateDef.id + \"-note\",\n note: stateDef.note,\n type: \"note\"\n };\n const note = drawState(diagram2, noteDef, graph);\n if (stateDef.note.position === \"left of\") {\n graph.setNode(node.id + \"-note\", note);\n graph.setNode(node.id, node);\n } else {\n graph.setNode(node.id, node);\n graph.setNode(node.id + \"-note\", note);\n }\n graph.setParent(node.id, node.id + \"-group\");\n graph.setParent(node.id + \"-note\", node.id + \"-group\");\n } else {\n graph.setNode(node.id, node);\n }\n }\n log.debug(\"Count=\", graph.nodeCount(), graph);\n let cnt = 0;\n relations.forEach(function(relation) {\n cnt++;\n log.debug(\"Setting edge\", relation);\n graph.setEdge(\n relation.id1,\n relation.id2,\n {\n relation,\n width: getLabelWidth(relation.title),\n height: conf.labelHeight * common_default.getRows(relation.title).length,\n labelpos: \"c\"\n },\n \"id\" + cnt\n );\n });\n dagreLayout(graph);\n log.debug(\"Graph after layout\", graph.nodes());\n const svgElem = diagram2.node();\n graph.nodes().forEach(function(v) {\n if (v !== void 0 && graph.node(v) !== void 0) {\n log.warn(\"Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\n \"transform\",\n \"translate(\" + (graph.node(v).x - graph.node(v).width / 2) + \",\" + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + \" )\"\n );\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\"data-x-shift\", graph.node(v).x - graph.node(v).width / 2);\n const dividers = domDocument.querySelectorAll(\"#\" + svgElem.id + \" #\" + v + \" .divider\");\n dividers.forEach((divider) => {\n const parent = divider.parentElement;\n let pWidth = 0;\n let pShift = 0;\n if (parent) {\n if (parent.parentElement) {\n pWidth = parent.parentElement.getBBox().width;\n }\n pShift = parseInt(parent.getAttribute(\"data-x-shift\"), 10);\n if (Number.isNaN(pShift)) {\n pShift = 0;\n }\n }\n divider.setAttribute(\"x1\", 0 - pShift + 8);\n divider.setAttribute(\"x2\", pWidth - pShift - 8);\n });\n } else {\n log.debug(\"No Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n }\n });\n let stateBox = svgElem.getBBox();\n graph.edges().forEach(function(e) {\n if (e !== void 0 && graph.edge(e) !== void 0) {\n log.debug(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n drawEdge(diagram2, graph.edge(e), graph.edge(e).relation);\n }\n });\n stateBox = svgElem.getBBox();\n const stateInfo = {\n id: parentId ? parentId : \"root\",\n label: parentId ? parentId : \"root\",\n width: 0,\n height: 0\n };\n stateInfo.width = stateBox.width + 2 * conf.padding;\n stateInfo.height = stateBox.height + 2 * conf.padding;\n log.debug(\"Doc rendered\", stateInfo, graph);\n return stateInfo;\n}, \"renderDoc\");\nvar stateRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/state/stateDiagram.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(1);\n },\n renderer: stateRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["drawStartState","__name","g","getConfig","drawDivider","drawSimpleState","stateDef","state","classBox","drawDescrState","addTspan","textEl","txt","isFirst2","tSpan","titleBox","titleHeight","description","isFirst","isSecond","descr","descrLine","descrBox","width","addTitleAndBox","altBkg","pad","dblPad","orgBox","orgWidth","orgX","title","titleWidth","startX","graphBox","lineY","drawEndState","drawForkJoinState","height","tmp","_drawLongText","_text","x","y","textHeight","textElem","text","lines","common_default","tHeight","line2","span","textBounds","drawNote","note","rectElem","textWidth","drawState","elem","id","stateInfo","stateBox","edgeCount","drawEdge","path","relation","getRelationType","type","StateDB","p","lineData","lineFunction","line","d","curveBasis","svgPath","url","getUrl","label","utils_default","rows","titleRows","maxWidth","minX","i","boundsTmp","log","boxHeight","heightAdj","bounds","conf","transformationLog","setConf","insertMarkers","draw","_version","diagObj","securityLevel","sandboxElement","select","root","doc","diagram2","rootDoc","rootG","renderDoc","padding","svgWidth","configureSvgSize","getLabelWidth","parentId","domDocument","graph","graphlib.Graph","edgeFreeDoc","states","relations","keys","key","node","sub","boxBounds","noteDef","cnt","dagreLayout","svgElem","v","divider","parent","pWidth","pShift","e","stateRenderer_default","diagram","stateDiagram_default","styles_default","cnf"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { s as R, a as W, S as N } from "./chunk-AQP2D5EJ-
|
|
2
|
-
import { _ as f,
|
|
1
|
+
import { s as R, a as W, S as N } from "./chunk-AQP2D5EJ-BpywKue8.js";
|
|
2
|
+
import { _ as f, $ as t, a0 as H, a1 as S, a2 as P, a8 as z, aC as _, aD as C, az as U, ad as F } from "./extractHeadings-CvNjLb_I.js";
|
|
3
3
|
import { G as O } from "./graph-B7xtgmj2.js";
|
|
4
|
-
import { l as
|
|
5
|
-
var
|
|
4
|
+
import { l as D } from "./layout-B4tZBnVn.js";
|
|
5
|
+
var J = /* @__PURE__ */ f((e) => e.append("circle").attr("class", "start-state").attr("r", t().state.sizeUnit).attr("cx", t().state.padding + t().state.sizeUnit).attr("cy", t().state.padding + t().state.sizeUnit), "drawStartState"), X = /* @__PURE__ */ f((e) => e.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", t().state.textHeight).attr("class", "divider").attr("x2", t().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider"), Y = /* @__PURE__ */ f((e, i) => {
|
|
6
6
|
const d = e.append("text").attr("x", 2 * t().state.padding).attr("y", t().state.textHeight + 2 * t().state.padding).attr("font-size", t().state.fontSize).attr("class", "state-title").text(i.id), c = d.node().getBBox();
|
|
7
7
|
return e.insert("rect", ":first-child").attr("x", t().state.padding).attr("y", t().state.padding).attr("width", c.width + 2 * t().state.padding).attr("height", c.height + 2 * t().state.padding).attr("rx", t().state.radius), d;
|
|
8
|
-
}, "drawSimpleState"),
|
|
8
|
+
}, "drawSimpleState"), $ = /* @__PURE__ */ f((e, i) => {
|
|
9
9
|
const d = /* @__PURE__ */ f(function(o, m, y) {
|
|
10
10
|
const v = o.append("tspan").attr("x", 2 * t().state.padding).text(m);
|
|
11
11
|
y || v.attr("dy", t().state.textHeight);
|
|
@@ -19,7 +19,7 @@ var X = /* @__PURE__ */ f((e) => e.append("circle").attr("class", "start-state")
|
|
|
19
19
|
});
|
|
20
20
|
const B = e.append("line").attr("x1", t().state.padding).attr("y1", t().state.padding + l + t().state.dividerMargin / 2).attr("y2", t().state.padding + l + t().state.dividerMargin / 2).attr("class", "descr-divider"), x = p.node().getBBox(), g = Math.max(x.width, n.width);
|
|
21
21
|
return B.attr("x2", g + 3 * t().state.padding), e.insert("rect", ":first-child").attr("x", t().state.padding).attr("y", t().state.padding).attr("width", g + 2 * t().state.padding).attr("height", x.height + l + 2 * t().state.padding).attr("rx", t().state.radius), e;
|
|
22
|
-
}, "drawDescrState"),
|
|
22
|
+
}, "drawDescrState"), I = /* @__PURE__ */ f((e, i, d) => {
|
|
23
23
|
const c = t().state.padding, n = 2 * t().state.padding, l = e.node().getBBox(), p = l.width, a = l.x, s = e.append("text").attr("x", 0).attr("y", t().state.titleShift).attr("font-size", t().state.fontSize).attr("class", "state-title").text(i.id), x = s.node().getBBox().width + n;
|
|
24
24
|
let g = Math.max(x, p);
|
|
25
25
|
g === p && (g = g + n);
|
|
@@ -81,7 +81,7 @@ var X = /* @__PURE__ */ f((e) => e.append("circle").attr("class", "start-state")
|
|
|
81
81
|
width: 0,
|
|
82
82
|
height: 0
|
|
83
83
|
}, n = e.append("g").attr("id", d).attr("class", "stateGroup");
|
|
84
|
-
i.type === "start" &&
|
|
84
|
+
i.type === "start" && J(n), i.type === "end" && q(n), (i.type === "fork" || i.type === "join") && Z(n, i), i.type === "note" && K(i.note.text, n), i.type === "divider" && X(n), i.type === "default" && i.descriptions.length === 0 && Y(n, i), i.type === "default" && i.descriptions.length > 0 && $(n, i);
|
|
85
85
|
const l = n.node().getBBox();
|
|
86
86
|
return c.width = l.width + 2 * t().state.padding, c.height = l.height + 2 * t().state.padding, c;
|
|
87
87
|
}, "drawState"), G = 0, Q = /* @__PURE__ */ f(function(e, i, d) {
|
|
@@ -98,13 +98,13 @@ var X = /* @__PURE__ */ f((e) => e.append("circle").attr("class", "start-state")
|
|
|
98
98
|
}
|
|
99
99
|
}, "getRelationType");
|
|
100
100
|
i.points = i.points.filter((s) => !Number.isNaN(s.y));
|
|
101
|
-
const n = i.points, l =
|
|
101
|
+
const n = i.points, l = _().x(function(s) {
|
|
102
102
|
return s.x;
|
|
103
103
|
}).y(function(s) {
|
|
104
104
|
return s.y;
|
|
105
|
-
}).curve(
|
|
105
|
+
}).curve(C), p = e.append("path").attr("d", l(n)).attr("id", "edge" + G).attr("class", "transition");
|
|
106
106
|
let a = "";
|
|
107
|
-
if (t().state.arrowMarkerAbsolute && (a =
|
|
107
|
+
if (t().state.arrowMarkerAbsolute && (a = U(!0)), p.attr(
|
|
108
108
|
"marker-end",
|
|
109
109
|
"url(" + a + "#" + c(N.relationType.DEPENDENCY) + "End)"
|
|
110
110
|
), d.title !== void 0) {
|
|
@@ -190,7 +190,7 @@ var X = /* @__PURE__ */ f((e) => e.append("circle").attr("class", "start-state")
|
|
|
190
190
|
let w = i.append("g").attr("id", u.id).attr("class", "stateGroup");
|
|
191
191
|
h = A(u.doc, w, u.id, !c, n, l, p);
|
|
192
192
|
{
|
|
193
|
-
w =
|
|
193
|
+
w = I(w, u, c);
|
|
194
194
|
let E = w.node().getBBox();
|
|
195
195
|
h.width = E.width, h.height = E.height + b.padding / 2, T[u.id] = { y: b.compositTitleSize };
|
|
196
196
|
}
|
|
@@ -221,7 +221,7 @@ var X = /* @__PURE__ */ f((e) => e.append("circle").attr("class", "start-state")
|
|
|
221
221
|
},
|
|
222
222
|
"id" + m
|
|
223
223
|
);
|
|
224
|
-
}),
|
|
224
|
+
}), D(a), S.debug("Graph after layout", a.nodes());
|
|
225
225
|
const y = i.node();
|
|
226
226
|
a.nodes().forEach(function(r) {
|
|
227
227
|
r !== void 0 && a.node(r) !== void 0 ? (S.warn("Node " + r + ": " + JSON.stringify(a.node(r))), n.select("#" + y.id + " #" + r).attr(
|
|
@@ -261,4 +261,4 @@ var X = /* @__PURE__ */ f((e) => e.append("circle").attr("class", "start-state")
|
|
|
261
261
|
export {
|
|
262
262
|
ot as diagram
|
|
263
263
|
};
|
|
264
|
-
//# sourceMappingURL=stateDiagram-AJRCARHV-
|
|
264
|
+
//# sourceMappingURL=stateDiagram-AJRCARHV-DSsrJMAA.js.map
|
package/dist/{stateDiagram-AJRCARHV-OtsOxzY2.js.map → stateDiagram-AJRCARHV-DSsrJMAA.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateDiagram-AJRCARHV-OtsOxzY2.js","sources":["../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-AJRCARHV.mjs"],"sourcesContent":["import {\n StateDB,\n stateDiagram_default,\n styles_default\n} from \"./chunk-AQP2D5EJ.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-2J33WTMH.mjs\";\nimport \"./chunk-LZXEDZCA.mjs\";\nimport \"./chunk-KSCS5N6A.mjs\";\nimport \"./chunk-BSJP7CBP.mjs\";\nimport \"./chunk-3OPIFGDE.mjs\";\nimport \"./chunk-L5ZTLDWV.mjs\";\nimport \"./chunk-NZK2D7GU.mjs\";\nimport \"./chunk-O5CBEL6O.mjs\";\nimport {\n utils_default\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n common_default,\n configureSvgSize,\n getConfig2 as getConfig,\n getUrl\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/state/stateRenderer.js\nimport { select } from \"d3\";\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/diagrams/state/shapes.js\nimport { line, curveBasis } from \"d3\";\nvar drawStartState = /* @__PURE__ */ __name((g) => g.append(\"circle\").attr(\"class\", \"start-state\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit), \"drawStartState\");\nvar drawDivider = /* @__PURE__ */ __name((g) => g.append(\"line\").style(\"stroke\", \"grey\").style(\"stroke-dasharray\", \"3\").attr(\"x1\", getConfig().state.textHeight).attr(\"class\", \"divider\").attr(\"x2\", getConfig().state.textHeight * 2).attr(\"y1\", 0).attr(\"y2\", 0), \"drawDivider\");\nvar drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {\n const state = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 2 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const classBox = state.node().getBBox();\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", classBox.width + 2 * getConfig().state.padding).attr(\"height\", classBox.height + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return state;\n}, \"drawSimpleState\");\nvar drawDescrState = /* @__PURE__ */ __name((g, stateDef) => {\n const addTspan = /* @__PURE__ */ __name(function(textEl, txt, isFirst2) {\n const tSpan = textEl.append(\"tspan\").attr(\"x\", 2 * getConfig().state.padding).text(txt);\n if (!isFirst2) {\n tSpan.attr(\"dy\", getConfig().state.textHeight);\n }\n }, \"addTspan\");\n const title = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 1.3 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.descriptions[0]);\n const titleBox = title.node().getBBox();\n const titleHeight = titleBox.height;\n const description = g.append(\"text\").attr(\"x\", getConfig().state.padding).attr(\n \"y\",\n titleHeight + getConfig().state.padding * 0.4 + getConfig().state.dividerMargin + getConfig().state.textHeight\n ).attr(\"class\", \"state-description\");\n let isFirst = true;\n let isSecond = true;\n stateDef.descriptions.forEach(function(descr) {\n if (!isFirst) {\n addTspan(description, descr, isSecond);\n isSecond = false;\n }\n isFirst = false;\n });\n const descrLine = g.append(\"line\").attr(\"x1\", getConfig().state.padding).attr(\"y1\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"y2\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"class\", \"descr-divider\");\n const descrBox = description.node().getBBox();\n const width = Math.max(descrBox.width, titleBox.width);\n descrLine.attr(\"x2\", width + 3 * getConfig().state.padding);\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", width + 2 * getConfig().state.padding).attr(\"height\", descrBox.height + titleHeight + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"drawDescrState\");\nvar addTitleAndBox = /* @__PURE__ */ __name((g, stateDef, altBkg) => {\n const pad = getConfig().state.padding;\n const dblPad = 2 * getConfig().state.padding;\n const orgBox = g.node().getBBox();\n const orgWidth = orgBox.width;\n const orgX = orgBox.x;\n const title = g.append(\"text\").attr(\"x\", 0).attr(\"y\", getConfig().state.titleShift).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const titleBox = title.node().getBBox();\n const titleWidth = titleBox.width + dblPad;\n let width = Math.max(titleWidth, orgWidth);\n if (width === orgWidth) {\n width = width + dblPad;\n }\n let startX;\n const graphBox = g.node().getBBox();\n if (stateDef.doc) {\n }\n startX = orgX - pad;\n if (titleWidth > orgWidth) {\n startX = (orgWidth - width) / 2 + pad;\n }\n if (Math.abs(orgX - graphBox.x) < pad && titleWidth > orgWidth) {\n startX = orgX - (titleWidth - orgWidth) / 2;\n }\n const lineY = 1 - getConfig().state.textHeight;\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\"y\", lineY).attr(\"class\", altBkg ? \"alt-composit\" : \"composit\").attr(\"width\", width).attr(\n \"height\",\n graphBox.height + getConfig().state.textHeight + getConfig().state.titleShift + 1\n ).attr(\"rx\", \"0\");\n title.attr(\"x\", startX + pad);\n if (titleWidth <= orgWidth) {\n title.attr(\"x\", orgX + (width - dblPad) / 2 - titleWidth / 2 + pad);\n }\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", getConfig().state.textHeight * 3).attr(\"rx\", getConfig().state.radius);\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", graphBox.height + 3 + 2 * getConfig().state.textHeight).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"addTitleAndBox\");\nvar drawEndState = /* @__PURE__ */ __name((g) => {\n g.append(\"circle\").attr(\"class\", \"end-state-outer\").attr(\"r\", getConfig().state.sizeUnit + getConfig().state.miniPadding).attr(\n \"cx\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n ).attr(\n \"cy\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n );\n return g.append(\"circle\").attr(\"class\", \"end-state-inner\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit + 2).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit + 2);\n}, \"drawEndState\");\nvar drawForkJoinState = /* @__PURE__ */ __name((g, stateDef) => {\n let width = getConfig().state.forkWidth;\n let height = getConfig().state.forkHeight;\n if (stateDef.parentId) {\n let tmp = width;\n width = height;\n height = tmp;\n }\n return g.append(\"rect\").style(\"stroke\", \"black\").style(\"fill\", \"black\").attr(\"width\", width).attr(\"height\", height).attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding);\n}, \"drawForkJoinState\");\nvar _drawLongText = /* @__PURE__ */ __name((_text, x, y, g) => {\n let textHeight = 0;\n const textElem = g.append(\"text\");\n textElem.style(\"text-anchor\", \"start\");\n textElem.attr(\"class\", \"noteText\");\n let text = _text.replace(/\\r\\n/g, \"<br/>\");\n text = text.replace(/\\n/g, \"<br/>\");\n const lines = text.split(common_default.lineBreakRegex);\n let tHeight = 1.25 * getConfig().state.noteMargin;\n for (const line2 of lines) {\n const txt = line2.trim();\n if (txt.length > 0) {\n const span = textElem.append(\"tspan\");\n span.text(txt);\n if (tHeight === 0) {\n const textBounds = span.node().getBBox();\n tHeight += textBounds.height;\n }\n textHeight += tHeight;\n span.attr(\"x\", x + getConfig().state.noteMargin);\n span.attr(\"y\", y + textHeight + 1.25 * getConfig().state.noteMargin);\n }\n }\n return { textWidth: textElem.node().getBBox().width, textHeight };\n}, \"_drawLongText\");\nvar drawNote = /* @__PURE__ */ __name((text, g) => {\n g.attr(\"class\", \"state-note\");\n const note = g.append(\"rect\").attr(\"x\", 0).attr(\"y\", getConfig().state.padding);\n const rectElem = g.append(\"g\");\n const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem);\n note.attr(\"height\", textHeight + 2 * getConfig().state.noteMargin);\n note.attr(\"width\", textWidth + getConfig().state.noteMargin * 2);\n return note;\n}, \"drawNote\");\nvar drawState = /* @__PURE__ */ __name(function(elem, stateDef) {\n const id = stateDef.id;\n const stateInfo = {\n id,\n label: stateDef.id,\n width: 0,\n height: 0\n };\n const g = elem.append(\"g\").attr(\"id\", id).attr(\"class\", \"stateGroup\");\n if (stateDef.type === \"start\") {\n drawStartState(g);\n }\n if (stateDef.type === \"end\") {\n drawEndState(g);\n }\n if (stateDef.type === \"fork\" || stateDef.type === \"join\") {\n drawForkJoinState(g, stateDef);\n }\n if (stateDef.type === \"note\") {\n drawNote(stateDef.note.text, g);\n }\n if (stateDef.type === \"divider\") {\n drawDivider(g);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length === 0) {\n drawSimpleState(g, stateDef);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length > 0) {\n drawDescrState(g, stateDef);\n }\n const stateBox = g.node().getBBox();\n stateInfo.width = stateBox.width + 2 * getConfig().state.padding;\n stateInfo.height = stateBox.height + 2 * getConfig().state.padding;\n return stateInfo;\n}, \"drawState\");\nvar edgeCount = 0;\nvar drawEdge = /* @__PURE__ */ __name(function(elem, path, relation) {\n const getRelationType = /* @__PURE__ */ __name(function(type) {\n switch (type) {\n case StateDB.relationType.AGGREGATION:\n return \"aggregation\";\n case StateDB.relationType.EXTENSION:\n return \"extension\";\n case StateDB.relationType.COMPOSITION:\n return \"composition\";\n case StateDB.relationType.DEPENDENCY:\n return \"dependency\";\n }\n }, \"getRelationType\");\n path.points = path.points.filter((p) => !Number.isNaN(p.y));\n const lineData = path.points;\n const lineFunction = line().x(function(d) {\n return d.x;\n }).y(function(d) {\n return d.y;\n }).curve(curveBasis);\n const svgPath = elem.append(\"path\").attr(\"d\", lineFunction(lineData)).attr(\"id\", \"edge\" + edgeCount).attr(\"class\", \"transition\");\n let url = \"\";\n if (getConfig().state.arrowMarkerAbsolute) {\n url = getUrl(true);\n }\n svgPath.attr(\n \"marker-end\",\n \"url(\" + url + \"#\" + getRelationType(StateDB.relationType.DEPENDENCY) + \"End)\"\n );\n if (relation.title !== void 0) {\n const label = elem.append(\"g\").attr(\"class\", \"stateLabel\");\n const { x, y } = utils_default.calcLabelPosition(path.points);\n const rows = common_default.getRows(relation.title);\n let titleHeight = 0;\n const titleRows = [];\n let maxWidth = 0;\n let minX = 0;\n for (let i = 0; i <= rows.length; i++) {\n const title = label.append(\"text\").attr(\"text-anchor\", \"middle\").text(rows[i]).attr(\"x\", x).attr(\"y\", y + titleHeight);\n const boundsTmp = title.node().getBBox();\n maxWidth = Math.max(maxWidth, boundsTmp.width);\n minX = Math.min(minX, boundsTmp.x);\n log.info(boundsTmp.x, x, y + titleHeight);\n if (titleHeight === 0) {\n const titleBox = title.node().getBBox();\n titleHeight = titleBox.height;\n log.info(\"Title height\", titleHeight, y);\n }\n titleRows.push(title);\n }\n let boxHeight = titleHeight * rows.length;\n if (rows.length > 1) {\n const heightAdj = (rows.length - 1) * titleHeight * 0.5;\n titleRows.forEach((title, i) => title.attr(\"y\", y + i * titleHeight - heightAdj));\n boxHeight = titleHeight * rows.length;\n }\n const bounds = label.node().getBBox();\n label.insert(\"rect\", \":first-child\").attr(\"class\", \"box\").attr(\"x\", x - maxWidth / 2 - getConfig().state.padding / 2).attr(\"y\", y - boxHeight / 2 - getConfig().state.padding / 2 - 3.5).attr(\"width\", maxWidth + getConfig().state.padding).attr(\"height\", boxHeight + getConfig().state.padding);\n log.info(bounds);\n }\n edgeCount++;\n}, \"drawEdge\");\n\n// src/diagrams/state/stateRenderer.js\nvar conf;\nvar transformationLog = {};\nvar setConf = /* @__PURE__ */ __name(function() {\n}, \"setConf\");\nvar insertMarkers = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"dependencyEnd\").attr(\"refX\", 19).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 19,7 L9,13 L14,7 L9,1 Z\");\n}, \"insertMarkers\");\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n conf = getConfig().state;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n log.debug(\"Rendering diagram \" + text);\n const diagram2 = root.select(`[id='${id}']`);\n insertMarkers(diagram2);\n const rootDoc = diagObj.db.getRootDoc();\n const rootG = diagram2.append(\"g\").attr(\"id\", id + \"-root\");\n renderDoc(rootDoc, rootG, void 0, false, root, doc, diagObj);\n const padding = conf.padding;\n const bounds = diagram2.node().getBBox();\n const width = bounds.width + padding * 2;\n const height = bounds.height + padding * 2;\n const svgWidth = width * 1.75;\n configureSvgSize(diagram2, height, svgWidth, conf.useMaxWidth);\n diagram2.attr(\n \"viewBox\",\n `${bounds.x - conf.padding} ${bounds.y - conf.padding} ` + width + \" \" + height\n );\n}, \"draw\");\nvar getLabelWidth = /* @__PURE__ */ __name((text) => {\n return text ? text.length * conf.fontSizeFactor : 1;\n}, \"getLabelWidth\");\nvar renderDoc = /* @__PURE__ */ __name((doc, diagram2, parentId, altBkg, root, domDocument, diagObj) => {\n const graph = new graphlib.Graph({\n compound: true,\n multigraph: true\n });\n let i;\n let edgeFreeDoc = true;\n for (i = 0; i < doc.length; i++) {\n if (doc[i].stmt === \"relation\") {\n edgeFreeDoc = false;\n break;\n }\n }\n if (parentId) {\n graph.setGraph({\n rankdir: \"LR\",\n multigraph: true,\n compound: true,\n // acyclicer: 'greedy',\n ranker: \"tight-tree\",\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n isMultiGraph: true\n // ranksep: 5,\n // nodesep: 1\n });\n } else {\n graph.setGraph({\n rankdir: \"TB\",\n multigraph: true,\n compound: true,\n // isCompound: true,\n // acyclicer: 'greedy',\n // ranker: 'longest-path'\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n ranker: \"tight-tree\",\n // ranker: 'network-simplex'\n isMultiGraph: true\n });\n }\n graph.setDefaultEdgeLabel(function() {\n return {};\n });\n const states = diagObj.db.getStates();\n const relations = diagObj.db.getRelations();\n const keys = Object.keys(states);\n let first = true;\n for (const key of keys) {\n const stateDef = states[key];\n if (parentId) {\n stateDef.parentId = parentId;\n }\n let node;\n if (stateDef.doc) {\n let sub = diagram2.append(\"g\").attr(\"id\", stateDef.id).attr(\"class\", \"stateGroup\");\n node = renderDoc(stateDef.doc, sub, stateDef.id, !altBkg, root, domDocument, diagObj);\n if (first) {\n sub = addTitleAndBox(sub, stateDef, altBkg);\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height + conf.padding / 2;\n transformationLog[stateDef.id] = { y: conf.compositTitleSize };\n } else {\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height;\n }\n } else {\n node = drawState(diagram2, stateDef, graph);\n }\n if (stateDef.note) {\n const noteDef = {\n descriptions: [],\n id: stateDef.id + \"-note\",\n note: stateDef.note,\n type: \"note\"\n };\n const note = drawState(diagram2, noteDef, graph);\n if (stateDef.note.position === \"left of\") {\n graph.setNode(node.id + \"-note\", note);\n graph.setNode(node.id, node);\n } else {\n graph.setNode(node.id, node);\n graph.setNode(node.id + \"-note\", note);\n }\n graph.setParent(node.id, node.id + \"-group\");\n graph.setParent(node.id + \"-note\", node.id + \"-group\");\n } else {\n graph.setNode(node.id, node);\n }\n }\n log.debug(\"Count=\", graph.nodeCount(), graph);\n let cnt = 0;\n relations.forEach(function(relation) {\n cnt++;\n log.debug(\"Setting edge\", relation);\n graph.setEdge(\n relation.id1,\n relation.id2,\n {\n relation,\n width: getLabelWidth(relation.title),\n height: conf.labelHeight * common_default.getRows(relation.title).length,\n labelpos: \"c\"\n },\n \"id\" + cnt\n );\n });\n dagreLayout(graph);\n log.debug(\"Graph after layout\", graph.nodes());\n const svgElem = diagram2.node();\n graph.nodes().forEach(function(v) {\n if (v !== void 0 && graph.node(v) !== void 0) {\n log.warn(\"Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\n \"transform\",\n \"translate(\" + (graph.node(v).x - graph.node(v).width / 2) + \",\" + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + \" )\"\n );\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\"data-x-shift\", graph.node(v).x - graph.node(v).width / 2);\n const dividers = domDocument.querySelectorAll(\"#\" + svgElem.id + \" #\" + v + \" .divider\");\n dividers.forEach((divider) => {\n const parent = divider.parentElement;\n let pWidth = 0;\n let pShift = 0;\n if (parent) {\n if (parent.parentElement) {\n pWidth = parent.parentElement.getBBox().width;\n }\n pShift = parseInt(parent.getAttribute(\"data-x-shift\"), 10);\n if (Number.isNaN(pShift)) {\n pShift = 0;\n }\n }\n divider.setAttribute(\"x1\", 0 - pShift + 8);\n divider.setAttribute(\"x2\", pWidth - pShift - 8);\n });\n } else {\n log.debug(\"No Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n }\n });\n let stateBox = svgElem.getBBox();\n graph.edges().forEach(function(e) {\n if (e !== void 0 && graph.edge(e) !== void 0) {\n log.debug(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n drawEdge(diagram2, graph.edge(e), graph.edge(e).relation);\n }\n });\n stateBox = svgElem.getBBox();\n const stateInfo = {\n id: parentId ? parentId : \"root\",\n label: parentId ? parentId : \"root\",\n width: 0,\n height: 0\n };\n stateInfo.width = stateBox.width + 2 * conf.padding;\n stateInfo.height = stateBox.height + 2 * conf.padding;\n log.debug(\"Doc rendered\", stateInfo, graph);\n return stateInfo;\n}, \"renderDoc\");\nvar stateRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/state/stateDiagram.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(1);\n },\n renderer: stateRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["drawStartState","__name","g","getConfig","drawDivider","drawSimpleState","stateDef","state","classBox","drawDescrState","addTspan","textEl","txt","isFirst2","tSpan","titleBox","titleHeight","description","isFirst","isSecond","descr","descrLine","descrBox","width","addTitleAndBox","altBkg","pad","dblPad","orgBox","orgWidth","orgX","title","titleWidth","startX","graphBox","lineY","drawEndState","drawForkJoinState","height","tmp","_drawLongText","_text","x","y","textHeight","textElem","text","lines","common_default","tHeight","line2","span","textBounds","drawNote","note","rectElem","textWidth","drawState","elem","id","stateInfo","stateBox","edgeCount","drawEdge","path","relation","getRelationType","type","StateDB","p","lineData","lineFunction","line","d","curveBasis","svgPath","url","getUrl","label","utils_default","rows","titleRows","maxWidth","minX","i","boundsTmp","log","boxHeight","heightAdj","bounds","conf","transformationLog","setConf","insertMarkers","draw","_version","diagObj","securityLevel","sandboxElement","select","root","doc","diagram2","rootDoc","rootG","renderDoc","padding","svgWidth","configureSvgSize","getLabelWidth","parentId","domDocument","graph","graphlib.Graph","edgeFreeDoc","states","relations","keys","key","node","sub","boxBounds","noteDef","cnt","dagreLayout","svgElem","v","divider","parent","pWidth","pShift","e","stateRenderer_default","diagram","stateDiagram_default","styles_default","cnf"],"mappings":";;;;AAmCA,IAAIA,IAAiC,gBAAAC,EAAO,CAACC,MAAMA,EAAE,OAAO,QAAQ,EAAE,KAAK,SAAS,aAAa,EAAE,KAAK,KAAKC,EAAS,EAAG,MAAM,QAAQ,EAAE,KAAK,MAAMA,EAAS,EAAG,MAAM,UAAUA,EAAS,EAAG,MAAM,QAAQ,EAAE,KAAK,MAAMA,EAAS,EAAG,MAAM,UAAUA,EAAS,EAAG,MAAM,QAAQ,GAAG,gBAAgB,GAC5RC,IAA8B,gBAAAH,EAAO,CAACC,MAAMA,EAAE,OAAO,MAAM,EAAE,MAAM,UAAU,MAAM,EAAE,MAAM,oBAAoB,GAAG,EAAE,KAAK,MAAMC,EAAS,EAAG,MAAM,UAAU,EAAE,KAAK,SAAS,SAAS,EAAE,KAAK,MAAMA,EAAS,EAAG,MAAM,aAAa,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,GAAG,aAAa,GAC7QE,IAAkC,gBAAAJ,EAAO,CAACC,GAAGI,MAAa;AAC5D,QAAMC,IAAQL,EAAE,OAAO,MAAM,EAAE,KAAK,KAAK,IAAIC,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,KAAKA,EAAS,EAAG,MAAM,aAAa,IAAIA,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,aAAaA,EAAS,EAAG,MAAM,QAAQ,EAAE,KAAK,SAAS,aAAa,EAAE,KAAKG,EAAS,EAAE,GACrOE,IAAWD,EAAM,KAAI,EAAG,QAAO;AACrC,SAAAL,EAAE,OAAO,QAAQ,cAAc,EAAE,KAAK,KAAKC,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,KAAKA,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,SAASK,EAAS,QAAQ,IAAIL,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,UAAUK,EAAS,SAAS,IAAIL,IAAY,MAAM,OAAO,EAAE,KAAK,MAAMA,EAAS,EAAG,MAAM,MAAM,GACrQI;AACT,GAAG,iBAAiB,GAChBE,IAAiC,gBAAAR,EAAO,CAACC,GAAGI,MAAa;AAC3D,QAAMI,IAA2B,gBAAAT,EAAO,SAASU,GAAQC,GAAKC,GAAU;AACtE,UAAMC,IAAQH,EAAO,OAAO,OAAO,EAAE,KAAK,KAAK,IAAIR,EAAS,EAAG,MAAM,OAAO,EAAE,KAAKS,CAAG;AACtF,IAAKC,KACHC,EAAM,KAAK,MAAMX,EAAS,EAAG,MAAM,UAAU;AAAA,EAEjD,GAAG,UAAU,GAEPY,IADQb,EAAE,OAAO,MAAM,EAAE,KAAK,KAAK,IAAIC,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,KAAKA,EAAS,EAAG,MAAM,aAAa,MAAMA,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,aAAaA,EAAS,EAAG,MAAM,QAAQ,EAAE,KAAK,SAAS,aAAa,EAAE,KAAKG,EAAS,aAAa,CAAC,CAAC,EACnO,KAAI,EAAG,QAAO,GAC/BU,IAAcD,EAAS,QACvBE,IAAcf,EAAE,OAAO,MAAM,EAAE,KAAK,KAAKC,EAAS,EAAG,MAAM,OAAO,EAAE;AAAA,IACxE;AAAA,IACAa,IAAcb,EAAS,EAAG,MAAM,UAAU,MAAMA,EAAS,EAAG,MAAM,gBAAgBA,EAAS,EAAG,MAAM;AAAA,EACxG,EAAI,KAAK,SAAS,mBAAmB;AACnC,MAAIe,IAAU,IACVC,IAAW;AACf,EAAAb,EAAS,aAAa,QAAQ,SAASc,GAAO;AAC5C,IAAKF,MACHR,EAASO,GAAaG,GAAOD,CAAQ,GACrCA,IAAW,KAEbD,IAAU;AAAA,EACZ,CAAC;AACD,QAAMG,IAAYnB,EAAE,OAAO,MAAM,EAAE,KAAK,MAAMC,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,MAAMA,EAAS,EAAG,MAAM,UAAUa,IAAcb,EAAS,EAAG,MAAM,gBAAgB,CAAC,EAAE,KAAK,MAAMA,EAAS,EAAG,MAAM,UAAUa,IAAcb,EAAS,EAAG,MAAM,gBAAgB,CAAC,EAAE,KAAK,SAAS,eAAe,GACpRmB,IAAWL,EAAY,KAAI,EAAG,QAAO,GACrCM,IAAQ,KAAK,IAAID,EAAS,OAAOP,EAAS,KAAK;AACrD,SAAAM,EAAU,KAAK,MAAME,IAAQ,IAAIpB,EAAS,EAAG,MAAM,OAAO,GAC1DD,EAAE,OAAO,QAAQ,cAAc,EAAE,KAAK,KAAKC,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,KAAKA,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,SAASoB,IAAQ,IAAIpB,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,UAAUmB,EAAS,SAASN,IAAc,IAAIb,IAAY,MAAM,OAAO,EAAE,KAAK,MAAMA,EAAS,EAAG,MAAM,MAAM,GAC1QD;AACT,GAAG,gBAAgB,GACfsB,IAAiC,gBAAAvB,EAAO,CAACC,GAAGI,GAAUmB,MAAW;AACnE,QAAMC,IAAMvB,IAAY,MAAM,SACxBwB,IAAS,IAAIxB,EAAS,EAAG,MAAM,SAC/ByB,IAAS1B,EAAE,KAAI,EAAG,QAAO,GACzB2B,IAAWD,EAAO,OAClBE,IAAOF,EAAO,GACdG,IAAQ7B,EAAE,OAAO,MAAM,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,KAAKC,EAAS,EAAG,MAAM,UAAU,EAAE,KAAK,aAAaA,EAAS,EAAG,MAAM,QAAQ,EAAE,KAAK,SAAS,aAAa,EAAE,KAAKG,EAAS,EAAE,GAEzK0B,IADWD,EAAM,KAAI,EAAG,QAAO,EACT,QAAQJ;AACpC,MAAIJ,IAAQ,KAAK,IAAIS,GAAYH,CAAQ;AACzC,EAAIN,MAAUM,MACZN,IAAQA,IAAQI;AAElB,MAAIM;AACJ,QAAMC,IAAWhC,EAAE,KAAI,EAAG,QAAO;AACjC,EAAII,EAAS,KAEb2B,IAASH,IAAOJ,GACZM,IAAaH,MACfI,KAAUJ,IAAWN,KAAS,IAAIG,IAEhC,KAAK,IAAII,IAAOI,EAAS,CAAC,IAAIR,KAAOM,IAAaH,MACpDI,IAASH,KAAQE,IAAaH,KAAY;AAE5C,QAAMM,IAAQ,IAAIhC,EAAS,EAAG,MAAM;AACpC,SAAAD,EAAE,OAAO,QAAQ,cAAc,EAAE,KAAK,KAAK+B,CAAM,EAAE,KAAK,KAAKE,CAAK,EAAE,KAAK,SAASV,IAAS,iBAAiB,UAAU,EAAE,KAAK,SAASF,CAAK,EAAE;AAAA,IAC3I;AAAA,IACAW,EAAS,SAAS/B,IAAY,MAAM,aAAaA,EAAS,EAAG,MAAM,aAAa;AAAA,EACpF,EAAI,KAAK,MAAM,GAAG,GAChB4B,EAAM,KAAK,KAAKE,IAASP,CAAG,GACxBM,KAAcH,KAChBE,EAAM,KAAK,KAAKD,KAAQP,IAAQI,KAAU,IAAIK,IAAa,IAAIN,CAAG,GAEpExB,EAAE,OAAO,QAAQ,cAAc,EAAE,KAAK,KAAK+B,CAAM,EAAE;AAAA,IACjD;AAAA,IACA9B,EAAS,EAAG,MAAM,aAAaA,EAAS,EAAG,MAAM,aAAaA,EAAS,EAAG,MAAM;AAAA,EACpF,EAAI,KAAK,SAASoB,CAAK,EAAE,KAAK,UAAUpB,IAAY,MAAM,aAAa,CAAC,EAAE,KAAK,MAAMA,EAAS,EAAG,MAAM,MAAM,GAC3GD,EAAE,OAAO,QAAQ,cAAc,EAAE,KAAK,KAAK+B,CAAM,EAAE;AAAA,IACjD;AAAA,IACA9B,EAAS,EAAG,MAAM,aAAaA,EAAS,EAAG,MAAM,aAAaA,EAAS,EAAG,MAAM;AAAA,EACpF,EAAI,KAAK,SAASoB,CAAK,EAAE,KAAK,UAAUW,EAAS,SAAS,IAAI,IAAI/B,IAAY,MAAM,UAAU,EAAE,KAAK,MAAMA,EAAS,EAAG,MAAM,MAAM,GAC1HD;AACT,GAAG,gBAAgB,GACfkC,IAA+B,gBAAAnC,EAAO,CAACC,OACzCA,EAAE,OAAO,QAAQ,EAAE,KAAK,SAAS,iBAAiB,EAAE,KAAK,KAAKC,EAAS,EAAG,MAAM,WAAWA,EAAS,EAAG,MAAM,WAAW,EAAE;AAAA,EACxH;AAAA,EACAA,EAAS,EAAG,MAAM,UAAUA,EAAS,EAAG,MAAM,WAAWA,EAAS,EAAG,MAAM;AAC/E,EAAI;AAAA,EACA;AAAA,EACAA,EAAS,EAAG,MAAM,UAAUA,EAAS,EAAG,MAAM,WAAWA,EAAS,EAAG,MAAM;AAC/E,GACSD,EAAE,OAAO,QAAQ,EAAE,KAAK,SAAS,iBAAiB,EAAE,KAAK,KAAKC,EAAS,EAAG,MAAM,QAAQ,EAAE,KAAK,MAAMA,EAAS,EAAG,MAAM,UAAUA,IAAY,MAAM,WAAW,CAAC,EAAE,KAAK,MAAMA,EAAS,EAAG,MAAM,UAAUA,EAAS,EAAG,MAAM,WAAW,CAAC,IAC5O,cAAc,GACbkC,IAAoC,gBAAApC,EAAO,CAACC,GAAGI,MAAa;AAC9D,MAAIiB,IAAQpB,IAAY,MAAM,WAC1BmC,IAASnC,IAAY,MAAM;AAC/B,MAAIG,EAAS,UAAU;AACrB,QAAIiC,IAAMhB;AACV,IAAAA,IAAQe,GACRA,IAASC;AAAA,EACX;AACA,SAAOrC,EAAE,OAAO,MAAM,EAAE,MAAM,UAAU,OAAO,EAAE,MAAM,QAAQ,OAAO,EAAE,KAAK,SAASqB,CAAK,EAAE,KAAK,UAAUe,CAAM,EAAE,KAAK,KAAKnC,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,KAAKA,EAAS,EAAG,MAAM,OAAO;AAC9L,GAAG,mBAAmB,GAClBqC,IAAgC,gBAAAvC,EAAO,CAACwC,GAAOC,GAAGC,GAAGzC,MAAM;AAC7D,MAAI0C,IAAa;AACjB,QAAMC,IAAW3C,EAAE,OAAO,MAAM;AAChC,EAAA2C,EAAS,MAAM,eAAe,OAAO,GACrCA,EAAS,KAAK,SAAS,UAAU;AACjC,MAAIC,IAAOL,EAAM,QAAQ,SAAS,OAAO;AACzC,EAAAK,IAAOA,EAAK,QAAQ,OAAO,OAAO;AAClC,QAAMC,IAAQD,EAAK,MAAME,EAAe,cAAc;AACtD,MAAIC,IAAU,OAAO9C,EAAS,EAAG,MAAM;AACvC,aAAW+C,KAASH,GAAO;AACzB,UAAMnC,IAAMsC,EAAM,KAAI;AACtB,QAAItC,EAAI,SAAS,GAAG;AAClB,YAAMuC,IAAON,EAAS,OAAO,OAAO;AAEpC,UADAM,EAAK,KAAKvC,CAAG,GACTqC,MAAY,GAAG;AACjB,cAAMG,IAAaD,EAAK,KAAI,EAAG,QAAO;AACtC,QAAAF,KAAWG,EAAW;AAAA,MACxB;AACA,MAAAR,KAAcK,GACdE,EAAK,KAAK,KAAKT,IAAIvC,EAAS,EAAG,MAAM,UAAU,GAC/CgD,EAAK,KAAK,KAAKR,IAAIC,IAAa,OAAOzC,EAAS,EAAG,MAAM,UAAU;AAAA,IACrE;AAAA,EACF;AACA,SAAO,EAAE,WAAW0C,EAAS,KAAI,EAAG,QAAO,EAAG,OAAO,YAAAD,EAAU;AACjE,GAAG,eAAe,GACdS,IAA2B,gBAAApD,EAAO,CAAC6C,GAAM5C,MAAM;AACjD,EAAAA,EAAE,KAAK,SAAS,YAAY;AAC5B,QAAMoD,IAAOpD,EAAE,OAAO,MAAM,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,KAAKC,EAAS,EAAG,MAAM,OAAO,GACxEoD,IAAWrD,EAAE,OAAO,GAAG,GACvB,EAAE,WAAAsD,GAAW,YAAAZ,MAAeJ,EAAcM,GAAM,GAAG,GAAGS,CAAQ;AACpE,SAAAD,EAAK,KAAK,UAAUV,IAAa,IAAIzC,EAAS,EAAG,MAAM,UAAU,GACjEmD,EAAK,KAAK,SAASE,IAAYrD,EAAS,EAAG,MAAM,aAAa,CAAC,GACxDmD;AACT,GAAG,UAAU,GACTG,IAA4B,gBAAAxD,EAAO,SAASyD,GAAMpD,GAAU;AAC9D,QAAMqD,IAAKrD,EAAS,IACdsD,IAAY;AAAA,IAChB,IAAAD;AAAA,IACA,OAAOrD,EAAS;AAAA,IAChB,OAAO;AAAA,IACP,QAAQ;AAAA,EACZ,GACQJ,IAAIwD,EAAK,OAAO,GAAG,EAAE,KAAK,MAAMC,CAAE,EAAE,KAAK,SAAS,YAAY;AACpE,EAAIrD,EAAS,SAAS,WACpBN,EAAeE,CAAC,GAEdI,EAAS,SAAS,SACpB8B,EAAalC,CAAC,IAEZI,EAAS,SAAS,UAAUA,EAAS,SAAS,WAChD+B,EAAkBnC,GAAGI,CAAQ,GAE3BA,EAAS,SAAS,UACpB+C,EAAS/C,EAAS,KAAK,MAAMJ,CAAC,GAE5BI,EAAS,SAAS,aACpBF,EAAYF,CAAC,GAEXI,EAAS,SAAS,aAAaA,EAAS,aAAa,WAAW,KAClED,EAAgBH,GAAGI,CAAQ,GAEzBA,EAAS,SAAS,aAAaA,EAAS,aAAa,SAAS,KAChEG,EAAeP,GAAGI,CAAQ;AAE5B,QAAMuD,IAAW3D,EAAE,KAAI,EAAG,QAAO;AACjC,SAAA0D,EAAU,QAAQC,EAAS,QAAQ,IAAI1D,EAAS,EAAG,MAAM,SACzDyD,EAAU,SAASC,EAAS,SAAS,IAAI1D,EAAS,EAAG,MAAM,SACpDyD;AACT,GAAG,WAAW,GACVE,IAAY,GACZC,IAA2B,gBAAA9D,EAAO,SAASyD,GAAMM,GAAMC,GAAU;AACnE,QAAMC,IAAkC,gBAAAjE,EAAO,SAASkE,GAAM;AAC5D,YAAQA,GAAI;AAAA,MACV,KAAKC,EAAQ,aAAa;AACxB,eAAO;AAAA,MACT,KAAKA,EAAQ,aAAa;AACxB,eAAO;AAAA,MACT,KAAKA,EAAQ,aAAa;AACxB,eAAO;AAAA,MACT,KAAKA,EAAQ,aAAa;AACxB,eAAO;AAAA,IACf;AAAA,EACE,GAAG,iBAAiB;AACpB,EAAAJ,EAAK,SAASA,EAAK,OAAO,OAAO,CAACK,MAAM,CAAC,OAAO,MAAMA,EAAE,CAAC,CAAC;AAC1D,QAAMC,IAAWN,EAAK,QAChBO,IAAeC,EAAI,EAAG,EAAE,SAASC,GAAG;AACxC,WAAOA,EAAE;AAAA,EACX,CAAC,EAAE,EAAE,SAASA,GAAG;AACf,WAAOA,EAAE;AAAA,EACX,CAAC,EAAE,MAAMC,CAAU,GACbC,IAAUjB,EAAK,OAAO,MAAM,EAAE,KAAK,KAAKa,EAAaD,CAAQ,CAAC,EAAE,KAAK,MAAM,SAASR,CAAS,EAAE,KAAK,SAAS,YAAY;AAC/H,MAAIc,IAAM;AAQV,MAPIzE,EAAS,EAAG,MAAM,wBACpByE,IAAMC,EAAO,EAAI,IAEnBF,EAAQ;AAAA,IACN;AAAA,IACA,SAASC,IAAM,MAAMV,EAAgBE,EAAQ,aAAa,UAAU,IAAI;AAAA,EAC5E,GACMH,EAAS,UAAU,QAAQ;AAC7B,UAAMa,IAAQpB,EAAK,OAAO,GAAG,EAAE,KAAK,SAAS,YAAY,GACnD,EAAE,GAAAhB,GAAG,GAAAC,EAAC,IAAKoC,EAAc,kBAAkBf,EAAK,MAAM,GACtDgB,IAAOhC,EAAe,QAAQiB,EAAS,KAAK;AAClD,QAAIjD,IAAc;AAClB,UAAMiE,IAAY,CAAA;AAClB,QAAIC,IAAW,GACXC,IAAO;AACX,aAASC,IAAI,GAAGA,KAAKJ,EAAK,QAAQI,KAAK;AACrC,YAAMrD,IAAQ+C,EAAM,OAAO,MAAM,EAAE,KAAK,eAAe,QAAQ,EAAE,KAAKE,EAAKI,CAAC,CAAC,EAAE,KAAK,KAAK1C,CAAC,EAAE,KAAK,KAAKC,IAAI3B,CAAW,GAC/GqE,IAAYtD,EAAM,KAAI,EAAG,QAAO;AACtC,MAAAmD,IAAW,KAAK,IAAIA,GAAUG,EAAU,KAAK,GAC7CF,IAAO,KAAK,IAAIA,GAAME,EAAU,CAAC,GACjCC,EAAI,KAAKD,EAAU,GAAG3C,GAAGC,IAAI3B,CAAW,GACpCA,MAAgB,MAElBA,IADiBe,EAAM,KAAI,EAAG,QAAO,EACd,QACvBuD,EAAI,KAAK,gBAAgBtE,GAAa2B,CAAC,IAEzCsC,EAAU,KAAKlD,CAAK;AAAA,IACtB;AACA,QAAIwD,IAAYvE,IAAcgE,EAAK;AACnC,QAAIA,EAAK,SAAS,GAAG;AACnB,YAAMQ,KAAaR,EAAK,SAAS,KAAKhE,IAAc;AACpD,MAAAiE,EAAU,QAAQ,CAAClD,GAAOqD,MAAMrD,EAAM,KAAK,KAAKY,IAAIyC,IAAIpE,IAAcwE,CAAS,CAAC,GAChFD,IAAYvE,IAAcgE,EAAK;AAAA,IACjC;AACA,UAAMS,IAASX,EAAM,KAAI,EAAG,QAAO;AACnC,IAAAA,EAAM,OAAO,QAAQ,cAAc,EAAE,KAAK,SAAS,KAAK,EAAE,KAAK,KAAKpC,IAAIwC,IAAW,IAAI/E,EAAS,EAAG,MAAM,UAAU,CAAC,EAAE,KAAK,KAAKwC,IAAI4C,IAAY,IAAIpF,IAAY,MAAM,UAAU,IAAI,GAAG,EAAE,KAAK,SAAS+E,IAAW/E,EAAS,EAAG,MAAM,OAAO,EAAE,KAAK,UAAUoF,IAAYpF,EAAS,EAAG,MAAM,OAAO,GACjSmF,EAAI,KAAKG,CAAM;AAAA,EACjB;AACA,EAAA3B;AACF,GAAG,UAAU,GAGT4B,GACAC,IAAoB,CAAA,GACpBC,IAA0B,gBAAA3F,EAAO,WAAW;AAChD,GAAG,SAAS,GACR4F,KAAgC,gBAAA5F,EAAO,SAASyD,GAAM;AACxD,EAAAA,EAAK,OAAO,MAAM,EAAE,OAAO,QAAQ,EAAE,KAAK,MAAM,eAAe,EAAE,KAAK,QAAQ,EAAE,EAAE,KAAK,QAAQ,CAAC,EAAE,KAAK,eAAe,EAAE,EAAE,KAAK,gBAAgB,EAAE,EAAE,KAAK,UAAU,MAAM,EAAE,OAAO,MAAM,EAAE,KAAK,KAAK,2BAA2B;AAChO,GAAG,eAAe,GACdoC,KAAuB,gBAAA7F,EAAO,SAAS6C,GAAMa,GAAIoC,GAAUC,GAAS;AACtE,EAAAN,IAAOvF,EAAS,EAAG;AACnB,QAAM8F,IAAgB9F,EAAS,EAAG;AAClC,MAAI+F;AACJ,EAAID,MAAkB,cACpBC,IAAiBC,EAAO,OAAOxC,CAAE;AAEnC,QAAMyC,IAAOH,MAAkB,YAAYE,EAAOD,EAAe,QAAQ,CAAC,EAAE,gBAAgB,IAAI,IAAIC,EAAO,MAAM,GAC3GE,IAAMJ,MAAkB,YAAYC,EAAe,QAAQ,CAAC,EAAE,kBAAkB;AACtF,EAAAZ,EAAI,MAAM,uBAAuBxC,CAAI;AACrC,QAAMwD,IAAWF,EAAK,OAAO,QAAQzC,CAAE,IAAI;AAC3C,EAAAkC,GAAcS,CAAQ;AACtB,QAAMC,IAAUP,EAAQ,GAAG,WAAU,GAC/BQ,IAAQF,EAAS,OAAO,GAAG,EAAE,KAAK,MAAM3C,IAAK,OAAO;AAC1D,EAAA8C,EAAUF,GAASC,GAAO,QAAQ,IAAOJ,GAAMC,GAAKL,CAAO;AAC3D,QAAMU,IAAUhB,EAAK,SACfD,IAASa,EAAS,KAAI,EAAG,QAAO,GAChC/E,IAAQkE,EAAO,QAAQiB,IAAU,GACjCpE,IAASmD,EAAO,SAASiB,IAAU,GACnCC,IAAWpF,IAAQ;AACzB,EAAAqF,EAAiBN,GAAUhE,GAAQqE,GAAUjB,EAAK,WAAW,GAC7DY,EAAS;AAAA,IACP;AAAA,IACA,GAAGb,EAAO,IAAIC,EAAK,OAAO,KAAKD,EAAO,IAAIC,EAAK,OAAO,MAAMnE,IAAQ,MAAMe;AAAA,EAC9E;AACA,GAAG,MAAM,GACLuE,KAAgC,gBAAA5G,EAAO,CAAC6C,MACnCA,IAAOA,EAAK,SAAS4C,EAAK,iBAAiB,GACjD,eAAe,GACde,IAA4B,gBAAAxG,EAAO,CAACoG,GAAKC,GAAUQ,GAAUrF,GAAQ2E,GAAMW,GAAaf,MAAY;AACtG,QAAMgB,IAAQ,IAAIC,EAAe;AAAA,IAC/B,UAAU;AAAA,IACV,YAAY;AAAA,EAChB,CAAG;AACD,MAAI7B,GACA8B,IAAc;AAClB,OAAK9B,IAAI,GAAGA,IAAIiB,EAAI,QAAQjB;AAC1B,QAAIiB,EAAIjB,CAAC,EAAE,SAAS,YAAY;AAC9B,MAAA8B,IAAc;AACd;AAAA,IACF;AAEF,EAAIJ,IACFE,EAAM,SAAS;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,UAAU;AAAA;AAAA,IAEV,QAAQ;AAAA,IACR,SAASE,IAAc,IAAIxB,EAAK;AAAA,IAChC,SAASwB,IAAc,IAAI;AAAA,IAC3B,cAAc;AAAA;AAAA;AAAA,EAGpB,CAAK,IAEDF,EAAM,SAAS;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,UAAU;AAAA;AAAA;AAAA;AAAA,IAIV,SAASE,IAAc,IAAIxB,EAAK;AAAA,IAChC,SAASwB,IAAc,IAAI;AAAA,IAC3B,QAAQ;AAAA;AAAA,IAER,cAAc;AAAA,EACpB,CAAK,GAEHF,EAAM,oBAAoB,WAAW;AACnC,WAAO,CAAA;AAAA,EACT,CAAC;AACD,QAAMG,IAASnB,EAAQ,GAAG,UAAS,GAC7BoB,IAAYpB,EAAQ,GAAG,aAAY,GACnCqB,IAAO,OAAO,KAAKF,CAAM;AAE/B,aAAWG,KAAOD,GAAM;AACtB,UAAM/G,IAAW6G,EAAOG,CAAG;AAC3B,IAAIR,MACFxG,EAAS,WAAWwG;AAEtB,QAAIS;AACJ,QAAIjH,EAAS,KAAK;AAChB,UAAIkH,IAAMlB,EAAS,OAAO,GAAG,EAAE,KAAK,MAAMhG,EAAS,EAAE,EAAE,KAAK,SAAS,YAAY;AACjF,MAAAiH,IAAOd,EAAUnG,EAAS,KAAKkH,GAAKlH,EAAS,IAAI,CAACmB,GAAQ2E,GAAMW,GAAaf,CAAO;AACzE;AACT,QAAAwB,IAAMhG,EAAegG,GAAKlH,GAAUmB,CAAM;AAC1C,YAAIgG,IAAYD,EAAI,KAAI,EAAG,QAAO;AAClC,QAAAD,EAAK,QAAQE,EAAU,OACvBF,EAAK,SAASE,EAAU,SAAS/B,EAAK,UAAU,GAChDC,EAAkBrF,EAAS,EAAE,IAAI,EAAE,GAAGoF,EAAK,kBAAiB;AAAA,MAC9D;AAAA,IAKF;AACE,MAAA6B,IAAO9D,EAAU6C,GAAUhG,GAAU0G,CAAK;AAE5C,QAAI1G,EAAS,MAAM;AACjB,YAAMoH,IAAU;AAAA,QACd,cAAc,CAAA;AAAA,QACd,IAAIpH,EAAS,KAAK;AAAA,QAClB,MAAMA,EAAS;AAAA,QACf,MAAM;AAAA,MACd,GACYgD,IAAOG,EAAU6C,GAAUoB,GAASV,CAAK;AAC/C,MAAI1G,EAAS,KAAK,aAAa,aAC7B0G,EAAM,QAAQO,EAAK,KAAK,SAASjE,CAAI,GACrC0D,EAAM,QAAQO,EAAK,IAAIA,CAAI,MAE3BP,EAAM,QAAQO,EAAK,IAAIA,CAAI,GAC3BP,EAAM,QAAQO,EAAK,KAAK,SAASjE,CAAI,IAEvC0D,EAAM,UAAUO,EAAK,IAAIA,EAAK,KAAK,QAAQ,GAC3CP,EAAM,UAAUO,EAAK,KAAK,SAASA,EAAK,KAAK,QAAQ;AAAA,IACvD;AACE,MAAAP,EAAM,QAAQO,EAAK,IAAIA,CAAI;AAAA,EAE/B;AACA,EAAAjC,EAAI,MAAM,UAAU0B,EAAM,UAAS,GAAIA,CAAK;AAC5C,MAAIW,IAAM;AACV,EAAAP,EAAU,QAAQ,SAASnD,GAAU;AACnC,IAAA0D,KACArC,EAAI,MAAM,gBAAgBrB,CAAQ,GAClC+C,EAAM;AAAA,MACJ/C,EAAS;AAAA,MACTA,EAAS;AAAA,MACT;AAAA,QACE,UAAAA;AAAA,QACA,OAAO4C,GAAc5C,EAAS,KAAK;AAAA,QACnC,QAAQyB,EAAK,cAAc1C,EAAe,QAAQiB,EAAS,KAAK,EAAE;AAAA,QAClE,UAAU;AAAA,MAClB;AAAA,MACM,OAAO0D;AAAA,IACb;AAAA,EACE,CAAC,GACDC,EAAYZ,CAAK,GACjB1B,EAAI,MAAM,sBAAsB0B,EAAM,MAAK,CAAE;AAC7C,QAAMa,IAAUvB,EAAS,KAAI;AAC7B,EAAAU,EAAM,MAAK,EAAG,QAAQ,SAASc,GAAG;AAChC,IAAIA,MAAM,UAAUd,EAAM,KAAKc,CAAC,MAAM,UACpCxC,EAAI,KAAK,UAAUwC,IAAI,OAAO,KAAK,UAAUd,EAAM,KAAKc,CAAC,CAAC,CAAC,GAC3D1B,EAAK,OAAO,MAAMyB,EAAQ,KAAK,OAAOC,CAAC,EAAE;AAAA,MACvC;AAAA,MACA,gBAAgBd,EAAM,KAAKc,CAAC,EAAE,IAAId,EAAM,KAAKc,CAAC,EAAE,QAAQ,KAAK,OAAOd,EAAM,KAAKc,CAAC,EAAE,KAAKnC,EAAkBmC,CAAC,IAAInC,EAAkBmC,CAAC,EAAE,IAAI,KAAKd,EAAM,KAAKc,CAAC,EAAE,SAAS,KAAK;AAAA,IAChL,GACM1B,EAAK,OAAO,MAAMyB,EAAQ,KAAK,OAAOC,CAAC,EAAE,KAAK,gBAAgBd,EAAM,KAAKc,CAAC,EAAE,IAAId,EAAM,KAAKc,CAAC,EAAE,QAAQ,CAAC,GACtFf,EAAY,iBAAiB,MAAMc,EAAQ,KAAK,OAAOC,IAAI,WAAW,EAC9E,QAAQ,CAACC,MAAY;AAC5B,YAAMC,IAASD,EAAQ;AACvB,UAAIE,IAAS,GACTC,IAAS;AACb,MAAIF,MACEA,EAAO,kBACTC,IAASD,EAAO,cAAc,QAAO,EAAG,QAE1CE,IAAS,SAASF,EAAO,aAAa,cAAc,GAAG,EAAE,GACrD,OAAO,MAAME,CAAM,MACrBA,IAAS,KAGbH,EAAQ,aAAa,MAAM,IAAIG,IAAS,CAAC,GACzCH,EAAQ,aAAa,MAAME,IAASC,IAAS,CAAC;AAAA,IAChD,CAAC,KAED5C,EAAI,MAAM,aAAawC,IAAI,OAAO,KAAK,UAAUd,EAAM,KAAKc,CAAC,CAAC,CAAC;AAAA,EAEnE,CAAC;AACD,MAAIjE,IAAWgE,EAAQ,QAAO;AAC9B,EAAAb,EAAM,MAAK,EAAG,QAAQ,SAASmB,GAAG;AAChC,IAAIA,MAAM,UAAUnB,EAAM,KAAKmB,CAAC,MAAM,WACpC7C,EAAI,MAAM,UAAU6C,EAAE,IAAI,SAASA,EAAE,IAAI,OAAO,KAAK,UAAUnB,EAAM,KAAKmB,CAAC,CAAC,CAAC,GAC7EpE,EAASuC,GAAUU,EAAM,KAAKmB,CAAC,GAAGnB,EAAM,KAAKmB,CAAC,EAAE,QAAQ;AAAA,EAE5D,CAAC,GACDtE,IAAWgE,EAAQ,QAAO;AAC1B,QAAMjE,IAAY;AAAA,IAChB,IAAIkD,KAAsB;AAAA,IAC1B,OAAOA,KAAsB;AAAA,IAC7B,OAAO;AAAA,IACP,QAAQ;AAAA,EACZ;AACE,SAAAlD,EAAU,QAAQC,EAAS,QAAQ,IAAI6B,EAAK,SAC5C9B,EAAU,SAASC,EAAS,SAAS,IAAI6B,EAAK,SAC9CJ,EAAI,MAAM,gBAAgB1B,GAAWoD,CAAK,GACnCpD;AACT,GAAG,WAAW,GACVwE,KAAwB;AAAA,EAC1B,SAAAxC;AAAA,EACA,MAAAE;AACF,GAGIuC,KAAU;AAAA,EACZ,QAAQC;AAAA,EACR,IAAI,KAAK;AACP,WAAO,IAAIlE,EAAQ,CAAC;AAAA,EACtB;AAAA,EACA,UAAUgE;AAAA,EACV,QAAQG;AAAA,EACR,MAAsB,gBAAAtI,EAAO,CAACuI,MAAQ;AACpC,IAAKA,EAAI,UACPA,EAAI,QAAQ,CAAA,IAEdA,EAAI,MAAM,sBAAsBA,EAAI;AAAA,EACtC,GAAG,MAAM;AACX;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"stateDiagram-AJRCARHV-DSsrJMAA.js","sources":["../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-AJRCARHV.mjs"],"sourcesContent":["import {\n StateDB,\n stateDiagram_default,\n styles_default\n} from \"./chunk-AQP2D5EJ.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-2J33WTMH.mjs\";\nimport \"./chunk-LZXEDZCA.mjs\";\nimport \"./chunk-KSCS5N6A.mjs\";\nimport \"./chunk-BSJP7CBP.mjs\";\nimport \"./chunk-3OPIFGDE.mjs\";\nimport \"./chunk-L5ZTLDWV.mjs\";\nimport \"./chunk-NZK2D7GU.mjs\";\nimport \"./chunk-O5CBEL6O.mjs\";\nimport {\n utils_default\n} from \"./chunk-5ZQYHXKU.mjs\";\nimport {\n common_default,\n configureSvgSize,\n getConfig2 as getConfig,\n getUrl\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/state/stateRenderer.js\nimport { select } from \"d3\";\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/diagrams/state/shapes.js\nimport { line, curveBasis } from \"d3\";\nvar drawStartState = /* @__PURE__ */ __name((g) => g.append(\"circle\").attr(\"class\", \"start-state\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit), \"drawStartState\");\nvar drawDivider = /* @__PURE__ */ __name((g) => g.append(\"line\").style(\"stroke\", \"grey\").style(\"stroke-dasharray\", \"3\").attr(\"x1\", getConfig().state.textHeight).attr(\"class\", \"divider\").attr(\"x2\", getConfig().state.textHeight * 2).attr(\"y1\", 0).attr(\"y2\", 0), \"drawDivider\");\nvar drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {\n const state = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 2 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const classBox = state.node().getBBox();\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", classBox.width + 2 * getConfig().state.padding).attr(\"height\", classBox.height + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return state;\n}, \"drawSimpleState\");\nvar drawDescrState = /* @__PURE__ */ __name((g, stateDef) => {\n const addTspan = /* @__PURE__ */ __name(function(textEl, txt, isFirst2) {\n const tSpan = textEl.append(\"tspan\").attr(\"x\", 2 * getConfig().state.padding).text(txt);\n if (!isFirst2) {\n tSpan.attr(\"dy\", getConfig().state.textHeight);\n }\n }, \"addTspan\");\n const title = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 1.3 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.descriptions[0]);\n const titleBox = title.node().getBBox();\n const titleHeight = titleBox.height;\n const description = g.append(\"text\").attr(\"x\", getConfig().state.padding).attr(\n \"y\",\n titleHeight + getConfig().state.padding * 0.4 + getConfig().state.dividerMargin + getConfig().state.textHeight\n ).attr(\"class\", \"state-description\");\n let isFirst = true;\n let isSecond = true;\n stateDef.descriptions.forEach(function(descr) {\n if (!isFirst) {\n addTspan(description, descr, isSecond);\n isSecond = false;\n }\n isFirst = false;\n });\n const descrLine = g.append(\"line\").attr(\"x1\", getConfig().state.padding).attr(\"y1\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"y2\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"class\", \"descr-divider\");\n const descrBox = description.node().getBBox();\n const width = Math.max(descrBox.width, titleBox.width);\n descrLine.attr(\"x2\", width + 3 * getConfig().state.padding);\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", width + 2 * getConfig().state.padding).attr(\"height\", descrBox.height + titleHeight + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"drawDescrState\");\nvar addTitleAndBox = /* @__PURE__ */ __name((g, stateDef, altBkg) => {\n const pad = getConfig().state.padding;\n const dblPad = 2 * getConfig().state.padding;\n const orgBox = g.node().getBBox();\n const orgWidth = orgBox.width;\n const orgX = orgBox.x;\n const title = g.append(\"text\").attr(\"x\", 0).attr(\"y\", getConfig().state.titleShift).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const titleBox = title.node().getBBox();\n const titleWidth = titleBox.width + dblPad;\n let width = Math.max(titleWidth, orgWidth);\n if (width === orgWidth) {\n width = width + dblPad;\n }\n let startX;\n const graphBox = g.node().getBBox();\n if (stateDef.doc) {\n }\n startX = orgX - pad;\n if (titleWidth > orgWidth) {\n startX = (orgWidth - width) / 2 + pad;\n }\n if (Math.abs(orgX - graphBox.x) < pad && titleWidth > orgWidth) {\n startX = orgX - (titleWidth - orgWidth) / 2;\n }\n const lineY = 1 - getConfig().state.textHeight;\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\"y\", lineY).attr(\"class\", altBkg ? \"alt-composit\" : \"composit\").attr(\"width\", width).attr(\n \"height\",\n graphBox.height + getConfig().state.textHeight + getConfig().state.titleShift + 1\n ).attr(\"rx\", \"0\");\n title.attr(\"x\", startX + pad);\n if (titleWidth <= orgWidth) {\n title.attr(\"x\", orgX + (width - dblPad) / 2 - titleWidth / 2 + pad);\n }\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", getConfig().state.textHeight * 3).attr(\"rx\", getConfig().state.radius);\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", graphBox.height + 3 + 2 * getConfig().state.textHeight).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"addTitleAndBox\");\nvar drawEndState = /* @__PURE__ */ __name((g) => {\n g.append(\"circle\").attr(\"class\", \"end-state-outer\").attr(\"r\", getConfig().state.sizeUnit + getConfig().state.miniPadding).attr(\n \"cx\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n ).attr(\n \"cy\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n );\n return g.append(\"circle\").attr(\"class\", \"end-state-inner\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit + 2).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit + 2);\n}, \"drawEndState\");\nvar drawForkJoinState = /* @__PURE__ */ __name((g, stateDef) => {\n let width = getConfig().state.forkWidth;\n let height = getConfig().state.forkHeight;\n if (stateDef.parentId) {\n let tmp = width;\n width = height;\n height = tmp;\n }\n return g.append(\"rect\").style(\"stroke\", \"black\").style(\"fill\", \"black\").attr(\"width\", width).attr(\"height\", height).attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding);\n}, \"drawForkJoinState\");\nvar _drawLongText = /* @__PURE__ */ __name((_text, x, y, g) => {\n let textHeight = 0;\n const textElem = g.append(\"text\");\n textElem.style(\"text-anchor\", \"start\");\n textElem.attr(\"class\", \"noteText\");\n let text = _text.replace(/\\r\\n/g, \"<br/>\");\n text = text.replace(/\\n/g, \"<br/>\");\n const lines = text.split(common_default.lineBreakRegex);\n let tHeight = 1.25 * getConfig().state.noteMargin;\n for (const line2 of lines) {\n const txt = line2.trim();\n if (txt.length > 0) {\n const span = textElem.append(\"tspan\");\n span.text(txt);\n if (tHeight === 0) {\n const textBounds = span.node().getBBox();\n tHeight += textBounds.height;\n }\n textHeight += tHeight;\n span.attr(\"x\", x + getConfig().state.noteMargin);\n span.attr(\"y\", y + textHeight + 1.25 * getConfig().state.noteMargin);\n }\n }\n return { textWidth: textElem.node().getBBox().width, textHeight };\n}, \"_drawLongText\");\nvar drawNote = /* @__PURE__ */ __name((text, g) => {\n g.attr(\"class\", \"state-note\");\n const note = g.append(\"rect\").attr(\"x\", 0).attr(\"y\", getConfig().state.padding);\n const rectElem = g.append(\"g\");\n const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem);\n note.attr(\"height\", textHeight + 2 * getConfig().state.noteMargin);\n note.attr(\"width\", textWidth + getConfig().state.noteMargin * 2);\n return note;\n}, \"drawNote\");\nvar drawState = /* @__PURE__ */ __name(function(elem, stateDef) {\n const id = stateDef.id;\n const stateInfo = {\n id,\n label: stateDef.id,\n width: 0,\n height: 0\n };\n const g = elem.append(\"g\").attr(\"id\", id).attr(\"class\", \"stateGroup\");\n if (stateDef.type === \"start\") {\n drawStartState(g);\n }\n if (stateDef.type === \"end\") {\n drawEndState(g);\n }\n if (stateDef.type === \"fork\" || stateDef.type === \"join\") {\n drawForkJoinState(g, stateDef);\n }\n if (stateDef.type === \"note\") {\n drawNote(stateDef.note.text, g);\n }\n if (stateDef.type === \"divider\") {\n drawDivider(g);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length === 0) {\n drawSimpleState(g, stateDef);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length > 0) {\n drawDescrState(g, stateDef);\n }\n const stateBox = g.node().getBBox();\n stateInfo.width = stateBox.width + 2 * getConfig().state.padding;\n stateInfo.height = stateBox.height + 2 * getConfig().state.padding;\n return stateInfo;\n}, \"drawState\");\nvar edgeCount = 0;\nvar drawEdge = /* @__PURE__ */ __name(function(elem, path, relation) {\n const getRelationType = /* @__PURE__ */ __name(function(type) {\n switch (type) {\n case StateDB.relationType.AGGREGATION:\n return \"aggregation\";\n case StateDB.relationType.EXTENSION:\n return \"extension\";\n case StateDB.relationType.COMPOSITION:\n return \"composition\";\n case StateDB.relationType.DEPENDENCY:\n return \"dependency\";\n }\n }, \"getRelationType\");\n path.points = path.points.filter((p) => !Number.isNaN(p.y));\n const lineData = path.points;\n const lineFunction = line().x(function(d) {\n return d.x;\n }).y(function(d) {\n return d.y;\n }).curve(curveBasis);\n const svgPath = elem.append(\"path\").attr(\"d\", lineFunction(lineData)).attr(\"id\", \"edge\" + edgeCount).attr(\"class\", \"transition\");\n let url = \"\";\n if (getConfig().state.arrowMarkerAbsolute) {\n url = getUrl(true);\n }\n svgPath.attr(\n \"marker-end\",\n \"url(\" + url + \"#\" + getRelationType(StateDB.relationType.DEPENDENCY) + \"End)\"\n );\n if (relation.title !== void 0) {\n const label = elem.append(\"g\").attr(\"class\", \"stateLabel\");\n const { x, y } = utils_default.calcLabelPosition(path.points);\n const rows = common_default.getRows(relation.title);\n let titleHeight = 0;\n const titleRows = [];\n let maxWidth = 0;\n let minX = 0;\n for (let i = 0; i <= rows.length; i++) {\n const title = label.append(\"text\").attr(\"text-anchor\", \"middle\").text(rows[i]).attr(\"x\", x).attr(\"y\", y + titleHeight);\n const boundsTmp = title.node().getBBox();\n maxWidth = Math.max(maxWidth, boundsTmp.width);\n minX = Math.min(minX, boundsTmp.x);\n log.info(boundsTmp.x, x, y + titleHeight);\n if (titleHeight === 0) {\n const titleBox = title.node().getBBox();\n titleHeight = titleBox.height;\n log.info(\"Title height\", titleHeight, y);\n }\n titleRows.push(title);\n }\n let boxHeight = titleHeight * rows.length;\n if (rows.length > 1) {\n const heightAdj = (rows.length - 1) * titleHeight * 0.5;\n titleRows.forEach((title, i) => title.attr(\"y\", y + i * titleHeight - heightAdj));\n boxHeight = titleHeight * rows.length;\n }\n const bounds = label.node().getBBox();\n label.insert(\"rect\", \":first-child\").attr(\"class\", \"box\").attr(\"x\", x - maxWidth / 2 - getConfig().state.padding / 2).attr(\"y\", y - boxHeight / 2 - getConfig().state.padding / 2 - 3.5).attr(\"width\", maxWidth + getConfig().state.padding).attr(\"height\", boxHeight + getConfig().state.padding);\n log.info(bounds);\n }\n edgeCount++;\n}, \"drawEdge\");\n\n// src/diagrams/state/stateRenderer.js\nvar conf;\nvar transformationLog = {};\nvar setConf = /* @__PURE__ */ __name(function() {\n}, \"setConf\");\nvar insertMarkers = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"dependencyEnd\").attr(\"refX\", 19).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 19,7 L9,13 L14,7 L9,1 Z\");\n}, \"insertMarkers\");\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n conf = getConfig().state;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n log.debug(\"Rendering diagram \" + text);\n const diagram2 = root.select(`[id='${id}']`);\n insertMarkers(diagram2);\n const rootDoc = diagObj.db.getRootDoc();\n const rootG = diagram2.append(\"g\").attr(\"id\", id + \"-root\");\n renderDoc(rootDoc, rootG, void 0, false, root, doc, diagObj);\n const padding = conf.padding;\n const bounds = diagram2.node().getBBox();\n const width = bounds.width + padding * 2;\n const height = bounds.height + padding * 2;\n const svgWidth = width * 1.75;\n configureSvgSize(diagram2, height, svgWidth, conf.useMaxWidth);\n diagram2.attr(\n \"viewBox\",\n `${bounds.x - conf.padding} ${bounds.y - conf.padding} ` + width + \" \" + height\n );\n}, \"draw\");\nvar getLabelWidth = /* @__PURE__ */ __name((text) => {\n return text ? text.length * conf.fontSizeFactor : 1;\n}, \"getLabelWidth\");\nvar renderDoc = /* @__PURE__ */ __name((doc, diagram2, parentId, altBkg, root, domDocument, diagObj) => {\n const graph = new graphlib.Graph({\n compound: true,\n multigraph: true\n });\n let i;\n let edgeFreeDoc = true;\n for (i = 0; i < doc.length; i++) {\n if (doc[i].stmt === \"relation\") {\n edgeFreeDoc = false;\n break;\n }\n }\n if (parentId) {\n graph.setGraph({\n rankdir: \"LR\",\n multigraph: true,\n compound: true,\n // acyclicer: 'greedy',\n ranker: \"tight-tree\",\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n isMultiGraph: true\n // ranksep: 5,\n // nodesep: 1\n });\n } else {\n graph.setGraph({\n rankdir: \"TB\",\n multigraph: true,\n compound: true,\n // isCompound: true,\n // acyclicer: 'greedy',\n // ranker: 'longest-path'\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n ranker: \"tight-tree\",\n // ranker: 'network-simplex'\n isMultiGraph: true\n });\n }\n graph.setDefaultEdgeLabel(function() {\n return {};\n });\n const states = diagObj.db.getStates();\n const relations = diagObj.db.getRelations();\n const keys = Object.keys(states);\n let first = true;\n for (const key of keys) {\n const stateDef = states[key];\n if (parentId) {\n stateDef.parentId = parentId;\n }\n let node;\n if (stateDef.doc) {\n let sub = diagram2.append(\"g\").attr(\"id\", stateDef.id).attr(\"class\", \"stateGroup\");\n node = renderDoc(stateDef.doc, sub, stateDef.id, !altBkg, root, domDocument, diagObj);\n if (first) {\n sub = addTitleAndBox(sub, stateDef, altBkg);\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height + conf.padding / 2;\n transformationLog[stateDef.id] = { y: conf.compositTitleSize };\n } else {\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height;\n }\n } else {\n node = drawState(diagram2, stateDef, graph);\n }\n if (stateDef.note) {\n const noteDef = {\n descriptions: [],\n id: stateDef.id + \"-note\",\n note: stateDef.note,\n type: \"note\"\n };\n const note = drawState(diagram2, noteDef, graph);\n if (stateDef.note.position === \"left of\") {\n graph.setNode(node.id + \"-note\", note);\n graph.setNode(node.id, node);\n } else {\n graph.setNode(node.id, node);\n graph.setNode(node.id + \"-note\", note);\n }\n graph.setParent(node.id, node.id + \"-group\");\n graph.setParent(node.id + \"-note\", node.id + \"-group\");\n } else {\n graph.setNode(node.id, node);\n }\n }\n log.debug(\"Count=\", graph.nodeCount(), graph);\n let cnt = 0;\n relations.forEach(function(relation) {\n cnt++;\n log.debug(\"Setting edge\", relation);\n graph.setEdge(\n relation.id1,\n relation.id2,\n {\n relation,\n width: getLabelWidth(relation.title),\n height: conf.labelHeight * common_default.getRows(relation.title).length,\n labelpos: \"c\"\n },\n \"id\" + cnt\n );\n });\n dagreLayout(graph);\n log.debug(\"Graph after layout\", graph.nodes());\n const svgElem = diagram2.node();\n graph.nodes().forEach(function(v) {\n if (v !== void 0 && graph.node(v) !== void 0) {\n log.warn(\"Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\n \"transform\",\n \"translate(\" + (graph.node(v).x - graph.node(v).width / 2) + \",\" + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + \" )\"\n );\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\"data-x-shift\", graph.node(v).x - graph.node(v).width / 2);\n const dividers = domDocument.querySelectorAll(\"#\" + svgElem.id + \" #\" + v + \" .divider\");\n dividers.forEach((divider) => {\n const parent = divider.parentElement;\n let pWidth = 0;\n let pShift = 0;\n if (parent) {\n if (parent.parentElement) {\n pWidth = parent.parentElement.getBBox().width;\n }\n pShift = parseInt(parent.getAttribute(\"data-x-shift\"), 10);\n if (Number.isNaN(pShift)) {\n pShift = 0;\n }\n }\n divider.setAttribute(\"x1\", 0 - pShift + 8);\n divider.setAttribute(\"x2\", pWidth - pShift - 8);\n });\n } else {\n log.debug(\"No Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n }\n });\n let stateBox = svgElem.getBBox();\n graph.edges().forEach(function(e) {\n if (e !== void 0 && graph.edge(e) !== void 0) {\n log.debug(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n drawEdge(diagram2, graph.edge(e), graph.edge(e).relation);\n }\n });\n stateBox = svgElem.getBBox();\n const stateInfo = {\n id: parentId ? parentId : \"root\",\n label: parentId ? parentId : \"root\",\n width: 0,\n height: 0\n };\n stateInfo.width = stateBox.width + 2 * conf.padding;\n stateInfo.height = stateBox.height + 2 * conf.padding;\n log.debug(\"Doc rendered\", stateInfo, graph);\n return stateInfo;\n}, \"renderDoc\");\nvar stateRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/state/stateDiagram.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(1);\n },\n renderer: stateRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["drawStartState","__name","g","getConfig","drawDivider","drawSimpleState","stateDef","state","classBox","drawDescrState","addTspan","textEl","txt","isFirst2","tSpan","titleBox","titleHeight","description","isFirst","isSecond","descr","descrLine","descrBox","width","addTitleAndBox","altBkg","pad","dblPad","orgBox","orgWidth","orgX","title","titleWidth","startX","graphBox","lineY","drawEndState","drawForkJoinState","height","tmp","_drawLongText","_text","x","y","textHeight","textElem","text","lines","common_default","tHeight","line2","span","textBounds","drawNote","note","rectElem","textWidth","drawState","elem","id","stateInfo","stateBox","edgeCount","drawEdge","path","relation","getRelationType","type","StateDB","p","lineData","lineFunction","line","d","curveBasis","svgPath","url","getUrl","label","utils_default","rows","titleRows","maxWidth","minX","i","boundsTmp","log","boxHeight","heightAdj","bounds","conf","transformationLog","setConf","insertMarkers","draw","_version","diagObj","securityLevel","sandboxElement","select","root","doc","diagram2","rootDoc","rootG","renderDoc","padding","svgWidth","configureSvgSize","getLabelWidth","parentId","domDocument","graph","graphlib.Graph","edgeFreeDoc","states","relations","keys","key","node","sub","boxBounds","noteDef","cnt","dagreLayout","svgElem","v","divider","parent","pWidth","pShift","e","stateRenderer_default","diagram","stateDiagram_default","styles_default","cnf"],"mappings":"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","x_google_ignoreList":[0]}
|