@plumile/ui 0.1.82 → 0.1.84

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.
Files changed (154) hide show
  1. package/lib/esm/BackofficeJsonViewerAsync-B_YPyubK.js +10 -0
  2. package/lib/esm/{BackofficeJsonViewerAsync-B7o3TG1l.js.map → BackofficeJsonViewerAsync-B_YPyubK.js.map} +1 -1
  3. package/lib/esm/{HighlightCode-C-xPmbUz.js → HighlightCode-KpWSo7Zx.js} +3 -3
  4. package/lib/esm/{HighlightCode-C-xPmbUz.js.map → HighlightCode-KpWSo7Zx.js.map} +1 -1
  5. package/lib/esm/{MarkdownCodeBlock-x4jjzmDF.js → MarkdownCodeBlock-B__tyIcc.js} +10 -5
  6. package/lib/esm/MarkdownCodeBlock-B__tyIcc.js.map +1 -0
  7. package/lib/esm/{MarkdownRenderer-Cc-CjEOF.js → MarkdownRenderer-w1EzXVlv.js} +30 -30
  8. package/lib/esm/{MarkdownRenderer-Cc-CjEOF.js.map → MarkdownRenderer-w1EzXVlv.js.map} +1 -1
  9. package/lib/esm/{MarkdownShikiCodeBlock-Dj-585Pp.js → MarkdownShikiCodeBlock-Dv7ONFFy.js} +2 -2
  10. package/lib/esm/{MarkdownShikiCodeBlock-Dj-585Pp.js.map → MarkdownShikiCodeBlock-Dv7ONFFy.js.map} +1 -1
  11. package/lib/esm/{architectureDiagram-2XIMDMQ5-BUhb7PkG.js → architectureDiagram-2XIMDMQ5-D9W3hi1n.js} +5 -5
  12. package/lib/esm/{architectureDiagram-2XIMDMQ5-BUhb7PkG.js.map → architectureDiagram-2XIMDMQ5-D9W3hi1n.js.map} +1 -1
  13. package/lib/esm/{blockDiagram-WCTKOSBZ-C8Ohzdg3.js → blockDiagram-WCTKOSBZ-0tOAzLGT.js} +7 -7
  14. package/lib/esm/{blockDiagram-WCTKOSBZ-C8Ohzdg3.js.map → blockDiagram-WCTKOSBZ-0tOAzLGT.js.map} +1 -1
  15. package/lib/esm/{c4Diagram-IC4MRINW-CQUp6kiC.js → c4Diagram-IC4MRINW-BfvUsZKR.js} +4 -4
  16. package/lib/esm/{c4Diagram-IC4MRINW-CQUp6kiC.js.map → c4Diagram-IC4MRINW-BfvUsZKR.js.map} +1 -1
  17. package/lib/esm/{channel-BBzlf3l-.js → channel-BevqKLlC.js} +2 -2
  18. package/lib/esm/{channel-BBzlf3l-.js.map → channel-BevqKLlC.js.map} +1 -1
  19. package/lib/esm/{chunk-7R4GIKGN-Cg9-qmu5.js → chunk-7R4GIKGN-tSw2Wb9z.js} +2 -2
  20. package/lib/esm/{chunk-7R4GIKGN-Cg9-qmu5.js.map → chunk-7R4GIKGN-tSw2Wb9z.js.map} +1 -1
  21. package/lib/esm/{chunk-GEFDOKGD-Dkux3ZgH.js → chunk-GEFDOKGD-CWu-rFVf.js} +2 -2
  22. package/lib/esm/{chunk-GEFDOKGD-Dkux3ZgH.js.map → chunk-GEFDOKGD-CWu-rFVf.js.map} +1 -1
  23. package/lib/esm/{chunk-GLR3WWYH-BBakjhtu.js → chunk-GLR3WWYH-Dy7JAiPZ.js} +6 -6
  24. package/lib/esm/{chunk-GLR3WWYH-BBakjhtu.js.map → chunk-GLR3WWYH-Dy7JAiPZ.js.map} +1 -1
  25. package/lib/esm/{chunk-HHEYEP7N-BRntQHI9.js → chunk-HHEYEP7N-CwMxvvqW.js} +2 -2
  26. package/lib/esm/{chunk-HHEYEP7N-BRntQHI9.js.map → chunk-HHEYEP7N-CwMxvvqW.js.map} +1 -1
  27. package/lib/esm/{chunk-JSJVCQXG-DuVavFA7.js → chunk-JSJVCQXG-BhZagW93.js} +2 -2
  28. package/lib/esm/{chunk-JSJVCQXG-DuVavFA7.js.map → chunk-JSJVCQXG-BhZagW93.js.map} +1 -1
  29. package/lib/esm/{chunk-KX2RTZJC-BEZu4ePM.js → chunk-KX2RTZJC-BfnFx2cA.js} +2 -2
  30. package/lib/esm/{chunk-KX2RTZJC-BEZu4ePM.js.map → chunk-KX2RTZJC-BfnFx2cA.js.map} +1 -1
  31. package/lib/esm/{chunk-KYZI473N-DeJhj0TI.js → chunk-KYZI473N-BwYBBC73.js} +6 -6
  32. package/lib/esm/{chunk-KYZI473N-DeJhj0TI.js.map → chunk-KYZI473N-BwYBBC73.js.map} +1 -1
  33. package/lib/esm/{chunk-NQ4KR5QH-pcyIZSOf.js → chunk-NQ4KR5QH-CtcoAyde.js} +5 -5
  34. package/lib/esm/{chunk-NQ4KR5QH-pcyIZSOf.js.map → chunk-NQ4KR5QH-CtcoAyde.js.map} +1 -1
  35. package/lib/esm/{chunk-O4XLMI2P-B49RDRA_.js → chunk-O4XLMI2P-DxPipWrP.js} +8 -8
  36. package/lib/esm/{chunk-O4XLMI2P-B49RDRA_.js.map → chunk-O4XLMI2P-DxPipWrP.js.map} +1 -1
  37. package/lib/esm/{chunk-PQ6SQG4A-BJO_yF6z.js → chunk-PQ6SQG4A-DlekIw0F.js} +2 -2
  38. package/lib/esm/{chunk-PQ6SQG4A-BJO_yF6z.js.map → chunk-PQ6SQG4A-DlekIw0F.js.map} +1 -1
  39. package/lib/esm/{chunk-PU5JKC2W-BzaL_NH3.js → chunk-PU5JKC2W-nnfoXdoB.js} +3 -3
  40. package/lib/esm/{chunk-PU5JKC2W-BzaL_NH3.js.map → chunk-PU5JKC2W-nnfoXdoB.js.map} +1 -1
  41. package/lib/esm/{chunk-WL4C6EOR-CtRNKYmt.js → chunk-WL4C6EOR-CepZqrvG.js} +6 -6
  42. package/lib/esm/{chunk-WL4C6EOR-CtRNKYmt.js.map → chunk-WL4C6EOR-CepZqrvG.js.map} +1 -1
  43. package/lib/esm/{chunk-YBOYWFTD-BL_YEnkQ.js → chunk-YBOYWFTD-DQeJ-Crn.js} +3 -3
  44. package/lib/esm/{chunk-YBOYWFTD-BL_YEnkQ.js.map → chunk-YBOYWFTD-DQeJ-Crn.js.map} +1 -1
  45. package/lib/esm/{classDiagram-VBA2DB6C-BT1J_4pK.js → classDiagram-VBA2DB6C-Cz661asi.js} +12 -12
  46. package/lib/esm/{classDiagram-VBA2DB6C-BT1J_4pK.js.map → classDiagram-VBA2DB6C-Cz661asi.js.map} +1 -1
  47. package/lib/esm/{classDiagram-v2-RAHNMMFH-CKSbfgdS.js → classDiagram-v2-RAHNMMFH-gl-L4tD0.js} +12 -12
  48. package/lib/esm/{classDiagram-v2-RAHNMMFH-CKSbfgdS.js.map → classDiagram-v2-RAHNMMFH-gl-L4tD0.js.map} +1 -1
  49. package/lib/esm/{dagre-D6grMmmr.js → dagre-CUvGkXru.js} +2 -2
  50. package/lib/esm/{dagre-D6grMmmr.js.map → dagre-CUvGkXru.js.map} +1 -1
  51. package/lib/esm/{dagre-KLK3FWXG-CT3GGyXF.js → dagre-KLK3FWXG-CfNc9pEH.js} +9 -9
  52. package/lib/esm/{dagre-KLK3FWXG-CT3GGyXF.js.map → dagre-KLK3FWXG-CfNc9pEH.js.map} +1 -1
  53. package/lib/esm/{diagram-E7M64L7V-RIQNonUo.js → diagram-E7M64L7V-owGUX1SK.js} +6 -6
  54. package/lib/esm/{diagram-E7M64L7V-RIQNonUo.js.map → diagram-E7M64L7V-owGUX1SK.js.map} +1 -1
  55. package/lib/esm/{diagram-IFDJBPK2-D1Vwi5RU.js → diagram-IFDJBPK2-BNNr6py0.js} +4 -4
  56. package/lib/esm/{diagram-IFDJBPK2-D1Vwi5RU.js.map → diagram-IFDJBPK2-BNNr6py0.js.map} +1 -1
  57. package/lib/esm/{diagram-P4PSJMXO-B84-dlrB.js → diagram-P4PSJMXO-DYqpdLub.js} +4 -4
  58. package/lib/esm/{diagram-P4PSJMXO-B84-dlrB.js.map → diagram-P4PSJMXO-DYqpdLub.js.map} +1 -1
  59. package/lib/esm/{erDiagram-INFDFZHY-DMLpjzc4.js → erDiagram-INFDFZHY-Bg0Cs5pu.js} +11 -11
  60. package/lib/esm/{erDiagram-INFDFZHY-DMLpjzc4.js.map → erDiagram-INFDFZHY-Bg0Cs5pu.js.map} +1 -1
  61. package/lib/esm/{flowDiagram-PKNHOUZH-Ce1-VA32.js → flowDiagram-PKNHOUZH-TkU27ZFV.js} +12 -12
  62. package/lib/esm/{flowDiagram-PKNHOUZH-Ce1-VA32.js.map → flowDiagram-PKNHOUZH-TkU27ZFV.js.map} +1 -1
  63. package/lib/esm/{ganttDiagram-A5KZAMGK-BAmfVCUC.js → ganttDiagram-A5KZAMGK-C3eQMnaD.js} +3 -3
  64. package/lib/esm/{ganttDiagram-A5KZAMGK-BAmfVCUC.js.map → ganttDiagram-A5KZAMGK-C3eQMnaD.js.map} +1 -1
  65. package/lib/esm/{gitGraphDiagram-K3NZZRJ6-CR62Izxa.js → gitGraphDiagram-K3NZZRJ6-CeYQZRvp.js} +3 -3
  66. package/lib/esm/{gitGraphDiagram-K3NZZRJ6-CR62Izxa.js.map → gitGraphDiagram-K3NZZRJ6-CeYQZRvp.js.map} +1 -1
  67. package/lib/esm/{infoDiagram-LFFYTUFH-CEaM6i7D.js → infoDiagram-LFFYTUFH-rYfR0LAG.js} +3 -3
  68. package/lib/esm/{infoDiagram-LFFYTUFH-CEaM6i7D.js.map → infoDiagram-LFFYTUFH-rYfR0LAG.js.map} +1 -1
  69. package/lib/esm/{ishikawaDiagram-PHBUUO56-DPmaeRZg.js → ishikawaDiagram-PHBUUO56-Cv42PfHQ.js} +4 -4
  70. package/lib/esm/{ishikawaDiagram-PHBUUO56-DPmaeRZg.js.map → ishikawaDiagram-PHBUUO56-Cv42PfHQ.js.map} +1 -1
  71. package/lib/esm/{journeyDiagram-4ABVD52K-CIkELGB9.js → journeyDiagram-4ABVD52K-TAtGE2GU.js} +3 -3
  72. package/lib/esm/{journeyDiagram-4ABVD52K-CIkELGB9.js.map → journeyDiagram-4ABVD52K-TAtGE2GU.js.map} +1 -1
  73. package/lib/esm/{kanban-definition-K7BYSVSG-CzRVcKjg.js → kanban-definition-K7BYSVSG-iey_6CC1.js} +8 -8
  74. package/lib/esm/{kanban-definition-K7BYSVSG-CzRVcKjg.js.map → kanban-definition-K7BYSVSG-iey_6CC1.js.map} +1 -1
  75. package/lib/esm/{katex-C5br0dxW.js → katex-W0_-X3Wb.js} +4 -4
  76. package/lib/esm/katex-W0_-X3Wb.js.map +1 -0
  77. package/lib/esm/{line-CNKkQ82B.js → line-AZ-MMAnt.js} +2 -2
  78. package/lib/esm/{line-CNKkQ82B.js.map → line-AZ-MMAnt.js.map} +1 -1
  79. package/lib/esm/{mermaid.core-CgCa7Y6s.js → mermaid.core-Ckiof3bn.js} +39 -39
  80. package/lib/esm/{mermaid.core-CgCa7Y6s.js.map → mermaid.core-Ckiof3bn.js.map} +1 -1
  81. package/lib/esm/{mindmap-definition-YRQLILUH-B7c3ueCh.js → mindmap-definition-YRQLILUH-DttP-UXP.js} +10 -10
  82. package/lib/esm/{mindmap-definition-YRQLILUH-B7c3ueCh.js.map → mindmap-definition-YRQLILUH-DttP-UXP.js.map} +1 -1
  83. package/lib/esm/{pieDiagram-SKSYHLDU-BKf7D_uz.js → pieDiagram-SKSYHLDU-BuVky6TE.js} +4 -4
  84. package/lib/esm/{pieDiagram-SKSYHLDU-BKf7D_uz.js.map → pieDiagram-SKSYHLDU-BuVky6TE.js.map} +1 -1
  85. package/lib/esm/{quadrantDiagram-337W2JSQ-CZMVpQuF.js → quadrantDiagram-337W2JSQ-COnmLuk_.js} +2 -2
  86. package/lib/esm/{quadrantDiagram-337W2JSQ-CZMVpQuF.js.map → quadrantDiagram-337W2JSQ-COnmLuk_.js.map} +1 -1
  87. package/lib/esm/{requirementDiagram-Z7DCOOCP-CXxLUHMG.js → requirementDiagram-Z7DCOOCP-ChSklNBb.js} +10 -10
  88. package/lib/esm/{requirementDiagram-Z7DCOOCP-CXxLUHMG.js.map → requirementDiagram-Z7DCOOCP-ChSklNBb.js.map} +1 -1
  89. package/lib/esm/{sankeyDiagram-WA2Y5GQK-BauuH8-1.js → sankeyDiagram-WA2Y5GQK-tI6Eo-LD.js} +2 -2
  90. package/lib/esm/{sankeyDiagram-WA2Y5GQK-BauuH8-1.js.map → sankeyDiagram-WA2Y5GQK-tI6Eo-LD.js.map} +1 -1
  91. package/lib/esm/{sequenceDiagram-2WXFIKYE-AWPjBivx.js → sequenceDiagram-2WXFIKYE-C7KV1rxZ.js} +4 -4
  92. package/lib/esm/{sequenceDiagram-2WXFIKYE-AWPjBivx.js.map → sequenceDiagram-2WXFIKYE-C7KV1rxZ.js.map} +1 -1
  93. package/lib/esm/src-5_DIXRl3.js +79102 -0
  94. package/lib/esm/src-5_DIXRl3.js.map +1 -0
  95. package/lib/esm/{stateDiagram-RAJIS63D-CXgEabgV.js → stateDiagram-RAJIS63D-BFn7Uwqt.js} +13 -13
  96. package/lib/esm/{stateDiagram-RAJIS63D-CXgEabgV.js.map → stateDiagram-RAJIS63D-BFn7Uwqt.js.map} +1 -1
  97. package/lib/esm/{stateDiagram-v2-FVOUBMTO-CahcZ8-y.js → stateDiagram-v2-FVOUBMTO-DDke9x6W.js} +11 -11
  98. package/lib/esm/{stateDiagram-v2-FVOUBMTO-CahcZ8-y.js.map → stateDiagram-v2-FVOUBMTO-DDke9x6W.js.map} +1 -1
  99. package/lib/esm/style.css +1 -1
  100. package/lib/esm/{timeline-definition-YZTLITO2-Dk8ByuG8.js → timeline-definition-YZTLITO2-BxLV7tzr.js} +2 -2
  101. package/lib/esm/{timeline-definition-YZTLITO2-Dk8ByuG8.js.map → timeline-definition-YZTLITO2-BxLV7tzr.js.map} +1 -1
  102. package/lib/esm/ui.js +5 -5
  103. package/lib/esm/{vennDiagram-LZ73GAT5-BcIblXz3.js → vennDiagram-LZ73GAT5-BciD5X0b.js} +4 -4
  104. package/lib/esm/{vennDiagram-LZ73GAT5-BcIblXz3.js.map → vennDiagram-LZ73GAT5-BciD5X0b.js.map} +1 -1
  105. package/lib/esm/{xychartDiagram-JWTSCODW-Csn18jU4.js → xychartDiagram-JWTSCODW-yIaPAmwy.js} +6 -6
  106. package/lib/esm/{xychartDiagram-JWTSCODW-Csn18jU4.js.map → xychartDiagram-JWTSCODW-yIaPAmwy.js.map} +1 -1
  107. package/lib/types/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.d.ts.map +1 -1
  108. package/lib/types/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.d.ts.map +1 -1
  109. package/lib/types/backoffice/molecules/backoffice_filter_field/backofficeFilterField.css.d.ts.map +1 -1
  110. package/lib/types/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.d.ts.map +1 -1
  111. package/lib/types/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.d.ts.map +1 -1
  112. package/lib/types/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.d.ts.map +1 -1
  113. package/lib/types/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.d.ts.map +1 -1
  114. package/lib/types/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.d.ts.map +1 -1
  115. package/lib/types/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.d.ts.map +1 -1
  116. package/lib/types/backoffice/molecules/backoffice_tabs/backofficeTabs.css.d.ts.map +1 -1
  117. package/lib/types/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.d.ts.map +1 -1
  118. package/lib/types/backoffice/templates/detail_page_template/detailPageTemplate.css.d.ts.map +1 -1
  119. package/lib/types/components/charts/MetricHistoryChart.d.ts +22 -0
  120. package/lib/types/components/charts/MetricHistoryChart.d.ts.map +1 -0
  121. package/lib/types/components/charts/metricHistoryChart.css.d.ts +8 -0
  122. package/lib/types/components/charts/metricHistoryChart.css.d.ts.map +1 -0
  123. package/lib/types/components/charts/timeSeriesLineChart.css.d.ts.map +1 -1
  124. package/lib/types/components/dashboard/dashboard_grid/DashboardGrid.css.d.ts +7 -1
  125. package/lib/types/components/dashboard/dashboard_grid/DashboardGrid.css.d.ts.map +1 -1
  126. package/lib/types/components/dashboard/metadata_strip/MetadataStrip.css.d.ts.map +1 -1
  127. package/lib/types/components/dashboard/metric_tile_group/MetricTileGroup.css.d.ts.map +1 -1
  128. package/lib/types/components/dashboard/section_nav/SectionNav.css.d.ts.map +1 -1
  129. package/lib/types/components/dashboard/segmented_nav/SegmentedNav.css.d.ts.map +1 -1
  130. package/lib/types/components/dashboard/selectable_card/SelectableCard.css.d.ts.map +1 -1
  131. package/lib/types/components/layout/PageShell.css.d.ts.map +1 -1
  132. package/lib/types/components/tile/InfoTile.css.d.ts.map +1 -1
  133. package/lib/types/index.d.ts +1 -0
  134. package/lib/types/index.d.ts.map +1 -1
  135. package/lib/types/theme/ThemeProvider.d.ts +8 -7
  136. package/lib/types/theme/ThemeProvider.d.ts.map +1 -1
  137. package/lib/types/theme/index.d.ts +1 -0
  138. package/lib/types/theme/index.d.ts.map +1 -1
  139. package/lib/types/theme/sprinkles.css.d.ts +65 -31
  140. package/lib/types/theme/sprinkles.css.d.ts.map +1 -1
  141. package/lib/types/theme/theme-dark.css.d.ts +2 -0
  142. package/lib/types/theme/theme-dark.css.d.ts.map +1 -0
  143. package/lib/types/theme/theme-light.css.d.ts +2125 -0
  144. package/lib/types/theme/theme-light.css.d.ts.map +1 -0
  145. package/lib/types/theme/theme.css.d.ts +3 -1
  146. package/lib/types/theme/theme.css.d.ts.map +1 -1
  147. package/lib/types/theme/themeContract.d.ts +5 -0
  148. package/lib/types/theme/themeContract.d.ts.map +1 -1
  149. package/package.json +2 -2
  150. package/lib/esm/BackofficeJsonViewerAsync-B7o3TG1l.js +0 -10
  151. package/lib/esm/MarkdownCodeBlock-x4jjzmDF.js.map +0 -1
  152. package/lib/esm/katex-C5br0dxW.js.map +0 -1
  153. package/lib/esm/src-DBX0c0a-.js +0 -75012
  154. package/lib/esm/src-DBX0c0a-.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"xychartDiagram-JWTSCODW-Csn18jU4.js","names":["sequence","scaleBand","scaleLinear","line","getThemeVariables"],"sources":["../../../../node_modules/d3-array/src/range.js","../../../../node_modules/d3-scale/src/band.js","../../../../node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-JWTSCODW.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 selectSvgElement\n} from \"./chunk-HHEYEP7N.mjs\";\nimport {\n computeDimensionOfText\n} from \"./chunk-PU5JKC2W.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-GEFDOKGD.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-7R4GIKGN.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.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 5;\n break;\n case 16:\n return 8;\n break;\n case 17:\n this.pushState(\"axis_data\");\n return \"X_AXIS\";\n break;\n case 18:\n this.pushState(\"axis_data\");\n return \"Y_AXIS\";\n break;\n case 19:\n this.pushState(\"axis_band_data\");\n return 24;\n break;\n case 20:\n return 31;\n break;\n case 21:\n this.pushState(\"data\");\n return 16;\n break;\n case 22:\n this.pushState(\"data\");\n return 18;\n break;\n case 23:\n this.pushState(\"data_inner\");\n return 24;\n break;\n case 24:\n return 27;\n break;\n case 25:\n this.popState();\n return 26;\n break;\n case 26:\n this.popState();\n break;\n case 27:\n this.pushState(\"string\");\n break;\n case 28:\n this.popState();\n break;\n case 29:\n return \"STR\";\n break;\n case 30:\n return 24;\n break;\n case 31:\n return 26;\n break;\n case 32:\n return 43;\n break;\n case 33:\n return \"COLON\";\n break;\n case 34:\n return 44;\n break;\n case 35:\n return 28;\n break;\n case 36:\n return 45;\n break;\n case 37:\n return 46;\n break;\n case 38:\n return 48;\n break;\n case 39:\n return 50;\n break;\n case 40:\n return 47;\n break;\n case 41:\n return 41;\n break;\n case 42:\n return 49;\n break;\n case 43:\n return 42;\n break;\n case 44:\n break;\n case 45:\n return 35;\n break;\n case 46:\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, /^(?:xychart\\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, 18, 21, 22, 24, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], \"inclusive\": true }, \"data\": { \"rules\": [0, 1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 21, 22, 23, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], \"inclusive\": true }, \"axis_band_data\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 21, 22, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], \"inclusive\": true }, \"axis_data\": { \"rules\": [0, 1, 2, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], \"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\": [28, 29], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 21, 22, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], \"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\");\nfunction getXYChartData() {\n return xyChartData;\n}\n__name(getXYChartData, \"getXYChartData\");\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 getXYChartData\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 const labelData = db.getXYChartData().plots[0].data.map((data) => data[1]);\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 if (chartConfig.showDataLabel) {\n if (chartConfig.chartOrientation === \"horizontal\") {\n let fitsHorizontally2 = function(item, fontSize) {\n const { data, label } = item;\n const textWidth = fontSize * label.length * charWidthFactor;\n return textWidth <= data.width - 10;\n };\n var fitsHorizontally = fitsHorizontally2;\n __name(fitsHorizontally2, \"fitsHorizontally\");\n const charWidthFactor = 0.7;\n const validItems = shape.data.map((d, i) => ({ data: d, label: labelData[i].toString() })).filter((item) => item.data.width > 0 && item.data.height > 0);\n const candidateFontSizes = validItems.map((item) => {\n const { data } = item;\n let fontSize = data.height * 0.7;\n while (!fitsHorizontally2(item, fontSize) && fontSize > 0) {\n fontSize -= 1;\n }\n return fontSize;\n });\n const uniformFontSize = Math.floor(Math.min(...candidateFontSizes));\n shapeGroup.selectAll(\"text\").data(validItems).enter().append(\"text\").attr(\"x\", (item) => item.data.x + item.data.width - 10).attr(\"y\", (item) => item.data.y + item.data.height / 2).attr(\"text-anchor\", \"end\").attr(\"dominant-baseline\", \"middle\").attr(\"fill\", \"black\").attr(\"font-size\", `${uniformFontSize}px`).text((item) => item.label);\n } else {\n let fitsInBar2 = function(item, fontSize, yOffset2) {\n const { data, label } = item;\n const charWidthFactor = 0.7;\n const textWidth = fontSize * label.length * charWidthFactor;\n const centerX = data.x + data.width / 2;\n const leftEdge = centerX - textWidth / 2;\n const rightEdge = centerX + textWidth / 2;\n const horizontalFits = leftEdge >= data.x && rightEdge <= data.x + data.width;\n const verticalFits = data.y + yOffset2 + fontSize <= data.y + data.height;\n return horizontalFits && verticalFits;\n };\n var fitsInBar = fitsInBar2;\n __name(fitsInBar2, \"fitsInBar\");\n const yOffset = 10;\n const validItems = shape.data.map((d, i) => ({ data: d, label: labelData[i].toString() })).filter((item) => item.data.width > 0 && item.data.height > 0);\n const candidateFontSizes = validItems.map((item) => {\n const { data, label } = item;\n let fontSize = data.width / (label.length * 0.7);\n while (!fitsInBar2(item, fontSize, yOffset) && fontSize > 0) {\n fontSize -= 1;\n }\n return fontSize;\n });\n const uniformFontSize = Math.floor(Math.min(...candidateFontSizes));\n shapeGroup.selectAll(\"text\").data(validItems).enter().append(\"text\").attr(\"x\", (item) => item.data.x + item.data.width / 2).attr(\"y\", (item) => item.data.y + yOffset).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"hanging\").attr(\"fill\", \"black\").attr(\"font-size\", `${uniformFontSize}px`).text((item) => item.label);\n }\n }\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"],"x_google_ignoreList":[0,1,2],"mappings":"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AAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE;GAAE,EAAE,GAAK,GAAK;IAAE,GAAG;IAAG,GAAG;IAAG,GAAG;IAAI,GAAG;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,CAAC;GAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,EAAE;IAAE,GAAG;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,CAAC;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE;IAAE,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE;IAAE,IAAI;IAAI,IAAI;IAAK,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE;IAAE,IAAI;IAAI,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAK;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE;IAAE,IAAI;IAAI,IAAI;IAAK;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,G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"}
