@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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ae as xt, af as _t, U as vt, V as bt, X as St, W as wt, _ as y, $ as lt, al as Lt, a0 as H, aJ as Et, ak as At, a8 as Tt } from "./extractHeadings-CvNjLb_I.js";
|
|
2
2
|
import { o as Mt } from "./ordinal-B6-f3MAq.js";
|
|
3
3
|
function Nt(t) {
|
|
4
4
|
for (var n = t.length / 6 | 0, s = new Array(n), a = 0; a < n; ) s[a] = "#" + t.slice(a * 6, ++a * 6);
|
|
@@ -56,7 +56,7 @@ function kt(t, n) {
|
|
|
56
56
|
function $t(t) {
|
|
57
57
|
return t.targetLinks.length ? t.depth : t.sourceLinks.length ? pt(t.sourceLinks, Pt) - 1 : 0;
|
|
58
58
|
}
|
|
59
|
-
function
|
|
59
|
+
function q(t) {
|
|
60
60
|
return function() {
|
|
61
61
|
return t;
|
|
62
62
|
};
|
|
@@ -105,9 +105,9 @@ function Bt() {
|
|
|
105
105
|
v.update = function(i) {
|
|
106
106
|
return yt(i), i;
|
|
107
107
|
}, v.nodeId = function(i) {
|
|
108
|
-
return arguments.length ? (k = typeof i == "function" ? i :
|
|
108
|
+
return arguments.length ? (k = typeof i == "function" ? i : q(i), v) : k;
|
|
109
109
|
}, v.nodeAlign = function(i) {
|
|
110
|
-
return arguments.length ? (o = typeof i == "function" ? i :
|
|
110
|
+
return arguments.length ? (o = typeof i == "function" ? i : q(i), v) : o;
|
|
111
111
|
}, v.nodeSort = function(i) {
|
|
112
112
|
return arguments.length ? (l = i, v) : l;
|
|
113
113
|
}, v.nodeWidth = function(i) {
|
|
@@ -115,9 +115,9 @@ function Bt() {
|
|
|
115
115
|
}, v.nodePadding = function(i) {
|
|
116
116
|
return arguments.length ? (x = g = +i, v) : x;
|
|
117
117
|
}, v.nodes = function(i) {
|
|
118
|
-
return arguments.length ? (m = typeof i == "function" ? i :
|
|
118
|
+
return arguments.length ? (m = typeof i == "function" ? i : q(i), v) : m;
|
|
119
119
|
}, v.links = function(i) {
|
|
120
|
-
return arguments.length ? (_ = typeof i == "function" ? i :
|
|
120
|
+
return arguments.length ? (_ = typeof i == "function" ? i : q(i), v) : _;
|
|
121
121
|
}, v.linkSort = function(i) {
|
|
122
122
|
return arguments.length ? (h = i, v) : h;
|
|
123
123
|
}, v.size = function(i) {
|
|
@@ -210,13 +210,13 @@ function Bt() {
|
|
|
210
210
|
const p = i[e];
|
|
211
211
|
for (const b of p) {
|
|
212
212
|
let L = 0, B = 0;
|
|
213
|
-
for (const { source:
|
|
214
|
-
let
|
|
215
|
-
L += P(
|
|
213
|
+
for (const { source: X, value: et } of b.targetLinks) {
|
|
214
|
+
let Y = et * (b.layer - X.layer);
|
|
215
|
+
L += P(X, b) * Y, B += Y;
|
|
216
216
|
}
|
|
217
217
|
if (!(B > 0)) continue;
|
|
218
|
-
let
|
|
219
|
-
b.y0 +=
|
|
218
|
+
let G = (L / B - b.y0) * f;
|
|
219
|
+
b.y0 += G, b.y1 += G, z(b);
|
|
220
220
|
}
|
|
221
221
|
l === void 0 && p.sort(Q), j(p, c);
|
|
222
222
|
}
|
|
@@ -226,13 +226,13 @@ function Bt() {
|
|
|
226
226
|
const p = i[r];
|
|
227
227
|
for (const b of p) {
|
|
228
228
|
let L = 0, B = 0;
|
|
229
|
-
for (const { target:
|
|
230
|
-
let
|
|
231
|
-
L += E(b,
|
|
229
|
+
for (const { target: X, value: et } of b.sourceLinks) {
|
|
230
|
+
let Y = et * (X.layer - b.layer);
|
|
231
|
+
L += E(b, X) * Y, B += Y;
|
|
232
232
|
}
|
|
233
233
|
if (!(B > 0)) continue;
|
|
234
|
-
let
|
|
235
|
-
b.y0 +=
|
|
234
|
+
let G = (L / B - b.y0) * f;
|
|
235
|
+
b.y0 += G, b.y1 += G, z(b);
|
|
236
236
|
}
|
|
237
237
|
l === void 0 && p.sort(Q), j(p, c);
|
|
238
238
|
}
|
|
@@ -355,14 +355,14 @@ function Rt(t) {
|
|
|
355
355
|
return t[1];
|
|
356
356
|
}
|
|
357
357
|
var Wt = Array.prototype.slice;
|
|
358
|
-
function
|
|
358
|
+
function Ut(t) {
|
|
359
359
|
return t.source;
|
|
360
360
|
}
|
|
361
|
-
function
|
|
361
|
+
function Gt(t) {
|
|
362
362
|
return t.target;
|
|
363
363
|
}
|
|
364
|
-
function
|
|
365
|
-
var n =
|
|
364
|
+
function Xt(t) {
|
|
365
|
+
var n = Ut, s = Gt, a = Vt, u = Rt, x = null;
|
|
366
366
|
function g() {
|
|
367
367
|
var k, o = Wt.call(arguments), l = n.apply(this, o), h = s.apply(this, o);
|
|
368
368
|
if (x || (x = k = mt()), t(x, +a.apply(this, (o[0] = l, o)), +u.apply(this, o), +a.apply(this, (o[0] = h, o)), +u.apply(this, o)), k) return x = null, k + "" || null;
|
|
@@ -379,20 +379,20 @@ function Yt(t) {
|
|
|
379
379
|
return arguments.length ? (x = k ?? null, g) : x;
|
|
380
380
|
}, g;
|
|
381
381
|
}
|
|
382
|
-
function
|
|
382
|
+
function Yt(t, n, s, a, u) {
|
|
383
383
|
t.moveTo(n, s), t.bezierCurveTo(n = (n + a) / 2, s, n, u, a, u);
|
|
384
384
|
}
|
|
385
385
|
function Ht() {
|
|
386
|
-
return Yt
|
|
386
|
+
return Xt(Yt);
|
|
387
387
|
}
|
|
388
|
-
function
|
|
388
|
+
function qt(t) {
|
|
389
389
|
return [t.source.x1, t.y0];
|
|
390
390
|
}
|
|
391
391
|
function Qt(t) {
|
|
392
392
|
return [t.target.x0, t.y1];
|
|
393
393
|
}
|
|
394
394
|
function Kt() {
|
|
395
|
-
return Ht().source(
|
|
395
|
+
return Ht().source(qt).target(Qt);
|
|
396
396
|
}
|
|
397
397
|
var at = (function() {
|
|
398
398
|
var t = /* @__PURE__ */ y(function(k, o, l, h) {
|
|
@@ -711,11 +711,11 @@ var K = at, J = [], tt = [], Z = /* @__PURE__ */ new Map(), Zt = /* @__PURE__ */
|
|
|
711
711
|
}
|
|
712
712
|
}, y(W, "SankeyLink"), W), te = /* @__PURE__ */ y((t, n, s) => {
|
|
713
713
|
J.push(new Jt(t, n, s));
|
|
714
|
-
}, "addLink"),
|
|
714
|
+
}, "addLink"), U, ee = (U = class {
|
|
715
715
|
constructor(n) {
|
|
716
716
|
this.ID = n;
|
|
717
717
|
}
|
|
718
|
-
}, y(
|
|
718
|
+
}, y(U, "SankeyNode"), U), ne = /* @__PURE__ */ y((t) => {
|
|
719
719
|
t = Tt.sanitizeText(t, lt());
|
|
720
720
|
let n = Z.get(t);
|
|
721
721
|
return n === void 0 && (n = new ee(t), Z.set(t, n), tt.push(n)), n;
|
|
@@ -845,4 +845,4 @@ var ke = {
|
|
|
845
845
|
export {
|
|
846
846
|
ke as diagram
|
|
847
847
|
};
|
|
848
|
-
//# sourceMappingURL=sankeyDiagram-5OEKKPKP-
|
|
848
|
+
//# sourceMappingURL=sankeyDiagram-5OEKKPKP-D_Y2fiVv.js.map
|
package/dist/{sankeyDiagram-5OEKKPKP-CPzjKU9I.js.map → sankeyDiagram-5OEKKPKP-D_Y2fiVv.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sankeyDiagram-5OEKKPKP-CPzjKU9I.js","sources":["../../../node_modules/.pnpm/d3-scale-chromatic@3.1.0/node_modules/d3-scale-chromatic/src/colors.js","../../../node_modules/.pnpm/d3-scale-chromatic@3.1.0/node_modules/d3-scale-chromatic/src/categorical/Tableau10.js","../../../node_modules/.pnpm/d3-array@2.12.1/node_modules/d3-array/src/max.js","../../../node_modules/.pnpm/d3-array@2.12.1/node_modules/d3-array/src/min.js","../../../node_modules/.pnpm/d3-array@2.12.1/node_modules/d3-array/src/sum.js","../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/align.js","../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/constant.js","../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/sankey.js","../../../node_modules/.pnpm/d3-path@1.0.9/node_modules/d3-path/src/path.js","../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/constant.js","../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/point.js","../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/array.js","../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/link/index.js","../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/sankeyLinkHorizontal.js","../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-5OEKKPKP.mjs"],"sourcesContent":["export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n","import colors from \"../colors.js\";\n\nexport default colors(\"4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab\");\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","export default function sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n","import {min} from \"d3-array\";\n\nfunction targetDepth(d) {\n return d.target.depth;\n}\n\nexport function left(node) {\n return node.depth;\n}\n\nexport function right(node, n) {\n return n - 1 - node.height;\n}\n\nexport function justify(node, n) {\n return node.sourceLinks.length ? node.depth : n - 1;\n}\n\nexport function center(node) {\n return node.targetLinks.length ? node.depth\n : node.sourceLinks.length ? min(node.sourceLinks, targetDepth) - 1\n : 0;\n}\n","export default function constant(x) {\n return function() {\n return x;\n };\n}\n","import {max, min, sum} from \"d3-array\";\nimport {justify} from \"./align.js\";\nimport constant from \"./constant.js\";\n\nfunction ascendingSourceBreadth(a, b) {\n return ascendingBreadth(a.source, b.source) || a.index - b.index;\n}\n\nfunction ascendingTargetBreadth(a, b) {\n return ascendingBreadth(a.target, b.target) || a.index - b.index;\n}\n\nfunction ascendingBreadth(a, b) {\n return a.y0 - b.y0;\n}\n\nfunction value(d) {\n return d.value;\n}\n\nfunction defaultId(d) {\n return d.index;\n}\n\nfunction defaultNodes(graph) {\n return graph.nodes;\n}\n\nfunction defaultLinks(graph) {\n return graph.links;\n}\n\nfunction find(nodeById, id) {\n const node = nodeById.get(id);\n if (!node) throw new Error(\"missing: \" + id);\n return node;\n}\n\nfunction computeLinkBreadths({nodes}) {\n for (const node of nodes) {\n let y0 = node.y0;\n let y1 = y0;\n for (const link of node.sourceLinks) {\n link.y0 = y0 + link.width / 2;\n y0 += link.width;\n }\n for (const link of node.targetLinks) {\n link.y1 = y1 + link.width / 2;\n y1 += link.width;\n }\n }\n}\n\nexport default function Sankey() {\n let x0 = 0, y0 = 0, x1 = 1, y1 = 1; // extent\n let dx = 24; // nodeWidth\n let dy = 8, py; // nodePadding\n let id = defaultId;\n let align = justify;\n let sort;\n let linkSort;\n let nodes = defaultNodes;\n let links = defaultLinks;\n let iterations = 6;\n\n function sankey() {\n const graph = {nodes: nodes.apply(null, arguments), links: links.apply(null, arguments)};\n computeNodeLinks(graph);\n computeNodeValues(graph);\n computeNodeDepths(graph);\n computeNodeHeights(graph);\n computeNodeBreadths(graph);\n computeLinkBreadths(graph);\n return graph;\n }\n\n sankey.update = function(graph) {\n computeLinkBreadths(graph);\n return graph;\n };\n\n sankey.nodeId = function(_) {\n return arguments.length ? (id = typeof _ === \"function\" ? _ : constant(_), sankey) : id;\n };\n\n sankey.nodeAlign = function(_) {\n return arguments.length ? (align = typeof _ === \"function\" ? _ : constant(_), sankey) : align;\n };\n\n sankey.nodeSort = function(_) {\n return arguments.length ? (sort = _, sankey) : sort;\n };\n\n sankey.nodeWidth = function(_) {\n return arguments.length ? (dx = +_, sankey) : dx;\n };\n\n sankey.nodePadding = function(_) {\n return arguments.length ? (dy = py = +_, sankey) : dy;\n };\n\n sankey.nodes = function(_) {\n return arguments.length ? (nodes = typeof _ === \"function\" ? _ : constant(_), sankey) : nodes;\n };\n\n sankey.links = function(_) {\n return arguments.length ? (links = typeof _ === \"function\" ? _ : constant(_), sankey) : links;\n };\n\n sankey.linkSort = function(_) {\n return arguments.length ? (linkSort = _, sankey) : linkSort;\n };\n\n sankey.size = function(_) {\n return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankey) : [x1 - x0, y1 - y0];\n };\n\n sankey.extent = function(_) {\n return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankey) : [[x0, y0], [x1, y1]];\n };\n\n sankey.iterations = function(_) {\n return arguments.length ? (iterations = +_, sankey) : iterations;\n };\n\n function computeNodeLinks({nodes, links}) {\n for (const [i, node] of nodes.entries()) {\n node.index = i;\n node.sourceLinks = [];\n node.targetLinks = [];\n }\n const nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d]));\n for (const [i, link] of links.entries()) {\n link.index = i;\n let {source, target} = link;\n if (typeof source !== \"object\") source = link.source = find(nodeById, source);\n if (typeof target !== \"object\") target = link.target = find(nodeById, target);\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n }\n if (linkSort != null) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(linkSort);\n targetLinks.sort(linkSort);\n }\n }\n }\n\n function computeNodeValues({nodes}) {\n for (const node of nodes) {\n node.value = node.fixedValue === undefined\n ? Math.max(sum(node.sourceLinks, value), sum(node.targetLinks, value))\n : node.fixedValue;\n }\n }\n\n function computeNodeDepths({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.depth = x;\n for (const {target} of node.sourceLinks) {\n next.add(target);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeHeights({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.height = x;\n for (const {source} of node.targetLinks) {\n next.add(source);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeLayers({nodes}) {\n const x = max(nodes, d => d.depth) + 1;\n const kx = (x1 - x0 - dx) / (x - 1);\n const columns = new Array(x);\n for (const node of nodes) {\n const i = Math.max(0, Math.min(x - 1, Math.floor(align.call(null, node, x))));\n node.layer = i;\n node.x0 = x0 + i * kx;\n node.x1 = node.x0 + dx;\n if (columns[i]) columns[i].push(node);\n else columns[i] = [node];\n }\n if (sort) for (const column of columns) {\n column.sort(sort);\n }\n return columns;\n }\n\n function initializeNodeBreadths(columns) {\n const ky = min(columns, c => (y1 - y0 - (c.length - 1) * py) / sum(c, value));\n for (const nodes of columns) {\n let y = y0;\n for (const node of nodes) {\n node.y0 = y;\n node.y1 = y + node.value * ky;\n y = node.y1 + py;\n for (const link of node.sourceLinks) {\n link.width = link.value * ky;\n }\n }\n y = (y1 - y + py) / (nodes.length + 1);\n for (let i = 0; i < nodes.length; ++i) {\n const node = nodes[i];\n node.y0 += y * (i + 1);\n node.y1 += y * (i + 1);\n }\n reorderLinks(nodes);\n }\n }\n\n function computeNodeBreadths(graph) {\n const columns = computeNodeLayers(graph);\n py = Math.min(dy, (y1 - y0) / (max(columns, c => c.length) - 1));\n initializeNodeBreadths(columns);\n for (let i = 0; i < iterations; ++i) {\n const alpha = Math.pow(0.99, i);\n const beta = Math.max(1 - alpha, (i + 1) / iterations);\n relaxRightToLeft(columns, alpha, beta);\n relaxLeftToRight(columns, alpha, beta);\n }\n }\n\n // Reposition each node based on its incoming (target) links.\n function relaxLeftToRight(columns, alpha, beta) {\n for (let i = 1, n = columns.length; i < n; ++i) {\n const column = columns[i];\n for (const target of column) {\n let y = 0;\n let w = 0;\n for (const {source, value} of target.targetLinks) {\n let v = value * (target.layer - source.layer);\n y += targetTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - target.y0) * alpha;\n target.y0 += dy;\n target.y1 += dy;\n reorderNodeLinks(target);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n // Reposition each node based on its outgoing (source) links.\n function relaxRightToLeft(columns, alpha, beta) {\n for (let n = columns.length, i = n - 2; i >= 0; --i) {\n const column = columns[i];\n for (const source of column) {\n let y = 0;\n let w = 0;\n for (const {target, value} of source.sourceLinks) {\n let v = value * (target.layer - source.layer);\n y += sourceTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - source.y0) * alpha;\n source.y0 += dy;\n source.y1 += dy;\n reorderNodeLinks(source);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n function resolveCollisions(nodes, alpha) {\n const i = nodes.length >> 1;\n const subject = nodes[i];\n resolveCollisionsBottomToTop(nodes, subject.y0 - py, i - 1, alpha);\n resolveCollisionsTopToBottom(nodes, subject.y1 + py, i + 1, alpha);\n resolveCollisionsBottomToTop(nodes, y1, nodes.length - 1, alpha);\n resolveCollisionsTopToBottom(nodes, y0, 0, alpha);\n }\n\n // Push any overlapping nodes down.\n function resolveCollisionsTopToBottom(nodes, y, i, alpha) {\n for (; i < nodes.length; ++i) {\n const node = nodes[i];\n const dy = (y - node.y0) * alpha;\n if (dy > 1e-6) node.y0 += dy, node.y1 += dy;\n y = node.y1 + py;\n }\n }\n\n // Push any overlapping nodes up.\n function resolveCollisionsBottomToTop(nodes, y, i, alpha) {\n for (; i >= 0; --i) {\n const node = nodes[i];\n const dy = (node.y1 - y) * alpha;\n if (dy > 1e-6) node.y0 -= dy, node.y1 -= dy;\n y = node.y0 - py;\n }\n }\n\n function reorderNodeLinks({sourceLinks, targetLinks}) {\n if (linkSort === undefined) {\n for (const {source: {sourceLinks}} of targetLinks) {\n sourceLinks.sort(ascendingTargetBreadth);\n }\n for (const {target: {targetLinks}} of sourceLinks) {\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n function reorderLinks(nodes) {\n if (linkSort === undefined) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(ascendingTargetBreadth);\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n // Returns the target.y0 that would produce an ideal link from source to target.\n function targetTop(source, target) {\n let y = source.y0 - (source.sourceLinks.length - 1) * py / 2;\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y += width + py;\n }\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y -= width;\n }\n return y;\n }\n\n // Returns the source.y0 that would produce an ideal link from source to target.\n function sourceTop(source, target) {\n let y = target.y0 - (target.targetLinks.length - 1) * py / 2;\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y += width + py;\n }\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y -= width;\n }\n return y;\n }\n\n return sankey;\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","export var slice = Array.prototype.slice;\n","import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {linkHorizontal} from \"d3-shape\";\n\nfunction horizontalSource(d) {\n return [d.source.x1, d.y0];\n}\n\nfunction horizontalTarget(d) {\n return [d.target.x0, d.y1];\n}\n\nexport default function() {\n return linkHorizontal()\n .source(horizontalSource)\n .target(horizontalTarget);\n}\n","import {\n clear,\n common_default,\n defaultConfig2 as defaultConfig,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/sankey/parser/sankey.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 9], $V1 = [1, 10], $V2 = [1, 5, 10, 12];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"SANKEY\": 4, \"NEWLINE\": 5, \"csv\": 6, \"opt_eof\": 7, \"record\": 8, \"csv_tail\": 9, \"EOF\": 10, \"field[source]\": 11, \"COMMA\": 12, \"field[target]\": 13, \"field[value]\": 14, \"field\": 15, \"escaped\": 16, \"non_escaped\": 17, \"DQUOTE\": 18, \"ESCAPED_TEXT\": 19, \"NON_ESCAPED_TEXT\": 20, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"SANKEY\", 5: \"NEWLINE\", 10: \"EOF\", 11: \"field[source]\", 12: \"COMMA\", 13: \"field[target]\", 14: \"field[value]\", 18: \"DQUOTE\", 19: \"ESCAPED_TEXT\", 20: \"NON_ESCAPED_TEXT\" },\n productions_: [0, [3, 4], [6, 2], [9, 2], [9, 0], [7, 1], [7, 0], [8, 5], [15, 1], [15, 1], [16, 3], [17, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 7:\n const source = yy.findOrCreateNode($$[$0 - 4].trim().replaceAll('\"\"', '\"'));\n const target = yy.findOrCreateNode($$[$0 - 2].trim().replaceAll('\"\"', '\"'));\n const value = parseFloat($$[$0].trim());\n yy.addLink(source, target, value);\n break;\n case 8:\n case 9:\n case 11:\n this.$ = $$[$0];\n break;\n case 10:\n this.$ = $$[$0 - 1];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, { 5: [1, 3] }, { 6: 4, 8: 5, 15: 6, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 1: [2, 6], 7: 11, 10: [1, 12] }, o($V1, [2, 4], { 9: 13, 5: [1, 14] }), { 12: [1, 15] }, o($V2, [2, 8]), o($V2, [2, 9]), { 19: [1, 16] }, o($V2, [2, 11]), { 1: [2, 1] }, { 1: [2, 5] }, o($V1, [2, 2]), { 6: 17, 8: 5, 15: 6, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 15: 18, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 18: [1, 19] }, o($V1, [2, 3]), { 12: [1, 20] }, o($V2, [2, 10]), { 15: 21, 16: 7, 17: 8, 18: $V0, 20: $V1 }, o([1, 5, 10], [2, 7])],\n defaultActions: { 11: [2, 1], 12: [2, 5] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n this.pushState(\"csv\");\n return 4;\n break;\n case 1:\n this.pushState(\"csv\");\n return 4;\n break;\n case 2:\n return 10;\n break;\n case 3:\n return 5;\n break;\n case 4:\n return 12;\n break;\n case 5:\n this.pushState(\"escaped_text\");\n return 18;\n break;\n case 6:\n return 20;\n break;\n case 7:\n this.popState(\"escaped_text\");\n return 18;\n break;\n case 8:\n return 19;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:sankey-beta\\b)/i, /^(?:sankey\\b)/i, /^(?:$)/i, /^(?:((\\u000D\\u000A)|(\\u000A)))/i, /^(?:(\\u002C))/i, /^(?:(\\u0022))/i, /^(?:([\\u0020-\\u0021\\u0023-\\u002B\\u002D-\\u007E])*)/i, /^(?:(\\u0022)(?!(\\u0022)))/i, /^(?:(([\\u0020-\\u0021\\u0023-\\u002B\\u002D-\\u007E])|(\\u002C)|(\\u000D)|(\\u000A)|(\\u0022)(\\u0022))*)/i],\n conditions: { \"csv\": { \"rules\": [2, 3, 4, 5, 6, 7, 8], \"inclusive\": false }, \"escaped_text\": { \"rules\": [7, 8], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 8], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar sankey_default = parser;\n\n// src/diagrams/sankey/sankeyDB.ts\nvar links = [];\nvar nodes = [];\nvar nodesMap = /* @__PURE__ */ new Map();\nvar clear2 = /* @__PURE__ */ __name(() => {\n links = [];\n nodes = [];\n nodesMap = /* @__PURE__ */ new Map();\n clear();\n}, \"clear\");\nvar SankeyLink = class {\n constructor(source, target, value = 0) {\n this.source = source;\n this.target = target;\n this.value = value;\n }\n static {\n __name(this, \"SankeyLink\");\n }\n};\nvar addLink = /* @__PURE__ */ __name((source, target, value) => {\n links.push(new SankeyLink(source, target, value));\n}, \"addLink\");\nvar SankeyNode = class {\n constructor(ID) {\n this.ID = ID;\n }\n static {\n __name(this, \"SankeyNode\");\n }\n};\nvar findOrCreateNode = /* @__PURE__ */ __name((ID) => {\n ID = common_default.sanitizeText(ID, getConfig());\n let node = nodesMap.get(ID);\n if (node === void 0) {\n node = new SankeyNode(ID);\n nodesMap.set(ID, node);\n nodes.push(node);\n }\n return node;\n}, \"findOrCreateNode\");\nvar getNodes = /* @__PURE__ */ __name(() => nodes, \"getNodes\");\nvar getLinks = /* @__PURE__ */ __name(() => links, \"getLinks\");\nvar getGraph = /* @__PURE__ */ __name(() => ({\n nodes: nodes.map((node) => ({ id: node.ID })),\n links: links.map((link) => ({\n source: link.source.ID,\n target: link.target.ID,\n value: link.value\n }))\n}), \"getGraph\");\nvar sankeyDB_default = {\n nodesMap,\n getConfig: /* @__PURE__ */ __name(() => getConfig().sankey, \"getConfig\"),\n getNodes,\n getLinks,\n getGraph,\n addLink,\n findOrCreateNode,\n getAccTitle,\n setAccTitle,\n getAccDescription,\n setAccDescription,\n getDiagramTitle,\n setDiagramTitle,\n clear: clear2\n};\n\n// src/diagrams/sankey/sankeyRenderer.ts\nimport {\n select as d3select,\n scaleOrdinal as d3scaleOrdinal,\n schemeTableau10 as d3schemeTableau10\n} from \"d3\";\nimport {\n sankey as d3Sankey,\n sankeyLinkHorizontal as d3SankeyLinkHorizontal,\n sankeyLeft as d3SankeyLeft,\n sankeyRight as d3SankeyRight,\n sankeyCenter as d3SankeyCenter,\n sankeyJustify as d3SankeyJustify\n} from \"d3-sankey\";\n\n// src/rendering-util/uid.ts\nvar Uid = class _Uid {\n static {\n __name(this, \"Uid\");\n }\n static {\n this.count = 0;\n }\n static next(name) {\n return new _Uid(name + ++_Uid.count);\n }\n constructor(id) {\n this.id = id;\n this.href = `#${id}`;\n }\n toString() {\n return \"url(\" + this.href + \")\";\n }\n};\n\n// src/diagrams/sankey/sankeyRenderer.ts\nvar alignmentsMap = {\n left: d3SankeyLeft,\n right: d3SankeyRight,\n center: d3SankeyCenter,\n justify: d3SankeyJustify\n};\nvar findCentralNodeLayer = /* @__PURE__ */ __name((nodes2) => {\n let maxValue = 0;\n let centralLayer = 0;\n for (const node of nodes2) {\n const value = node.value ?? 0;\n if (value > maxValue) {\n maxValue = value;\n centralLayer = node.layer ?? 0;\n }\n }\n return centralLayer;\n}, \"findCentralNodeLayer\");\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n const { securityLevel, sankey: conf } = getConfig();\n const defaultSankeyConfig = defaultConfig.sankey;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = d3select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? d3select(sandboxElement.nodes()[0].contentDocument.body) : d3select(\"body\");\n const svg = securityLevel === \"sandbox\" ? root.select(`[id=\"${id}\"]`) : d3select(`[id=\"${id}\"]`);\n const width = conf?.width ?? defaultSankeyConfig.width;\n const height = conf?.height ?? defaultSankeyConfig.width;\n const useMaxWidth = conf?.useMaxWidth ?? defaultSankeyConfig.useMaxWidth;\n const nodeAlignment = conf?.nodeAlignment ?? defaultSankeyConfig.nodeAlignment;\n const prefix = conf?.prefix ?? defaultSankeyConfig.prefix;\n const suffix = conf?.suffix ?? defaultSankeyConfig.suffix;\n const showValues = conf?.showValues ?? defaultSankeyConfig.showValues;\n const nodeWidth = conf?.nodeWidth ?? defaultSankeyConfig.nodeWidth ?? 10;\n const nodePadding = conf?.nodePadding ?? defaultSankeyConfig.nodePadding ?? 12;\n const labelStyle = conf?.labelStyle ?? defaultSankeyConfig.labelStyle ?? \"legacy\";\n const nodeColors = conf?.nodeColors ?? {};\n const graph = diagObj.db.getGraph();\n const nodeAlign = alignmentsMap[nodeAlignment];\n const sankey = d3Sankey().nodeId((d) => d.id).nodeWidth(nodeWidth).nodePadding(nodePadding + (showValues ? 15 : 0)).nodeAlign(nodeAlign).extent([\n [0, 0],\n [width, height]\n ]);\n sankey(graph);\n const centralNodeLayer = findCentralNodeLayer(graph.nodes);\n const colorScheme = d3scaleOrdinal(d3schemeTableau10);\n const getNodeColor = /* @__PURE__ */ __name((nodeId) => {\n return nodeColors[nodeId] ?? colorScheme(nodeId);\n }, \"getNodeColor\");\n svg.append(\"g\").attr(\"class\", \"nodes\").selectAll(\".node\").data(graph.nodes).join(\"g\").attr(\"class\", \"node\").attr(\"id\", (d) => (d.uid = Uid.next(\"node-\")).id).attr(\"transform\", function(d) {\n return \"translate(\" + d.x0 + \",\" + d.y0 + \")\";\n }).attr(\"x\", (d) => d.x0).attr(\"y\", (d) => d.y0).append(\"rect\").attr(\"height\", (d) => {\n return d.y1 - d.y0;\n }).attr(\"width\", (d) => d.x1 - d.x0).attr(\"fill\", (d) => getNodeColor(d.id));\n const getText = /* @__PURE__ */ __name(({ id: id2, value }) => {\n if (!showValues) {\n return id2;\n }\n return `${id2}\n${prefix}${Math.round(value * 100) / 100}${suffix}`;\n }, \"getText\");\n const getLabelPosition = /* @__PURE__ */ __name((d) => {\n if (labelStyle === \"outlined\") {\n const nodeLayer = d.layer ?? 0;\n if (nodeLayer < centralNodeLayer) {\n return { x: d.x0 - 6, anchor: \"end\" };\n }\n return { x: d.x1 + 6, anchor: \"start\" };\n }\n if (d.x0 < width / 2) {\n return { x: d.x1 + 6, anchor: \"start\" };\n }\n return { x: d.x0 - 6, anchor: \"end\" };\n }, \"getLabelPosition\");\n const labelsGroup = svg.append(\"g\").attr(\"class\", \"node-labels\").attr(\"font-size\", 14);\n const appendLabel = /* @__PURE__ */ __name((className) => labelsGroup.selectAll(className ? `.${className}` : \"text\").data(graph.nodes).join(\"text\").attr(\"class\", className ?? null).attr(\"x\", (d) => getLabelPosition(d).x).attr(\"y\", (d) => (d.y1 + d.y0) / 2).attr(\"dy\", `${showValues ? \"0\" : \"0.35\"}em`).attr(\"text-anchor\", (d) => getLabelPosition(d).anchor).text(getText), \"appendLabel\");\n if (labelStyle === \"outlined\") {\n appendLabel(\"sankey-label-bg\");\n appendLabel(\"sankey-label-fg\");\n } else {\n appendLabel();\n }\n const link = svg.append(\"g\").attr(\"class\", \"links\").attr(\"fill\", \"none\").attr(\"stroke-opacity\", 0.5).selectAll(\".link\").data(graph.links).join(\"g\").attr(\"class\", \"link\").style(\"mix-blend-mode\", \"multiply\");\n const linkColor = conf?.linkColor ?? \"gradient\";\n if (linkColor === \"gradient\") {\n const gradient = link.append(\"linearGradient\").attr(\"id\", (d) => (d.uid = Uid.next(\"linearGradient-\")).id).attr(\"gradientUnits\", \"userSpaceOnUse\").attr(\"x1\", (d) => d.source.x1).attr(\"x2\", (d) => d.target.x0);\n gradient.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", (d) => getNodeColor(d.source.id));\n gradient.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", (d) => getNodeColor(d.target.id));\n }\n let coloring;\n switch (linkColor) {\n case \"gradient\":\n coloring = /* @__PURE__ */ __name((d) => d.uid, \"coloring\");\n break;\n case \"source\":\n coloring = /* @__PURE__ */ __name((d) => getNodeColor(d.source.id), \"coloring\");\n break;\n case \"target\":\n coloring = /* @__PURE__ */ __name((d) => getNodeColor(d.target.id), \"coloring\");\n break;\n default:\n coloring = linkColor;\n }\n link.append(\"path\").attr(\"d\", d3SankeyLinkHorizontal()).attr(\"stroke\", coloring).attr(\"stroke-width\", (d) => Math.max(1, d.width));\n setupGraphViewbox(void 0, svg, 0, useMaxWidth);\n}, \"draw\");\nvar sankeyRenderer_default = {\n draw\n};\n\n// src/diagrams/sankey/sankeyUtils.ts\nvar prepareTextForParsing = /* @__PURE__ */ __name((text) => {\n const textToParse = text.replaceAll(/^[^\\S\\n\\r]+|[^\\S\\n\\r]+$/g, \"\").replaceAll(/([\\n\\r])+/g, \"\\n\").trim();\n return textToParse;\n}, \"prepareTextForParsing\");\n\n// src/diagrams/sankey/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `.label {\n font-family: ${options.fontFamily};\n }\n\n .node-labels {\n font-family: ${options.fontFamily};\n }\n\n /* Outlined label style - background stroke for better readability */\n .sankey-label-bg {\n stroke: ${options.mainBkg || options.background || \"#fff\"};\n stroke-width: 4px;\n stroke-linejoin: round;\n paint-order: stroke;\n }\n\n /* Foreground label text */\n .sankey-label-fg {\n fill: ${options.textColor};\n }\n\n /* Node styling */\n .node rect {\n shape-rendering: crispEdges;\n }\n\n /* Link styling */\n .link {\n fill: none;\n stroke-opacity: 0.5;\n mix-blend-mode: multiply;\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/sankey/sankeyDiagram.ts\nvar originalParse = sankey_default.parse.bind(sankey_default);\nsankey_default.parse = (text) => originalParse(prepareTextForParsing(text));\nvar diagram = {\n styles: styles_default,\n parser: sankey_default,\n db: sankeyDB_default,\n renderer: sankeyRenderer_default\n};\nexport {\n diagram\n};\n"],"names":["colors","specifier","i","d3schemeTableau10","max","values","valueof","value","index","min","sum","targetDepth","d","left","node","right","justify","center","constant","x","ascendingSourceBreadth","a","b","ascendingBreadth","ascendingTargetBreadth","defaultId","defaultNodes","graph","defaultLinks","find","nodeById","id","computeLinkBreadths","nodes","y0","y1","link","Sankey","x0","x1","dx","dy","py","align","sort","linkSort","links","iterations","sankey","computeNodeLinks","computeNodeValues","computeNodeDepths","computeNodeHeights","computeNodeBreadths","_","source","target","sourceLinks","targetLinks","n","current","next","computeNodeLayers","kx","columns","column","initializeNodeBreadths","ky","y","reorderLinks","alpha","beta","relaxRightToLeft","relaxLeftToRight","w","v","targetTop","reorderNodeLinks","resolveCollisions","sourceTop","subject","resolveCollisionsBottomToTop","resolveCollisionsTopToBottom","width","pi","tau","epsilon","tauEpsilon","Path","path","x2","y2","r","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","l","t01","t21","a0","a1","ccw","cw","da","h","p","slice","linkSource","linkTarget","curve","pointX","pointY","context","buffer","argv","s","t","curveHorizontal","linkHorizontal","horizontalSource","horizontalTarget","d3SankeyLinkHorizontal","parser","o","__name","o2","$V0","$V1","$V2","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","k","yyloc","ranges","popStack","lex","token","symbol","state","action","yyval","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","pre","c","match","indexed_rule","backup","tempMatch","rules","condition","yy_","$avoiding_name_collisions","YY_START","Parser","sankey_default","nodesMap","clear2","clear","SankeyLink","_a","addLink","SankeyNode","ID","findOrCreateNode","common_default","getConfig","getNodes","getLinks","getGraph","sankeyDB_default","getAccTitle","setAccTitle","getAccDescription","setAccDescription","getDiagramTitle","setDiagramTitle","Uid","name","alignmentsMap","d3SankeyLeft","d3SankeyRight","d3SankeyCenter","d3SankeyJustify","findCentralNodeLayer","nodes2","maxValue","centralLayer","draw","text","_version","diagObj","securityLevel","conf","defaultSankeyConfig","defaultConfig","sandboxElement","d3select","root","svg","height","useMaxWidth","nodeAlignment","prefix","suffix","showValues","nodeWidth","nodePadding","labelStyle","nodeColors","nodeAlign","d3Sankey","centralNodeLayer","colorScheme","d3scaleOrdinal","getNodeColor","nodeId","getText","id2","getLabelPosition","labelsGroup","appendLabel","className","linkColor","gradient","coloring","setupGraphViewbox","sankeyRenderer_default","prepareTextForParsing","getStyles","options","styles_default","originalParse","diagram"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
|
|
1
|
+
{"version":3,"file":"sankeyDiagram-5OEKKPKP-D_Y2fiVv.js","sources":["../../../node_modules/.pnpm/d3-scale-chromatic@3.1.0/node_modules/d3-scale-chromatic/src/colors.js","../../../node_modules/.pnpm/d3-scale-chromatic@3.1.0/node_modules/d3-scale-chromatic/src/categorical/Tableau10.js","../../../node_modules/.pnpm/d3-array@2.12.1/node_modules/d3-array/src/max.js","../../../node_modules/.pnpm/d3-array@2.12.1/node_modules/d3-array/src/min.js","../../../node_modules/.pnpm/d3-array@2.12.1/node_modules/d3-array/src/sum.js","../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/align.js","../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/constant.js","../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/sankey.js","../../../node_modules/.pnpm/d3-path@1.0.9/node_modules/d3-path/src/path.js","../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/constant.js","../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/point.js","../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/array.js","../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/link/index.js","../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/sankeyLinkHorizontal.js","../../../node_modules/.pnpm/mermaid@11.15.0/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-5OEKKPKP.mjs"],"sourcesContent":["export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n","import colors from \"../colors.js\";\n\nexport default colors(\"4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab\");\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","export default function sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n","import {min} from \"d3-array\";\n\nfunction targetDepth(d) {\n return d.target.depth;\n}\n\nexport function left(node) {\n return node.depth;\n}\n\nexport function right(node, n) {\n return n - 1 - node.height;\n}\n\nexport function justify(node, n) {\n return node.sourceLinks.length ? node.depth : n - 1;\n}\n\nexport function center(node) {\n return node.targetLinks.length ? node.depth\n : node.sourceLinks.length ? min(node.sourceLinks, targetDepth) - 1\n : 0;\n}\n","export default function constant(x) {\n return function() {\n return x;\n };\n}\n","import {max, min, sum} from \"d3-array\";\nimport {justify} from \"./align.js\";\nimport constant from \"./constant.js\";\n\nfunction ascendingSourceBreadth(a, b) {\n return ascendingBreadth(a.source, b.source) || a.index - b.index;\n}\n\nfunction ascendingTargetBreadth(a, b) {\n return ascendingBreadth(a.target, b.target) || a.index - b.index;\n}\n\nfunction ascendingBreadth(a, b) {\n return a.y0 - b.y0;\n}\n\nfunction value(d) {\n return d.value;\n}\n\nfunction defaultId(d) {\n return d.index;\n}\n\nfunction defaultNodes(graph) {\n return graph.nodes;\n}\n\nfunction defaultLinks(graph) {\n return graph.links;\n}\n\nfunction find(nodeById, id) {\n const node = nodeById.get(id);\n if (!node) throw new Error(\"missing: \" + id);\n return node;\n}\n\nfunction computeLinkBreadths({nodes}) {\n for (const node of nodes) {\n let y0 = node.y0;\n let y1 = y0;\n for (const link of node.sourceLinks) {\n link.y0 = y0 + link.width / 2;\n y0 += link.width;\n }\n for (const link of node.targetLinks) {\n link.y1 = y1 + link.width / 2;\n y1 += link.width;\n }\n }\n}\n\nexport default function Sankey() {\n let x0 = 0, y0 = 0, x1 = 1, y1 = 1; // extent\n let dx = 24; // nodeWidth\n let dy = 8, py; // nodePadding\n let id = defaultId;\n let align = justify;\n let sort;\n let linkSort;\n let nodes = defaultNodes;\n let links = defaultLinks;\n let iterations = 6;\n\n function sankey() {\n const graph = {nodes: nodes.apply(null, arguments), links: links.apply(null, arguments)};\n computeNodeLinks(graph);\n computeNodeValues(graph);\n computeNodeDepths(graph);\n computeNodeHeights(graph);\n computeNodeBreadths(graph);\n computeLinkBreadths(graph);\n return graph;\n }\n\n sankey.update = function(graph) {\n computeLinkBreadths(graph);\n return graph;\n };\n\n sankey.nodeId = function(_) {\n return arguments.length ? (id = typeof _ === \"function\" ? _ : constant(_), sankey) : id;\n };\n\n sankey.nodeAlign = function(_) {\n return arguments.length ? (align = typeof _ === \"function\" ? _ : constant(_), sankey) : align;\n };\n\n sankey.nodeSort = function(_) {\n return arguments.length ? (sort = _, sankey) : sort;\n };\n\n sankey.nodeWidth = function(_) {\n return arguments.length ? (dx = +_, sankey) : dx;\n };\n\n sankey.nodePadding = function(_) {\n return arguments.length ? (dy = py = +_, sankey) : dy;\n };\n\n sankey.nodes = function(_) {\n return arguments.length ? (nodes = typeof _ === \"function\" ? _ : constant(_), sankey) : nodes;\n };\n\n sankey.links = function(_) {\n return arguments.length ? (links = typeof _ === \"function\" ? _ : constant(_), sankey) : links;\n };\n\n sankey.linkSort = function(_) {\n return arguments.length ? (linkSort = _, sankey) : linkSort;\n };\n\n sankey.size = function(_) {\n return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankey) : [x1 - x0, y1 - y0];\n };\n\n sankey.extent = function(_) {\n return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankey) : [[x0, y0], [x1, y1]];\n };\n\n sankey.iterations = function(_) {\n return arguments.length ? (iterations = +_, sankey) : iterations;\n };\n\n function computeNodeLinks({nodes, links}) {\n for (const [i, node] of nodes.entries()) {\n node.index = i;\n node.sourceLinks = [];\n node.targetLinks = [];\n }\n const nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d]));\n for (const [i, link] of links.entries()) {\n link.index = i;\n let {source, target} = link;\n if (typeof source !== \"object\") source = link.source = find(nodeById, source);\n if (typeof target !== \"object\") target = link.target = find(nodeById, target);\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n }\n if (linkSort != null) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(linkSort);\n targetLinks.sort(linkSort);\n }\n }\n }\n\n function computeNodeValues({nodes}) {\n for (const node of nodes) {\n node.value = node.fixedValue === undefined\n ? Math.max(sum(node.sourceLinks, value), sum(node.targetLinks, value))\n : node.fixedValue;\n }\n }\n\n function computeNodeDepths({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.depth = x;\n for (const {target} of node.sourceLinks) {\n next.add(target);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeHeights({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.height = x;\n for (const {source} of node.targetLinks) {\n next.add(source);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeLayers({nodes}) {\n const x = max(nodes, d => d.depth) + 1;\n const kx = (x1 - x0 - dx) / (x - 1);\n const columns = new Array(x);\n for (const node of nodes) {\n const i = Math.max(0, Math.min(x - 1, Math.floor(align.call(null, node, x))));\n node.layer = i;\n node.x0 = x0 + i * kx;\n node.x1 = node.x0 + dx;\n if (columns[i]) columns[i].push(node);\n else columns[i] = [node];\n }\n if (sort) for (const column of columns) {\n column.sort(sort);\n }\n return columns;\n }\n\n function initializeNodeBreadths(columns) {\n const ky = min(columns, c => (y1 - y0 - (c.length - 1) * py) / sum(c, value));\n for (const nodes of columns) {\n let y = y0;\n for (const node of nodes) {\n node.y0 = y;\n node.y1 = y + node.value * ky;\n y = node.y1 + py;\n for (const link of node.sourceLinks) {\n link.width = link.value * ky;\n }\n }\n y = (y1 - y + py) / (nodes.length + 1);\n for (let i = 0; i < nodes.length; ++i) {\n const node = nodes[i];\n node.y0 += y * (i + 1);\n node.y1 += y * (i + 1);\n }\n reorderLinks(nodes);\n }\n }\n\n function computeNodeBreadths(graph) {\n const columns = computeNodeLayers(graph);\n py = Math.min(dy, (y1 - y0) / (max(columns, c => c.length) - 1));\n initializeNodeBreadths(columns);\n for (let i = 0; i < iterations; ++i) {\n const alpha = Math.pow(0.99, i);\n const beta = Math.max(1 - alpha, (i + 1) / iterations);\n relaxRightToLeft(columns, alpha, beta);\n relaxLeftToRight(columns, alpha, beta);\n }\n }\n\n // Reposition each node based on its incoming (target) links.\n function relaxLeftToRight(columns, alpha, beta) {\n for (let i = 1, n = columns.length; i < n; ++i) {\n const column = columns[i];\n for (const target of column) {\n let y = 0;\n let w = 0;\n for (const {source, value} of target.targetLinks) {\n let v = value * (target.layer - source.layer);\n y += targetTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - target.y0) * alpha;\n target.y0 += dy;\n target.y1 += dy;\n reorderNodeLinks(target);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n // Reposition each node based on its outgoing (source) links.\n function relaxRightToLeft(columns, alpha, beta) {\n for (let n = columns.length, i = n - 2; i >= 0; --i) {\n const column = columns[i];\n for (const source of column) {\n let y = 0;\n let w = 0;\n for (const {target, value} of source.sourceLinks) {\n let v = value * (target.layer - source.layer);\n y += sourceTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - source.y0) * alpha;\n source.y0 += dy;\n source.y1 += dy;\n reorderNodeLinks(source);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n function resolveCollisions(nodes, alpha) {\n const i = nodes.length >> 1;\n const subject = nodes[i];\n resolveCollisionsBottomToTop(nodes, subject.y0 - py, i - 1, alpha);\n resolveCollisionsTopToBottom(nodes, subject.y1 + py, i + 1, alpha);\n resolveCollisionsBottomToTop(nodes, y1, nodes.length - 1, alpha);\n resolveCollisionsTopToBottom(nodes, y0, 0, alpha);\n }\n\n // Push any overlapping nodes down.\n function resolveCollisionsTopToBottom(nodes, y, i, alpha) {\n for (; i < nodes.length; ++i) {\n const node = nodes[i];\n const dy = (y - node.y0) * alpha;\n if (dy > 1e-6) node.y0 += dy, node.y1 += dy;\n y = node.y1 + py;\n }\n }\n\n // Push any overlapping nodes up.\n function resolveCollisionsBottomToTop(nodes, y, i, alpha) {\n for (; i >= 0; --i) {\n const node = nodes[i];\n const dy = (node.y1 - y) * alpha;\n if (dy > 1e-6) node.y0 -= dy, node.y1 -= dy;\n y = node.y0 - py;\n }\n }\n\n function reorderNodeLinks({sourceLinks, targetLinks}) {\n if (linkSort === undefined) {\n for (const {source: {sourceLinks}} of targetLinks) {\n sourceLinks.sort(ascendingTargetBreadth);\n }\n for (const {target: {targetLinks}} of sourceLinks) {\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n function reorderLinks(nodes) {\n if (linkSort === undefined) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(ascendingTargetBreadth);\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n // Returns the target.y0 that would produce an ideal link from source to target.\n function targetTop(source, target) {\n let y = source.y0 - (source.sourceLinks.length - 1) * py / 2;\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y += width + py;\n }\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y -= width;\n }\n return y;\n }\n\n // Returns the source.y0 that would produce an ideal link from source to target.\n function sourceTop(source, target) {\n let y = target.y0 - (target.targetLinks.length - 1) * py / 2;\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y += width + py;\n }\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y -= width;\n }\n return y;\n }\n\n return sankey;\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","export var slice = Array.prototype.slice;\n","import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {linkHorizontal} from \"d3-shape\";\n\nfunction horizontalSource(d) {\n return [d.source.x1, d.y0];\n}\n\nfunction horizontalTarget(d) {\n return [d.target.x0, d.y1];\n}\n\nexport default function() {\n return linkHorizontal()\n .source(horizontalSource)\n .target(horizontalTarget);\n}\n","import {\n clear,\n common_default,\n defaultConfig2 as defaultConfig,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox\n} from \"./chunk-CSCIHK7Q.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/sankey/parser/sankey.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 9], $V1 = [1, 10], $V2 = [1, 5, 10, 12];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"SANKEY\": 4, \"NEWLINE\": 5, \"csv\": 6, \"opt_eof\": 7, \"record\": 8, \"csv_tail\": 9, \"EOF\": 10, \"field[source]\": 11, \"COMMA\": 12, \"field[target]\": 13, \"field[value]\": 14, \"field\": 15, \"escaped\": 16, \"non_escaped\": 17, \"DQUOTE\": 18, \"ESCAPED_TEXT\": 19, \"NON_ESCAPED_TEXT\": 20, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"SANKEY\", 5: \"NEWLINE\", 10: \"EOF\", 11: \"field[source]\", 12: \"COMMA\", 13: \"field[target]\", 14: \"field[value]\", 18: \"DQUOTE\", 19: \"ESCAPED_TEXT\", 20: \"NON_ESCAPED_TEXT\" },\n productions_: [0, [3, 4], [6, 2], [9, 2], [9, 0], [7, 1], [7, 0], [8, 5], [15, 1], [15, 1], [16, 3], [17, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 7:\n const source = yy.findOrCreateNode($$[$0 - 4].trim().replaceAll('\"\"', '\"'));\n const target = yy.findOrCreateNode($$[$0 - 2].trim().replaceAll('\"\"', '\"'));\n const value = parseFloat($$[$0].trim());\n yy.addLink(source, target, value);\n break;\n case 8:\n case 9:\n case 11:\n this.$ = $$[$0];\n break;\n case 10:\n this.$ = $$[$0 - 1];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, { 5: [1, 3] }, { 6: 4, 8: 5, 15: 6, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 1: [2, 6], 7: 11, 10: [1, 12] }, o($V1, [2, 4], { 9: 13, 5: [1, 14] }), { 12: [1, 15] }, o($V2, [2, 8]), o($V2, [2, 9]), { 19: [1, 16] }, o($V2, [2, 11]), { 1: [2, 1] }, { 1: [2, 5] }, o($V1, [2, 2]), { 6: 17, 8: 5, 15: 6, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 15: 18, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 18: [1, 19] }, o($V1, [2, 3]), { 12: [1, 20] }, o($V2, [2, 10]), { 15: 21, 16: 7, 17: 8, 18: $V0, 20: $V1 }, o([1, 5, 10], [2, 7])],\n defaultActions: { 11: [2, 1], 12: [2, 5] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n this.pushState(\"csv\");\n return 4;\n break;\n case 1:\n this.pushState(\"csv\");\n return 4;\n break;\n case 2:\n return 10;\n break;\n case 3:\n return 5;\n break;\n case 4:\n return 12;\n break;\n case 5:\n this.pushState(\"escaped_text\");\n return 18;\n break;\n case 6:\n return 20;\n break;\n case 7:\n this.popState(\"escaped_text\");\n return 18;\n break;\n case 8:\n return 19;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:sankey-beta\\b)/i, /^(?:sankey\\b)/i, /^(?:$)/i, /^(?:((\\u000D\\u000A)|(\\u000A)))/i, /^(?:(\\u002C))/i, /^(?:(\\u0022))/i, /^(?:([\\u0020-\\u0021\\u0023-\\u002B\\u002D-\\u007E])*)/i, /^(?:(\\u0022)(?!(\\u0022)))/i, /^(?:(([\\u0020-\\u0021\\u0023-\\u002B\\u002D-\\u007E])|(\\u002C)|(\\u000D)|(\\u000A)|(\\u0022)(\\u0022))*)/i],\n conditions: { \"csv\": { \"rules\": [2, 3, 4, 5, 6, 7, 8], \"inclusive\": false }, \"escaped_text\": { \"rules\": [7, 8], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 8], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar sankey_default = parser;\n\n// src/diagrams/sankey/sankeyDB.ts\nvar links = [];\nvar nodes = [];\nvar nodesMap = /* @__PURE__ */ new Map();\nvar clear2 = /* @__PURE__ */ __name(() => {\n links = [];\n nodes = [];\n nodesMap = /* @__PURE__ */ new Map();\n clear();\n}, \"clear\");\nvar SankeyLink = class {\n constructor(source, target, value = 0) {\n this.source = source;\n this.target = target;\n this.value = value;\n }\n static {\n __name(this, \"SankeyLink\");\n }\n};\nvar addLink = /* @__PURE__ */ __name((source, target, value) => {\n links.push(new SankeyLink(source, target, value));\n}, \"addLink\");\nvar SankeyNode = class {\n constructor(ID) {\n this.ID = ID;\n }\n static {\n __name(this, \"SankeyNode\");\n }\n};\nvar findOrCreateNode = /* @__PURE__ */ __name((ID) => {\n ID = common_default.sanitizeText(ID, getConfig());\n let node = nodesMap.get(ID);\n if (node === void 0) {\n node = new SankeyNode(ID);\n nodesMap.set(ID, node);\n nodes.push(node);\n }\n return node;\n}, \"findOrCreateNode\");\nvar getNodes = /* @__PURE__ */ __name(() => nodes, \"getNodes\");\nvar getLinks = /* @__PURE__ */ __name(() => links, \"getLinks\");\nvar getGraph = /* @__PURE__ */ __name(() => ({\n nodes: nodes.map((node) => ({ id: node.ID })),\n links: links.map((link) => ({\n source: link.source.ID,\n target: link.target.ID,\n value: link.value\n }))\n}), \"getGraph\");\nvar sankeyDB_default = {\n nodesMap,\n getConfig: /* @__PURE__ */ __name(() => getConfig().sankey, \"getConfig\"),\n getNodes,\n getLinks,\n getGraph,\n addLink,\n findOrCreateNode,\n getAccTitle,\n setAccTitle,\n getAccDescription,\n setAccDescription,\n getDiagramTitle,\n setDiagramTitle,\n clear: clear2\n};\n\n// src/diagrams/sankey/sankeyRenderer.ts\nimport {\n select as d3select,\n scaleOrdinal as d3scaleOrdinal,\n schemeTableau10 as d3schemeTableau10\n} from \"d3\";\nimport {\n sankey as d3Sankey,\n sankeyLinkHorizontal as d3SankeyLinkHorizontal,\n sankeyLeft as d3SankeyLeft,\n sankeyRight as d3SankeyRight,\n sankeyCenter as d3SankeyCenter,\n sankeyJustify as d3SankeyJustify\n} from \"d3-sankey\";\n\n// src/rendering-util/uid.ts\nvar Uid = class _Uid {\n static {\n __name(this, \"Uid\");\n }\n static {\n this.count = 0;\n }\n static next(name) {\n return new _Uid(name + ++_Uid.count);\n }\n constructor(id) {\n this.id = id;\n this.href = `#${id}`;\n }\n toString() {\n return \"url(\" + this.href + \")\";\n }\n};\n\n// src/diagrams/sankey/sankeyRenderer.ts\nvar alignmentsMap = {\n left: d3SankeyLeft,\n right: d3SankeyRight,\n center: d3SankeyCenter,\n justify: d3SankeyJustify\n};\nvar findCentralNodeLayer = /* @__PURE__ */ __name((nodes2) => {\n let maxValue = 0;\n let centralLayer = 0;\n for (const node of nodes2) {\n const value = node.value ?? 0;\n if (value > maxValue) {\n maxValue = value;\n centralLayer = node.layer ?? 0;\n }\n }\n return centralLayer;\n}, \"findCentralNodeLayer\");\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n const { securityLevel, sankey: conf } = getConfig();\n const defaultSankeyConfig = defaultConfig.sankey;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = d3select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? d3select(sandboxElement.nodes()[0].contentDocument.body) : d3select(\"body\");\n const svg = securityLevel === \"sandbox\" ? root.select(`[id=\"${id}\"]`) : d3select(`[id=\"${id}\"]`);\n const width = conf?.width ?? defaultSankeyConfig.width;\n const height = conf?.height ?? defaultSankeyConfig.width;\n const useMaxWidth = conf?.useMaxWidth ?? defaultSankeyConfig.useMaxWidth;\n const nodeAlignment = conf?.nodeAlignment ?? defaultSankeyConfig.nodeAlignment;\n const prefix = conf?.prefix ?? defaultSankeyConfig.prefix;\n const suffix = conf?.suffix ?? defaultSankeyConfig.suffix;\n const showValues = conf?.showValues ?? defaultSankeyConfig.showValues;\n const nodeWidth = conf?.nodeWidth ?? defaultSankeyConfig.nodeWidth ?? 10;\n const nodePadding = conf?.nodePadding ?? defaultSankeyConfig.nodePadding ?? 12;\n const labelStyle = conf?.labelStyle ?? defaultSankeyConfig.labelStyle ?? \"legacy\";\n const nodeColors = conf?.nodeColors ?? {};\n const graph = diagObj.db.getGraph();\n const nodeAlign = alignmentsMap[nodeAlignment];\n const sankey = d3Sankey().nodeId((d) => d.id).nodeWidth(nodeWidth).nodePadding(nodePadding + (showValues ? 15 : 0)).nodeAlign(nodeAlign).extent([\n [0, 0],\n [width, height]\n ]);\n sankey(graph);\n const centralNodeLayer = findCentralNodeLayer(graph.nodes);\n const colorScheme = d3scaleOrdinal(d3schemeTableau10);\n const getNodeColor = /* @__PURE__ */ __name((nodeId) => {\n return nodeColors[nodeId] ?? colorScheme(nodeId);\n }, \"getNodeColor\");\n svg.append(\"g\").attr(\"class\", \"nodes\").selectAll(\".node\").data(graph.nodes).join(\"g\").attr(\"class\", \"node\").attr(\"id\", (d) => (d.uid = Uid.next(\"node-\")).id).attr(\"transform\", function(d) {\n return \"translate(\" + d.x0 + \",\" + d.y0 + \")\";\n }).attr(\"x\", (d) => d.x0).attr(\"y\", (d) => d.y0).append(\"rect\").attr(\"height\", (d) => {\n return d.y1 - d.y0;\n }).attr(\"width\", (d) => d.x1 - d.x0).attr(\"fill\", (d) => getNodeColor(d.id));\n const getText = /* @__PURE__ */ __name(({ id: id2, value }) => {\n if (!showValues) {\n return id2;\n }\n return `${id2}\n${prefix}${Math.round(value * 100) / 100}${suffix}`;\n }, \"getText\");\n const getLabelPosition = /* @__PURE__ */ __name((d) => {\n if (labelStyle === \"outlined\") {\n const nodeLayer = d.layer ?? 0;\n if (nodeLayer < centralNodeLayer) {\n return { x: d.x0 - 6, anchor: \"end\" };\n }\n return { x: d.x1 + 6, anchor: \"start\" };\n }\n if (d.x0 < width / 2) {\n return { x: d.x1 + 6, anchor: \"start\" };\n }\n return { x: d.x0 - 6, anchor: \"end\" };\n }, \"getLabelPosition\");\n const labelsGroup = svg.append(\"g\").attr(\"class\", \"node-labels\").attr(\"font-size\", 14);\n const appendLabel = /* @__PURE__ */ __name((className) => labelsGroup.selectAll(className ? `.${className}` : \"text\").data(graph.nodes).join(\"text\").attr(\"class\", className ?? null).attr(\"x\", (d) => getLabelPosition(d).x).attr(\"y\", (d) => (d.y1 + d.y0) / 2).attr(\"dy\", `${showValues ? \"0\" : \"0.35\"}em`).attr(\"text-anchor\", (d) => getLabelPosition(d).anchor).text(getText), \"appendLabel\");\n if (labelStyle === \"outlined\") {\n appendLabel(\"sankey-label-bg\");\n appendLabel(\"sankey-label-fg\");\n } else {\n appendLabel();\n }\n const link = svg.append(\"g\").attr(\"class\", \"links\").attr(\"fill\", \"none\").attr(\"stroke-opacity\", 0.5).selectAll(\".link\").data(graph.links).join(\"g\").attr(\"class\", \"link\").style(\"mix-blend-mode\", \"multiply\");\n const linkColor = conf?.linkColor ?? \"gradient\";\n if (linkColor === \"gradient\") {\n const gradient = link.append(\"linearGradient\").attr(\"id\", (d) => (d.uid = Uid.next(\"linearGradient-\")).id).attr(\"gradientUnits\", \"userSpaceOnUse\").attr(\"x1\", (d) => d.source.x1).attr(\"x2\", (d) => d.target.x0);\n gradient.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", (d) => getNodeColor(d.source.id));\n gradient.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", (d) => getNodeColor(d.target.id));\n }\n let coloring;\n switch (linkColor) {\n case \"gradient\":\n coloring = /* @__PURE__ */ __name((d) => d.uid, \"coloring\");\n break;\n case \"source\":\n coloring = /* @__PURE__ */ __name((d) => getNodeColor(d.source.id), \"coloring\");\n break;\n case \"target\":\n coloring = /* @__PURE__ */ __name((d) => getNodeColor(d.target.id), \"coloring\");\n break;\n default:\n coloring = linkColor;\n }\n link.append(\"path\").attr(\"d\", d3SankeyLinkHorizontal()).attr(\"stroke\", coloring).attr(\"stroke-width\", (d) => Math.max(1, d.width));\n setupGraphViewbox(void 0, svg, 0, useMaxWidth);\n}, \"draw\");\nvar sankeyRenderer_default = {\n draw\n};\n\n// src/diagrams/sankey/sankeyUtils.ts\nvar prepareTextForParsing = /* @__PURE__ */ __name((text) => {\n const textToParse = text.replaceAll(/^[^\\S\\n\\r]+|[^\\S\\n\\r]+$/g, \"\").replaceAll(/([\\n\\r])+/g, \"\\n\").trim();\n return textToParse;\n}, \"prepareTextForParsing\");\n\n// src/diagrams/sankey/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `.label {\n font-family: ${options.fontFamily};\n }\n\n .node-labels {\n font-family: ${options.fontFamily};\n }\n\n /* Outlined label style - background stroke for better readability */\n .sankey-label-bg {\n stroke: ${options.mainBkg || options.background || \"#fff\"};\n stroke-width: 4px;\n stroke-linejoin: round;\n paint-order: stroke;\n }\n\n /* Foreground label text */\n .sankey-label-fg {\n fill: ${options.textColor};\n }\n\n /* Node styling */\n .node rect {\n shape-rendering: crispEdges;\n }\n\n /* Link styling */\n .link {\n fill: none;\n stroke-opacity: 0.5;\n mix-blend-mode: multiply;\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/sankey/sankeyDiagram.ts\nvar originalParse = sankey_default.parse.bind(sankey_default);\nsankey_default.parse = (text) => originalParse(prepareTextForParsing(text));\nvar diagram = {\n styles: styles_default,\n parser: sankey_default,\n db: sankeyDB_default,\n renderer: sankeyRenderer_default\n};\nexport {\n diagram\n};\n"],"names":["colors","specifier","i","d3schemeTableau10","max","values","valueof","value","index","min","sum","targetDepth","d","left","node","right","justify","center","constant","x","ascendingSourceBreadth","a","b","ascendingBreadth","ascendingTargetBreadth","defaultId","defaultNodes","graph","defaultLinks","find","nodeById","id","computeLinkBreadths","nodes","y0","y1","link","Sankey","x0","x1","dx","dy","py","align","sort","linkSort","links","iterations","sankey","computeNodeLinks","computeNodeValues","computeNodeDepths","computeNodeHeights","computeNodeBreadths","_","source","target","sourceLinks","targetLinks","n","current","next","computeNodeLayers","kx","columns","column","initializeNodeBreadths","ky","y","reorderLinks","alpha","beta","relaxRightToLeft","relaxLeftToRight","w","v","targetTop","reorderNodeLinks","resolveCollisions","sourceTop","subject","resolveCollisionsBottomToTop","resolveCollisionsTopToBottom","width","pi","tau","epsilon","tauEpsilon","Path","path","x2","y2","r","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","l","t01","t21","a0","a1","ccw","cw","da","h","p","slice","linkSource","linkTarget","curve","pointX","pointY","context","buffer","argv","s","t","curveHorizontal","linkHorizontal","horizontalSource","horizontalTarget","d3SankeyLinkHorizontal","parser","o","__name","o2","$V0","$V1","$V2","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","k","yyloc","ranges","popStack","lex","token","symbol","state","action","yyval","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","pre","c","match","indexed_rule","backup","tempMatch","rules","condition","yy_","$avoiding_name_collisions","YY_START","Parser","sankey_default","nodesMap","clear2","clear","SankeyLink","_a","addLink","SankeyNode","ID","findOrCreateNode","common_default","getConfig","getNodes","getLinks","getGraph","sankeyDB_default","getAccTitle","setAccTitle","getAccDescription","setAccDescription","getDiagramTitle","setDiagramTitle","Uid","name","alignmentsMap","d3SankeyLeft","d3SankeyRight","d3SankeyCenter","d3SankeyJustify","findCentralNodeLayer","nodes2","maxValue","centralLayer","draw","text","_version","diagObj","securityLevel","conf","defaultSankeyConfig","defaultConfig","sandboxElement","d3select","root","svg","height","useMaxWidth","nodeAlignment","prefix","suffix","showValues","nodeWidth","nodePadding","labelStyle","nodeColors","nodeAlign","d3Sankey","centralNodeLayer","colorScheme","d3scaleOrdinal","getNodeColor","nodeId","getText","id2","getLabelPosition","labelsGroup","appendLabel","className","linkColor","gradient","coloring","setupGraphViewbox","sankeyRenderer_default","prepareTextForParsing","getStyles","options","styles_default","originalParse","diagram"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
|