@aiquants/markdown 1.6.1 → 1.8.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/dist/{abnfDiagram-VRR7QNED-DVICL1SS.cjs → abnfDiagram-VRR7QNED-BKvRUGcR.cjs} +2 -2
- package/dist/{abnfDiagram-VRR7QNED-DVICL1SS.cjs.map → abnfDiagram-VRR7QNED-BKvRUGcR.cjs.map} +1 -1
- package/dist/{abnfDiagram-VRR7QNED-RZnm_ZZC.js → abnfDiagram-VRR7QNED-C-27Yna6.js} +4 -4
- package/dist/{abnfDiagram-VRR7QNED-RZnm_ZZC.js.map → abnfDiagram-VRR7QNED-C-27Yna6.js.map} +1 -1
- package/dist/{arc-BmnitkkN.cjs → arc-CUOoCqkh.cjs} +2 -2
- package/dist/{arc-BmnitkkN.cjs.map → arc-CUOoCqkh.cjs.map} +1 -1
- package/dist/{arc-C-DBDbuo.js → arc-UxDDNW0x.js} +2 -2
- package/dist/{arc-C-DBDbuo.js.map → arc-UxDDNW0x.js.map} +1 -1
- package/dist/{architectureDiagram-ZJ3FMSHR-_FBgGrSC.js → architectureDiagram-ZJ3FMSHR-Ch5Nf0Ae.js} +3 -3
- package/dist/{architectureDiagram-ZJ3FMSHR-_FBgGrSC.js.map → architectureDiagram-ZJ3FMSHR-Ch5Nf0Ae.js.map} +1 -1
- package/dist/{architectureDiagram-ZJ3FMSHR-CCAJeMnU.cjs → architectureDiagram-ZJ3FMSHR-kO8dZQKK.cjs} +2 -2
- package/dist/{architectureDiagram-ZJ3FMSHR-CCAJeMnU.cjs.map → architectureDiagram-ZJ3FMSHR-kO8dZQKK.cjs.map} +1 -1
- package/dist/{blockDiagram-677ZJIJ3-W3Ryiu2c.cjs → blockDiagram-677ZJIJ3-BbjxBeAD.cjs} +2 -2
- package/dist/{blockDiagram-677ZJIJ3-W3Ryiu2c.cjs.map → blockDiagram-677ZJIJ3-BbjxBeAD.cjs.map} +1 -1
- package/dist/{blockDiagram-677ZJIJ3-CLkOcrVQ.js → blockDiagram-677ZJIJ3-CuCBVVNa.js} +4 -4
- package/dist/{blockDiagram-677ZJIJ3-CLkOcrVQ.js.map → blockDiagram-677ZJIJ3-CuCBVVNa.js.map} +1 -1
- package/dist/{c4Diagram-LMCZKHZV-FhSkJ7-q.js → c4Diagram-LMCZKHZV-BdJV5ivG.js} +3 -3
- package/dist/{c4Diagram-LMCZKHZV-FhSkJ7-q.js.map → c4Diagram-LMCZKHZV-BdJV5ivG.js.map} +1 -1
- package/dist/{c4Diagram-LMCZKHZV-B--cDHXw.cjs → c4Diagram-LMCZKHZV-BgTfc_W8.cjs} +2 -2
- package/dist/{c4Diagram-LMCZKHZV-B--cDHXw.cjs.map → c4Diagram-LMCZKHZV-BgTfc_W8.cjs.map} +1 -1
- package/dist/channel-BaZK7NhX.js +6 -0
- package/dist/{channel-B6gYWXtQ.js.map → channel-BaZK7NhX.js.map} +1 -1
- package/dist/channel-DcZBUEY6.cjs +2 -0
- package/dist/{channel-CZceKK2b.cjs.map → channel-DcZBUEY6.cjs.map} +1 -1
- package/dist/{chunk-2Q5K7J3B-CLA9LZQs.js → chunk-2Q5K7J3B-CSlHTmMh.js} +2 -2
- package/dist/{chunk-2Q5K7J3B-CLA9LZQs.js.map → chunk-2Q5K7J3B-CSlHTmMh.js.map} +1 -1
- package/dist/{chunk-2Q5K7J3B-UoZ4tiIj.cjs → chunk-2Q5K7J3B-D9s6eCoM.cjs} +2 -2
- package/dist/{chunk-2Q5K7J3B-UoZ4tiIj.cjs.map → chunk-2Q5K7J3B-D9s6eCoM.cjs.map} +1 -1
- package/dist/{chunk-32BRIVSS-CrDpazxa.js → chunk-32BRIVSS-CXH5EQUk.js} +2 -2
- package/dist/{chunk-32BRIVSS-CrDpazxa.js.map → chunk-32BRIVSS-CXH5EQUk.js.map} +1 -1
- package/dist/{chunk-32BRIVSS-CyUS1-2x.cjs → chunk-32BRIVSS-D2F2B9TZ.cjs} +2 -2
- package/dist/{chunk-32BRIVSS-CyUS1-2x.cjs.map → chunk-32BRIVSS-D2F2B9TZ.cjs.map} +1 -1
- package/dist/{chunk-5VM5RSS4-DnTlok-Z.js → chunk-5VM5RSS4-BhTMtA9l.js} +2 -2
- package/dist/{chunk-5VM5RSS4-DnTlok-Z.js.map → chunk-5VM5RSS4-BhTMtA9l.js.map} +1 -1
- package/dist/{chunk-5VM5RSS4-DCM2evxn.cjs → chunk-5VM5RSS4-CxjaLXsB.cjs} +2 -2
- package/dist/{chunk-5VM5RSS4-DCM2evxn.cjs.map → chunk-5VM5RSS4-CxjaLXsB.cjs.map} +1 -1
- package/dist/{chunk-EX3LRPZG-CDcYLfTb.cjs → chunk-EX3LRPZG-BCQ_eMbL.cjs} +2 -2
- package/dist/{chunk-EX3LRPZG-CDcYLfTb.cjs.map → chunk-EX3LRPZG-BCQ_eMbL.cjs.map} +1 -1
- package/dist/{chunk-EX3LRPZG-BXZN3BP6.js → chunk-EX3LRPZG-BOcBE4jP.js} +5 -5
- package/dist/{chunk-EX3LRPZG-BXZN3BP6.js.map → chunk-EX3LRPZG-BOcBE4jP.js.map} +1 -1
- package/dist/{chunk-JWPE2WC7-BOZsBb5v.js → chunk-JWPE2WC7-C20BXRVN.js} +2 -2
- package/dist/{chunk-JWPE2WC7-BOZsBb5v.js.map → chunk-JWPE2WC7-C20BXRVN.js.map} +1 -1
- package/dist/{chunk-JWPE2WC7-u2Y2E01t.cjs → chunk-JWPE2WC7-CLCAyxUO.cjs} +2 -2
- package/dist/{chunk-JWPE2WC7-u2Y2E01t.cjs.map → chunk-JWPE2WC7-CLCAyxUO.cjs.map} +1 -1
- package/dist/{chunk-MOJQB5TN-CODLoYka.js → chunk-MOJQB5TN-B_C5dwTy.js} +2 -2
- package/dist/{chunk-MOJQB5TN-CODLoYka.js.map → chunk-MOJQB5TN-B_C5dwTy.js.map} +1 -1
- package/dist/{chunk-MOJQB5TN-D9XmnzfN.cjs → chunk-MOJQB5TN-Bbpbi357.cjs} +2 -2
- package/dist/{chunk-MOJQB5TN-D9XmnzfN.cjs.map → chunk-MOJQB5TN-Bbpbi357.cjs.map} +1 -1
- package/dist/{chunk-PUDLZKDR-Vzafz0p_.js → chunk-PUDLZKDR-C0EKSRvH.js} +7 -7
- package/dist/{chunk-PUDLZKDR-Vzafz0p_.js.map → chunk-PUDLZKDR-C0EKSRvH.js.map} +1 -1
- package/dist/{chunk-PUDLZKDR-DIlJh7gW.cjs → chunk-PUDLZKDR-Cpp-nasK.cjs} +2 -2
- package/dist/{chunk-PUDLZKDR-DIlJh7gW.cjs.map → chunk-PUDLZKDR-Cpp-nasK.cjs.map} +1 -1
- package/dist/{chunk-RYQCIY6F-D7RgZ_ri.js → chunk-RYQCIY6F-BuIkG6A2.js} +2 -2
- package/dist/{chunk-RYQCIY6F-D7RgZ_ri.js.map → chunk-RYQCIY6F-BuIkG6A2.js.map} +1 -1
- package/dist/{chunk-RYQCIY6F-BgbNR_-2.cjs → chunk-RYQCIY6F-he5fUSYo.cjs} +2 -2
- package/dist/{chunk-RYQCIY6F-BgbNR_-2.cjs.map → chunk-RYQCIY6F-he5fUSYo.cjs.map} +1 -1
- package/dist/{chunk-V7JOEXUC-BtRbpCVo.cjs → chunk-V7JOEXUC-BcBXzffo.cjs} +2 -2
- package/dist/{chunk-V7JOEXUC-BtRbpCVo.cjs.map → chunk-V7JOEXUC-BcBXzffo.cjs.map} +1 -1
- package/dist/{chunk-V7JOEXUC-Csiot9oO.js → chunk-V7JOEXUC-DWnZRQBl.js} +6 -6
- package/dist/{chunk-V7JOEXUC-Csiot9oO.js.map → chunk-V7JOEXUC-DWnZRQBl.js.map} +1 -1
- package/dist/{chunk-VR4S4FIN-DH6f42Mu.js → chunk-VR4S4FIN-BWCLM0a0.js} +2 -2
- package/dist/{chunk-VR4S4FIN-DH6f42Mu.js.map → chunk-VR4S4FIN-BWCLM0a0.js.map} +1 -1
- package/dist/{chunk-VR4S4FIN-y0SDmoh2.cjs → chunk-VR4S4FIN-Bd3wwAe8.cjs} +2 -2
- package/dist/{chunk-VR4S4FIN-y0SDmoh2.cjs.map → chunk-VR4S4FIN-Bd3wwAe8.cjs.map} +1 -1
- package/dist/{chunk-XXDRQBXY-rC42S5QT.cjs → chunk-XXDRQBXY-C2UaLfce.cjs} +2 -2
- package/dist/{chunk-XXDRQBXY-rC42S5QT.cjs.map → chunk-XXDRQBXY-C2UaLfce.cjs.map} +1 -1
- package/dist/{chunk-XXDRQBXY-Csac6tCf.js → chunk-XXDRQBXY-qt9x9red.js} +2 -2
- package/dist/{chunk-XXDRQBXY-Csac6tCf.js.map → chunk-XXDRQBXY-qt9x9red.js.map} +1 -1
- package/dist/{classDiagram-OUVF2IWQ-Dd9EcDqY.js → classDiagram-OUVF2IWQ-B0lJPbAq.js} +3 -3
- package/dist/{classDiagram-OUVF2IWQ-Dd9EcDqY.js.map → classDiagram-OUVF2IWQ-B0lJPbAq.js.map} +1 -1
- package/dist/{classDiagram-OUVF2IWQ-Vq3KKBUy.cjs → classDiagram-OUVF2IWQ-BoGCNSIO.cjs} +2 -2
- package/dist/{classDiagram-OUVF2IWQ-Vq3KKBUy.cjs.map → classDiagram-OUVF2IWQ-BoGCNSIO.cjs.map} +1 -1
- package/dist/{classDiagram-v2-EOCWNBFH-Dd9EcDqY.js → classDiagram-v2-EOCWNBFH-B0lJPbAq.js} +3 -3
- package/dist/{classDiagram-v2-EOCWNBFH-Dd9EcDqY.js.map → classDiagram-v2-EOCWNBFH-B0lJPbAq.js.map} +1 -1
- package/dist/{classDiagram-v2-EOCWNBFH-Vq3KKBUy.cjs → classDiagram-v2-EOCWNBFH-BoGCNSIO.cjs} +2 -2
- package/dist/{classDiagram-v2-EOCWNBFH-Vq3KKBUy.cjs.map → classDiagram-v2-EOCWNBFH-BoGCNSIO.cjs.map} +1 -1
- package/dist/{cose-bilkent-JH36ORCC-BAYFBSur.js → cose-bilkent-JH36ORCC-BXH9dl_0.js} +2 -2
- package/dist/{cose-bilkent-JH36ORCC-BAYFBSur.js.map → cose-bilkent-JH36ORCC-BXH9dl_0.js.map} +1 -1
- package/dist/{cose-bilkent-JH36ORCC-CsHaaKi1.cjs → cose-bilkent-JH36ORCC-DRBzHIcA.cjs} +2 -2
- package/dist/{cose-bilkent-JH36ORCC-CsHaaKi1.cjs.map → cose-bilkent-JH36ORCC-DRBzHIcA.cjs.map} +1 -1
- package/dist/{cynefinDiagram-TSTJHNR4-CSZqIj_l.js → cynefinDiagram-TSTJHNR4-2jnqksgG.js} +3 -3
- package/dist/{cynefinDiagram-TSTJHNR4-CSZqIj_l.js.map → cynefinDiagram-TSTJHNR4-2jnqksgG.js.map} +1 -1
- package/dist/{cynefinDiagram-TSTJHNR4-BEPBV57_.cjs → cynefinDiagram-TSTJHNR4-Ge9B88rS.cjs} +2 -2
- package/dist/{cynefinDiagram-TSTJHNR4-BEPBV57_.cjs.map → cynefinDiagram-TSTJHNR4-Ge9B88rS.cjs.map} +1 -1
- package/dist/{dagre-VKFMJZFB-D9fBL_yM.js → dagre-VKFMJZFB-BqLynzOx.js} +3 -3
- package/dist/{dagre-VKFMJZFB-D9fBL_yM.js.map → dagre-VKFMJZFB-BqLynzOx.js.map} +1 -1
- package/dist/{dagre-VKFMJZFB-BlRE-U3S.cjs → dagre-VKFMJZFB-C7QheUvc.cjs} +2 -2
- package/dist/{dagre-VKFMJZFB-BlRE-U3S.cjs.map → dagre-VKFMJZFB-C7QheUvc.cjs.map} +1 -1
- package/dist/{diagram-FQU43EPY-Di26xB9f.cjs → diagram-FQU43EPY-CSPyECaU.cjs} +2 -2
- package/dist/{diagram-FQU43EPY-Di26xB9f.cjs.map → diagram-FQU43EPY-CSPyECaU.cjs.map} +1 -1
- package/dist/{diagram-FQU43EPY-DPR8KMs9.js → diagram-FQU43EPY-DUwsAw4u.js} +3 -3
- package/dist/{diagram-FQU43EPY-DPR8KMs9.js.map → diagram-FQU43EPY-DUwsAw4u.js.map} +1 -1
- package/dist/{diagram-G47NLZAW-71hjWkYs.cjs → diagram-G47NLZAW-BaP0Lyg0.cjs} +2 -2
- package/dist/{diagram-G47NLZAW-71hjWkYs.cjs.map → diagram-G47NLZAW-BaP0Lyg0.cjs.map} +1 -1
- package/dist/{diagram-G47NLZAW-BfL1Ut0H.js → diagram-G47NLZAW-h09HILJg.js} +4 -4
- package/dist/{diagram-G47NLZAW-BfL1Ut0H.js.map → diagram-G47NLZAW-h09HILJg.js.map} +1 -1
- package/dist/{diagram-NH7WQ7WH-BjJctDxT.js → diagram-NH7WQ7WH-BE3XRcGY.js} +3 -3
- package/dist/{diagram-NH7WQ7WH-BjJctDxT.js.map → diagram-NH7WQ7WH-BE3XRcGY.js.map} +1 -1
- package/dist/{diagram-NH7WQ7WH-B4uTamuE.cjs → diagram-NH7WQ7WH-DyJw7-Gl.cjs} +2 -2
- package/dist/{diagram-NH7WQ7WH-B4uTamuE.cjs.map → diagram-NH7WQ7WH-DyJw7-Gl.cjs.map} +1 -1
- package/dist/{diagram-OA4YK3LP-BoFOwiXF.js → diagram-OA4YK3LP-BfAM9MZv.js} +4 -4
- package/dist/{diagram-OA4YK3LP-BoFOwiXF.js.map → diagram-OA4YK3LP-BfAM9MZv.js.map} +1 -1
- package/dist/{diagram-OA4YK3LP-C1ORbLEL.cjs → diagram-OA4YK3LP-DqYpt5F6.cjs} +2 -2
- package/dist/{diagram-OA4YK3LP-C1ORbLEL.cjs.map → diagram-OA4YK3LP-DqYpt5F6.cjs.map} +1 -1
- package/dist/{diagram-WEI45ONY-COXEDGCZ.js → diagram-WEI45ONY-DtFOpBM4.js} +3 -3
- package/dist/{diagram-WEI45ONY-COXEDGCZ.js.map → diagram-WEI45ONY-DtFOpBM4.js.map} +1 -1
- package/dist/{diagram-WEI45ONY-BzuHWp9D.cjs → diagram-WEI45ONY-fz5dqgqy.cjs} +2 -2
- package/dist/{diagram-WEI45ONY-BzuHWp9D.cjs.map → diagram-WEI45ONY-fz5dqgqy.cjs.map} +1 -1
- package/dist/{ebnfDiagram-CCIWWBDH-N0w7QwtK.js → ebnfDiagram-CCIWWBDH-CyKVhKIb.js} +4 -4
- package/dist/{ebnfDiagram-CCIWWBDH-N0w7QwtK.js.map → ebnfDiagram-CCIWWBDH-CyKVhKIb.js.map} +1 -1
- package/dist/{ebnfDiagram-CCIWWBDH-DE7OPvSn.cjs → ebnfDiagram-CCIWWBDH-Haez4su4.cjs} +2 -2
- package/dist/{ebnfDiagram-CCIWWBDH-DE7OPvSn.cjs.map → ebnfDiagram-CCIWWBDH-Haez4su4.cjs.map} +1 -1
- package/dist/{erDiagram-Q63AITRT-CqsM_S0E.js → erDiagram-Q63AITRT-9hM3kPUW.js} +5 -5
- package/dist/{erDiagram-Q63AITRT-CqsM_S0E.js.map → erDiagram-Q63AITRT-9hM3kPUW.js.map} +1 -1
- package/dist/{erDiagram-Q63AITRT-KvBvwG4T.cjs → erDiagram-Q63AITRT-BGEWGa_b.cjs} +2 -2
- package/dist/{erDiagram-Q63AITRT-KvBvwG4T.cjs.map → erDiagram-Q63AITRT-BGEWGa_b.cjs.map} +1 -1
- package/dist/{extractHeadings-BiNpEj-K.js → extractHeadings-BH0T7P4n.js} +3834 -3824
- package/dist/{extractHeadings-BiNpEj-K.js.map → extractHeadings-BH0T7P4n.js.map} +1 -1
- package/dist/{extractHeadings-vnYM8Eet.cjs → extractHeadings-BsiIYa_e.cjs} +62 -62
- package/dist/{extractHeadings-vnYM8Eet.cjs.map → extractHeadings-BsiIYa_e.cjs.map} +1 -1
- package/dist/flowDiagram-23GEKE2U-B9LX4RXy.cjs +2 -0
- package/dist/flowDiagram-23GEKE2U-B9LX4RXy.cjs.map +1 -0
- package/dist/flowDiagram-23GEKE2U-Dk7STu-u.js +8 -0
- package/dist/flowDiagram-23GEKE2U-Dk7STu-u.js.map +1 -0
- package/dist/{ganttDiagram-NO4QXBWP-DvdToLYa.cjs → ganttDiagram-NO4QXBWP-4BbeHi64.cjs} +2 -2
- package/dist/{ganttDiagram-NO4QXBWP-DvdToLYa.cjs.map → ganttDiagram-NO4QXBWP-4BbeHi64.cjs.map} +1 -1
- package/dist/{ganttDiagram-NO4QXBWP-C2P9ON6O.js → ganttDiagram-NO4QXBWP-DtM5HL0C.js} +3 -3
- package/dist/{ganttDiagram-NO4QXBWP-C2P9ON6O.js.map → ganttDiagram-NO4QXBWP-DtM5HL0C.js.map} +1 -1
- package/dist/{gitGraphDiagram-IHSO6WYX-BkZsK9Hm.cjs → gitGraphDiagram-IHSO6WYX-D1NSh545.cjs} +2 -2
- package/dist/{gitGraphDiagram-IHSO6WYX-BkZsK9Hm.cjs.map → gitGraphDiagram-IHSO6WYX-D1NSh545.cjs.map} +1 -1
- package/dist/{gitGraphDiagram-IHSO6WYX-DVSslxqP.js → gitGraphDiagram-IHSO6WYX-DFSd1OPO.js} +4 -4
- package/dist/{gitGraphDiagram-IHSO6WYX-DVSslxqP.js.map → gitGraphDiagram-IHSO6WYX-DFSd1OPO.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.client.cjs +1 -1
- package/dist/index.client.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{infoDiagram-FWYZ7A6U-Cd3TPtAG.cjs → infoDiagram-FWYZ7A6U-4wrBBE6X.cjs} +2 -2
- package/dist/{infoDiagram-FWYZ7A6U-Cd3TPtAG.cjs.map → infoDiagram-FWYZ7A6U-4wrBBE6X.cjs.map} +1 -1
- package/dist/{infoDiagram-FWYZ7A6U-vPnKgn2w.js → infoDiagram-FWYZ7A6U-ZRUjO8nW.js} +2 -2
- package/dist/{infoDiagram-FWYZ7A6U-vPnKgn2w.js.map → infoDiagram-FWYZ7A6U-ZRUjO8nW.js.map} +1 -1
- package/dist/{ishikawaDiagram-FXEZZL3T-CR9ySQXh.cjs → ishikawaDiagram-FXEZZL3T-DE9GPbED.cjs} +2 -2
- package/dist/{ishikawaDiagram-FXEZZL3T-CR9ySQXh.cjs.map → ishikawaDiagram-FXEZZL3T-DE9GPbED.cjs.map} +1 -1
- package/dist/{ishikawaDiagram-FXEZZL3T-BkgUhFd7.js → ishikawaDiagram-FXEZZL3T-DNgqlFhZ.js} +2 -2
- package/dist/{ishikawaDiagram-FXEZZL3T-BkgUhFd7.js.map → ishikawaDiagram-FXEZZL3T-DNgqlFhZ.js.map} +1 -1
- package/dist/{journeyDiagram-5HDEW3XC-CeLukjGs.js → journeyDiagram-5HDEW3XC-BXlXmDhR.js} +5 -5
- package/dist/{journeyDiagram-5HDEW3XC-CeLukjGs.js.map → journeyDiagram-5HDEW3XC-BXlXmDhR.js.map} +1 -1
- package/dist/{journeyDiagram-5HDEW3XC-C_kouMqJ.cjs → journeyDiagram-5HDEW3XC-jcXDYbA9.cjs} +2 -2
- package/dist/{journeyDiagram-5HDEW3XC-C_kouMqJ.cjs.map → journeyDiagram-5HDEW3XC-jcXDYbA9.cjs.map} +1 -1
- package/dist/{kanban-definition-HUTT4EX6-B7sK7KKo.js → kanban-definition-HUTT4EX6-C9IdgWIg.js} +3 -3
- package/dist/{kanban-definition-HUTT4EX6-B7sK7KKo.js.map → kanban-definition-HUTT4EX6-C9IdgWIg.js.map} +1 -1
- package/dist/{kanban-definition-HUTT4EX6-C72m9SkW.cjs → kanban-definition-HUTT4EX6-D5_pDh9h.cjs} +2 -2
- package/dist/{kanban-definition-HUTT4EX6-C72m9SkW.cjs.map → kanban-definition-HUTT4EX6-D5_pDh9h.cjs.map} +1 -1
- package/dist/{linear-DA8CNisd.js → linear-CTibpBci.js} +2 -2
- package/dist/{linear-DA8CNisd.js.map → linear-CTibpBci.js.map} +1 -1
- package/dist/{linear-BgdXLHZt.cjs → linear-DDWdtbxq.cjs} +2 -2
- package/dist/{linear-BgdXLHZt.cjs.map → linear-DDWdtbxq.cjs.map} +1 -1
- package/dist/{mindmap-definition-LN4V7U3C-C7YrqUCf.js → mindmap-definition-LN4V7U3C-CXaKAu6n.js} +4 -4
- package/dist/{mindmap-definition-LN4V7U3C-C7YrqUCf.js.map → mindmap-definition-LN4V7U3C-CXaKAu6n.js.map} +1 -1
- package/dist/{mindmap-definition-LN4V7U3C-CirMzlY5.cjs → mindmap-definition-LN4V7U3C-gBn938NF.cjs} +2 -2
- package/dist/{mindmap-definition-LN4V7U3C-CirMzlY5.cjs.map → mindmap-definition-LN4V7U3C-gBn938NF.cjs.map} +1 -1
- package/dist/{pegDiagram-2B236MQR-DpzcFesN.js → pegDiagram-2B236MQR-BiQyejnD.js} +4 -4
- package/dist/{pegDiagram-2B236MQR-DpzcFesN.js.map → pegDiagram-2B236MQR-BiQyejnD.js.map} +1 -1
- package/dist/{pegDiagram-2B236MQR-BWo1kluM.cjs → pegDiagram-2B236MQR-fR_9AvHk.cjs} +2 -2
- package/dist/{pegDiagram-2B236MQR-BWo1kluM.cjs.map → pegDiagram-2B236MQR-fR_9AvHk.cjs.map} +1 -1
- package/dist/{pieDiagram-ENE6RG2P-iRoOiNc4.cjs → pieDiagram-ENE6RG2P-BZtqlfyU.cjs} +2 -2
- package/dist/{pieDiagram-ENE6RG2P-iRoOiNc4.cjs.map → pieDiagram-ENE6RG2P-BZtqlfyU.cjs.map} +1 -1
- package/dist/{pieDiagram-ENE6RG2P-B6RHvEHE.js → pieDiagram-ENE6RG2P-CZTZpVqy.js} +4 -4
- package/dist/{pieDiagram-ENE6RG2P-B6RHvEHE.js.map → pieDiagram-ENE6RG2P-CZTZpVqy.js.map} +1 -1
- package/dist/{quadrantDiagram-ABIIQ3AL-9Gb8LEQi.js → quadrantDiagram-ABIIQ3AL-ByHTxHrm.js} +3 -3
- package/dist/{quadrantDiagram-ABIIQ3AL-9Gb8LEQi.js.map → quadrantDiagram-ABIIQ3AL-ByHTxHrm.js.map} +1 -1
- package/dist/{quadrantDiagram-ABIIQ3AL-DKbTOjNz.cjs → quadrantDiagram-ABIIQ3AL-CC5w4CkE.cjs} +2 -2
- package/dist/{quadrantDiagram-ABIIQ3AL-DKbTOjNz.cjs.map → quadrantDiagram-ABIIQ3AL-CC5w4CkE.cjs.map} +1 -1
- package/dist/{railroadDiagram-RFXS5EU6-CXgCaCb_.js → railroadDiagram-RFXS5EU6-C99zfAzl.js} +4 -4
- package/dist/{railroadDiagram-RFXS5EU6-CXgCaCb_.js.map → railroadDiagram-RFXS5EU6-C99zfAzl.js.map} +1 -1
- package/dist/{railroadDiagram-RFXS5EU6-SOxzO7C3.cjs → railroadDiagram-RFXS5EU6-_YckPr2T.cjs} +2 -2
- package/dist/{railroadDiagram-RFXS5EU6-SOxzO7C3.cjs.map → railroadDiagram-RFXS5EU6-_YckPr2T.cjs.map} +1 -1
- package/dist/{requirementDiagram-TGXJPOKE-B6RQ9Kpp.cjs → requirementDiagram-TGXJPOKE-BCeWSLF4.cjs} +2 -2
- package/dist/{requirementDiagram-TGXJPOKE-B6RQ9Kpp.cjs.map → requirementDiagram-TGXJPOKE-BCeWSLF4.cjs.map} +1 -1
- package/dist/{requirementDiagram-TGXJPOKE-DbSm2ehr.js → requirementDiagram-TGXJPOKE-DBzuXzE9.js} +4 -4
- package/dist/{requirementDiagram-TGXJPOKE-DbSm2ehr.js.map → requirementDiagram-TGXJPOKE-DBzuXzE9.js.map} +1 -1
- package/dist/{sankeyDiagram-HTMAVEWB-BNqZ6R3H.js → sankeyDiagram-HTMAVEWB-ChQ2ozXn.js} +2 -2
- package/dist/{sankeyDiagram-HTMAVEWB-BNqZ6R3H.js.map → sankeyDiagram-HTMAVEWB-ChQ2ozXn.js.map} +1 -1
- package/dist/{sankeyDiagram-HTMAVEWB-DgGDy2eG.cjs → sankeyDiagram-HTMAVEWB-DQOfpr04.cjs} +2 -2
- package/dist/{sankeyDiagram-HTMAVEWB-DgGDy2eG.cjs.map → sankeyDiagram-HTMAVEWB-DQOfpr04.cjs.map} +1 -1
- package/dist/{sequenceDiagram-DBY2YBRQ-Bf3EtJcL.js → sequenceDiagram-DBY2YBRQ-CCzsdQ__.js} +4 -4
- package/dist/{sequenceDiagram-DBY2YBRQ-Bf3EtJcL.js.map → sequenceDiagram-DBY2YBRQ-CCzsdQ__.js.map} +1 -1
- package/dist/{sequenceDiagram-DBY2YBRQ-BuKDthxK.cjs → sequenceDiagram-DBY2YBRQ-D2R8WWiq.cjs} +2 -2
- package/dist/{sequenceDiagram-DBY2YBRQ-BuKDthxK.cjs.map → sequenceDiagram-DBY2YBRQ-D2R8WWiq.cjs.map} +1 -1
- package/dist/{sizeCapture-X5ZJPWSS-CNWx6elV.js → sizeCapture-X5ZJPWSS-9Q2RBacx.js} +2 -2
- package/dist/{sizeCapture-X5ZJPWSS-CNWx6elV.js.map → sizeCapture-X5ZJPWSS-9Q2RBacx.js.map} +1 -1
- package/dist/{sizeCapture-X5ZJPWSS-NRqA0pmT.cjs → sizeCapture-X5ZJPWSS-CedNWC9b.cjs} +2 -2
- package/dist/{sizeCapture-X5ZJPWSS-NRqA0pmT.cjs.map → sizeCapture-X5ZJPWSS-CedNWC9b.cjs.map} +1 -1
- package/dist/src/components/MarkdownRenderer.d.ts +31 -1
- package/dist/src/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/src/components/MarkdownViewer.d.ts +9 -1
- package/dist/src/components/MarkdownViewer.d.ts.map +1 -1
- package/dist/src/index.client.d.ts +1 -1
- package/dist/src/index.client.d.ts.map +1 -1
- package/dist/{stateDiagram-2N3HPSRC-DqhvonPY.cjs → stateDiagram-2N3HPSRC-BFjEDzN5.cjs} +2 -2
- package/dist/{stateDiagram-2N3HPSRC-DqhvonPY.cjs.map → stateDiagram-2N3HPSRC-BFjEDzN5.cjs.map} +1 -1
- package/dist/{stateDiagram-2N3HPSRC-Bdphi4r-.js → stateDiagram-2N3HPSRC-DVXBUdgS.js} +3 -3
- package/dist/{stateDiagram-2N3HPSRC-Bdphi4r-.js.map → stateDiagram-2N3HPSRC-DVXBUdgS.js.map} +1 -1
- package/dist/{stateDiagram-v2-6OUMAXLB-p9rvsC9-.cjs → stateDiagram-v2-6OUMAXLB-BpxIqbgw.cjs} +2 -2
- package/dist/{stateDiagram-v2-6OUMAXLB-p9rvsC9-.cjs.map → stateDiagram-v2-6OUMAXLB-BpxIqbgw.cjs.map} +1 -1
- package/dist/{stateDiagram-v2-6OUMAXLB-DdB47j1a.js → stateDiagram-v2-6OUMAXLB-etkgI8XE.js} +3 -3
- package/dist/{stateDiagram-v2-6OUMAXLB-DdB47j1a.js.map → stateDiagram-v2-6OUMAXLB-etkgI8XE.js.map} +1 -1
- package/dist/{swimlanes-5IMT3BWC-JZVn9oCR.cjs → swimlanes-5IMT3BWC-ByyaHYdJ.cjs} +2 -2
- package/dist/{swimlanes-5IMT3BWC-JZVn9oCR.cjs.map → swimlanes-5IMT3BWC-ByyaHYdJ.cjs.map} +1 -1
- package/dist/{swimlanes-5IMT3BWC-BMZk0Lp2.js → swimlanes-5IMT3BWC-CRF_hU5-.js} +4 -4
- package/dist/{swimlanes-5IMT3BWC-BMZk0Lp2.js.map → swimlanes-5IMT3BWC-CRF_hU5-.js.map} +1 -1
- package/dist/{swimlanesDiagram-G3AALYLV-DxEegQkl.cjs → swimlanesDiagram-G3AALYLV-DmAVTn1y.cjs} +2 -2
- package/dist/{swimlanesDiagram-G3AALYLV-DxEegQkl.cjs.map → swimlanesDiagram-G3AALYLV-DmAVTn1y.cjs.map} +1 -1
- package/dist/{swimlanesDiagram-G3AALYLV-DNhrqmqB.js → swimlanesDiagram-G3AALYLV-qE56wCfv.js} +3 -3
- package/dist/{swimlanesDiagram-G3AALYLV-DNhrqmqB.js.map → swimlanesDiagram-G3AALYLV-qE56wCfv.js.map} +1 -1
- package/dist/{timeline-definition-FHXFAJF6-BjxOaDZF.cjs → timeline-definition-FHXFAJF6-CYpydtqC.cjs} +2 -2
- package/dist/{timeline-definition-FHXFAJF6-BjxOaDZF.cjs.map → timeline-definition-FHXFAJF6-CYpydtqC.cjs.map} +1 -1
- package/dist/{timeline-definition-FHXFAJF6-C4kHuqGr.js → timeline-definition-FHXFAJF6-U6tU13YO.js} +3 -3
- package/dist/{timeline-definition-FHXFAJF6-C4kHuqGr.js.map → timeline-definition-FHXFAJF6-U6tU13YO.js.map} +1 -1
- package/dist/{vennDiagram-L72KCM5P-nQ40EeIj.cjs → vennDiagram-L72KCM5P-CfbVR5CF.cjs} +2 -2
- package/dist/{vennDiagram-L72KCM5P-nQ40EeIj.cjs.map → vennDiagram-L72KCM5P-CfbVR5CF.cjs.map} +1 -1
- package/dist/{vennDiagram-L72KCM5P-faE6oCYZ.js → vennDiagram-L72KCM5P-q79Xn7UV.js} +2 -2
- package/dist/{vennDiagram-L72KCM5P-faE6oCYZ.js.map → vennDiagram-L72KCM5P-q79Xn7UV.js.map} +1 -1
- package/dist/{wardleyDiagram-EHGQE667-COQa-JdJ.js → wardleyDiagram-EHGQE667-BG3W74MX.js} +3 -3
- package/dist/{wardleyDiagram-EHGQE667-COQa-JdJ.js.map → wardleyDiagram-EHGQE667-BG3W74MX.js.map} +1 -1
- package/dist/{wardleyDiagram-EHGQE667-ByYfznTT.cjs → wardleyDiagram-EHGQE667-CSJ22zfj.cjs} +2 -2
- package/dist/{wardleyDiagram-EHGQE667-ByYfznTT.cjs.map → wardleyDiagram-EHGQE667-CSJ22zfj.cjs.map} +1 -1
- package/dist/{xychartDiagram-FW5EYKEG-D7FhqNeM.js → xychartDiagram-FW5EYKEG-BISI4a7c.js} +3 -3
- package/dist/{xychartDiagram-FW5EYKEG-D7FhqNeM.js.map → xychartDiagram-FW5EYKEG-BISI4a7c.js.map} +1 -1
- package/dist/{xychartDiagram-FW5EYKEG-BHBIM0-w.cjs → xychartDiagram-FW5EYKEG-Df8hBgvh.cjs} +2 -2
- package/dist/{xychartDiagram-FW5EYKEG-BHBIM0-w.cjs.map → xychartDiagram-FW5EYKEG-Df8hBgvh.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/channel-B6gYWXtQ.js +0 -6
- package/dist/channel-CZceKK2b.cjs +0 -2
- package/dist/flowDiagram-23GEKE2U-BNIQEPQk.cjs +0 -2
- package/dist/flowDiagram-23GEKE2U-BNIQEPQk.cjs.map +0 -1
- package/dist/flowDiagram-23GEKE2U-Cu3z7Hd2.js +0 -8
- package/dist/flowDiagram-23GEKE2U-Cu3z7Hd2.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-definition-FHXFAJF6-C4kHuqGr.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-FHXFAJF6.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.mjs\";\nimport {\n parseFontSize\n} from \"./chunk-ICXQ74PX.mjs\";\nimport {\n clear,\n commonDb_exports,\n getConfig,\n getConfig2,\n setupGraphViewbox\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __export,\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/timeline/parser/timeline.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 = [6, 11, 13, 14, 15, 17, 19, 20, 23, 24], $V1 = [1, 12], $V2 = [1, 13], $V3 = [1, 14], $V4 = [1, 15], $V5 = [1, 16], $V6 = [1, 19], $V7 = [1, 20];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"timeline_header\": 4, \"document\": 5, \"EOF\": 6, \"timeline\": 7, \"timeline_lr\": 8, \"timeline_td\": 9, \"line\": 10, \"SPACE\": 11, \"statement\": 12, \"NEWLINE\": 13, \"title\": 14, \"acc_title\": 15, \"acc_title_value\": 16, \"acc_descr\": 17, \"acc_descr_value\": 18, \"acc_descr_multiline_value\": 19, \"section\": 20, \"period_statement\": 21, \"event_statement\": 22, \"period\": 23, \"event\": 24, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"EOF\", 7: \"timeline\", 8: \"timeline_lr\", 9: \"timeline_td\", 11: \"SPACE\", 13: \"NEWLINE\", 14: \"title\", 15: \"acc_title\", 16: \"acc_title_value\", 17: \"acc_descr\", 18: \"acc_descr_value\", 19: \"acc_descr_multiline_value\", 20: \"section\", 23: \"period\", 24: \"event\" },\n productions_: [0, [3, 3], [4, 1], [4, 1], [4, 1], [5, 0], [5, 2], [10, 2], [10, 1], [10, 1], [10, 1], [12, 1], [12, 2], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [21, 1], [22, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 3:\n yy.setDirection(\"LR\");\n break;\n case 4:\n yy.setDirection(\"TD\");\n break;\n case 5:\n this.$ = [];\n break;\n case 6:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 7:\n case 8:\n this.$ = $$[$0];\n break;\n case 9:\n case 10:\n this.$ = [];\n break;\n case 11:\n yy.getCommonDb().setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 12:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccTitle(this.$);\n break;\n case 13:\n case 14:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccDescription(this.$);\n break;\n case 15:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 18:\n yy.addTask($$[$0], 0, \"\");\n this.$ = $$[$0];\n break;\n case 19:\n yy.addEvent($$[$0].substr(2));\n this.$ = $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 7: [1, 3], 8: [1, 4], 9: [1, 5] }, { 1: [3] }, o($V0, [2, 5], { 5: 6 }), o($V0, [2, 2]), o($V0, [2, 3]), o($V0, [2, 4]), { 6: [1, 7], 10: 8, 11: [1, 9], 12: 10, 13: [1, 11], 14: $V1, 15: $V2, 17: $V3, 19: $V4, 20: $V5, 21: 17, 22: 18, 23: $V6, 24: $V7 }, o($V0, [2, 10], { 1: [2, 1] }), o($V0, [2, 6]), { 12: 21, 14: $V1, 15: $V2, 17: $V3, 19: $V4, 20: $V5, 21: 17, 22: 18, 23: $V6, 24: $V7 }, o($V0, [2, 8]), o($V0, [2, 9]), o($V0, [2, 11]), { 16: [1, 22] }, { 18: [1, 23] }, o($V0, [2, 14]), o($V0, [2, 15]), o($V0, [2, 16]), o($V0, [2, 17]), o($V0, [2, 18]), o($V0, [2, 19]), o($V0, [2, 7]), o($V0, [2, 12]), o($V0, [2, 13])],\n defaultActions: {},\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 break;\n case 1:\n break;\n case 2:\n return 13;\n break;\n case 3:\n break;\n case 4:\n break;\n case 5:\n return 8;\n break;\n case 6:\n return 9;\n break;\n case 7:\n return 7;\n break;\n case 8:\n return 14;\n break;\n case 9:\n this.begin(\"acc_title\");\n return 15;\n break;\n case 10:\n this.popState();\n return \"acc_title_value\";\n break;\n case 11:\n this.begin(\"acc_descr\");\n return 17;\n break;\n case 12:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 13:\n this.begin(\"acc_descr_multiline\");\n break;\n case 14:\n this.popState();\n break;\n case 15:\n return \"acc_descr_multiline_value\";\n break;\n case 16:\n return 20;\n break;\n case 17:\n return 24;\n break;\n case 18:\n return 23;\n break;\n case 19:\n return 6;\n break;\n case 20:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:timeline[ \\t]+LR\\b)/i, /^(?:timeline[ \\t]+TD\\b)/i, /^(?:timeline\\b)/i, /^(?:title\\s[^\\n]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:section\\s[^:\\n]+)/i, /^(?::\\s(?:[^:\\n]|:(?!\\s))+)/i, /^(?:[^#:\\n]+)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [14, 15], \"inclusive\": false }, \"acc_descr\": { \"rules\": [12], \"inclusive\": false }, \"acc_title\": { \"rules\": [10], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 16, 17, 18, 19, 20], \"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 timeline_default = parser;\n\n// src/diagrams/timeline/timelineDb.js\nvar timelineDb_exports = {};\n__export(timelineDb_exports, {\n addEvent: () => addEvent,\n addSection: () => addSection,\n addTask: () => addTask,\n addTaskOrg: () => addTaskOrg,\n clear: () => clear2,\n default: () => timelineDb_default,\n getCommonDb: () => getCommonDb,\n getDirection: () => getDirection,\n getSections: () => getSections,\n getTasks: () => getTasks,\n setDirection: () => setDirection\n});\nvar currentSection = \"\";\nvar currentTaskId = 0;\nvar direction = \"LR\";\nvar sections = [];\nvar tasks = [];\nvar rawTasks = [];\nvar getCommonDb = /* @__PURE__ */ __name(() => commonDb_exports, \"getCommonDb\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n sections.length = 0;\n tasks.length = 0;\n currentSection = \"\";\n rawTasks.length = 0;\n direction = \"LR\";\n clear();\n}, \"clear\");\nvar setDirection = /* @__PURE__ */ __name(function(dir) {\n direction = dir;\n}, \"setDirection\");\nvar getDirection = /* @__PURE__ */ __name(function() {\n return direction;\n}, \"getDirection\");\nvar addSection = /* @__PURE__ */ __name(function(txt) {\n currentSection = txt;\n sections.push(txt);\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getTasks = /* @__PURE__ */ __name(function() {\n let allItemsProcessed = compileTasks();\n const maxDepth = 100;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks.push(...rawTasks);\n return tasks;\n}, \"getTasks\");\nvar addTask = /* @__PURE__ */ __name(function(period, length, event) {\n const rawTask = {\n id: currentTaskId++,\n section: currentSection,\n type: currentSection,\n task: period,\n score: length ? length : 0,\n //if event is defined, then add it the events array\n events: event ? [event] : []\n };\n rawTasks.push(rawTask);\n}, \"addTask\");\nvar addEvent = /* @__PURE__ */ __name(function(event) {\n const currentTask = rawTasks.find((task) => task.id === currentTaskId - 1);\n currentTask.events.push(event);\n}, \"addEvent\");\nvar addTaskOrg = /* @__PURE__ */ __name(function(descr) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n tasks.push(newTask);\n}, \"addTaskOrg\");\nvar compileTasks = /* @__PURE__ */ __name(function() {\n const compileTask = /* @__PURE__ */ __name(function(pos) {\n return rawTasks[pos].processed;\n }, \"compileTask\");\n let allProcessed = true;\n for (const [i, rawTask] of rawTasks.entries()) {\n compileTask(i);\n allProcessed = allProcessed && rawTask.processed;\n }\n return allProcessed;\n}, \"compileTasks\");\nvar timelineDb_default = {\n clear: clear2,\n getCommonDb,\n getDirection,\n setDirection,\n addSection,\n getSections,\n getTasks,\n addTask,\n addTaskOrg,\n addEvent\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nimport { select as select2 } from \"d3\";\n\n// src/diagrams/timeline/svgDraw.js\nimport { arc as d3arc, select } from \"d3\";\nvar nodeCount = 0;\nvar drawRect = /* @__PURE__ */ __name(function(elem, rectData) {\n const rectElem = elem.append(\"rect\");\n rectElem.attr(\"x\", rectData.x);\n rectElem.attr(\"y\", rectData.y);\n rectElem.attr(\"fill\", rectData.fill);\n rectElem.attr(\"stroke\", rectData.stroke);\n rectElem.attr(\"width\", rectData.width);\n rectElem.attr(\"height\", rectData.height);\n rectElem.attr(\"rx\", rectData.rx);\n rectElem.attr(\"ry\", rectData.ry);\n if (rectData.class !== void 0) {\n rectElem.attr(\"class\", rectData.class);\n }\n return rectElem;\n}, \"drawRect\");\nvar drawFace = /* @__PURE__ */ __name(function(element, faceData) {\n const radius = 15;\n const circleElement = element.append(\"circle\").attr(\"cx\", faceData.cx).attr(\"cy\", faceData.cy).attr(\"class\", \"face\").attr(\"r\", radius).attr(\"stroke-width\", 2).attr(\"overflow\", \"visible\");\n const face = element.append(\"g\");\n face.append(\"circle\").attr(\"cx\", faceData.cx - radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n face.append(\"circle\").attr(\"cx\", faceData.cx + radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n function smile(face2) {\n const arc = d3arc().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 2) + \")\");\n }\n __name(smile, \"smile\");\n function sad(face2) {\n const arc = d3arc().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 7) + \")\");\n }\n __name(sad, \"sad\");\n function ambivalent(face2) {\n face2.append(\"line\").attr(\"class\", \"mouth\").attr(\"stroke\", 2).attr(\"x1\", faceData.cx - 5).attr(\"y1\", faceData.cy + 7).attr(\"x2\", faceData.cx + 5).attr(\"y2\", faceData.cy + 7).attr(\"class\", \"mouth\").attr(\"stroke-width\", \"1px\").attr(\"stroke\", \"#666\");\n }\n __name(ambivalent, \"ambivalent\");\n if (faceData.score > 3) {\n smile(face);\n } else if (faceData.score < 3) {\n sad(face);\n } else {\n ambivalent(face);\n }\n return circleElement;\n}, \"drawFace\");\nvar drawCircle = /* @__PURE__ */ __name(function(element, circleData) {\n const circleElement = element.append(\"circle\");\n circleElement.attr(\"cx\", circleData.cx);\n circleElement.attr(\"cy\", circleData.cy);\n circleElement.attr(\"class\", \"actor-\" + circleData.pos);\n circleElement.attr(\"fill\", circleData.fill);\n circleElement.attr(\"stroke\", circleData.stroke);\n circleElement.attr(\"r\", circleData.r);\n if (circleElement.class !== void 0) {\n circleElement.attr(\"class\", circleElement.class);\n }\n if (circleData.title !== void 0) {\n circleElement.append(\"title\").text(circleData.title);\n }\n return circleElement;\n}, \"drawCircle\");\nvar drawText = /* @__PURE__ */ __name(function(elem, textData) {\n const nText = textData.text.replace(/<br\\s*\\/?>/gi, \" \");\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x + textData.textMargin * 2);\n span.text(nText);\n return textElem;\n}, \"drawText\");\nvar drawLabel = /* @__PURE__ */ __name(function(elem, txtObject) {\n function genPoints(x, y, width, height, cut) {\n return x + \",\" + y + \" \" + (x + width) + \",\" + y + \" \" + (x + width) + \",\" + (y + height - cut) + \" \" + (x + width - cut * 1.2) + \",\" + (y + height) + \" \" + x + \",\" + (y + height);\n }\n __name(genPoints, \"genPoints\");\n const polygon = elem.append(\"polygon\");\n polygon.attr(\"points\", genPoints(txtObject.x, txtObject.y, 50, 20, 7));\n polygon.attr(\"class\", \"labelBox\");\n txtObject.y = txtObject.y + txtObject.labelMargin;\n txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin;\n drawText(elem, txtObject);\n}, \"drawLabel\");\nvar drawSection = /* @__PURE__ */ __name(function(elem, section, conf) {\n const g = elem.append(\"g\");\n const rect = getNoteRect();\n rect.x = section.x;\n rect.y = section.y;\n rect.fill = section.fill;\n rect.width = conf.width;\n rect.height = conf.height;\n rect.class = \"journey-section section-type-\" + section.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\n section.text,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"journey-section section-type-\" + section.num },\n conf,\n section.colour\n );\n}, \"drawSection\");\nvar taskCount = -1;\nvar drawTask = /* @__PURE__ */ __name(function(elem, task, conf, diagramId) {\n const center = task.x + conf.width / 2;\n const g = elem.append(\"g\");\n taskCount++;\n const maxHeight = 300 + 5 * 30;\n g.append(\"line\").attr(\"id\", diagramId + \"-task\" + taskCount).attr(\"x1\", center).attr(\"y1\", task.y).attr(\"x2\", center).attr(\"y2\", maxHeight).attr(\"class\", \"task-line\").attr(\"stroke-width\", \"1px\").attr(\"stroke-dasharray\", \"4 2\").attr(\"stroke\", \"#666\");\n drawFace(g, {\n cx: center,\n cy: 300 + (5 - task.score) * 30,\n score: task.score\n });\n const rect = getNoteRect();\n rect.x = task.x;\n rect.y = task.y;\n rect.fill = task.fill;\n rect.width = conf.width;\n rect.height = conf.height;\n rect.class = \"task task-type-\" + task.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\n task.task,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"task\" },\n conf,\n task.colour\n );\n}, \"drawTask\");\nvar drawBackgroundRect = /* @__PURE__ */ __name(function(elem, bounds) {\n const rectElem = drawRect(elem, {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n class: \"rect\"\n });\n rectElem.lower();\n}, \"drawBackgroundRect\");\nvar getTextObj = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n \"text-anchor\": \"start\",\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0\n };\n}, \"getTextObj\");\nvar getNoteRect = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n width: 100,\n anchor: \"start\",\n height: 100,\n rx: 0,\n ry: 0\n };\n}, \"getNoteRect\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ (function() {\n function byText(content, g, x, y, width, height, textAttrs, colour) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"font-color\", colour).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf, colour) {\n const { taskFontSize, taskFontFamily } = conf;\n const lines = content.split(/<br\\s*\\/?>/gi);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * taskFontSize - taskFontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).attr(\"fill\", colour).style(\"text-anchor\", \"middle\").style(\"font-size\", taskFontSize).style(\"font-family\", taskFontFamily);\n text.append(\"tspan\").attr(\"x\", x + width / 2).attr(\"dy\", dy).text(lines[i]);\n text.attr(\"y\", y + height / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf) {\n const body = g.append(\"switch\");\n const f = body.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height).attr(\"position\", \"fixed\");\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").attr(\"class\", \"label\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, body, x, y, width, height, textAttrs, conf);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (key in fromTextAttrsDict) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf) {\n return conf.textPlacement === \"fo\" ? byFo : conf.textPlacement === \"old\" ? byText : byTspan;\n };\n})();\nvar initGraphics = /* @__PURE__ */ __name(function(graphics, id) {\n nodeCount = 0;\n taskCount = -1;\n graphics.append(\"defs\").append(\"marker\").attr(\"id\", id + \"-arrowhead\").attr(\"refX\", 5).attr(\"refY\", 2).attr(\"markerWidth\", 6).attr(\"markerHeight\", 4).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0,0 V 4 L6,2 Z\");\n}, \"initGraphics\");\nfunction wrap(text, width) {\n text.each(function() {\n var text2 = select(this), words = text2.text().split(/(\\s+|<br>)/).reverse(), word, line = [], lineHeight = 1.1, y = text2.attr(\"y\"), dy = parseFloat(text2.attr(\"dy\")), tspan = text2.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", dy + \"em\");\n for (let j = 0; j < words.length; j++) {\n word = words[words.length - 1 - j];\n line.push(word);\n tspan.text(line.join(\" \").trim());\n if (tspan.node().getComputedTextLength() > width || word === \"<br>\") {\n line.pop();\n tspan.text(line.join(\" \").trim());\n if (word === \"<br>\") {\n line = [\"\"];\n } else {\n line = [word];\n }\n tspan = text2.append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", lineHeight + \"em\").text(word);\n }\n }\n });\n}\n__name(wrap, \"wrap\");\nvar drawNode = /* @__PURE__ */ __name(function(elem, node, fullSection, conf, diagramId, isEvent = false) {\n const { theme, look } = conf;\n const isReduxTheme = theme?.includes(\"redux\");\n const maxSections = conf?.themeVariables?.THEME_COLOR_LIMIT ?? 12;\n const section = fullSection % maxSections - 1;\n const nodeElem = elem.append(\"g\");\n node.section = section;\n nodeElem.attr(\n \"class\",\n (node.class ? node.class + \" \" : \"\") + \"timeline-node \" + (\"section-\" + section)\n );\n const bkgElem = nodeElem.append(\"g\");\n const textElem = nodeElem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n node.height = bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n node.height = Math.max(node.height, node.maxHeight);\n node.width = node.width + 2 * node.padding;\n textElem.attr(\"transform\", \"translate(\" + node.width / 2 + \", \" + node.padding / 2 + \")\");\n if (isReduxTheme) {\n textElem.attr(\n \"transform\",\n `translate(${node.width / 2}, ${isEvent ? node.padding / 2 + 3 : node.padding})`\n );\n }\n defaultBkg(bkgElem, node, section, diagramId, conf);\n if (look === \"neo\") {\n nodeElem.attr(\"data-look\", `neo`);\n if (isReduxTheme) {\n const isDark2 = theme.includes(\"dark\");\n const rootSvgNode = elem.node()?.ownerSVGElement ?? elem.node();\n const rootSvg = select(rootSvgNode);\n const svgId = rootSvg.attr(\"id\") ?? \"\";\n const dropShadowId = svgId ? `${svgId}-drop-shadow` : \"drop-shadow\";\n if (rootSvg.select(`#${dropShadowId}`).empty()) {\n const existingDefs = rootSvg.select(\"defs\");\n const defsEl = existingDefs.empty() ? rootSvg.append(\"defs\") : existingDefs;\n defsEl.append(\"filter\").attr(\"id\", dropShadowId).attr(\"height\", \"130%\").attr(\"width\", \"130%\").append(\"feDropShadow\").attr(\"dx\", \"4\").attr(\"dy\", \"4\").attr(\"stdDeviation\", 0).attr(\"flood-opacity\", isDark2 ? \"0.2\" : \"0.06\").attr(\"flood-color\", isDark2 ? \"#FFFFFF\" : \"#000000\");\n }\n }\n }\n return node;\n}, \"drawNode\");\nvar getVirtualNodeHeight = /* @__PURE__ */ __name(function(elem, node, conf) {\n const textElem = elem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n textElem.remove();\n return bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n}, \"getVirtualNodeHeight\");\nvar defaultBkg = /* @__PURE__ */ __name(function(elem, node, section, diagramId, config) {\n const { theme } = config;\n const r = theme?.includes(\"redux\") ? 0 : 5;\n const rd = 5;\n const d = r > 0 ? `M0 ${node.height - rd} v${-node.height + 2 * rd} q0,-${r},${r},-${r} h${node.width - 2 * rd} q${r},0,${r},${r} v${node.height - rd} H0 Z` : `M0 ${node.height - rd} v${-(node.height - rd)} h${node.width} v${node.height} H0 Z`;\n elem.append(\"path\").attr(\"id\", diagramId + \"-node-\" + nodeCount++).attr(\"class\", \"node-bkg node-\" + node.type).attr(\"d\", d);\n if (!theme?.includes(\"redux\")) {\n elem.append(\"line\").attr(\"class\", \"node-line-\" + section).attr(\"x1\", 0).attr(\"y1\", node.height).attr(\"x2\", node.width).attr(\"y2\", node.height);\n }\n}, \"defaultBkg\");\nvar svgDraw_default = {\n drawRect,\n drawCircle,\n drawSection,\n drawText,\n drawLabel,\n drawTask,\n drawBackgroundRect,\n getTextObj,\n getNoteRect,\n initGraphics,\n drawNode,\n getVirtualNodeHeight\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf = getConfig2();\n const { look, theme, themeVariables } = conf;\n const { useGradient, gradientStart, gradientStop } = themeVariables;\n const LEFT_MARGIN = conf.timeline?.leftMargin ?? 50;\n log.debug(\"timeline\", diagObj.db);\n const securityLevel = conf.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select2(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select2(sandboxElement.nodes()[0].contentDocument.body) : select2(\"body\");\n const svg = root.select(\"#\" + id);\n svg.append(\"g\");\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getCommonDb().getDiagramTitle();\n log.debug(\"task\", tasks2);\n svgDraw_default.initGraphics(svg, id);\n const sections2 = diagObj.db.getSections();\n log.debug(\"sections\", sections2);\n let maxSectionHeight = 0;\n let maxTaskHeight = 0;\n let depthY = 0;\n let sectionBeginY = 0;\n let masterX = 50 + LEFT_MARGIN;\n let masterY = 50;\n sectionBeginY = 50;\n let sectionNumber = 0;\n let hasSections = true;\n sections2.forEach(function(section) {\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 150,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n const sectionHeight = svgDraw_default.getVirtualNodeHeight(svg, sectionNode, conf);\n log.debug(\"sectionHeight before draw\", sectionHeight);\n maxSectionHeight = Math.max(maxSectionHeight, sectionHeight + 20);\n });\n let maxEventCount = 0;\n let maxEventLineLength = 0;\n log.debug(\"tasks.length\", tasks2.length);\n for (const [i, task] of tasks2.entries()) {\n const taskNode = {\n number: i,\n descr: task,\n section: task.section,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n const taskHeight = svgDraw_default.getVirtualNodeHeight(svg, taskNode, conf);\n log.debug(\"taskHeight before draw\", taskHeight);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight + 20);\n maxEventCount = Math.max(maxEventCount, task.events.length);\n let maxEventLineLengthTemp = 0;\n for (const event of task.events) {\n const eventNode = {\n descr: event,\n section: task.section,\n number: task.section,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n maxEventLineLengthTemp += svgDraw_default.getVirtualNodeHeight(svg, eventNode, conf);\n }\n if (task.events.length > 0) {\n maxEventLineLengthTemp += (task.events.length - 1) * 10;\n }\n maxEventLineLength = Math.max(maxEventLineLength, maxEventLineLengthTemp);\n }\n log.debug(\"maxSectionHeight before draw\", maxSectionHeight);\n log.debug(\"maxTaskHeight before draw\", maxTaskHeight);\n if (sections2 && sections2.length > 0) {\n sections2.forEach((section) => {\n const tasksForSection = tasks2.filter((task) => task.section === section);\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 200 * Math.max(tasksForSection.length, 1) - 50,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n log.debug(\"sectionNode\", sectionNode);\n const sectionNodeWrapper = svg.append(\"g\");\n const node = svgDraw_default.drawNode(sectionNodeWrapper, sectionNode, sectionNumber, conf, id);\n log.debug(\"sectionNode output\", node);\n sectionNodeWrapper.attr(\"transform\", `translate(${masterX}, ${sectionBeginY})`);\n masterY += maxSectionHeight + 50;\n if (tasksForSection.length > 0) {\n drawTasks(\n svg,\n tasksForSection,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n false,\n id\n );\n }\n masterX += 200 * Math.max(tasksForSection.length, 1);\n masterY = sectionBeginY;\n sectionNumber++;\n });\n } else {\n hasSections = false;\n drawTasks(\n svg,\n tasks2,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n true,\n id\n );\n }\n const box = svg.node().getBBox();\n log.debug(\"bounds\", box);\n if (title) {\n svg.append(\"text\").text(title).attr(\"x\", look === \"neo\" ? box.x * 2 + LEFT_MARGIN : box.width / 2 - LEFT_MARGIN).attr(\"font-size\", \"4ex\").attr(\"font-weight\", \"bold\").attr(\"y\", 20);\n }\n depthY = hasSections ? maxSectionHeight + maxTaskHeight + 150 : maxTaskHeight + 100;\n const lineWrapper = svg.append(\"g\").attr(\"class\", \"lineWrapper\");\n lineWrapper.append(\"line\").attr(\"x1\", LEFT_MARGIN).attr(\"y1\", depthY).attr(\"x2\", box.width + 3 * LEFT_MARGIN).attr(\"y2\", depthY).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", `url(#${id}-arrowhead)`);\n if (look === \"neo\" && useGradient && theme !== \"neutral\") {\n const existingDefs = svg.select(\"defs\");\n const defsEl = existingDefs.empty() ? svg.append(\"defs\") : existingDefs;\n const gradient = defsEl.append(\"linearGradient\").attr(\"id\", svg.attr(\"id\") + \"-gradient\").attr(\"gradientUnits\", \"objectBoundingBox\").attr(\"x1\", \"0%\").attr(\"y1\", \"0%\").attr(\"x2\", \"100%\").attr(\"y2\", \"0%\");\n gradient.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", gradientStart).attr(\"stop-opacity\", 1);\n gradient.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", gradientStop).attr(\"stop-opacity\", 1);\n }\n setupGraphViewbox(\n void 0,\n svg,\n conf.timeline?.padding ?? 50,\n conf.timeline?.useMaxWidth ?? false\n );\n}, \"draw\");\nvar drawTasks = /* @__PURE__ */ __name(function(diagram2, tasks2, sectionColor, masterX, masterY, maxTaskHeight, conf, maxEventCount, maxEventLineLength, maxSectionHeight, isWithoutSections, diagramId) {\n for (const task of tasks2) {\n const taskNode = {\n descr: task.task,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n log.debug(\"taskNode\", taskNode);\n const taskWrapper = diagram2.append(\"g\").attr(\"class\", \"taskWrapper\");\n const node = svgDraw_default.drawNode(taskWrapper, taskNode, sectionColor, conf, diagramId);\n const taskHeight = node.height;\n log.debug(\"taskHeight after draw\", taskHeight);\n taskWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n if (task.events) {\n const lineWrapper = diagram2.append(\"g\").attr(\"class\", \"lineWrapper\");\n let lineLength = maxTaskHeight;\n masterY += 100;\n lineLength = lineLength + drawEvents(diagram2, task.events, sectionColor, masterX, masterY, conf, diagramId);\n masterY -= 100;\n lineWrapper.append(\"line\").attr(\"x1\", masterX + 190 / 2).attr(\"y1\", masterY + maxTaskHeight).attr(\"x2\", masterX + 190 / 2).attr(\"y2\", masterY + maxTaskHeight + 100 + maxEventLineLength + 100).attr(\"stroke-width\", 2).attr(\"stroke\", \"black\").attr(\"marker-end\", `url(#${diagramId}-arrowhead)`).attr(\"stroke-dasharray\", \"5,5\");\n }\n masterX = masterX + 200;\n if (isWithoutSections && !conf.timeline?.disableMulticolor) {\n sectionColor++;\n }\n }\n masterY = masterY - 10;\n}, \"drawTasks\");\nvar drawEvents = /* @__PURE__ */ __name(function(diagram2, events, sectionColor, masterX, masterY, conf, diagramId) {\n let maxEventHeight = 0;\n const eventBeginY = masterY;\n masterY = masterY + 100;\n for (const event of events) {\n const eventNode = {\n descr: event,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n log.debug(\"eventNode\", eventNode);\n const eventWrapper = diagram2.append(\"g\").attr(\"class\", \"eventWrapper\");\n const node = svgDraw_default.drawNode(eventWrapper, eventNode, sectionColor, conf, diagramId, true);\n const eventHeight = node.height;\n maxEventHeight = maxEventHeight + eventHeight;\n eventWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n masterY = masterY + 10 + eventHeight;\n }\n masterY = eventBeginY;\n return maxEventHeight;\n}, \"drawEvents\");\nvar timelineRenderer_default = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw\n};\n\n// src/diagrams/timeline/timelineRendererVertical.ts\nvar NODE_WIDTH = 200;\nvar NODE_PADDING = 5;\nvar NODE_TOTAL_WIDTH = NODE_WIDTH + NODE_PADDING * 2;\nvar EVENT_WIDTH = NODE_WIDTH + 100;\nvar EVENT_TOTAL_WIDTH = EVENT_WIDTH + NODE_PADDING * 2;\nvar EVENT_SPACING = 10;\nvar EVENT_VERTICAL_GAP = 0;\nvar SECTION_TASK_GAP = 20;\nvar TASK_AXIS_GAP = 20;\nvar TASK_VERTICAL_GAP = 30;\nvar EVENT_AXIS_GAP = 50;\nvar draw2 = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf = getConfig2();\n const LEFT_MARGIN = conf.timeline?.leftMargin ?? 50;\n log.debug(\"timeline\", diagObj.db);\n const svg = selectSvgElement(id);\n svg.append(\"g\");\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getCommonDb().getDiagramTitle();\n log.debug(\"task\", tasks2);\n svgDraw_default.initGraphics(svg);\n const sections2 = diagObj.db.getSections();\n log.debug(\"sections\", sections2);\n let maxSectionHeight = 0;\n let maxTaskHeight = 0;\n const masterX = 50 + LEFT_MARGIN;\n let masterY = 50;\n const contentTopY = masterY;\n const sectionBeginX = masterX;\n const leftWidth = NODE_TOTAL_WIDTH + TASK_AXIS_GAP;\n const rightWidth = EVENT_TOTAL_WIDTH + EVENT_AXIS_GAP;\n const axisX = sectionBeginX + leftWidth;\n let sectionNumber = 0;\n const hasSections = sections2 && sections2.length > 0;\n const timelineX = hasSections ? axisX : masterX + leftWidth;\n const sectionWidth = Math.max(50, leftWidth + rightWidth - NODE_PADDING * 2);\n sections2.forEach(function(section) {\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: sectionWidth,\n padding: NODE_PADDING,\n maxHeight: maxSectionHeight\n };\n const sectionHeight = svgDraw_default.getVirtualNodeHeight(svg, sectionNode, conf);\n log.debug(\"sectionHeight before draw\", sectionHeight);\n maxSectionHeight = Math.max(maxSectionHeight, sectionHeight);\n });\n let maxEventStackHeight = 0;\n log.debug(\"tasks.length\", tasks2.length);\n for (const [i, task] of tasks2.entries()) {\n const taskNode = {\n number: i,\n descr: task,\n section: task.section,\n width: NODE_WIDTH,\n padding: NODE_PADDING,\n maxHeight: maxTaskHeight\n };\n const taskHeight = svgDraw_default.getVirtualNodeHeight(svg, taskNode, conf);\n log.debug(\"taskHeight before draw\", taskHeight);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n let maxEventStackHeightTemp = 0;\n for (const event of task.events) {\n const eventNode = {\n descr: event,\n section: task.section,\n number: task.section,\n width: EVENT_WIDTH,\n padding: NODE_PADDING,\n maxHeight: 50\n };\n maxEventStackHeightTemp += svgDraw_default.getVirtualNodeHeight(svg, eventNode, conf);\n }\n if (task.events.length > 0) {\n maxEventStackHeightTemp += (task.events.length - 1) * EVENT_SPACING;\n }\n maxEventStackHeight = Math.max(maxEventStackHeight, maxEventStackHeightTemp) + EVENT_VERTICAL_GAP;\n }\n log.debug(\"maxSectionHeight before draw\", maxSectionHeight);\n log.debug(\"maxTaskHeight before draw\", maxTaskHeight);\n const taskBlockHeight = Math.max(maxTaskHeight, maxEventStackHeight);\n const taskSpacing = taskBlockHeight + TASK_VERTICAL_GAP;\n if (hasSections) {\n sections2.forEach((section) => {\n const tasksForSection = tasks2.filter((task) => task.section === section);\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: sectionWidth,\n padding: NODE_PADDING,\n maxHeight: maxSectionHeight\n };\n log.debug(\"sectionNode\", sectionNode);\n const sectionNodeWrapper = svg.append(\"g\");\n const node = svgDraw_default.drawNode(sectionNodeWrapper, sectionNode, sectionNumber, conf);\n log.debug(\"sectionNode output\", node);\n const sectionX = timelineX - leftWidth;\n sectionNodeWrapper.attr(\"transform\", `translate(${sectionX}, ${masterY})`);\n const taskStartY = masterY + node.height + SECTION_TASK_GAP;\n if (tasksForSection.length > 0) {\n drawTasks2(\n svg,\n tasksForSection,\n sectionNumber,\n timelineX,\n taskStartY,\n maxTaskHeight,\n conf,\n taskSpacing,\n false\n );\n }\n const taskCount2 = tasksForSection.length;\n const sectionHeight = node.height + SECTION_TASK_GAP + taskSpacing * Math.max(taskCount2, 1) - (taskCount2 > 0 ? TASK_VERTICAL_GAP * 2 : 0);\n masterY += sectionHeight;\n sectionNumber++;\n });\n } else {\n drawTasks2(\n svg,\n tasks2,\n sectionNumber,\n timelineX,\n masterY,\n maxTaskHeight,\n conf,\n taskSpacing,\n true\n );\n }\n let box = svg.node()?.getBBox();\n if (!box) {\n throw new Error(\"bbox not found\");\n }\n log.debug(\"bounds\", box);\n if (title) {\n svg.append(\"text\").text(title).attr(\"x\", box.width / 2 - LEFT_MARGIN).attr(\"font-size\", \"4ex\").attr(\"font-weight\", \"bold\").attr(\"y\", 20);\n box = svg.node()?.getBBox();\n if (!box) {\n throw new Error(\"bbox not found\");\n }\n log.debug(\"bounds after title\", box);\n }\n const [fontSize] = parseFontSize(conf.fontSize);\n const arrowTopOffset = (fontSize ?? 16) * 2;\n const arrowBottomPadding = (fontSize ?? 16) * 0.5 + 20;\n const lineWrapper = svg.append(\"g\").attr(\"class\", \"lineWrapper\");\n lineWrapper.append(\"line\").attr(\"x1\", timelineX).attr(\"y1\", contentTopY - arrowTopOffset).attr(\"x2\", timelineX).attr(\"y2\", box.y + box.height + arrowBottomPadding).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\");\n lineWrapper.lower();\n setupGraphViewbox(\n void 0,\n svg,\n conf.timeline?.padding ?? 50,\n conf.timeline?.useMaxWidth ?? false\n );\n}, \"draw\");\nvar drawTasks2 = /* @__PURE__ */ __name(function(diagram2, tasks2, sectionColor, timelineX, masterY, maxTaskHeight, conf, taskSpacing, isWithoutSections) {\n for (const task of tasks2) {\n const taskNode = {\n descr: task.task,\n section: sectionColor,\n number: sectionColor,\n width: NODE_WIDTH,\n padding: NODE_PADDING,\n maxHeight: maxTaskHeight\n };\n log.debug(\"taskNode\", taskNode);\n const taskWrapper = diagram2.append(\"g\").attr(\"class\", \"taskWrapper\");\n const node = svgDraw_default.drawNode(taskWrapper, taskNode, sectionColor, conf);\n const taskHeight = node.height;\n log.debug(\"taskHeight after draw\", taskHeight);\n const taskX = timelineX - TASK_AXIS_GAP - node.width;\n taskWrapper.attr(\"transform\", `translate(${taskX}, ${masterY})`);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n if (task.events && task.events.length > 0) {\n const eventsStartY = masterY;\n const eventsX = timelineX + EVENT_AXIS_GAP;\n drawEvents2(diagram2, task.events, sectionColor, timelineX, eventsX, eventsStartY, conf);\n }\n masterY = masterY + taskSpacing;\n if (isWithoutSections && !conf.timeline?.disableMulticolor) {\n sectionColor++;\n }\n }\n}, \"drawTasks\");\nvar drawEvents2 = /* @__PURE__ */ __name(function(diagram2, events, sectionColor, axisX, eventsX, startY, conf) {\n let currentY = startY;\n for (const event of events) {\n const eventNode = {\n descr: event,\n section: sectionColor,\n number: sectionColor,\n width: EVENT_WIDTH,\n padding: NODE_PADDING,\n maxHeight: 0\n };\n log.debug(\"eventNode\", eventNode);\n const eventWrapper = diagram2.append(\"g\").attr(\"class\", \"eventWrapper\");\n const node = svgDraw_default.drawNode(eventWrapper, eventNode, sectionColor, conf);\n const eventHeight = node.height;\n eventWrapper.attr(\"transform\", `translate(${eventsX}, ${currentY})`);\n const lineWrapper = diagram2.append(\"g\").attr(\"class\", \"lineWrapper\");\n const lineY = currentY + eventHeight / 2;\n lineWrapper.append(\"line\").attr(\"x1\", axisX).attr(\"y1\", lineY).attr(\"x2\", eventsX).attr(\"y2\", lineY).attr(\"stroke-width\", 2).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\").attr(\"stroke-dasharray\", \"5,5\");\n currentY = currentY + eventHeight + EVENT_SPACING;\n }\n return currentY - startY;\n}, \"drawEvents\");\nvar timelineRendererVertical_default = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw: draw2\n};\n\n// src/diagrams/timeline/styles.js\nimport { darken, lighten, isDark } from \"khroma\";\nvar genReduxSections = /* @__PURE__ */ __name((options) => {\n const { theme } = getConfig();\n const isDarkTheme = theme?.includes(\"dark\");\n const isColorTheme = theme?.includes(\"color\");\n const rawSvgId = options.svgId?.replace(/^#/, \"\") ?? \"\";\n const scopedDropShadow = rawSvgId ? `url(#${rawSvgId}-drop-shadow)` : options.dropShadow ?? \"none\";\n let sections2 = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = `${17 - 3 * i}`;\n const color = isColorTheme ? options.borderColorArray[i] : options.mainBkg;\n const stroke = isColorTheme ? options.borderColorArray[i] : options.nodeBorder;\n sections2 += `\n .section-${i - 1} rect,\n .section-${i - 1} path,\n .section-${i - 1} circle {\n fill: ${isDarkTheme && isColorTheme ? options.mainBkg : color};\n stroke: ${stroke};\n stroke-width: ${options.strokeWidth};\n filter: ${scopedDropShadow};\n }\n\n .section-${i - 1} text {\n fill: ${options.nodeBorder};\n font-weight: ${options.fontWeight}\n }\n\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n\n .section-edge-${i - 1} {\n stroke: ${options[\"cScale\" + i]};\n }\n\n .edge-depth-${i - 1} {\n stroke-width: ${sw};\n }\n\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]};\n stroke-width: 3;\n }\n\n .lineWrapper line {\n stroke: ${options.nodeBorder};\n stroke-width:${options.strokeWidth}\n }\n\n .disabled,\n .disabled circle,\n .disabled text {\n fill: ${options.tertiaryColor ?? \"lightgray\"};\n }\n\n .disabled text {\n fill: ${options.clusterBorder ?? \"#efefef\"};\n }\n `;\n }\n return sections2;\n}, \"genReduxSections\");\nvar genSections = /* @__PURE__ */ __name((options) => {\n let sections2 = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n options[\"lineColor\" + i] = options[\"lineColor\" + i] || options[\"cScaleInv\" + i];\n if (isDark(options[\"lineColor\" + i])) {\n options[\"lineColor\" + i] = lighten(options[\"lineColor\" + i], 20);\n } else {\n options[\"lineColor\" + i] = darken(options[\"lineColor\" + i], 20);\n }\n }\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = \"\" + (17 - 3 * i);\n sections2 += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${i - 1} path {\n fill: ${options[\"cScale\" + i]};\n }\n .section-${i - 1} text {\n fill: ${options[\"cScaleLabel\" + i]};\n }\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n .section-edge-${i - 1}{\n stroke: ${options[\"cScale\" + i]};\n }\n .edge-depth-${i - 1}{\n stroke-width: ${sw};\n }\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]} ;\n stroke-width: 3;\n }\n\n .lineWrapper line{\n stroke: ${options[\"cScaleLabel\" + i]} ;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: ${options.tertiaryColor ?? \"lightgray\"};\n }\n .disabled text {\n fill: ${options.clusterBorder ?? \"#efefef\"};\n }\n `;\n }\n return sections2;\n}, \"genSections\");\nvar getStyles = /* @__PURE__ */ __name((options) => {\n const { theme } = getConfig();\n const isReduxTheme = theme?.includes(\"redux\");\n const isNeutralTheme = theme === \"neutral\";\n const rawSvgId = options.svgId?.replace(/^#/, \"\") ?? \"\";\n let gradientSections = \"\";\n if (options.useGradient && rawSvgId && options.THEME_COLOR_LIMIT && !isNeutralTheme) {\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n gradientSections += `\n .section-${i - 1}[data-look=\"neo\"] rect,\n .section-${i - 1}[data-look=\"neo\"] path,\n .section-${i - 1}[data-look=\"neo\"] circle {\n fill: ${options.mainBkg};\n stroke: url(#${rawSvgId}-gradient);\n stroke-width: 2;\n }\n .section-${i - 1}[data-look=\"neo\"] line {\n stroke: url(#${rawSvgId}-gradient);\n stroke-width: 2;\n }`;\n }\n }\n return `\n .edge {\n stroke-width: 3;\n }\n ${isReduxTheme ? genReduxSections(options) : genSections(options)}\n ${gradientSections}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`;\n}, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/timeline/timeline-definition.ts\nvar rendererSelector = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw: /* @__PURE__ */ __name((text, id, version, diagObj) => {\n const direction2 = diagObj?.db?.getDirection?.() ?? \"LR\";\n if (direction2 === \"TD\") {\n return timelineRendererVertical_default.draw(text, id, version, diagObj);\n }\n return timelineRenderer_default.draw(text, id, version, diagObj);\n }, \"draw\")\n};\nvar diagram = {\n db: timelineDb_exports,\n renderer: rendererSelector,\n parser: timeline_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["parser","o","__name","v","o2","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","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","n","lex","token","symbol","state","action","r","yyval","p","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","next","pre","c","match","indexed_rule","backup","tempMatch","index","rules","i","condition","yy_","$avoiding_name_collisions","YY_START","Parser","timeline_default","timelineDb_exports","__export","addEvent","addSection","addTask","addTaskOrg","clear2","timelineDb_default","getCommonDb","getDirection","getSections","getTasks","setDirection","currentSection","currentTaskId","direction","sections","tasks","rawTasks","commonDb_exports","clear","dir","txt","allItemsProcessed","compileTasks","maxDepth","iterationCount","period","length","event","rawTask","task","descr","newTask","compileTask","pos","allProcessed","nodeCount","drawRect","elem","rectData","rectElem","drawFace","element","faceData","circleElement","face","smile","face2","arc","d3arc","sad","ambivalent","drawCircle","circleData","drawText","textData","nText","textElem","span","drawLabel","txtObject","genPoints","x","y","width","height","cut","polygon","drawSection","section","conf","g","rect","getNoteRect","_drawTextCandidateFunc","taskCount","drawTask","diagramId","center","drawBackgroundRect","bounds","getTextObj","byText","content","textAttrs","colour","text","_setTextAttrs","byTspan","taskFontSize","taskFontFamily","dy","byFo","body","toText","fromTextAttrsDict","key","initGraphics","graphics","id","wrap","text2","select","words","word","line","lineHeight","tspan","j","drawNode","node","fullSection","isEvent","theme","look","isReduxTheme","maxSections","nodeElem","bkgElem","bbox","fontSize","defaultBkg","isDark2","rootSvgNode","rootSvg","svgId","dropShadowId","existingDefs","getVirtualNodeHeight","config","rd","d","svgDraw_default","draw","version","diagObj","getConfig2","themeVariables","useGradient","gradientStart","gradientStop","LEFT_MARGIN","log","securityLevel","sandboxElement","select2","svg","tasks2","title","sections2","maxSectionHeight","maxTaskHeight","depthY","sectionBeginY","masterX","masterY","sectionNumber","hasSections","sectionNode","sectionHeight","maxEventCount","maxEventLineLength","taskNode","taskHeight","maxEventLineLengthTemp","eventNode","tasksForSection","sectionNodeWrapper","drawTasks","box","gradient","setupGraphViewbox","diagram2","sectionColor","isWithoutSections","taskWrapper","lineWrapper","lineLength","drawEvents","events","maxEventHeight","eventBeginY","eventWrapper","eventHeight","timelineRenderer_default","NODE_WIDTH","NODE_PADDING","NODE_TOTAL_WIDTH","EVENT_WIDTH","EVENT_TOTAL_WIDTH","EVENT_SPACING","EVENT_VERTICAL_GAP","SECTION_TASK_GAP","TASK_AXIS_GAP","TASK_VERTICAL_GAP","EVENT_AXIS_GAP","draw2","selectSvgElement","contentTopY","sectionBeginX","leftWidth","rightWidth","axisX","timelineX","sectionWidth","maxEventStackHeight","maxEventStackHeightTemp","taskSpacing","sectionX","taskStartY","drawTasks2","taskCount2","parseFontSize","arrowTopOffset","arrowBottomPadding","taskX","eventsStartY","eventsX","drawEvents2","startY","currentY","lineY","timelineRendererVertical_default","genReduxSections","options","getConfig","isDarkTheme","isColorTheme","rawSvgId","scopedDropShadow","sw","color","stroke","genSections","isDark","lighten","darken","getStyles","isNeutralTheme","gradientSections","styles_default","rendererSelector","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"timeline-definition-FHXFAJF6-U6tU13YO.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-FHXFAJF6.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.mjs\";\nimport {\n parseFontSize\n} from \"./chunk-ICXQ74PX.mjs\";\nimport {\n clear,\n commonDb_exports,\n getConfig,\n getConfig2,\n setupGraphViewbox\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __export,\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/timeline/parser/timeline.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 = [6, 11, 13, 14, 15, 17, 19, 20, 23, 24], $V1 = [1, 12], $V2 = [1, 13], $V3 = [1, 14], $V4 = [1, 15], $V5 = [1, 16], $V6 = [1, 19], $V7 = [1, 20];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"timeline_header\": 4, \"document\": 5, \"EOF\": 6, \"timeline\": 7, \"timeline_lr\": 8, \"timeline_td\": 9, \"line\": 10, \"SPACE\": 11, \"statement\": 12, \"NEWLINE\": 13, \"title\": 14, \"acc_title\": 15, \"acc_title_value\": 16, \"acc_descr\": 17, \"acc_descr_value\": 18, \"acc_descr_multiline_value\": 19, \"section\": 20, \"period_statement\": 21, \"event_statement\": 22, \"period\": 23, \"event\": 24, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"EOF\", 7: \"timeline\", 8: \"timeline_lr\", 9: \"timeline_td\", 11: \"SPACE\", 13: \"NEWLINE\", 14: \"title\", 15: \"acc_title\", 16: \"acc_title_value\", 17: \"acc_descr\", 18: \"acc_descr_value\", 19: \"acc_descr_multiline_value\", 20: \"section\", 23: \"period\", 24: \"event\" },\n productions_: [0, [3, 3], [4, 1], [4, 1], [4, 1], [5, 0], [5, 2], [10, 2], [10, 1], [10, 1], [10, 1], [12, 1], [12, 2], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [21, 1], [22, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 3:\n yy.setDirection(\"LR\");\n break;\n case 4:\n yy.setDirection(\"TD\");\n break;\n case 5:\n this.$ = [];\n break;\n case 6:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 7:\n case 8:\n this.$ = $$[$0];\n break;\n case 9:\n case 10:\n this.$ = [];\n break;\n case 11:\n yy.getCommonDb().setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 12:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccTitle(this.$);\n break;\n case 13:\n case 14:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccDescription(this.$);\n break;\n case 15:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 18:\n yy.addTask($$[$0], 0, \"\");\n this.$ = $$[$0];\n break;\n case 19:\n yy.addEvent($$[$0].substr(2));\n this.$ = $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 7: [1, 3], 8: [1, 4], 9: [1, 5] }, { 1: [3] }, o($V0, [2, 5], { 5: 6 }), o($V0, [2, 2]), o($V0, [2, 3]), o($V0, [2, 4]), { 6: [1, 7], 10: 8, 11: [1, 9], 12: 10, 13: [1, 11], 14: $V1, 15: $V2, 17: $V3, 19: $V4, 20: $V5, 21: 17, 22: 18, 23: $V6, 24: $V7 }, o($V0, [2, 10], { 1: [2, 1] }), o($V0, [2, 6]), { 12: 21, 14: $V1, 15: $V2, 17: $V3, 19: $V4, 20: $V5, 21: 17, 22: 18, 23: $V6, 24: $V7 }, o($V0, [2, 8]), o($V0, [2, 9]), o($V0, [2, 11]), { 16: [1, 22] }, { 18: [1, 23] }, o($V0, [2, 14]), o($V0, [2, 15]), o($V0, [2, 16]), o($V0, [2, 17]), o($V0, [2, 18]), o($V0, [2, 19]), o($V0, [2, 7]), o($V0, [2, 12]), o($V0, [2, 13])],\n defaultActions: {},\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 break;\n case 1:\n break;\n case 2:\n return 13;\n break;\n case 3:\n break;\n case 4:\n break;\n case 5:\n return 8;\n break;\n case 6:\n return 9;\n break;\n case 7:\n return 7;\n break;\n case 8:\n return 14;\n break;\n case 9:\n this.begin(\"acc_title\");\n return 15;\n break;\n case 10:\n this.popState();\n return \"acc_title_value\";\n break;\n case 11:\n this.begin(\"acc_descr\");\n return 17;\n break;\n case 12:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 13:\n this.begin(\"acc_descr_multiline\");\n break;\n case 14:\n this.popState();\n break;\n case 15:\n return \"acc_descr_multiline_value\";\n break;\n case 16:\n return 20;\n break;\n case 17:\n return 24;\n break;\n case 18:\n return 23;\n break;\n case 19:\n return 6;\n break;\n case 20:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:timeline[ \\t]+LR\\b)/i, /^(?:timeline[ \\t]+TD\\b)/i, /^(?:timeline\\b)/i, /^(?:title\\s[^\\n]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:section\\s[^:\\n]+)/i, /^(?::\\s(?:[^:\\n]|:(?!\\s))+)/i, /^(?:[^#:\\n]+)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [14, 15], \"inclusive\": false }, \"acc_descr\": { \"rules\": [12], \"inclusive\": false }, \"acc_title\": { \"rules\": [10], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 16, 17, 18, 19, 20], \"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 timeline_default = parser;\n\n// src/diagrams/timeline/timelineDb.js\nvar timelineDb_exports = {};\n__export(timelineDb_exports, {\n addEvent: () => addEvent,\n addSection: () => addSection,\n addTask: () => addTask,\n addTaskOrg: () => addTaskOrg,\n clear: () => clear2,\n default: () => timelineDb_default,\n getCommonDb: () => getCommonDb,\n getDirection: () => getDirection,\n getSections: () => getSections,\n getTasks: () => getTasks,\n setDirection: () => setDirection\n});\nvar currentSection = \"\";\nvar currentTaskId = 0;\nvar direction = \"LR\";\nvar sections = [];\nvar tasks = [];\nvar rawTasks = [];\nvar getCommonDb = /* @__PURE__ */ __name(() => commonDb_exports, \"getCommonDb\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n sections.length = 0;\n tasks.length = 0;\n currentSection = \"\";\n rawTasks.length = 0;\n direction = \"LR\";\n clear();\n}, \"clear\");\nvar setDirection = /* @__PURE__ */ __name(function(dir) {\n direction = dir;\n}, \"setDirection\");\nvar getDirection = /* @__PURE__ */ __name(function() {\n return direction;\n}, \"getDirection\");\nvar addSection = /* @__PURE__ */ __name(function(txt) {\n currentSection = txt;\n sections.push(txt);\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getTasks = /* @__PURE__ */ __name(function() {\n let allItemsProcessed = compileTasks();\n const maxDepth = 100;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks.push(...rawTasks);\n return tasks;\n}, \"getTasks\");\nvar addTask = /* @__PURE__ */ __name(function(period, length, event) {\n const rawTask = {\n id: currentTaskId++,\n section: currentSection,\n type: currentSection,\n task: period,\n score: length ? length : 0,\n //if event is defined, then add it the events array\n events: event ? [event] : []\n };\n rawTasks.push(rawTask);\n}, \"addTask\");\nvar addEvent = /* @__PURE__ */ __name(function(event) {\n const currentTask = rawTasks.find((task) => task.id === currentTaskId - 1);\n currentTask.events.push(event);\n}, \"addEvent\");\nvar addTaskOrg = /* @__PURE__ */ __name(function(descr) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n tasks.push(newTask);\n}, \"addTaskOrg\");\nvar compileTasks = /* @__PURE__ */ __name(function() {\n const compileTask = /* @__PURE__ */ __name(function(pos) {\n return rawTasks[pos].processed;\n }, \"compileTask\");\n let allProcessed = true;\n for (const [i, rawTask] of rawTasks.entries()) {\n compileTask(i);\n allProcessed = allProcessed && rawTask.processed;\n }\n return allProcessed;\n}, \"compileTasks\");\nvar timelineDb_default = {\n clear: clear2,\n getCommonDb,\n getDirection,\n setDirection,\n addSection,\n getSections,\n getTasks,\n addTask,\n addTaskOrg,\n addEvent\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nimport { select as select2 } from \"d3\";\n\n// src/diagrams/timeline/svgDraw.js\nimport { arc as d3arc, select } from \"d3\";\nvar nodeCount = 0;\nvar drawRect = /* @__PURE__ */ __name(function(elem, rectData) {\n const rectElem = elem.append(\"rect\");\n rectElem.attr(\"x\", rectData.x);\n rectElem.attr(\"y\", rectData.y);\n rectElem.attr(\"fill\", rectData.fill);\n rectElem.attr(\"stroke\", rectData.stroke);\n rectElem.attr(\"width\", rectData.width);\n rectElem.attr(\"height\", rectData.height);\n rectElem.attr(\"rx\", rectData.rx);\n rectElem.attr(\"ry\", rectData.ry);\n if (rectData.class !== void 0) {\n rectElem.attr(\"class\", rectData.class);\n }\n return rectElem;\n}, \"drawRect\");\nvar drawFace = /* @__PURE__ */ __name(function(element, faceData) {\n const radius = 15;\n const circleElement = element.append(\"circle\").attr(\"cx\", faceData.cx).attr(\"cy\", faceData.cy).attr(\"class\", \"face\").attr(\"r\", radius).attr(\"stroke-width\", 2).attr(\"overflow\", \"visible\");\n const face = element.append(\"g\");\n face.append(\"circle\").attr(\"cx\", faceData.cx - radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n face.append(\"circle\").attr(\"cx\", faceData.cx + radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n function smile(face2) {\n const arc = d3arc().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 2) + \")\");\n }\n __name(smile, \"smile\");\n function sad(face2) {\n const arc = d3arc().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 7) + \")\");\n }\n __name(sad, \"sad\");\n function ambivalent(face2) {\n face2.append(\"line\").attr(\"class\", \"mouth\").attr(\"stroke\", 2).attr(\"x1\", faceData.cx - 5).attr(\"y1\", faceData.cy + 7).attr(\"x2\", faceData.cx + 5).attr(\"y2\", faceData.cy + 7).attr(\"class\", \"mouth\").attr(\"stroke-width\", \"1px\").attr(\"stroke\", \"#666\");\n }\n __name(ambivalent, \"ambivalent\");\n if (faceData.score > 3) {\n smile(face);\n } else if (faceData.score < 3) {\n sad(face);\n } else {\n ambivalent(face);\n }\n return circleElement;\n}, \"drawFace\");\nvar drawCircle = /* @__PURE__ */ __name(function(element, circleData) {\n const circleElement = element.append(\"circle\");\n circleElement.attr(\"cx\", circleData.cx);\n circleElement.attr(\"cy\", circleData.cy);\n circleElement.attr(\"class\", \"actor-\" + circleData.pos);\n circleElement.attr(\"fill\", circleData.fill);\n circleElement.attr(\"stroke\", circleData.stroke);\n circleElement.attr(\"r\", circleData.r);\n if (circleElement.class !== void 0) {\n circleElement.attr(\"class\", circleElement.class);\n }\n if (circleData.title !== void 0) {\n circleElement.append(\"title\").text(circleData.title);\n }\n return circleElement;\n}, \"drawCircle\");\nvar drawText = /* @__PURE__ */ __name(function(elem, textData) {\n const nText = textData.text.replace(/<br\\s*\\/?>/gi, \" \");\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x + textData.textMargin * 2);\n span.text(nText);\n return textElem;\n}, \"drawText\");\nvar drawLabel = /* @__PURE__ */ __name(function(elem, txtObject) {\n function genPoints(x, y, width, height, cut) {\n return x + \",\" + y + \" \" + (x + width) + \",\" + y + \" \" + (x + width) + \",\" + (y + height - cut) + \" \" + (x + width - cut * 1.2) + \",\" + (y + height) + \" \" + x + \",\" + (y + height);\n }\n __name(genPoints, \"genPoints\");\n const polygon = elem.append(\"polygon\");\n polygon.attr(\"points\", genPoints(txtObject.x, txtObject.y, 50, 20, 7));\n polygon.attr(\"class\", \"labelBox\");\n txtObject.y = txtObject.y + txtObject.labelMargin;\n txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin;\n drawText(elem, txtObject);\n}, \"drawLabel\");\nvar drawSection = /* @__PURE__ */ __name(function(elem, section, conf) {\n const g = elem.append(\"g\");\n const rect = getNoteRect();\n rect.x = section.x;\n rect.y = section.y;\n rect.fill = section.fill;\n rect.width = conf.width;\n rect.height = conf.height;\n rect.class = \"journey-section section-type-\" + section.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\n section.text,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"journey-section section-type-\" + section.num },\n conf,\n section.colour\n );\n}, \"drawSection\");\nvar taskCount = -1;\nvar drawTask = /* @__PURE__ */ __name(function(elem, task, conf, diagramId) {\n const center = task.x + conf.width / 2;\n const g = elem.append(\"g\");\n taskCount++;\n const maxHeight = 300 + 5 * 30;\n g.append(\"line\").attr(\"id\", diagramId + \"-task\" + taskCount).attr(\"x1\", center).attr(\"y1\", task.y).attr(\"x2\", center).attr(\"y2\", maxHeight).attr(\"class\", \"task-line\").attr(\"stroke-width\", \"1px\").attr(\"stroke-dasharray\", \"4 2\").attr(\"stroke\", \"#666\");\n drawFace(g, {\n cx: center,\n cy: 300 + (5 - task.score) * 30,\n score: task.score\n });\n const rect = getNoteRect();\n rect.x = task.x;\n rect.y = task.y;\n rect.fill = task.fill;\n rect.width = conf.width;\n rect.height = conf.height;\n rect.class = \"task task-type-\" + task.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\n task.task,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"task\" },\n conf,\n task.colour\n );\n}, \"drawTask\");\nvar drawBackgroundRect = /* @__PURE__ */ __name(function(elem, bounds) {\n const rectElem = drawRect(elem, {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n class: \"rect\"\n });\n rectElem.lower();\n}, \"drawBackgroundRect\");\nvar getTextObj = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n \"text-anchor\": \"start\",\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0\n };\n}, \"getTextObj\");\nvar getNoteRect = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n width: 100,\n anchor: \"start\",\n height: 100,\n rx: 0,\n ry: 0\n };\n}, \"getNoteRect\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ (function() {\n function byText(content, g, x, y, width, height, textAttrs, colour) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"font-color\", colour).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf, colour) {\n const { taskFontSize, taskFontFamily } = conf;\n const lines = content.split(/<br\\s*\\/?>/gi);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * taskFontSize - taskFontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).attr(\"fill\", colour).style(\"text-anchor\", \"middle\").style(\"font-size\", taskFontSize).style(\"font-family\", taskFontFamily);\n text.append(\"tspan\").attr(\"x\", x + width / 2).attr(\"dy\", dy).text(lines[i]);\n text.attr(\"y\", y + height / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf) {\n const body = g.append(\"switch\");\n const f = body.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height).attr(\"position\", \"fixed\");\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").attr(\"class\", \"label\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, body, x, y, width, height, textAttrs, conf);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (key in fromTextAttrsDict) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf) {\n return conf.textPlacement === \"fo\" ? byFo : conf.textPlacement === \"old\" ? byText : byTspan;\n };\n})();\nvar initGraphics = /* @__PURE__ */ __name(function(graphics, id) {\n nodeCount = 0;\n taskCount = -1;\n graphics.append(\"defs\").append(\"marker\").attr(\"id\", id + \"-arrowhead\").attr(\"refX\", 5).attr(\"refY\", 2).attr(\"markerWidth\", 6).attr(\"markerHeight\", 4).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0,0 V 4 L6,2 Z\");\n}, \"initGraphics\");\nfunction wrap(text, width) {\n text.each(function() {\n var text2 = select(this), words = text2.text().split(/(\\s+|<br>)/).reverse(), word, line = [], lineHeight = 1.1, y = text2.attr(\"y\"), dy = parseFloat(text2.attr(\"dy\")), tspan = text2.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", dy + \"em\");\n for (let j = 0; j < words.length; j++) {\n word = words[words.length - 1 - j];\n line.push(word);\n tspan.text(line.join(\" \").trim());\n if (tspan.node().getComputedTextLength() > width || word === \"<br>\") {\n line.pop();\n tspan.text(line.join(\" \").trim());\n if (word === \"<br>\") {\n line = [\"\"];\n } else {\n line = [word];\n }\n tspan = text2.append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", lineHeight + \"em\").text(word);\n }\n }\n });\n}\n__name(wrap, \"wrap\");\nvar drawNode = /* @__PURE__ */ __name(function(elem, node, fullSection, conf, diagramId, isEvent = false) {\n const { theme, look } = conf;\n const isReduxTheme = theme?.includes(\"redux\");\n const maxSections = conf?.themeVariables?.THEME_COLOR_LIMIT ?? 12;\n const section = fullSection % maxSections - 1;\n const nodeElem = elem.append(\"g\");\n node.section = section;\n nodeElem.attr(\n \"class\",\n (node.class ? node.class + \" \" : \"\") + \"timeline-node \" + (\"section-\" + section)\n );\n const bkgElem = nodeElem.append(\"g\");\n const textElem = nodeElem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n node.height = bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n node.height = Math.max(node.height, node.maxHeight);\n node.width = node.width + 2 * node.padding;\n textElem.attr(\"transform\", \"translate(\" + node.width / 2 + \", \" + node.padding / 2 + \")\");\n if (isReduxTheme) {\n textElem.attr(\n \"transform\",\n `translate(${node.width / 2}, ${isEvent ? node.padding / 2 + 3 : node.padding})`\n );\n }\n defaultBkg(bkgElem, node, section, diagramId, conf);\n if (look === \"neo\") {\n nodeElem.attr(\"data-look\", `neo`);\n if (isReduxTheme) {\n const isDark2 = theme.includes(\"dark\");\n const rootSvgNode = elem.node()?.ownerSVGElement ?? elem.node();\n const rootSvg = select(rootSvgNode);\n const svgId = rootSvg.attr(\"id\") ?? \"\";\n const dropShadowId = svgId ? `${svgId}-drop-shadow` : \"drop-shadow\";\n if (rootSvg.select(`#${dropShadowId}`).empty()) {\n const existingDefs = rootSvg.select(\"defs\");\n const defsEl = existingDefs.empty() ? rootSvg.append(\"defs\") : existingDefs;\n defsEl.append(\"filter\").attr(\"id\", dropShadowId).attr(\"height\", \"130%\").attr(\"width\", \"130%\").append(\"feDropShadow\").attr(\"dx\", \"4\").attr(\"dy\", \"4\").attr(\"stdDeviation\", 0).attr(\"flood-opacity\", isDark2 ? \"0.2\" : \"0.06\").attr(\"flood-color\", isDark2 ? \"#FFFFFF\" : \"#000000\");\n }\n }\n }\n return node;\n}, \"drawNode\");\nvar getVirtualNodeHeight = /* @__PURE__ */ __name(function(elem, node, conf) {\n const textElem = elem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n textElem.remove();\n return bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n}, \"getVirtualNodeHeight\");\nvar defaultBkg = /* @__PURE__ */ __name(function(elem, node, section, diagramId, config) {\n const { theme } = config;\n const r = theme?.includes(\"redux\") ? 0 : 5;\n const rd = 5;\n const d = r > 0 ? `M0 ${node.height - rd} v${-node.height + 2 * rd} q0,-${r},${r},-${r} h${node.width - 2 * rd} q${r},0,${r},${r} v${node.height - rd} H0 Z` : `M0 ${node.height - rd} v${-(node.height - rd)} h${node.width} v${node.height} H0 Z`;\n elem.append(\"path\").attr(\"id\", diagramId + \"-node-\" + nodeCount++).attr(\"class\", \"node-bkg node-\" + node.type).attr(\"d\", d);\n if (!theme?.includes(\"redux\")) {\n elem.append(\"line\").attr(\"class\", \"node-line-\" + section).attr(\"x1\", 0).attr(\"y1\", node.height).attr(\"x2\", node.width).attr(\"y2\", node.height);\n }\n}, \"defaultBkg\");\nvar svgDraw_default = {\n drawRect,\n drawCircle,\n drawSection,\n drawText,\n drawLabel,\n drawTask,\n drawBackgroundRect,\n getTextObj,\n getNoteRect,\n initGraphics,\n drawNode,\n getVirtualNodeHeight\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf = getConfig2();\n const { look, theme, themeVariables } = conf;\n const { useGradient, gradientStart, gradientStop } = themeVariables;\n const LEFT_MARGIN = conf.timeline?.leftMargin ?? 50;\n log.debug(\"timeline\", diagObj.db);\n const securityLevel = conf.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select2(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select2(sandboxElement.nodes()[0].contentDocument.body) : select2(\"body\");\n const svg = root.select(\"#\" + id);\n svg.append(\"g\");\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getCommonDb().getDiagramTitle();\n log.debug(\"task\", tasks2);\n svgDraw_default.initGraphics(svg, id);\n const sections2 = diagObj.db.getSections();\n log.debug(\"sections\", sections2);\n let maxSectionHeight = 0;\n let maxTaskHeight = 0;\n let depthY = 0;\n let sectionBeginY = 0;\n let masterX = 50 + LEFT_MARGIN;\n let masterY = 50;\n sectionBeginY = 50;\n let sectionNumber = 0;\n let hasSections = true;\n sections2.forEach(function(section) {\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 150,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n const sectionHeight = svgDraw_default.getVirtualNodeHeight(svg, sectionNode, conf);\n log.debug(\"sectionHeight before draw\", sectionHeight);\n maxSectionHeight = Math.max(maxSectionHeight, sectionHeight + 20);\n });\n let maxEventCount = 0;\n let maxEventLineLength = 0;\n log.debug(\"tasks.length\", tasks2.length);\n for (const [i, task] of tasks2.entries()) {\n const taskNode = {\n number: i,\n descr: task,\n section: task.section,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n const taskHeight = svgDraw_default.getVirtualNodeHeight(svg, taskNode, conf);\n log.debug(\"taskHeight before draw\", taskHeight);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight + 20);\n maxEventCount = Math.max(maxEventCount, task.events.length);\n let maxEventLineLengthTemp = 0;\n for (const event of task.events) {\n const eventNode = {\n descr: event,\n section: task.section,\n number: task.section,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n maxEventLineLengthTemp += svgDraw_default.getVirtualNodeHeight(svg, eventNode, conf);\n }\n if (task.events.length > 0) {\n maxEventLineLengthTemp += (task.events.length - 1) * 10;\n }\n maxEventLineLength = Math.max(maxEventLineLength, maxEventLineLengthTemp);\n }\n log.debug(\"maxSectionHeight before draw\", maxSectionHeight);\n log.debug(\"maxTaskHeight before draw\", maxTaskHeight);\n if (sections2 && sections2.length > 0) {\n sections2.forEach((section) => {\n const tasksForSection = tasks2.filter((task) => task.section === section);\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 200 * Math.max(tasksForSection.length, 1) - 50,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n log.debug(\"sectionNode\", sectionNode);\n const sectionNodeWrapper = svg.append(\"g\");\n const node = svgDraw_default.drawNode(sectionNodeWrapper, sectionNode, sectionNumber, conf, id);\n log.debug(\"sectionNode output\", node);\n sectionNodeWrapper.attr(\"transform\", `translate(${masterX}, ${sectionBeginY})`);\n masterY += maxSectionHeight + 50;\n if (tasksForSection.length > 0) {\n drawTasks(\n svg,\n tasksForSection,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n false,\n id\n );\n }\n masterX += 200 * Math.max(tasksForSection.length, 1);\n masterY = sectionBeginY;\n sectionNumber++;\n });\n } else {\n hasSections = false;\n drawTasks(\n svg,\n tasks2,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n true,\n id\n );\n }\n const box = svg.node().getBBox();\n log.debug(\"bounds\", box);\n if (title) {\n svg.append(\"text\").text(title).attr(\"x\", look === \"neo\" ? box.x * 2 + LEFT_MARGIN : box.width / 2 - LEFT_MARGIN).attr(\"font-size\", \"4ex\").attr(\"font-weight\", \"bold\").attr(\"y\", 20);\n }\n depthY = hasSections ? maxSectionHeight + maxTaskHeight + 150 : maxTaskHeight + 100;\n const lineWrapper = svg.append(\"g\").attr(\"class\", \"lineWrapper\");\n lineWrapper.append(\"line\").attr(\"x1\", LEFT_MARGIN).attr(\"y1\", depthY).attr(\"x2\", box.width + 3 * LEFT_MARGIN).attr(\"y2\", depthY).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", `url(#${id}-arrowhead)`);\n if (look === \"neo\" && useGradient && theme !== \"neutral\") {\n const existingDefs = svg.select(\"defs\");\n const defsEl = existingDefs.empty() ? svg.append(\"defs\") : existingDefs;\n const gradient = defsEl.append(\"linearGradient\").attr(\"id\", svg.attr(\"id\") + \"-gradient\").attr(\"gradientUnits\", \"objectBoundingBox\").attr(\"x1\", \"0%\").attr(\"y1\", \"0%\").attr(\"x2\", \"100%\").attr(\"y2\", \"0%\");\n gradient.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", gradientStart).attr(\"stop-opacity\", 1);\n gradient.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", gradientStop).attr(\"stop-opacity\", 1);\n }\n setupGraphViewbox(\n void 0,\n svg,\n conf.timeline?.padding ?? 50,\n conf.timeline?.useMaxWidth ?? false\n );\n}, \"draw\");\nvar drawTasks = /* @__PURE__ */ __name(function(diagram2, tasks2, sectionColor, masterX, masterY, maxTaskHeight, conf, maxEventCount, maxEventLineLength, maxSectionHeight, isWithoutSections, diagramId) {\n for (const task of tasks2) {\n const taskNode = {\n descr: task.task,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n log.debug(\"taskNode\", taskNode);\n const taskWrapper = diagram2.append(\"g\").attr(\"class\", \"taskWrapper\");\n const node = svgDraw_default.drawNode(taskWrapper, taskNode, sectionColor, conf, diagramId);\n const taskHeight = node.height;\n log.debug(\"taskHeight after draw\", taskHeight);\n taskWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n if (task.events) {\n const lineWrapper = diagram2.append(\"g\").attr(\"class\", \"lineWrapper\");\n let lineLength = maxTaskHeight;\n masterY += 100;\n lineLength = lineLength + drawEvents(diagram2, task.events, sectionColor, masterX, masterY, conf, diagramId);\n masterY -= 100;\n lineWrapper.append(\"line\").attr(\"x1\", masterX + 190 / 2).attr(\"y1\", masterY + maxTaskHeight).attr(\"x2\", masterX + 190 / 2).attr(\"y2\", masterY + maxTaskHeight + 100 + maxEventLineLength + 100).attr(\"stroke-width\", 2).attr(\"stroke\", \"black\").attr(\"marker-end\", `url(#${diagramId}-arrowhead)`).attr(\"stroke-dasharray\", \"5,5\");\n }\n masterX = masterX + 200;\n if (isWithoutSections && !conf.timeline?.disableMulticolor) {\n sectionColor++;\n }\n }\n masterY = masterY - 10;\n}, \"drawTasks\");\nvar drawEvents = /* @__PURE__ */ __name(function(diagram2, events, sectionColor, masterX, masterY, conf, diagramId) {\n let maxEventHeight = 0;\n const eventBeginY = masterY;\n masterY = masterY + 100;\n for (const event of events) {\n const eventNode = {\n descr: event,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n log.debug(\"eventNode\", eventNode);\n const eventWrapper = diagram2.append(\"g\").attr(\"class\", \"eventWrapper\");\n const node = svgDraw_default.drawNode(eventWrapper, eventNode, sectionColor, conf, diagramId, true);\n const eventHeight = node.height;\n maxEventHeight = maxEventHeight + eventHeight;\n eventWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n masterY = masterY + 10 + eventHeight;\n }\n masterY = eventBeginY;\n return maxEventHeight;\n}, \"drawEvents\");\nvar timelineRenderer_default = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw\n};\n\n// src/diagrams/timeline/timelineRendererVertical.ts\nvar NODE_WIDTH = 200;\nvar NODE_PADDING = 5;\nvar NODE_TOTAL_WIDTH = NODE_WIDTH + NODE_PADDING * 2;\nvar EVENT_WIDTH = NODE_WIDTH + 100;\nvar EVENT_TOTAL_WIDTH = EVENT_WIDTH + NODE_PADDING * 2;\nvar EVENT_SPACING = 10;\nvar EVENT_VERTICAL_GAP = 0;\nvar SECTION_TASK_GAP = 20;\nvar TASK_AXIS_GAP = 20;\nvar TASK_VERTICAL_GAP = 30;\nvar EVENT_AXIS_GAP = 50;\nvar draw2 = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf = getConfig2();\n const LEFT_MARGIN = conf.timeline?.leftMargin ?? 50;\n log.debug(\"timeline\", diagObj.db);\n const svg = selectSvgElement(id);\n svg.append(\"g\");\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getCommonDb().getDiagramTitle();\n log.debug(\"task\", tasks2);\n svgDraw_default.initGraphics(svg);\n const sections2 = diagObj.db.getSections();\n log.debug(\"sections\", sections2);\n let maxSectionHeight = 0;\n let maxTaskHeight = 0;\n const masterX = 50 + LEFT_MARGIN;\n let masterY = 50;\n const contentTopY = masterY;\n const sectionBeginX = masterX;\n const leftWidth = NODE_TOTAL_WIDTH + TASK_AXIS_GAP;\n const rightWidth = EVENT_TOTAL_WIDTH + EVENT_AXIS_GAP;\n const axisX = sectionBeginX + leftWidth;\n let sectionNumber = 0;\n const hasSections = sections2 && sections2.length > 0;\n const timelineX = hasSections ? axisX : masterX + leftWidth;\n const sectionWidth = Math.max(50, leftWidth + rightWidth - NODE_PADDING * 2);\n sections2.forEach(function(section) {\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: sectionWidth,\n padding: NODE_PADDING,\n maxHeight: maxSectionHeight\n };\n const sectionHeight = svgDraw_default.getVirtualNodeHeight(svg, sectionNode, conf);\n log.debug(\"sectionHeight before draw\", sectionHeight);\n maxSectionHeight = Math.max(maxSectionHeight, sectionHeight);\n });\n let maxEventStackHeight = 0;\n log.debug(\"tasks.length\", tasks2.length);\n for (const [i, task] of tasks2.entries()) {\n const taskNode = {\n number: i,\n descr: task,\n section: task.section,\n width: NODE_WIDTH,\n padding: NODE_PADDING,\n maxHeight: maxTaskHeight\n };\n const taskHeight = svgDraw_default.getVirtualNodeHeight(svg, taskNode, conf);\n log.debug(\"taskHeight before draw\", taskHeight);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n let maxEventStackHeightTemp = 0;\n for (const event of task.events) {\n const eventNode = {\n descr: event,\n section: task.section,\n number: task.section,\n width: EVENT_WIDTH,\n padding: NODE_PADDING,\n maxHeight: 50\n };\n maxEventStackHeightTemp += svgDraw_default.getVirtualNodeHeight(svg, eventNode, conf);\n }\n if (task.events.length > 0) {\n maxEventStackHeightTemp += (task.events.length - 1) * EVENT_SPACING;\n }\n maxEventStackHeight = Math.max(maxEventStackHeight, maxEventStackHeightTemp) + EVENT_VERTICAL_GAP;\n }\n log.debug(\"maxSectionHeight before draw\", maxSectionHeight);\n log.debug(\"maxTaskHeight before draw\", maxTaskHeight);\n const taskBlockHeight = Math.max(maxTaskHeight, maxEventStackHeight);\n const taskSpacing = taskBlockHeight + TASK_VERTICAL_GAP;\n if (hasSections) {\n sections2.forEach((section) => {\n const tasksForSection = tasks2.filter((task) => task.section === section);\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: sectionWidth,\n padding: NODE_PADDING,\n maxHeight: maxSectionHeight\n };\n log.debug(\"sectionNode\", sectionNode);\n const sectionNodeWrapper = svg.append(\"g\");\n const node = svgDraw_default.drawNode(sectionNodeWrapper, sectionNode, sectionNumber, conf);\n log.debug(\"sectionNode output\", node);\n const sectionX = timelineX - leftWidth;\n sectionNodeWrapper.attr(\"transform\", `translate(${sectionX}, ${masterY})`);\n const taskStartY = masterY + node.height + SECTION_TASK_GAP;\n if (tasksForSection.length > 0) {\n drawTasks2(\n svg,\n tasksForSection,\n sectionNumber,\n timelineX,\n taskStartY,\n maxTaskHeight,\n conf,\n taskSpacing,\n false\n );\n }\n const taskCount2 = tasksForSection.length;\n const sectionHeight = node.height + SECTION_TASK_GAP + taskSpacing * Math.max(taskCount2, 1) - (taskCount2 > 0 ? TASK_VERTICAL_GAP * 2 : 0);\n masterY += sectionHeight;\n sectionNumber++;\n });\n } else {\n drawTasks2(\n svg,\n tasks2,\n sectionNumber,\n timelineX,\n masterY,\n maxTaskHeight,\n conf,\n taskSpacing,\n true\n );\n }\n let box = svg.node()?.getBBox();\n if (!box) {\n throw new Error(\"bbox not found\");\n }\n log.debug(\"bounds\", box);\n if (title) {\n svg.append(\"text\").text(title).attr(\"x\", box.width / 2 - LEFT_MARGIN).attr(\"font-size\", \"4ex\").attr(\"font-weight\", \"bold\").attr(\"y\", 20);\n box = svg.node()?.getBBox();\n if (!box) {\n throw new Error(\"bbox not found\");\n }\n log.debug(\"bounds after title\", box);\n }\n const [fontSize] = parseFontSize(conf.fontSize);\n const arrowTopOffset = (fontSize ?? 16) * 2;\n const arrowBottomPadding = (fontSize ?? 16) * 0.5 + 20;\n const lineWrapper = svg.append(\"g\").attr(\"class\", \"lineWrapper\");\n lineWrapper.append(\"line\").attr(\"x1\", timelineX).attr(\"y1\", contentTopY - arrowTopOffset).attr(\"x2\", timelineX).attr(\"y2\", box.y + box.height + arrowBottomPadding).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\");\n lineWrapper.lower();\n setupGraphViewbox(\n void 0,\n svg,\n conf.timeline?.padding ?? 50,\n conf.timeline?.useMaxWidth ?? false\n );\n}, \"draw\");\nvar drawTasks2 = /* @__PURE__ */ __name(function(diagram2, tasks2, sectionColor, timelineX, masterY, maxTaskHeight, conf, taskSpacing, isWithoutSections) {\n for (const task of tasks2) {\n const taskNode = {\n descr: task.task,\n section: sectionColor,\n number: sectionColor,\n width: NODE_WIDTH,\n padding: NODE_PADDING,\n maxHeight: maxTaskHeight\n };\n log.debug(\"taskNode\", taskNode);\n const taskWrapper = diagram2.append(\"g\").attr(\"class\", \"taskWrapper\");\n const node = svgDraw_default.drawNode(taskWrapper, taskNode, sectionColor, conf);\n const taskHeight = node.height;\n log.debug(\"taskHeight after draw\", taskHeight);\n const taskX = timelineX - TASK_AXIS_GAP - node.width;\n taskWrapper.attr(\"transform\", `translate(${taskX}, ${masterY})`);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n if (task.events && task.events.length > 0) {\n const eventsStartY = masterY;\n const eventsX = timelineX + EVENT_AXIS_GAP;\n drawEvents2(diagram2, task.events, sectionColor, timelineX, eventsX, eventsStartY, conf);\n }\n masterY = masterY + taskSpacing;\n if (isWithoutSections && !conf.timeline?.disableMulticolor) {\n sectionColor++;\n }\n }\n}, \"drawTasks\");\nvar drawEvents2 = /* @__PURE__ */ __name(function(diagram2, events, sectionColor, axisX, eventsX, startY, conf) {\n let currentY = startY;\n for (const event of events) {\n const eventNode = {\n descr: event,\n section: sectionColor,\n number: sectionColor,\n width: EVENT_WIDTH,\n padding: NODE_PADDING,\n maxHeight: 0\n };\n log.debug(\"eventNode\", eventNode);\n const eventWrapper = diagram2.append(\"g\").attr(\"class\", \"eventWrapper\");\n const node = svgDraw_default.drawNode(eventWrapper, eventNode, sectionColor, conf);\n const eventHeight = node.height;\n eventWrapper.attr(\"transform\", `translate(${eventsX}, ${currentY})`);\n const lineWrapper = diagram2.append(\"g\").attr(\"class\", \"lineWrapper\");\n const lineY = currentY + eventHeight / 2;\n lineWrapper.append(\"line\").attr(\"x1\", axisX).attr(\"y1\", lineY).attr(\"x2\", eventsX).attr(\"y2\", lineY).attr(\"stroke-width\", 2).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\").attr(\"stroke-dasharray\", \"5,5\");\n currentY = currentY + eventHeight + EVENT_SPACING;\n }\n return currentY - startY;\n}, \"drawEvents\");\nvar timelineRendererVertical_default = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw: draw2\n};\n\n// src/diagrams/timeline/styles.js\nimport { darken, lighten, isDark } from \"khroma\";\nvar genReduxSections = /* @__PURE__ */ __name((options) => {\n const { theme } = getConfig();\n const isDarkTheme = theme?.includes(\"dark\");\n const isColorTheme = theme?.includes(\"color\");\n const rawSvgId = options.svgId?.replace(/^#/, \"\") ?? \"\";\n const scopedDropShadow = rawSvgId ? `url(#${rawSvgId}-drop-shadow)` : options.dropShadow ?? \"none\";\n let sections2 = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = `${17 - 3 * i}`;\n const color = isColorTheme ? options.borderColorArray[i] : options.mainBkg;\n const stroke = isColorTheme ? options.borderColorArray[i] : options.nodeBorder;\n sections2 += `\n .section-${i - 1} rect,\n .section-${i - 1} path,\n .section-${i - 1} circle {\n fill: ${isDarkTheme && isColorTheme ? options.mainBkg : color};\n stroke: ${stroke};\n stroke-width: ${options.strokeWidth};\n filter: ${scopedDropShadow};\n }\n\n .section-${i - 1} text {\n fill: ${options.nodeBorder};\n font-weight: ${options.fontWeight}\n }\n\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n\n .section-edge-${i - 1} {\n stroke: ${options[\"cScale\" + i]};\n }\n\n .edge-depth-${i - 1} {\n stroke-width: ${sw};\n }\n\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]};\n stroke-width: 3;\n }\n\n .lineWrapper line {\n stroke: ${options.nodeBorder};\n stroke-width:${options.strokeWidth}\n }\n\n .disabled,\n .disabled circle,\n .disabled text {\n fill: ${options.tertiaryColor ?? \"lightgray\"};\n }\n\n .disabled text {\n fill: ${options.clusterBorder ?? \"#efefef\"};\n }\n `;\n }\n return sections2;\n}, \"genReduxSections\");\nvar genSections = /* @__PURE__ */ __name((options) => {\n let sections2 = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n options[\"lineColor\" + i] = options[\"lineColor\" + i] || options[\"cScaleInv\" + i];\n if (isDark(options[\"lineColor\" + i])) {\n options[\"lineColor\" + i] = lighten(options[\"lineColor\" + i], 20);\n } else {\n options[\"lineColor\" + i] = darken(options[\"lineColor\" + i], 20);\n }\n }\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = \"\" + (17 - 3 * i);\n sections2 += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${i - 1} path {\n fill: ${options[\"cScale\" + i]};\n }\n .section-${i - 1} text {\n fill: ${options[\"cScaleLabel\" + i]};\n }\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n .section-edge-${i - 1}{\n stroke: ${options[\"cScale\" + i]};\n }\n .edge-depth-${i - 1}{\n stroke-width: ${sw};\n }\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]} ;\n stroke-width: 3;\n }\n\n .lineWrapper line{\n stroke: ${options[\"cScaleLabel\" + i]} ;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: ${options.tertiaryColor ?? \"lightgray\"};\n }\n .disabled text {\n fill: ${options.clusterBorder ?? \"#efefef\"};\n }\n `;\n }\n return sections2;\n}, \"genSections\");\nvar getStyles = /* @__PURE__ */ __name((options) => {\n const { theme } = getConfig();\n const isReduxTheme = theme?.includes(\"redux\");\n const isNeutralTheme = theme === \"neutral\";\n const rawSvgId = options.svgId?.replace(/^#/, \"\") ?? \"\";\n let gradientSections = \"\";\n if (options.useGradient && rawSvgId && options.THEME_COLOR_LIMIT && !isNeutralTheme) {\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n gradientSections += `\n .section-${i - 1}[data-look=\"neo\"] rect,\n .section-${i - 1}[data-look=\"neo\"] path,\n .section-${i - 1}[data-look=\"neo\"] circle {\n fill: ${options.mainBkg};\n stroke: url(#${rawSvgId}-gradient);\n stroke-width: 2;\n }\n .section-${i - 1}[data-look=\"neo\"] line {\n stroke: url(#${rawSvgId}-gradient);\n stroke-width: 2;\n }`;\n }\n }\n return `\n .edge {\n stroke-width: 3;\n }\n ${isReduxTheme ? genReduxSections(options) : genSections(options)}\n ${gradientSections}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`;\n}, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/timeline/timeline-definition.ts\nvar rendererSelector = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw: /* @__PURE__ */ __name((text, id, version, diagObj) => {\n const direction2 = diagObj?.db?.getDirection?.() ?? \"LR\";\n if (direction2 === \"TD\") {\n return timelineRendererVertical_default.draw(text, id, version, diagObj);\n }\n return timelineRenderer_default.draw(text, id, version, diagObj);\n }, \"draw\")\n};\nvar diagram = {\n db: timelineDb_exports,\n renderer: rendererSelector,\n parser: timeline_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["parser","o","__name","v","o2","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","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","n","lex","token","symbol","state","action","r","yyval","p","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","next","pre","c","match","indexed_rule","backup","tempMatch","index","rules","i","condition","yy_","$avoiding_name_collisions","YY_START","Parser","timeline_default","timelineDb_exports","__export","addEvent","addSection","addTask","addTaskOrg","clear2","timelineDb_default","getCommonDb","getDirection","getSections","getTasks","setDirection","currentSection","currentTaskId","direction","sections","tasks","rawTasks","commonDb_exports","clear","dir","txt","allItemsProcessed","compileTasks","maxDepth","iterationCount","period","length","event","rawTask","task","descr","newTask","compileTask","pos","allProcessed","nodeCount","drawRect","elem","rectData","rectElem","drawFace","element","faceData","circleElement","face","smile","face2","arc","d3arc","sad","ambivalent","drawCircle","circleData","drawText","textData","nText","textElem","span","drawLabel","txtObject","genPoints","x","y","width","height","cut","polygon","drawSection","section","conf","g","rect","getNoteRect","_drawTextCandidateFunc","taskCount","drawTask","diagramId","center","drawBackgroundRect","bounds","getTextObj","byText","content","textAttrs","colour","text","_setTextAttrs","byTspan","taskFontSize","taskFontFamily","dy","byFo","body","toText","fromTextAttrsDict","key","initGraphics","graphics","id","wrap","text2","select","words","word","line","lineHeight","tspan","j","drawNode","node","fullSection","isEvent","theme","look","isReduxTheme","maxSections","nodeElem","bkgElem","bbox","fontSize","defaultBkg","isDark2","rootSvgNode","rootSvg","svgId","dropShadowId","existingDefs","getVirtualNodeHeight","config","rd","d","svgDraw_default","draw","version","diagObj","getConfig2","themeVariables","useGradient","gradientStart","gradientStop","LEFT_MARGIN","log","securityLevel","sandboxElement","select2","svg","tasks2","title","sections2","maxSectionHeight","maxTaskHeight","depthY","sectionBeginY","masterX","masterY","sectionNumber","hasSections","sectionNode","sectionHeight","maxEventCount","maxEventLineLength","taskNode","taskHeight","maxEventLineLengthTemp","eventNode","tasksForSection","sectionNodeWrapper","drawTasks","box","gradient","setupGraphViewbox","diagram2","sectionColor","isWithoutSections","taskWrapper","lineWrapper","lineLength","drawEvents","events","maxEventHeight","eventBeginY","eventWrapper","eventHeight","timelineRenderer_default","NODE_WIDTH","NODE_PADDING","NODE_TOTAL_WIDTH","EVENT_WIDTH","EVENT_TOTAL_WIDTH","EVENT_SPACING","EVENT_VERTICAL_GAP","SECTION_TASK_GAP","TASK_AXIS_GAP","TASK_VERTICAL_GAP","EVENT_AXIS_GAP","draw2","selectSvgElement","contentTopY","sectionBeginX","leftWidth","rightWidth","axisX","timelineX","sectionWidth","maxEventStackHeight","maxEventStackHeightTemp","taskSpacing","sectionX","taskStartY","drawTasks2","taskCount2","parseFontSize","arrowTopOffset","arrowBottomPadding","taskX","eventsStartY","eventsX","drawEvents2","startY","currentY","lineY","timelineRendererVertical_default","genReduxSections","options","getConfig","isDarkTheme","isColorTheme","rawSvgId","scopedDropShadow","sw","color","stroke","genSections","isDark","lighten","darken","getStyles","isNeutralTheme","gradientSections","styles_default","rendererSelector","diagram"],"mappings":"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","x_google_ignoreList":[0]}
|