1
+ {"version":3,"file":"xychartDiagram-JWTSCODW-yIaPAmwy.js","names":["sequence","scaleBand","scaleLinear","line","getThemeVariables"],"sources":["../../../../node_modules/d3-array/src/range.js","../../../../node_modules/d3-scale/src/band.js","../../../../node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-JWTSCODW.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 selectSvgElement\n} from \"./chunk-HHEYEP7N.mjs\";\nimport {\n computeDimensionOfText\n} from \"./chunk-PU5JKC2W.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-GEFDOKGD.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-7R4GIKGN.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.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 5;\n break;\n case 16:\n return 8;\n break;\n case 17:\n this.pushState(\"axis_data\");\n return \"X_AXIS\";\n break;\n case 18:\n this.pushState(\"axis_data\");\n return \"Y_AXIS\";\n break;\n case 19:\n this.pushState(\"axis_band_data\");\n return 24;\n break;\n case 20:\n return 31;\n break;\n case 21:\n this.pushState(\"data\");\n return 16;\n break;\n case 22:\n this.pushState(\"data\");\n return 18;\n break;\n case 23:\n this.pushState(\"data_inner\");\n return 24;\n break;\n case 24:\n return 27;\n break;\n case 25:\n this.popState();\n return 26;\n break;\n case 26:\n this.popState();\n break;\n case 27:\n this.pushState(\"string\");\n break;\n case 28:\n this.popState();\n break;\n case 29:\n return \"STR\";\n break;\n case 30:\n return 24;\n break;\n case 31:\n return 26;\n break;\n case 32:\n return 43;\n break;\n case 33:\n return \"COLON\";\n break;\n case 34:\n return 44;\n break;\n case 35:\n return 28;\n break;\n case 36:\n return 45;\n break;\n case 37:\n return 46;\n break;\n case 38:\n return 48;\n break;\n case 39:\n return 50;\n break;\n case 40:\n return 47;\n break;\n case 41:\n return 41;\n break;\n case 42:\n return 49;\n break;\n case 43:\n return 42;\n break;\n case 44:\n break;\n case 45:\n return 35;\n break;\n case 46:\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, /^(?:xychart\\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, 18, 21, 22, 24, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], \"inclusive\": true }, \"data\": { \"rules\": [0, 1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 21, 22, 23, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], \"inclusive\": true }, \"axis_band_data\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 21, 22, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], \"inclusive\": true }, \"axis_data\": { \"rules\": [0, 1, 2, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], \"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\": [28, 29], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 21, 22, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], \"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\");\nfunction getXYChartData() {\n return xyChartData;\n}\n__name(getXYChartData, \"getXYChartData\");\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 getXYChartData\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 const labelData = db.getXYChartData().plots[0].data.map((data) => data[1]);\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 if (chartConfig.showDataLabel) {\n if (chartConfig.chartOrientation === \"horizontal\") {\n let fitsHorizontally2 = function(item, fontSize) {\n const { data, label } = item;\n const textWidth = fontSize * label.length * charWidthFactor;\n return textWidth <= data.width - 10;\n };\n var fitsHorizontally = fitsHorizontally2;\n __name(fitsHorizontally2, \"fitsHorizontally\");\n const charWidthFactor = 0.7;\n const validItems = shape.data.map((d, i) => ({ data: d, label: labelData[i].toString() })).filter((item) => item.data.width > 0 && item.data.height > 0);\n const candidateFontSizes = validItems.map((item) => {\n const { data } = item;\n let fontSize = data.height * 0.7;\n while (!fitsHorizontally2(item, fontSize) && fontSize > 0) {\n fontSize -= 1;\n }\n return fontSize;\n });\n const uniformFontSize = Math.floor(Math.min(...candidateFontSizes));\n shapeGroup.selectAll(\"text\").data(validItems).enter().append(\"text\").attr(\"x\", (item) => item.data.x + item.data.width - 10).attr(\"y\", (item) => item.data.y + item.data.height / 2).attr(\"text-anchor\", \"end\").attr(\"dominant-baseline\", \"middle\").attr(\"fill\", \"black\").attr(\"font-size\", `${uniformFontSize}px`).text((item) => item.label);\n } else {\n let fitsInBar2 = function(item, fontSize, yOffset2) {\n const { data, label } = item;\n const charWidthFactor = 0.7;\n const textWidth = fontSize * label.length * charWidthFactor;\n const centerX = data.x + data.width / 2;\n const leftEdge = centerX - textWidth / 2;\n const rightEdge = centerX + textWidth / 2;\n const horizontalFits = leftEdge >= data.x && rightEdge <= data.x + data.width;\n const verticalFits = data.y + yOffset2 + fontSize <= data.y + data.height;\n return horizontalFits && verticalFits;\n };\n var fitsInBar = fitsInBar2;\n __name(fitsInBar2, \"fitsInBar\");\n const yOffset = 10;\n const validItems = shape.data.map((d, i) => ({ data: d, label: labelData[i].toString() })).filter((item) => item.data.width > 0 && item.data.height > 0);\n const candidateFontSizes = validItems.map((item) => {\n const { data, label } = item;\n let fontSize = data.width / (label.length * 0.7);\n while (!fitsInBar2(item, fontSize, yOffset) && fontSize > 0) {\n fontSize -= 1;\n }\n return fontSize;\n });\n const uniformFontSize = Math.floor(Math.min(...candidateFontSizes));\n shapeGroup.selectAll(\"text\").data(validItems).enter().append(\"text\").attr(\"x\", (item) => item.data.x + item.data.width / 2).attr(\"y\", (item) => item.data.y + yOffset).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"hanging\").attr(\"fill\", \"black\").attr(\"font-size\", `${uniformFontSize}px`).text((item) => item.label);\n }\n }\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"],"x_google_ignoreList":[0,1,2],"mappings":"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AAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE;GAAE,EAAE,GAAK,GAAK;IAAE,GAAG;IAAG,GAAG;IAAG,GAAG;IAAI,GAAG;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,CAAC;GAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,EAAE;IAAE,GAAG;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,CAAC;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE;IAAE,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE;IAAE,IAAI;IAAI,IAAI;IAAK,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE;IAAE,IAAI;IAAI,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAK;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE;IAAE,IAAI;IAAI,IAAI;IAAK;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,G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"}