vue-data-ui 3.8.5 → 3.9.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 (155) hide show
  1. package/README.md +8 -4
  2. package/dist/{BaseDraggableDialog-C2wzOVzX.js → BaseDraggableDialog-B6wHUQPl.js} +1 -1
  3. package/dist/{BaseIcon-_2VlkSHq.js → BaseIcon-CQaciFyv.js} +3 -2
  4. package/dist/BaseScanner-BMpwQAfz.js +30 -0
  5. package/dist/BaseZoomControls-AMmyXEyM.js +110 -0
  6. package/dist/{ColorPicker-Y-VfX-24.js → ColorPicker-nZHFmXUV.js} +1 -1
  7. package/dist/{DataTable-CokMin24.js → DataTable-C8cgUUyx.js} +1 -1
  8. package/dist/{NonSvgPenAndPaper-ir3Z1ZAu.js → NonSvgPenAndPaper-CVjActC2.js} +2 -2
  9. package/dist/{PackageVersion-DU6pdQRM.js → PackageVersion-DXy-wfBa.js} +1 -1
  10. package/dist/{PenAndPaper-CFRubEEG.js → PenAndPaper-DtbXViIl.js} +2 -2
  11. package/dist/{Slicer-CVcdknEx.js → Slicer-DtlEs698.js} +1 -1
  12. package/dist/{SlicerPreview-C1EQEgYE.js → SlicerPreview-DmzwkUJ4.js} +1 -1
  13. package/dist/{Title-m5US8voB.js → Title-osQjQYc-.js} +1 -1
  14. package/dist/{UserOptions-M5A9w5GL.js → UserOptions-DeiXBImO.js} +1 -1
  15. package/dist/components/vue-ui-3d-bar.js +1 -1
  16. package/dist/components/vue-ui-accordion.js +1 -1
  17. package/dist/components/vue-ui-age-pyramid.js +1 -1
  18. package/dist/components/vue-ui-annotator.js +1 -1
  19. package/dist/components/vue-ui-bullet.js +1 -1
  20. package/dist/components/vue-ui-candlestick.js +1 -1
  21. package/dist/components/vue-ui-carousel-table.js +1 -1
  22. package/dist/components/vue-ui-chestnut.js +1 -1
  23. package/dist/components/vue-ui-chord.js +1 -1
  24. package/dist/components/vue-ui-circle-pack.js +1 -1
  25. package/dist/components/vue-ui-cursor.js +1 -1
  26. package/dist/components/vue-ui-dag.js +1 -1
  27. package/dist/components/vue-ui-dashboard.js +1 -1
  28. package/dist/components/vue-ui-digits.js +1 -1
  29. package/dist/components/vue-ui-donut-evolution.js +1 -1
  30. package/dist/components/vue-ui-donut.js +1 -1
  31. package/dist/components/vue-ui-dumbbell.js +1 -1
  32. package/dist/components/vue-ui-flow.js +1 -1
  33. package/dist/components/vue-ui-funnel.js +1 -1
  34. package/dist/components/vue-ui-galaxy.js +1 -1
  35. package/dist/components/vue-ui-gauge.js +1 -1
  36. package/dist/components/vue-ui-geo.js +5 -0
  37. package/dist/components/vue-ui-gizmo.js +1 -1
  38. package/dist/components/vue-ui-heatmap.js +1 -1
  39. package/dist/components/vue-ui-history-plot.js +1 -1
  40. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  41. package/dist/components/vue-ui-icon.js +1 -1
  42. package/dist/components/vue-ui-kpi.js +1 -1
  43. package/dist/components/vue-ui-mini-loader.js +1 -1
  44. package/dist/components/vue-ui-molecule.js +1 -1
  45. package/dist/components/vue-ui-mood-radar.js +1 -1
  46. package/dist/components/vue-ui-nested-donuts.js +1 -1
  47. package/dist/components/vue-ui-onion.js +1 -1
  48. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  49. package/dist/components/vue-ui-quadrant.js +1 -1
  50. package/dist/components/vue-ui-quick-chart.js +1 -1
  51. package/dist/components/vue-ui-radar.js +1 -1
  52. package/dist/components/vue-ui-rating.js +1 -1
  53. package/dist/components/vue-ui-relation-circle.js +1 -1
  54. package/dist/components/vue-ui-ridgeline.js +1 -1
  55. package/dist/components/vue-ui-rings.js +1 -1
  56. package/dist/components/vue-ui-scatter.js +1 -1
  57. package/dist/components/vue-ui-skeleton.js +1 -1
  58. package/dist/components/vue-ui-smiley.js +1 -1
  59. package/dist/components/vue-ui-spark-trend.js +1 -1
  60. package/dist/components/vue-ui-sparkbar.js +1 -1
  61. package/dist/components/vue-ui-sparkgauge.js +1 -1
  62. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  63. package/dist/components/vue-ui-sparkline.js +1 -1
  64. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  65. package/dist/components/vue-ui-stackbar.js +1 -1
  66. package/dist/components/vue-ui-stackline.js +1 -1
  67. package/dist/components/vue-ui-strip-plot.js +1 -1
  68. package/dist/components/vue-ui-table-heatmap.js +1 -1
  69. package/dist/components/vue-ui-table-sparkline.js +1 -1
  70. package/dist/components/vue-ui-table.js +1 -1
  71. package/dist/components/vue-ui-thermometer.js +1 -1
  72. package/dist/components/vue-ui-timer.js +1 -1
  73. package/dist/components/vue-ui-tiremarks.js +1 -1
  74. package/dist/components/vue-ui-treemap.js +1 -1
  75. package/dist/components/vue-ui-vertical-bar.js +1 -1
  76. package/dist/components/vue-ui-waffle.js +1 -1
  77. package/dist/components/vue-ui-wheel.js +1 -1
  78. package/dist/components/vue-ui-word-cloud.js +1 -1
  79. package/dist/components/vue-ui-world.js +1 -1
  80. package/dist/components/vue-ui-xy-canvas.js +1 -1
  81. package/dist/components/vue-ui-xy.js +1 -1
  82. package/dist/geoProjections-D0Vxsz_O.js +154 -0
  83. package/dist/style.css +1 -1
  84. package/dist/types/vue-data-ui.d.ts +210 -4
  85. package/dist/types/vue-ui-geo.d.ts +10 -0
  86. package/dist/{useNestedProp-B696zdq-.js → useNestedProp-BeKjhKny.js} +99 -17
  87. package/dist/{vue-data-ui-DA30aOVt.js → vue-data-ui-BDPkTNHQ.js} +113 -108
  88. package/dist/vue-data-ui.js +101 -98
  89. package/dist/{vue-ui-3d-bar-B8vwrYhQ.js → vue-ui-3d-bar-uKhbCJCE.js} +4 -4
  90. package/dist/{vue-ui-accordion-q1EhHbRP.js → vue-ui-accordion-nCaoOi6x.js} +2 -2
  91. package/dist/{vue-ui-age-pyramid-D6joh86v.js → vue-ui-age-pyramid-DLT_gkMY.js} +4 -4
  92. package/dist/{vue-ui-annotator-749kzlDJ.js → vue-ui-annotator-3wBuXKBn.js} +4 -4
  93. package/dist/{vue-ui-bullet-YJv-2ZQ9.js → vue-ui-bullet-BwOyLfur.js} +4 -4
  94. package/dist/{vue-ui-candlestick-BjeFFWuf.js → vue-ui-candlestick-DvIJjYgT.js} +5 -5
  95. package/dist/{vue-ui-carousel-table-C7sPVM5f.js → vue-ui-carousel-table-mQdTBiJ6.js} +2 -2
  96. package/dist/{vue-ui-chestnut-CUMsJRhG.js → vue-ui-chestnut-D4aL-SRw.js} +3 -3
  97. package/dist/{vue-ui-chord-BE5LirVm.js → vue-ui-chord-BNyOLiis.js} +4 -4
  98. package/dist/{vue-ui-circle-pack-Ddemd-Lq.js → vue-ui-circle-pack-DGjOBC77.js} +4 -4
  99. package/dist/{vue-ui-cursor-DxGbCKPl.js → vue-ui-cursor-JDfWC_4Z.js} +2 -2
  100. package/dist/{vue-ui-dag-DnaGtaUA.js → vue-ui-dag-C7GVHRdz.js} +706 -809
  101. package/dist/{vue-ui-dashboard-CJ-bIPTN.js → vue-ui-dashboard-Dhte9CS8.js} +66 -66
  102. package/dist/{vue-ui-digits-DlZPpTdG.js → vue-ui-digits-D2zs8kUV.js} +1 -1
  103. package/dist/{vue-ui-donut-D6cI982K.js → vue-ui-donut-BnJXrdXi.js} +4 -4
  104. package/dist/{vue-ui-donut-evolution-D1FPSupz.js → vue-ui-donut-evolution-B7IXs662.js} +5 -5
  105. package/dist/{vue-ui-dumbbell-CeM87r9l.js → vue-ui-dumbbell-icb7XI8Y.js} +4 -4
  106. package/dist/{vue-ui-flow-DFqmvJ62.js → vue-ui-flow-BkFZyi2d.js} +4 -4
  107. package/dist/{vue-ui-funnel-53eVC-iv.js → vue-ui-funnel-BtCQx40Z.js} +3 -3
  108. package/dist/{vue-ui-galaxy-C_UY_GdO.js → vue-ui-galaxy-DlkNLZDJ.js} +4 -4
  109. package/dist/{vue-ui-gauge-CrkujWLj.js → vue-ui-gauge-Cdj0ecH3.js} +4 -4
  110. package/dist/vue-ui-geo-e3rtm3qo.js +977 -0
  111. package/dist/{vue-ui-gizmo-DdXZShbC.js → vue-ui-gizmo-D14h2JTq.js} +3 -3
  112. package/dist/{vue-ui-heatmap-fF1TTdvJ.js → vue-ui-heatmap-rpR42azQ.js} +5 -5
  113. package/dist/{vue-ui-history-plot-Blv-HI5D.js → vue-ui-history-plot-Cecn8Oxm.js} +4 -4
  114. package/dist/{vue-ui-horizontal-bar-CxUf7XvD.js → vue-ui-horizontal-bar-VKpzt8eG.js} +9 -9
  115. package/dist/{vue-ui-kpi-CmaIZcHA.js → vue-ui-kpi-C_sejZsA.js} +2 -2
  116. package/dist/{vue-ui-mini-loader-9HFOVyYQ.js → vue-ui-mini-loader-BEBv2BjZ.js} +1 -1
  117. package/dist/{vue-ui-molecule-1gMD_IGa.js → vue-ui-molecule-DlEuruqh.js} +3 -3
  118. package/dist/{vue-ui-mood-radar-De7XXM1S.js → vue-ui-mood-radar-BAP8G4Wj.js} +4 -4
  119. package/dist/{vue-ui-nested-donuts-C3U1D_tk.js → vue-ui-nested-donuts-DSxsX5Vz.js} +4 -4
  120. package/dist/{vue-ui-onion-DmNqk1KG.js → vue-ui-onion-BcFbjgm_.js} +4 -4
  121. package/dist/{vue-ui-parallel-coordinate-plot-Ck9zrf0f.js → vue-ui-parallel-coordinate-plot-C-qcnEpN.js} +4 -4
  122. package/dist/{vue-ui-quadrant-c1P_mUWA.js → vue-ui-quadrant-ChTRugDc.js} +4 -4
  123. package/dist/{vue-ui-quick-chart-aC-unW5B.js → vue-ui-quick-chart-CkRSQBoP.js} +4 -4
  124. package/dist/{vue-ui-radar-B79zcusd.js → vue-ui-radar-D7h9MmKX.js} +4 -4
  125. package/dist/{vue-ui-rating-CMg5akXd.js → vue-ui-rating-Ci09laQN.js} +1 -1
  126. package/dist/{vue-ui-relation-circle-BLSlYwzp.js → vue-ui-relation-circle-BGSf9_de.js} +4 -4
  127. package/dist/{vue-ui-ridgeline-DJI-8Jea.js → vue-ui-ridgeline-BP3OBUSp.js} +4 -4
  128. package/dist/{vue-ui-rings-DedSjGyQ.js → vue-ui-rings-bixIaG84.js} +4 -4
  129. package/dist/{vue-ui-scatter-Bl92_3zT.js → vue-ui-scatter-CsbW44rO.js} +4 -4
  130. package/dist/{vue-ui-skeleton-I3jcxaGr.js → vue-ui-skeleton-B7FFPfD7.js} +2 -2
  131. package/dist/{vue-ui-smiley-Cr4XG1yP.js → vue-ui-smiley-BW0ksZH3.js} +1 -1
  132. package/dist/{vue-ui-spark-trend-_2A6BJsZ.js → vue-ui-spark-trend-BWiUSAGV.js} +3 -3
  133. package/dist/{vue-ui-sparkbar-Mcw9XS3C.js → vue-ui-sparkbar-Y1-PvC2Q.js} +3 -3
  134. package/dist/{vue-ui-sparkgauge-DC4me9S4.js → vue-ui-sparkgauge-DIOgIo9T.js} +3 -3
  135. package/dist/{vue-ui-sparkhistogram-CCQMAuWU.js → vue-ui-sparkhistogram-Cc45FboV.js} +3 -3
  136. package/dist/{vue-ui-sparkline-vzFXbBM3.js → vue-ui-sparkline-BkxHQO4g.js} +3 -3
  137. package/dist/{vue-ui-sparkstackbar-Bb1A_xq-.js → vue-ui-sparkstackbar-eL00_vqY.js} +3 -3
  138. package/dist/{vue-ui-stackbar-SEv0BiEx.js → vue-ui-stackbar-CCgBPMxT.js} +5 -5
  139. package/dist/{vue-ui-stackline-j8dlN7IX.js → vue-ui-stackline-CrChjJG1.js} +5 -5
  140. package/dist/{vue-ui-strip-plot-C1H4_vRX.js → vue-ui-strip-plot-ChBPDnF4.js} +4 -4
  141. package/dist/{vue-ui-table-1fioweBm.js → vue-ui-table-Bf7ErBf-.js} +4 -4
  142. package/dist/{vue-ui-table-heatmap-C9B50I8F.js → vue-ui-table-heatmap-BecLm3ow.js} +2 -2
  143. package/dist/{vue-ui-table-sparkline-CHRU9kcU.js → vue-ui-table-sparkline-CQf4nxMY.js} +2 -2
  144. package/dist/{vue-ui-thermometer-BkYFDCK_.js → vue-ui-thermometer-1vtRLqYp.js} +4 -4
  145. package/dist/{vue-ui-timer-Qec1qL9Y.js → vue-ui-timer-C0_Umc6p.js} +4 -4
  146. package/dist/{vue-ui-tiremarks-DWJFmX5I.js → vue-ui-tiremarks-iijIId_5.js} +4 -4
  147. package/dist/{vue-ui-treemap-CZl4JSsA.js → vue-ui-treemap-vE6a19Mm.js} +5 -5
  148. package/dist/{vue-ui-waffle-CVo_6Vo6.js → vue-ui-waffle-C8kR8CpE.js} +4 -4
  149. package/dist/{vue-ui-wheel-oRl2lzXg.js → vue-ui-wheel-D4OCD06F.js} +4 -4
  150. package/dist/{vue-ui-word-cloud-D9URPA8p.js → vue-ui-word-cloud-Zhi8r9_M.js} +4 -4
  151. package/dist/{vue-ui-world-6qUyz6us.js → vue-ui-world-CKdzBshi.js} +430 -579
  152. package/dist/{vue-ui-xy-DCIyTcrb.js → vue-ui-xy-BOzzwSSP.js} +6 -6
  153. package/dist/{vue-ui-xy-canvas-QsBOBS05.js → vue-ui-xy-canvas-CLoA6DTt.js} +7 -7
  154. package/package.json +1 -1
  155. package/dist/BaseScanner-BgWxam9d.js +0 -29
