@epic-web/workshop-app 5.22.4 → 5.23.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/build/client/assets/{_-CHaVBRQw.js → _-BaHOmd8F.js} +2 -2
- package/build/client/assets/{_-CHaVBRQw.js.map → _-BaHOmd8F.js.map} +1 -1
- package/build/client/assets/_basePickBy-B3Ji82Lk.js +2 -0
- package/build/client/assets/_basePickBy-B3Ji82Lk.js.map +1 -0
- package/build/client/assets/_baseUniq-BoGoqSUm.js +2 -0
- package/build/client/assets/_baseUniq-BoGoqSUm.js.map +1 -0
- package/build/client/assets/{_exerciseNumber-3uq8PYSd.js → _exerciseNumber-DtILU6SM.js} +2 -2
- package/build/client/assets/{_exerciseNumber-3uq8PYSd.js.map → _exerciseNumber-DtILU6SM.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_._stepNumber-D5VDI7vZ.js → _exerciseNumber_._stepNumber-DoOFEk-P.js} +2 -2
- package/build/client/assets/{_exerciseNumber_._stepNumber-D5VDI7vZ.js.map → _exerciseNumber_._stepNumber-DoOFEk-P.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_.finished-3Iv9ikNq.js → _exerciseNumber_.finished-CEK9anWX.js} +2 -2
- package/build/client/assets/{_exerciseNumber_.finished-3Iv9ikNq.js.map → _exerciseNumber_.finished-CEK9anWX.js.map} +1 -1
- package/build/client/assets/{_layout-DV29dlKr.js → _layout-B_BIIcpM.js} +2 -2
- package/build/client/assets/{_layout-DV29dlKr.js.map → _layout-B_BIIcpM.js.map} +1 -1
- package/build/client/assets/_layout-D1r_62oj.js +6 -0
- package/build/client/assets/_layout-D1r_62oj.js.map +1 -0
- package/build/client/assets/{_layout-CwTidn3v.js → _layout-D7_F6t3x.js} +2 -2
- package/build/client/assets/{_layout-CwTidn3v.js.map → _layout-D7_F6t3x.js.map} +1 -1
- package/build/client/assets/_layout-DzlTTMQ0.js +2 -0
- package/build/client/assets/_layout-DzlTTMQ0.js.map +1 -0
- package/build/client/assets/accordion-CpiLc1m2.js +2 -0
- package/build/client/assets/accordion-CpiLc1m2.js.map +1 -0
- package/build/client/assets/{account-CN4B8rm4.js → account-CbFDiVNd.js} +2 -2
- package/build/client/assets/{account-CN4B8rm4.js.map → account-CbFDiVNd.js.map} +1 -1
- package/build/client/assets/app-CQvK51s0.js +2 -0
- package/build/client/assets/{app-lUkT_xku.js.map → app-CQvK51s0.js.map} +1 -1
- package/build/client/assets/{app-DGPT3Jy6.css → app-DSmkkXO5.css} +1 -1
- package/build/client/assets/arc-rF8TbXNV.js +2 -0
- package/build/client/assets/arc-rF8TbXNV.js.map +1 -0
- package/build/client/assets/architectureDiagram-IEHRJDOE-D7gCCmY9.js +37 -0
- package/build/client/assets/architectureDiagram-IEHRJDOE-D7gCCmY9.js.map +1 -0
- package/build/client/assets/blockDiagram-JOT3LUYC-yGQOzhkw.js +122 -0
- package/build/client/assets/blockDiagram-JOT3LUYC-yGQOzhkw.js.map +1 -0
- package/build/client/assets/{button-ChOzbirS.js → button-Dt4EcDfR.js} +2 -2
- package/build/client/assets/{button-ChOzbirS.js.map → button-Dt4EcDfR.js.map} +1 -1
- package/build/client/assets/c4Diagram-VJAJSXHY-CTFjYF37.js +11 -0
- package/build/client/assets/c4Diagram-VJAJSXHY-CTFjYF37.js.map +1 -0
- package/build/client/assets/channel-5s71-OE9.js +2 -0
- package/build/client/assets/channel-5s71-OE9.js.map +1 -0
- package/build/client/assets/chunk-4BMEZGHF-BIe0IUDz.js +2 -0
- package/build/client/assets/chunk-4BMEZGHF-BIe0IUDz.js.map +1 -0
- package/build/client/assets/chunk-A2AXSNBT-B-nCbUBj.js +165 -0
- package/build/client/assets/chunk-A2AXSNBT-B-nCbUBj.js.map +1 -0
- package/build/client/assets/chunk-AEK57VVT-B-cCHPs2.js +221 -0
- package/build/client/assets/chunk-AEK57VVT-B-cCHPs2.js.map +1 -0
- package/build/client/assets/chunk-D6G4REZN-EQ3R8OZx.js +2 -0
- package/build/client/assets/chunk-D6G4REZN-EQ3R8OZx.js.map +1 -0
- package/build/client/assets/chunk-RZ5BOZE2-h6svq8Xk.js +2 -0
- package/build/client/assets/chunk-RZ5BOZE2-h6svq8Xk.js.map +1 -0
- package/build/client/assets/chunk-XZIHB7SX-74-HFRcU.js +2 -0
- package/build/client/assets/chunk-XZIHB7SX-74-HFRcU.js.map +1 -0
- package/build/client/assets/classDiagram-GIVACNV2-CWogZCzR.js +2 -0
- package/build/client/assets/classDiagram-GIVACNV2-CWogZCzR.js.map +1 -0
- package/build/client/assets/classDiagram-v2-COTLJTTW-CWogZCzR.js +2 -0
- package/build/client/assets/classDiagram-v2-COTLJTTW-CWogZCzR.js.map +1 -0
- package/build/client/assets/clone-nHZ14b_E.js +2 -0
- package/build/client/assets/clone-nHZ14b_E.js.map +1 -0
- package/build/client/assets/{components-DrvY4pal.js → components-5arJTWsS.js} +5 -5
- package/build/client/assets/{components-DrvY4pal.js.map → components-5arJTWsS.js.map} +1 -1
- package/build/client/assets/cytoscape.esm-BY7v1xhs.js +332 -0
- package/build/client/assets/cytoscape.esm-BY7v1xhs.js.map +1 -0
- package/build/client/assets/dagre-OKDRZEBW-Bq-HgVN8.js +5 -0
- package/build/client/assets/dagre-OKDRZEBW-Bq-HgVN8.js.map +1 -0
- package/build/client/assets/diagram-SSKATNLV-Cls675Lh.js +44 -0
- package/build/client/assets/diagram-SSKATNLV-Cls675Lh.js.map +1 -0
- package/build/client/assets/diagram-VNBRO52H-CJDqBhLa.js +25 -0
- package/build/client/assets/diagram-VNBRO52H-CJDqBhLa.js.map +1 -0
- package/build/client/assets/diff-8N5KyD7o.js +2 -0
- package/build/client/assets/{diff-CVrsnWqw.js.map → diff-8N5KyD7o.js.map} +1 -1
- package/build/client/assets/{diff-CTHVtVGQ.js → diff-Bu4t2NGL.js} +2 -2
- package/build/client/assets/{diff-CTHVtVGQ.js.map → diff-Bu4t2NGL.js.map} +1 -1
- package/build/client/assets/{discord-gROK6Zn6.js → discord-BU7RzE6-.js} +2 -2
- package/build/client/assets/{discord-gROK6Zn6.js.map → discord-BU7RzE6-.js.map} +1 -1
- package/build/client/assets/discord-ut4t-aMQ.js +2 -0
- package/build/client/assets/discord-ut4t-aMQ.js.map +1 -0
- package/build/client/assets/entry.client-BLUlgPHE.js +44 -0
- package/build/client/assets/{entry.client-CQusg5Iz.js.map → entry.client-BLUlgPHE.js.map} +1 -1
- package/build/client/assets/epic-video-DN9DRRHf.js +3206 -0
- package/build/client/assets/epic-video-DN9DRRHf.js.map +1 -0
- package/build/client/assets/erDiagram-Q7BY3M3F-DdKn4jVQ.js +61 -0
- package/build/client/assets/erDiagram-Q7BY3M3F-DdKn4jVQ.js.map +1 -0
- package/build/client/assets/{error-boundary-CAu3AmhN.js → error-boundary-B07cWiEy.js} +2 -2
- package/build/client/assets/{error-boundary-CAu3AmhN.js.map → error-boundary-B07cWiEy.js.map} +1 -1
- package/build/client/assets/{finished-9PhQncNF.js → finished-B3G1RUDO.js} +2 -2
- package/build/client/assets/{finished-9PhQncNF.js.map → finished-B3G1RUDO.js.map} +1 -1
- package/build/client/assets/flowDiagram-4HSFHLVR-5Mg796nh.js +162 -0
- package/build/client/assets/flowDiagram-4HSFHLVR-5Mg796nh.js.map +1 -0
- package/build/client/assets/ganttDiagram-APWFNJXF-YO2fxWzG.js +258 -0
- package/build/client/assets/ganttDiagram-APWFNJXF-YO2fxWzG.js.map +1 -0
- package/build/client/assets/gitGraphDiagram-7IBYFJ6S-DQCZvhP_.js +66 -0
- package/build/client/assets/gitGraphDiagram-7IBYFJ6S-DQCZvhP_.js.map +1 -0
- package/build/client/assets/graph-BFAO9Sgp.js +2 -0
- package/build/client/assets/graph-BFAO9Sgp.js.map +1 -0
- package/build/client/assets/{index-egcHQOpF.js → index-B8yUFowV.js} +2 -2
- package/build/client/assets/{index-egcHQOpF.js.map → index-B8yUFowV.js.map} +1 -1
- package/build/client/assets/{index-qo6WmPUa.js → index-BfCSiT_X.js} +2 -2
- package/build/client/assets/{index-qo6WmPUa.js.map → index-BfCSiT_X.js.map} +1 -1
- package/build/client/assets/index-BmMpCvYx.js +2 -0
- package/build/client/assets/index-BmMpCvYx.js.map +1 -0
- package/build/client/assets/index-CEP3Xxa0.js +36 -0
- package/build/client/assets/index-CEP3Xxa0.js.map +1 -0
- package/build/client/assets/index-Dkt2MSig.js +2 -0
- package/build/client/assets/index-Dkt2MSig.js.map +1 -0
- package/build/client/assets/index-Do-KWT0a.js +42 -0
- package/build/client/assets/index-Do-KWT0a.js.map +1 -0
- package/build/client/assets/index-Dsusf_Av.js +38 -0
- package/build/client/assets/{index-CGzylDPY.js.map → index-Dsusf_Av.js.map} +1 -1
- package/build/client/assets/index-DvQyydjU.js +3 -0
- package/build/client/assets/index-DvQyydjU.js.map +1 -0
- package/build/client/assets/{index-CYZfnGWa.js → index-Fw2eA3AF.js} +2 -2
- package/build/client/assets/{index-CYZfnGWa.js.map → index-Fw2eA3AF.js.map} +1 -1
- package/build/client/assets/infoDiagram-PH2N3AL5-x87RxSs8.js +3 -0
- package/build/client/assets/infoDiagram-PH2N3AL5-x87RxSs8.js.map +1 -0
- package/build/client/assets/init-Gi6I4Gst.js +2 -0
- package/build/client/assets/init-Gi6I4Gst.js.map +1 -0
- package/build/client/assets/journeyDiagram-U35MCT3I-D5yGbOLJ.js +139 -0
- package/build/client/assets/journeyDiagram-U35MCT3I-D5yGbOLJ.js.map +1 -0
- package/build/client/assets/kanban-definition-NDS4AKOZ-BM6KyRww.js +89 -0
- package/build/client/assets/kanban-definition-NDS4AKOZ-BM6KyRww.js.map +1 -0
- package/build/client/assets/katex-ChWnQ-fc.js +262 -0
- package/build/client/assets/katex-ChWnQ-fc.js.map +1 -0
- package/build/client/assets/layout-qCiM2Jgn.js +2 -0
- package/build/client/assets/layout-qCiM2Jgn.js.map +1 -0
- package/build/client/assets/linear-B3zp51yW.js +2 -0
- package/build/client/assets/linear-B3zp51yW.js.map +1 -0
- package/build/client/assets/{loading-CPEkK5hO.js → loading-BPTYJOXN.js} +2 -2
- package/build/client/assets/{loading-CPEkK5hO.js.map → loading-BPTYJOXN.js.map} +1 -1
- package/build/client/assets/login-CfyUfm-m.js +2 -0
- package/build/client/assets/{login-C9JmYc0v.js.map → login-CfyUfm-m.js.map} +1 -1
- package/build/client/assets/{manifest-4acdd3e2.js → manifest-fe4b7228.js} +1 -1
- package/build/client/assets/mdx-Dfsh6Vjk.js +3 -0
- package/build/client/assets/mdx-Dfsh6Vjk.js.map +1 -0
- package/build/client/assets/mermaid.core-ZaxoMXOj.js +214 -0
- package/build/client/assets/mermaid.core-ZaxoMXOj.js.map +1 -0
- package/build/client/assets/mindmap-definition-ALO5MXBD-CF3siXp6.js +96 -0
- package/build/client/assets/mindmap-definition-ALO5MXBD-CF3siXp6.js.map +1 -0
- package/build/client/assets/misc-2sBiisF5.js +2 -0
- package/build/client/assets/misc-2sBiisF5.js.map +1 -0
- package/build/client/assets/{nav-chevrons-DCuva9-Q.js → nav-chevrons-CV-dpXNR.js} +2 -2
- package/build/client/assets/{nav-chevrons-DCuva9-Q.js.map → nav-chevrons-CV-dpXNR.js.map} +1 -1
- package/build/client/assets/{onboarding-DzfDHJg_.js → onboarding-5LC4kIVW.js} +2 -2
- package/build/client/assets/{onboarding-DzfDHJg_.js.map → onboarding-5LC4kIVW.js.map} +1 -1
- package/build/client/assets/{online-BsTX44az.js → online-IWqRB9zP.js} +2 -2
- package/build/client/assets/{online-BsTX44az.js.map → online-IWqRB9zP.js.map} +1 -1
- package/build/client/assets/ordinal-Cboi1Yqb.js +2 -0
- package/build/client/assets/ordinal-Cboi1Yqb.js.map +1 -0
- package/build/client/assets/{pe-DXT2FOp1.js → pe-BShc2dvc.js} +2 -2
- package/build/client/assets/{pe-DXT2FOp1.js.map → pe-BShc2dvc.js.map} +1 -1
- package/build/client/assets/pieDiagram-IB7DONF6-B-gWQIHI.js +31 -0
- package/build/client/assets/pieDiagram-IB7DONF6-B-gWQIHI.js.map +1 -0
- package/build/client/assets/{preferences-BYBJKp8k.js → preferences-BkWQyRCq.js} +2 -2
- package/build/client/assets/{preferences-BYBJKp8k.js.map → preferences-BkWQyRCq.js.map} +1 -1
- package/build/client/assets/presence-BAL3jDku.js +28 -0
- package/build/client/assets/presence-BAL3jDku.js.map +1 -0
- package/build/client/assets/preview-D4amucCL.js +2 -0
- package/build/client/assets/{preview-DaTpH6lj.js.map → preview-D4amucCL.js.map} +1 -1
- package/build/client/assets/{product-BKhLQKd7.js → product-Cyum2biy.js} +2 -2
- package/build/client/assets/{product-BKhLQKd7.js.map → product-Cyum2biy.js.map} +1 -1
- package/build/client/assets/progress-BJ4ADF-s.js +2 -0
- package/build/client/assets/progress-BJ4ADF-s.js.map +1 -0
- package/build/client/assets/{progress-bar-ZCHf2Y4W.js → progress-bar-DgnkQxQw.js} +2 -2
- package/build/client/assets/{progress-bar-ZCHf2Y4W.js.map → progress-bar-DgnkQxQw.js.map} +1 -1
- package/build/client/assets/quadrantDiagram-7GDLP6J5-BQzo7p61.js +8 -0
- package/build/client/assets/quadrantDiagram-7GDLP6J5-BQzo7p61.js.map +1 -0
- package/build/client/assets/radar-MK3ICKWK-CM-Iz9PA.js +129 -0
- package/build/client/assets/radar-MK3ICKWK-CM-Iz9PA.js.map +1 -0
- package/build/client/assets/requirementDiagram-KVF5MWMF-DzaHc66R.js +65 -0
- package/build/client/assets/requirementDiagram-KVF5MWMF-DzaHc66R.js.map +1 -0
- package/build/client/assets/revalidation-ws-ho-umDqd.js +2 -0
- package/build/client/assets/{revalidation-ws-BoJZTvOQ.js.map → revalidation-ws-ho-umDqd.js.map} +1 -1
- package/build/client/assets/{root-4MvCzrFd.js → root-tJmOmO9T.js} +3 -3
- package/build/client/assets/{root-4MvCzrFd.js.map → root-tJmOmO9T.js.map} +1 -1
- package/build/client/assets/sankeyDiagram-QLVOVGJD-DfAVeZCk.js +11 -0
- package/build/client/assets/sankeyDiagram-QLVOVGJD-DfAVeZCk.js.map +1 -0
- package/build/client/assets/sequenceDiagram-X6HHIX6F-CljZRLoS.js +123 -0
- package/build/client/assets/sequenceDiagram-X6HHIX6F-CljZRLoS.js.map +1 -0
- package/build/client/assets/{set-playground-IUJCGVu2.js → set-playground-DW2Ys-rV.js} +2 -2
- package/build/client/assets/{set-playground-IUJCGVu2.js.map → set-playground-DW2Ys-rV.js.map} +1 -1
- package/build/client/assets/stateDiagram-DGXRK772-BzVfGv3W.js +2 -0
- package/build/client/assets/stateDiagram-DGXRK772-BzVfGv3W.js.map +1 -0
- package/build/client/assets/stateDiagram-v2-YXO3MK2T-8oX001yq.js +2 -0
- package/build/client/assets/stateDiagram-v2-YXO3MK2T-8oX001yq.js.map +1 -0
- package/build/client/assets/{support-CW3-Iilk.js → support-Bg0iSyle.js} +2 -2
- package/build/client/assets/{support-CW3-Iilk.js.map → support-Bg0iSyle.js.map} +1 -1
- package/build/client/assets/tailwind-DtnE_2an.css +1 -0
- package/build/client/assets/test-C14D-N72.js +2 -0
- package/build/client/assets/{test-B8jDo0X4.js.map → test-C14D-N72.js.map} +1 -1
- package/build/client/assets/tests-6__AtHpI.js +4 -0
- package/build/client/assets/{tests-y-atkhWB.js.map → tests-6__AtHpI.js.map} +1 -1
- package/build/client/assets/timeline-definition-BDJGKUSR-2TO9MtLY.js +62 -0
- package/build/client/assets/timeline-definition-BDJGKUSR-2TO9MtLY.js.map +1 -0
- package/build/client/assets/tooltip-Bzd6O8vq.js +2 -0
- package/build/client/assets/tooltip-Bzd6O8vq.js.map +1 -0
- package/build/client/assets/{use-event-source-AZJtQsFX.js → use-event-source-Dar8h_B8.js} +2 -2
- package/build/client/assets/{use-event-source-AZJtQsFX.js.map → use-event-source-Dar8h_B8.js.map} +1 -1
- package/build/client/assets/{user-C0j04V55.js → user-DNSnhqGn.js} +2 -2
- package/build/client/assets/{user-C0j04V55.js.map → user-DNSnhqGn.js.map} +1 -1
- package/build/client/assets/{version-D61Qvt0X.js → version-DriSvNMy.js} +2 -2
- package/build/client/assets/{version-D61Qvt0X.js.map → version-DriSvNMy.js.map} +1 -1
- package/build/client/assets/{workshop-config-oL_FWDKq.js → workshop-config-DchzGYJM.js} +2 -2
- package/build/client/assets/{workshop-config-oL_FWDKq.js.map → workshop-config-DchzGYJM.js.map} +1 -1
- package/build/client/assets/xychartDiagram-VJFVF3MP-Dh4nsbBT.js +8 -0
- package/build/client/assets/xychartDiagram-VJFVF3MP-Dh4nsbBT.js.map +1 -0
- package/build/server/index.js +50 -58
- package/build/server/index.js.map +1 -1
- package/dist/server/index.js +6 -0
- package/package.json +6 -5
- package/build/client/assets/_layout-Brb3LPqZ.js +0 -5
- package/build/client/assets/_layout-Brb3LPqZ.js.map +0 -1
- package/build/client/assets/_layout-CkabS-6c.js +0 -9
- package/build/client/assets/_layout-CkabS-6c.js.map +0 -1
- package/build/client/assets/accordion-BjQ-5Z44.js +0 -2
- package/build/client/assets/accordion-BjQ-5Z44.js.map +0 -1
- package/build/client/assets/app-lUkT_xku.js +0 -2
- package/build/client/assets/diff-CVrsnWqw.js +0 -2
- package/build/client/assets/discord-Cl4hiMqz.js +0 -2
- package/build/client/assets/discord-Cl4hiMqz.js.map +0 -1
- package/build/client/assets/entry.client-CQusg5Iz.js +0 -44
- package/build/client/assets/epic-video-BQtjG_Y0.js +0 -3053
- package/build/client/assets/epic-video-BQtjG_Y0.js.map +0 -1
- package/build/client/assets/index-BncqUVfr.js +0 -39
- package/build/client/assets/index-BncqUVfr.js.map +0 -1
- package/build/client/assets/index-CB8bjE90.js +0 -3
- package/build/client/assets/index-CB8bjE90.js.map +0 -1
- package/build/client/assets/index-CGzylDPY.js +0 -38
- package/build/client/assets/index-CMYl882D.js +0 -36
- package/build/client/assets/index-CMYl882D.js.map +0 -1
- package/build/client/assets/index-CSGHuBiw.js +0 -5
- package/build/client/assets/index-CSGHuBiw.js.map +0 -1
- package/build/client/assets/index-mZJ8sz9i.js +0 -2
- package/build/client/assets/index-mZJ8sz9i.js.map +0 -1
- package/build/client/assets/login-C9JmYc0v.js +0 -2
- package/build/client/assets/mdx-CnaWQCDw.js +0 -2
- package/build/client/assets/mdx-CnaWQCDw.js.map +0 -1
- package/build/client/assets/misc-CQmANiHr.js +0 -2
- package/build/client/assets/misc-CQmANiHr.js.map +0 -1
- package/build/client/assets/presence-D5UF-NOM.js +0 -28
- package/build/client/assets/presence-D5UF-NOM.js.map +0 -1
- package/build/client/assets/preview-DaTpH6lj.js +0 -2
- package/build/client/assets/progress-DwE8EkAa.js +0 -2
- package/build/client/assets/progress-DwE8EkAa.js.map +0 -1
- package/build/client/assets/revalidation-ws-BoJZTvOQ.js +0 -2
- package/build/client/assets/tailwind-O9k3JIDs.css +0 -1
- package/build/client/assets/test-B8jDo0X4.js +0 -2
- package/build/client/assets/tests-y-atkhWB.js +0 -4
- package/build/client/assets/tooltip-Cd0yJoQb.js +0 -2
- package/build/client/assets/tooltip-Cd0yJoQb.js.map +0 -1
- /package/build/client/assets/{epic-video-DUnRvy1A.css → epic-video-D2Xftn6t.css} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as o}from"./index-
|
|
2
|
-
//# sourceMappingURL=use-event-source-
|
|
1
|
+
import{r as o}from"./index-Dsusf_Av.js";const d=o.createContext(new Map);d.Provider;function p(u,{event:n="message",init:t,enabled:c=!0}={}){let r=o.useContext(d),[f,a]=o.useState(null);return o.useEffect(()=>{if(!c)return;let s=[u.toString(),t==null?void 0:t.withCredentials].join("::"),e=r.get(s)??{count:0,source:new EventSource(u,t)};++e.count,r.set(s,e),e.source.addEventListener(n,l),a(null);function l(E){a(E.data||"UNKNOWN_EVENT_DATA")}return()=>{e.source.removeEventListener(n,l),--e.count,e.count<=0&&(e.source.close(),r.delete(s))}},[u,n,t,r,c]),f}export{p as u};
|
|
2
|
+
//# sourceMappingURL=use-event-source-Dar8h_B8.js.map
|
package/build/client/assets/{use-event-source-AZJtQsFX.js.map → use-event-source-Dar8h_B8.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-event-source-
|
|
1
|
+
{"version":3,"file":"use-event-source-Dar8h_B8.js","sources":["../../../../../node_modules/remix-utils/build/react/use-event-source.js"],"sourcesContent":["import { createContext, useContext, useEffect, useState } from \"react\";\nconst context = createContext(new Map());\nexport const EventSourceProvider = context.Provider;\n/**\n * Subscribe to an event source and return the latest event.\n * @param url The URL of the event source to connect to\n * @param options The options to pass to the EventSource constructor\n * @returns The last event received from the server\n */\nexport function useEventSource(url, { event = \"message\", init, enabled = true } = {}) {\n let map = useContext(context);\n let [data, setData] = useState(null);\n useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n let key = [url.toString(), init?.withCredentials].join(\"::\");\n let value = map.get(key) ?? {\n count: 0,\n source: new EventSource(url, init),\n };\n ++value.count;\n map.set(key, value);\n value.source.addEventListener(event, handler);\n // rest data if dependencies change\n setData(null);\n function handler(event) {\n setData(event.data || \"UNKNOWN_EVENT_DATA\");\n }\n return () => {\n value.source.removeEventListener(event, handler);\n --value.count;\n if (value.count <= 0) {\n value.source.close();\n map.delete(key);\n }\n };\n }, [url, event, init, map, enabled]);\n return data;\n}\n"],"names":["context","createContext","useEventSource","url","event","init","enabled","map","useContext","data","setData","useState","useEffect","key","value","handler"],"mappings":"wCACA,MAAMA,EAAUC,EAAAA,cAAc,IAAI,GAAK,EACJD,EAAQ,SAOpC,SAASE,EAAeC,EAAK,CAAE,MAAAC,EAAQ,UAAW,KAAAC,EAAM,QAAAC,EAAU,EAAM,EAAG,GAAI,CAClF,IAAIC,EAAMC,EAAU,WAACR,CAAO,EACxB,CAACS,EAAMC,CAAO,EAAIC,EAAAA,SAAS,IAAI,EACnCC,OAAAA,EAAAA,UAAU,IAAM,CACZ,GAAI,CAACN,EACD,OAEJ,IAAIO,EAAM,CAACV,EAAI,SAAQ,EAAIE,GAAA,YAAAA,EAAM,eAAe,EAAE,KAAK,IAAI,EACvDS,EAAQP,EAAI,IAAIM,CAAG,GAAK,CACxB,MAAO,EACP,OAAQ,IAAI,YAAYV,EAAKE,CAAI,CACpC,EACD,EAAES,EAAM,MACRP,EAAI,IAAIM,EAAKC,CAAK,EAClBA,EAAM,OAAO,iBAAiBV,EAAOW,CAAO,EAE5CL,EAAQ,IAAI,EACZ,SAASK,EAAQX,EAAO,CACpBM,EAAQN,EAAM,MAAQ,oBAAoB,CACtD,CACQ,MAAO,IAAM,CACTU,EAAM,OAAO,oBAAoBV,EAAOW,CAAO,EAC/C,EAAED,EAAM,MACJA,EAAM,OAAS,IACfA,EAAM,OAAO,MAAO,EACpBP,EAAI,OAAOM,CAAG,EAErB,CACT,EAAO,CAACV,EAAKC,EAAOC,EAAME,EAAKD,CAAO,CAAC,EAC5BG,CACX","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as e}from"./components-
|
|
2
|
-
//# sourceMappingURL=user-
|
|
1
|
+
import{b as e}from"./components-5arJTWsS.js";function o(){const r=e("root");return r==null?void 0:r.user}function i(){const r=o();if(!r)throw new Error("useUser requires a user. If the user is optional, use useOptionalUser instead.");return r}function n(){var s;const r=e("root");return(s=r==null?void 0:r.user)!=null&&s.discordProfile?{id:r.user.discordProfile.user.id,displayName:r.user.discordProfile.nick??r.user.discordProfile.user.global_name,avatarUrl:r.user.imageUrlLarge}:null}function t(){const r=e("root");return(r==null?void 0:r.userHasAccess)??!1}export{n as a,t as b,o as c,i as u};
|
|
2
|
+
//# sourceMappingURL=user-DNSnhqGn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-
|
|
1
|
+
{"version":3,"file":"user-DNSnhqGn.js","sources":["../../../app/components/user.tsx"],"sourcesContent":["import { useRouteLoaderData } from '@remix-run/react'\nimport { type loader as rootLoader } from '#app/root.tsx'\n\nexport function useOptionalUser() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.user\n}\n\nexport function useUser() {\n\tconst user = useOptionalUser()\n\tif (!user) {\n\t\tthrow new Error(\n\t\t\t'useUser requires a user. If the user is optional, use useOptionalUser instead.',\n\t\t)\n\t}\n\treturn user\n}\n\nexport function useOptionalDiscordMember() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.user?.discordProfile\n\t\t? {\n\t\t\t\tid: data.user.discordProfile.user.id,\n\t\t\t\tdisplayName:\n\t\t\t\t\tdata.user.discordProfile.nick ??\n\t\t\t\t\tdata.user.discordProfile.user.global_name,\n\t\t\t\tavatarUrl: data.user.imageUrlLarge,\n\t\t\t}\n\t\t: null\n}\n\nexport function useDiscordMember() {\n\tconst discordMember = useOptionalDiscordMember()\n\tif (!discordMember) {\n\t\tthrow new Error(\n\t\t\t'useDiscordMember requires a discordMember. If the discordMember is optional, use useOptionalDiscordMember instead.',\n\t\t)\n\t}\n\treturn discordMember\n}\n\nexport function useUserHasAccess() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.userHasAccess ?? false\n}\n"],"names":["useOptionalUser","data","useRouteLoaderData","useUser","user","useOptionalDiscordMember","_a","useUserHasAccess"],"mappings":"6CAGO,SAASA,GAAkB,CAC3B,MAAAC,EAAOC,EAAsC,MAAM,EACzD,OAAOD,GAAA,YAAAA,EAAM,IACd,CAEO,SAASE,GAAU,CACzB,MAAMC,EAAOJ,EAAgB,EAC7B,GAAI,CAACI,EACJ,MAAM,IAAI,MACT,gFACD,EAEM,OAAAA,CACR,CAEO,SAASC,GAA2B,OACpC,MAAAJ,EAAOC,EAAsC,MAAM,EAClD,OAAAI,EAAAL,GAAA,YAAAA,EAAM,OAAN,MAAAK,EAAY,eAChB,CACA,GAAIL,EAAK,KAAK,eAAe,KAAK,GAClC,YACCA,EAAK,KAAK,eAAe,MACzBA,EAAK,KAAK,eAAe,KAAK,YAC/B,UAAWA,EAAK,KAAK,aAAA,EAErB,IACJ,CAYO,SAASM,GAAmB,CAC5B,MAAAN,EAAOC,EAAsC,MAAM,EACzD,OAAOD,GAAA,YAAAA,EAAM,gBAAiB,EAC/B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as s}from"./index-
|
|
2
|
-
//# sourceMappingURL=version-
|
|
1
|
+
import{j as s}from"./index-Dsusf_Av.js";import{u as t}from"./workshop-config-DchzGYJM.js";import{u as r}from"./components-5arJTWsS.js";const h={getSitemapEntries:()=>null};function m(){const e=r(),o=t();return s.jsxs("div",{children:[s.jsx("h2",{className:"text-lg font-bold",children:"Workshop Version Information"}),s.jsx("h3",{className:"text-md font-bold",children:"Workshop Commit"}),e.workshopCommit?s.jsxs(s.Fragment,{children:[s.jsxs("p",{children:["Hash:"," ",s.jsx("a",{href:`${o.githubRepo}/commit/${e.workshopCommit.hash}`,className:"underline",children:e.workshopCommit.hash})]}),s.jsxs("p",{children:["Message: ",e.workshopCommit.message]}),s.jsxs("p",{children:["Date: ",e.workshopCommit.dateFormatted," (",e.workshopCommit.dateFromNow,")"]})]}):s.jsx("p",{children:"No commit information available"}),s.jsx("h3",{className:"text-md font-bold",children:"Workshop App"}),s.jsxs("p",{children:["Current Version: ",ENV.EPICSHOP_APP_VERSION?s.jsx("a",{href:`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`,className:"underline",children:ENV.EPICSHOP_APP_VERSION}):"Unknown"]}),s.jsxs("p",{children:["Latest Version: ",s.jsx("a",{href:`https://github.com/epicweb-dev/epicshop/releases/tag/v${e.latestWorkshopAppVersion}`,className:"underline",children:e.latestWorkshopAppVersion})]}),s.jsx("h3",{className:"text-md font-bold",children:"App Start Time"}),s.jsxs("p",{children:[e.startTimeFormatted," (",e.startTimeFromNow,")"]})]})}export{m as default,h as handle};
|
|
2
|
+
//# sourceMappingURL=version-DriSvNMy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-
|
|
1
|
+
{"version":3,"file":"version-DriSvNMy.js","sources":["../../../app/routes/admin+/version.tsx"],"sourcesContent":["import {\n\tgetCommitInfo,\n\tgetLatestWorkshopAppVersion,\n} from '@epic-web/workshop-utils/git.server'\nimport {\n\tcombineServerTimings,\n\tmakeTimings,\n\ttime,\n} from '@epic-web/workshop-utils/timing.server'\nimport { dayjs } from '@epic-web/workshop-utils/utils.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { type HeadersFunction } from '@remix-run/node'\nimport { useLoaderData, unstable_data as data } from '@remix-run/react'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\nimport { getErrorMessage } from '#app/utils/misc.tsx'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader() {\n\tconst timings = makeTimings('versionLoader')\n\tconst [commitInfo, latestVersion] = await Promise.all([\n\t\ttime(() => getCommitInfo(), { timings, type: 'getCommitInfo' }),\n\t\ttime(() => getLatestWorkshopAppVersion().catch((e) => getErrorMessage(e)), {\n\t\t\ttimings,\n\t\t\ttype: 'getLatestWorkshopAppVersion',\n\t\t}),\n\t])\n\n\tconst uptime = process.uptime() * 1000\n\tconst startDate = new Date(Date.now() - uptime)\n\n\treturn data(\n\t\t{\n\t\t\tworkshopCommit: commitInfo\n\t\t\t\t? {\n\t\t\t\t\t\t...commitInfo,\n\t\t\t\t\t\tdateFormatted: dayjs(commitInfo.date).format('YYYY-MM-DD HH:mm:ss'),\n\t\t\t\t\t\tdateFromNow: dayjs(commitInfo.date).fromNow(),\n\t\t\t\t\t}\n\t\t\t\t: null,\n\t\t\tlatestWorkshopAppVersion: latestVersion,\n\t\t\tstartTime: startDate.toISOString(),\n\t\t\tstartTimeFormatted: dayjs(startDate).format('YYYY-MM-DD HH:mm:ss'),\n\t\t\tstartTimeFromNow: dayjs(startDate).fromNow(),\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': timings.toString(),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport const headers: HeadersFunction = ({ parentHeaders, loaderHeaders }) => {\n\treturn {\n\t\t'Server-Timing': combineServerTimings(parentHeaders, loaderHeaders),\n\t}\n}\n\nexport default function Version() {\n\tconst data = useLoaderData<typeof loader>()\n\tconst workshopConfig = useWorkshopConfig()\n\n\treturn (\n\t\t<div>\n\t\t\t<h2 className=\"text-lg font-bold\">Workshop Version Information</h2>\n\t\t\t<h3 className=\"text-md font-bold\">Workshop Commit</h3>\n\t\t\t{data.workshopCommit ? (\n\t\t\t\t<>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tHash:{' '}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={`${workshopConfig.githubRepo}/commit/${data.workshopCommit.hash}`}\n\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{data.workshopCommit.hash}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>Message: {data.workshopCommit.message}</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tDate: {data.workshopCommit.dateFormatted} (\n\t\t\t\t\t\t{data.workshopCommit.dateFromNow})\n\t\t\t\t\t</p>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<p>No commit information available</p>\n\t\t\t)}\n\t\t\t<h3 className=\"text-md font-bold\">Workshop App</h3>\n\t\t\t<p>\n\t\t\t\t{'Current Version: '}\n\t\t\t\t{ENV.EPICSHOP_APP_VERSION ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={`https://github.com/epicweb-dev/epicshop/releases/tag/v${ENV.EPICSHOP_APP_VERSION}`}\n\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ENV.EPICSHOP_APP_VERSION}\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t'Unknown'\n\t\t\t\t)}\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{'Latest Version: '}\n\t\t\t\t<a\n\t\t\t\t\thref={`https://github.com/epicweb-dev/epicshop/releases/tag/v${data.latestWorkshopAppVersion}`}\n\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t>\n\t\t\t\t\t{data.latestWorkshopAppVersion}\n\t\t\t\t</a>\n\t\t\t</p>\n\t\t\t<h3 className=\"text-md font-bold\">App Start Time</h3>\n\t\t\t<p>\n\t\t\t\t{data.startTimeFormatted} ({data.startTimeFromNow})\n\t\t\t</p>\n\t\t</div>\n\t)\n}\n"],"names":["handle","getSitemapEntries","Version","data","useLoaderData","workshopConfig","useWorkshopConfig","children","jsx","className","workshopCommit","jsxs","Fragment","href","githubRepo","hash","message","dateFormatted","dateFromNow","ENV","EPICSHOP_APP_VERSION","latestWorkshopAppVersion","startTimeFormatted","startTimeFromNow"],"mappings":"uIAgBO,MAAMA,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EA2CA,SAAwBC,GAAU,CACjC,MAAMC,EAAOC,EAA6B,EACpCC,EAAiBC,EAAkB,EAEzC,cACE,MACA,CAAAC,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAA4B,8BAAA,CAAA,EAC7DC,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAAe,iBAAA,CAAA,EAChDJ,EAAKO,eAEJC,EAAAA,KAAAC,EAAAA,SAAA,CAAAL,SAAA,CAAAI,EAAA,KAAC,IAAE,CAAAJ,SAAA,CAAA,QACI,IACNC,EAAAA,IAAC,IAAA,CACAK,KAAM,GAAGR,EAAeS,UAAU,WAAWX,EAAKO,eAAeK,IAAI,GACrEN,UAAU,YAETF,SAAAJ,EAAKO,eAAeK,IAAA,CACtB,CAAA,CACD,CAAA,SACC,IAAE,CAAAR,SAAA,CAAA,YAAUJ,EAAKO,eAAeM,OAAA,CAAQ,CAAA,SACxC,IAAE,CAAAT,SAAA,CAAA,SACKJ,EAAKO,eAAeO,cAAc,KACxCd,EAAKO,eAAeQ,YAAY,GAAA,CAClC,CAAA,CAAA,CACD,CAAA,EAECV,EAAA,IAAA,IAAA,CAAED,SAA+B,iCAAA,CAAA,EAElCC,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAAY,cAAA,CAAA,SAC7C,IACC,CAAAA,SAAA,CAAA,oBACAY,IAAIC,qBACJZ,EAAAA,IAAC,IAAA,CACAK,KAAM,yDAAyDM,IAAIC,oBAAoB,GACvFX,UAAU,YAETF,SAAIY,IAAAC,oBACN,CAAA,EAEA,SAAA,CAEF,CAAA,SACC,IACC,CAAAb,SAAA,CAAA,mBACDC,EAAA,IAAC,IAAA,CACAK,KAAM,yDAAyDV,EAAKkB,wBAAwB,GAC5FZ,UAAU,YAETF,SAAAJ,EAAKkB,wBAAA,CACP,CAAA,CACD,CAAA,EACCb,EAAA,IAAA,KAAA,CAAGC,UAAU,oBAAoBF,SAAc,gBAAA,CAAA,SAC/C,IACC,CAAAA,SAAA,CAAAJ,EAAKmB,mBAAmB,KAAGnB,EAAKoB,iBAAiB,GAAA,CACnD,CAAA,CAAA,CACD,CAAA,CAEF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as r}from"./components-
|
|
2
|
-
//# sourceMappingURL=workshop-config-
|
|
1
|
+
import{b as r}from"./components-5arJTWsS.js";function e(){const o=r("root");if(!(o!=null&&o.workshopConfig))throw new Error("useWorkshopConfig requires a workshopConfig.");return o.workshopConfig}export{e as u};
|
|
2
|
+
//# sourceMappingURL=workshop-config-DchzGYJM.js.map
|
package/build/client/assets/{workshop-config-oL_FWDKq.js.map → workshop-config-DchzGYJM.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workshop-config-
|
|
1
|
+
{"version":3,"file":"workshop-config-DchzGYJM.js","sources":["../../../app/components/workshop-config.tsx"],"sourcesContent":["import { useRouteLoaderData } from '@remix-run/react'\nimport { type loader as rootLoader } from '#app/root.tsx'\n\nexport function useWorkshopConfig() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\tif (!data?.workshopConfig) {\n\t\tthrow new Error('useWorkshopConfig requires a workshopConfig.')\n\t}\n\treturn data.workshopConfig\n}\n"],"names":["useWorkshopConfig","data","useRouteLoaderData"],"mappings":"6CAGO,SAASA,GAAoB,CAC7B,MAAAC,EAAOC,EAAsC,MAAM,EACrD,GAAA,EAACD,GAAA,MAAAA,EAAM,gBACJ,MAAA,IAAI,MAAM,8CAA8C,EAE/D,OAAOA,EAAK,cACb"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{_ as a,s as ui,g as gi,t as Ft,q as xi,a as di,b as pi,l as Xt,K as fi,e as mi,z as yi,G as At,F as Nt,H as bi,a1 as Ai,i as wi,aE as Ci,a8 as Bt}from"./mermaid.core-ZaxoMXOj.js";import{i as Si}from"./init-Gi6I4Gst.js";import{o as _i}from"./ordinal-Cboi1Yqb.js";import{l as Wt}from"./linear-B3zp51yW.js";import"./mdx-Dfsh6Vjk.js";import"./index-Dsusf_Av.js";import"./misc-2sBiisF5.js";import"./components-5arJTWsS.js";import"./epic-video-DN9DRRHf.js";import"./index-CEP3Xxa0.js";import"./tooltip-Bzd6O8vq.js";import"./pe-BShc2dvc.js";import"./online-IWqRB9zP.js";import"./loading-BPTYJOXN.js";import"./user-DNSnhqGn.js";import"./workshop-config-DchzGYJM.js";import"./progress-bar-DgnkQxQw.js";function ki(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s<n;)o[s]=e+s*i;return o}function pt(){var e=_i().unknown(void 0),t=e.domain,i=e.range,s=0,n=1,o,u,f=!1,p=0,k=0,R=.5;delete e.unknown;function w(){var y=t().length,D=n<s,S=D?n:s,v=D?s:n;o=(v-S)/Math.max(1,y-p+k*2),f&&(o=Math.floor(o)),S+=(v-S-o*(y-p))*R,u=o*(1-p),f&&(S=Math.round(S),u=Math.round(u));var m=ki(y).map(function(_){return S+o*_});return i(D?m.reverse():m)}return e.domain=function(y){return arguments.length?(t(y),w()):t()},e.range=function(y){return arguments.length?([s,n]=y,s=+s,n=+n,w()):[s,n]},e.rangeRound=function(y){return[s,n]=y,s=+s,n=+n,f=!0,w()},e.bandwidth=function(){return u},e.step=function(){return o},e.round=function(y){return arguments.length?(f=!!y,w()):f},e.padding=function(y){return arguments.length?(p=Math.min(1,k=+y),w()):p},e.paddingInner=function(y){return arguments.length?(p=Math.min(1,y),w()):p},e.paddingOuter=function(y){return arguments.length?(k=+y,w()):k},e.align=function(y){return arguments.length?(R=Math.max(0,Math.min(1,y)),w()):R},e.copy=function(){return pt(t(),[s,n]).round(f).paddingInner(p).paddingOuter(k).align(R)},Si.apply(w(),arguments)}var ft=function(){var e=a(function(B,h,c,g){for(c=c||{},g=B.length;g--;c[B[g]]=h);return c},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],n=[1,5],o=[1,6],u=[1,7],f=[1,5,10,12,14,16,18,19,21,23,34,35,36],p=[1,25],k=[1,26],R=[1,28],w=[1,29],y=[1,30],D=[1,31],S=[1,32],v=[1,33],m=[1,34],_=[1,35],l=[1,36],E=[1,37],K=[1,43],vt=[1,42],Pt=[1,47],et=[1,50],C=[1,10,12,14,16,18,19,21,23,34,35,36],lt=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],I=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],Lt=[1,64],ct={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(h,c,g,x,A,r,Z){var d=r.length-1;switch(A){case 5:x.setOrientation(r[d]);break;case 9:x.setDiagramTitle(r[d].text.trim());break;case 12:x.setLineData({text:"",type:"text"},r[d]);break;case 13:x.setLineData(r[d-1],r[d]);break;case 14:x.setBarData({text:"",type:"text"},r[d]);break;case 15:x.setBarData(r[d-1],r[d]);break;case 16:this.$=r[d].trim(),x.setAccTitle(this.$);break;case 17:case 18:this.$=r[d].trim(),x.setAccDescription(this.$);break;case 19:this.$=r[d-1];break;case 20:this.$=[Number(r[d-2]),...r[d]];break;case 21:this.$=[Number(r[d])];break;case 22:x.setXAxisTitle(r[d]);break;case 23:x.setXAxisTitle(r[d-1]);break;case 24:x.setXAxisTitle({type:"text",text:""});break;case 25:x.setXAxisBand(r[d]);break;case 26:x.setXAxisRangeData(Number(r[d-2]),Number(r[d]));break;case 27:this.$=r[d-1];break;case 28:this.$=[r[d-2],...r[d]];break;case 29:this.$=[r[d]];break;case 30:x.setYAxisTitle(r[d]);break;case 31:x.setYAxisTitle(r[d-1]);break;case 32:x.setYAxisTitle({type:"text",text:""});break;case 33:x.setYAxisRangeData(Number(r[d-2]),Number(r[d]));break;case 37:this.$={text:r[d],type:"text"};break;case 38:this.$={text:r[d],type:"text"};break;case 39:this.$={text:r[d],type:"markdown"};break;case 40:this.$=r[d];break;case 41:this.$=r[d-1]+""+r[d];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,34:n,35:o,36:u}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:n,35:o,36:u}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:o,36:u}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(f,[2,34]),e(f,[2,35]),e(f,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:n,35:o,36:u}),{1:[2,3]},e(f,[2,5]),e(t,[2,7],{4:22,34:n,35:o,36:u}),{11:23,37:24,38:p,39:k,40:27,41:R,42:w,43:y,44:D,45:S,46:v,47:m,48:_,49:l,50:E},{11:39,13:38,24:K,27:vt,29:40,30:41,37:24,38:p,39:k,40:27,41:R,42:w,43:y,44:D,45:S,46:v,47:m,48:_,49:l,50:E},{11:45,15:44,27:Pt,33:46,37:24,38:p,39:k,40:27,41:R,42:w,43:y,44:D,45:S,46:v,47:m,48:_,49:l,50:E},{11:49,17:48,24:et,37:24,38:p,39:k,40:27,41:R,42:w,43:y,44:D,45:S,46:v,47:m,48:_,49:l,50:E},{11:52,17:51,24:et,37:24,38:p,39:k,40:27,41:R,42:w,43:y,44:D,45:S,46:v,47:m,48:_,49:l,50:E},{20:[1,53]},{22:[1,54]},e(C,[2,18]),{1:[2,2]},e(C,[2,8]),e(C,[2,9]),e(lt,[2,37],{40:55,41:R,42:w,43:y,44:D,45:S,46:v,47:m,48:_,49:l,50:E}),e(lt,[2,38]),e(lt,[2,39]),e(I,[2,40]),e(I,[2,42]),e(I,[2,43]),e(I,[2,44]),e(I,[2,45]),e(I,[2,46]),e(I,[2,47]),e(I,[2,48]),e(I,[2,49]),e(I,[2,50]),e(I,[2,51]),e(C,[2,10]),e(C,[2,22],{30:41,29:56,24:K,27:vt}),e(C,[2,24]),e(C,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:p,39:k,40:27,41:R,42:w,43:y,44:D,45:S,46:v,47:m,48:_,49:l,50:E},e(C,[2,11]),e(C,[2,30],{33:60,27:Pt}),e(C,[2,32]),{31:[1,61]},e(C,[2,12]),{17:62,24:et},{25:63,27:Lt},e(C,[2,14]),{17:65,24:et},e(C,[2,16]),e(C,[2,17]),e(I,[2,41]),e(C,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(C,[2,31]),{27:[1,69]},e(C,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(C,[2,15]),e(C,[2,26]),e(C,[2,27]),{11:59,32:72,37:24,38:p,39:k,40:27,41:R,42:w,43:y,44:D,45:S,46:v,47:m,48:_,49:l,50:E},e(C,[2,33]),e(C,[2,19]),{25:73,27:Lt},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(h,c){if(c.recoverable)this.trace(h);else{var g=new Error(h);throw g.hash=c,g}},"parseError"),parse:a(function(h){var c=this,g=[0],x=[],A=[null],r=[],Z=this.table,d="",nt=0,Et=0,oi=2,It=1,hi=r.slice.call(arguments,1),T=Object.create(this.lexer),W={yy:{}};for(var ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ut)&&(W.yy[ut]=this.yy[ut]);T.setInput(h,W.yy),W.yy.lexer=T,W.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var gt=T.yylloc;r.push(gt);var li=T.options&&T.options.ranges;typeof W.yy.parseError=="function"?this.parseError=W.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ci(L){g.length=g.length-2*L,A.length=A.length-L,r.length=r.length-L}a(ci,"popStack");function Mt(){var L;return L=x.pop()||T.lex()||It,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=c.symbols_[L]||L),L}a(Mt,"lex");for(var P,O,M,xt,z={},at,V,Vt,rt;;){if(O=g[g.length-1],this.defaultActions[O]?M=this.defaultActions[O]:((P===null||typeof P>"u")&&(P=Mt()),M=Z[O]&&Z[O][P]),typeof M>"u"||!M.length||!M[0]){var dt="";rt=[];for(at in Z[O])this.terminals_[at]&&at>oi&&rt.push("'"+this.terminals_[at]+"'");T.showPosition?dt="Parse error on line "+(nt+1)+`:
|
|
2
|
+
`+T.showPosition()+`
|
|
3
|
+
Expecting `+rt.join(", ")+", got '"+(this.terminals_[P]||P)+"'":dt="Parse error on line "+(nt+1)+": Unexpected "+(P==It?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(dt,{text:T.match,token:this.terminals_[P]||P,line:T.yylineno,loc:gt,expected:rt})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+P);switch(M[0]){case 1:g.push(P),A.push(T.yytext),r.push(T.yylloc),g.push(M[1]),P=null,Et=T.yyleng,d=T.yytext,nt=T.yylineno,gt=T.yylloc;break;case 2:if(V=this.productions_[M[1]][1],z.$=A[A.length-V],z._$={first_line:r[r.length-(V||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(V||1)].first_column,last_column:r[r.length-1].last_column},li&&(z._$.range=[r[r.length-(V||1)].range[0],r[r.length-1].range[1]]),xt=this.performAction.apply(z,[d,Et,nt,W.yy,M[1],A,r].concat(hi)),typeof xt<"u")return xt;V&&(g=g.slice(0,-1*V*2),A=A.slice(0,-1*V),r=r.slice(0,-1*V)),g.push(this.productions_[M[1]][0]),A.push(z.$),r.push(z._$),Vt=Z[g[g.length-2]][g[g.length-1]],g.push(Vt);break;case 3:return!0}}return!0},"parse")},ri=function(){var B={EOF:1,parseError:a(function(c,g){if(this.yy.parser)this.yy.parser.parseError(c,g);else throw new Error(c)},"parseError"),setInput:a(function(h,c){return this.yy=c||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var c=h.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:a(function(h){var c=h.length,g=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===x.length?this.yylloc.first_column:0)+x[x.length-g.length].length-g[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else 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).
|
|
4
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(h){this.unput(this.match.slice(h))},"less"),pastInput:a(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var h=this.pastInput(),c=new Array(h.length+1).join("-");return h+this.upcomingInput()+`
|
|
5
|
+
`+c+"^"},"showPosition"),test_match:a(function(h,c){var g,x,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),x=h[0].match(/(?:\r\n?|\n).*/g),x&&(this.yylineno+=x.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x?x[x.length-1].length-x[x.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+h[0].length},this.yytext+=h[0],this.match+=h[0],this.matches=h,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(h[0].length),this.matched+=h[0],g=this.performAction.call(this,this.yy,this,c,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var r in A)this[r]=A[r];return!1}return!1},"test_match"),next:a(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var h,c,g,x;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),r=0;r<A.length;r++)if(g=this._input.match(this.rules[A[r]]),g&&(!c||g[0].length>c[0].length)){if(c=g,x=r,this.options.backtrack_lexer){if(h=this.test_match(g,A[r]),h!==!1)return h;if(this._backtrack){c=!1;continue}else return!1}else if(!this.options.flex)break}return c?(h=this.test_match(c,A[x]),h!==!1?h:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:a(function(){var c=this.next();return c||this.lex()},"lex"),begin:a(function(c){this.conditionStack.push(c)},"begin"),popState:a(function(){var c=this.conditionStack.length-1;return c>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:a(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:a(function(c){return c=this.conditionStack.length-1-Math.abs(c||0),c>=0?this.conditionStack[c]:"INITIAL"},"topState"),pushState:a(function(c){this.begin(c)},"pushState"),stateStackSize:a(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:a(function(c,g,x,A){switch(x){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return B}();ct.lexer=ri;function st(){this.yy={}}return a(st,"Parser"),st.prototype=ct,ct.Parser=st,new st}();ft.parser=ft;var Ri=ft;function mt(e){return e.type==="bar"}a(mt,"isBarPlot");function wt(e){return e.type==="band"}a(wt,"isBandAxisData");function F(e){return e.type==="linear"}a(F,"isLinearAxisData");var X,Yt=(X=class{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((o,u)=>Math.max(u.length,o),0)*i,height:i};const s={width:0,height:0},n=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const o of t){const u=Ci(n,1,o),f=u?u.width:o.length*i,p=u?u.height:i;s.width=Math.max(s.width,f),s.height=Math.max(s.height,p)}return n.remove(),s}},a(X,"TextDimensionCalculatorWithFont"),X),Ot=.7,zt=.2,N,Ht=(N=class{constructor(t,i,s,n){this.axisConfig=t,this.title=i,this.textDimensionCalculator=s,this.axisThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(t){this.range=t,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Ot*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Ot*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=zt*t.width;this.outerPadding=Math.min(s.width/2,n);const o=s.height+this.axisConfig.labelPadding*2;this.labelTextHeight=s.height,o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const s=this.getLabelDimension(),n=zt*t.height;this.outerPadding=Math.min(s.height/2,n);const o=s.width+this.axisConfig.labelPadding*2;o<=i&&(i-=o,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const s=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=s.height+this.axisConfig.titlePadding*2;this.titleTextHeight=s.height,n<=i&&(i-=n,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(i),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${i},${this.getScaleValue(s)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(s)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i} L ${this.getScaleValue(s)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(i=>({text:i.toString(),x:this.getScaleValue(i),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(s=>({path:`M ${this.getScaleValue(s)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(s)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}},a(N,"BaseAxis"),N),Y,Ti=(Y=class extends Ht{constructor(t,i,s,n,o){super(t,n,o,i),this.categories=s,this.scale=pt().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=pt().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Xt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},a(Y,"BandAxis"),Y),H,Di=(H=class extends Ht{constructor(t,i,s,n,o){super(t,n,o,i),this.domain=s,this.scale=Wt().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];this.axisPosition==="left"&&t.reverse(),this.scale=Wt().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}},a(H,"LinearAxis"),H);function yt(e,t,i,s){const n=new Yt(s);return wt(e)?new Ti(t,i,e.categories,e.title,n):new Di(t,i,[e.min,e.max],e.title,n)}a(yt,"getAxis");var U,vi=(U=class{constructor(t,i,s,n){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=s,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),s=Math.max(i.width,t.width),n=i.height+2*this.chartConfig.titlePadding;return i.width<=s&&i.height<=n&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=s,this.boundingRect.height=n,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}},a(U,"ChartTitle"),U);function Ut(e,t,i,s){const n=new Yt(s);return new vi(n,e,t,i)}a(Ut,"getChartTitleComponent");var $,Pi=($=class{constructor(t,i,s,n,o){this.plotData=t,this.xAxis=i,this.yAxis=s,this.orientation=n,this.plotIndex=o}getDrawableElement(){const t=this.plotData.data.map(s=>[this.xAxis.getScaleValue(s[0]),this.yAxis.getScaleValue(s[1])]);let i;return this.orientation==="horizontal"?i=Bt().y(s=>s[0]).x(s=>s[1])(t):i=Bt().x(s=>s[0]).y(s=>s[1])(t),i?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},a($,"LinePlot"),$),q,Li=(q=class{constructor(t,i,s,n,o,u){this.barData=t,this.boundingRect=i,this.xAxis=s,this.yAxis=n,this.orientation=o,this.plotIndex=u}getDrawableElement(){const t=this.barData.data.map(o=>[this.xAxis.getScaleValue(o[0]),this.yAxis.getScaleValue(o[1])]),s=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),n=s/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:this.boundingRect.x,y:o[0]-n,height:s,width:o[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(o=>({x:o[0]-n,y:o[1],width:s,height:this.boundingRect.y+this.boundingRect.height-o[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},a(q,"BarPlot"),q),G,Ei=(G=class{constructor(t,i,s){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const t=[];for(const[i,s]of this.chartData.plots.entries())switch(s.type){case"line":{const n=new Pi(s,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break;case"bar":{const n=new Li(s,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...n.getDrawableElement())}break}return t}},a(G,"BasePlot"),G);function $t(e,t,i){return new Ei(e,t,i)}a($t,"getPlotComponent");var j,Ii=(j=class{constructor(t,i,s,n){this.chartConfig=t,this.chartData=i,this.componentStore={title:Ut(t,i,s,n),plot:$t(t,i,s),xAxis:yt(i.xAxis,t.xAxis,{titleColor:s.xAxisTitleColor,labelColor:s.xAxisLabelColor,tickColor:s.xAxisTickColor,axisLineColor:s.xAxisLineColor},n),yAxis:yt(i.yAxis,t.yAxis,{titleColor:s.yAxisTitleColor,labelColor:s.yAxisLabelColor,tickColor:s.yAxisTickColor,axisLineColor:s.yAxisLineColor},n)}}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,o=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),u=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),f=this.componentStore.plot.calculateSpace({width:o,height:u});t-=f.width,i-=f.height,f=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),n=f.height,i-=f.height,this.componentStore.xAxis.setAxisPosition("bottom"),f=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=f.height,this.componentStore.yAxis.setAxisPosition("left"),f=this.componentStore.yAxis.calculateSpace({width:t,height:i}),s=f.width,t-=f.width,t>0&&(o+=t,t=0),i>0&&(u+=i,i=0),this.componentStore.plot.calculateSpace({width:o,height:u}),this.componentStore.plot.setBoundingBoxXY({x:s,y:n}),this.componentStore.xAxis.setRange([s,s+o]),this.componentStore.xAxis.setBoundingBoxXY({x:s,y:n+u}),this.componentStore.yAxis.setRange([n,n+u]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(p=>mt(p))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,s=0,n=0,o=0,u=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),f=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),p=this.componentStore.plot.calculateSpace({width:u,height:f});t-=p.width,i-=p.height,p=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=p.height,i-=p.height,this.componentStore.xAxis.setAxisPosition("left"),p=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=p.width,n=p.width,this.componentStore.yAxis.setAxisPosition("top"),p=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=p.height,o=s+p.height,t>0&&(u+=t,t=0),i>0&&(f+=i,i=0),this.componentStore.plot.calculateSpace({width:u,height:f}),this.componentStore.plot.setBoundingBoxXY({x:n,y:o}),this.componentStore.yAxis.setRange([n,n+u]),this.componentStore.yAxis.setBoundingBoxXY({x:n,y:s}),this.componentStore.xAxis.setRange([o,o+f]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:o}),this.chartData.plots.some(k=>mt(k))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}},a(j,"Orchestrator"),j),Q,Mi=(Q=class{static build(t,i,s,n){return new Ii(t,i,s,n).getDrawableElement()}},a(Q,"XYChartBuilder"),Q),J=0,qt,tt=_t(),it=St(),b=kt(),bt=it.plotColorPalette.split(",").map(e=>e.trim()),ot=!1,Ct=!1;function St(){const e=Ai(),t=At();return Nt(e.xyChart,t.themeVariables.xyChart)}a(St,"getChartDefaultThemeConfig");function _t(){const e=At();return Nt(bi.xyChart,e.xyChart)}a(_t,"getChartDefaultConfig");function kt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}a(kt,"getChartDefaultData");function ht(e){const t=At();return wi(e.trim(),t)}a(ht,"textSanitizer");function Gt(e){qt=e}a(Gt,"setTmpSVGG");function jt(e){e==="horizontal"?tt.chartOrientation="horizontal":tt.chartOrientation="vertical"}a(jt,"setOrientation");function Qt(e){b.xAxis.title=ht(e.text)}a(Qt,"setXAxisTitle");function Rt(e,t){b.xAxis={type:"linear",title:b.xAxis.title,min:e,max:t},ot=!0}a(Rt,"setXAxisRangeData");function Kt(e){b.xAxis={type:"band",title:b.xAxis.title,categories:e.map(t=>ht(t.text))},ot=!0}a(Kt,"setXAxisBand");function Zt(e){b.yAxis.title=ht(e.text)}a(Zt,"setYAxisTitle");function Jt(e,t){b.yAxis={type:"linear",title:b.yAxis.title,min:e,max:t},Ct=!0}a(Jt,"setYAxisRangeData");function ti(e){const t=Math.min(...e),i=Math.max(...e),s=F(b.yAxis)?b.yAxis.min:1/0,n=F(b.yAxis)?b.yAxis.max:-1/0;b.yAxis={type:"linear",title:b.yAxis.title,min:Math.min(s,t),max:Math.max(n,i)}}a(ti,"setYAxisRangeFromPlotData");function Tt(e){let t=[];if(e.length===0)return t;if(!ot){const i=F(b.xAxis)?b.xAxis.min:1/0,s=F(b.xAxis)?b.xAxis.max:-1/0;Rt(Math.min(i,1),Math.max(s,e.length))}if(Ct||ti(e),wt(b.xAxis)&&(t=b.xAxis.categories.map((i,s)=>[i,e[s]])),F(b.xAxis)){const i=b.xAxis.min,s=b.xAxis.max,n=(s-i)/(e.length-1),o=[];for(let u=i;u<=s;u+=n)o.push(`${u}`);t=o.map((u,f)=>[u,e[f]])}return t}a(Tt,"transformDataWithoutCategory");function Dt(e){return bt[e===0?0:e%bt.length]}a(Dt,"getPlotColorFromPalette");function ii(e,t){const i=Tt(t);b.plots.push({type:"line",strokeFill:Dt(J),strokeWidth:2,data:i}),J++}a(ii,"setLineData");function ei(e,t){const i=Tt(t);b.plots.push({type:"bar",fill:Dt(J),data:i}),J++}a(ei,"setBarData");function si(){if(b.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return b.title=Ft(),Mi.build(tt,b,it,qt)}a(si,"getDrawableElem");function ni(){return it}a(ni,"getChartThemeConfig");function ai(){return tt}a(ai,"getChartConfig");var Vi=a(function(){yi(),J=0,tt=_t(),b=kt(),it=St(),bt=it.plotColorPalette.split(",").map(e=>e.trim()),ot=!1,Ct=!1},"clear"),Bi={getDrawableElem:si,clear:Vi,setAccTitle:pi,getAccTitle:di,setDiagramTitle:xi,getDiagramTitle:Ft,getAccDescription:gi,setAccDescription:ui,setOrientation:jt,setXAxisTitle:Qt,setXAxisRangeData:Rt,setXAxisBand:Kt,setYAxisTitle:Zt,setYAxisRangeData:Jt,setLineData:ii,setBarData:ei,setTmpSVGG:Gt,getChartThemeConfig:ni,getChartConfig:ai},Wi=a((e,t,i,s)=>{const n=s.db,o=n.getChartThemeConfig(),u=n.getChartConfig();function f(m){return m==="top"?"text-before-edge":"middle"}a(f,"getDominantBaseLine");function p(m){return m==="left"?"start":m==="right"?"end":"middle"}a(p,"getTextAnchor");function k(m){return`translate(${m.x}, ${m.y}) rotate(${m.rotation||0})`}a(k,"getTextTransformation"),Xt.debug(`Rendering xychart chart
|
|
7
|
+
`+e);const R=fi(t),w=R.append("g").attr("class","main"),y=w.append("rect").attr("width",u.width).attr("height",u.height).attr("class","background");mi(R,u.height,u.width,!0),R.attr("viewBox",`0 0 ${u.width} ${u.height}`),y.attr("fill",o.backgroundColor),n.setTmpSVGG(R.append("g").attr("class","mermaid-tmp-group"));const D=n.getDrawableElem(),S={};function v(m){let _=w,l="";for(const[E]of m.entries()){let K=w;E>0&&S[l]&&(K=S[l]),l+=m[E],_=S[l],_||(_=S[l]=K.append("g").attr("class",m[E]))}return _}a(v,"getGroup");for(const m of D){if(m.data.length===0)continue;const _=v(m.groupTexts);switch(m.type){case"rect":_.selectAll("rect").data(m.data).enter().append("rect").attr("x",l=>l.x).attr("y",l=>l.y).attr("width",l=>l.width).attr("height",l=>l.height).attr("fill",l=>l.fill).attr("stroke",l=>l.strokeFill).attr("stroke-width",l=>l.strokeWidth);break;case"text":_.selectAll("text").data(m.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",l=>l.fill).attr("font-size",l=>l.fontSize).attr("dominant-baseline",l=>f(l.verticalPos)).attr("text-anchor",l=>p(l.horizontalPos)).attr("transform",l=>k(l)).text(l=>l.text);break;case"path":_.selectAll("path").data(m.data).enter().append("path").attr("d",l=>l.path).attr("fill",l=>l.fill?l.fill:"none").attr("stroke",l=>l.strokeFill).attr("stroke-width",l=>l.strokeWidth);break}}},"draw"),Oi={draw:Wi},ee={parser:Ri,db:Bi,renderer:Oi};export{ee as diagram};
|
|
8
|
+
//# sourceMappingURL=xychartDiagram-VJFVF3MP-Dh4nsbBT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xychartDiagram-VJFVF3MP-Dh4nsbBT.js","sources":["../../../../../node_modules/d3-array/src/range.js","../../../../../node_modules/d3-scale/src/band.js","../../../../../node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-VJFVF3MP.mjs"],"sourcesContent":["export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","import {\n computeDimensionOfText\n} from \"./chunk-C3MQ5ANM.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-7B677QYD.mjs\";\nimport {\n __name,\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n log,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/xychart/parser/xychart.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 10, 12, 14, 16, 18, 19, 21, 23], $V1 = [2, 6], $V2 = [1, 3], $V3 = [1, 5], $V4 = [1, 6], $V5 = [1, 7], $V6 = [1, 5, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], $V7 = [1, 25], $V8 = [1, 26], $V9 = [1, 28], $Va = [1, 29], $Vb = [1, 30], $Vc = [1, 31], $Vd = [1, 32], $Ve = [1, 33], $Vf = [1, 34], $Vg = [1, 35], $Vh = [1, 36], $Vi = [1, 37], $Vj = [1, 43], $Vk = [1, 42], $Vl = [1, 47], $Vm = [1, 50], $Vn = [1, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], $Vo = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36], $Vp = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], $Vq = [1, 64];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"eol\": 4, \"XYCHART\": 5, \"chartConfig\": 6, \"document\": 7, \"CHART_ORIENTATION\": 8, \"statement\": 9, \"title\": 10, \"text\": 11, \"X_AXIS\": 12, \"parseXAxis\": 13, \"Y_AXIS\": 14, \"parseYAxis\": 15, \"LINE\": 16, \"plotData\": 17, \"BAR\": 18, \"acc_title\": 19, \"acc_title_value\": 20, \"acc_descr\": 21, \"acc_descr_value\": 22, \"acc_descr_multiline_value\": 23, \"SQUARE_BRACES_START\": 24, \"commaSeparatedNumbers\": 25, \"SQUARE_BRACES_END\": 26, \"NUMBER_WITH_DECIMAL\": 27, \"COMMA\": 28, \"xAxisData\": 29, \"bandData\": 30, \"ARROW_DELIMITER\": 31, \"commaSeparatedTexts\": 32, \"yAxisData\": 33, \"NEWLINE\": 34, \"SEMI\": 35, \"EOF\": 36, \"alphaNum\": 37, \"STR\": 38, \"MD_STR\": 39, \"alphaNumToken\": 40, \"AMP\": 41, \"NUM\": 42, \"ALPHA\": 43, \"PLUS\": 44, \"EQUALS\": 45, \"MULT\": 46, \"DOT\": 47, \"BRKT\": 48, \"MINUS\": 49, \"UNDERSCORE\": 50, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 5: \"XYCHART\", 8: \"CHART_ORIENTATION\", 10: \"title\", 12: \"X_AXIS\", 14: \"Y_AXIS\", 16: \"LINE\", 18: \"BAR\", 19: \"acc_title\", 20: \"acc_title_value\", 21: \"acc_descr\", 22: \"acc_descr_value\", 23: \"acc_descr_multiline_value\", 24: \"SQUARE_BRACES_START\", 26: \"SQUARE_BRACES_END\", 27: \"NUMBER_WITH_DECIMAL\", 28: \"COMMA\", 31: \"ARROW_DELIMITER\", 34: \"NEWLINE\", 35: \"SEMI\", 36: \"EOF\", 38: \"STR\", 39: \"MD_STR\", 41: \"AMP\", 42: \"NUM\", 43: \"ALPHA\", 44: \"PLUS\", 45: \"EQUALS\", 46: \"MULT\", 47: \"DOT\", 48: \"BRKT\", 49: \"MINUS\", 50: \"UNDERSCORE\" },\n productions_: [0, [3, 2], [3, 3], [3, 2], [3, 1], [6, 1], [7, 0], [7, 2], [9, 2], [9, 2], [9, 2], [9, 2], [9, 2], [9, 3], [9, 2], [9, 3], [9, 2], [9, 2], [9, 1], [17, 3], [25, 3], [25, 1], [13, 1], [13, 2], [13, 1], [29, 1], [29, 3], [30, 3], [32, 3], [32, 1], [15, 1], [15, 2], [15, 1], [33, 3], [4, 1], [4, 1], [4, 1], [11, 1], [11, 1], [11, 1], [37, 1], [37, 2], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 5:\n yy.setOrientation($$[$0]);\n break;\n case 9:\n yy.setDiagramTitle($$[$0].text.trim());\n break;\n case 12:\n yy.setLineData({ text: \"\", type: \"text\" }, $$[$0]);\n break;\n case 13:\n yy.setLineData($$[$0 - 1], $$[$0]);\n break;\n case 14:\n yy.setBarData({ text: \"\", type: \"text\" }, $$[$0]);\n break;\n case 15:\n yy.setBarData($$[$0 - 1], $$[$0]);\n break;\n case 16:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 17:\n case 18:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 19:\n this.$ = $$[$0 - 1];\n break;\n case 20:\n this.$ = [Number($$[$0 - 2]), ...$$[$0]];\n break;\n case 21:\n this.$ = [Number($$[$0])];\n break;\n case 22:\n yy.setXAxisTitle($$[$0]);\n break;\n case 23:\n yy.setXAxisTitle($$[$0 - 1]);\n break;\n case 24:\n yy.setXAxisTitle({ type: \"text\", text: \"\" });\n break;\n case 25:\n yy.setXAxisBand($$[$0]);\n break;\n case 26:\n yy.setXAxisRangeData(Number($$[$0 - 2]), Number($$[$0]));\n break;\n case 27:\n this.$ = $$[$0 - 1];\n break;\n case 28:\n this.$ = [$$[$0 - 2], ...$$[$0]];\n break;\n case 29:\n this.$ = [$$[$0]];\n break;\n case 30:\n yy.setYAxisTitle($$[$0]);\n break;\n case 31:\n yy.setYAxisTitle($$[$0 - 1]);\n break;\n case 32:\n yy.setYAxisTitle({ type: \"text\", text: \"\" });\n break;\n case 33:\n yy.setYAxisRangeData(Number($$[$0 - 2]), Number($$[$0]));\n break;\n case 37:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 38:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 39:\n this.$ = { text: $$[$0], type: \"markdown\" };\n break;\n case 40:\n this.$ = $$[$0];\n break;\n case 41:\n this.$ = $$[$0 - 1] + \"\" + $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [o($V0, $V1, { 3: 1, 4: 2, 7: 4, 5: $V2, 34: $V3, 35: $V4, 36: $V5 }), { 1: [3] }, o($V0, $V1, { 4: 2, 7: 4, 3: 8, 5: $V2, 34: $V3, 35: $V4, 36: $V5 }), o($V0, $V1, { 4: 2, 7: 4, 6: 9, 3: 10, 5: $V2, 8: [1, 11], 34: $V3, 35: $V4, 36: $V5 }), { 1: [2, 4], 9: 12, 10: [1, 13], 12: [1, 14], 14: [1, 15], 16: [1, 16], 18: [1, 17], 19: [1, 18], 21: [1, 19], 23: [1, 20] }, o($V6, [2, 34]), o($V6, [2, 35]), o($V6, [2, 36]), { 1: [2, 1] }, o($V0, $V1, { 4: 2, 7: 4, 3: 21, 5: $V2, 34: $V3, 35: $V4, 36: $V5 }), { 1: [2, 3] }, o($V6, [2, 5]), o($V0, [2, 7], { 4: 22, 34: $V3, 35: $V4, 36: $V5 }), { 11: 23, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 39, 13: 38, 24: $Vj, 27: $Vk, 29: 40, 30: 41, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 45, 15: 44, 27: $Vl, 33: 46, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 49, 17: 48, 24: $Vm, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 52, 17: 51, 24: $Vm, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 20: [1, 53] }, { 22: [1, 54] }, o($Vn, [2, 18]), { 1: [2, 2] }, o($Vn, [2, 8]), o($Vn, [2, 9]), o($Vo, [2, 37], { 40: 55, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }), o($Vo, [2, 38]), o($Vo, [2, 39]), o($Vp, [2, 40]), o($Vp, [2, 42]), o($Vp, [2, 43]), o($Vp, [2, 44]), o($Vp, [2, 45]), o($Vp, [2, 46]), o($Vp, [2, 47]), o($Vp, [2, 48]), o($Vp, [2, 49]), o($Vp, [2, 50]), o($Vp, [2, 51]), o($Vn, [2, 10]), o($Vn, [2, 22], { 30: 41, 29: 56, 24: $Vj, 27: $Vk }), o($Vn, [2, 24]), o($Vn, [2, 25]), { 31: [1, 57] }, { 11: 59, 32: 58, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, o($Vn, [2, 11]), o($Vn, [2, 30], { 33: 60, 27: $Vl }), o($Vn, [2, 32]), { 31: [1, 61] }, o($Vn, [2, 12]), { 17: 62, 24: $Vm }, { 25: 63, 27: $Vq }, o($Vn, [2, 14]), { 17: 65, 24: $Vm }, o($Vn, [2, 16]), o($Vn, [2, 17]), o($Vp, [2, 41]), o($Vn, [2, 23]), { 27: [1, 66] }, { 26: [1, 67] }, { 26: [2, 29], 28: [1, 68] }, o($Vn, [2, 31]), { 27: [1, 69] }, o($Vn, [2, 13]), { 26: [1, 70] }, { 26: [2, 21], 28: [1, 71] }, o($Vn, [2, 15]), o($Vn, [2, 26]), o($Vn, [2, 27]), { 11: 59, 32: 72, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, o($Vn, [2, 33]), o($Vn, [2, 19]), { 25: 73, 27: $Vq }, { 26: [2, 28] }, { 26: [2, 20] }],\n defaultActions: { 8: [2, 1], 10: [2, 3], 21: [2, 2], 72: [2, 28], 73: [2, 20] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n this.popState();\n return 34;\n break;\n case 3:\n this.popState();\n return 34;\n break;\n case 4:\n return 34;\n break;\n case 5:\n break;\n case 6:\n return 10;\n break;\n case 7:\n this.pushState(\"acc_title\");\n return 19;\n break;\n case 8:\n this.popState();\n return \"acc_title_value\";\n break;\n case 9:\n this.pushState(\"acc_descr\");\n return 21;\n break;\n case 10:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 11:\n this.pushState(\"acc_descr_multiline\");\n break;\n case 12:\n this.popState();\n break;\n case 13:\n return \"acc_descr_multiline_value\";\n break;\n case 14:\n return 5;\n break;\n case 15:\n return 8;\n break;\n case 16:\n this.pushState(\"axis_data\");\n return \"X_AXIS\";\n break;\n case 17:\n this.pushState(\"axis_data\");\n return \"Y_AXIS\";\n break;\n case 18:\n this.pushState(\"axis_band_data\");\n return 24;\n break;\n case 19:\n return 31;\n break;\n case 20:\n this.pushState(\"data\");\n return 16;\n break;\n case 21:\n this.pushState(\"data\");\n return 18;\n break;\n case 22:\n this.pushState(\"data_inner\");\n return 24;\n break;\n case 23:\n return 27;\n break;\n case 24:\n this.popState();\n return 26;\n break;\n case 25:\n this.popState();\n break;\n case 26:\n this.pushState(\"string\");\n break;\n case 27:\n this.popState();\n break;\n case 28:\n return \"STR\";\n break;\n case 29:\n return 24;\n break;\n case 30:\n return 26;\n break;\n case 31:\n return 43;\n break;\n case 32:\n return \"COLON\";\n break;\n case 33:\n return 44;\n break;\n case 34:\n return 28;\n break;\n case 35:\n return 45;\n break;\n case 36:\n return 46;\n break;\n case 37:\n return 48;\n break;\n case 38:\n return 50;\n break;\n case 39:\n return 47;\n break;\n case 40:\n return 41;\n break;\n case 41:\n return 49;\n break;\n case 42:\n return 42;\n break;\n case 43:\n break;\n case 44:\n return 35;\n break;\n case 45:\n return 36;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:(\\r?\\n))/i, /^(?:(\\r?\\n))/i, /^(?:[\\n\\r]+)/i, /^(?:%%[^\\n]*)/i, /^(?:title\\b)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:\\{)/i, /^(?:[^\\}]*)/i, /^(?:xychart-beta\\b)/i, /^(?:(?:vertical|horizontal))/i, /^(?:x-axis\\b)/i, /^(?:y-axis\\b)/i, /^(?:\\[)/i, /^(?:-->)/i, /^(?:line\\b)/i, /^(?:bar\\b)/i, /^(?:\\[)/i, /^(?:[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+))/i, /^(?:\\])/i, /^(?:(?:`\\) \\{ this\\.pushState\\(md_string\\); \\}\\n<md_string>\\(\\?:\\(\\?!`\"\\)\\.\\)\\+ \\{ return MD_STR; \\}\\n<md_string>\\(\\?:`))/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:\\[)/i, /^(?:\\])/i, /^(?:[A-Za-z]+)/i, /^(?::)/i, /^(?:\\+)/i, /^(?:,)/i, /^(?:=)/i, /^(?:\\*)/i, /^(?:#)/i, /^(?:[\\_])/i, /^(?:\\.)/i, /^(?:&)/i, /^(?:-)/i, /^(?:[0-9]+)/i, /^(?:\\s+)/i, /^(?:;)/i, /^(?:$)/i],\n conditions: { \"data_inner\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"data\": { \"rules\": [0, 1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"axis_band_data\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"axis_data\": { \"rules\": [0, 1, 2, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"acc_descr_multiline\": { \"rules\": [12, 13], \"inclusive\": false }, \"acc_descr\": { \"rules\": [10], \"inclusive\": false }, \"acc_title\": { \"rules\": [8], \"inclusive\": false }, \"title\": { \"rules\": [], \"inclusive\": false }, \"md_string\": { \"rules\": [], \"inclusive\": false }, \"string\": { \"rules\": [27, 28], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"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 xychart_default = parser;\n\n// src/diagrams/xychart/chartBuilder/interfaces.ts\nfunction isBarPlot(data) {\n return data.type === \"bar\";\n}\n__name(isBarPlot, \"isBarPlot\");\nfunction isBandAxisData(data) {\n return data.type === \"band\";\n}\n__name(isBandAxisData, \"isBandAxisData\");\nfunction isLinearAxisData(data) {\n return data.type === \"linear\";\n}\n__name(isLinearAxisData, \"isLinearAxisData\");\n\n// src/diagrams/xychart/chartBuilder/textDimensionCalculator.ts\nvar TextDimensionCalculatorWithFont = class {\n constructor(parentGroup) {\n this.parentGroup = parentGroup;\n }\n static {\n __name(this, \"TextDimensionCalculatorWithFont\");\n }\n getMaxDimension(texts, fontSize) {\n if (!this.parentGroup) {\n return {\n width: texts.reduce((acc, cur) => Math.max(cur.length, acc), 0) * fontSize,\n height: fontSize\n };\n }\n const dimension = {\n width: 0,\n height: 0\n };\n const elem = this.parentGroup.append(\"g\").attr(\"visibility\", \"hidden\").attr(\"font-size\", fontSize);\n for (const t of texts) {\n const bbox = computeDimensionOfText(elem, 1, t);\n const width = bbox ? bbox.width : t.length * fontSize;\n const height = bbox ? bbox.height : fontSize;\n dimension.width = Math.max(dimension.width, width);\n dimension.height = Math.max(dimension.height, height);\n }\n elem.remove();\n return dimension;\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/bandAxis.ts\nimport { scaleBand } from \"d3\";\n\n// src/diagrams/xychart/chartBuilder/components/axis/baseAxis.ts\nvar BAR_WIDTH_TO_TICK_WIDTH_RATIO = 0.7;\nvar MAX_OUTER_PADDING_PERCENT_FOR_WRT_LABEL = 0.2;\nvar BaseAxis = class {\n constructor(axisConfig, title, textDimensionCalculator, axisThemeConfig) {\n this.axisConfig = axisConfig;\n this.title = title;\n this.textDimensionCalculator = textDimensionCalculator;\n this.axisThemeConfig = axisThemeConfig;\n this.boundingRect = { x: 0, y: 0, width: 0, height: 0 };\n this.axisPosition = \"left\";\n this.showTitle = false;\n this.showLabel = false;\n this.showTick = false;\n this.showAxisLine = false;\n this.outerPadding = 0;\n this.titleTextHeight = 0;\n this.labelTextHeight = 0;\n this.range = [0, 10];\n this.boundingRect = { x: 0, y: 0, width: 0, height: 0 };\n this.axisPosition = \"left\";\n }\n static {\n __name(this, \"BaseAxis\");\n }\n setRange(range) {\n this.range = range;\n if (this.axisPosition === \"left\" || this.axisPosition === \"right\") {\n this.boundingRect.height = range[1] - range[0];\n } else {\n this.boundingRect.width = range[1] - range[0];\n }\n this.recalculateScale();\n }\n getRange() {\n return [this.range[0] + this.outerPadding, this.range[1] - this.outerPadding];\n }\n setAxisPosition(axisPosition) {\n this.axisPosition = axisPosition;\n this.setRange(this.range);\n }\n getTickDistance() {\n const range = this.getRange();\n return Math.abs(range[0] - range[1]) / this.getTickValues().length;\n }\n getAxisOuterPadding() {\n return this.outerPadding;\n }\n getLabelDimension() {\n return this.textDimensionCalculator.getMaxDimension(\n this.getTickValues().map((tick) => tick.toString()),\n this.axisConfig.labelFontSize\n );\n }\n recalculateOuterPaddingToDrawBar() {\n if (BAR_WIDTH_TO_TICK_WIDTH_RATIO * this.getTickDistance() > this.outerPadding * 2) {\n this.outerPadding = Math.floor(BAR_WIDTH_TO_TICK_WIDTH_RATIO * this.getTickDistance() / 2);\n }\n this.recalculateScale();\n }\n calculateSpaceIfDrawnHorizontally(availableSpace) {\n let availableHeight = availableSpace.height;\n if (this.axisConfig.showAxisLine && availableHeight > this.axisConfig.axisLineWidth) {\n availableHeight -= this.axisConfig.axisLineWidth;\n this.showAxisLine = true;\n }\n if (this.axisConfig.showLabel) {\n const spaceRequired = this.getLabelDimension();\n const maxPadding = MAX_OUTER_PADDING_PERCENT_FOR_WRT_LABEL * availableSpace.width;\n this.outerPadding = Math.min(spaceRequired.width / 2, maxPadding);\n const heightRequired = spaceRequired.height + this.axisConfig.labelPadding * 2;\n this.labelTextHeight = spaceRequired.height;\n if (heightRequired <= availableHeight) {\n availableHeight -= heightRequired;\n this.showLabel = true;\n }\n }\n if (this.axisConfig.showTick && availableHeight >= this.axisConfig.tickLength) {\n this.showTick = true;\n availableHeight -= this.axisConfig.tickLength;\n }\n if (this.axisConfig.showTitle && this.title) {\n const spaceRequired = this.textDimensionCalculator.getMaxDimension(\n [this.title],\n this.axisConfig.titleFontSize\n );\n const heightRequired = spaceRequired.height + this.axisConfig.titlePadding * 2;\n this.titleTextHeight = spaceRequired.height;\n if (heightRequired <= availableHeight) {\n availableHeight -= heightRequired;\n this.showTitle = true;\n }\n }\n this.boundingRect.width = availableSpace.width;\n this.boundingRect.height = availableSpace.height - availableHeight;\n }\n calculateSpaceIfDrawnVertical(availableSpace) {\n let availableWidth = availableSpace.width;\n if (this.axisConfig.showAxisLine && availableWidth > this.axisConfig.axisLineWidth) {\n availableWidth -= this.axisConfig.axisLineWidth;\n this.showAxisLine = true;\n }\n if (this.axisConfig.showLabel) {\n const spaceRequired = this.getLabelDimension();\n const maxPadding = MAX_OUTER_PADDING_PERCENT_FOR_WRT_LABEL * availableSpace.height;\n this.outerPadding = Math.min(spaceRequired.height / 2, maxPadding);\n const widthRequired = spaceRequired.width + this.axisConfig.labelPadding * 2;\n if (widthRequired <= availableWidth) {\n availableWidth -= widthRequired;\n this.showLabel = true;\n }\n }\n if (this.axisConfig.showTick && availableWidth >= this.axisConfig.tickLength) {\n this.showTick = true;\n availableWidth -= this.axisConfig.tickLength;\n }\n if (this.axisConfig.showTitle && this.title) {\n const spaceRequired = this.textDimensionCalculator.getMaxDimension(\n [this.title],\n this.axisConfig.titleFontSize\n );\n const widthRequired = spaceRequired.height + this.axisConfig.titlePadding * 2;\n this.titleTextHeight = spaceRequired.height;\n if (widthRequired <= availableWidth) {\n availableWidth -= widthRequired;\n this.showTitle = true;\n }\n }\n this.boundingRect.width = availableSpace.width - availableWidth;\n this.boundingRect.height = availableSpace.height;\n }\n calculateSpace(availableSpace) {\n if (this.axisPosition === \"left\" || this.axisPosition === \"right\") {\n this.calculateSpaceIfDrawnVertical(availableSpace);\n } else {\n this.calculateSpaceIfDrawnHorizontally(availableSpace);\n }\n this.recalculateScale();\n return {\n width: this.boundingRect.width,\n height: this.boundingRect.height\n };\n }\n setBoundingBoxXY(point) {\n this.boundingRect.x = point.x;\n this.boundingRect.y = point.y;\n }\n getDrawableElementsForLeftAxis() {\n const drawableElement = [];\n if (this.showAxisLine) {\n const x = this.boundingRect.x + this.boundingRect.width - this.axisConfig.axisLineWidth / 2;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"left-axis\", \"axisl-line\"],\n data: [\n {\n path: `M ${x},${this.boundingRect.y} L ${x},${this.boundingRect.y + this.boundingRect.height} `,\n strokeFill: this.axisThemeConfig.axisLineColor,\n strokeWidth: this.axisConfig.axisLineWidth\n }\n ]\n });\n }\n if (this.showLabel) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"left-axis\", \"label\"],\n data: this.getTickValues().map((tick) => ({\n text: tick.toString(),\n x: this.boundingRect.x + this.boundingRect.width - (this.showLabel ? this.axisConfig.labelPadding : 0) - (this.showTick ? this.axisConfig.tickLength : 0) - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0),\n y: this.getScaleValue(tick),\n fill: this.axisThemeConfig.labelColor,\n fontSize: this.axisConfig.labelFontSize,\n rotation: 0,\n verticalPos: \"middle\",\n horizontalPos: \"right\"\n }))\n });\n }\n if (this.showTick) {\n const x = this.boundingRect.x + this.boundingRect.width - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"left-axis\", \"ticks\"],\n data: this.getTickValues().map((tick) => ({\n path: `M ${x},${this.getScaleValue(tick)} L ${x - this.axisConfig.tickLength},${this.getScaleValue(tick)}`,\n strokeFill: this.axisThemeConfig.tickColor,\n strokeWidth: this.axisConfig.tickWidth\n }))\n });\n }\n if (this.showTitle) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"left-axis\", \"title\"],\n data: [\n {\n text: this.title,\n x: this.boundingRect.x + this.axisConfig.titlePadding,\n y: this.boundingRect.y + this.boundingRect.height / 2,\n fill: this.axisThemeConfig.titleColor,\n fontSize: this.axisConfig.titleFontSize,\n rotation: 270,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }\n ]\n });\n }\n return drawableElement;\n }\n getDrawableElementsForBottomAxis() {\n const drawableElement = [];\n if (this.showAxisLine) {\n const y = this.boundingRect.y + this.axisConfig.axisLineWidth / 2;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"bottom-axis\", \"axis-line\"],\n data: [\n {\n path: `M ${this.boundingRect.x},${y} L ${this.boundingRect.x + this.boundingRect.width},${y}`,\n strokeFill: this.axisThemeConfig.axisLineColor,\n strokeWidth: this.axisConfig.axisLineWidth\n }\n ]\n });\n }\n if (this.showLabel) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"bottom-axis\", \"label\"],\n data: this.getTickValues().map((tick) => ({\n text: tick.toString(),\n x: this.getScaleValue(tick),\n y: this.boundingRect.y + this.axisConfig.labelPadding + (this.showTick ? this.axisConfig.tickLength : 0) + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0),\n fill: this.axisThemeConfig.labelColor,\n fontSize: this.axisConfig.labelFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }))\n });\n }\n if (this.showTick) {\n const y = this.boundingRect.y + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"bottom-axis\", \"ticks\"],\n data: this.getTickValues().map((tick) => ({\n path: `M ${this.getScaleValue(tick)},${y} L ${this.getScaleValue(tick)},${y + this.axisConfig.tickLength}`,\n strokeFill: this.axisThemeConfig.tickColor,\n strokeWidth: this.axisConfig.tickWidth\n }))\n });\n }\n if (this.showTitle) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"bottom-axis\", \"title\"],\n data: [\n {\n text: this.title,\n x: this.range[0] + (this.range[1] - this.range[0]) / 2,\n y: this.boundingRect.y + this.boundingRect.height - this.axisConfig.titlePadding - this.titleTextHeight,\n fill: this.axisThemeConfig.titleColor,\n fontSize: this.axisConfig.titleFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }\n ]\n });\n }\n return drawableElement;\n }\n getDrawableElementsForTopAxis() {\n const drawableElement = [];\n if (this.showAxisLine) {\n const y = this.boundingRect.y + this.boundingRect.height - this.axisConfig.axisLineWidth / 2;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"top-axis\", \"axis-line\"],\n data: [\n {\n path: `M ${this.boundingRect.x},${y} L ${this.boundingRect.x + this.boundingRect.width},${y}`,\n strokeFill: this.axisThemeConfig.axisLineColor,\n strokeWidth: this.axisConfig.axisLineWidth\n }\n ]\n });\n }\n if (this.showLabel) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"top-axis\", \"label\"],\n data: this.getTickValues().map((tick) => ({\n text: tick.toString(),\n x: this.getScaleValue(tick),\n y: this.boundingRect.y + (this.showTitle ? this.titleTextHeight + this.axisConfig.titlePadding * 2 : 0) + this.axisConfig.labelPadding,\n fill: this.axisThemeConfig.labelColor,\n fontSize: this.axisConfig.labelFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }))\n });\n }\n if (this.showTick) {\n const y = this.boundingRect.y;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"top-axis\", \"ticks\"],\n data: this.getTickValues().map((tick) => ({\n path: `M ${this.getScaleValue(tick)},${y + this.boundingRect.height - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)} L ${this.getScaleValue(tick)},${y + this.boundingRect.height - this.axisConfig.tickLength - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)}`,\n strokeFill: this.axisThemeConfig.tickColor,\n strokeWidth: this.axisConfig.tickWidth\n }))\n });\n }\n if (this.showTitle) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"top-axis\", \"title\"],\n data: [\n {\n text: this.title,\n x: this.boundingRect.x + this.boundingRect.width / 2,\n y: this.boundingRect.y + this.axisConfig.titlePadding,\n fill: this.axisThemeConfig.titleColor,\n fontSize: this.axisConfig.titleFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }\n ]\n });\n }\n return drawableElement;\n }\n getDrawableElements() {\n if (this.axisPosition === \"left\") {\n return this.getDrawableElementsForLeftAxis();\n }\n if (this.axisPosition === \"right\") {\n throw Error(\"Drawing of right axis is not implemented\");\n }\n if (this.axisPosition === \"bottom\") {\n return this.getDrawableElementsForBottomAxis();\n }\n if (this.axisPosition === \"top\") {\n return this.getDrawableElementsForTopAxis();\n }\n return [];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/bandAxis.ts\nvar BandAxis = class extends BaseAxis {\n static {\n __name(this, \"BandAxis\");\n }\n constructor(axisConfig, axisThemeConfig, categories, title, textDimensionCalculator) {\n super(axisConfig, title, textDimensionCalculator, axisThemeConfig);\n this.categories = categories;\n this.scale = scaleBand().domain(this.categories).range(this.getRange());\n }\n setRange(range) {\n super.setRange(range);\n }\n recalculateScale() {\n this.scale = scaleBand().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(0.5);\n log.trace(\"BandAxis axis final categories, range: \", this.categories, this.getRange());\n }\n getTickValues() {\n return this.categories;\n }\n getScaleValue(value) {\n return this.scale(value) ?? this.getRange()[0];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/linearAxis.ts\nimport { scaleLinear } from \"d3\";\nvar LinearAxis = class extends BaseAxis {\n static {\n __name(this, \"LinearAxis\");\n }\n constructor(axisConfig, axisThemeConfig, domain, title, textDimensionCalculator) {\n super(axisConfig, title, textDimensionCalculator, axisThemeConfig);\n this.domain = domain;\n this.scale = scaleLinear().domain(this.domain).range(this.getRange());\n }\n getTickValues() {\n return this.scale.ticks();\n }\n recalculateScale() {\n const domain = [...this.domain];\n if (this.axisPosition === \"left\") {\n domain.reverse();\n }\n this.scale = scaleLinear().domain(domain).range(this.getRange());\n }\n getScaleValue(value) {\n return this.scale(value);\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/index.ts\nfunction getAxis(data, axisConfig, axisThemeConfig, tmpSVGGroup2) {\n const textDimensionCalculator = new TextDimensionCalculatorWithFont(tmpSVGGroup2);\n if (isBandAxisData(data)) {\n return new BandAxis(\n axisConfig,\n axisThemeConfig,\n data.categories,\n data.title,\n textDimensionCalculator\n );\n }\n return new LinearAxis(\n axisConfig,\n axisThemeConfig,\n [data.min, data.max],\n data.title,\n textDimensionCalculator\n );\n}\n__name(getAxis, \"getAxis\");\n\n// src/diagrams/xychart/chartBuilder/components/chartTitle.ts\nvar ChartTitle = class {\n constructor(textDimensionCalculator, chartConfig, chartData, chartThemeConfig) {\n this.textDimensionCalculator = textDimensionCalculator;\n this.chartConfig = chartConfig;\n this.chartData = chartData;\n this.chartThemeConfig = chartThemeConfig;\n this.boundingRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n this.showChartTitle = false;\n }\n static {\n __name(this, \"ChartTitle\");\n }\n setBoundingBoxXY(point) {\n this.boundingRect.x = point.x;\n this.boundingRect.y = point.y;\n }\n calculateSpace(availableSpace) {\n const titleDimension = this.textDimensionCalculator.getMaxDimension(\n [this.chartData.title],\n this.chartConfig.titleFontSize\n );\n const widthRequired = Math.max(titleDimension.width, availableSpace.width);\n const heightRequired = titleDimension.height + 2 * this.chartConfig.titlePadding;\n if (titleDimension.width <= widthRequired && titleDimension.height <= heightRequired && this.chartConfig.showTitle && this.chartData.title) {\n this.boundingRect.width = widthRequired;\n this.boundingRect.height = heightRequired;\n this.showChartTitle = true;\n }\n return {\n width: this.boundingRect.width,\n height: this.boundingRect.height\n };\n }\n getDrawableElements() {\n const drawableElem = [];\n if (this.showChartTitle) {\n drawableElem.push({\n groupTexts: [\"chart-title\"],\n type: \"text\",\n data: [\n {\n fontSize: this.chartConfig.titleFontSize,\n text: this.chartData.title,\n verticalPos: \"middle\",\n horizontalPos: \"center\",\n x: this.boundingRect.x + this.boundingRect.width / 2,\n y: this.boundingRect.y + this.boundingRect.height / 2,\n fill: this.chartThemeConfig.titleColor,\n rotation: 0\n }\n ]\n });\n }\n return drawableElem;\n }\n};\nfunction getChartTitleComponent(chartConfig, chartData, chartThemeConfig, tmpSVGGroup2) {\n const textDimensionCalculator = new TextDimensionCalculatorWithFont(tmpSVGGroup2);\n return new ChartTitle(textDimensionCalculator, chartConfig, chartData, chartThemeConfig);\n}\n__name(getChartTitleComponent, \"getChartTitleComponent\");\n\n// src/diagrams/xychart/chartBuilder/components/plot/linePlot.ts\nimport { line } from \"d3\";\nvar LinePlot = class {\n constructor(plotData, xAxis, yAxis, orientation, plotIndex2) {\n this.plotData = plotData;\n this.xAxis = xAxis;\n this.yAxis = yAxis;\n this.orientation = orientation;\n this.plotIndex = plotIndex2;\n }\n static {\n __name(this, \"LinePlot\");\n }\n getDrawableElement() {\n const finalData = this.plotData.data.map((d) => [\n this.xAxis.getScaleValue(d[0]),\n this.yAxis.getScaleValue(d[1])\n ]);\n let path;\n if (this.orientation === \"horizontal\") {\n path = line().y((d) => d[0]).x((d) => d[1])(finalData);\n } else {\n path = line().x((d) => d[0]).y((d) => d[1])(finalData);\n }\n if (!path) {\n return [];\n }\n return [\n {\n groupTexts: [\"plot\", `line-plot-${this.plotIndex}`],\n type: \"path\",\n data: [\n {\n path,\n strokeFill: this.plotData.strokeFill,\n strokeWidth: this.plotData.strokeWidth\n }\n ]\n }\n ];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/plot/barPlot.ts\nvar BarPlot = class {\n constructor(barData, boundingRect, xAxis, yAxis, orientation, plotIndex2) {\n this.barData = barData;\n this.boundingRect = boundingRect;\n this.xAxis = xAxis;\n this.yAxis = yAxis;\n this.orientation = orientation;\n this.plotIndex = plotIndex2;\n }\n static {\n __name(this, \"BarPlot\");\n }\n getDrawableElement() {\n const finalData = this.barData.data.map((d) => [\n this.xAxis.getScaleValue(d[0]),\n this.yAxis.getScaleValue(d[1])\n ]);\n const barPaddingPercent = 0.05;\n const barWidth = Math.min(this.xAxis.getAxisOuterPadding() * 2, this.xAxis.getTickDistance()) * (1 - barPaddingPercent);\n const barWidthHalf = barWidth / 2;\n if (this.orientation === \"horizontal\") {\n return [\n {\n groupTexts: [\"plot\", `bar-plot-${this.plotIndex}`],\n type: \"rect\",\n data: finalData.map((data) => ({\n x: this.boundingRect.x,\n y: data[0] - barWidthHalf,\n height: barWidth,\n width: data[1] - this.boundingRect.x,\n fill: this.barData.fill,\n strokeWidth: 0,\n strokeFill: this.barData.fill\n }))\n }\n ];\n }\n return [\n {\n groupTexts: [\"plot\", `bar-plot-${this.plotIndex}`],\n type: \"rect\",\n data: finalData.map((data) => ({\n x: data[0] - barWidthHalf,\n y: data[1],\n width: barWidth,\n height: this.boundingRect.y + this.boundingRect.height - data[1],\n fill: this.barData.fill,\n strokeWidth: 0,\n strokeFill: this.barData.fill\n }))\n }\n ];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/plot/index.ts\nvar BasePlot = class {\n constructor(chartConfig, chartData, chartThemeConfig) {\n this.chartConfig = chartConfig;\n this.chartData = chartData;\n this.chartThemeConfig = chartThemeConfig;\n this.boundingRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n static {\n __name(this, \"BasePlot\");\n }\n setAxes(xAxis, yAxis) {\n this.xAxis = xAxis;\n this.yAxis = yAxis;\n }\n setBoundingBoxXY(point) {\n this.boundingRect.x = point.x;\n this.boundingRect.y = point.y;\n }\n calculateSpace(availableSpace) {\n this.boundingRect.width = availableSpace.width;\n this.boundingRect.height = availableSpace.height;\n return {\n width: this.boundingRect.width,\n height: this.boundingRect.height\n };\n }\n getDrawableElements() {\n if (!(this.xAxis && this.yAxis)) {\n throw Error(\"Axes must be passed to render Plots\");\n }\n const drawableElem = [];\n for (const [i, plot] of this.chartData.plots.entries()) {\n switch (plot.type) {\n case \"line\":\n {\n const linePlot = new LinePlot(\n plot,\n this.xAxis,\n this.yAxis,\n this.chartConfig.chartOrientation,\n i\n );\n drawableElem.push(...linePlot.getDrawableElement());\n }\n break;\n case \"bar\":\n {\n const barPlot = new BarPlot(\n plot,\n this.boundingRect,\n this.xAxis,\n this.yAxis,\n this.chartConfig.chartOrientation,\n i\n );\n drawableElem.push(...barPlot.getDrawableElement());\n }\n break;\n }\n }\n return drawableElem;\n }\n};\nfunction getPlotComponent(chartConfig, chartData, chartThemeConfig) {\n return new BasePlot(chartConfig, chartData, chartThemeConfig);\n}\n__name(getPlotComponent, \"getPlotComponent\");\n\n// src/diagrams/xychart/chartBuilder/orchestrator.ts\nvar Orchestrator = class {\n constructor(chartConfig, chartData, chartThemeConfig, tmpSVGGroup2) {\n this.chartConfig = chartConfig;\n this.chartData = chartData;\n this.componentStore = {\n title: getChartTitleComponent(chartConfig, chartData, chartThemeConfig, tmpSVGGroup2),\n plot: getPlotComponent(chartConfig, chartData, chartThemeConfig),\n xAxis: getAxis(\n chartData.xAxis,\n chartConfig.xAxis,\n {\n titleColor: chartThemeConfig.xAxisTitleColor,\n labelColor: chartThemeConfig.xAxisLabelColor,\n tickColor: chartThemeConfig.xAxisTickColor,\n axisLineColor: chartThemeConfig.xAxisLineColor\n },\n tmpSVGGroup2\n ),\n yAxis: getAxis(\n chartData.yAxis,\n chartConfig.yAxis,\n {\n titleColor: chartThemeConfig.yAxisTitleColor,\n labelColor: chartThemeConfig.yAxisLabelColor,\n tickColor: chartThemeConfig.yAxisTickColor,\n axisLineColor: chartThemeConfig.yAxisLineColor\n },\n tmpSVGGroup2\n )\n };\n }\n static {\n __name(this, \"Orchestrator\");\n }\n calculateVerticalSpace() {\n let availableWidth = this.chartConfig.width;\n let availableHeight = this.chartConfig.height;\n let plotX = 0;\n let plotY = 0;\n let chartWidth = Math.floor(availableWidth * this.chartConfig.plotReservedSpacePercent / 100);\n let chartHeight = Math.floor(\n availableHeight * this.chartConfig.plotReservedSpacePercent / 100\n );\n let spaceUsed = this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n availableWidth -= spaceUsed.width;\n availableHeight -= spaceUsed.height;\n spaceUsed = this.componentStore.title.calculateSpace({\n width: this.chartConfig.width,\n height: availableHeight\n });\n plotY = spaceUsed.height;\n availableHeight -= spaceUsed.height;\n this.componentStore.xAxis.setAxisPosition(\"bottom\");\n spaceUsed = this.componentStore.xAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n availableHeight -= spaceUsed.height;\n this.componentStore.yAxis.setAxisPosition(\"left\");\n spaceUsed = this.componentStore.yAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n plotX = spaceUsed.width;\n availableWidth -= spaceUsed.width;\n if (availableWidth > 0) {\n chartWidth += availableWidth;\n availableWidth = 0;\n }\n if (availableHeight > 0) {\n chartHeight += availableHeight;\n availableHeight = 0;\n }\n this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n this.componentStore.plot.setBoundingBoxXY({ x: plotX, y: plotY });\n this.componentStore.xAxis.setRange([plotX, plotX + chartWidth]);\n this.componentStore.xAxis.setBoundingBoxXY({ x: plotX, y: plotY + chartHeight });\n this.componentStore.yAxis.setRange([plotY, plotY + chartHeight]);\n this.componentStore.yAxis.setBoundingBoxXY({ x: 0, y: plotY });\n if (this.chartData.plots.some((p) => isBarPlot(p))) {\n this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();\n }\n }\n calculateHorizontalSpace() {\n let availableWidth = this.chartConfig.width;\n let availableHeight = this.chartConfig.height;\n let titleYEnd = 0;\n let plotX = 0;\n let plotY = 0;\n let chartWidth = Math.floor(availableWidth * this.chartConfig.plotReservedSpacePercent / 100);\n let chartHeight = Math.floor(\n availableHeight * this.chartConfig.plotReservedSpacePercent / 100\n );\n let spaceUsed = this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n availableWidth -= spaceUsed.width;\n availableHeight -= spaceUsed.height;\n spaceUsed = this.componentStore.title.calculateSpace({\n width: this.chartConfig.width,\n height: availableHeight\n });\n titleYEnd = spaceUsed.height;\n availableHeight -= spaceUsed.height;\n this.componentStore.xAxis.setAxisPosition(\"left\");\n spaceUsed = this.componentStore.xAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n availableWidth -= spaceUsed.width;\n plotX = spaceUsed.width;\n this.componentStore.yAxis.setAxisPosition(\"top\");\n spaceUsed = this.componentStore.yAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n availableHeight -= spaceUsed.height;\n plotY = titleYEnd + spaceUsed.height;\n if (availableWidth > 0) {\n chartWidth += availableWidth;\n availableWidth = 0;\n }\n if (availableHeight > 0) {\n chartHeight += availableHeight;\n availableHeight = 0;\n }\n this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n this.componentStore.plot.setBoundingBoxXY({ x: plotX, y: plotY });\n this.componentStore.yAxis.setRange([plotX, plotX + chartWidth]);\n this.componentStore.yAxis.setBoundingBoxXY({ x: plotX, y: titleYEnd });\n this.componentStore.xAxis.setRange([plotY, plotY + chartHeight]);\n this.componentStore.xAxis.setBoundingBoxXY({ x: 0, y: plotY });\n if (this.chartData.plots.some((p) => isBarPlot(p))) {\n this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();\n }\n }\n calculateSpace() {\n if (this.chartConfig.chartOrientation === \"horizontal\") {\n this.calculateHorizontalSpace();\n } else {\n this.calculateVerticalSpace();\n }\n }\n getDrawableElement() {\n this.calculateSpace();\n const drawableElem = [];\n this.componentStore.plot.setAxes(this.componentStore.xAxis, this.componentStore.yAxis);\n for (const component of Object.values(this.componentStore)) {\n drawableElem.push(...component.getDrawableElements());\n }\n return drawableElem;\n }\n};\n\n// src/diagrams/xychart/chartBuilder/index.ts\nvar XYChartBuilder = class {\n static {\n __name(this, \"XYChartBuilder\");\n }\n static build(config, chartData, chartThemeConfig, tmpSVGGroup2) {\n const orchestrator = new Orchestrator(config, chartData, chartThemeConfig, tmpSVGGroup2);\n return orchestrator.getDrawableElement();\n }\n};\n\n// src/diagrams/xychart/xychartDb.ts\nvar plotIndex = 0;\nvar tmpSVGGroup;\nvar xyChartConfig = getChartDefaultConfig();\nvar xyChartThemeConfig = getChartDefaultThemeConfig();\nvar xyChartData = getChartDefaultData();\nvar plotColorPalette = xyChartThemeConfig.plotColorPalette.split(\",\").map((color) => color.trim());\nvar hasSetXAxis = false;\nvar hasSetYAxis = false;\nfunction getChartDefaultThemeConfig() {\n const defaultThemeVariables = getThemeVariables();\n const config = getConfig();\n return cleanAndMerge(defaultThemeVariables.xyChart, config.themeVariables.xyChart);\n}\n__name(getChartDefaultThemeConfig, \"getChartDefaultThemeConfig\");\nfunction getChartDefaultConfig() {\n const config = getConfig();\n return cleanAndMerge(\n defaultConfig_default.xyChart,\n config.xyChart\n );\n}\n__name(getChartDefaultConfig, \"getChartDefaultConfig\");\nfunction getChartDefaultData() {\n return {\n yAxis: {\n type: \"linear\",\n title: \"\",\n min: Infinity,\n max: -Infinity\n },\n xAxis: {\n type: \"band\",\n title: \"\",\n categories: []\n },\n title: \"\",\n plots: []\n };\n}\n__name(getChartDefaultData, \"getChartDefaultData\");\nfunction textSanitizer(text) {\n const config = getConfig();\n return sanitizeText(text.trim(), config);\n}\n__name(textSanitizer, \"textSanitizer\");\nfunction setTmpSVGG(SVGG) {\n tmpSVGGroup = SVGG;\n}\n__name(setTmpSVGG, \"setTmpSVGG\");\nfunction setOrientation(orientation) {\n if (orientation === \"horizontal\") {\n xyChartConfig.chartOrientation = \"horizontal\";\n } else {\n xyChartConfig.chartOrientation = \"vertical\";\n }\n}\n__name(setOrientation, \"setOrientation\");\nfunction setXAxisTitle(title) {\n xyChartData.xAxis.title = textSanitizer(title.text);\n}\n__name(setXAxisTitle, \"setXAxisTitle\");\nfunction setXAxisRangeData(min, max) {\n xyChartData.xAxis = { type: \"linear\", title: xyChartData.xAxis.title, min, max };\n hasSetXAxis = true;\n}\n__name(setXAxisRangeData, \"setXAxisRangeData\");\nfunction setXAxisBand(categories) {\n xyChartData.xAxis = {\n type: \"band\",\n title: xyChartData.xAxis.title,\n categories: categories.map((c) => textSanitizer(c.text))\n };\n hasSetXAxis = true;\n}\n__name(setXAxisBand, \"setXAxisBand\");\nfunction setYAxisTitle(title) {\n xyChartData.yAxis.title = textSanitizer(title.text);\n}\n__name(setYAxisTitle, \"setYAxisTitle\");\nfunction setYAxisRangeData(min, max) {\n xyChartData.yAxis = { type: \"linear\", title: xyChartData.yAxis.title, min, max };\n hasSetYAxis = true;\n}\n__name(setYAxisRangeData, \"setYAxisRangeData\");\nfunction setYAxisRangeFromPlotData(data) {\n const minValue = Math.min(...data);\n const maxValue = Math.max(...data);\n const prevMinValue = isLinearAxisData(xyChartData.yAxis) ? xyChartData.yAxis.min : Infinity;\n const prevMaxValue = isLinearAxisData(xyChartData.yAxis) ? xyChartData.yAxis.max : -Infinity;\n xyChartData.yAxis = {\n type: \"linear\",\n title: xyChartData.yAxis.title,\n min: Math.min(prevMinValue, minValue),\n max: Math.max(prevMaxValue, maxValue)\n };\n}\n__name(setYAxisRangeFromPlotData, \"setYAxisRangeFromPlotData\");\nfunction transformDataWithoutCategory(data) {\n let retData = [];\n if (data.length === 0) {\n return retData;\n }\n if (!hasSetXAxis) {\n const prevMinValue = isLinearAxisData(xyChartData.xAxis) ? xyChartData.xAxis.min : Infinity;\n const prevMaxValue = isLinearAxisData(xyChartData.xAxis) ? xyChartData.xAxis.max : -Infinity;\n setXAxisRangeData(Math.min(prevMinValue, 1), Math.max(prevMaxValue, data.length));\n }\n if (!hasSetYAxis) {\n setYAxisRangeFromPlotData(data);\n }\n if (isBandAxisData(xyChartData.xAxis)) {\n retData = xyChartData.xAxis.categories.map((c, i) => [c, data[i]]);\n }\n if (isLinearAxisData(xyChartData.xAxis)) {\n const min = xyChartData.xAxis.min;\n const max = xyChartData.xAxis.max;\n const step = (max - min) / (data.length - 1);\n const categories = [];\n for (let i = min; i <= max; i += step) {\n categories.push(`${i}`);\n }\n retData = categories.map((c, i) => [c, data[i]]);\n }\n return retData;\n}\n__name(transformDataWithoutCategory, \"transformDataWithoutCategory\");\nfunction getPlotColorFromPalette(plotIndex2) {\n return plotColorPalette[plotIndex2 === 0 ? 0 : plotIndex2 % plotColorPalette.length];\n}\n__name(getPlotColorFromPalette, \"getPlotColorFromPalette\");\nfunction setLineData(title, data) {\n const plotData = transformDataWithoutCategory(data);\n xyChartData.plots.push({\n type: \"line\",\n strokeFill: getPlotColorFromPalette(plotIndex),\n strokeWidth: 2,\n data: plotData\n });\n plotIndex++;\n}\n__name(setLineData, \"setLineData\");\nfunction setBarData(title, data) {\n const plotData = transformDataWithoutCategory(data);\n xyChartData.plots.push({\n type: \"bar\",\n fill: getPlotColorFromPalette(plotIndex),\n data: plotData\n });\n plotIndex++;\n}\n__name(setBarData, \"setBarData\");\nfunction getDrawableElem() {\n if (xyChartData.plots.length === 0) {\n throw Error(\"No Plot to render, please provide a plot with some data\");\n }\n xyChartData.title = getDiagramTitle();\n return XYChartBuilder.build(xyChartConfig, xyChartData, xyChartThemeConfig, tmpSVGGroup);\n}\n__name(getDrawableElem, \"getDrawableElem\");\nfunction getChartThemeConfig() {\n return xyChartThemeConfig;\n}\n__name(getChartThemeConfig, \"getChartThemeConfig\");\nfunction getChartConfig() {\n return xyChartConfig;\n}\n__name(getChartConfig, \"getChartConfig\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n clear();\n plotIndex = 0;\n xyChartConfig = getChartDefaultConfig();\n xyChartData = getChartDefaultData();\n xyChartThemeConfig = getChartDefaultThemeConfig();\n plotColorPalette = xyChartThemeConfig.plotColorPalette.split(\",\").map((color) => color.trim());\n hasSetXAxis = false;\n hasSetYAxis = false;\n}, \"clear\");\nvar xychartDb_default = {\n getDrawableElem,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription,\n setOrientation,\n setXAxisTitle,\n setXAxisRangeData,\n setXAxisBand,\n setYAxisTitle,\n setYAxisRangeData,\n setLineData,\n setBarData,\n setTmpSVGG,\n getChartThemeConfig,\n getChartConfig\n};\n\n// src/diagrams/xychart/xychartRenderer.ts\nvar draw = /* @__PURE__ */ __name((txt, id, _version, diagObj) => {\n const db = diagObj.db;\n const themeConfig = db.getChartThemeConfig();\n const chartConfig = db.getChartConfig();\n function getDominantBaseLine(horizontalPos) {\n return horizontalPos === \"top\" ? \"text-before-edge\" : \"middle\";\n }\n __name(getDominantBaseLine, \"getDominantBaseLine\");\n function getTextAnchor(verticalPos) {\n return verticalPos === \"left\" ? \"start\" : verticalPos === \"right\" ? \"end\" : \"middle\";\n }\n __name(getTextAnchor, \"getTextAnchor\");\n function getTextTransformation(data) {\n return `translate(${data.x}, ${data.y}) rotate(${data.rotation || 0})`;\n }\n __name(getTextTransformation, \"getTextTransformation\");\n log.debug(\"Rendering xychart chart\\n\" + txt);\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\").attr(\"class\", \"main\");\n const background = group.append(\"rect\").attr(\"width\", chartConfig.width).attr(\"height\", chartConfig.height).attr(\"class\", \"background\");\n configureSvgSize(svg, chartConfig.height, chartConfig.width, true);\n svg.attr(\"viewBox\", `0 0 ${chartConfig.width} ${chartConfig.height}`);\n background.attr(\"fill\", themeConfig.backgroundColor);\n db.setTmpSVGG(svg.append(\"g\").attr(\"class\", \"mermaid-tmp-group\"));\n const shapes = db.getDrawableElem();\n const groups = {};\n function getGroup(gList) {\n let elem = group;\n let prefix = \"\";\n for (const [i] of gList.entries()) {\n let parent = group;\n if (i > 0 && groups[prefix]) {\n parent = groups[prefix];\n }\n prefix += gList[i];\n elem = groups[prefix];\n if (!elem) {\n elem = groups[prefix] = parent.append(\"g\").attr(\"class\", gList[i]);\n }\n }\n return elem;\n }\n __name(getGroup, \"getGroup\");\n for (const shape of shapes) {\n if (shape.data.length === 0) {\n continue;\n }\n const shapeGroup = getGroup(shape.groupTexts);\n switch (shape.type) {\n case \"rect\":\n shapeGroup.selectAll(\"rect\").data(shape.data).enter().append(\"rect\").attr(\"x\", (data) => data.x).attr(\"y\", (data) => data.y).attr(\"width\", (data) => data.width).attr(\"height\", (data) => data.height).attr(\"fill\", (data) => data.fill).attr(\"stroke\", (data) => data.strokeFill).attr(\"stroke-width\", (data) => data.strokeWidth);\n break;\n case \"text\":\n shapeGroup.selectAll(\"text\").data(shape.data).enter().append(\"text\").attr(\"x\", 0).attr(\"y\", 0).attr(\"fill\", (data) => data.fill).attr(\"font-size\", (data) => data.fontSize).attr(\"dominant-baseline\", (data) => getDominantBaseLine(data.verticalPos)).attr(\"text-anchor\", (data) => getTextAnchor(data.horizontalPos)).attr(\"transform\", (data) => getTextTransformation(data)).text((data) => data.text);\n break;\n case \"path\":\n shapeGroup.selectAll(\"path\").data(shape.data).enter().append(\"path\").attr(\"d\", (data) => data.path).attr(\"fill\", (data) => data.fill ? data.fill : \"none\").attr(\"stroke\", (data) => data.strokeFill).attr(\"stroke-width\", (data) => data.strokeWidth);\n break;\n }\n }\n}, \"draw\");\nvar xychartRenderer_default = {\n draw\n};\n\n// src/diagrams/xychart/xychartDiagram.ts\nvar diagram = {\n parser: xychart_default,\n db: xychartDb_default,\n renderer: xychartRenderer_default\n};\nexport {\n diagram\n};\n"],"names":["range","start","stop","step","i","band","scale","ordinal","domain","ordinalRange","r0","r1","bandwidth","round","paddingInner","paddingOuter","align","rescale","n","reverse","values","sequence","_","initRange","parser","o","__name","k","v","o2","l","$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","$Vp","$Vq","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","r","yyval","p","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","xychart_default","isBarPlot","data","isBandAxisData","isLinearAxisData","TextDimensionCalculatorWithFont","_a","parentGroup","texts","fontSize","acc","cur","dimension","elem","t","bbox","computeDimensionOfText","width","height","BAR_WIDTH_TO_TICK_WIDTH_RATIO","MAX_OUTER_PADDING_PERCENT_FOR_WRT_LABEL","BaseAxis","axisConfig","title","textDimensionCalculator","axisThemeConfig","axisPosition","tick","availableSpace","availableHeight","spaceRequired","maxPadding","heightRequired","availableWidth","widthRequired","point","drawableElement","x","y","BandAxis","categories","scaleBand","log","value","LinearAxis","scaleLinear","getAxis","tmpSVGGroup2","ChartTitle","chartConfig","chartData","chartThemeConfig","titleDimension","drawableElem","getChartTitleComponent","LinePlot","plotData","xAxis","yAxis","orientation","plotIndex2","finalData","d","path","line","BarPlot","barData","boundingRect","barWidth","barWidthHalf","BasePlot","plot","linePlot","barPlot","getPlotComponent","Orchestrator","plotX","plotY","chartWidth","chartHeight","spaceUsed","titleYEnd","component","XYChartBuilder","config","plotIndex","tmpSVGGroup","xyChartConfig","getChartDefaultConfig","xyChartThemeConfig","getChartDefaultThemeConfig","xyChartData","getChartDefaultData","plotColorPalette","color","hasSetXAxis","hasSetYAxis","defaultThemeVariables","getThemeVariables","getConfig","cleanAndMerge","defaultConfig_default","textSanitizer","text","sanitizeText","setTmpSVGG","SVGG","setOrientation","setXAxisTitle","setXAxisRangeData","min","max","setXAxisBand","c","setYAxisTitle","setYAxisRangeData","setYAxisRangeFromPlotData","minValue","maxValue","prevMinValue","prevMaxValue","transformDataWithoutCategory","retData","getPlotColorFromPalette","setLineData","setBarData","getDrawableElem","getDiagramTitle","getChartThemeConfig","getChartConfig","clear2","clear","xychartDb_default","setAccTitle","getAccTitle","setDiagramTitle","getAccDescription","setAccDescription","draw","txt","id","_version","diagObj","db","themeConfig","getDominantBaseLine","horizontalPos","getTextAnchor","verticalPos","getTextTransformation","svg","selectSvgElement","group","background","configureSvgSize","shapes","groups","getGroup","gList","prefix","parent","shape","shapeGroup","xychartRenderer_default","diagram"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|