sketchboard-app 1.0.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/bin/sketchboard.js +49 -0
- package/package.json +38 -0
- package/public/Assistant-Regular.woff2 +0 -0
- package/public/Cascadia.woff2 +0 -0
- package/public/Virgil.woff2 +0 -0
- package/public/_headers +2 -0
- package/public/android-chrome-192x192.png +0 -0
- package/public/android-chrome-512x512.png +0 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/assets/CodeMirrorEditor-DLdTFwmz.js +2 -0
- package/public/assets/CodeMirrorEditor-DLdTFwmz.js.map +1 -0
- package/public/assets/_basePickBy-ZfSBwMAc.js +2 -0
- package/public/assets/_basePickBy-ZfSBwMAc.js.map +1 -0
- package/public/assets/_baseUniq-BrAtqm7r.js +2 -0
- package/public/assets/_baseUniq-BrAtqm7r.js.map +1 -0
- package/public/assets/architectureDiagram-VXUJARFQ-CM5vRAuo.js +37 -0
- package/public/assets/architectureDiagram-VXUJARFQ-CM5vRAuo.js.map +1 -0
- package/public/assets/blockDiagram-VD42YOAC-B1Z6hTXo.js +123 -0
- package/public/assets/blockDiagram-VD42YOAC-B1Z6hTXo.js.map +1 -0
- package/public/assets/bug-issue-template-BID_ABWq.js +12 -0
- package/public/assets/bug-issue-template-BID_ABWq.js.map +1 -0
- package/public/assets/c4Diagram-YG6GDRKO-Cv9Zizqx.js +11 -0
- package/public/assets/c4Diagram-YG6GDRKO-Cv9Zizqx.js.map +1 -0
- package/public/assets/chunk-4BX2VUAB-Bb3u24_X.js +2 -0
- package/public/assets/chunk-4BX2VUAB-Bb3u24_X.js.map +1 -0
- package/public/assets/chunk-55IACEB6-91xqgfYx.js +2 -0
- package/public/assets/chunk-55IACEB6-91xqgfYx.js.map +1 -0
- package/public/assets/chunk-B4BG7PRW-CQKyBsz0.js +166 -0
- package/public/assets/chunk-B4BG7PRW-CQKyBsz0.js.map +1 -0
- package/public/assets/chunk-DI55MBZ5-BY2TlPT6.js +221 -0
- package/public/assets/chunk-DI55MBZ5-BY2TlPT6.js.map +1 -0
- package/public/assets/chunk-FMBD7UC4-B2zhnDqu.js +16 -0
- package/public/assets/chunk-FMBD7UC4-B2zhnDqu.js.map +1 -0
- package/public/assets/chunk-QN33PNHL-CkKTlLkk.js +2 -0
- package/public/assets/chunk-QN33PNHL-CkKTlLkk.js.map +1 -0
- package/public/assets/chunk-QZHKN3VN-CD9rwyT-.js +2 -0
- package/public/assets/chunk-QZHKN3VN-CD9rwyT-.js.map +1 -0
- package/public/assets/chunk-TZMSLE5B-CGEL2dZG.js +2 -0
- package/public/assets/chunk-TZMSLE5B-CGEL2dZG.js.map +1 -0
- package/public/assets/classDiagram-2ON5EDUG-OE1zz8Rb.js +2 -0
- package/public/assets/classDiagram-2ON5EDUG-OE1zz8Rb.js.map +1 -0
- package/public/assets/classDiagram-v2-WZHVMYZB-OE1zz8Rb.js +2 -0
- package/public/assets/classDiagram-v2-WZHVMYZB-OE1zz8Rb.js.map +1 -0
- package/public/assets/clone-DKsuYKPC.js +2 -0
- package/public/assets/clone-DKsuYKPC.js.map +1 -0
- package/public/assets/codemirror.chunk-CLhMQAUm.js +13 -0
- package/public/assets/codemirror.chunk-CLhMQAUm.js.map +1 -0
- package/public/assets/cose-bilkent-S5V4N54A-BOimuZ77.js +2 -0
- package/public/assets/cose-bilkent-S5V4N54A-BOimuZ77.js.map +1 -0
- package/public/assets/cytoscape.esm-CyJtwmzi.js +332 -0
- package/public/assets/cytoscape.esm-CyJtwmzi.js.map +1 -0
- package/public/assets/dagre-6UL2VRFP-DYyliwSQ.js +5 -0
- package/public/assets/dagre-6UL2VRFP-DYyliwSQ.js.map +1 -0
- package/public/assets/diagram-PSM6KHXK-BLc04vxi.js +25 -0
- package/public/assets/diagram-PSM6KHXK-BLc04vxi.js.map +1 -0
- package/public/assets/diagram-QEK2KX5R-ukB6kMmO.js +44 -0
- package/public/assets/diagram-QEK2KX5R-ukB6kMmO.js.map +1 -0
- package/public/assets/diagram-S2PKOQOG-DaX2mZca.js +25 -0
- package/public/assets/diagram-S2PKOQOG-DaX2mZca.js.map +1 -0
- package/public/assets/erDiagram-Q2GNP2WA-DL9LpaEF.js +61 -0
- package/public/assets/erDiagram-Q2GNP2WA-DL9LpaEF.js.map +1 -0
- package/public/assets/flowDiagram-NV44I4VS-CIstAb2z.js +163 -0
- package/public/assets/flowDiagram-NV44I4VS-CIstAb2z.js.map +1 -0
- package/public/assets/ganttDiagram-JELNMOA3-CNSqBTtR.js +268 -0
- package/public/assets/ganttDiagram-JELNMOA3-CNSqBTtR.js.map +1 -0
- package/public/assets/gitGraphDiagram-NY62KEGX-DxG2NOZV.js +66 -0
- package/public/assets/gitGraphDiagram-NY62KEGX-DxG2NOZV.js.map +1 -0
- package/public/assets/graph-CDNE6afq.js +2 -0
- package/public/assets/graph-CDNE6afq.js.map +1 -0
- package/public/assets/image-blob-reduce.esm-B6b2_-a4.js +8 -0
- package/public/assets/image-blob-reduce.esm-B6b2_-a4.js.map +1 -0
- package/public/assets/index-BqdqoSDd.css +1 -0
- package/public/assets/index-ChGp7972.js +2 -0
- package/public/assets/index-ChGp7972.js.map +1 -0
- package/public/assets/index-DPcDil7M.js +310 -0
- package/public/assets/index-DPcDil7M.js.map +1 -0
- package/public/assets/infoDiagram-WHAUD3N6-B_GahSu_.js +3 -0
- package/public/assets/infoDiagram-WHAUD3N6-B_GahSu_.js.map +1 -0
- package/public/assets/journeyDiagram-XKPGCS4Q-BpcUsKNT.js +140 -0
- package/public/assets/journeyDiagram-XKPGCS4Q-BpcUsKNT.js.map +1 -0
- package/public/assets/kanban-definition-3W4ZIXB7-BbuWO2gE.js +90 -0
- package/public/assets/kanban-definition-3W4ZIXB7-BbuWO2gE.js.map +1 -0
- package/public/assets/katex-Cu_Erd72.js +262 -0
- package/public/assets/katex-Cu_Erd72.js.map +1 -0
- package/public/assets/layout-DQkrSs1j.js +2 -0
- package/public/assets/layout-DQkrSs1j.js.map +1 -0
- package/public/assets/locales/ar-SA.json-B0e8d-qe.js +9 -0
- package/public/assets/locales/ar-SA.json-B0e8d-qe.js.map +1 -0
- package/public/assets/locales/az-AZ.json-DtyjPp_C.js +2 -0
- package/public/assets/locales/az-AZ.json-DtyjPp_C.js.map +1 -0
- package/public/assets/locales/bg-BG.json-CqhOM8G4.js +6 -0
- package/public/assets/locales/bg-BG.json-CqhOM8G4.js.map +1 -0
- package/public/assets/locales/bn-BD.json-CarEu6to.js +4 -0
- package/public/assets/locales/bn-BD.json-CarEu6to.js.map +1 -0
- package/public/assets/locales/bn-IN.json-vhiIjuiP.js +4 -0
- package/public/assets/locales/bn-IN.json-vhiIjuiP.js.map +1 -0
- package/public/assets/locales/ca-ES.json-DDTuZiJG.js +9 -0
- package/public/assets/locales/ca-ES.json-DDTuZiJG.js.map +1 -0
- package/public/assets/locales/cs-CZ.json-GJzW7TSE.js +8 -0
- package/public/assets/locales/cs-CZ.json-GJzW7TSE.js.map +1 -0
- package/public/assets/locales/da-DK.json-Be0TzPzl.js +3 -0
- package/public/assets/locales/da-DK.json-Be0TzPzl.js.map +1 -0
- package/public/assets/locales/de-CH.json-D69230kg.js +8 -0
- package/public/assets/locales/de-CH.json-D69230kg.js.map +1 -0
- package/public/assets/locales/de-DE.json-D69230kg.js +8 -0
- package/public/assets/locales/de-DE.json-D69230kg.js.map +1 -0
- package/public/assets/locales/el-GR.json-CHr149cq.js +8 -0
- package/public/assets/locales/el-GR.json-CHr149cq.js.map +1 -0
- package/public/assets/locales/es-ES.json-mElEeZ2D.js +8 -0
- package/public/assets/locales/es-ES.json-mElEeZ2D.js.map +1 -0
- package/public/assets/locales/eu-ES.json-CNw2jJEU.js +8 -0
- package/public/assets/locales/eu-ES.json-CNw2jJEU.js.map +1 -0
- package/public/assets/locales/fa-IR.json-92JiA0KN.js +10 -0
- package/public/assets/locales/fa-IR.json-92JiA0KN.js.map +1 -0
- package/public/assets/locales/fi-FI.json-CdOAdcjo.js +7 -0
- package/public/assets/locales/fi-FI.json-CdOAdcjo.js.map +1 -0
- package/public/assets/locales/fr-FR.json-Cl7dF38g.js +13 -0
- package/public/assets/locales/fr-FR.json-Cl7dF38g.js.map +1 -0
- package/public/assets/locales/gl-ES.json-fzzZLZQ9.js +7 -0
- package/public/assets/locales/gl-ES.json-fzzZLZQ9.js.map +1 -0
- package/public/assets/locales/he-IL.json-BAKkfUWM.js +9 -0
- package/public/assets/locales/he-IL.json-BAKkfUWM.js.map +1 -0
- package/public/assets/locales/hi-IN.json-CUCyTyWo.js +4 -0
- package/public/assets/locales/hi-IN.json-CUCyTyWo.js.map +1 -0
- package/public/assets/locales/hu-HU.json-CV3SA8ex.js +4 -0
- package/public/assets/locales/hu-HU.json-CV3SA8ex.js.map +1 -0
- package/public/assets/locales/id-ID.json-DE2Cqq5b.js +9 -0
- package/public/assets/locales/id-ID.json-DE2Cqq5b.js.map +1 -0
- package/public/assets/locales/it-IT.json-2PLJraya.js +13 -0
- package/public/assets/locales/it-IT.json-2PLJraya.js.map +1 -0
- package/public/assets/locales/ja-JP.json-CQMoyVLC.js +8 -0
- package/public/assets/locales/ja-JP.json-CQMoyVLC.js.map +1 -0
- package/public/assets/locales/kaa.json-Dh-4QROb.js +2 -0
- package/public/assets/locales/kaa.json-Dh-4QROb.js.map +1 -0
- package/public/assets/locales/kab-KAB.json-B6YUps6Z.js +5 -0
- package/public/assets/locales/kab-KAB.json-B6YUps6Z.js.map +1 -0
- package/public/assets/locales/kk-KZ.json-1lyZ103-.js +2 -0
- package/public/assets/locales/kk-KZ.json-1lyZ103-.js.map +1 -0
- package/public/assets/locales/km-KH.json-YG2La45k.js +8 -0
- package/public/assets/locales/km-KH.json-YG2La45k.js.map +1 -0
- package/public/assets/locales/ko-KR.json-DQzg7NpQ.js +6 -0
- package/public/assets/locales/ko-KR.json-DQzg7NpQ.js.map +1 -0
- package/public/assets/locales/ku-TR.json-DulXJuPf.js +7 -0
- package/public/assets/locales/ku-TR.json-DulXJuPf.js.map +1 -0
- package/public/assets/locales/lt-LT.json-BI5PGxiE.js +4 -0
- package/public/assets/locales/lt-LT.json-BI5PGxiE.js.map +1 -0
- package/public/assets/locales/lv-LV.json-Dd3uiNAK.js +5 -0
- package/public/assets/locales/lv-LV.json-Dd3uiNAK.js.map +1 -0
- package/public/assets/locales/mr-IN.json-CE3us3Fi.js +10 -0
- package/public/assets/locales/mr-IN.json-CE3us3Fi.js.map +1 -0
- package/public/assets/locales/my-MM.json-B-uNC5oj.js +2 -0
- package/public/assets/locales/my-MM.json-B-uNC5oj.js.map +1 -0
- package/public/assets/locales/nb-NO.json-B2a_ll4z.js +9 -0
- package/public/assets/locales/nb-NO.json-B2a_ll4z.js.map +1 -0
- package/public/assets/locales/nl-NL.json-CfAX9f-w.js +14 -0
- package/public/assets/locales/nl-NL.json-CfAX9f-w.js.map +1 -0
- package/public/assets/locales/nn-NO.json-CIGsfoKm.js +5 -0
- package/public/assets/locales/nn-NO.json-CIGsfoKm.js.map +1 -0
- package/public/assets/locales/oc-FR.json-DfxVss9i.js +5 -0
- package/public/assets/locales/oc-FR.json-DfxVss9i.js.map +1 -0
- package/public/assets/locales/pa-IN.json-Cyd9VJab.js +5 -0
- package/public/assets/locales/pa-IN.json-Cyd9VJab.js.map +1 -0
- package/public/assets/locales/pl-PL.json-CB5UbRiG.js +13 -0
- package/public/assets/locales/pl-PL.json-CB5UbRiG.js.map +1 -0
- package/public/assets/locales/pt-BR.json-GPJR67js.js +7 -0
- package/public/assets/locales/pt-BR.json-GPJR67js.js.map +1 -0
- package/public/assets/locales/pt-PT.json-Cyhb98dc.js +9 -0
- package/public/assets/locales/pt-PT.json-Cyhb98dc.js.map +1 -0
- package/public/assets/locales/ro-RO.json-DtuisOGY.js +13 -0
- package/public/assets/locales/ro-RO.json-DtuisOGY.js.map +1 -0
- package/public/assets/locales/ru-RU.json-C9d6W5vW.js +11 -0
- package/public/assets/locales/ru-RU.json-C9d6W5vW.js.map +1 -0
- package/public/assets/locales/si-LK.json-DWhqtTpr.js +2 -0
- package/public/assets/locales/si-LK.json-DWhqtTpr.js.map +1 -0
- package/public/assets/locales/sk-SK.json-Dp16EYYR.js +8 -0
- package/public/assets/locales/sk-SK.json-Dp16EYYR.js.map +1 -0
- package/public/assets/locales/sl-SI.json-CXPYOnbI.js +7 -0
- package/public/assets/locales/sl-SI.json-CXPYOnbI.js.map +1 -0
- package/public/assets/locales/sv-SE.json-DECpv7fU.js +9 -0
- package/public/assets/locales/sv-SE.json-DECpv7fU.js.map +1 -0
- package/public/assets/locales/ta-IN.json-5HNGLlpx.js +7 -0
- package/public/assets/locales/ta-IN.json-5HNGLlpx.js.map +1 -0
- package/public/assets/locales/th-TH.json-t8UcrCT-.js +2 -0
- package/public/assets/locales/th-TH.json-t8UcrCT-.js.map +1 -0
- package/public/assets/locales/tr-TR.json-DClzbz6u.js +5 -0
- package/public/assets/locales/tr-TR.json-DClzbz6u.js.map +1 -0
- package/public/assets/locales/uk-UA.json-DD2kmKOm.js +7 -0
- package/public/assets/locales/uk-UA.json-DD2kmKOm.js.map +1 -0
- package/public/assets/locales/uz-UZ.json-D78i0hec.js +2 -0
- package/public/assets/locales/uz-UZ.json-D78i0hec.js.map +1 -0
- package/public/assets/locales/vi-VN.json-DbtrA-ar.js +8 -0
- package/public/assets/locales/vi-VN.json-DbtrA-ar.js.map +1 -0
- package/public/assets/locales/zh-CN.json-D8B0Xgmh.js +12 -0
- package/public/assets/locales/zh-CN.json-D8B0Xgmh.js.map +1 -0
- package/public/assets/locales/zh-HK.json-Bv007uRw.js +2 -0
- package/public/assets/locales/zh-HK.json-Bv007uRw.js.map +1 -0
- package/public/assets/locales/zh-TW.json-BvenwCxf.js +10 -0
- package/public/assets/locales/zh-TW.json-BvenwCxf.js.map +1 -0
- package/public/assets/mermaid-to-excalidraw-D-aVQaad.js +280 -0
- package/public/assets/mermaid-to-excalidraw-D-aVQaad.js.map +1 -0
- package/public/assets/mindmap-definition-VGOIOE7T-mFLCToYA.js +69 -0
- package/public/assets/mindmap-definition-VGOIOE7T-mFLCToYA.js.map +1 -0
- package/public/assets/pica-fTKOVOgy.js +8 -0
- package/public/assets/pica-fTKOVOgy.js.map +1 -0
- package/public/assets/pieDiagram-ADFJNKIX-tDTRGJE3.js +31 -0
- package/public/assets/pieDiagram-ADFJNKIX-tDTRGJE3.js.map +1 -0
- package/public/assets/qrcode.chunk-DRz-_p9I.js +2 -0
- package/public/assets/qrcode.chunk-DRz-_p9I.js.map +1 -0
- package/public/assets/quadrantDiagram-AYHSOK5B-Y6TmIak2.js +8 -0
- package/public/assets/quadrantDiagram-AYHSOK5B-Y6TmIak2.js.map +1 -0
- package/public/assets/random-username.esm-__vdrxyo.js +2 -0
- package/public/assets/random-username.esm-__vdrxyo.js.map +1 -0
- package/public/assets/requirementDiagram-UZGBJVZJ-D7lgxClk.js +65 -0
- package/public/assets/requirementDiagram-UZGBJVZJ-D7lgxClk.js.map +1 -0
- package/public/assets/roundRect-0PYZxl1G.js +2 -0
- package/public/assets/roundRect-0PYZxl1G.js.map +1 -0
- package/public/assets/sankeyDiagram-TZEHDZUN-DeN5o3Zo.js +11 -0
- package/public/assets/sankeyDiagram-TZEHDZUN-DeN5o3Zo.js.map +1 -0
- package/public/assets/sequenceDiagram-WL72ISMW-A2jXBx54.js +146 -0
- package/public/assets/sequenceDiagram-WL72ISMW-A2jXBx54.js.map +1 -0
- package/public/assets/stateDiagram-FKZM4ZOC-tI2s18Rq.js +2 -0
- package/public/assets/stateDiagram-FKZM4ZOC-tI2s18Rq.js.map +1 -0
- package/public/assets/stateDiagram-v2-4FDKWEC3-BxhL9Cgi.js +2 -0
- package/public/assets/stateDiagram-v2-4FDKWEC3-BxhL9Cgi.js.map +1 -0
- package/public/assets/subset-shared.chunk-D3ioWSie.js +85 -0
- package/public/assets/subset-shared.chunk-D3ioWSie.js.map +1 -0
- package/public/assets/subset-worker.chunk-CVR6pt27.js +2 -0
- package/public/assets/subset-worker.chunk-CVR6pt27.js.map +1 -0
- package/public/assets/timeline-definition-IT6M3QCI-Bth-_zy2.js +62 -0
- package/public/assets/timeline-definition-IT6M3QCI-Bth-_zy2.js.map +1 -0
- package/public/assets/treemap-KMMF4GRG-CNTnVawn.js +135 -0
- package/public/assets/treemap-KMMF4GRG-CNTnVawn.js.map +1 -0
- package/public/assets/workbox-window.prod.es5-B9K5rw8f.js +3 -0
- package/public/assets/workbox-window.prod.es5-B9K5rw8f.js.map +1 -0
- package/public/assets/xychartDiagram-PRI3JC2R-C0zuH6pP.js +8 -0
- package/public/assets/xychartDiagram-PRI3JC2R-C0zuH6pP.js.map +1 -0
- package/public/favicon-16x16.png +0 -0
- package/public/favicon-32x32.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/favicon.svg +7 -0
- package/public/fonts/CascadiaCode/CascadiaCode-Regular.woff2 +0 -0
- package/public/fonts/ComicShanns/ComicShanns-Regular-279a7b317d12eb88de06167bd672b4b4.woff2 +0 -0
- package/public/fonts/ComicShanns/ComicShanns-Regular-6e066e8de2ac57ea9283adb9c24d7f0c.woff2 +0 -0
- package/public/fonts/ComicShanns/ComicShanns-Regular-dc6a8806fa96795d7b3be5026f989a17.woff2 +0 -0
- package/public/fonts/ComicShanns/ComicShanns-Regular-fcb0fc02dcbee4c9846b3e2508668039.woff2 +0 -0
- package/public/fonts/Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2 +0 -0
- package/public/fonts/Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2 +0 -0
- package/public/fonts/Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2 +0 -0
- package/public/fonts/Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2 +0 -0
- package/public/fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2 +0 -0
- package/public/fonts/Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2 +0 -0
- package/public/fonts/Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2 +0 -0
- package/public/fonts/LiberationSans/LiberationSans-Regular.woff2 +0 -0
- package/public/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2 +0 -0
- package/public/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2 +0 -0
- package/public/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2 +0 -0
- package/public/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2 +0 -0
- package/public/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2 +0 -0
- package/public/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2 +0 -0
- package/public/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2 +0 -0
- package/public/fonts/Virgil/Virgil-Regular.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-019d66dcad46dc156b162d267f981c20.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-04b718e5623574919c8b0dea5f301444.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-069e77aac84590e2e991d0a0176d34f2.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-06c77b8c66e51ed6c63ccb502dd8b8af.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-08e0dc436ad0ad61ba5558db0674d762.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-093b9ef39a46ceae95a1df18a0a3a326.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-095c169f3314805276f603a362766abd.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-09850c4077f3fffe707905872e0e2460.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-0986d134c05864f5025962eef9f994a0.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-0b5d723fdc4e249c140f0909e87d03b4.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-0f626226ba1272e832aea87bafd9720e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-0f7fb1e0d5015bb1371343153ecf7ce3.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-0fa55a080fcd0f9dc2e0b0058b793df8.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-0facdf1ea213ba40261022f5d5ed4493.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-10a7ae9a371830a80c3d844acf1c02d7.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-112c051027b2d766c19a519f6ee1f4f7.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-11c345711937f0ba4b8f7b6b919c8440.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-12b52b58eb3df36804b9a654ec9ee194.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-13ae07ed2e272d26d59bc0691cd7117a.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-13d2887ec8ee73c43acdabc52a05af7b.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-145aa02cdd91946e67dc934e1acffe75.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-15dc6d811c9cd078f9086a740d5a1038.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-173945821411c09f70c95f98d590e697.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-1b611157cd46bb184d4fa4dae2d6a2b8.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-1e6fd68f1f3902ce48ce8c69df385622.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-1ee544f0f1dac422545c505baa788992.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-1fdc0c67ed57263a80fd108c1f6ccf24.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-203b0e569e3b14aac86a003dc3fa523e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-20cc1bbf50e7efb442756cb605672c1f.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-20e7bf72fa05de9adf7dbcc7bf51dde6.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-21430ee05a1248901da8d0de08744d47.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-23686f7f29da6e8008c36dd3a80c83d6.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-23ad2d71b280f00b1363b95b7bea94eb.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-23f228f3999c01983860012330e4be08.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-24476a126f129212beb33f66853ea151.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-24a21c1e4449222e8d1898d69ff3a404.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-25b7f38e18f035f96cb5e547bd2bd08c.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-29cec36cd205b211da97acabaa62f055.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-2a26d20a23b00898ce82f09d2ee47c3f.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-2adbc89c11e65905393d3dfc468b9d5b.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-2b7441d46298788ac94e610ffcc709b6.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-2b77e8ebfb2367ab2662396a60e7d320.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-2cf96d082d35ea3d8106851223ad0d16.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-2d43040e86ff03ba677f6f9c04cd0805.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-2e33e8dc771ef5e1d9127d60a6b73679.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-33432927cd87d40cfe393c7482bf221f.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-353f33792a8f60dc69323ddf635a269e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-36925dfe329a45086cbb7fc5c20d45ac.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-3717077e38f98d89eae729b6c14e56dc.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-3756e81d3e149cf6099163ee79944fec.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-395c35dd584b56b0789f58a0559beaf1.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-3c9de2ae0ea4bc91a510942dfa4be8d2.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-3cc70dbb64df5b21f1326cc24dee2195.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-3e1f8f654357353bf0e04ba5c34b5f7f.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-3e63ed8162808a9e425ed80a8bc79114.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-3eaa538115d76932653c21d8dc28f207.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-4095eb84ef3874e2600247bee0b04026.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-41521fade99856108931b4768b1b2648.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-450da755d5bcb70906e1295e559b9602.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-452225341522a7942f0f6aab1a5c91a3.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-4535823663ad81405188a528d8f2b1a2.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-4806e761d750087c2d734fc64596eaff.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-4a0fdb40036e87b40aa08dd30584cb85.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-4a38cc3e9cf104e69ba246d37f8cf135.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-4aca6a43e59aceee2166b0c7e4e85ef1.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-4bfaa8ffa64c5ee560aa2daba7c9cbd3.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-4dc6d5f188d5c96d44815cd1e81aa885.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-4ddc14ed3eb0c3e46364317dfc0144a3.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-4ee10ae43505e2e0bc62656ced49c0fa.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-4f50e5136e136527280bc902c5817561.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-51502f1206be09c565f1547c406e9558.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-51a0e808bbc8361236ac521a119758a3.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-52a84a22fd1369bffeaf21da2d6158dc.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-5330a2119a716e4e7224ed108b085dac.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-543fa46ace099a7099dad69123399400.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-544fc28abe2c5c30e62383fd4dac255f.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-54acdfc2166ad7fcbd074f75fd4a56ba.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-5572b3513ba8df57a3d5d7303ee6b11b.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-56467a5c8840c4d23a60b2f935114848.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-56a32a7689abd0326e57c10c6c069bb4.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-57862b464a55b18c7bf234ce22907d73.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-583d166e56ba0de4b77eabb47ef67839.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-5882ffa04f32584d26109137e2da4352.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-58fd02350d0bc52cf1ca3bb32ce9766e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-5935a5775af3d5c6307ac667bd9ae74e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-59e9ff77b0efaf684bc09274fb6908c9.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-5a1ce3117cfe90c48e8fb4a9a00f694d.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-5a45d991244d4c7140217e1e5f5ca4f4.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-5a7fac4b8b23a6e4e5ba0c9bf1756c91.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-5b0ed6971aaab9c8ad563230bd5471a7.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-5d2898fbc097a7e24c6f38d80587621e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-603aefd23e350ba7eb124273e3c9bcf1.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-60a3089806700d379f11827ee9843b6b.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-60a41c7e1c68f22424e6d22df544bc82.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-642b26e2e5f5fb780b51b593dbc8c851.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-66493ba5a8367f2928812f446f47b56a.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-670ba603758d94268e8606f240a42e12.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-671a2c20b1eb9e4ef8a192833940e319.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-684d65f1793cac449dde5d59cb3c47fb.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-69c09cc5fa3e55c74fc4821f76909cc3.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-6ae5b42180ad70b971c91e7eefb8eba2.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-6e092f71c1e634059ada0e52abadce67.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-6f3256af8454371776bc46670d33cc65.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-6fe5c5973cc06f74b2387a631ea36b88.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-70c2eb8d64e71a42a834eb857ea9df51.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-70e811fd7994e61f408c923de6ddd078.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-7197d6fda6cba7c3874c53d6381ca239.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-72252d73220fa3cd856677888cee1635.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-72536a3d71b694a0d53dd90ddceae41e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-726303e0774b4e678bff8c2deb6ca603.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-733171b4ffcd17ea1fe1c0ba627173bf.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-739bc1a567439c7cffcd1614644593d2.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-73e309718fd16cea44b4d54a33581811.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-7494dc504ae00ee9cd0505f990f88c5d.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-74e2263a91439c25b91d5132ce9f4d62.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-761d05e3cd968cf574166867998ef06a.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-7718fe60986d8b42b1be9c5ace5ccf25.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-774d4f764a1299da5d28ec2f2ffe0d69.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-79d494361ae093b69e74ee9dbe65bfd4.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-79f007c1c6d07557120982951ea67998.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-7a07ddc0f0c0f5f4a9bad6ee3dda66b5.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-7ab2bed91166a9dca83a5ebfbe2a7f38.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-7ccce86603f80a099ddb0cb21d4ae3e3.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-7e4bde7e9c7f84cd34d8a845e384c746.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-7e929f262f30c8ee78bf398150b1a7cd.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-7eb9fffd1aa890d07d0f88cc82e6cfe4.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-7f855356ab893b0d2b9c1c83b8116f0e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-829615148e6357d826b9242eb7fbbd1e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-866fa7613df6b3fd272bcfd4530c0bb9.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-87599f94b6cc129d505b375798d0d751.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-8c2f33cee3993174f7e87c28e4bf42ee.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-8d3bcabb847b56243b16afe62adaaf21.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-8de5b863cb50dfefdd07cb11c774d579.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-8e9f97f01034820170065b2921b4fb5e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-8f476c4c99813d57cbe6eca4727388ad.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-903bb6865f3452e2fda42e3a25547bc5.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-91ddb2969bf2d31ba02ad82998d1314c.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-938d90c10ff8c20386af7f242c05d6b0.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-93fc8f28a33234bcadf1527cafabd502.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-95429962233afd82db1c27df1500a28c.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-9544732d2e62d1a429674f8ee41b5d3a.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-9592bfc861f07bcb8d75c196b370e548.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-95bfd249da4902577b4b7d76ebdd0b44.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-968cffdc8ee679da094e77ebf50f58ef.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-97f7f48ce90c9429bf32ae51469db74d.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-982b630266d87db93d2539affb1275c6.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-98f2ad84457de7f3740d9920b8fa8667.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-99a16ef6a64934d5781933dbd9c46b2e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-9cfb2a77a4e45025105ad29a1748b90d.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-9d81066dd2b337c938df6e90380a00dc.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-9eb5a99df4e76ac3363453ac9ca288b1.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-a004ddfcb26e67bd6e678c8ed19e25ce.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-a0ca5df4258213d7fc9fce80f65ce760.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-a1f916d6039285c4ffb900cd654e418f.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-a203b91dad570bf05a58c3c3ddb529bf.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-a365e82ed54697a52f27adcea1315fe8.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-a4c34be6d42152e64b0df90bc4607f64.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-a7accba310e821da5505f71c03b76bdb.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-aa0d470430e6391eca720c7cfa44446f.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-aa5c9ca6cf4fba00433b7aa3fa10671a.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-ac9ceb44437becc3e9c4dbfebab7fc2d.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-b1220a3c61f85cc0408deedb4c5f57a2.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-b358f7a51ece39a3247942b1feabdb29.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-b57aaedfd8ebdf3931f25119dc6a5eb2.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-b5c1596551c256e0e9cf02028595b092.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-b6d128682ee29e471486354d486a1b90.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-b6fd38ca30869792244804b04bc058da.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-b7d203b051eff504ff59ddca7576b6a9.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-b96d9226ce77ec94ceca043d712182e6.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-ba3de316d63c7e339987b16f41a0b879.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-bafff7a14c27403dcc6cf1432e8ea836.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-bd77e3c7f9e0b072d96af37f73d1aa32.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-be549ab72f0719d606a5c01e2c0219b6.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-c16ed9740b85badf16e86ea782a3062f.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-c1f94158256bb1f3bf665b053d895af9.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-c40533fdf4cc57177b12803598af7e59.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-c4a687ac4f0c2766eefc9f77ed99cddf.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-c69f61a4ab18d0488c8d1fc12e7028e8.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-c8b71798409ccc126ee264a00aadcf21.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-c99eda15fc26a2941579560f76c3a5cf.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-cb17fc3db95f6d139afc9d31a8e93293.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-cbaaefaaf326668277aa24dfa93c4d28.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-cd145ce4a0ea18469358df53c207bc1b.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-cdbce89e82cc1ab53a2decbf5819278f.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-ce4884f96f11589608b76b726a755803.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-cf2cc71752631e579e35b0e423bf2638.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-cf6ff4e0f491ca0cf3038187a997b9b4.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-cfb211578629b7e8153b37240de6a9d5.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-d0cf73942fea1c74edbdf0b3011f4656.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-d2666cbed13462c5dc36fa2f15c202ca.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-d3716376641d615e2995605b29bca7b6.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-dac48066b5883d8b4551fc584f0c2a3e.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-dbea1af6dcd9860be40c3d18254338f5.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-e11567fd2accf9957cd0d3c2be937d87.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-e2ead7ea7da0437f085f42ffc05f8d13.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-e3fcf5180fd466c8915c4e8069491054.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-e480d9c614742d05f0e78f274f1e69e6.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-e4bca6cfa53e499cae0a6be4894a90e9.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-e51ef413167c6e14e0c0fdcc585f2fc9.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-e5f453bb04da18eed01675eeebd88bf8.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-e656f091b9dc4709722c9f4b84d3c797.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-ec181b795ac1fb5a50d700b6e996d745.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-ee8bae97908d5147b423f77ad0d3c1bb.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-f0f13b5c60e0af5553bd359f5513be1b.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-f2b54d4e7be0eaefe1c2c56836fa5368.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-f56414bf9bced67990def8660e306759.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-f5d079153c99a25b9be5b8583c4cc8a7.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-f6032fc06eb20480f096199713f70885.woff2 +0 -0
- package/public/fonts/Xiaolai/Xiaolai-Regular-f8ee5d36068a42b51d0e4a1116cfcec1.woff2 +0 -0
- package/public/index.html +30 -0
- package/public/manifest.webmanifest +1 -0
- package/public/maskable_icon_x192.png +0 -0
- package/public/maskable_icon_x512.png +0 -0
- package/public/og-image-3.png +0 -0
- package/public/oss_promo_comments_dark.jpg +0 -0
- package/public/oss_promo_comments_light.jpg +0 -0
- package/public/oss_promo_presentations_dark.svg +1 -0
- package/public/oss_promo_presentations_light.svg +1 -0
- package/public/robots.txt +13 -0
- package/public/screenshots/collaboration.png +0 -0
- package/public/screenshots/export.png +0 -0
- package/public/screenshots/illustration.png +0 -0
- package/public/screenshots/shapes.png +0 -0
- package/public/screenshots/virtual-whiteboard.png +0 -0
- package/public/screenshots/wireframe.png +0 -0
- package/public/service-worker.js +20 -0
- package/public/sitemap.xml +1 -0
- package/public/sw.js +2 -0
- package/public/sw.js.map +1 -0
- package/public/version.json +3 -0
- package/public/workbox-3631b453.js +2 -0
- package/public/workbox-3631b453.js.map +1 -0
- package/routes/auth.js +24 -0
- package/routes/collab.js +52 -0
- package/routes/drawings.js +49 -0
- package/routes/library.js +15 -0
- package/routes/users.js +32 -0
- package/server.js +109 -0
- package/storage.js +171 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ganttDiagram-JELNMOA3-CNSqBTtR.js","sources":["../../../node_modules/dayjs/plugin/isoWeek.js","../../../node_modules/dayjs/plugin/customParseFormat.js","../../../node_modules/dayjs/plugin/advancedFormat.js","../../../node_modules/dayjs/plugin/duration.js","../../../node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-JELNMOA3.mjs"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){\"use strict\";return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||\"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case\"Q\":return Math.ceil((t.$M+1)/3);case\"Do\":return r.ordinal(t.$D);case\"gggg\":return t.weekYear();case\"GGGG\":return t.isoWeekYear();case\"wo\":return r.ordinal(t.week(),\"W\");case\"w\":case\"ww\":return s.s(t.week(),\"w\"===e?1:2,\"0\");case\"W\":case\"WW\":return s.s(t.isoWeek(),\"W\"===e?1:2,\"0\");case\"k\":case\"kk\":return s.s(String(0===t.$H?24:t.$H),\"k\"===e?1:2,\"0\");case\"X\":return Math.floor(t.$d.getTime()/1e3);case\"x\":return t.$d.getTime();case\"z\":return\"[\"+t.offsetName()+\"]\";case\"zzz\":return\"[\"+t.offsetName(\"long\")+\"]\";default:return e}}));return n.bind(this)(a)}}}));","!function(t,s){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=s():\"function\"==typeof define&&define.amd?define(s):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_duration=s()}(this,(function(){\"use strict\";var t,s,n=1e3,i=6e4,e=36e5,r=864e5,o=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,d=2628e6,a=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,h={years:u,months:d,days:r,hours:e,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},c=function(t){return t instanceof g},f=function(t,s,n){return new g(t,n,s.$l)},m=function(t){return s.p(t)+\"s\"},l=function(t){return t<0},$=function(t){return l(t)?Math.ceil(t):Math.floor(t)},y=function(t){return Math.abs(t)},v=function(t,s){return t?l(t)?{negative:!0,format:\"\"+y(t)+s}:{negative:!1,format:\"\"+t+s}:{negative:!1,format:\"\"}},g=function(){function l(t,s,n){var i=this;if(this.$d={},this.$l=n,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),s)return f(t*h[m(s)],this);if(\"number\"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if(\"object\"==typeof t)return Object.keys(t).forEach((function(s){i.$d[m(s)]=t[s]})),this.calMilliseconds(),this;if(\"string\"==typeof t){var e=t.match(a);if(e){var r=e.slice(2).map((function(t){return null!=t?Number(t):0}));return this.$d.years=r[0],this.$d.months=r[1],this.$d.weeks=r[2],this.$d.days=r[3],this.$d.hours=r[4],this.$d.minutes=r[5],this.$d.seconds=r[6],this.calMilliseconds(),this}}return this}var y=l.prototype;return y.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce((function(s,n){return s+(t.$d[n]||0)*h[n]}),0)},y.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=$(t/u),t%=u,this.$d.months=$(t/d),t%=d,this.$d.days=$(t/r),t%=r,this.$d.hours=$(t/e),t%=e,this.$d.minutes=$(t/i),t%=i,this.$d.seconds=$(t/n),t%=n,this.$d.milliseconds=t},y.toISOString=function(){var t=v(this.$d.years,\"Y\"),s=v(this.$d.months,\"M\"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var i=v(n,\"D\"),e=v(this.$d.hours,\"H\"),r=v(this.$d.minutes,\"M\"),o=this.$d.seconds||0;this.$d.milliseconds&&(o+=this.$d.milliseconds/1e3,o=Math.round(1e3*o)/1e3);var u=v(o,\"S\"),d=t.negative||s.negative||i.negative||e.negative||r.negative||u.negative,a=e.format||r.format||u.format?\"T\":\"\",h=(d?\"-\":\"\")+\"P\"+t.format+s.format+i.format+a+e.format+r.format+u.format;return\"P\"===h||\"-P\"===h?\"P0D\":h},y.toJSON=function(){return this.toISOString()},y.format=function(t){var n=t||\"YYYY-MM-DDTHH:mm:ss\",i={Y:this.$d.years,YY:s.s(this.$d.years,2,\"0\"),YYYY:s.s(this.$d.years,4,\"0\"),M:this.$d.months,MM:s.s(this.$d.months,2,\"0\"),D:this.$d.days,DD:s.s(this.$d.days,2,\"0\"),H:this.$d.hours,HH:s.s(this.$d.hours,2,\"0\"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,\"0\"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,\"0\"),SSS:s.s(this.$d.milliseconds,3,\"0\")};return n.replace(o,(function(t,s){return s||String(i[t])}))},y.as=function(t){return this.$ms/h[m(t)]},y.get=function(t){var s=this.$ms,n=m(t);return\"milliseconds\"===n?s%=1e3:s=\"weeks\"===n?$(s/h[n]):this.$d[n],s||0},y.add=function(t,s,n){var i;return i=s?t*h[m(s)]:c(t)?t.$ms:f(t,this).$ms,f(this.$ms+i*(n?-1:1),this)},y.subtract=function(t,s){return this.add(t,s,!0)},y.locale=function(t){var s=this.clone();return s.$l=t,s},y.clone=function(){return f(this.$ms,this)},y.humanize=function(s){return t().add(this.$ms,\"ms\").locale(this.$l).fromNow(!s)},y.valueOf=function(){return this.asMilliseconds()},y.milliseconds=function(){return this.get(\"milliseconds\")},y.asMilliseconds=function(){return this.as(\"milliseconds\")},y.seconds=function(){return this.get(\"seconds\")},y.asSeconds=function(){return this.as(\"seconds\")},y.minutes=function(){return this.get(\"minutes\")},y.asMinutes=function(){return this.as(\"minutes\")},y.hours=function(){return this.get(\"hours\")},y.asHours=function(){return this.as(\"hours\")},y.days=function(){return this.get(\"days\")},y.asDays=function(){return this.as(\"days\")},y.weeks=function(){return this.get(\"weeks\")},y.asWeeks=function(){return this.as(\"weeks\")},y.months=function(){return this.get(\"months\")},y.asMonths=function(){return this.as(\"months\")},y.years=function(){return this.get(\"years\")},y.asYears=function(){return this.as(\"years\")},l}(),p=function(t,s,n){return t.add(s.years()*n,\"y\").add(s.months()*n,\"M\").add(s.days()*n,\"d\").add(s.hours()*n,\"h\").add(s.minutes()*n,\"m\").add(s.seconds()*n,\"s\").add(s.milliseconds()*n,\"ms\")};return function(n,i,e){t=e,s=e().$utils(),e.duration=function(t,s){var n=e.locale();return f(t,{$l:n},s)},e.isDuration=c;var r=i.prototype.add,o=i.prototype.subtract;i.prototype.add=function(t,s){return c(t)?p(this,t,1):r.bind(this)(t,s)},i.prototype.subtract=function(t,s){return c(t)?p(this,t,-1):o.bind(this)(t,s)}}}));","import {\n utils_default\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n clear,\n common_default,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/gantt/parser/gantt.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, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35, 36, 38, 40], $V1 = [1, 26], $V2 = [1, 27], $V3 = [1, 28], $V4 = [1, 29], $V5 = [1, 30], $V6 = [1, 31], $V7 = [1, 32], $V8 = [1, 33], $V9 = [1, 34], $Va = [1, 9], $Vb = [1, 10], $Vc = [1, 11], $Vd = [1, 12], $Ve = [1, 13], $Vf = [1, 14], $Vg = [1, 15], $Vh = [1, 16], $Vi = [1, 19], $Vj = [1, 20], $Vk = [1, 21], $Vl = [1, 22], $Vm = [1, 23], $Vn = [1, 25], $Vo = [1, 35];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"gantt\": 4, \"document\": 5, \"EOF\": 6, \"line\": 7, \"SPACE\": 8, \"statement\": 9, \"NL\": 10, \"weekday\": 11, \"weekday_monday\": 12, \"weekday_tuesday\": 13, \"weekday_wednesday\": 14, \"weekday_thursday\": 15, \"weekday_friday\": 16, \"weekday_saturday\": 17, \"weekday_sunday\": 18, \"weekend\": 19, \"weekend_friday\": 20, \"weekend_saturday\": 21, \"dateFormat\": 22, \"inclusiveEndDates\": 23, \"topAxis\": 24, \"axisFormat\": 25, \"tickInterval\": 26, \"excludes\": 27, \"includes\": 28, \"todayMarker\": 29, \"title\": 30, \"acc_title\": 31, \"acc_title_value\": 32, \"acc_descr\": 33, \"acc_descr_value\": 34, \"acc_descr_multiline_value\": 35, \"section\": 36, \"clickStatement\": 37, \"taskTxt\": 38, \"taskData\": 39, \"click\": 40, \"callbackname\": 41, \"callbackargs\": 42, \"href\": 43, \"clickStatementDebug\": 44, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"gantt\", 6: \"EOF\", 8: \"SPACE\", 10: \"NL\", 12: \"weekday_monday\", 13: \"weekday_tuesday\", 14: \"weekday_wednesday\", 15: \"weekday_thursday\", 16: \"weekday_friday\", 17: \"weekday_saturday\", 18: \"weekday_sunday\", 20: \"weekend_friday\", 21: \"weekend_saturday\", 22: \"dateFormat\", 23: \"inclusiveEndDates\", 24: \"topAxis\", 25: \"axisFormat\", 26: \"tickInterval\", 27: \"excludes\", 28: \"includes\", 29: \"todayMarker\", 30: \"title\", 31: \"acc_title\", 32: \"acc_title_value\", 33: \"acc_descr\", 34: \"acc_descr_value\", 35: \"acc_descr_multiline_value\", 36: \"section\", 38: \"taskTxt\", 39: \"taskData\", 40: \"click\", 41: \"callbackname\", 42: \"callbackargs\", 43: \"href\" },\n productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [11, 1], [11, 1], [11, 1], [11, 1], [11, 1], [11, 1], [11, 1], [19, 1], [19, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 2], [9, 2], [9, 1], [9, 1], [9, 1], [9, 2], [37, 2], [37, 3], [37, 3], [37, 4], [37, 3], [37, 4], [37, 2], [44, 2], [44, 3], [44, 3], [44, 4], [44, 3], [44, 4], [44, 2]],\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 2:\n this.$ = [];\n break;\n case 3:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 4:\n case 5:\n this.$ = $$[$0];\n break;\n case 6:\n case 7:\n this.$ = [];\n break;\n case 8:\n yy.setWeekday(\"monday\");\n break;\n case 9:\n yy.setWeekday(\"tuesday\");\n break;\n case 10:\n yy.setWeekday(\"wednesday\");\n break;\n case 11:\n yy.setWeekday(\"thursday\");\n break;\n case 12:\n yy.setWeekday(\"friday\");\n break;\n case 13:\n yy.setWeekday(\"saturday\");\n break;\n case 14:\n yy.setWeekday(\"sunday\");\n break;\n case 15:\n yy.setWeekend(\"friday\");\n break;\n case 16:\n yy.setWeekend(\"saturday\");\n break;\n case 17:\n yy.setDateFormat($$[$0].substr(11));\n this.$ = $$[$0].substr(11);\n break;\n case 18:\n yy.enableInclusiveEndDates();\n this.$ = $$[$0].substr(18);\n break;\n case 19:\n yy.TopAxis();\n this.$ = $$[$0].substr(8);\n break;\n case 20:\n yy.setAxisFormat($$[$0].substr(11));\n this.$ = $$[$0].substr(11);\n break;\n case 21:\n yy.setTickInterval($$[$0].substr(13));\n this.$ = $$[$0].substr(13);\n break;\n case 22:\n yy.setExcludes($$[$0].substr(9));\n this.$ = $$[$0].substr(9);\n break;\n case 23:\n yy.setIncludes($$[$0].substr(9));\n this.$ = $$[$0].substr(9);\n break;\n case 24:\n yy.setTodayMarker($$[$0].substr(12));\n this.$ = $$[$0].substr(12);\n break;\n case 27:\n yy.setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 28:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 29:\n case 30:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 31:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 33:\n yy.addTask($$[$0 - 1], $$[$0]);\n this.$ = \"task\";\n break;\n case 34:\n this.$ = $$[$0 - 1];\n yy.setClickEvent($$[$0 - 1], $$[$0], null);\n break;\n case 35:\n this.$ = $$[$0 - 2];\n yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);\n break;\n case 36:\n this.$ = $$[$0 - 2];\n yy.setClickEvent($$[$0 - 2], $$[$0 - 1], null);\n yy.setLink($$[$0 - 2], $$[$0]);\n break;\n case 37:\n this.$ = $$[$0 - 3];\n yy.setClickEvent($$[$0 - 3], $$[$0 - 2], $$[$0 - 1]);\n yy.setLink($$[$0 - 3], $$[$0]);\n break;\n case 38:\n this.$ = $$[$0 - 2];\n yy.setClickEvent($$[$0 - 2], $$[$0], null);\n yy.setLink($$[$0 - 2], $$[$0 - 1]);\n break;\n case 39:\n this.$ = $$[$0 - 3];\n yy.setClickEvent($$[$0 - 3], $$[$0 - 1], $$[$0]);\n yy.setLink($$[$0 - 3], $$[$0 - 2]);\n break;\n case 40:\n this.$ = $$[$0 - 1];\n yy.setLink($$[$0 - 1], $$[$0]);\n break;\n case 41:\n case 47:\n this.$ = $$[$0 - 1] + \" \" + $$[$0];\n break;\n case 42:\n case 43:\n case 45:\n this.$ = $$[$0 - 2] + \" \" + $$[$0 - 1] + \" \" + $$[$0];\n break;\n case 44:\n case 46:\n this.$ = $$[$0 - 3] + \" \" + $$[$0 - 2] + \" \" + $$[$0 - 1] + \" \" + $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: 17, 12: $V1, 13: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: 18, 20: $V8, 21: $V9, 22: $Va, 23: $Vb, 24: $Vc, 25: $Vd, 26: $Ve, 27: $Vf, 28: $Vg, 29: $Vh, 30: $Vi, 31: $Vj, 33: $Vk, 35: $Vl, 36: $Vm, 37: 24, 38: $Vn, 40: $Vo }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 36, 11: 17, 12: $V1, 13: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: 18, 20: $V8, 21: $V9, 22: $Va, 23: $Vb, 24: $Vc, 25: $Vd, 26: $Ve, 27: $Vf, 28: $Vg, 29: $Vh, 30: $Vi, 31: $Vj, 33: $Vk, 35: $Vl, 36: $Vm, 37: 24, 38: $Vn, 40: $Vo }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 17]), o($V0, [2, 18]), o($V0, [2, 19]), o($V0, [2, 20]), o($V0, [2, 21]), o($V0, [2, 22]), o($V0, [2, 23]), o($V0, [2, 24]), o($V0, [2, 25]), o($V0, [2, 26]), o($V0, [2, 27]), { 32: [1, 37] }, { 34: [1, 38] }, o($V0, [2, 30]), o($V0, [2, 31]), o($V0, [2, 32]), { 39: [1, 39] }, o($V0, [2, 8]), o($V0, [2, 9]), o($V0, [2, 10]), o($V0, [2, 11]), o($V0, [2, 12]), o($V0, [2, 13]), o($V0, [2, 14]), o($V0, [2, 15]), o($V0, [2, 16]), { 41: [1, 40], 43: [1, 41] }, o($V0, [2, 4]), o($V0, [2, 28]), o($V0, [2, 29]), o($V0, [2, 33]), o($V0, [2, 34], { 42: [1, 42], 43: [1, 43] }), o($V0, [2, 40], { 41: [1, 44] }), o($V0, [2, 35], { 43: [1, 45] }), o($V0, [2, 36]), o($V0, [2, 38], { 42: [1, 46] }), o($V0, [2, 37]), o($V0, [2, 39])],\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 this.begin(\"open_directive\");\n return \"open_directive\";\n break;\n case 1:\n this.begin(\"acc_title\");\n return 31;\n break;\n case 2:\n this.popState();\n return \"acc_title_value\";\n break;\n case 3:\n this.begin(\"acc_descr\");\n return 33;\n break;\n case 4:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 5:\n this.begin(\"acc_descr_multiline\");\n break;\n case 6:\n this.popState();\n break;\n case 7:\n return \"acc_descr_multiline_value\";\n break;\n case 8:\n break;\n case 9:\n break;\n case 10:\n break;\n case 11:\n return 10;\n break;\n case 12:\n break;\n case 13:\n break;\n case 14:\n this.begin(\"href\");\n break;\n case 15:\n this.popState();\n break;\n case 16:\n return 43;\n break;\n case 17:\n this.begin(\"callbackname\");\n break;\n case 18:\n this.popState();\n break;\n case 19:\n this.popState();\n this.begin(\"callbackargs\");\n break;\n case 20:\n return 41;\n break;\n case 21:\n this.popState();\n break;\n case 22:\n return 42;\n break;\n case 23:\n this.begin(\"click\");\n break;\n case 24:\n this.popState();\n break;\n case 25:\n return 40;\n break;\n case 26:\n return 4;\n break;\n case 27:\n return 22;\n break;\n case 28:\n return 23;\n break;\n case 29:\n return 24;\n break;\n case 30:\n return 25;\n break;\n case 31:\n return 26;\n break;\n case 32:\n return 28;\n break;\n case 33:\n return 27;\n break;\n case 34:\n return 29;\n break;\n case 35:\n return 12;\n break;\n case 36:\n return 13;\n break;\n case 37:\n return 14;\n break;\n case 38:\n return 15;\n break;\n case 39:\n return 16;\n break;\n case 40:\n return 17;\n break;\n case 41:\n return 18;\n break;\n case 42:\n return 20;\n break;\n case 43:\n return 21;\n break;\n case 44:\n return \"date\";\n break;\n case 45:\n return 30;\n break;\n case 46:\n return \"accDescription\";\n break;\n case 47:\n return 36;\n break;\n case 48:\n return 38;\n break;\n case 49:\n return 39;\n break;\n case 50:\n return \":\";\n break;\n case 51:\n return 6;\n break;\n case 52:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%%\\{)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:%%(?!\\{)*[^\\n]*)/i, /^(?:[^\\}]%%*[^\\n]*)/i, /^(?:%%*[^\\n]*[\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:%[^\\n]*)/i, /^(?:href[\\s]+[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:call[\\s]+)/i, /^(?:\\([\\s]*\\))/i, /^(?:\\()/i, /^(?:[^(]*)/i, /^(?:\\))/i, /^(?:[^)]*)/i, /^(?:click[\\s]+)/i, /^(?:[\\s\\n])/i, /^(?:[^\\s\\n]*)/i, /^(?:gantt\\b)/i, /^(?:dateFormat\\s[^#\\n;]+)/i, /^(?:inclusiveEndDates\\b)/i, /^(?:topAxis\\b)/i, /^(?:axisFormat\\s[^#\\n;]+)/i, /^(?:tickInterval\\s[^#\\n;]+)/i, /^(?:includes\\s[^#\\n;]+)/i, /^(?:excludes\\s[^#\\n;]+)/i, /^(?:todayMarker\\s[^\\n;]+)/i, /^(?:weekday\\s+monday\\b)/i, /^(?:weekday\\s+tuesday\\b)/i, /^(?:weekday\\s+wednesday\\b)/i, /^(?:weekday\\s+thursday\\b)/i, /^(?:weekday\\s+friday\\b)/i, /^(?:weekday\\s+saturday\\b)/i, /^(?:weekday\\s+sunday\\b)/i, /^(?:weekend\\s+friday\\b)/i, /^(?:weekend\\s+saturday\\b)/i, /^(?:\\d\\d\\d\\d-\\d\\d-\\d\\d\\b)/i, /^(?:title\\s[^\\n]+)/i, /^(?:accDescription\\s[^#\\n;]+)/i, /^(?:section\\s[^\\n]+)/i, /^(?:[^:\\n]+)/i, /^(?::[^#\\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [6, 7], \"inclusive\": false }, \"acc_descr\": { \"rules\": [4], \"inclusive\": false }, \"acc_title\": { \"rules\": [2], \"inclusive\": false }, \"callbackargs\": { \"rules\": [21, 22], \"inclusive\": false }, \"callbackname\": { \"rules\": [18, 19, 20], \"inclusive\": false }, \"href\": { \"rules\": [15, 16], \"inclusive\": false }, \"click\": { \"rules\": [24, 25], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 17, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], \"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 gantt_default = parser;\n\n// src/diagrams/gantt/ganttDb.js\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nimport dayjs from \"dayjs\";\nimport dayjsIsoWeek from \"dayjs/plugin/isoWeek.js\";\nimport dayjsCustomParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport dayjsAdvancedFormat from \"dayjs/plugin/advancedFormat.js\";\ndayjs.extend(dayjsIsoWeek);\ndayjs.extend(dayjsCustomParseFormat);\ndayjs.extend(dayjsAdvancedFormat);\nvar WEEKEND_START_DAY = { friday: 5, saturday: 6 };\nvar dateFormat = \"\";\nvar axisFormat = \"\";\nvar tickInterval = void 0;\nvar todayMarker = \"\";\nvar includes = [];\nvar excludes = [];\nvar links = /* @__PURE__ */ new Map();\nvar sections = [];\nvar tasks = [];\nvar currentSection = \"\";\nvar displayMode = \"\";\nvar tags = [\"active\", \"done\", \"crit\", \"milestone\", \"vert\"];\nvar funs = [];\nvar inclusiveEndDates = false;\nvar topAxis = false;\nvar weekday = \"sunday\";\nvar weekend = \"saturday\";\nvar lastOrder = 0;\nvar clear2 = /* @__PURE__ */ __name(function() {\n sections = [];\n tasks = [];\n currentSection = \"\";\n funs = [];\n taskCnt = 0;\n lastTask = void 0;\n lastTaskID = void 0;\n rawTasks = [];\n dateFormat = \"\";\n axisFormat = \"\";\n displayMode = \"\";\n tickInterval = void 0;\n todayMarker = \"\";\n includes = [];\n excludes = [];\n inclusiveEndDates = false;\n topAxis = false;\n lastOrder = 0;\n links = /* @__PURE__ */ new Map();\n clear();\n weekday = \"sunday\";\n weekend = \"saturday\";\n}, \"clear\");\nvar setAxisFormat = /* @__PURE__ */ __name(function(txt) {\n axisFormat = txt;\n}, \"setAxisFormat\");\nvar getAxisFormat = /* @__PURE__ */ __name(function() {\n return axisFormat;\n}, \"getAxisFormat\");\nvar setTickInterval = /* @__PURE__ */ __name(function(txt) {\n tickInterval = txt;\n}, \"setTickInterval\");\nvar getTickInterval = /* @__PURE__ */ __name(function() {\n return tickInterval;\n}, \"getTickInterval\");\nvar setTodayMarker = /* @__PURE__ */ __name(function(txt) {\n todayMarker = txt;\n}, \"setTodayMarker\");\nvar getTodayMarker = /* @__PURE__ */ __name(function() {\n return todayMarker;\n}, \"getTodayMarker\");\nvar setDateFormat = /* @__PURE__ */ __name(function(txt) {\n dateFormat = txt;\n}, \"setDateFormat\");\nvar enableInclusiveEndDates = /* @__PURE__ */ __name(function() {\n inclusiveEndDates = true;\n}, \"enableInclusiveEndDates\");\nvar endDatesAreInclusive = /* @__PURE__ */ __name(function() {\n return inclusiveEndDates;\n}, \"endDatesAreInclusive\");\nvar enableTopAxis = /* @__PURE__ */ __name(function() {\n topAxis = true;\n}, \"enableTopAxis\");\nvar topAxisEnabled = /* @__PURE__ */ __name(function() {\n return topAxis;\n}, \"topAxisEnabled\");\nvar setDisplayMode = /* @__PURE__ */ __name(function(txt) {\n displayMode = txt;\n}, \"setDisplayMode\");\nvar getDisplayMode = /* @__PURE__ */ __name(function() {\n return displayMode;\n}, \"getDisplayMode\");\nvar getDateFormat = /* @__PURE__ */ __name(function() {\n return dateFormat;\n}, \"getDateFormat\");\nvar setIncludes = /* @__PURE__ */ __name(function(txt) {\n includes = txt.toLowerCase().split(/[\\s,]+/);\n}, \"setIncludes\");\nvar getIncludes = /* @__PURE__ */ __name(function() {\n return includes;\n}, \"getIncludes\");\nvar setExcludes = /* @__PURE__ */ __name(function(txt) {\n excludes = txt.toLowerCase().split(/[\\s,]+/);\n}, \"setExcludes\");\nvar getExcludes = /* @__PURE__ */ __name(function() {\n return excludes;\n}, \"getExcludes\");\nvar getLinks = /* @__PURE__ */ __name(function() {\n return links;\n}, \"getLinks\");\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 = 10;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks = rawTasks;\n return tasks;\n}, \"getTasks\");\nvar isInvalidDate = /* @__PURE__ */ __name(function(date, dateFormat2, excludes2, includes2) {\n const formattedDate = date.format(dateFormat2.trim());\n const dateOnly = date.format(\"YYYY-MM-DD\");\n if (includes2.includes(formattedDate) || includes2.includes(dateOnly)) {\n return false;\n }\n if (excludes2.includes(\"weekends\") && (date.isoWeekday() === WEEKEND_START_DAY[weekend] || date.isoWeekday() === WEEKEND_START_DAY[weekend] + 1)) {\n return true;\n }\n if (excludes2.includes(date.format(\"dddd\").toLowerCase())) {\n return true;\n }\n return excludes2.includes(formattedDate) || excludes2.includes(dateOnly);\n}, \"isInvalidDate\");\nvar setWeekday = /* @__PURE__ */ __name(function(txt) {\n weekday = txt;\n}, \"setWeekday\");\nvar getWeekday = /* @__PURE__ */ __name(function() {\n return weekday;\n}, \"getWeekday\");\nvar setWeekend = /* @__PURE__ */ __name(function(startDay) {\n weekend = startDay;\n}, \"setWeekend\");\nvar checkTaskDates = /* @__PURE__ */ __name(function(task, dateFormat2, excludes2, includes2) {\n if (!excludes2.length || task.manualEndTime) {\n return;\n }\n let startTime;\n if (task.startTime instanceof Date) {\n startTime = dayjs(task.startTime);\n } else {\n startTime = dayjs(task.startTime, dateFormat2, true);\n }\n startTime = startTime.add(1, \"d\");\n let originalEndTime;\n if (task.endTime instanceof Date) {\n originalEndTime = dayjs(task.endTime);\n } else {\n originalEndTime = dayjs(task.endTime, dateFormat2, true);\n }\n const [fixedEndTime, renderEndTime] = fixTaskDates(\n startTime,\n originalEndTime,\n dateFormat2,\n excludes2,\n includes2\n );\n task.endTime = fixedEndTime.toDate();\n task.renderEndTime = renderEndTime;\n}, \"checkTaskDates\");\nvar fixTaskDates = /* @__PURE__ */ __name(function(startTime, endTime, dateFormat2, excludes2, includes2) {\n let invalid = false;\n let renderEndTime = null;\n while (startTime <= endTime) {\n if (!invalid) {\n renderEndTime = endTime.toDate();\n }\n invalid = isInvalidDate(startTime, dateFormat2, excludes2, includes2);\n if (invalid) {\n endTime = endTime.add(1, \"d\");\n }\n startTime = startTime.add(1, \"d\");\n }\n return [endTime, renderEndTime];\n}, \"fixTaskDates\");\nvar getStartDate = /* @__PURE__ */ __name(function(prevTime, dateFormat2, str) {\n str = str.trim();\n const isTimestampFormat = /* @__PURE__ */ __name((format) => {\n const trimmedFormat = format.trim();\n return trimmedFormat === \"x\" || trimmedFormat === \"X\";\n }, \"isTimestampFormat\");\n if (isTimestampFormat(dateFormat2) && /^\\d+$/.test(str)) {\n return new Date(Number(str));\n }\n const afterRePattern = /^after\\s+(?<ids>[\\d\\w- ]+)/;\n const afterStatement = afterRePattern.exec(str);\n if (afterStatement !== null) {\n let latestTask = null;\n for (const id of afterStatement.groups.ids.split(\" \")) {\n let task = findTaskById(id);\n if (task !== void 0 && (!latestTask || task.endTime > latestTask.endTime)) {\n latestTask = task;\n }\n }\n if (latestTask) {\n return latestTask.endTime;\n }\n const today = /* @__PURE__ */ new Date();\n today.setHours(0, 0, 0, 0);\n return today;\n }\n let mDate = dayjs(str, dateFormat2.trim(), true);\n if (mDate.isValid()) {\n return mDate.toDate();\n } else {\n log.debug(\"Invalid date:\" + str);\n log.debug(\"With date format:\" + dateFormat2.trim());\n const d = new Date(str);\n if (d === void 0 || isNaN(d.getTime()) || // WebKit browsers can mis-parse invalid dates to be ridiculously\n // huge numbers, e.g. new Date('202304') gets parsed as January 1, 202304.\n // This can cause virtually infinite loops while rendering, so for the\n // purposes of Gantt charts we'll just treat any date beyond 10,000 AD/BC as\n // invalid.\n d.getFullYear() < -1e4 || d.getFullYear() > 1e4) {\n throw new Error(\"Invalid date:\" + str);\n }\n return d;\n }\n}, \"getStartDate\");\nvar parseDuration = /* @__PURE__ */ __name(function(str) {\n const statement = /^(\\d+(?:\\.\\d+)?)([Mdhmswy]|ms)$/.exec(str.trim());\n if (statement !== null) {\n return [Number.parseFloat(statement[1]), statement[2]];\n }\n return [NaN, \"ms\"];\n}, \"parseDuration\");\nvar getEndDate = /* @__PURE__ */ __name(function(prevTime, dateFormat2, str, inclusive = false) {\n str = str.trim();\n const untilRePattern = /^until\\s+(?<ids>[\\d\\w- ]+)/;\n const untilStatement = untilRePattern.exec(str);\n if (untilStatement !== null) {\n let earliestTask = null;\n for (const id of untilStatement.groups.ids.split(\" \")) {\n let task = findTaskById(id);\n if (task !== void 0 && (!earliestTask || task.startTime < earliestTask.startTime)) {\n earliestTask = task;\n }\n }\n if (earliestTask) {\n return earliestTask.startTime;\n }\n const today = /* @__PURE__ */ new Date();\n today.setHours(0, 0, 0, 0);\n return today;\n }\n let parsedDate = dayjs(str, dateFormat2.trim(), true);\n if (parsedDate.isValid()) {\n if (inclusive) {\n parsedDate = parsedDate.add(1, \"d\");\n }\n return parsedDate.toDate();\n }\n let endTime = dayjs(prevTime);\n const [durationValue, durationUnit] = parseDuration(str);\n if (!Number.isNaN(durationValue)) {\n const newEndTime = endTime.add(durationValue, durationUnit);\n if (newEndTime.isValid()) {\n endTime = newEndTime;\n }\n }\n return endTime.toDate();\n}, \"getEndDate\");\nvar taskCnt = 0;\nvar parseId = /* @__PURE__ */ __name(function(idStr) {\n if (idStr === void 0) {\n taskCnt = taskCnt + 1;\n return \"task\" + taskCnt;\n }\n return idStr;\n}, \"parseId\");\nvar compileData = /* @__PURE__ */ __name(function(prevTask, dataStr) {\n let ds;\n if (dataStr.substr(0, 1) === \":\") {\n ds = dataStr.substr(1, dataStr.length);\n } else {\n ds = dataStr;\n }\n const data = ds.split(\",\");\n const task = {};\n getTaskTags(data, task, tags);\n for (let i = 0; i < data.length; i++) {\n data[i] = data[i].trim();\n }\n let endTimeData = \"\";\n switch (data.length) {\n case 1:\n task.id = parseId();\n task.startTime = prevTask.endTime;\n endTimeData = data[0];\n break;\n case 2:\n task.id = parseId();\n task.startTime = getStartDate(void 0, dateFormat, data[0]);\n endTimeData = data[1];\n break;\n case 3:\n task.id = parseId(data[0]);\n task.startTime = getStartDate(void 0, dateFormat, data[1]);\n endTimeData = data[2];\n break;\n default:\n }\n if (endTimeData) {\n task.endTime = getEndDate(task.startTime, dateFormat, endTimeData, inclusiveEndDates);\n task.manualEndTime = dayjs(endTimeData, \"YYYY-MM-DD\", true).isValid();\n checkTaskDates(task, dateFormat, excludes, includes);\n }\n return task;\n}, \"compileData\");\nvar parseData = /* @__PURE__ */ __name(function(prevTaskId, dataStr) {\n let ds;\n if (dataStr.substr(0, 1) === \":\") {\n ds = dataStr.substr(1, dataStr.length);\n } else {\n ds = dataStr;\n }\n const data = ds.split(\",\");\n const task = {};\n getTaskTags(data, task, tags);\n for (let i = 0; i < data.length; i++) {\n data[i] = data[i].trim();\n }\n switch (data.length) {\n case 1:\n task.id = parseId();\n task.startTime = {\n type: \"prevTaskEnd\",\n id: prevTaskId\n };\n task.endTime = {\n data: data[0]\n };\n break;\n case 2:\n task.id = parseId();\n task.startTime = {\n type: \"getStartDate\",\n startData: data[0]\n };\n task.endTime = {\n data: data[1]\n };\n break;\n case 3:\n task.id = parseId(data[0]);\n task.startTime = {\n type: \"getStartDate\",\n startData: data[1]\n };\n task.endTime = {\n data: data[2]\n };\n break;\n default:\n }\n return task;\n}, \"parseData\");\nvar lastTask;\nvar lastTaskID;\nvar rawTasks = [];\nvar taskDb = {};\nvar addTask = /* @__PURE__ */ __name(function(descr, data) {\n const rawTask = {\n section: currentSection,\n type: currentSection,\n processed: false,\n manualEndTime: false,\n renderEndTime: null,\n raw: { data },\n task: descr,\n classes: []\n };\n const taskInfo = parseData(lastTaskID, data);\n rawTask.raw.startTime = taskInfo.startTime;\n rawTask.raw.endTime = taskInfo.endTime;\n rawTask.id = taskInfo.id;\n rawTask.prevTaskId = lastTaskID;\n rawTask.active = taskInfo.active;\n rawTask.done = taskInfo.done;\n rawTask.crit = taskInfo.crit;\n rawTask.milestone = taskInfo.milestone;\n rawTask.vert = taskInfo.vert;\n rawTask.order = lastOrder;\n lastOrder++;\n const pos = rawTasks.push(rawTask);\n lastTaskID = rawTask.id;\n taskDb[rawTask.id] = pos - 1;\n}, \"addTask\");\nvar findTaskById = /* @__PURE__ */ __name(function(id) {\n const pos = taskDb[id];\n return rawTasks[pos];\n}, \"findTaskById\");\nvar addTaskOrg = /* @__PURE__ */ __name(function(descr, data) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n const taskInfo = compileData(lastTask, data);\n newTask.startTime = taskInfo.startTime;\n newTask.endTime = taskInfo.endTime;\n newTask.id = taskInfo.id;\n newTask.active = taskInfo.active;\n newTask.done = taskInfo.done;\n newTask.crit = taskInfo.crit;\n newTask.milestone = taskInfo.milestone;\n newTask.vert = taskInfo.vert;\n lastTask = newTask;\n tasks.push(newTask);\n}, \"addTaskOrg\");\nvar compileTasks = /* @__PURE__ */ __name(function() {\n const compileTask = /* @__PURE__ */ __name(function(pos) {\n const task = rawTasks[pos];\n let startTime = \"\";\n switch (rawTasks[pos].raw.startTime.type) {\n case \"prevTaskEnd\": {\n const prevTask = findTaskById(task.prevTaskId);\n task.startTime = prevTask.endTime;\n break;\n }\n case \"getStartDate\":\n startTime = getStartDate(void 0, dateFormat, rawTasks[pos].raw.startTime.startData);\n if (startTime) {\n rawTasks[pos].startTime = startTime;\n }\n break;\n }\n if (rawTasks[pos].startTime) {\n rawTasks[pos].endTime = getEndDate(\n rawTasks[pos].startTime,\n dateFormat,\n rawTasks[pos].raw.endTime.data,\n inclusiveEndDates\n );\n if (rawTasks[pos].endTime) {\n rawTasks[pos].processed = true;\n rawTasks[pos].manualEndTime = dayjs(\n rawTasks[pos].raw.endTime.data,\n \"YYYY-MM-DD\",\n true\n ).isValid();\n checkTaskDates(rawTasks[pos], dateFormat, excludes, includes);\n }\n }\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 setLink = /* @__PURE__ */ __name(function(ids, _linkStr) {\n let linkStr = _linkStr;\n if (getConfig().securityLevel !== \"loose\") {\n linkStr = sanitizeUrl(_linkStr);\n }\n ids.split(\",\").forEach(function(id) {\n let rawTask = findTaskById(id);\n if (rawTask !== void 0) {\n pushFun(id, () => {\n window.open(linkStr, \"_self\");\n });\n links.set(id, linkStr);\n }\n });\n setClass(ids, \"clickable\");\n}, \"setLink\");\nvar setClass = /* @__PURE__ */ __name(function(ids, className) {\n ids.split(\",\").forEach(function(id) {\n let rawTask = findTaskById(id);\n if (rawTask !== void 0) {\n rawTask.classes.push(className);\n }\n });\n}, \"setClass\");\nvar setClickFun = /* @__PURE__ */ __name(function(id, functionName, functionArgs) {\n if (getConfig().securityLevel !== \"loose\") {\n return;\n }\n if (functionName === void 0) {\n return;\n }\n let argList = [];\n if (typeof functionArgs === \"string\") {\n argList = functionArgs.split(/,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/);\n for (let i = 0; i < argList.length; i++) {\n let item = argList[i].trim();\n if (item.startsWith('\"') && item.endsWith('\"')) {\n item = item.substr(1, item.length - 2);\n }\n argList[i] = item;\n }\n }\n if (argList.length === 0) {\n argList.push(id);\n }\n let rawTask = findTaskById(id);\n if (rawTask !== void 0) {\n pushFun(id, () => {\n utils_default.runFunc(functionName, ...argList);\n });\n }\n}, \"setClickFun\");\nvar pushFun = /* @__PURE__ */ __name(function(id, callbackFunction) {\n funs.push(\n function() {\n const elem = document.querySelector(`[id=\"${id}\"]`);\n if (elem !== null) {\n elem.addEventListener(\"click\", function() {\n callbackFunction();\n });\n }\n },\n function() {\n const elem = document.querySelector(`[id=\"${id}-text\"]`);\n if (elem !== null) {\n elem.addEventListener(\"click\", function() {\n callbackFunction();\n });\n }\n }\n );\n}, \"pushFun\");\nvar setClickEvent = /* @__PURE__ */ __name(function(ids, functionName, functionArgs) {\n ids.split(\",\").forEach(function(id) {\n setClickFun(id, functionName, functionArgs);\n });\n setClass(ids, \"clickable\");\n}, \"setClickEvent\");\nvar bindFunctions = /* @__PURE__ */ __name(function(element) {\n funs.forEach(function(fun) {\n fun(element);\n });\n}, \"bindFunctions\");\nvar ganttDb_default = {\n getConfig: /* @__PURE__ */ __name(() => getConfig().gantt, \"getConfig\"),\n clear: clear2,\n setDateFormat,\n getDateFormat,\n enableInclusiveEndDates,\n endDatesAreInclusive,\n enableTopAxis,\n topAxisEnabled,\n setAxisFormat,\n getAxisFormat,\n setTickInterval,\n getTickInterval,\n setTodayMarker,\n getTodayMarker,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n setDisplayMode,\n getDisplayMode,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n getTasks,\n addTask,\n findTaskById,\n addTaskOrg,\n setIncludes,\n getIncludes,\n setExcludes,\n getExcludes,\n setClickEvent,\n setLink,\n getLinks,\n bindFunctions,\n parseDuration,\n isInvalidDate,\n setWeekday,\n getWeekday,\n setWeekend\n};\nfunction getTaskTags(data, task, tags2) {\n let matchFound = true;\n while (matchFound) {\n matchFound = false;\n tags2.forEach(function(t) {\n const pattern = \"^\\\\s*\" + t + \"\\\\s*$\";\n const regex = new RegExp(pattern);\n if (data[0].match(regex)) {\n task[t] = true;\n data.shift(1);\n matchFound = true;\n }\n });\n }\n}\n__name(getTaskTags, \"getTaskTags\");\n\n// src/diagrams/gantt/ganttRenderer.js\nimport dayjs2 from \"dayjs\";\nimport dayjsDuration from \"dayjs/plugin/duration.js\";\nimport {\n select,\n scaleTime,\n min,\n max,\n scaleLinear,\n interpolateHcl,\n axisBottom,\n axisTop,\n timeFormat,\n timeMillisecond,\n timeSecond,\n timeMinute,\n timeHour,\n timeDay,\n timeMonday,\n timeTuesday,\n timeWednesday,\n timeThursday,\n timeFriday,\n timeSaturday,\n timeSunday,\n timeMonth\n} from \"d3\";\ndayjs2.extend(dayjsDuration);\nvar setConf = /* @__PURE__ */ __name(function() {\n log.debug(\"Something is calling, setConf, remove the call\");\n}, \"setConf\");\nvar mapWeekdayToTimeFunction = {\n monday: timeMonday,\n tuesday: timeTuesday,\n wednesday: timeWednesday,\n thursday: timeThursday,\n friday: timeFriday,\n saturday: timeSaturday,\n sunday: timeSunday\n};\nvar getMaxIntersections = /* @__PURE__ */ __name((tasks2, orderOffset) => {\n let timeline = [...tasks2].map(() => -Infinity);\n let sorted = [...tasks2].sort((a, b) => a.startTime - b.startTime || a.order - b.order);\n let maxIntersections = 0;\n for (const element of sorted) {\n for (let j = 0; j < timeline.length; j++) {\n if (element.startTime >= timeline[j]) {\n timeline[j] = element.endTime;\n element.order = j + orderOffset;\n if (j > maxIntersections) {\n maxIntersections = j;\n }\n break;\n }\n }\n }\n return maxIntersections;\n}, \"getMaxIntersections\");\nvar w;\nvar MAX_TICK_COUNT = 1e4;\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf = getConfig().gantt;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n const elem = doc.getElementById(id);\n w = elem.parentElement.offsetWidth;\n if (w === void 0) {\n w = 1200;\n }\n if (conf.useWidth !== void 0) {\n w = conf.useWidth;\n }\n const taskArray = diagObj.db.getTasks();\n let categories = [];\n for (const element of taskArray) {\n categories.push(element.type);\n }\n categories = checkUnique(categories);\n const categoryHeights = {};\n let h = 2 * conf.topPadding;\n if (diagObj.db.getDisplayMode() === \"compact\" || conf.displayMode === \"compact\") {\n const categoryElements = {};\n for (const element of taskArray) {\n if (categoryElements[element.section] === void 0) {\n categoryElements[element.section] = [element];\n } else {\n categoryElements[element.section].push(element);\n }\n }\n let intersections = 0;\n for (const category of Object.keys(categoryElements)) {\n const categoryHeight = getMaxIntersections(categoryElements[category], intersections) + 1;\n intersections += categoryHeight;\n h += categoryHeight * (conf.barHeight + conf.barGap);\n categoryHeights[category] = categoryHeight;\n }\n } else {\n h += taskArray.length * (conf.barHeight + conf.barGap);\n for (const category of categories) {\n categoryHeights[category] = taskArray.filter((task) => task.type === category).length;\n }\n }\n elem.setAttribute(\"viewBox\", \"0 0 \" + w + \" \" + h);\n const svg = root.select(`[id=\"${id}\"]`);\n const timeScale = scaleTime().domain([\n min(taskArray, function(d) {\n return d.startTime;\n }),\n max(taskArray, function(d) {\n return d.endTime;\n })\n ]).rangeRound([0, w - conf.leftPadding - conf.rightPadding]);\n function taskCompare(a, b) {\n const taskA = a.startTime;\n const taskB = b.startTime;\n let result = 0;\n if (taskA > taskB) {\n result = 1;\n } else if (taskA < taskB) {\n result = -1;\n }\n return result;\n }\n __name(taskCompare, \"taskCompare\");\n taskArray.sort(taskCompare);\n makeGantt(taskArray, w, h);\n configureSvgSize(svg, h, w, conf.useMaxWidth);\n svg.append(\"text\").text(diagObj.db.getDiagramTitle()).attr(\"x\", w / 2).attr(\"y\", conf.titleTopMargin).attr(\"class\", \"titleText\");\n function makeGantt(tasks2, pageWidth, pageHeight) {\n const barHeight = conf.barHeight;\n const gap = barHeight + conf.barGap;\n const topPadding = conf.topPadding;\n const leftPadding = conf.leftPadding;\n const colorScale = scaleLinear().domain([0, categories.length]).range([\"#00B9FA\", \"#F95002\"]).interpolate(interpolateHcl);\n drawExcludeDays(\n gap,\n topPadding,\n leftPadding,\n pageWidth,\n pageHeight,\n tasks2,\n diagObj.db.getExcludes(),\n diagObj.db.getIncludes()\n );\n makeGrid(leftPadding, topPadding, pageWidth, pageHeight);\n drawRects(tasks2, gap, topPadding, leftPadding, barHeight, colorScale, pageWidth, pageHeight);\n vertLabels(gap, topPadding, leftPadding, barHeight, colorScale);\n drawToday(leftPadding, topPadding, pageWidth, pageHeight);\n }\n __name(makeGantt, \"makeGantt\");\n function drawRects(theArray, theGap, theTopPad, theSidePad, theBarHeight, theColorScale, w2) {\n theArray.sort((a, b) => a.vert === b.vert ? 0 : a.vert ? 1 : -1);\n const uniqueTaskOrderIds = [...new Set(theArray.map((item) => item.order))];\n const uniqueTasks = uniqueTaskOrderIds.map((id2) => theArray.find((item) => item.order === id2));\n svg.append(\"g\").selectAll(\"rect\").data(uniqueTasks).enter().append(\"rect\").attr(\"x\", 0).attr(\"y\", function(d, i) {\n i = d.order;\n return i * theGap + theTopPad - 2;\n }).attr(\"width\", function() {\n return w2 - conf.rightPadding / 2;\n }).attr(\"height\", theGap).attr(\"class\", function(d) {\n for (const [i, category] of categories.entries()) {\n if (d.type === category) {\n return \"section section\" + i % conf.numberSectionStyles;\n }\n }\n return \"section section0\";\n }).enter();\n const rectangles = svg.append(\"g\").selectAll(\"rect\").data(theArray).enter();\n const links2 = diagObj.db.getLinks();\n rectangles.append(\"rect\").attr(\"id\", function(d) {\n return d.id;\n }).attr(\"rx\", 3).attr(\"ry\", 3).attr(\"x\", function(d) {\n if (d.milestone) {\n return timeScale(d.startTime) + theSidePad + 0.5 * (timeScale(d.endTime) - timeScale(d.startTime)) - 0.5 * theBarHeight;\n }\n return timeScale(d.startTime) + theSidePad;\n }).attr(\"y\", function(d, i) {\n i = d.order;\n if (d.vert) {\n return conf.gridLineStartPadding;\n }\n return i * theGap + theTopPad;\n }).attr(\"width\", function(d) {\n if (d.milestone) {\n return theBarHeight;\n }\n if (d.vert) {\n return 0.08 * theBarHeight;\n }\n return timeScale(d.renderEndTime || d.endTime) - timeScale(d.startTime);\n }).attr(\"height\", function(d) {\n if (d.vert) {\n return taskArray.length * (conf.barHeight + conf.barGap) + conf.barHeight * 2;\n }\n return theBarHeight;\n }).attr(\"transform-origin\", function(d, i) {\n i = d.order;\n return (timeScale(d.startTime) + theSidePad + 0.5 * (timeScale(d.endTime) - timeScale(d.startTime))).toString() + \"px \" + (i * theGap + theTopPad + 0.5 * theBarHeight).toString() + \"px\";\n }).attr(\"class\", function(d) {\n const res = \"task\";\n let classStr = \"\";\n if (d.classes.length > 0) {\n classStr = d.classes.join(\" \");\n }\n let secNum = 0;\n for (const [i, category] of categories.entries()) {\n if (d.type === category) {\n secNum = i % conf.numberSectionStyles;\n }\n }\n let taskClass = \"\";\n if (d.active) {\n if (d.crit) {\n taskClass += \" activeCrit\";\n } else {\n taskClass = \" active\";\n }\n } else if (d.done) {\n if (d.crit) {\n taskClass = \" doneCrit\";\n } else {\n taskClass = \" done\";\n }\n } else {\n if (d.crit) {\n taskClass += \" crit\";\n }\n }\n if (taskClass.length === 0) {\n taskClass = \" task\";\n }\n if (d.milestone) {\n taskClass = \" milestone \" + taskClass;\n }\n if (d.vert) {\n taskClass = \" vert \" + taskClass;\n }\n taskClass += secNum;\n taskClass += \" \" + classStr;\n return res + taskClass;\n });\n rectangles.append(\"text\").attr(\"id\", function(d) {\n return d.id + \"-text\";\n }).text(function(d) {\n return d.task;\n }).attr(\"font-size\", conf.fontSize).attr(\"x\", function(d) {\n let startX = timeScale(d.startTime);\n let endX = timeScale(d.renderEndTime || d.endTime);\n if (d.milestone) {\n startX += 0.5 * (timeScale(d.endTime) - timeScale(d.startTime)) - 0.5 * theBarHeight;\n endX = startX + theBarHeight;\n }\n if (d.vert) {\n return timeScale(d.startTime) + theSidePad;\n }\n const textWidth = this.getBBox().width;\n if (textWidth > endX - startX) {\n if (endX + textWidth + 1.5 * conf.leftPadding > w2) {\n return startX + theSidePad - 5;\n } else {\n return endX + theSidePad + 5;\n }\n } else {\n return (endX - startX) / 2 + startX + theSidePad;\n }\n }).attr(\"y\", function(d, i) {\n if (d.vert) {\n return conf.gridLineStartPadding + taskArray.length * (conf.barHeight + conf.barGap) + 60;\n }\n i = d.order;\n return i * theGap + conf.barHeight / 2 + (conf.fontSize / 2 - 2) + theTopPad;\n }).attr(\"text-height\", theBarHeight).attr(\"class\", function(d) {\n const startX = timeScale(d.startTime);\n let endX = timeScale(d.endTime);\n if (d.milestone) {\n endX = startX + theBarHeight;\n }\n const textWidth = this.getBBox().width;\n let classStr = \"\";\n if (d.classes.length > 0) {\n classStr = d.classes.join(\" \");\n }\n let secNum = 0;\n for (const [i, category] of categories.entries()) {\n if (d.type === category) {\n secNum = i % conf.numberSectionStyles;\n }\n }\n let taskType = \"\";\n if (d.active) {\n if (d.crit) {\n taskType = \"activeCritText\" + secNum;\n } else {\n taskType = \"activeText\" + secNum;\n }\n }\n if (d.done) {\n if (d.crit) {\n taskType = taskType + \" doneCritText\" + secNum;\n } else {\n taskType = taskType + \" doneText\" + secNum;\n }\n } else {\n if (d.crit) {\n taskType = taskType + \" critText\" + secNum;\n }\n }\n if (d.milestone) {\n taskType += \" milestoneText\";\n }\n if (d.vert) {\n taskType += \" vertText\";\n }\n if (textWidth > endX - startX) {\n if (endX + textWidth + 1.5 * conf.leftPadding > w2) {\n return classStr + \" taskTextOutsideLeft taskTextOutside\" + secNum + \" \" + taskType;\n } else {\n return classStr + \" taskTextOutsideRight taskTextOutside\" + secNum + \" \" + taskType + \" width-\" + textWidth;\n }\n } else {\n return classStr + \" taskText taskText\" + secNum + \" \" + taskType + \" width-\" + textWidth;\n }\n });\n const securityLevel2 = getConfig().securityLevel;\n if (securityLevel2 === \"sandbox\") {\n let sandboxElement2;\n sandboxElement2 = select(\"#i\" + id);\n const doc2 = sandboxElement2.nodes()[0].contentDocument;\n rectangles.filter(function(d) {\n return links2.has(d.id);\n }).each(function(o) {\n var taskRect = doc2.querySelector(\"#\" + o.id);\n var taskText = doc2.querySelector(\"#\" + o.id + \"-text\");\n const oldParent = taskRect.parentNode;\n var Link = doc2.createElement(\"a\");\n Link.setAttribute(\"xlink:href\", links2.get(o.id));\n Link.setAttribute(\"target\", \"_top\");\n oldParent.appendChild(Link);\n Link.appendChild(taskRect);\n Link.appendChild(taskText);\n });\n }\n }\n __name(drawRects, \"drawRects\");\n function drawExcludeDays(theGap, theTopPad, theSidePad, w2, h2, tasks2, excludes2, includes2) {\n if (excludes2.length === 0 && includes2.length === 0) {\n return;\n }\n let minTime;\n let maxTime;\n for (const { startTime, endTime } of tasks2) {\n if (minTime === void 0 || startTime < minTime) {\n minTime = startTime;\n }\n if (maxTime === void 0 || endTime > maxTime) {\n maxTime = endTime;\n }\n }\n if (!minTime || !maxTime) {\n return;\n }\n if (dayjs2(maxTime).diff(dayjs2(minTime), \"year\") > 5) {\n log.warn(\n \"The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.\"\n );\n return;\n }\n const dateFormat2 = diagObj.db.getDateFormat();\n const excludeRanges = [];\n let range = null;\n let d = dayjs2(minTime);\n while (d.valueOf() <= maxTime) {\n if (diagObj.db.isInvalidDate(d, dateFormat2, excludes2, includes2)) {\n if (!range) {\n range = {\n start: d,\n end: d\n };\n } else {\n range.end = d;\n }\n } else {\n if (range) {\n excludeRanges.push(range);\n range = null;\n }\n }\n d = d.add(1, \"d\");\n }\n const rectangles = svg.append(\"g\").selectAll(\"rect\").data(excludeRanges).enter();\n rectangles.append(\"rect\").attr(\"id\", (d2) => \"exclude-\" + d2.start.format(\"YYYY-MM-DD\")).attr(\"x\", (d2) => timeScale(d2.start.startOf(\"day\")) + theSidePad).attr(\"y\", conf.gridLineStartPadding).attr(\"width\", (d2) => timeScale(d2.end.endOf(\"day\")) - timeScale(d2.start.startOf(\"day\"))).attr(\"height\", h2 - theTopPad - conf.gridLineStartPadding).attr(\"transform-origin\", function(d2, i) {\n return (timeScale(d2.start) + theSidePad + 0.5 * (timeScale(d2.end) - timeScale(d2.start))).toString() + \"px \" + (i * theGap + 0.5 * h2).toString() + \"px\";\n }).attr(\"class\", \"exclude-range\");\n }\n __name(drawExcludeDays, \"drawExcludeDays\");\n function getEstimatedTickCount(minTime, maxTime, every, interval) {\n if (every <= 0 || minTime > maxTime) {\n return Infinity;\n }\n const timeDiffMs = maxTime - minTime;\n const intervalMs = dayjs2.duration({ [interval ?? \"day\"]: every }).asMilliseconds();\n if (intervalMs <= 0) {\n return Infinity;\n }\n return Math.ceil(timeDiffMs / intervalMs);\n }\n __name(getEstimatedTickCount, \"getEstimatedTickCount\");\n function makeGrid(theSidePad, theTopPad, w2, h2) {\n const dateFormat2 = diagObj.db.getDateFormat();\n const userAxisFormat = diagObj.db.getAxisFormat();\n let axisFormat2;\n if (userAxisFormat) {\n axisFormat2 = userAxisFormat;\n } else if (dateFormat2 === \"D\") {\n axisFormat2 = \"%d\";\n } else {\n axisFormat2 = conf.axisFormat ?? \"%Y-%m-%d\";\n }\n let bottomXAxis = axisBottom(timeScale).tickSize(-h2 + theTopPad + conf.gridLineStartPadding).tickFormat(timeFormat(axisFormat2));\n const reTickInterval = /^([1-9]\\d*)(millisecond|second|minute|hour|day|week|month)$/;\n const resultTickInterval = reTickInterval.exec(\n diagObj.db.getTickInterval() || conf.tickInterval\n );\n if (resultTickInterval !== null) {\n const every = parseInt(resultTickInterval[1], 10);\n if (isNaN(every) || every <= 0) {\n log.warn(\n `Invalid tick interval value: \"${resultTickInterval[1]}\". Skipping custom tick interval.`\n );\n } else {\n const interval = resultTickInterval[2];\n const weekday2 = diagObj.db.getWeekday() || conf.weekday;\n const domain = timeScale.domain();\n const minTime = domain[0];\n const maxTime = domain[1];\n const estimatedTicks = getEstimatedTickCount(minTime, maxTime, every, interval);\n if (estimatedTicks > MAX_TICK_COUNT) {\n log.warn(\n `The tick interval \"${every}${interval}\" would generate ${estimatedTicks} ticks, which exceeds the maximum allowed (${MAX_TICK_COUNT}). This may indicate an invalid date or time range. Skipping custom tick interval.`\n );\n } else {\n switch (interval) {\n case \"millisecond\":\n bottomXAxis.ticks(timeMillisecond.every(every));\n break;\n case \"second\":\n bottomXAxis.ticks(timeSecond.every(every));\n break;\n case \"minute\":\n bottomXAxis.ticks(timeMinute.every(every));\n break;\n case \"hour\":\n bottomXAxis.ticks(timeHour.every(every));\n break;\n case \"day\":\n bottomXAxis.ticks(timeDay.every(every));\n break;\n case \"week\":\n bottomXAxis.ticks(mapWeekdayToTimeFunction[weekday2].every(every));\n break;\n case \"month\":\n bottomXAxis.ticks(timeMonth.every(every));\n break;\n }\n }\n }\n }\n svg.append(\"g\").attr(\"class\", \"grid\").attr(\"transform\", \"translate(\" + theSidePad + \", \" + (h2 - 50) + \")\").call(bottomXAxis).selectAll(\"text\").style(\"text-anchor\", \"middle\").attr(\"fill\", \"#000\").attr(\"stroke\", \"none\").attr(\"font-size\", 10).attr(\"dy\", \"1em\");\n if (diagObj.db.topAxisEnabled() || conf.topAxis) {\n let topXAxis = axisTop(timeScale).tickSize(-h2 + theTopPad + conf.gridLineStartPadding).tickFormat(timeFormat(axisFormat2));\n if (resultTickInterval !== null) {\n const every = parseInt(resultTickInterval[1], 10);\n if (isNaN(every) || every <= 0) {\n log.warn(\n `Invalid tick interval value: \"${resultTickInterval[1]}\". Skipping custom tick interval.`\n );\n } else {\n const interval = resultTickInterval[2];\n const weekday2 = diagObj.db.getWeekday() || conf.weekday;\n const domain = timeScale.domain();\n const minTime = domain[0];\n const maxTime = domain[1];\n const estimatedTicks = getEstimatedTickCount(minTime, maxTime, every, interval);\n if (estimatedTicks <= MAX_TICK_COUNT) {\n switch (interval) {\n case \"millisecond\":\n topXAxis.ticks(timeMillisecond.every(every));\n break;\n case \"second\":\n topXAxis.ticks(timeSecond.every(every));\n break;\n case \"minute\":\n topXAxis.ticks(timeMinute.every(every));\n break;\n case \"hour\":\n topXAxis.ticks(timeHour.every(every));\n break;\n case \"day\":\n topXAxis.ticks(timeDay.every(every));\n break;\n case \"week\":\n topXAxis.ticks(mapWeekdayToTimeFunction[weekday2].every(every));\n break;\n case \"month\":\n topXAxis.ticks(timeMonth.every(every));\n break;\n }\n }\n }\n }\n svg.append(\"g\").attr(\"class\", \"grid\").attr(\"transform\", \"translate(\" + theSidePad + \", \" + theTopPad + \")\").call(topXAxis).selectAll(\"text\").style(\"text-anchor\", \"middle\").attr(\"fill\", \"#000\").attr(\"stroke\", \"none\").attr(\"font-size\", 10);\n }\n }\n __name(makeGrid, \"makeGrid\");\n function vertLabels(theGap, theTopPad) {\n let prevGap = 0;\n const numOccurrences = Object.keys(categoryHeights).map((d) => [d, categoryHeights[d]]);\n svg.append(\"g\").selectAll(\"text\").data(numOccurrences).enter().append(function(d) {\n const rows = d[0].split(common_default.lineBreakRegex);\n const dy = -(rows.length - 1) / 2;\n const svgLabel = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n svgLabel.setAttribute(\"dy\", dy + \"em\");\n for (const [j, row] of rows.entries()) {\n const tspan = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n tspan.setAttribute(\"alignment-baseline\", \"central\");\n tspan.setAttribute(\"x\", \"10\");\n if (j > 0) {\n tspan.setAttribute(\"dy\", \"1em\");\n }\n tspan.textContent = row;\n svgLabel.appendChild(tspan);\n }\n return svgLabel;\n }).attr(\"x\", 10).attr(\"y\", function(d, i) {\n if (i > 0) {\n for (let j = 0; j < i; j++) {\n prevGap += numOccurrences[i - 1][1];\n return d[1] * theGap / 2 + prevGap * theGap + theTopPad;\n }\n } else {\n return d[1] * theGap / 2 + theTopPad;\n }\n }).attr(\"font-size\", conf.sectionFontSize).attr(\"class\", function(d) {\n for (const [i, category] of categories.entries()) {\n if (d[0] === category) {\n return \"sectionTitle sectionTitle\" + i % conf.numberSectionStyles;\n }\n }\n return \"sectionTitle\";\n });\n }\n __name(vertLabels, \"vertLabels\");\n function drawToday(theSidePad, theTopPad, w2, h2) {\n const todayMarker2 = diagObj.db.getTodayMarker();\n if (todayMarker2 === \"off\") {\n return;\n }\n const todayG = svg.append(\"g\").attr(\"class\", \"today\");\n const today = /* @__PURE__ */ new Date();\n const todayLine = todayG.append(\"line\");\n todayLine.attr(\"x1\", timeScale(today) + theSidePad).attr(\"x2\", timeScale(today) + theSidePad).attr(\"y1\", conf.titleTopMargin).attr(\"y2\", h2 - conf.titleTopMargin).attr(\"class\", \"today\");\n if (todayMarker2 !== \"\") {\n todayLine.attr(\"style\", todayMarker2.replace(/,/g, \";\"));\n }\n }\n __name(drawToday, \"drawToday\");\n function checkUnique(arr) {\n const hash = {};\n const result = [];\n for (let i = 0, l = arr.length; i < l; ++i) {\n if (!Object.prototype.hasOwnProperty.call(hash, arr[i])) {\n hash[arr[i]] = true;\n result.push(arr[i]);\n }\n }\n return result;\n }\n __name(checkUnique, \"checkUnique\");\n}, \"draw\");\nvar ganttRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/gantt/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .mermaid-main-font {\n font-family: ${options.fontFamily};\n }\n\n .exclude-range {\n fill: ${options.excludeBkgColor};\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ${options.sectionBkgColor};\n }\n\n .section2 {\n fill: ${options.sectionBkgColor2};\n }\n\n .section1,\n .section3 {\n fill: ${options.altSectionBkgColor};\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle1 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle2 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle3 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle {\n text-anchor: start;\n font-family: ${options.fontFamily};\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ${options.gridColor};\n opacity: 0.8;\n shape-rendering: crispEdges;\n }\n\n .grid .tick text {\n font-family: ${options.fontFamily};\n fill: ${options.textColor};\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ${options.todayLineColor};\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: ${options.fontFamily};\n }\n\n .taskTextOutsideRight {\n fill: ${options.taskTextDarkColor};\n text-anchor: start;\n font-family: ${options.fontFamily};\n }\n\n .taskTextOutsideLeft {\n fill: ${options.taskTextDarkColor};\n text-anchor: end;\n }\n\n\n /* Special case clickable */\n\n .task.clickable {\n cursor: pointer;\n }\n\n .taskText.clickable {\n cursor: pointer;\n fill: ${options.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ${options.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ${options.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ${options.taskTextColor};\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ${options.taskBkgColor};\n stroke: ${options.taskBorderColor};\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ${options.taskTextOutsideColor};\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ${options.taskTextOutsideColor};\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ${options.activeTaskBkgColor};\n stroke: ${options.activeTaskBorderColor};\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ${options.doneTaskBorderColor};\n fill: ${options.doneTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ${options.critBorderColor};\n fill: ${options.critBkgColor};\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ${options.critBorderColor};\n fill: ${options.activeTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ${options.critBorderColor};\n fill: ${options.doneTaskBkgColor};\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n .vert {\n stroke: ${options.vertLineColor};\n }\n\n .vertText {\n font-size: 15px;\n text-anchor: middle;\n fill: ${options.vertLineColor} !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.titleColor || options.textColor};\n font-family: ${options.fontFamily};\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/gantt/ganttDiagram.ts\nvar diagram = {\n parser: gantt_default,\n db: ganttDb_default,\n renderer: ganttRenderer_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["e","t","module","this","i","s","a","d","n","o","r","u","f","h","c","l","m","M","Y","p","v","D","w","g","y","L","$","parser","__name","k","o2","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","$Vj","$Vk","$Vl","$Vm","$Vn","$Vo","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","yyloc","ranges","popStack","lex","token","symbol","state","action","yyval","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","next","pre","match","indexed_rule","backup","tempMatch","index","rules","condition","yy_","$avoiding_name_collisions","YY_START","Parser","gantt_default","dayjs","dayjsIsoWeek","dayjsCustomParseFormat","dayjsAdvancedFormat","WEEKEND_START_DAY","dateFormat","axisFormat","tickInterval","todayMarker","includes","excludes","links","sections","tasks","currentSection","displayMode","tags","funs","inclusiveEndDates","topAxis","weekday","weekend","lastOrder","clear2","taskCnt","lastTask","lastTaskID","rawTasks","clear","setAxisFormat","txt","getAxisFormat","setTickInterval","getTickInterval","setTodayMarker","getTodayMarker","setDateFormat","enableInclusiveEndDates","endDatesAreInclusive","enableTopAxis","topAxisEnabled","setDisplayMode","getDisplayMode","getDateFormat","setIncludes","getIncludes","setExcludes","getExcludes","getLinks","addSection","getSections","getTasks","allItemsProcessed","compileTasks","maxDepth","iterationCount","isInvalidDate","date","dateFormat2","excludes2","includes2","formattedDate","dateOnly","setWeekday","getWeekday","setWeekend","startDay","checkTaskDates","task","startTime","originalEndTime","fixedEndTime","renderEndTime","fixTaskDates","endTime","invalid","getStartDate","prevTime","format","trimmedFormat","afterStatement","latestTask","id","findTaskById","today","mDate","log","parseDuration","statement","getEndDate","inclusive","untilStatement","earliestTask","parsedDate","durationValue","durationUnit","newEndTime","parseId","idStr","compileData","prevTask","dataStr","ds","data","getTaskTags","endTimeData","parseData","prevTaskId","taskDb","addTask","descr","rawTask","taskInfo","pos","addTaskOrg","newTask","compileTask","allProcessed","setLink","ids","_linkStr","linkStr","getConfig","sanitizeUrl","pushFun","setClass","className","setClickFun","functionName","functionArgs","argList","item","utils_default","callbackFunction","elem","setClickEvent","bindFunctions","element","fun","ganttDb_default","setAccTitle","getAccTitle","setDiagramTitle","getDiagramTitle","setAccDescription","getAccDescription","tags2","matchFound","pattern","regex","dayjs2","dayjsDuration","setConf","mapWeekdayToTimeFunction","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","timeSunday","getMaxIntersections","tasks2","orderOffset","timeline","sorted","b","maxIntersections","j","MAX_TICK_COUNT","draw","text","version","diagObj","conf","securityLevel","sandboxElement","select","root","doc","taskArray","categories","checkUnique","categoryHeights","categoryElements","intersections","category","categoryHeight","svg","timeScale","scaleTime","min","max","taskCompare","taskA","taskB","result","makeGantt","configureSvgSize","pageWidth","pageHeight","barHeight","gap","topPadding","leftPadding","colorScale","scaleLinear","interpolateHcl","drawExcludeDays","makeGrid","drawRects","vertLabels","drawToday","theArray","theGap","theTopPad","theSidePad","theBarHeight","theColorScale","w2","uniqueTasks","id2","rectangles","links2","res","classStr","secNum","taskClass","startX","endX","textWidth","taskType","sandboxElement2","doc2","taskRect","taskText","oldParent","Link","h2","minTime","maxTime","excludeRanges","range","d2","getEstimatedTickCount","every","interval","timeDiffMs","intervalMs","userAxisFormat","axisFormat2","bottomXAxis","axisBottom","timeFormat","resultTickInterval","weekday2","domain","estimatedTicks","timeMillisecond","timeSecond","timeMinute","timeHour","timeDay","timeMonth","topXAxis","axisTop","prevGap","numOccurrences","rows","common_default","dy","svgLabel","row","tspan","todayMarker2","todayG","todayLine","arr","ganttRenderer_default","getStyles","options","styles_default","diagram"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import{p as Z}from"./chunk-4BX2VUAB-Bb3u24_X.js";import{I as F}from"./chunk-QZHKN3VN-CD9rwyT-.js";import{_ as h,t as U,q as rr,s as er,g as tr,a as ar,b as nr,l as m,c as sr,d as or,u as cr,E as ir,z as dr,k as B,F as hr,G as lr,H as $r,I as fr}from"./mermaid-to-excalidraw-D-aVQaad.js";import{p as gr}from"./treemap-KMMF4GRG-CNTnVawn.js";import"./_baseUniq-BrAtqm7r.js";import"./_basePickBy-ZfSBwMAc.js";import"./clone-DKsuYKPC.js";var u={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},yr=$r.gitGraph,z=h(()=>hr({...yr,...lr().gitGraph}),"getConfig"),i=new F(()=>{const t=z(),r=t.mainBranchName,a=t.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:a}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function S(){return fr({length:7})}h(S,"getID");function N(t,r){const a=Object.create(null);return t.reduce((s,e)=>{const n=r(e);return a[n]||(a[n]=!0,s.push(e)),s},[])}h(N,"uniqBy");var xr=h(function(t){i.records.direction=t},"setDirection"),ur=h(function(t){m.debug("options str",t),t=t==null?void 0:t.trim(),t=t||"{}";try{i.records.options=JSON.parse(t)}catch(r){m.error("error while parsing gitGraph options",r.message)}},"setOptions"),pr=h(function(){return i.records.options},"getOptions"),br=h(function(t){let r=t.msg,a=t.id;const s=t.type;let e=t.tags;m.info("commit",r,a,s,e),m.debug("Entering commit:",r,a,s,e);const n=z();a=B.sanitizeText(a,n),r=B.sanitizeText(r,n),e=e==null?void 0:e.map(o=>B.sanitizeText(o,n));const c={id:a||i.records.seq+"-"+S(),message:r,seq:i.records.seq++,type:s??u.NORMAL,tags:e??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=c,m.info("main branch",n.mainBranchName),i.records.commits.has(c.id)&&m.warn(`Commit ID ${c.id} already exists`),i.records.commits.set(c.id,c),i.records.branches.set(i.records.currBranch,c.id),m.debug("in pushCommit "+c.id)},"commit"),mr=h(function(t){let r=t.name;const a=t.order;if(r=B.sanitizeText(r,z()),i.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);i.records.branches.set(r,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(r,{name:r,order:a}),_(r),m.debug("in createBranch")},"branch"),wr=h(t=>{let r=t.branch,a=t.id;const s=t.type,e=t.tags,n=z();r=B.sanitizeText(r,n),a&&(a=B.sanitizeText(a,n));const c=i.records.branches.get(i.records.currBranch),o=i.records.branches.get(r),$=c?i.records.commits.get(c):void 0,l=o?i.records.commits.get(o):void 0;if($&&l&&$.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(i.records.currBranch===r){const d=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if($===void 0||!$){const d=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},d}if(!i.records.branches.has(r)){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},d}if(l===void 0||!l){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},d}if($===l){const d=new Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(a&&i.records.commits.has(a)){const d=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom id");throw d.hash={text:`merge ${r} ${a} ${s} ${e==null?void 0:e.join(" ")}`,token:`merge ${r} ${a} ${s} ${e==null?void 0:e.join(" ")}`,expected:[`merge ${r} ${a}_UNIQUE ${s} ${e==null?void 0:e.join(" ")}`]},d}const f=o||"",g={id:a||`${i.records.seq}-${S()}`,message:`merged branch ${r} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,f],branch:i.records.currBranch,type:u.MERGE,customType:s,customId:!!a,tags:e??[]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),m.debug(i.records.branches),m.debug("in mergeBranch")},"merge"),vr=h(function(t){let r=t.id,a=t.targetId,s=t.tags,e=t.parent;m.debug("Entering cherryPick:",r,a,s);const n=z();if(r=B.sanitizeText(r,n),a=B.sanitizeText(a,n),s=s==null?void 0:s.map($=>B.sanitizeText($,n)),e=B.sanitizeText(e,n),!r||!i.records.commits.has(r)){const $=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw $.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},$}const c=i.records.commits.get(r);if(c===void 0||!c)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(e&&!(Array.isArray(c.parents)&&c.parents.includes(e)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=c.branch;if(c.type===u.MERGE&&!e)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!a||!i.records.commits.has(a)){if(o===i.records.currBranch){const g=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const $=i.records.branches.get(i.records.currBranch);if($===void 0||!$){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const l=i.records.commits.get($);if(l===void 0||!l){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const f={id:i.records.seq+"-"+S(),message:`cherry-picked ${c==null?void 0:c.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,c.id],branch:i.records.currBranch,type:u.CHERRY_PICK,tags:s?s.filter(Boolean):[`cherry-pick:${c.id}${c.type===u.MERGE?`|parent:${e}`:""}`]};i.records.head=f,i.records.commits.set(f.id,f),i.records.branches.set(i.records.currBranch,f.id),m.debug(i.records.branches),m.debug("in cherryPick")}},"cherryPick"),_=h(function(t){if(t=B.sanitizeText(t,z()),i.records.branches.has(t)){i.records.currBranch=t;const r=i.records.branches.get(i.records.currBranch);r===void 0||!r?i.records.head=null:i.records.head=i.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw r.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},r}},"checkout");function A(t,r,a){const s=t.indexOf(r);s===-1?t.push(a):t.splice(s,1,a)}h(A,"upsert");function D(t){const r=t.reduce((e,n)=>e.seq>n.seq?e:n,t[0]);let a="";t.forEach(function(e){e===r?a+=" *":a+=" |"});const s=[a,r.id,r.seq];for(const e in i.records.branches)i.records.branches.get(e)===r.id&&s.push(e);if(m.debug(s.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const e=i.records.commits.get(r.parents[0]);A(t,r,e),r.parents[1]&&t.push(i.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const e=i.records.commits.get(r.parents[0]);A(t,r,e)}}t=N(t,e=>e.id),D(t)}h(D,"prettyPrintCommitHistory");var Cr=h(function(){m.debug(i.records.commits);const t=V()[0];D([t])},"prettyPrint"),Er=h(function(){i.reset(),dr()},"clear"),Br=h(function(){return[...i.records.branchConfig.values()].map((r,a)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${a}`)}).sort((r,a)=>(r.order??0)-(a.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),kr=h(function(){return i.records.branches},"getBranches"),Lr=h(function(){return i.records.commits},"getCommits"),V=h(function(){const t=[...i.records.commits.values()];return t.forEach(function(r){m.debug(r.id)}),t.sort((r,a)=>r.seq-a.seq),t},"getCommitsArray"),Tr=h(function(){return i.records.currBranch},"getCurrentBranch"),Mr=h(function(){return i.records.direction},"getDirection"),Rr=h(function(){return i.records.head},"getHead"),X={commitType:u,getConfig:z,setDirection:xr,setOptions:ur,getOptions:pr,commit:br,branch:mr,merge:wr,cherryPick:vr,checkout:_,prettyPrint:Cr,clear:Er,getBranchesAsObjArray:Br,getBranches:kr,getCommits:Lr,getCommitsArray:V,getCurrentBranch:Tr,getDirection:Mr,getHead:Rr,setAccTitle:nr,getAccTitle:ar,getAccDescription:tr,setAccDescription:er,setDiagramTitle:rr,getDiagramTitle:U},Ir=h((t,r)=>{Z(t,r),t.dir&&r.setDirection(t.dir);for(const a of t.statements)qr(a,r)},"populate"),qr=h((t,r)=>{const s={Commit:h(e=>r.commit(Or(e)),"Commit"),Branch:h(e=>r.branch(zr(e)),"Branch"),Merge:h(e=>r.merge(Gr(e)),"Merge"),Checkout:h(e=>r.checkout(Hr(e)),"Checkout"),CherryPicking:h(e=>r.cherryPick(Pr(e)),"CherryPicking")}[t.$type];s?s(t):m.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),Or=h(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?u[t.type]:u.NORMAL,tags:t.tags??void 0}),"parseCommit"),zr=h(t=>({name:t.name,order:t.order??0}),"parseBranch"),Gr=h(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?u[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),Hr=h(t=>t.branch,"parseCheckout"),Pr=h(t=>{var a;return{id:t.id,targetId:"",tags:((a=t.tags)==null?void 0:a.length)===0?void 0:t.tags,parent:t.parent}},"parseCherryPicking"),Wr={parse:h(async t=>{const r=await gr("gitGraph",t);m.debug(r),Ir(r,X)},"parse")},j=sr(),b=j==null?void 0:j.gitGraph,R=10,I=40,k=4,L=2,O=8,C=new Map,E=new Map,P=30,G=new Map,W=[],M=0,x="LR",Sr=h(()=>{C.clear(),E.clear(),G.clear(),M=0,W=[],x="LR"},"clear"),J=h(t=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(s=>{const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),e.setAttribute("class","row"),e.textContent=s.trim(),r.appendChild(e)}),r},"drawText"),Q=h(t=>{let r,a,s;return x==="BT"?(a=h((e,n)=>e<=n,"comparisonFunc"),s=1/0):(a=h((e,n)=>e>=n,"comparisonFunc"),s=0),t.forEach(e=>{var c,o;const n=x==="TB"||x=="BT"?(c=E.get(e))==null?void 0:c.y:(o=E.get(e))==null?void 0:o.x;n!==void 0&&a(n,s)&&(r=e,s=n)}),r},"findClosestParent"),jr=h(t=>{let r="",a=1/0;return t.forEach(s=>{const e=E.get(s).y;e<=a&&(r=s,a=e)}),r||void 0},"findClosestParentBT"),Ar=h((t,r,a)=>{let s=a,e=a;const n=[];t.forEach(c=>{const o=r.get(c);if(!o)throw new Error(`Commit not found for key ${c}`);o.parents.length?(s=Yr(o),e=Math.max(s,e)):n.push(o),Kr(o,s)}),s=e,n.forEach(c=>{Nr(c,s,a)}),t.forEach(c=>{const o=r.get(c);if(o!=null&&o.parents.length){const $=jr(o.parents);s=E.get($).y-I,s<=e&&(e=s);const l=C.get(o.branch).pos,f=s-R;E.set(o.id,{x:l,y:f})}})},"setParallelBTPos"),Dr=h(t=>{var s;const r=Q(t.parents.filter(e=>e!==null));if(!r)throw new Error(`Closest parent not found for commit ${t.id}`);const a=(s=E.get(r))==null?void 0:s.y;if(a===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return a},"findClosestParentPos"),Yr=h(t=>Dr(t)+I,"calculateCommitPosition"),Kr=h((t,r)=>{const a=C.get(t.branch);if(!a)throw new Error(`Branch not found for commit ${t.id}`);const s=a.pos,e=r+R;return E.set(t.id,{x:s,y:e}),{x:s,y:e}},"setCommitPosition"),Nr=h((t,r,a)=>{const s=C.get(t.branch);if(!s)throw new Error(`Branch not found for commit ${t.id}`);const e=r+a,n=s.pos;E.set(t.id,{x:n,y:e})},"setRootPosition"),_r=h((t,r,a,s,e,n)=>{if(n===u.HIGHLIGHT)t.append("rect").attr("x",a.x-10).attr("y",a.y-10).attr("width",20).attr("height",20).attr("class",`commit ${r.id} commit-highlight${e%O} ${s}-outer`),t.append("rect").attr("x",a.x-6).attr("y",a.y-6).attr("width",12).attr("height",12).attr("class",`commit ${r.id} commit${e%O} ${s}-inner`);else if(n===u.CHERRY_PICK)t.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("class",`commit ${r.id} ${s}`),t.append("circle").attr("cx",a.x-3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${s}`),t.append("circle").attr("cx",a.x+3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${s}`),t.append("line").attr("x1",a.x+3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${s}`),t.append("line").attr("x1",a.x-3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${s}`);else{const c=t.append("circle");if(c.attr("cx",a.x),c.attr("cy",a.y),c.attr("r",r.type===u.MERGE?9:10),c.attr("class",`commit ${r.id} commit${e%O}`),n===u.MERGE){const o=t.append("circle");o.attr("cx",a.x),o.attr("cy",a.y),o.attr("r",6),o.attr("class",`commit ${s} ${r.id} commit${e%O}`)}n===u.REVERSE&&t.append("path").attr("d",`M ${a.x-5},${a.y-5}L${a.x+5},${a.y+5}M${a.x-5},${a.y+5}L${a.x+5},${a.y-5}`).attr("class",`commit ${s} ${r.id} commit${e%O}`)}},"drawCommitBullet"),Vr=h((t,r,a,s)=>{var e;if(r.type!==u.CHERRY_PICK&&(r.customId&&r.type===u.MERGE||r.type!==u.MERGE)&&(b!=null&&b.showCommitLabel)){const n=t.append("g"),c=n.insert("rect").attr("class","commit-label-bkg"),o=n.append("text").attr("x",s).attr("y",a.y+25).attr("class","commit-label").text(r.id),$=(e=o.node())==null?void 0:e.getBBox();if($&&(c.attr("x",a.posWithOffset-$.width/2-L).attr("y",a.y+13.5).attr("width",$.width+2*L).attr("height",$.height+2*L),x==="TB"||x==="BT"?(c.attr("x",a.x-($.width+4*k+5)).attr("y",a.y-12),o.attr("x",a.x-($.width+4*k)).attr("y",a.y+$.height-12)):o.attr("x",a.posWithOffset-$.width/2),b.rotateCommitLabel))if(x==="TB"||x==="BT")o.attr("transform","rotate(-45, "+a.x+", "+a.y+")"),c.attr("transform","rotate(-45, "+a.x+", "+a.y+")");else{const l=-7.5-($.width+10)/25*9.5,f=10+$.width/25*8.5;n.attr("transform","translate("+l+", "+f+") rotate(-45, "+s+", "+a.y+")")}}},"drawCommitLabel"),Xr=h((t,r,a,s)=>{var e;if(r.tags.length>0){let n=0,c=0,o=0;const $=[];for(const l of r.tags.reverse()){const f=t.insert("polygon"),g=t.append("circle"),d=t.append("text").attr("y",a.y-16-n).attr("class","tag-label").text(l),y=(e=d.node())==null?void 0:e.getBBox();if(!y)throw new Error("Tag bbox not found");c=Math.max(c,y.width),o=Math.max(o,y.height),d.attr("x",a.posWithOffset-y.width/2),$.push({tag:d,hole:g,rect:f,yOffset:n}),n+=20}for(const{tag:l,hole:f,rect:g,yOffset:d}of $){const y=o/2,p=a.y-19.2-d;if(g.attr("class","tag-label-bkg").attr("points",`
|
|
2
|
+
${s-c/2-k/2},${p+L}
|
|
3
|
+
${s-c/2-k/2},${p-L}
|
|
4
|
+
${a.posWithOffset-c/2-k},${p-y-L}
|
|
5
|
+
${a.posWithOffset+c/2+k},${p-y-L}
|
|
6
|
+
${a.posWithOffset+c/2+k},${p+y+L}
|
|
7
|
+
${a.posWithOffset-c/2-k},${p+y+L}`),f.attr("cy",p).attr("cx",s-c/2+k/2).attr("r",1.5).attr("class","tag-hole"),x==="TB"||x==="BT"){const w=s+d;g.attr("class","tag-label-bkg").attr("points",`
|
|
8
|
+
${a.x},${w+2}
|
|
9
|
+
${a.x},${w-2}
|
|
10
|
+
${a.x+R},${w-y-2}
|
|
11
|
+
${a.x+R+c+4},${w-y-2}
|
|
12
|
+
${a.x+R+c+4},${w+y+2}
|
|
13
|
+
${a.x+R},${w+y+2}`).attr("transform","translate(12,12) rotate(45, "+a.x+","+s+")"),f.attr("cx",a.x+k/2).attr("cy",w).attr("transform","translate(12,12) rotate(45, "+a.x+","+s+")"),l.attr("x",a.x+5).attr("y",w+3).attr("transform","translate(14,14) rotate(45, "+a.x+","+s+")")}}}},"drawCommitTags"),Jr=h(t=>{switch(t.customType??t.type){case u.NORMAL:return"commit-normal";case u.REVERSE:return"commit-reverse";case u.HIGHLIGHT:return"commit-highlight";case u.MERGE:return"commit-merge";case u.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),Qr=h((t,r,a,s)=>{const e={x:0,y:0};if(t.parents.length>0){const n=Q(t.parents);if(n){const c=s.get(n)??e;return r==="TB"?c.y+I:r==="BT"?(s.get(t.id)??e).y-I:c.x+I}}else return r==="TB"?P:r==="BT"?(s.get(t.id)??e).y-I:0;return 0},"calculatePosition"),Zr=h((t,r,a)=>{var c,o;const s=x==="BT"&&a?r:r+R,e=x==="TB"||x==="BT"?s:(c=C.get(t.branch))==null?void 0:c.pos,n=x==="TB"||x==="BT"?(o=C.get(t.branch))==null?void 0:o.pos:s;if(n===void 0||e===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:n,y:e,posWithOffset:s}},"getCommitPosition"),K=h((t,r,a)=>{if(!b)throw new Error("GitGraph config not found");const s=t.append("g").attr("class","commit-bullets"),e=t.append("g").attr("class","commit-labels");let n=x==="TB"||x==="BT"?P:0;const c=[...r.keys()],o=(b==null?void 0:b.parallelCommits)??!1,$=h((f,g)=>{var p,w;const d=(p=r.get(f))==null?void 0:p.seq,y=(w=r.get(g))==null?void 0:w.seq;return d!==void 0&&y!==void 0?d-y:0},"sortKeys");let l=c.sort($);x==="BT"&&(o&&Ar(l,r,n),l=l.reverse()),l.forEach(f=>{var y;const g=r.get(f);if(!g)throw new Error(`Commit not found for key ${f}`);o&&(n=Qr(g,x,n,E));const d=Zr(g,n,o);if(a){const p=Jr(g),w=g.customType??g.type,q=((y=C.get(g.branch))==null?void 0:y.index)??0;_r(s,g,d,p,q,w),Vr(e,g,d,n),Xr(e,g,d,n)}x==="TB"||x==="BT"?E.set(g.id,{x:d.x,y:d.posWithOffset}):E.set(g.id,{x:d.posWithOffset,y:d.y}),n=x==="BT"&&o?n+I:n+I+R,n>M&&(M=n)})},"drawCommits"),Fr=h((t,r,a,s,e)=>{const c=(x==="TB"||x==="BT"?a.x<s.x:a.y<s.y)?r.branch:t.branch,o=h(l=>l.branch===c,"isOnBranchToGetCurve"),$=h(l=>l.seq>t.seq&&l.seq<r.seq,"isBetweenCommits");return[...e.values()].some(l=>$(l)&&o(l))},"shouldRerouteArrow"),H=h((t,r,a=0)=>{const s=t+Math.abs(t-r)/2;if(a>5)return s;if(W.every(c=>Math.abs(c-s)>=10))return W.push(s),s;const n=Math.abs(t-r);return H(t,r-n/5,a+1)},"findLane"),Ur=h((t,r,a,s)=>{var y,p,w,q,Y;const e=E.get(r.id),n=E.get(a.id);if(e===void 0||n===void 0)throw new Error(`Commit positions not found for commits ${r.id} and ${a.id}`);const c=Fr(r,a,e,n,s);let o="",$="",l=0,f=0,g=(y=C.get(a.branch))==null?void 0:y.index;a.type===u.MERGE&&r.id!==a.parents[0]&&(g=(p=C.get(r.branch))==null?void 0:p.index);let d;if(c){o="A 10 10, 0, 0, 0,",$="A 10 10, 0, 0, 1,",l=10,f=10;const T=e.y<n.y?H(e.y,n.y):H(n.y,e.y),v=e.x<n.x?H(e.x,n.x):H(n.x,e.x);x==="TB"?e.x<n.x?d=`M ${e.x} ${e.y} L ${v-l} ${e.y} ${$} ${v} ${e.y+f} L ${v} ${n.y-l} ${o} ${v+f} ${n.y} L ${n.x} ${n.y}`:(g=(w=C.get(r.branch))==null?void 0:w.index,d=`M ${e.x} ${e.y} L ${v+l} ${e.y} ${o} ${v} ${e.y+f} L ${v} ${n.y-l} ${$} ${v-f} ${n.y} L ${n.x} ${n.y}`):x==="BT"?e.x<n.x?d=`M ${e.x} ${e.y} L ${v-l} ${e.y} ${o} ${v} ${e.y-f} L ${v} ${n.y+l} ${$} ${v+f} ${n.y} L ${n.x} ${n.y}`:(g=(q=C.get(r.branch))==null?void 0:q.index,d=`M ${e.x} ${e.y} L ${v+l} ${e.y} ${$} ${v} ${e.y-f} L ${v} ${n.y+l} ${o} ${v-f} ${n.y} L ${n.x} ${n.y}`):e.y<n.y?d=`M ${e.x} ${e.y} L ${e.x} ${T-l} ${o} ${e.x+f} ${T} L ${n.x-l} ${T} ${$} ${n.x} ${T+f} L ${n.x} ${n.y}`:(g=(Y=C.get(r.branch))==null?void 0:Y.index,d=`M ${e.x} ${e.y} L ${e.x} ${T+l} ${$} ${e.x+f} ${T} L ${n.x-l} ${T} ${o} ${n.x} ${T-f} L ${n.x} ${n.y}`)}else o="A 20 20, 0, 0, 0,",$="A 20 20, 0, 0, 1,",l=20,f=20,x==="TB"?(e.x<n.x&&(a.type===u.MERGE&&r.id!==a.parents[0]?d=`M ${e.x} ${e.y} L ${e.x} ${n.y-l} ${o} ${e.x+f} ${n.y} L ${n.x} ${n.y}`:d=`M ${e.x} ${e.y} L ${n.x-l} ${e.y} ${$} ${n.x} ${e.y+f} L ${n.x} ${n.y}`),e.x>n.x&&(o="A 20 20, 0, 0, 0,",$="A 20 20, 0, 0, 1,",l=20,f=20,a.type===u.MERGE&&r.id!==a.parents[0]?d=`M ${e.x} ${e.y} L ${e.x} ${n.y-l} ${$} ${e.x-f} ${n.y} L ${n.x} ${n.y}`:d=`M ${e.x} ${e.y} L ${n.x+l} ${e.y} ${o} ${n.x} ${e.y+f} L ${n.x} ${n.y}`),e.x===n.x&&(d=`M ${e.x} ${e.y} L ${n.x} ${n.y}`)):x==="BT"?(e.x<n.x&&(a.type===u.MERGE&&r.id!==a.parents[0]?d=`M ${e.x} ${e.y} L ${e.x} ${n.y+l} ${$} ${e.x+f} ${n.y} L ${n.x} ${n.y}`:d=`M ${e.x} ${e.y} L ${n.x-l} ${e.y} ${o} ${n.x} ${e.y-f} L ${n.x} ${n.y}`),e.x>n.x&&(o="A 20 20, 0, 0, 0,",$="A 20 20, 0, 0, 1,",l=20,f=20,a.type===u.MERGE&&r.id!==a.parents[0]?d=`M ${e.x} ${e.y} L ${e.x} ${n.y+l} ${o} ${e.x-f} ${n.y} L ${n.x} ${n.y}`:d=`M ${e.x} ${e.y} L ${n.x-l} ${e.y} ${o} ${n.x} ${e.y-f} L ${n.x} ${n.y}`),e.x===n.x&&(d=`M ${e.x} ${e.y} L ${n.x} ${n.y}`)):(e.y<n.y&&(a.type===u.MERGE&&r.id!==a.parents[0]?d=`M ${e.x} ${e.y} L ${n.x-l} ${e.y} ${$} ${n.x} ${e.y+f} L ${n.x} ${n.y}`:d=`M ${e.x} ${e.y} L ${e.x} ${n.y-l} ${o} ${e.x+f} ${n.y} L ${n.x} ${n.y}`),e.y>n.y&&(a.type===u.MERGE&&r.id!==a.parents[0]?d=`M ${e.x} ${e.y} L ${n.x-l} ${e.y} ${o} ${n.x} ${e.y-f} L ${n.x} ${n.y}`:d=`M ${e.x} ${e.y} L ${e.x} ${n.y+l} ${$} ${e.x+f} ${n.y} L ${n.x} ${n.y}`),e.y===n.y&&(d=`M ${e.x} ${e.y} L ${n.x} ${n.y}`));if(d===void 0)throw new Error("Line definition not found");t.append("path").attr("d",d).attr("class","arrow arrow"+g%O)},"drawArrow"),re=h((t,r)=>{const a=t.append("g").attr("class","commit-arrows");[...r.keys()].forEach(s=>{const e=r.get(s);e.parents&&e.parents.length>0&&e.parents.forEach(n=>{Ur(a,r.get(n),e,r)})})},"drawArrows"),ee=h((t,r)=>{const a=t.append("g");r.forEach((s,e)=>{var p;const n=e%O,c=(p=C.get(s.name))==null?void 0:p.pos;if(c===void 0)throw new Error(`Position not found for branch ${s.name}`);const o=a.append("line");o.attr("x1",0),o.attr("y1",c),o.attr("x2",M),o.attr("y2",c),o.attr("class","branch branch"+n),x==="TB"?(o.attr("y1",P),o.attr("x1",c),o.attr("y2",M),o.attr("x2",c)):x==="BT"&&(o.attr("y1",M),o.attr("x1",c),o.attr("y2",P),o.attr("x2",c)),W.push(c);const $=s.name,l=J($),f=a.insert("rect"),d=a.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+n);d.node().appendChild(l);const y=l.getBBox();f.attr("class","branchLabelBkg label"+n).attr("rx",4).attr("ry",4).attr("x",-y.width-4-((b==null?void 0:b.rotateCommitLabel)===!0?30:0)).attr("y",-y.height/2+8).attr("width",y.width+18).attr("height",y.height+4),d.attr("transform","translate("+(-y.width-14-((b==null?void 0:b.rotateCommitLabel)===!0?30:0))+", "+(c-y.height/2-1)+")"),x==="TB"?(f.attr("x",c-y.width/2-10).attr("y",0),d.attr("transform","translate("+(c-y.width/2-5)+", 0)")):x==="BT"?(f.attr("x",c-y.width/2-10).attr("y",M),d.attr("transform","translate("+(c-y.width/2-5)+", "+M+")")):f.attr("transform","translate(-19, "+(c-y.height/2)+")")})},"drawBranches"),te=h(function(t,r,a,s,e){return C.set(t,{pos:r,index:a}),r+=50+(e?40:0)+(x==="TB"||x==="BT"?s.width/2:0),r},"setBranchPosition"),ae=h(function(t,r,a,s){if(Sr(),m.debug("in gitgraph renderer",t+`
|
|
14
|
+
`,"id:",r,a),!b)throw new Error("GitGraph config not found");const e=b.rotateCommitLabel??!1,n=s.db;G=n.getCommits();const c=n.getBranchesAsObjArray();x=n.getDirection();const o=or(`[id="${r}"]`);let $=0;c.forEach((l,f)=>{var q;const g=J(l.name),d=o.append("g"),y=d.insert("g").attr("class","branchLabel"),p=y.insert("g").attr("class","label branch-label");(q=p.node())==null||q.appendChild(g);const w=g.getBBox();$=te(l.name,$,f,w,e),p.remove(),y.remove(),d.remove()}),K(o,G,!1),b.showBranches&&ee(o,c),re(o,G),K(o,G,!0),cr.insertTitle(o,"gitTitleText",b.titleTopMargin??0,n.getDiagramTitle()),ir(void 0,o,b.diagramPadding,b.useMaxWidth)},"draw"),ne={draw:ae},se=h(t=>`
|
|
15
|
+
.commit-id,
|
|
16
|
+
.commit-msg,
|
|
17
|
+
.branch-label {
|
|
18
|
+
fill: lightgrey;
|
|
19
|
+
color: lightgrey;
|
|
20
|
+
font-family: 'trebuchet ms', verdana, arial, sans-serif;
|
|
21
|
+
font-family: var(--mermaid-font-family);
|
|
22
|
+
}
|
|
23
|
+
${[0,1,2,3,4,5,6,7].map(r=>`
|
|
24
|
+
.branch-label${r} { fill: ${t["gitBranchLabel"+r]}; }
|
|
25
|
+
.commit${r} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; }
|
|
26
|
+
.commit-highlight${r} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; }
|
|
27
|
+
.label${r} { fill: ${t["git"+r]}; }
|
|
28
|
+
.arrow${r} { stroke: ${t["git"+r]}; }
|
|
29
|
+
`).join(`
|
|
30
|
+
`)}
|
|
31
|
+
|
|
32
|
+
.branch {
|
|
33
|
+
stroke-width: 1;
|
|
34
|
+
stroke: ${t.lineColor};
|
|
35
|
+
stroke-dasharray: 2;
|
|
36
|
+
}
|
|
37
|
+
.commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}
|
|
38
|
+
.commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }
|
|
39
|
+
.tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
|
|
40
|
+
.tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }
|
|
41
|
+
.tag-hole { fill: ${t.textColor}; }
|
|
42
|
+
|
|
43
|
+
.commit-merge {
|
|
44
|
+
stroke: ${t.primaryColor};
|
|
45
|
+
fill: ${t.primaryColor};
|
|
46
|
+
}
|
|
47
|
+
.commit-reverse {
|
|
48
|
+
stroke: ${t.primaryColor};
|
|
49
|
+
fill: ${t.primaryColor};
|
|
50
|
+
stroke-width: 3;
|
|
51
|
+
}
|
|
52
|
+
.commit-highlight-outer {
|
|
53
|
+
}
|
|
54
|
+
.commit-highlight-inner {
|
|
55
|
+
stroke: ${t.primaryColor};
|
|
56
|
+
fill: ${t.primaryColor};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.arrow { stroke-width: 8; stroke-linecap: round; fill: none}
|
|
60
|
+
.gitTitleText {
|
|
61
|
+
text-anchor: middle;
|
|
62
|
+
font-size: 18px;
|
|
63
|
+
fill: ${t.textColor};
|
|
64
|
+
}
|
|
65
|
+
`,"getStyles"),oe=se,ge={parser:Wr,db:X,renderer:ne,styles:oe};export{ge as diagram};
|
|
66
|
+
//# sourceMappingURL=gitGraphDiagram-NY62KEGX-DxG2NOZV.js.map
|