vue-data-ui 3.0.0-next.9 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/README.md +32 -30
  2. package/dist/{Arrow-B6OlqyCG.js → Arrow-r2f8Bpd-.js} +1 -1
  3. package/dist/{BaseDraggableDialog-CA8QOk7L.js → BaseDraggableDialog-CGGcf8d8.js} +4 -4
  4. package/dist/{BaseIcon-DxUUKVlt.js → BaseIcon-CXtL10fo.js} +1 -1
  5. package/dist/{ColorPicker-Bh1dfgXt.js → ColorPicker-H91bBsqM.js} +2 -2
  6. package/dist/{DataTable--paavNqF.js → DataTable-BSSXpM7w.js} +2 -2
  7. package/dist/{Legend-BZ06qU55.js → Legend-BUk0WvWJ.js} +2 -2
  8. package/dist/{NonSvgPenAndPaper-DN9XjEHv.js → NonSvgPenAndPaper-DQDgPoW8.js} +3 -3
  9. package/dist/{PackageVersion-2QvaZf9_.js → PackageVersion-CJ6Vd7V5.js} +3 -3
  10. package/dist/{PenAndPaper-hGgW0EHz.js → PenAndPaper-D3zudcNI.js} +32 -32
  11. package/dist/{RecursiveCircles-Dn3TGoL6.js → RecursiveCircles-BcLb1aRS.js} +15 -13
  12. package/dist/RecursiveLabels-Bgcv0pzu.js +50 -0
  13. package/dist/{RecursiveLinks-ld_gDZH4.js → RecursiveLinks-00zGWPf9.js} +20 -18
  14. package/dist/{Shape-Mr1eIp_G.js → Shape-BRzOzubn.js} +43 -37
  15. package/dist/Slicer-MID8pgT3.js +602 -0
  16. package/dist/{SparkTooltip-Czhz446b.js → SparkTooltip-DATI1fGZ.js} +7 -7
  17. package/dist/{Title-B2dA6-uH.js → Title-BGu6gEd2.js} +1 -1
  18. package/dist/{Tooltip-O_hCvqgF.js → Tooltip-Bh2zYSoM.js} +23 -19
  19. package/dist/{UserOptions-Bk03FRqW.js → UserOptions-Ck8fz9f4.js} +2 -2
  20. package/dist/{dom-to-png-Bt5F9TXw.js → dom-to-png-DhIh24Ti.js} +1 -1
  21. package/dist/{img-C_9wps3s.js → img-DrR839Ot.js} +1 -1
  22. package/dist/{index-CgShIRes.js → index-BtNwOUja.js} +2885 -2010
  23. package/dist/{pdf-CXdbjyRJ.js → pdf-DoShrdT5.js} +1 -1
  24. package/dist/style.css +1 -1
  25. package/dist/types/vue-data-ui.d.cts +753 -65
  26. package/dist/types/vue-data-ui.d.ts +753 -65
  27. package/dist/useAutoSizeLabelsInsideViewbox-FmDQyX4z.js +81 -0
  28. package/dist/useFitSvgText-2crs6Fv5.js +69 -0
  29. package/dist/useLoading-D7YHNtLX.js +29 -0
  30. package/dist/useNestedProp-f2H3m6Yj.js +13 -0
  31. package/dist/usePanZoom-BVca3eMk.js +122 -0
  32. package/dist/{usePrinter-rIrqBbbm.js → usePrinter-DUNjpQNe.js} +2 -2
  33. package/dist/useTimeLabelCollider-CIsgDrl9.js +78 -0
  34. package/dist/{useTimeLabels-DG97x2hL.js → useTimeLabels-DkzmKfZn.js} +208 -156
  35. package/dist/{vue-data-ui-DiwfJSwC.js → vue-data-ui-D7QVxNhO.js} +105 -100
  36. package/dist/vue-data-ui.js +26 -25
  37. package/dist/vue-ui-3d-bar-ITaF-6Kn.js +1323 -0
  38. package/dist/{vue-ui-accordion-hlzscmAS.js → vue-ui-accordion-BKUrAowe.js} +3 -3
  39. package/dist/vue-ui-age-pyramid-DxsuDr6o.js +835 -0
  40. package/dist/{vue-ui-annotator-BHwBUNRO.js → vue-ui-annotator-B06QtxgJ.js} +12 -12
  41. package/dist/vue-ui-bullet-B7Fy45tA.js +571 -0
  42. package/dist/vue-ui-candlestick-Dw0U4uIQ.js +1000 -0
  43. package/dist/{vue-ui-carousel-table-6MTDYf-H.js → vue-ui-carousel-table-DGz0nw28.js} +29 -29
  44. package/dist/{vue-ui-chestnut-Cr6dK21e.js → vue-ui-chestnut-CFfKYm9i.js} +664 -536
  45. package/dist/vue-ui-chord-EhlQhMSs.js +1038 -0
  46. package/dist/vue-ui-circle-pack-BHrrEUUd.js +709 -0
  47. package/dist/{vue-ui-cursor-Ch5yUxNn.js → vue-ui-cursor-Dd-HtWzG.js} +2 -2
  48. package/dist/{vue-ui-dashboard-tVZ9aEHo.js → vue-ui-dashboard-6R8udDY3.js} +64 -64
  49. package/dist/{vue-ui-digits-BOlYLluF.js → vue-ui-digits-zKn3uhGN.js} +2 -2
  50. package/dist/{vue-ui-donut-BKwAnTKA.js → vue-ui-donut-BtnIwS_E.js} +431 -422
  51. package/dist/vue-ui-donut-evolution-DHo1MuMM.js +1076 -0
  52. package/dist/vue-ui-dumbbell-Czi9r9Na.js +1120 -0
  53. package/dist/vue-ui-flow-jOfM0RZY.js +841 -0
  54. package/dist/{vue-ui-funnel-CAV6A--C.js → vue-ui-funnel-tBvVpdhy.js} +16 -16
  55. package/dist/vue-ui-galaxy-IdoY2oqG.js +680 -0
  56. package/dist/vue-ui-gauge-DR6Xm_Hz.js +791 -0
  57. package/dist/vue-ui-gizmo-Dto73UsB.js +210 -0
  58. package/dist/vue-ui-heatmap-zmFv-0z1.js +1078 -0
  59. package/dist/vue-ui-history-plot-ILemyyYw.js +1074 -0
  60. package/dist/{vue-ui-kpi-DjHXc1Z9.js → vue-ui-kpi-hmqSCvxr.js} +26 -26
  61. package/dist/{vue-ui-mini-loader-C68r9wbr.js → vue-ui-mini-loader-CbD-E8ci.js} +2 -2
  62. package/dist/vue-ui-molecule-mTy6YIm6.js +656 -0
  63. package/dist/vue-ui-mood-radar-BEnSYV3Q.js +785 -0
  64. package/dist/vue-ui-nested-donuts-CGE9dmJK.js +1284 -0
  65. package/dist/vue-ui-onion-Dh2J9GV0.js +776 -0
  66. package/dist/vue-ui-parallel-coordinate-plot-xsgmMIJK.js +916 -0
  67. package/dist/{vue-ui-quadrant-ULvVhjjq.js → vue-ui-quadrant-DA0Kw6eq.js} +512 -459
  68. package/dist/vue-ui-quick-chart-DKbxF5Yt.js +1762 -0
  69. package/dist/vue-ui-radar-BFY9bN_h.js +796 -0
  70. package/dist/{vue-ui-rating-CkdVnYpj.js → vue-ui-rating-Bh35aujf.js} +2 -2
  71. package/dist/vue-ui-relation-circle-B-05kQ_l.js +598 -0
  72. package/dist/vue-ui-ridgeline-CuGfF83t.js +1157 -0
  73. package/dist/vue-ui-rings-DrQXXzAM.js +728 -0
  74. package/dist/vue-ui-scatter-CWn9c7e9.js +1178 -0
  75. package/dist/{vue-ui-skeleton-BsBaCvoE.js → vue-ui-skeleton-oG4Bm5nL.js} +13 -13
  76. package/dist/{vue-ui-smiley-B2sBY2Q-.js → vue-ui-smiley-Cnwba_gV.js} +46 -46
  77. package/dist/vue-ui-spark-trend-D9iNCf4o.js +315 -0
  78. package/dist/vue-ui-sparkbar-iJkiubZC.js +351 -0
  79. package/dist/vue-ui-sparkgauge-BH3uA5rh.js +232 -0
  80. package/dist/vue-ui-sparkhistogram-B3kR62pf.js +380 -0
  81. package/dist/vue-ui-sparkline-DczR2ZAf.js +513 -0
  82. package/dist/vue-ui-sparkstackbar-Cg0ItRGH.js +421 -0
  83. package/dist/vue-ui-stackbar-d4PrzcGS.js +1371 -0
  84. package/dist/vue-ui-strip-plot-BXBpN5rl.js +916 -0
  85. package/dist/{vue-ui-table-DaE8lQuo.js → vue-ui-table-BXOLZXuz.js} +17 -17
  86. package/dist/{vue-ui-table-heatmap--dSEG8cU.js → vue-ui-table-heatmap-7YT7VF2H.js} +5 -5
  87. package/dist/{vue-ui-table-sparkline-D4DkGvDP.js → vue-ui-table-sparkline-BfgqajJ2.js} +19 -16
  88. package/dist/vue-ui-thermometer-C7Tg6HLz.js +541 -0
  89. package/dist/{vue-ui-timer-CYXTAh6x.js → vue-ui-timer-Ch5JP1pQ.js} +5 -5
  90. package/dist/vue-ui-tiremarks-fY-4pWAK.js +406 -0
  91. package/dist/vue-ui-treemap-DTSX6suB.js +1035 -0
  92. package/dist/{vue-ui-vertical-bar-CO9eR1ty.js → vue-ui-vertical-bar-C-i2dRnU.js} +104 -102
  93. package/dist/vue-ui-waffle-BbgLlhGH.js +910 -0
  94. package/dist/vue-ui-wheel-waZf462K.js +379 -0
  95. package/dist/vue-ui-word-cloud-DtLK91Dk.js +765 -0
  96. package/dist/{vue-ui-world-P45Plcqw.js → vue-ui-world-Cx4uuwTY.js} +364 -327
  97. package/dist/vue-ui-xy-DDOT8cyx.js +3808 -0
  98. package/dist/{vue-ui-xy-canvas-DgNBgUak.js → vue-ui-xy-canvas-CUCsC8vD.js} +265 -264
  99. package/package.json +4 -4
  100. package/dist/RecursiveLabels-NTMB9w5C.js +0 -49
  101. package/dist/Slicer-3t0HimeE.js +0 -577
  102. package/dist/useLoading-Bt5Doa8m.js +0 -28
  103. package/dist/useNestedProp-BC4Ciblw.js +0 -13
  104. package/dist/usePanZoom-BQMvRXEQ.js +0 -115
  105. package/dist/vue-ui-3d-bar-BqmzX9u4.js +0 -1227
  106. package/dist/vue-ui-age-pyramid-eRPt0BJb.js +0 -746
  107. package/dist/vue-ui-bullet-BSnF2gql.js +0 -513
  108. package/dist/vue-ui-candlestick-kMbNnoYe.js +0 -873
  109. package/dist/vue-ui-chord-Dxy_bfIE.js +0 -949
  110. package/dist/vue-ui-circle-pack-I_p4FPiW.js +0 -673
  111. package/dist/vue-ui-donut-evolution-DQhZJ4Sa.js +0 -903
  112. package/dist/vue-ui-dumbbell-DdN-7b3g.js +0 -753
  113. package/dist/vue-ui-flow-MvORTthN.js +0 -765
  114. package/dist/vue-ui-galaxy-B0PLMAn8.js +0 -617
  115. package/dist/vue-ui-gauge-C4FTzDFt.js +0 -738
  116. package/dist/vue-ui-gizmo-Dl5FHFb4.js +0 -192
  117. package/dist/vue-ui-heatmap-C3dee43W.js +0 -877
  118. package/dist/vue-ui-history-plot-dqv4u1Oa.js +0 -924
  119. package/dist/vue-ui-molecule-DtRAlfhC.js +0 -597
  120. package/dist/vue-ui-mood-radar-BZj2G0zE.js +0 -670
  121. package/dist/vue-ui-nested-donuts-OqJTwMb2.js +0 -1212
  122. package/dist/vue-ui-onion-DXLokGec.js +0 -701
  123. package/dist/vue-ui-parallel-coordinate-plot-tg7QhtIE.js +0 -807
  124. package/dist/vue-ui-quick-chart-4EODniQ3.js +0 -1612
  125. package/dist/vue-ui-radar-Dt5p5oSy.js +0 -741
  126. package/dist/vue-ui-relation-circle-_SysXj9T.js +0 -542
  127. package/dist/vue-ui-ridgeline-Cs5UihNN.js +0 -969
  128. package/dist/vue-ui-rings-Duay-EmS.js +0 -685
  129. package/dist/vue-ui-scatter-C6oGQcbL.js +0 -1045
  130. package/dist/vue-ui-spark-trend-CEAqGu3d.js +0 -291
  131. package/dist/vue-ui-sparkbar-ByPUDc6x.js +0 -301
  132. package/dist/vue-ui-sparkgauge-C-GKwevJ.js +0 -201
  133. package/dist/vue-ui-sparkhistogram-Dz0DdaVW.js +0 -313
  134. package/dist/vue-ui-sparkline-BULntz_U.js +0 -459
  135. package/dist/vue-ui-sparkstackbar-DXjHOeeU.js +0 -381
  136. package/dist/vue-ui-stackbar-CeP9n7zy.js +0 -1207
  137. package/dist/vue-ui-strip-plot-CaFQkWV8.js +0 -761
  138. package/dist/vue-ui-thermometer-BXf14CYH.js +0 -495
  139. package/dist/vue-ui-tiremarks-D6hJ1cd4.js +0 -358
  140. package/dist/vue-ui-treemap-tBurCrdn.js +0 -965
  141. package/dist/vue-ui-waffle-BNzs_BxY.js +0 -863
  142. package/dist/vue-ui-wheel-tydUATi8.js +0 -352
  143. package/dist/vue-ui-word-cloud-DUUc_tj6.js +0 -659
  144. package/dist/vue-ui-xy--HToGdle.js +0 -2982