@@ -0,0 +1,977 @@
1
+ import { defineAsyncComponent as oe, ref as i, computed as s, toRefs as no, watch as D, nextTick as M, onMounted as ro, onBeforeUnmount as ut, createElementBlock as y, openBlock as v, normalizeStyle as ne, normalizeClass as ct, createCommentVNode as N, createBlock as _, createVNode as dt, unref as u, withCtx as h, renderSlot as d, normalizeProps as p, guardReactiveProps as g, createSlots as lo, createElementVNode as be, Fragment as ft, renderList as vt, mergeProps as ao, toDisplayString as io } from "vue";
2
+ import { c as so, t as uo, l as co, X as fo, x as ht } from "./lib-_nVZfi2t.js";
3
+ import { u as vo } from "./usePanZoom-DMfuOfaC.js";
4
+ import { t as ho, u as mo } from "./useResponsive-DfdjqQps.js";
5
+ import { u as po, a as Ce } from "./useNestedProp-BeKjhKny.js";
6
+ import { u as go, B as yo } from "./BaseScanner-BMpwQAfz.js";
7
+ import { u as bo } from "./usePrinter-DXIMGR61.js";
8
+ import { u as Co } from "./useSvgExport-DrjCWun4.js";
9
+ import { u as ko } from "./useThemeCheck-DGJ31Vi5.js";
10
+ import { u as Ao } from "./useUserOptionState-BIvW1Kz7.js";
11
+ import { u as Fo } from "./useChartAccessibility-9icAAmYg.js";
12
+ import wo from "./img-C5q4A7ke.js";
13
+ import { g as No } from "./geoProjections-D0Vxsz_O.js";
14
+ import $o from "./Title-osQjQYc-.js";
15
+ import { B as mt } from "./BaseZoomControls-AMmyXEyM.js";
16
+ import { _ as Po } from "./_plugin-vue_export-helper-CHgC5LLL.js";
17
+ const gt = { style: { chart: { backgroundColor: "#1A1A1A", color: "#CCCCCC", controls: { backgroundColor: "#2A2A2A", buttonColor: "#2A2A2A", color: "#CCCCCC", border: "1px solid #4A4A4A" }, territory: { fill: "#2A2A2A", stroke: "#5A5A5A", hover: { fill: "#3A3A3A", stroke: "#6A6A6A" } }, points: { stroke: "#1A1A1A", fill: "#CCCCCC", labels: { color: "#CCCCCC" } }, title: { color: "#CCCCCC", subtitle: { color: "#757575" } }, tooltip: { backgroundColor: "#1A1A1A", backgroundOpacity: 70, color: "#CCCCCC", borderColor: "#5A5A5A" } } } }, yt = { style: { chart: { backgroundColor: "#FFF8E1", color: "#424242", controls: { backgroundColor: "#FFF8E1", buttonColor: "#FFF8E1", color: "#424242", border: "1px solid #d9bbb2" }, title: { color: "#424242", subtitle: { color: "#757575" } }, tooltip: { backgroundColor: "#FFECB3", backgroundOpacity: 30, color: "#424242", borderColor: "#FF8A65" }, territory: { fill: "#e3dcc8", stroke: "#f7c0b0", hover: { fill: "#FFECB3", stroke: "#FF8A65" } }, points: { stroke: "#FFF8E1", fill: "#424242", labels: { color: "#424242" } } } } }, bt = { style: { chart: { backgroundColor: "#1E1E1E", color: "#BDBDBD", controls: { backgroundColor: "#1E1E1E", buttonColor: "#1E1E1E", color: "#BDBDBD", border: "1px solid #3A3A3A" }, title: { color: "#FFF8E1", subtitle: { color: "#BDBDBD" } }, tooltip: { backgroundColor: "#1E1E1E", backgroundOpacity: 30, color: "#FFF8E1", borderColor: "#FF8A65" }, territory: { fill: "#2A1E1E", stroke: "#6e483c", hover: { fill: "#403e39", stroke: "#805244" } }, points: { stroke: "#1E1E1E", fill: "#BDBDBD", labels: { color: "#BDBDBD" } } } } }, Ct = { style: { chart: { backgroundColor: "#fbfafa", color: "#8A9892", controls: { backgroundColor: "#fbfafa", buttonColor: "#fbfafa", color: "#99AA99", border: "1px solid #ebded3" }, title: { color: "#8A9892", subtitle: { color: "#99AA99" } }, tooltip: { backgroundColor: "#fbfafa", color: "#8A9892" }, territory: { fill: "#e6e2df", stroke: "#fbfafa", hover: { fill: "#dbd5d0", stroke: "#fbfafa" } }, points: { stroke: "#fbfafa", fill: "#8A9892", labels: { color: "#8A9892" } } } } }, kt = { style: { chart: { backgroundColor: "#1A1A1A", color: "#99AA99", controls: { backgroundColor: "#1A1A1A", buttonColor: "#1A1A1A", color: "#99AA99", border: "1px solid #1e361e" }, title: { color: "#66CC66", subtitle: { color: "#99AA99" } }, tooltip: { backgroundColor: "#2A2F2A", color: "#AACCAA", borderColor: "#66CC66" }, territory: { fill: "#1A1F1A", stroke: "#2c5c2c", hover: { fill: "#3A3A3A", stroke: "#66CC66" } }, points: { stroke: "#2c5c2c", fill: "#66CC66", labels: { color: "#99AA99" } } } } }, At = { style: { chart: { backgroundColor: "#f6f6fb", color: "#50606C", controls: { backgroundColor: "#f6f6fb", buttonColor: "#f6f6fb", color: "#50606C", border: "1px solid #98aab8", borderRadius: "0" }, title: { color: "#50606C", subtitle: { color: "#718890" } }, tooltip: { backgroundColor: "#f6f6fb", color: "#50606C" }, territory: { fill: "#cfdae3", stroke: "#98aab8", hover: { fill: "#bcc8d1", stroke: "#50606C" } }, points: { stroke: "#f6f6fb", fill: "#50606C", labels: { color: "#50606C" } } } } }, Ft = {
18
+ default: {},
19
+ dark: gt,
20
+ celebration: yt,
21
+ celebrationNight: bt,
22
+ zen: Ct,
23
+ hack: kt,
24
+ concrete: At
25
+ }, Qo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
26
+ __proto__: null,
27
+ celebration: yt,
28
+ celebrationNight: bt,
29
+ concrete: At,
30
+ dark: gt,
31
+ default: Ft,
32
+ hack: kt,
33
+ zen: Ct
34
+ }, Symbol.toStringTag, { value: "Module" })), To = ["id"], Bo = ["xmlns", "viewBox", "id"], xo = ["transform"], Io = ["d", "fill", "stroke", "stroke-width", "onMouseenter", "onMouseleave", "onClick"], Eo = ["cx", "cy", "r", "fill", "stroke", "stroke-width", "onMouseenter", "onMouseleave", "onClick"], So = ["x", "y", "fill", "font-size"], Oo = {
35
+ key: 5,
36
+ class: "vue-data-ui-watermark"
37
+ }, pt = 1.5, Ro = {
38
+ __name: "vue-ui-geo",
39
+ props: {
40
+ config: {
41
+ type: Object,
42
+ default() {
43
+ return {};
44
+ }
45
+ },
46
+ dataset: {
47
+ type: [Array, Object],
48
+ default() {
49
+ return [];
50
+ }
51
+ }
52
+ },
53
+ setup(wt, { expose: Nt }) {
54
+ const $t = oe(() => import("./Tooltip-l2pmtXwi.js")), Pt = oe(() => import("./UserOptions-DeiXBImO.js")), Tt = oe(() => import("./PenAndPaper-DtbXViIl.js")), Bt = oe(() => import("./PackageVersion-DXy-wfBa.js")), V = wt, { vue_ui_geo: xt } = po(), { isThemeValid: It, warnInvalidTheme: Et } = ko(), $ = i(so()), re = i(0), ke = i(0), b = i(null), C = i(!1), K = i(null), Ae = i(null), Fe = i(null), we = i(null), I = i(null), E = i(null), Ne = i(null), $e = i(null), P = i(!1);
55
+ function Pe(e) {
56
+ P.value = e, re.value += 1;
57
+ }
58
+ const St = s(() => o.value.style.chart.controls.show ? o.value.style.chart.controls.position === "top" ? Ne.value?.$el ?? null : o.value.style.chart.controls.position === "bottom" ? $e.value?.$el ?? null : null : null), o = i(ae()), { userOptionsVisible: Te, keepUserOptionState: Be } = Ao({ config: o.value }), { svgRef: Q } = Fo({ config: o.value.style.chart.title }), { loading: le, FINAL_DATASET: Ot } = go({
59
+ ...no(V),
60
+ FINAL_CONFIG: o,
61
+ prepareConfig: ae,
62
+ allowEmptyDataset: !0,
63
+ skeletonDataset: [],
64
+ skeletonConfig: uo({
65
+ defaultConfig: o.value,
66
+ userConfig: {
67
+ map: {
68
+ geoJson: {
69
+ type: "FeatureCollection",
70
+ features: [
71
+ {
72
+ type: "Feature",
73
+ properties: { name: "Island A" },
74
+ geometry: {
75
+ type: "Polygon",
76
+ coordinates: [
77
+ [
78
+ [-6, 2],
79
+ [-4, 2],
80
+ [-4, 4],
81
+ [-6, 4],
82
+ [-6, 2]
83
+ ]
84
+ ]
85
+ }
86
+ },
87
+ {
88
+ type: "Feature",
89
+ properties: { name: "Island B" },
90
+ geometry: {
91
+ type: "Polygon",
92
+ coordinates: [
93
+ [
94
+ [-2, -1],
95
+ [1, -1],
96
+ [1, 2],
97
+ [-2, 2],
98
+ [-2, -1]
99
+ ]
100
+ ]
101
+ }
102
+ },
103
+ {
104
+ type: "Feature",
105
+ properties: { name: "Island C" },
106
+ geometry: {
107
+ type: "Polygon",
108
+ coordinates: [
109
+ [
110
+ [3, -3],
111
+ [5, -3],
112
+ [5, -1],
113
+ [3, -1],
114
+ [3, -3]
115
+ ]
116
+ ]
117
+ }
118
+ },
119
+ {
120
+ type: "Feature",
121
+ properties: { name: "Island D" },
122
+ geometry: {
123
+ type: "Polygon",
124
+ coordinates: [
125
+ [
126
+ [4, 3],
127
+ [7, 3],
128
+ [7, 5],
129
+ [4, 5],
130
+ [4, 3]
131
+ ]
132
+ ]
133
+ }
134
+ }
135
+ ]
136
+ }
137
+ },
138
+ userOptions: { show: !1 },
139
+ style: {
140
+ chart: {
141
+ backgroundColor: "#99999930",
142
+ territory: {
143
+ fill: "#99999950",
144
+ stroke: "#8A8A8A",
145
+ strokeWidth: 0.5
146
+ }
147
+ }
148
+ }
149
+ }
150
+ })
151
+ }), { isPrinting: xe, isImaging: Ie, generatePdf: Ee, generateImage: Se } = bo({
152
+ elementId: `vue-ui-geo_${$.value}`,
153
+ fileName: o.value.style.chart.title.text || "vue-ui-geo",
154
+ options: o.value.userOptions.print
155
+ });
156
+ function ae() {
157
+ const e = Ce({
158
+ userConfig: V.config,
159
+ defaultConfig: xt
160
+ }), n = e.theme;
161
+ if (!n) return e;
162
+ if (!It.value(e))
163
+ return Et(e), e;
164
+ const t = Ce({
165
+ userConfig: Ft[n] || V.config,
166
+ defaultConfig: e
167
+ });
168
+ return Ce({
169
+ userConfig: V.config,
170
+ defaultConfig: t
171
+ });
172
+ }
173
+ function ie() {
174
+ I.value && (E.value && I.value.unobserve(E.value), I.value.disconnect(), I.value = null, E.value = null);
175
+ }
176
+ const S = s(() => !!o.value.responsive && !P.value);
177
+ D(
178
+ () => P.value,
179
+ async (e) => {
180
+ if (e) {
181
+ ie(), O.value = Number(o.value.style.chart.dimensions.width) || O.value, T.value = Number(o.value.style.chart.dimensions.height) || T.value, await M(), C.value = !1, requestAnimationFrame(() => {
182
+ C.value || q();
183
+ });
184
+ return;
185
+ }
186
+ o.value.responsive && (await M(), se());
187
+ }
188
+ );
189
+ function se() {
190
+ if (ie(), !S.value) return;
191
+ const e = ho(() => {
192
+ if (!b.value) return;
193
+ const { width: n, height: t } = mo({
194
+ chart: b.value,
195
+ noTitle: Oe.value ? Fe.value : null,
196
+ title: o.value.style.chart.title.text ? Ae.value : null,
197
+ legend: St.value,
198
+ source: we.value
199
+ });
200
+ requestAnimationFrame(() => {
201
+ O.value = Math.max(0.1, Number(n) || 0.1), T.value = Math.max(0.1, Number(t) || 0.1) - 24;
202
+ });
203
+ });
204
+ I.value = new ResizeObserver(e), E.value = b.value ? b.value.parentNode : null, E.value && I.value.observe(E.value), e();
205
+ }
206
+ const Oe = s(() => o.value.userOptions.show && !o.value.style.chart.title.text), W = i({
207
+ showTooltip: o.value.style.chart.tooltip.show
208
+ });
209
+ D(
210
+ () => V.config,
211
+ () => {
212
+ o.value = ae(), W.value.showTooltip = o.value.style.chart.tooltip.show, k.value = o.value.style.chart.zoom.active, O.value = o.value.style.chart.dimensions.width, T.value = o.value.style.chart.dimensions.height, se(), ke.value += 1, re.value += 1;
213
+ },
214
+ { deep: !0 }
215
+ );
216
+ const { projections: Re, getProjectedBounds: Rt } = No, ze = s(() => o.value?.projection || "equirectangular"), je = s(() => {
217
+ const e = Re?.[ze.value];
218
+ return typeof e == "function" ? e : Re.equirectangular;
219
+ }), ue = s(() => o.value.map.geoJson ?? null), Ze = {
220
+ aitoff: { width: 1e3, height: 500 },
221
+ azimuthalEquidistant: { width: 1e3, height: 1e3 },
222
+ bonne: { width: 1e3, height: 1e3 },
223
+ equirectangular: { width: 1e3, height: 700 },
224
+ gallPeters: { width: 1e3, height: 800 },
225
+ globe: { width: 1e3, height: 1e3 },
226
+ hammer: { width: 1e3, height: 500 },
227
+ mercator: { width: 1e3, height: 750 },
228
+ mollweide: { width: 1e3, height: 600 },
229
+ robinson: { width: 1e3, height: 600 },
230
+ sinusoidal: { width: 1e3, height: 500 },
231
+ vanDerGrinten: { width: 1e3, height: 1e3 },
232
+ winkelTripel: { width: 1e3, height: 1e3 }
233
+ }, O = i(o.value.style.chart.dimensions.width), T = i(o.value.style.chart.dimensions.height), G = s(() => {
234
+ const e = Ze[ze.value] || Ze.equirectangular;
235
+ return { width: e.width, height: e.height };
236
+ }), m = s(() => {
237
+ const e = G.value, n = O.value, t = T.value, r = Number.isFinite(n) && n > 0, l = Number.isFinite(t) && t > 0;
238
+ if (r && l)
239
+ return { width: n, height: t };
240
+ if (r && !l) {
241
+ const a = e.height / e.width;
242
+ return { width: n, height: n * a };
243
+ }
244
+ if (!r && l) {
245
+ const a = e.width / e.height;
246
+ return { width: t * a, height: t };
247
+ }
248
+ return { width: e.width, height: e.height };
249
+ });
250
+ function zt(e) {
251
+ return e ? Array.isArray(e) ? {
252
+ type: "FeatureCollection",
253
+ features: e.filter((n) => n && n.type === "Feature")
254
+ } : e.type === "FeatureCollection" && Array.isArray(e.features) ? e : e.type === "Feature" && e.geometry ? { type: "FeatureCollection", features: [e] } : e.type === "GeometryCollection" && Array.isArray(e.geometries) ? {
255
+ type: "FeatureCollection",
256
+ features: e.geometries.filter(Boolean).map((n, t) => ({
257
+ type: "Feature",
258
+ geometry: n,
259
+ properties: { name: `Geometry ${t + 1}` }
260
+ }))
261
+ } : typeof e.type == "string" && e.coordinates ? {
262
+ type: "FeatureCollection",
263
+ features: [{ type: "Feature", geometry: e, properties: { name: "Geometry" } }]
264
+ } : { type: "FeatureCollection", features: [] } : { type: "FeatureCollection", features: [] };
265
+ }
266
+ function jt(e) {
267
+ return (Array.isArray(e?.features) ? e.features : []).filter((t) => t && t.type === "Feature" && t.geometry).map((t, r) => {
268
+ const l = t.properties || {}, a = l.name || l.admin || l.NAME || l.label || l.description || l.DESCRIPTION || "";
269
+ return {
270
+ feature: t,
271
+ geometry: t.geometry,
272
+ properties: l,
273
+ name: a,
274
+ uid: `map-feature-${$.value}-${r}`,
275
+ index: r
276
+ };
277
+ });
278
+ }
279
+ const Zt = s(() => zt(ue.value)), De = s(
280
+ () => jt(Zt.value)
281
+ ), Me = s(() => {
282
+ const e = o.value?.map?.center, n = [0, 0];
283
+ if (!Array.isArray(e) || e.length !== 2) return n;
284
+ const t = Number(e[0]), r = Number(e[1]);
285
+ return !Number.isFinite(t) || !Number.isFinite(r) ? n : [t, r];
286
+ });
287
+ function ee([e, n]) {
288
+ return je.value(
289
+ [e, n],
290
+ G.value.width,
291
+ G.value.height,
292
+ Me.value
293
+ );
294
+ }
295
+ function Dt(e) {
296
+ if (!e) return "";
297
+ const n = (t) => (t || []).map((r) => {
298
+ const l = (r || []).map(([a, c]) => ee([a, c])).filter(([a, c]) => Number.isFinite(a) && Number.isFinite(c));
299
+ return l.length < 3 ? "" : "M" + l.map(([a, c]) => `${a},${c}`).join("L") + "Z";
300
+ }).filter(Boolean).join(" ");
301
+ return e.type === "Polygon" ? n(e.coordinates) : e.type === "MultiPolygon" ? (e.coordinates || []).map(n).filter(Boolean).join(" ") : "";
302
+ }
303
+ const _e = s(() => De.value.map((e) => {
304
+ const n = Dt(e.geometry);
305
+ return n ? { ...e, path: n } : null;
306
+ }).filter(Boolean)), Mt = s(() => {
307
+ const e = De.value.filter((n) => {
308
+ const t = n.geometry?.type;
309
+ return t === "Polygon" || t === "MultiPolygon";
310
+ });
311
+ return e.length ? Rt(
312
+ je.value,
313
+ e.map((n) => n.feature),
314
+ G.value.width,
315
+ G.value.height,
316
+ Me.value
317
+ ) : null;
318
+ });
319
+ function _t({ bounds: e, targetWidth: n, targetHeight: t, padding: r }) {
320
+ if (!e || !(e.width > 0) || !(e.height > 0))
321
+ return { scale: 1, translateX: 0, translateY: 0, transform: "" };
322
+ const l = Number.isFinite(Number(r)) ? Number(r) : 0, a = Math.max(1, n - l * 2), c = Math.max(1, t - l * 2), A = a / e.width, F = c / e.height, f = Math.min(A, F), te = e.width * f, w = e.height * f, j = l + (a - te) / 2, ye = l + (c - w) / 2, Z = j - e.minX * f, X = ye - e.minY * f;
323
+ return {
324
+ scale: f,
325
+ translateX: Z,
326
+ translateY: X,
327
+ transform: `translate(${Z} ${X}) scale(${f})`
328
+ };
329
+ }
330
+ const Ve = s(() => {
331
+ const e = Mt.value;
332
+ if (!e) return { scale: 1, translateX: 0, translateY: 0, transform: "" };
333
+ const n = o.value?.map?.fitPadding, t = Number.isFinite(Number(n)) ? Number(n) : 0;
334
+ return _t({
335
+ bounds: e,
336
+ targetWidth: m.value.width,
337
+ targetHeight: m.value.height,
338
+ padding: t
339
+ });
340
+ }), Vt = s(() => {
341
+ const e = m.value.width, n = m.value.height;
342
+ return `0 0 ${e} ${n}`;
343
+ }), k = i(o.value.style.chart.zoom.active), {
344
+ viewBox: L,
345
+ resetZoom: We,
346
+ setInitialViewBox: ce,
347
+ scale: Ge,
348
+ zoomByFactor: Le
349
+ } = vo(
350
+ Q,
351
+ { x: 0, y: 0, width: m.value.width, height: m.value.height },
352
+ 1,
353
+ k
354
+ );
355
+ function Wt() {
356
+ k.value = !k.value;
357
+ }
358
+ function q() {
359
+ const e = it();
360
+ ce(e, { overwriteCurrentIfNotZoomed: !0 }), C.value = !0;
361
+ }
362
+ const qe = s(() => {
363
+ const e = L.value;
364
+ return e ? `${e.x} ${e.y} ${e.width} ${e.height}` : Vt.value;
365
+ });
366
+ function de() {
367
+ Le(pt, !0);
368
+ }
369
+ function fe() {
370
+ Le(1 / pt, !0);
371
+ }
372
+ async function Ye() {
373
+ const e = it();
374
+ ce(e, { overwriteCurrentIfNotZoomed: !0 }), We(!0);
375
+ }
376
+ D(
377
+ () => [
378
+ o.value.projection,
379
+ o.value.map.center[0],
380
+ o.value.map.center[1],
381
+ o.value.map.fitPadding,
382
+ ue.value
383
+ ],
384
+ async () => {
385
+ C.value = !1, await M(), requestAnimationFrame(() => {
386
+ C.value || q();
387
+ });
388
+ },
389
+ { deep: !1 }
390
+ ), D(
391
+ () => [O.value, T.value, S.value],
392
+ async () => {
393
+ S.value && (await M(), ce(
394
+ { x: 0, y: 0, width: m.value.width, height: m.value.height },
395
+ { overwriteCurrentIfNotZoomed: !0 }
396
+ ), C.value = !1, requestAnimationFrame(() => {
397
+ C.value || q();
398
+ }));
399
+ },
400
+ { flush: "post" }
401
+ );
402
+ function Gt(e) {
403
+ return e ? e.type === "FeatureCollection" && Array.isArray(e.features) ? e.features.filter((n) => n?.type === "Feature" && n.geometry?.type === "Point").map((n, t) => {
404
+ const r = n.properties || {}, l = r.name || r.label || r.title || `Point ${t + 1}`, a = n.geometry.coordinates;
405
+ return {
406
+ uid: `map-point-${$.value}-${t}`,
407
+ name: l,
408
+ coordinates: a,
409
+ color: r.color ?? null,
410
+ radius: r.radius ?? null,
411
+ hoverRadiusRatio: o.value.style.chart.points.hoverRadiusRatio,
412
+ description: r.description ?? null,
413
+ original: n,
414
+ index: t
415
+ };
416
+ }) : Array.isArray(e) ? e.map((n, t) => {
417
+ let r = null, l = `Point ${t + 1}`, a = null, c = null, A = null;
418
+ Array.isArray(n) && n.length >= 2 ? r = [Number(n[0]), Number(n[1])] : n && typeof n == "object" && (Array.isArray(n.coordinates) && n.coordinates.length >= 2 ? r = [Number(n.coordinates[0]), Number(n.coordinates[1])] : Number.isFinite(Number(n.lon)) && Number.isFinite(Number(n.lat)) && (r = [Number(n.lon), Number(n.lat)]), typeof n.name == "string" && n.name.trim() && (l = n.name), n.description != null && (a = n.description), n.color != null && (c = n.color), n.radius != null && (A = n.radius));
419
+ const F = r ? r[0] : NaN, f = r ? r[1] : NaN;
420
+ return !Number.isFinite(F) || !Number.isFinite(f) ? null : {
421
+ uid: `map-point-${$.value}-${t}`,
422
+ name: l,
423
+ coordinates: [F, f],
424
+ color: c,
425
+ radius: A,
426
+ hoverRadiusRatio: o.value.style.chart.points.hoverRadiusRatio,
427
+ description: a,
428
+ original: n,
429
+ index: t
430
+ };
431
+ }).filter(Boolean) : typeof e == "object" ? Object.entries(e).map(([n, t], r) => {
432
+ if (!t || typeof t != "object") return null;
433
+ const l = Array.isArray(t.coordinates) ? t.coordinates : null;
434
+ if (!l || l.length < 2) return null;
435
+ const a = Number(l[0]), c = Number(l[1]);
436
+ return !Number.isFinite(a) || !Number.isFinite(c) ? null : {
437
+ uid: `map-point-${$.value}-${r}-${n}`,
438
+ name: t.name || n,
439
+ coordinates: [a, c],
440
+ color: t.color ?? null,
441
+ radius: t.radius ?? null,
442
+ hoverRadiusRatio: o.value.style.chart.points.hoverRadiusRatio,
443
+ description: t.description ?? null,
444
+ original: t,
445
+ index: r
446
+ };
447
+ }).filter(Boolean) : [] : [];
448
+ }
449
+ const He = s(() => Gt(Ot.value)), Ue = s(() => He.value.map((e) => {
450
+ const [n, t] = ee(e.coordinates);
451
+ return !Number.isFinite(n) || !Number.isFinite(t) ? null : {
452
+ ...e,
453
+ x: n,
454
+ y: t,
455
+ fill: e.color ? co(e.color) : o.value.style.chart.points.fill,
456
+ radius: Number.isFinite(Number(e.radius)) ? Number(e.radius) : o.value.style.chart.points.radius
457
+ };
458
+ }).filter(Boolean)), ve = i(!1), he = i(""), B = i(!1), Y = i(null), H = i(null);
459
+ function Xe(e) {
460
+ he.value = e, ve.value = !0;
461
+ }
462
+ function Je() {
463
+ ve.value = !1, he.value = "";
464
+ }
465
+ function me(e) {
466
+ return String(e ?? "").replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;").replaceAll("'", "&#039;");
467
+ }
468
+ function Lt(e) {
469
+ K.value = {
470
+ datapoint: e,
471
+ seriesIndex: e.index,
472
+ series: He.value,
473
+ config: o.value
474
+ }, B.value = !1;
475
+ const n = o.value.style.chart.tooltip.customFormat;
476
+ if (ht(n))
477
+ try {
478
+ const l = n(K.value);
479
+ if (typeof l == "string")
480
+ return B.value = !0, l;
481
+ } catch {
482
+ console.warn("Custom format cannot be applied."), B.value = !1;
483
+ }
484
+ const t = me(e.name), r = e.description != null ? `<div style="margin-top:6px">${me(e.description)}</div>` : "";
485
+ return `<div><div style="font-weight:600">${t}</div>${r}</div>`;
486
+ }
487
+ function qt(e) {
488
+ B.value = !1;
489
+ const n = o.value.style.chart.tooltip.customFormat;
490
+ if (ht(n))
491
+ try {
492
+ const r = n({
493
+ datapoint: e,
494
+ config: o.value
495
+ });
496
+ if (typeof r == "string")
497
+ return B.value = !0, r;
498
+ } catch {
499
+ console.warn("Custom format cannot be applied."), B.value = !1;
500
+ }
501
+ return `<div><div style="font-weight:600">${me(e.name)}</div></div>`;
502
+ }
503
+ function Yt(e) {
504
+ o.value.events.territoryEnter && o.value.events.territoryEnter({ datapoint: e, seriesIndex: e.index }), e.name && (H.value = e.uid, Xe(qt(e)));
505
+ }
506
+ function Ht(e) {
507
+ H.value = null, Je(), o.value.events.territoryLeave && o.value.events.territoryLeave({ datapoint: e, seriesIndex: e.index });
508
+ }
509
+ function Ut(e) {
510
+ o.value.events.territoryClick && o.value.events.territoryClick({ datapoint: e, seriesIndex: e.index });
511
+ }
512
+ function Ke(e) {
513
+ Y.value = e.uid, Xe(Lt(e)), o.value.events.datapointEnter && o.value.events.datapointEnter({ datapoint: e, seriesIndex: e.index });
514
+ }
515
+ function Qe(e) {
516
+ Y.value = null, Je(), o.value.events.datapointLeave && o.value.events.datapointLeave({ datapoint: e, seriesIndex: e.index });
517
+ }
518
+ const et = s(() => !!o.value.events.datapointClick && typeof o.value.events.datapointClick == "function");
519
+ function tt(e) {
520
+ et.value && o.value.events.datapointClick({ datapoint: e, seriesIndex: e.index });
521
+ }
522
+ const R = s(() => o.value.style.chart.territory), ot = s(() => o.value.style.chart.points);
523
+ ro(async () => {
524
+ se(), await M(), requestAnimationFrame(() => {
525
+ C.value || (q(), (o.value.map.center[0] || o.value.map.center[1]) && at(o.value.map.center, { animated: !1 }));
526
+ });
527
+ }), ut(() => {
528
+ ie();
529
+ });
530
+ function nt() {
531
+ W.value.showTooltip = !W.value.showTooltip;
532
+ }
533
+ const U = i(!1);
534
+ function pe() {
535
+ U.value = !U.value;
536
+ }
537
+ D(
538
+ () => U.value,
539
+ (e) => {
540
+ k.value = !e;
541
+ }
542
+ );
543
+ const Xt = s(() => o.value.style.chart.backgroundColor), Jt = s(() => o.value.style.chart.title), { exportSvg: Kt, getSvg: Qt } = Co({
544
+ svg: Q,
545
+ title: Jt,
546
+ legend: void 0,
547
+ legendItems: void 0,
548
+ backgroundColor: Xt
549
+ });
550
+ async function rt({ isCb: e }) {
551
+ if (e) {
552
+ const { blob: n, url: t, text: r, dataUrl: l } = await Qt();
553
+ o.value.userOptions.callbacks.svg({ blob: n, url: t, text: r, dataUrl: l });
554
+ } else
555
+ Kt();
556
+ }
557
+ async function eo({ scale: e = 2 } = {}) {
558
+ if (!b.value) return;
559
+ const { width: n, height: t } = b.value.getBoundingClientRect(), r = n / t, { imageUri: l, base64: a } = await wo({ domElement: b.value, base64: !0, img: !0, scale: e });
560
+ return {
561
+ imageUri: l,
562
+ base64: a,
563
+ title: o.value.style.chart.title.text,
564
+ width: n,
565
+ height: t,
566
+ aspectRatio: r
567
+ };
568
+ }
569
+ const x = i(!1);
570
+ let z = null;
571
+ function to() {
572
+ k.value && (x.value = !0);
573
+ }
574
+ function ge() {
575
+ x.value = !1;
576
+ }
577
+ function oo() {
578
+ k.value && (x.value = !0, z && clearTimeout(z), z = setTimeout(() => {
579
+ x.value = !1, z = null;
580
+ }, 140));
581
+ }
582
+ ut(() => {
583
+ z && clearTimeout(z);
584
+ });
585
+ function lt(e) {
586
+ const n = Ve.value, t = Number(n?.scale) || 1, r = Number(n?.translateX) || 0, l = Number(n?.translateY) || 0;
587
+ return {
588
+ x: e.x * t + r,
589
+ y: e.y * t + l
590
+ };
591
+ }
592
+ async function at([e, n], { animated: t = !0 } = {}) {
593
+ const r = Number(e), l = Number(n);
594
+ if (!Number.isFinite(r) || !Number.isFinite(l)) return;
595
+ const a = ee([r, l]), c = a?.[0], A = a?.[1];
596
+ if (!Number.isFinite(c) || !Number.isFinite(A)) return;
597
+ const F = lt({ x: c, y: A }), f = L.value ? { ...L.value } : { x: 0, y: 0, width: m.value.width, height: m.value.height }, te = {
598
+ x: F.x - f.width / 2,
599
+ y: F.y - f.height / 2,
600
+ width: f.width,
601
+ height: f.height
602
+ };
603
+ if (!t) {
604
+ L.value = te;
605
+ return;
606
+ }
607
+ const w = { ...f }, j = { ...te }, ye = 250;
608
+ let Z = null;
609
+ const X = (st) => {
610
+ Z == null && (Z = st);
611
+ const J = Math.min((st - Z) / ye, 1);
612
+ L.value = {
613
+ x: w.x + (j.x - w.x) * J,
614
+ y: w.y + (j.y - w.y) * J,
615
+ width: w.width + (j.width - w.width) * J,
616
+ height: w.height + (j.height - w.height) * J
617
+ }, J < 1 && requestAnimationFrame(X);
618
+ };
619
+ requestAnimationFrame(X);
620
+ }
621
+ D(
622
+ () => [
623
+ o.value.projection,
624
+ o.value.map.fitPadding,
625
+ ue.value
626
+ ],
627
+ async () => {
628
+ C.value = !1, await M(), requestAnimationFrame(() => {
629
+ C.value || q();
630
+ });
631
+ },
632
+ { deep: !1 }
633
+ );
634
+ function it() {
635
+ const e = o.value?.map?.center, n = Number(e?.[0]), t = Number(e?.[1]), r = Array.isArray(e) && e.length === 2 && Number.isFinite(n) && Number.isFinite(t) && (n !== 0 || t !== 0), l = m.value.width, a = m.value.height;
636
+ if (!r)
637
+ return { x: 0, y: 0, width: l, height: a };
638
+ const c = ee([n, t]), A = c?.[0], F = c?.[1];
639
+ if (!Number.isFinite(A) || !Number.isFinite(F))
640
+ return { x: 0, y: 0, width: l, height: a };
641
+ const f = lt({ x: A, y: F });
642
+ return {
643
+ x: f.x - l / 2,
644
+ y: f.y - a / 2,
645
+ width: l,
646
+ height: a
647
+ };
648
+ }
649
+ return Nt({
650
+ getImage: eo,
651
+ generatePdf: Ee,
652
+ generateImage: Se,
653
+ generateSvg: rt,
654
+ toggleTooltip: nt,
655
+ toggleAnnotator: pe,
656
+ toggleFullscreen: Pe,
657
+ zoomIn: de,
658
+ zoomOut: fe,
659
+ resetZoom: We,
660
+ focusLocation: at
661
+ }), (e, n) => (v(), y("div", {
662
+ class: ct(`vue-data-ui-component vue-ui-geo ${P.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${S.value ? "vue-ui-geo-responsive" : ""} ${x.value ? "vue-ui-geo-interacting" : ""}`),
663
+ ref_key: "geoChart",
664
+ ref: b,
665
+ id: `map_${$.value}`,
666
+ dir: "auto",
667
+ style: ne({
668
+ fontFamily: o.value.style.fontFamily,
669
+ width: "100%",
670
+ backgroundColor: o.value.style.chart.backgroundColor,
671
+ height: S.value ? `${T.value}px` : void 0
672
+ })
673
+ }, [
674
+ Oe.value ? (v(), y("div", {
675
+ key: 0,
676
+ ref_key: "noTitle",
677
+ ref: Fe,
678
+ class: "vue-data-ui-no-title-space",
679
+ style: "height:36px; width: 100%;background:transparent"
680
+ }, null, 512)) : N("", !0),
681
+ o.value.style.chart.title.text ? (v(), y("div", {
682
+ key: 1,
683
+ ref_key: "chartTitle",
684
+ ref: Ae,
685
+ style: "width:100%;background:transparent;padding-bottom:12px"
686
+ }, [
687
+ (v(), _($o, {
688
+ key: `title_${ke.value}`,
689
+ config: {
690
+ title: {
691
+ cy: "geo-title",
692
+ ...o.value.style.chart.title
693
+ },
694
+ subtitle: {
695
+ cy: "geo-subtitle",
696
+ ...o.value.style.chart.title.subtitle
697
+ }
698
+ }
699
+ }, null, 8, ["config"]))
700
+ ], 512)) : N("", !0),
701
+ o.value.userOptions.buttons.annotator ? (v(), _(u(Tt), {
702
+ key: 2,
703
+ svgRef: u(Q),
704
+ backgroundColor: o.value.style.chart.backgroundColor,
705
+ color: o.value.style.chart.color,
706
+ active: U.value,
707
+ onClose: pe
708
+ }, {
709
+ "annotator-action-close": h(() => [
710
+ d(e.$slots, "annotator-action-close", {}, void 0, !0)
711
+ ]),
712
+ "annotator-action-color": h(({ color: t }) => [
713
+ d(e.$slots, "annotator-action-color", p(g({ color: t })), void 0, !0)
714
+ ]),
715
+ "annotator-action-draw": h(({ mode: t }) => [
716
+ d(e.$slots, "annotator-action-draw", p(g({ mode: t })), void 0, !0)
717
+ ]),
718
+ "annotator-action-undo": h(({ disabled: t }) => [
719
+ d(e.$slots, "annotator-action-undo", p(g({ disabled: t })), void 0, !0)
720
+ ]),
721
+ "annotator-action-redo": h(({ disabled: t }) => [
722
+ d(e.$slots, "annotator-action-redo", p(g({ disabled: t })), void 0, !0)
723
+ ]),
724
+ "annotator-action-delete": h(({ disabled: t }) => [
725
+ d(e.$slots, "annotator-action-delete", p(g({ disabled: t })), void 0, !0)
726
+ ]),
727
+ _: 3
728
+ }, 8, ["svgRef", "backgroundColor", "color", "active"])) : N("", !0),
729
+ o.value.userOptions.show && (u(Be) || u(Te)) ? (v(), _(u(Pt), {
730
+ ref: "userOptionsRef",
731
+ key: `user_options_${re.value}`,
732
+ backgroundColor: o.value.style.chart.backgroundColor,
733
+ color: o.value.style.chart.color,
734
+ isPrinting: u(xe),
735
+ isImaging: u(Ie),
736
+ uid: $.value,
737
+ hasXls: !1,
738
+ hasTable: !1,
739
+ hasTooltip: o.value.userOptions.buttons.tooltip && o.value.style.chart.tooltip.show,
740
+ hasPdf: o.value.userOptions.buttons.pdf,
741
+ hasImg: o.value.userOptions.buttons.img,
742
+ hasSvg: o.value.userOptions.buttons.svg,
743
+ hasFullscreen: o.value.userOptions.buttons.fullscreen,
744
+ hasAnnotator: o.value.userOptions.buttons.annotator,
745
+ hasZoom: o.value.userOptions.buttons.zoom,
746
+ isZoom: k.value,
747
+ isFullscreen: P.value,
748
+ isTooltip: W.value.showTooltip,
749
+ titles: { ...o.value.userOptions.buttonTitles },
750
+ chartElement: b.value,
751
+ position: o.value.userOptions.position,
752
+ isAnnotation: U.value,
753
+ callbacks: o.value.userOptions.callbacks,
754
+ printScale: o.value.userOptions.print.scale,
755
+ onToggleFullscreen: Pe,
756
+ onGeneratePdf: u(Ee),
757
+ onGenerateImage: u(Se),
758
+ onGenerateSvg: rt,
759
+ onToggleTooltip: nt,
760
+ onToggleAnnotator: pe,
761
+ onToggleZoom: Wt,
762
+ style: ne({
763
+ visibility: u(Be) ? u(Te) ? "visible" : "hidden" : "visible"
764
+ })
765
+ }, lo({ _: 2 }, [
766
+ e.$slots.menuIcon ? {
767
+ name: "menuIcon",
768
+ fn: h(({ isOpen: t, color: r }) => [
769
+ d(e.$slots, "menuIcon", p(g({ isOpen: t, color: r })), void 0, !0)
770
+ ]),
771
+ key: "0"
772
+ } : void 0,
773
+ e.$slots.optionTooltip ? {
774
+ name: "optionTooltip",
775
+ fn: h(() => [
776
+ d(e.$slots, "optionTooltip", {}, void 0, !0)
777
+ ]),
778
+ key: "1"
779
+ } : void 0,
780
+ e.$slots.optionPdf ? {
781
+ name: "optionPdf",
782
+ fn: h(() => [
783
+ d(e.$slots, "optionPdf", {}, void 0, !0)
784
+ ]),
785
+ key: "2"
786
+ } : void 0,
787
+ e.$slots.optionImg ? {
788
+ name: "optionImg",
789
+ fn: h(() => [
790
+ d(e.$slots, "optionImg", {}, void 0, !0)
791
+ ]),
792
+ key: "3"
793
+ } : void 0,
794
+ e.$slots.optionSvg ? {
795
+ name: "optionSvg",
796
+ fn: h(() => [
797
+ d(e.$slots, "optionSvg", {}, void 0, !0)
798
+ ]),
799
+ key: "4"
800
+ } : void 0,
801
+ e.$slots.optionFullscreen ? {
802
+ name: "optionFullscreen",
803
+ fn: h(({ toggleFullscreen: t, isFullscreen: r }) => [
804
+ d(e.$slots, "optionFullscreen", p(g({ toggleFullscreen: t, isFullscreen: r })), void 0, !0)
805
+ ]),
806
+ key: "5"
807
+ } : void 0,
808
+ e.$slots.optionAnnotator ? {
809
+ name: "optionAnnotator",
810
+ fn: h(({ toggleAnnotator: t, isAnnotator: r }) => [
811
+ d(e.$slots, "optionAnnotator", p(g({ toggleAnnotator: t, isAnnotator: r })), void 0, !0)
812
+ ]),
813
+ key: "6"
814
+ } : void 0,
815
+ e.$slots.optionZoom ? {
816
+ name: "optionZoom",
817
+ fn: h(({ toggleZoom: t, isZoomLocked: r }) => [
818
+ d(e.$slots, "optionZoom", p(g({ toggleZoom: t, isZoomLocked: r })), void 0, !0)
819
+ ]),
820
+ key: "7"
821
+ } : void 0
822
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "hasPdf", "hasImg", "hasSvg", "hasFullscreen", "hasAnnotator", "hasZoom", "isZoom", "isFullscreen", "isTooltip", "titles", "chartElement", "position", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : N("", !0),
823
+ o.value.style.chart.controls.position === "top" && o.value.style.chart.controls.show && !u(le) ? (v(), _(mt, {
824
+ key: 4,
825
+ ref_key: "zoomControlsTop",
826
+ ref: Ne,
827
+ config: o.value,
828
+ scale: u(Ge),
829
+ isFullscreen: P.value,
830
+ onZoomIn: de,
831
+ onZoomOut: fe,
832
+ onResetZoom: Ye
833
+ }, null, 8, ["config", "scale", "isFullscreen"])) : N("", !0),
834
+ (v(), y("svg", {
835
+ ref_key: "svgRef",
836
+ ref: Q,
837
+ xmlns: u(fo),
838
+ viewBox: qe.value,
839
+ preserveAspectRatio: "xMidYMid meet",
840
+ style: ne({
841
+ display: "block",
842
+ width: "100%",
843
+ height: S.value ? `${T.value}px` : "auto",
844
+ background: o.value.style.chart.backgroundColor,
845
+ touchAction: k.value ? "none" : "auto",
846
+ cursor: k.value ? x.value ? "grabbing" : "grab" : "default"
847
+ }),
848
+ id: `vue-ui-geo_${$.value}`,
849
+ onPointerdown: to,
850
+ onPointerup: ge,
851
+ onPointercancel: ge,
852
+ onPointerleave: ge,
853
+ onWheel: oo
854
+ }, [
855
+ dt(u(Bt)),
856
+ be("g", {
857
+ transform: Ve.value.transform,
858
+ style: ne({ pointerEvents: x.value ? "none" : "auto" })
859
+ }, [
860
+ be("g", null, [
861
+ (v(!0), y(ft, null, vt(_e.value, (t) => (v(), y("path", {
862
+ class: "vue-ui-geo-territory",
863
+ key: t.uid,
864
+ d: t.path,
865
+ fill: H.value === t.uid ? R.value.hover.fill : R.value.fill,
866
+ stroke: H.value === t.uid ? R.value.hover.stroke : R.value.stroke,
867
+ "stroke-width": H.value === t.uid ? R.value.hover.strokeWidth : R.value.strokeWidth,
868
+ "vector-effect": "non-scaling-stroke",
869
+ onMouseenter: (r) => Yt(t),
870
+ onMouseleave: (r) => Ht(t),
871
+ onClick: (r) => Ut(t)
872
+ }, null, 40, Io))), 128))
873
+ ]),
874
+ (v(!0), y(ft, null, vt(Ue.value, (t) => (v(), y("g", {
875
+ key: t.uid
876
+ }, [
877
+ d(e.$slots, "datapoint", ao({ ref_for: !0 }, { point: t, onPointEnter: Ke, onPointLeave: Qe, onPointClick: tt, highlighted: Y.value === t.uid }), () => [
878
+ be("circle", {
879
+ class: ct({
880
+ "vue-ui-geo-point": !0,
881
+ "vue-ui-geo-point-with-event": et.value
882
+ }),
883
+ cx: t.x,
884
+ cy: t.y,
885
+ r: Y.value === t.uid ? t.radius * t.hoverRadiusRatio : t.radius,
886
+ fill: t.fill,
887
+ stroke: ot.value.stroke,
888
+ "stroke-width": ot.value.strokeWidth,
889
+ "vector-effect": "non-scaling-stroke",
890
+ onMouseenter: (r) => Ke(t),
891
+ onMouseleave: (r) => Qe(t),
892
+ onClick: (r) => tt(t)
893
+ }, null, 42, Eo)
894
+ ], !0),
895
+ o.value.style.chart.points.labels.show ? (v(), y("text", {
896
+ key: 0,
897
+ class: "vue-ui-geo-point-label",
898
+ x: t.x,
899
+ y: t.y + (Y.value === t.uid ? t.radius * t.hoverRadiusRatio : t.radius) + o.value.style.chart.points.labels.offsetY + 1 * o.value.style.chart.points.labels.fontSizeRatio,
900
+ "text-anchor": "middle",
901
+ fill: o.value.style.chart.points.labels.color,
902
+ "font-size": 1 * o.value.style.chart.points.labels.fontSizeRatio
903
+ }, io(t.name), 9, So)) : N("", !0)
904
+ ]))), 128))
905
+ ], 12, xo),
906
+ d(e.$slots, "svg", {
907
+ svg: {
908
+ drawingArea: qe.value,
909
+ data: {
910
+ territoryPaths: _e.value,
911
+ projectedPoints: Ue.value
912
+ }
913
+ }
914
+ }, void 0, !0)
915
+ ], 44, Bo)),
916
+ e.$slots.watermark ? (v(), y("div", Oo, [
917
+ d(e.$slots, "watermark", p(g({ isPrinting: u(xe) || u(Ie) })), void 0, !0)
918
+ ])) : N("", !0),
919
+ o.value.style.chart.controls.position === "bottom" && o.value.style.chart.controls.show && !u(le) ? (v(), _(mt, {
920
+ key: 6,
921
+ ref_key: "zoomControlsBottom",
922
+ ref: $e,
923
+ config: o.value,
924
+ scale: u(Ge),
925
+ isFullscreen: P.value,
926
+ onZoomIn: de,
927
+ onZoomOut: fe,
928
+ onResetZoom: Ye
929
+ }, null, 8, ["config", "scale", "isFullscreen"])) : N("", !0),
930
+ dt(u($t), {
931
+ show: W.value.showTooltip && ve.value,
932
+ backgroundColor: o.value.style.chart.tooltip.backgroundColor,
933
+ color: o.value.style.chart.tooltip.color,
934
+ fontSize: o.value.style.chart.tooltip.fontSize,
935
+ borderRadius: o.value.style.chart.tooltip.borderRadius,
936
+ borderColor: o.value.style.chart.tooltip.borderColor,
937
+ borderWidth: o.value.style.chart.tooltip.borderWidth,
938
+ backgroundOpacity: o.value.style.chart.tooltip.backgroundOpacity,
939
+ position: o.value.style.chart.tooltip.position,
940
+ offsetY: o.value.style.chart.tooltip.offsetY,
941
+ parent: b.value,
942
+ content: he.value,
943
+ isCustom: B.value,
944
+ isFullscreen: P.value,
945
+ smooth: o.value.style.chart.tooltip.smooth,
946
+ backdropFilter: o.value.style.chart.tooltip.backdropFilter,
947
+ smoothForce: o.value.style.chart.tooltip.smoothForce,
948
+ smoothSnapThreshold: o.value.style.chart.tooltip.smoothSnapThreshold
949
+ }, {
950
+ "tooltip-before": h(() => [
951
+ d(e.$slots, "tooltip-before", p(g({ ...K.value })), void 0, !0)
952
+ ]),
953
+ "tooltip-after": h(() => [
954
+ d(e.$slots, "tooltip-after", p(g({ ...K.value })), void 0, !0)
955
+ ]),
956
+ _: 3
957
+ }, 8, ["show", "backgroundColor", "color", "fontSize", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "position", "offsetY", "parent", "content", "isCustom", "isFullscreen", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
958
+ e.$slots.source ? (v(), y("div", {
959
+ key: 7,
960
+ ref_key: "source",
961
+ ref: we,
962
+ dir: "auto"
963
+ }, [
964
+ d(e.$slots, "source", {}, void 0, !0)
965
+ ], 512)) : N("", !0),
966
+ u(le) ? (v(), _(yo, { key: 8 })) : N("", !0)
967
+ ], 14, To));
968
+ }
969
+ }, zo = /* @__PURE__ */ Po(Ro, [["__scopeId", "data-v-b4a2203f"]]), en = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
970
+ __proto__: null,
971
+ default: zo
972
+ }, Symbol.toStringTag, { value: "Module" }));
973
+ export {
974
+ Qo as a,
975
+ en as b,
976
+ zo as v
977
+ };