@@ -0,0 +1,835 @@
1
+ import { defineAsyncComponent as R, computed as g, ref as v, toRefs as tt, watch as Z, shallowRef as _e, onMounted as lt, onBeforeUnmount as Ae, watchEffect as at, createElementBlock as n, openBlock as i, unref as u, normalizeStyle as ee, normalizeClass as Le, createBlock as M, createCommentVNode as y, renderSlot as h, createVNode as Ce, createSlots as ot, withCtx as p, normalizeProps as P, guardReactiveProps as N, createElementVNode as d, Fragment as L, renderList as $, toDisplayString as C, createTextVNode as Te, nextTick as st } from "vue";
2
+ import { u as it, c as ut, t as nt, b as rt, o as $e, f as vt, h as f, X as dt, s as te, x as Se, k as S, i as z, v as yt, w as ht, y as ct, z as ft } from "./index-BtNwOUja.js";
3
+ import { t as ze, u as gt } from "./useResponsive-DfdjqQps.js";
4
+ import { u as Ie } from "./useNestedProp-f2H3m6Yj.js";
5
+ import { u as pt } from "./usePrinter-DUNjpQNe.js";
6
+ import { u as bt } from "./useUserOptionState-BIvW1Kz7.js";
7
+ import { u as xt } from "./useChartAccessibility-9icAAmYg.js";
8
+ import mt from "./Title-BGu6gEd2.js";
9
+ import wt from "./img-DrR839Ot.js";
10
+ import { u as kt } from "./useTimeLabelCollider-CIsgDrl9.js";
11
+ import { u as _t, B as At } from "./useLoading-D7YHNtLX.js";
12
+ import { _ as Lt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
13
+ const Ct = ["id"], Tt = ["xmlns", "viewBox"], $t = ["x", "y", "width", "height"], St = ["id"], zt = ["stop-color"], It = ["stop-color"], Ot = ["id"], Ft = ["stop-color"], Rt = ["stop-color"], Mt = ["x", "y", "width", "height", "fill", "rx"], Pt = ["x", "y", "width", "height", "fill", "rx"], Nt = ["x", "y", "width", "height", "fill", "rx"], Et = ["x", "y", "width", "height", "fill", "rx"], Dt = { key: 0 }, Bt = ["x", "y", "fill", "font-size", "font-weight"], Gt = ["x", "y", "fill", "font-size", "font-weight"], Ht = { key: 1 }, Ut = ["x", "y", "font-size", "fill", "font-weight"], Vt = { key: 2 }, Wt = { key: 0 }, Xt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], jt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Yt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], qt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Jt = ["font-size", "fill", "text-anchor", "font-weight", "transform"], Kt = ["font-size", "fill", "text-anchor", "font-weight", "transform"], Qt = ["x", "y", "font-size", "fill", "font-weight"], Zt = ["x", "y", "width", "height", "fill", "onMouseover", "onMouseleave", "onClick"], el = {
14
+ key: 4,
15
+ class: "vue-data-ui-watermark"
16
+ }, tl = {
17
+ __name: "vue-ui-age-pyramid",
18
+ props: {
19
+ config: {
20
+ type: Object,
21
+ default() {
22
+ return {};
23
+ }
24
+ },
25
+ dataset: {
26
+ type: Array,
27
+ default() {
28
+ return [];
29
+ }
30
+ }
31
+ },
32
+ setup(le, { expose: Oe }) {
33
+ const Fe = R(() => import("./vue-ui-accordion-BKUrAowe.js")), Re = R(() => import("./DataTable-BSSXpM7w.js")), Me = R(() => import("./PackageVersion-CJ6Vd7V5.js")), Pe = R(() => import("./PenAndPaper-D3zudcNI.js")), Ne = R(() => import("./Tooltip-Bh2zYSoM.js")), Ee = R(() => import("./UserOptions-Ck8fz9f4.js")), { vue_ui_age_pyramid: De } = it(), b = le, ae = g(() => !!b.dataset && b.dataset.length), w = v(ut()), Be = v(null), V = v(!1), W = v(""), D = v(null), oe = v(0), k = v(null), se = v(null), ie = v(null), ue = v(null), ne = v(0), re = v(0), X = v(null), e = v(q()), { loading: ve, FINAL_DATASET: B, manualLoading: j } = _t({
34
+ ...tt(b),
35
+ FINAL_CONFIG: e,
36
+ prepareConfig: q,
37
+ skeletonDataset: [
38
+ ["_", 9, 2, 2],
39
+ ["_", 8, 3, 3],
40
+ ["_", 7, 5, 5],
41
+ ["_", 6, 8, 8],
42
+ ["_", 5, 13, 13],
43
+ ["_", 4, 21, 21],
44
+ ["_", 3, 34, 34],
45
+ ["_", 2, 55, 55],
46
+ ["_", 1, 89, 89],
47
+ ["_", 0, 144, 144]
48
+ ],
49
+ skeletonConfig: nt({
50
+ defaultConfig: e.value,
51
+ userConfig: {
52
+ userOptions: { show: !1 },
53
+ table: { show: !1 },
54
+ translations: {
55
+ male: "",
56
+ female: ""
57
+ },
58
+ style: {
59
+ backgroundColor: "#99999930",
60
+ layout: {
61
+ bars: {
62
+ left: { color: "#CACACA" },
63
+ right: { color: "#999999" }
64
+ },
65
+ dataLabels: {
66
+ xAxis: {
67
+ fontSize: 0,
68
+ scale: 1e3,
69
+ translation: ""
70
+ },
71
+ yAxis: {
72
+ show: !1
73
+ }
74
+ },
75
+ grid: {
76
+ stroke: "#6A6A6A"
77
+ }
78
+ }
79
+ }
80
+ }
81
+ })
82
+ }), { userOptionsVisible: Y, setUserOptionsVisibility: de, keepUserOptionState: ye } = bt({ config: e.value }), { svgRef: he } = xt({ config: e.value.style.title });
83
+ function q() {
84
+ const t = Ie({
85
+ userConfig: b.config,
86
+ defaultConfig: De
87
+ });
88
+ return t.theme ? {
89
+ ...Ie({
90
+ userConfig: rt.vue_ui_age_pyramid[t.theme] || b.config,
91
+ defaultConfig: t
92
+ })
93
+ } : t;
94
+ }
95
+ Z(() => b.config, (t) => {
96
+ ve.value || (e.value = q()), Y.value = !e.value.userOptions.showOnChartHover, ce(), ne.value += 1, re.value += 1, x.value.showTable = e.value.table.show, x.value.showTooltip = e.value.style.tooltip.show;
97
+ }, { deep: !0 }), Z(() => b.dataset, (t) => {
98
+ Array.isArray(t) && t.length > 0 && (j.value = !1);
99
+ }, { deep: !0 });
100
+ const _ = _e(null), I = _e(null);
101
+ lt(() => {
102
+ ce();
103
+ });
104
+ const Ge = g(() => !!e.value.debug);
105
+ function ce() {
106
+ if ($e(b.dataset) && (vt({
107
+ componentName: "VueUiAgePyramid",
108
+ type: "dataset",
109
+ debug: Ge.value
110
+ }), j.value = !0), $e(b.dataset) || (j.value = e.value.loading), e.value.responsive) {
111
+ const t = ze(() => {
112
+ const { width: o, height: l } = gt({
113
+ chart: k.value,
114
+ title: e.value.style.title.text ? se.value : null,
115
+ source: ie.value,
116
+ noTitle: ue.value
117
+ });
118
+ requestAnimationFrame(() => {
119
+ c.value.width = o, c.value.height = l;
120
+ });
121
+ });
122
+ _.value && (I.value && _.value.unobserve(I.value), _.value.disconnect()), _.value = new ResizeObserver(t), I.value = k.value.parentNode, _.value.observe(I.value);
123
+ }
124
+ }
125
+ Ae(() => {
126
+ _.value && (I.value && _.value.unobserve(I.value), _.value.disconnect());
127
+ });
128
+ const { isPrinting: fe, isImaging: ge, generatePdf: pe, generateImage: be } = pt({
129
+ elementId: `vue-ui-age-pyramid_${w.value}`,
130
+ fileName: e.value.style.title.text || "vue-ui-age-pyramid",
131
+ options: e.value.userOptions.print
132
+ }), He = g(() => e.value.userOptions.show && !e.value.style.title.text), x = v({
133
+ showTable: e.value.table.show,
134
+ showTooltip: e.value.style.tooltip.show
135
+ });
136
+ Z(e, () => {
137
+ x.value = {
138
+ showTable: e.value.table.show,
139
+ showTooltip: e.value.style.tooltip.show
140
+ };
141
+ }, { immediate: !0 });
142
+ const c = v({
143
+ height: e.value.style.height,
144
+ width: e.value.style.width
145
+ }), Ue = g(() => c.value.width), Ve = g(() => c.value.height), G = v(0), We = ze((t) => {
146
+ G.value = t;
147
+ }, 100);
148
+ at((t) => {
149
+ const o = X.value;
150
+ if (!o) return;
151
+ const l = new ResizeObserver((a) => {
152
+ We(a[0].contentRect.height);
153
+ });
154
+ l.observe(o), t(() => l.disconnect());
155
+ }), Ae(() => {
156
+ G.value = 0;
157
+ });
158
+ const s = g(() => {
159
+ const t = c.value.width - e.value.style.layout.padding.right - e.value.style.layout.padding.left, o = e.value.style.layout.padding.left, l = c.value.width - e.value.style.layout.padding.right;
160
+ return {
161
+ top: e.value.style.layout.padding.top + e.value.style.layout.dataLabels.sideTitles.fontSize + e.value.style.layout.dataLabels.sideTitles.offsetY + 12,
162
+ left: o,
163
+ right: l,
164
+ bottom: c.value.height - e.value.style.layout.padding.bottom - G.value,
165
+ width: t,
166
+ height: c.value.height - e.value.style.layout.padding.top - e.value.style.layout.padding.bottom - G.value - e.value.style.layout.dataLabels.sideTitles.fontSize - e.value.style.layout.dataLabels.sideTitles.offsetY - 12,
167
+ centerX: e.value.style.layout.padding.left + t / 2,
168
+ leftChart: {
169
+ width: t / 2 - e.value.style.layout.centerSlit.width,
170
+ right: o + t / 2 - e.value.style.layout.centerSlit.width
171
+ },
172
+ rightChart: {
173
+ width: t / 2 - e.value.style.layout.centerSlit.width,
174
+ left: o + t / 2 + e.value.style.layout.centerSlit.width
175
+ }
176
+ };
177
+ }), Xe = g(() => B.value.map((t) => e.value.style.layout.dataLabels.yAxis.display === "age" ? t[1] : t[0])), A = g(() => {
178
+ const t = je(E.value / 5), o = [], l = [];
179
+ for (let a = 0; a <= 5; a += 1) {
180
+ const r = t * a, m = t * (a - 5);
181
+ o.push({
182
+ value: r,
183
+ x: s.value.left + s.value.width / 2 + e.value.style.layout.centerSlit.width + r / E.value * s.value.leftChart.width
184
+ }), l.push({
185
+ value: Math.abs(m),
186
+ x: s.value.left + s.value.width / 2 + m / E.value * s.value.leftChart.width - e.value.style.layout.centerSlit.width
187
+ });
188
+ }
189
+ return {
190
+ right: o,
191
+ left: l
192
+ };
193
+ });
194
+ function je(t) {
195
+ if (t === 0) return 0;
196
+ const l = 10 ** Math.floor(Math.log10(Math.abs(t)));
197
+ let a;
198
+ return t < 0, a = Math.round(t / l) * l, a;
199
+ }
200
+ const E = g(() => Math.max(...B.value.flatMap((t) => t.slice(-2).map((o) => f(o))))), O = g(() => B.value.length), Ye = g(() => B.value.map((t) => ({
201
+ segment: t[0],
202
+ age: t[1],
203
+ left: {
204
+ value: t[2],
205
+ proportionToMax: t[2] / E.value
206
+ },
207
+ right: {
208
+ value: t[3],
209
+ proportionToMax: t[3] / E.value
210
+ }
211
+ }))), T = g(() => Ye.value.map((t, o) => {
212
+ const l = s.value.top + s.value.height / O.value * o, a = s.value.height / O.value - e.value.style.layout.bars.gap;
213
+ return {
214
+ segment: t.segment,
215
+ age: t.age,
216
+ left: {
217
+ ...t.left,
218
+ y: l,
219
+ color: e.value.style.layout.bars.left.color,
220
+ x: s.value.leftChart.right - t.left.proportionToMax * s.value.leftChart.width,
221
+ width: f(t.left.proportionToMax * s.value.leftChart.width),
222
+ height: a
223
+ },
224
+ right: {
225
+ ...t.right,
226
+ y: l,
227
+ color: e.value.style.layout.bars.right.color,
228
+ x: s.value.rightChart.left,
229
+ width: f(t.right.proportionToMax * s.value.rightChart.width),
230
+ height: a
231
+ }
232
+ };
233
+ })), J = v(null);
234
+ function K(t) {
235
+ const [o, l, a, r] = t;
236
+ return { segment: o, index: l, left: a, right: r };
237
+ }
238
+ function qe(t, o) {
239
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: K(o), seriesIndex: t });
240
+ }
241
+ function Je(t, o) {
242
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: K(o), seriesIndex: t }), D.value = null, V.value = !1;
243
+ }
244
+ function Ke(t, o) {
245
+ e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: K(o), seriesIndex: t }), D.value = t, J.value = {
246
+ datapoint: o,
247
+ seriesIndex: t,
248
+ series: T.value,
249
+ config: e.value
250
+ };
251
+ const l = e.value.style.tooltip.customFormat;
252
+ if (ct(l) && ft(() => l({
253
+ seriesIndex: t,
254
+ datapoint: {
255
+ segment: o[0],
256
+ index: o[1],
257
+ left: o[2],
258
+ right: o[3]
259
+ },
260
+ series: T.value,
261
+ config: e.value
262
+ })))
263
+ W.value = l({
264
+ seriesIndex: t,
265
+ datapoint: {
266
+ segment: o[0],
267
+ index: o[1],
268
+ left: o[2],
269
+ right: o[3]
270
+ },
271
+ series: T.value,
272
+ config: e.value
273
+ });
274
+ else {
275
+ let a = "";
276
+ const r = T.value[t];
277
+ a += `<div><b>${r.segment}</b></div>`, a += `<div>${e.value.translations.age}: ${S(
278
+ e.value.style.layout.dataLabels.yAxis.formatter,
279
+ f(r.age),
280
+ z({ v: f(r.age) }),
281
+ { datapoint: o, seriesIndex: t }
282
+ )}</div>`, a += `<div style="margin-top:6px;padding-top:6px;border-top:1px solid ${e.value.style.tooltip.borderColor}">`, a += '<div style="display:flex; flex-direction:row;gap:12px">', a += `<div style="display:flex;flex-direction:column;align-items:center;justify-content:center"><svg viewBox="0 0 12 12" height="12" width="12"><rect stroke="none" x="0" y="0" height="12" width="12" rx="2" fill="${e.value.style.layout.bars.gradient.underlayer}"/><rect stroke="none" x="0" y="0" height="12" width="12" rx="2" fill="${e.value.style.layout.bars.gradient.show ? `url(#age_pyramid_left_${w.value})` : e.value.style.layout.bars.left.color}"/></svg><div>${e.value.translations.female}</div><div><b>${S(
283
+ e.value.style.layout.dataLabels.xAxis.formatter,
284
+ f(r.left.value),
285
+ z({ v: f(r.left.value) }),
286
+ { datapoint: o, seriesIndex: t }
287
+ )}</b></div></div>`, a += `<div style="display:flex;flex-direction:column;align-items:center;justify-content:center"><svg viewBox="0 0 12 12" height="12" width="12"><rect stroke="none" x="0" y="0" height="12" width="12" rx="2" fill="${e.value.style.layout.bars.gradient.underlayer}"/><rect stroke="none" x="0" y="0" height="12" width="12" rx="2" fill="${e.value.style.layout.bars.gradient.show ? `url(#age_pyramid_right_${w.value})` : e.value.style.layout.bars.right.color}"/></svg><div>${e.value.translations.male}</div><div><b>${S(
288
+ e.value.style.layout.dataLabels.xAxis.formatter,
289
+ f(r.right.value),
290
+ z({ v: f(r.right.value) }),
291
+ { datapoint: o, seriesIndex: t }
292
+ )}</b></div></div>`, a += "</div>", a += `<div style="margin-top:6px;padding-top:6px;border-top:1px solid ${e.value.style.tooltip.borderColor}"><div>${e.value.translations.total}</div><div><b>${S(
293
+ e.value.style.layout.dataLabels.xAxis.formatter,
294
+ f(r.right.value) + f(r.left.value),
295
+ z({ v: f(r.right.value) + f(r.left.value) }),
296
+ { datapoint: o, seriesIndex: t }
297
+ )}</b></div></div>`, a += "</div>", W.value = `<div>${a}</div>`;
298
+ }
299
+ V.value = !0;
300
+ }
301
+ function xe(t = null) {
302
+ st(() => {
303
+ const o = [e.value.translations.year, e.value.translations.age, e.value.translations.female, e.value.translations.male, e.value.translations.total], l = b.dataset.map((m) => [
304
+ m[0],
305
+ m[1],
306
+ m[2],
307
+ m[3],
308
+ m[2] ?? 0 + m[3] ?? 0
309
+ ]), a = [[e.value.style.title.text], [e.value.style.title.subtitle.text], [[""], [""], [""]]].concat([o]).concat(l), r = yt(a);
310
+ t ? t(r) : ht({ csvContent: r, title: e.value.style.title.text || "vue-ui-heatmap" });
311
+ });
312
+ }
313
+ const H = g(() => {
314
+ const t = [
315
+ e.value.translations.year,
316
+ e.value.translations.age,
317
+ e.value.translations.female,
318
+ e.value.translations.male,
319
+ e.value.translations.total
320
+ ], o = b.dataset.map((a) => [
321
+ a[0],
322
+ a[1],
323
+ a[2] == null ? "" : a[2].toLocaleString(),
324
+ a[3] == null ? "" : a[3].toLocaleString(),
325
+ (a[2] ?? 0 + a[3] ?? 0).toLocaleString()
326
+ ]), l = {
327
+ th: {
328
+ backgroundColor: e.value.table.th.backgroundColor,
329
+ color: e.value.table.th.color,
330
+ outline: e.value.table.th.outline
331
+ },
332
+ td: {
333
+ backgroundColor: e.value.table.td.backgroundColor,
334
+ color: e.value.table.td.color,
335
+ outline: e.value.table.td.outline
336
+ },
337
+ breakpoint: e.value.table.responsiveBreakpoint
338
+ };
339
+ return { head: t, body: o, config: l, colNames: t };
340
+ }), F = v(!1);
341
+ function me(t) {
342
+ F.value = t, oe.value += 1;
343
+ }
344
+ function we() {
345
+ x.value.showTable = !x.value.showTable;
346
+ }
347
+ function ke() {
348
+ x.value.showTooltip = !x.value.showTooltip;
349
+ }
350
+ const U = v(!1);
351
+ function Q() {
352
+ U.value = !U.value;
353
+ }
354
+ async function Qe({ scale: t = 2 } = {}) {
355
+ if (!k.value) return;
356
+ const { width: o, height: l } = k.value.getBoundingClientRect(), a = o / l, { imageUri: r, base64: m } = await wt({ domElement: k.value, base64: !0, img: !0, scale: t });
357
+ return {
358
+ imageUri: r,
359
+ base64: m,
360
+ title: e.value.style.title.text,
361
+ width: o,
362
+ height: l,
363
+ aspectRatio: a
364
+ };
365
+ }
366
+ const Ze = v([]), et = v({ start: 0, end: T.value.length });
367
+ return kt({
368
+ timeLabelsEls: X,
369
+ timeLabels: Ze,
370
+ slicer: et,
371
+ configRef: e,
372
+ rotationPath: ["style", "layout", "dataLabels", "xAxis", "rotation"],
373
+ autoRotatePath: ["style", "layout", "dataLabels", "xAxis", "autoRotate", "enable"],
374
+ isAutoSize: !1,
375
+ width: Ue,
376
+ height: Ve,
377
+ targetClass: ".vue-ui-age-pyramid-x-axis-label",
378
+ rotation: e.value.style.layout.dataLabels.xAxis.autoRotate.angle
379
+ }), Oe({
380
+ getImage: Qe,
381
+ generatePdf: pe,
382
+ generateCsv: xe,
383
+ generateImage: be,
384
+ toggleTable: we,
385
+ toggleTooltip: ke,
386
+ toggleAnnotator: Q,
387
+ toggleFullscreen: me
388
+ }), (t, o) => (i(), n("div", {
389
+ class: Le(`vue-ui-age-pyramid ${F.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
390
+ ref_key: "agePyramid",
391
+ ref: k,
392
+ id: `vue-ui-age-pyramid_${w.value}`,
393
+ style: ee(`font-family:${e.value.style.fontFamily};width:100%; text-align:center;background:${e.value.style.backgroundColor};${e.value.responsive ? "height:100%" : ""}`),
394
+ onMouseenter: o[1] || (o[1] = () => u(de)(!0)),
395
+ onMouseleave: o[2] || (o[2] = () => u(de)(!1))
396
+ }, [
397
+ e.value.userOptions.buttons.annotator ? (i(), M(u(Pe), {
398
+ key: 0,
399
+ svgRef: u(he),
400
+ backgroundColor: e.value.style.backgroundColor,
401
+ color: e.value.style.color,
402
+ active: U.value,
403
+ onClose: Q
404
+ }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : y("", !0),
405
+ He.value ? (i(), n("div", {
406
+ key: 1,
407
+ ref_key: "noTitle",
408
+ ref: ue,
409
+ class: "vue-data-ui-no-title-space",
410
+ style: "height:36px; width: 100%;background:transparent"
411
+ }, null, 512)) : y("", !0),
412
+ e.value.style.title.text ? (i(), n("div", {
413
+ key: 2,
414
+ ref_key: "chartTitle",
415
+ ref: se,
416
+ style: "width:100%;background:transparent"
417
+ }, [
418
+ (i(), M(mt, {
419
+ key: `title_${ne.value}`,
420
+ config: {
421
+ title: {
422
+ cy: "pyramid-div-title",
423
+ ...e.value.style.title
424
+ },
425
+ subtitle: {
426
+ cy: "pyramid-div-subtitle",
427
+ ...e.value.style.title.subtitle
428
+ }
429
+ }
430
+ }, null, 8, ["config"]))
431
+ ], 512)) : y("", !0),
432
+ e.value.userOptions.show && ae.value && (u(ye) || u(Y)) ? (i(), M(u(Ee), {
433
+ ref_key: "details",
434
+ ref: Be,
435
+ key: `user_options_${oe.value}`,
436
+ backgroundColor: e.value.style.backgroundColor,
437
+ color: e.value.style.color,
438
+ isImaging: u(ge),
439
+ isPrinting: u(fe),
440
+ uid: w.value,
441
+ hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.tooltip.show,
442
+ hasPdf: e.value.userOptions.buttons.pdf,
443
+ hasXls: e.value.userOptions.buttons.csv,
444
+ hasImg: e.value.userOptions.buttons.img,
445
+ hasTable: e.value.userOptions.buttons.table,
446
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
447
+ isFullscreen: F.value,
448
+ isTooltip: x.value.showTooltip,
449
+ titles: { ...e.value.userOptions.buttonTitles },
450
+ chartElement: k.value,
451
+ position: e.value.userOptions.position,
452
+ hasAnnotator: e.value.userOptions.buttons.annotator,
453
+ isAnnotation: U.value,
454
+ callbacks: e.value.userOptions.callbacks,
455
+ printScale: e.value.userOptions.print.scale,
456
+ onToggleFullscreen: me,
457
+ onGeneratePdf: u(pe),
458
+ onGenerateCsv: xe,
459
+ onGenerateImage: u(be),
460
+ onToggleTable: we,
461
+ onToggleTooltip: ke,
462
+ onToggleAnnotator: Q,
463
+ style: ee({
464
+ visibility: u(ye) ? u(Y) ? "visible" : "hidden" : "visible"
465
+ })
466
+ }, ot({ _: 2 }, [
467
+ t.$slots.menuIcon ? {
468
+ name: "menuIcon",
469
+ fn: p(({ isOpen: l, color: a }) => [
470
+ h(t.$slots, "menuIcon", P(N({ isOpen: l, color: a })), void 0, !0)
471
+ ]),
472
+ key: "0"
473
+ } : void 0,
474
+ t.$slots.optionTooltip ? {
475
+ name: "optionTooltip",
476
+ fn: p(() => [
477
+ h(t.$slots, "optionTooltip", {}, void 0, !0)
478
+ ]),
479
+ key: "1"
480
+ } : void 0,
481
+ t.$slots.optionPdf ? {
482
+ name: "optionPdf",
483
+ fn: p(() => [
484
+ h(t.$slots, "optionPdf", {}, void 0, !0)
485
+ ]),
486
+ key: "2"
487
+ } : void 0,
488
+ t.$slots.optionCsv ? {
489
+ name: "optionCsv",
490
+ fn: p(() => [
491
+ h(t.$slots, "optionCsv", {}, void 0, !0)
492
+ ]),
493
+ key: "3"
494
+ } : void 0,
495
+ t.$slots.optionImg ? {
496
+ name: "optionImg",
497
+ fn: p(() => [
498
+ h(t.$slots, "optionImg", {}, void 0, !0)
499
+ ]),
500
+ key: "4"
501
+ } : void 0,
502
+ t.$slots.optionTable ? {
503
+ name: "optionTable",
504
+ fn: p(() => [
505
+ h(t.$slots, "optionTable", {}, void 0, !0)
506
+ ]),
507
+ key: "5"
508
+ } : void 0,
509
+ t.$slots.optionFullscreen ? {
510
+ name: "optionFullscreen",
511
+ fn: p(({ toggleFullscreen: l, isFullscreen: a }) => [
512
+ h(t.$slots, "optionFullscreen", P(N({ toggleFullscreen: l, isFullscreen: a })), void 0, !0)
513
+ ]),
514
+ key: "6"
515
+ } : void 0,
516
+ t.$slots.optionAnnotator ? {
517
+ name: "optionAnnotator",
518
+ fn: p(({ toggleAnnotator: l, isAnnotator: a }) => [
519
+ h(t.$slots, "optionAnnotator", P(N({ toggleAnnotator: l, isAnnotator: a })), void 0, !0)
520
+ ]),
521
+ key: "7"
522
+ } : void 0
523
+ ]), 1032, ["backgroundColor", "color", "isImaging", "isPrinting", "uid", "hasTooltip", "hasPdf", "hasXls", "hasImg", "hasTable", "hasFullscreen", "isFullscreen", "isTooltip", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : y("", !0),
524
+ (i(), n("svg", {
525
+ ref_key: "svgRef",
526
+ ref: he,
527
+ xmlns: u(dt),
528
+ class: Le({ "vue-data-ui-fullscreen--on": F.value, "vue-data-ui-fulscreen--off": !F.value }),
529
+ viewBox: `0 0 ${c.value.width <= 0 ? 10 : c.value.width} ${c.value.height <= 0 ? 10 : c.value.height}`,
530
+ style: ee(`max-width:100%;overflow:visible;background:transparent;color:${e.value.style.color}`)
531
+ }, [
532
+ Ce(u(Me)),
533
+ t.$slots["chart-background"] ? (i(), n("foreignObject", {
534
+ key: 0,
535
+ x: s.value.left,
536
+ y: s.value.top,
537
+ width: Math.max(0.1, s.value.width),
538
+ height: Math.max(0.1, s.value.height),
539
+ style: {
540
+ pointerEvents: "none"
541
+ }
542
+ }, [
543
+ h(t.$slots, "chart-background", {}, void 0, !0)
544
+ ], 8, $t)) : y("", !0),
545
+ d("defs", null, [
546
+ d("linearGradient", {
547
+ id: `age_pyramid_left_${w.value}`,
548
+ x1: "0%",
549
+ y1: "0%",
550
+ x2: "100%",
551
+ y2: "0%"
552
+ }, [
553
+ d("stop", {
554
+ offset: "0%",
555
+ "stop-color": e.value.style.layout.bars.left.color
556
+ }, null, 8, zt),
557
+ d("stop", {
558
+ offset: "100%",
559
+ "stop-color": u(te)(u(Se)(e.value.style.layout.bars.left.color, e.value.style.layout.bars.gradient.shiftHue), 100 - e.value.style.layout.bars.gradient.intensity)
560
+ }, null, 8, It)
561
+ ], 8, St),
562
+ d("linearGradient", {
563
+ id: `age_pyramid_right_${w.value}`,
564
+ x1: "0%",
565
+ y1: "0%",
566
+ x2: "100%",
567
+ y2: "0%"
568
+ }, [
569
+ d("stop", {
570
+ offset: "0%",
571
+ "stop-color": u(te)(u(Se)(e.value.style.layout.bars.right.color, e.value.style.layout.bars.gradient.shiftHue), 100 - e.value.style.layout.bars.gradient.intensity)
572
+ }, null, 8, Ft),
573
+ d("stop", {
574
+ offset: "100%",
575
+ "stop-color": e.value.style.layout.bars.right.color
576
+ }, null, 8, Rt)
577
+ ], 8, Ot)
578
+ ]),
579
+ (i(!0), n(L, null, $(T.value, (l, a) => (i(), n("g", null, [
580
+ d("rect", {
581
+ x: l.left.x,
582
+ y: l.left.y,
583
+ width: u(f)(l.left.width <= 0 ? 1e-4 : l.left.width),
584
+ height: l.left.height <= 0 ? 1e-4 : l.left.height,
585
+ fill: e.value.style.layout.bars.gradient.underlayer,
586
+ rx: e.value.style.layout.bars.borderRadius
587
+ }, null, 8, Mt),
588
+ d("rect", {
589
+ x: l.left.x,
590
+ y: l.left.y,
591
+ width: l.left.width <= 0 ? 1e-4 : l.left.width,
592
+ height: l.left.height <= 0 ? 1e-4 : l.left.height,
593
+ fill: e.value.style.layout.bars.gradient.show ? `url(#age_pyramid_left_${w.value})` : l.left.color,
594
+ rx: e.value.style.layout.bars.borderRadius
595
+ }, null, 8, Pt),
596
+ d("rect", {
597
+ x: l.right.x,
598
+ y: l.right.y,
599
+ width: l.right.width <= 0 ? 1e-4 : l.right.width,
600
+ height: l.right.height <= 0 ? 1e-4 : l.right.height,
601
+ fill: e.value.style.layout.bars.gradient.underlayer,
602
+ rx: e.value.style.layout.bars.borderRadius
603
+ }, null, 8, Nt),
604
+ d("rect", {
605
+ x: l.right.x,
606
+ y: l.right.y,
607
+ width: l.right.width <= 0 ? 1e-4 : l.right.width,
608
+ height: l.right.height <= 0 ? 1e-4 : l.right.height,
609
+ fill: e.value.style.layout.bars.gradient.show ? `url(#age_pyramid_right_${w.value})` : l.right.color,
610
+ rx: e.value.style.layout.bars.borderRadius
611
+ }, null, 8, Et)
612
+ ]))), 256)),
613
+ d("g", null, [
614
+ e.value.style.layout.dataLabels.sideTitles.show ? (i(), n("g", Dt, [
615
+ d("text", {
616
+ x: s.value.left,
617
+ y: e.value.style.layout.dataLabels.sideTitles.fontSize,
618
+ fill: e.value.style.layout.dataLabels.sideTitles.useSideColor ? e.value.style.layout.bars.left.color : e.value.style.layout.dataLabels.sideTitles.color,
619
+ "font-size": e.value.style.layout.dataLabels.sideTitles.fontSize,
620
+ "text-anchor": "start",
621
+ "font-weight": e.value.style.layout.dataLabels.sideTitles.bold ? "bold" : "normal"
622
+ }, C(e.value.translations.female), 9, Bt),
623
+ d("text", {
624
+ x: s.value.right,
625
+ y: e.value.style.layout.dataLabels.sideTitles.fontSize,
626
+ fill: e.value.style.layout.dataLabels.sideTitles.useSideColor ? e.value.style.layout.bars.right.color : e.value.style.layout.dataLabels.sideTitles.color,
627
+ "font-size": e.value.style.layout.dataLabels.sideTitles.fontSize,
628
+ "text-anchor": "end",
629
+ "font-weight": e.value.style.layout.dataLabels.sideTitles.bold ? "bold" : "normal"
630
+ }, C(e.value.translations.male), 9, Gt)
631
+ ])) : y("", !0),
632
+ e.value.style.layout.dataLabels.yAxis.show ? (i(), n("g", Ht, [
633
+ (i(!0), n(L, null, $(Xe.value, (l, a) => (i(), n(L, null, [
634
+ a % e.value.style.layout.dataLabels.yAxis.showEvery === 0 ? (i(), n("text", {
635
+ key: 0,
636
+ x: s.value.centerX,
637
+ y: s.value.top + s.value.height / O.value * a + e.value.style.layout.dataLabels.yAxis.fontSize / 3,
638
+ "text-anchor": "middle",
639
+ "font-size": e.value.style.layout.dataLabels.yAxis.fontSize,
640
+ fill: e.value.style.layout.dataLabels.yAxis.color,
641
+ "font-weight": e.value.style.layout.dataLabels.yAxis.bold ? "bold" : "normal"
642
+ }, C(u(S)(
643
+ e.value.style.layout.dataLabels.yAxis.formatter,
644
+ l,
645
+ u(z)({ v: l }),
646
+ { datapoint: l, seriesIndex: a }
647
+ )), 9, Ut)) : y("", !0)
648
+ ], 64))), 256))
649
+ ])) : y("", !0),
650
+ e.value.style.layout.dataLabels.xAxis.show ? (i(), n("g", Vt, [
651
+ e.value.style.layout.grid.show ? (i(), n("g", Wt, [
652
+ d("line", {
653
+ x1: A.value.right[0].x,
654
+ x2: A.value.right.at(-1).x,
655
+ y1: s.value.bottom + e.value.style.layout.dataLabels.xAxis.fontSize / 2,
656
+ y2: s.value.bottom + e.value.style.layout.dataLabels.xAxis.fontSize / 2,
657
+ stroke: e.value.style.layout.grid.stroke,
658
+ "stroke-width": e.value.style.layout.grid.strokeWidth,
659
+ "stroke-linecap": "round"
660
+ }, null, 8, Xt),
661
+ d("line", {
662
+ x1: A.value.left[0].x,
663
+ x2: A.value.left.at(-1).x,
664
+ y1: s.value.bottom + e.value.style.layout.dataLabels.xAxis.fontSize / 2,
665
+ y2: s.value.bottom + e.value.style.layout.dataLabels.xAxis.fontSize / 2,
666
+ stroke: e.value.style.layout.grid.stroke,
667
+ "stroke-width": e.value.style.layout.grid.strokeWidth,
668
+ "stroke-linecap": "round"
669
+ }, null, 8, jt)
670
+ ])) : y("", !0),
671
+ (i(!0), n(L, null, $(A.value.right, (l, a) => (i(), n("g", null, [
672
+ e.value.style.layout.grid.show ? (i(), n("line", {
673
+ key: 0,
674
+ x1: l.x,
675
+ x2: l.x,
676
+ y1: s.value.bottom + e.value.style.layout.dataLabels.xAxis.fontSize / 2,
677
+ y2: s.value.bottom + e.value.style.layout.dataLabels.xAxis.fontSize / 2 + 4,
678
+ stroke: e.value.style.layout.grid.stroke,
679
+ "stroke-width": e.value.style.layout.grid.strokeWidth,
680
+ "stroke-linecap": "round"
681
+ }, null, 8, Yt)) : y("", !0)
682
+ ]))), 256)),
683
+ (i(!0), n(L, null, $(A.value.left, (l, a) => (i(), n("g", null, [
684
+ e.value.style.layout.grid.show ? (i(), n("line", {
685
+ key: 0,
686
+ x1: l.x,
687
+ x2: l.x,
688
+ y1: s.value.bottom + e.value.style.layout.dataLabels.xAxis.fontSize / 2,
689
+ y2: s.value.bottom + e.value.style.layout.dataLabels.xAxis.fontSize / 2 + 4,
690
+ stroke: e.value.style.layout.grid.stroke,
691
+ "stroke-width": e.value.style.layout.grid.strokeWidth,
692
+ "stroke-linecap": "round"
693
+ }, null, 8, qt)) : y("", !0)
694
+ ]))), 256)),
695
+ d("g", {
696
+ ref_key: "xAxisLabels",
697
+ ref: X
698
+ }, [
699
+ (i(!0), n(L, null, $(A.value.right, (l, a) => (i(), n("text", {
700
+ class: "vue-ui-age-pyramid-x-axis-label",
701
+ "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
702
+ fill: e.value.style.layout.dataLabels.xAxis.color,
703
+ "text-anchor": e.value.style.layout.dataLabels.xAxis.rotation > 0 ? "start" : e.value.style.layout.dataLabels.xAxis.rotation < 0 ? "end" : "middle",
704
+ "font-weight": e.value.style.layout.dataLabels.xAxis.bold ? "bold" : "normal",
705
+ transform: `translate(${l.x}, ${s.value.bottom + e.value.style.layout.dataLabels.xAxis.fontSize * 2}) rotate(${e.value.style.layout.dataLabels.xAxis.rotation})`
706
+ }, C(u(S)(
707
+ e.value.style.layout.dataLabels.xAxis.formatter,
708
+ l.value / e.value.style.layout.dataLabels.xAxis.scale,
709
+ u(z)({
710
+ v: l.value / e.value.style.layout.dataLabels.xAxis.scale
711
+ }),
712
+ { datapoint: l, seriesIndex: a }
713
+ )), 9, Jt))), 256)),
714
+ (i(!0), n(L, null, $(A.value.left, (l, a) => (i(), n("text", {
715
+ class: "vue-ui-age-pyramid-x-axis-label",
716
+ "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
717
+ fill: e.value.style.layout.dataLabels.xAxis.color,
718
+ "text-anchor": e.value.style.layout.dataLabels.xAxis.rotation > 0 ? "start" : e.value.style.layout.dataLabels.xAxis.rotation < 0 ? "end" : "middle",
719
+ "font-weight": e.value.style.layout.dataLabels.xAxis.bold ? "bold" : "normal",
720
+ transform: `translate(${l.x}, ${s.value.bottom + e.value.style.layout.dataLabels.xAxis.fontSize * 2}) rotate(${e.value.style.layout.dataLabels.xAxis.rotation})`
721
+ }, C(u(S)(
722
+ e.value.style.layout.dataLabels.xAxis.formatter,
723
+ l.value / e.value.style.layout.dataLabels.xAxis.scale,
724
+ u(z)({
725
+ v: l.value / e.value.style.layout.dataLabels.xAxis.scale
726
+ }),
727
+ { datapoint: l, seriesIndex: a }
728
+ )), 9, Kt))), 256))
729
+ ], 512),
730
+ d("text", {
731
+ x: s.value.right,
732
+ y: c.value.height,
733
+ "text-anchor": "end",
734
+ "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
735
+ fill: e.value.style.layout.dataLabels.xAxis.color,
736
+ "font-weight": e.value.style.layout.dataLabels.xAxis.bold ? "bold" : "normal"
737
+ }, C(e.value.style.layout.dataLabels.xAxis.translation), 9, Qt)
738
+ ])) : y("", !0)
739
+ ]),
740
+ (i(!0), n(L, null, $(le.dataset, (l, a) => (i(), n("g", null, [
741
+ d("rect", {
742
+ x: s.value.left,
743
+ y: s.value.top + s.value.height / O.value * a - e.value.style.layout.bars.gap / 2,
744
+ width: s.value.width <= 0 ? 1e-4 : s.value.width,
745
+ height: s.value.height / O.value <= 0 ? 1e-4 : s.value.height / O.value,
746
+ fill: D.value !== null && D.value === a ? u(te)(e.value.style.highlighter.color, e.value.style.highlighter.opacity) : "transparent",
747
+ onMouseover: (r) => Ke(a, l),
748
+ onMouseleave: (r) => Je(a, l),
749
+ onClick: (r) => qe(a, l)
750
+ }, null, 40, Zt)
751
+ ]))), 256)),
752
+ h(t.$slots, "svg", { svg: c.value }, void 0, !0)
753
+ ], 14, Tt)),
754
+ t.$slots.watermark ? (i(), n("div", el, [
755
+ h(t.$slots, "watermark", P(N({ isPrinting: u(fe) || u(ge) })), void 0, !0)
756
+ ])) : y("", !0),
757
+ h(t.$slots, "legend", { legend: T.value }, void 0, !0),
758
+ t.$slots.source ? (i(), n("div", {
759
+ key: 5,
760
+ ref_key: "source",
761
+ ref: ie,
762
+ dir: "auto"
763
+ }, [
764
+ h(t.$slots, "source", {}, void 0, !0)
765
+ ], 512)) : y("", !0),
766
+ Ce(u(Ne), {
767
+ show: x.value.showTooltip && V.value,
768
+ backgroundColor: e.value.style.tooltip.backgroundColor,
769
+ color: e.value.style.tooltip.color,
770
+ borderRadius: e.value.style.tooltip.borderRadius,
771
+ borderColor: e.value.style.tooltip.borderColor,
772
+ borderWidth: e.value.style.tooltip.borderWidth,
773
+ fontSize: e.value.style.tooltip.fontSize,
774
+ backgroundOpacity: e.value.style.tooltip.backgroundOpacity,
775
+ position: e.value.style.tooltip.position,
776
+ offsetY: e.value.style.tooltip.offsetY,
777
+ parent: k.value,
778
+ content: W.value,
779
+ isFullscreen: F.value,
780
+ isCustom: e.value.style.tooltip.customFormat && typeof e.value.style.tooltip.customFormat == "function",
781
+ smooth: e.value.style.tooltip.smooth,
782
+ backdropFilter: e.value.style.tooltip.backdropFilter
783
+ }, {
784
+ "tooltip-before": p(() => [
785
+ h(t.$slots, "tooltip-before", P(N({ ...J.value })), void 0, !0)
786
+ ]),
787
+ "tooltip-after": p(() => [
788
+ h(t.$slots, "tooltip-after", P(N({ ...J.value })), void 0, !0)
789
+ ]),
790
+ _: 3
791
+ }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter"]),
792
+ ae.value ? (i(), M(u(Fe), {
793
+ key: 6,
794
+ hideDetails: "",
795
+ config: {
796
+ open: x.value.showTable,
797
+ maxHeight: 1e4,
798
+ body: {
799
+ backgroundColor: e.value.style.backgroundColor,
800
+ color: e.value.style.color
801
+ },
802
+ head: {
803
+ backgroundColor: e.value.style.backgroundColor,
804
+ color: e.value.style.color
805
+ }
806
+ }
807
+ }, {
808
+ content: p(() => [
809
+ (i(), M(u(Re), {
810
+ key: `table_${re.value}`,
811
+ colNames: H.value.colNames,
812
+ head: H.value.head,
813
+ body: H.value.body,
814
+ config: H.value.config,
815
+ title: `${e.value.style.title.text}${e.value.style.title.subtitle.text ? ` : ${e.value.style.title.subtitle.text}` : ""}`,
816
+ onClose: o[0] || (o[0] = (l) => x.value.showTable = !1)
817
+ }, {
818
+ th: p(({ th: l }) => [
819
+ Te(C(l), 1)
820
+ ]),
821
+ td: p(({ td: l }) => [
822
+ Te(C(l), 1)
823
+ ]),
824
+ _: 1
825
+ }, 8, ["colNames", "head", "body", "config", "title"]))
826
+ ]),
827
+ _: 1
828
+ }, 8, ["config"])) : y("", !0),
829
+ u(ve) ? (i(), M(At, { key: 7 })) : y("", !0)
830
+ ], 46, Ct));
831
+ }
832
+ }, cl = /* @__PURE__ */ Lt(tl, [["__scopeId", "data-v-3cd08557"]]);
833
+ export {
834
+ cl as default
835
+ };