vue-data-ui 3.25.4 → 3.25.6

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 (213) hide show
  1. package/README.md +13 -13
  2. package/dist/{BaseDraggableDialog-BM_R41j8.js → BaseDraggableDialog-Gm4Q30j0.js} +1 -1
  3. package/dist/{BaseIcon-t83PDe9k.js → BaseIcon-D8R6_sKH.js} +5 -5
  4. package/dist/{BaseLegendToggle-__JnV08B.js → BaseLegendToggle-CXQrLjd-.js} +1 -1
  5. package/dist/{BaseZoomControls-Xo16vFa4.js → BaseZoomControls-BTzjVDPM.js} +1 -1
  6. package/dist/{ColorPicker-ZJrR3Olp.js → ColorPicker-CUy15T72.js} +102 -100
  7. package/dist/{DataTable-COIO9gi4.js → DataTable-oiM9uWrQ.js} +1 -1
  8. package/dist/{HillActions-Cl-dNBZR.js → HillActions-Dn8aKOVJ.js} +1 -1
  9. package/dist/{NonSvgPenAndPaper-DS84BAOx.js → NonSvgPenAndPaper-DFXjpRyl.js} +2 -2
  10. package/dist/{PackageVersion-5SWftabm.js → PackageVersion-ur6jKRL5.js} +1 -1
  11. package/dist/{PenAndPaper-B_SdRSKH.js → PenAndPaper-KFzKlvbi.js} +20 -4
  12. package/dist/{SlicerPreview-GvsdvE-h.js → SlicerPreview-B6iHOC9L.js} +1 -1
  13. package/dist/{UserOptions-f3Q0nqrj.js → UserOptions-2x4VklMW.js} +1 -1
  14. package/dist/components/vue-ui-3d-bar.js +1 -1
  15. package/dist/components/vue-ui-accordion.js +1 -1
  16. package/dist/components/vue-ui-age-pyramid.js +1 -1
  17. package/dist/components/vue-ui-annotator.js +1 -1
  18. package/dist/components/vue-ui-bullet.js +1 -1
  19. package/dist/components/vue-ui-bump.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 +1 -1
  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-hill.js +1 -1
  40. package/dist/components/vue-ui-history-plot.js +1 -1
  41. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  42. package/dist/components/vue-ui-icon.js +1 -1
  43. package/dist/components/vue-ui-kpi.js +1 -1
  44. package/dist/components/vue-ui-label.js +1 -1
  45. package/dist/components/vue-ui-mini-loader.js +1 -1
  46. package/dist/components/vue-ui-molecule.js +1 -1
  47. package/dist/components/vue-ui-mood-radar.js +1 -1
  48. package/dist/components/vue-ui-nested-donuts.js +1 -1
  49. package/dist/components/vue-ui-onion.js +1 -1
  50. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  51. package/dist/components/vue-ui-quadrant.js +1 -1
  52. package/dist/components/vue-ui-quick-chart.js +1 -1
  53. package/dist/components/vue-ui-radar.js +1 -1
  54. package/dist/components/vue-ui-rating.js +1 -1
  55. package/dist/components/vue-ui-relation-circle.js +1 -1
  56. package/dist/components/vue-ui-ridgeline.js +1 -1
  57. package/dist/components/vue-ui-rings.js +1 -1
  58. package/dist/components/vue-ui-scatter.js +1 -1
  59. package/dist/components/vue-ui-skeleton.js +1 -1
  60. package/dist/components/vue-ui-smiley.js +1 -1
  61. package/dist/components/vue-ui-spark-trend.js +1 -1
  62. package/dist/components/vue-ui-sparkbar.js +1 -1
  63. package/dist/components/vue-ui-sparkgauge.js +1 -1
  64. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  65. package/dist/components/vue-ui-sparkline.js +1 -1
  66. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  67. package/dist/components/vue-ui-stackbar.js +1 -1
  68. package/dist/components/vue-ui-stackline.js +1 -1
  69. package/dist/components/vue-ui-strip-plot.js +1 -1
  70. package/dist/components/vue-ui-table-heatmap.js +1 -1
  71. package/dist/components/vue-ui-table-sparkline.js +1 -1
  72. package/dist/components/vue-ui-table.js +1 -1
  73. package/dist/components/vue-ui-thermometer.js +1 -1
  74. package/dist/components/vue-ui-timer.js +1 -1
  75. package/dist/components/vue-ui-tiremarks.js +1 -1
  76. package/dist/components/vue-ui-treemap.js +1 -1
  77. package/dist/components/vue-ui-vertical-bar.js +1 -1
  78. package/dist/components/vue-ui-waffle.js +1 -1
  79. package/dist/components/vue-ui-wheel.js +1 -1
  80. package/dist/components/vue-ui-word-cloud.js +1 -1
  81. package/dist/components/vue-ui-world.js +1 -1
  82. package/dist/components/vue-ui-xy-canvas.js +1 -1
  83. package/dist/components/vue-ui-xy.js +1 -1
  84. package/dist/{package-DmsdiyeS.js → package-Dx7M6sYy.js} +1 -1
  85. package/dist/{render-common-zoPh9a78.js → render-common-DETHvNhl.js} +1 -1
  86. package/dist/ssr/vue-ui-donut.js +1 -1
  87. package/dist/ssr/vue-ui-xy.js +1 -1
  88. package/dist/ssr.js +2 -2
  89. package/dist/style.css +1 -1
  90. package/dist/types/vue-data-ui.d.ts +80 -1
  91. package/dist/types/vue-ui-annotator.d.ts +58 -2
  92. package/dist/{useConfig-CyCVHo81.js → useConfig-CIQZ6_r7.js} +1339 -1313
  93. package/dist/{useObjectBindings-ByORl1rV.js → useObjectBindings---mHNfbS.js} +2 -2
  94. package/dist/utils.js +1 -1
  95. package/dist/{vue-data-ui-DTj71yB7.js → vue-data-ui-Dh3_EsHb.js} +70 -70
  96. package/dist/vue-data-ui.js +71 -71
  97. package/dist/vue-ui-3d-bar-i1REAKnM.js +1831 -0
  98. package/dist/{vue-ui-accordion-D4zsdacF.js → vue-ui-accordion-BSmBUjwZ.js} +2 -2
  99. package/dist/vue-ui-age-pyramid-DuHblCNO.js +1293 -0
  100. package/dist/vue-ui-annotator-CTQHAPho.js +3325 -0
  101. package/dist/vue-ui-bullet-CYLnKrmM.js +702 -0
  102. package/dist/{vue-ui-bump-BkOtQNWe.js → vue-ui-bump-DhwySwgn.js} +382 -380
  103. package/dist/vue-ui-candlestick-BpiECaDj.js +1859 -0
  104. package/dist/{vue-ui-carousel-table-CRgbs7jR.js → vue-ui-carousel-table-D-T2yA7-.js} +2 -2
  105. package/dist/vue-ui-chestnut-1MsZ9Q3r.js +2016 -0
  106. package/dist/vue-ui-chord-QBQUSe7r.js +1347 -0
  107. package/dist/vue-ui-circle-pack-ZWEwtesD.js +1635 -0
  108. package/dist/{vue-ui-cursor-BHyXRadA.js → vue-ui-cursor-CHQcHAHQ.js} +2 -2
  109. package/dist/{vue-ui-dag-CyVqaLbF.js → vue-ui-dag-C_inEafb.js} +794 -792
  110. package/dist/{vue-ui-dashboard-7I-7wvCP.js → vue-ui-dashboard-Bs2mBur5.js} +74 -72
  111. package/dist/{vue-ui-digits-BBL8uERO.js → vue-ui-digits-DwE4MoXI.js} +2 -2
  112. package/dist/vue-ui-donut-BM9dMHXj.js +2415 -0
  113. package/dist/{vue-ui-donut-DcgUuefk.js → vue-ui-donut-CbOSJmRu.js} +2 -2
  114. package/dist/vue-ui-donut-evolution-C97_RHus.js +1552 -0
  115. package/dist/vue-ui-dumbbell-DwKa5EL5.js +1533 -0
  116. package/dist/vue-ui-flow-DTTr3YL9.js +1217 -0
  117. package/dist/vue-ui-funnel-C4pkBk3D.js +749 -0
  118. package/dist/vue-ui-galaxy-CuAPLOvX.js +1085 -0
  119. package/dist/vue-ui-gauge-DLDULH26.js +934 -0
  120. package/dist/{vue-ui-geo-jR4P4pbt.js → vue-ui-geo-DXIHhp-G.js} +431 -429
  121. package/dist/{vue-ui-gizmo-D6W86s9o.js → vue-ui-gizmo-PuURiePo.js} +2 -2
  122. package/dist/vue-ui-heatmap-mvWLKB99.js +1555 -0
  123. package/dist/{vue-ui-hill-fFq7pm-g.js → vue-ui-hill-DqsVJkmO.js} +472 -470
  124. package/dist/vue-ui-history-plot-BBVLgt9_.js +1698 -0
  125. package/dist/{vue-ui-horizontal-bar-D3Sft4kp.js → vue-ui-horizontal-bar-y8Q8PZwT.js} +513 -511
  126. package/dist/{vue-ui-kpi-fzLsKlyE.js → vue-ui-kpi-B2hf3kpp.js} +2 -2
  127. package/dist/{vue-ui-label-BSgLalWD.js → vue-ui-label-ClMQ5Gez.js} +1 -1
  128. package/dist/{vue-ui-mini-loader-BL2odRfu.js → vue-ui-mini-loader-DtPOVIkK.js} +1 -1
  129. package/dist/vue-ui-molecule-eeW1Pmg8.js +929 -0
  130. package/dist/{vue-ui-mood-radar-bvGx6XgG.js → vue-ui-mood-radar-Dd1qfUiu.js} +378 -376
  131. package/dist/vue-ui-nested-donuts-CUARCr6O.js +1503 -0
  132. package/dist/vue-ui-onion-NoxHP0cG.js +1235 -0
  133. package/dist/{vue-ui-parallel-coordinate-plot-B_QJ4N9o.js → vue-ui-parallel-coordinate-plot-Cp3pCyxK.js} +409 -407
  134. package/dist/vue-ui-quadrant-C3kQtaeX.js +1967 -0
  135. package/dist/{vue-ui-quick-chart-BFscCR59.js → vue-ui-quick-chart-BZq517pL.js} +8 -6
  136. package/dist/vue-ui-radar-DvNrl4uD.js +1374 -0
  137. package/dist/vue-ui-rating-CWFMoYpE.js +359 -0
  138. package/dist/vue-ui-relation-circle-1iS6C0xx.js +905 -0
  139. package/dist/vue-ui-ridgeline-B-EZiPCF.js +1630 -0
  140. package/dist/vue-ui-rings-BXuwrHos.js +1252 -0
  141. package/dist/vue-ui-scatter-ByL-ZZ3B.js +2405 -0
  142. package/dist/{vue-ui-skeleton-zmbcOVEf.js → vue-ui-skeleton-BcU1onF6.js} +698 -698
  143. package/dist/vue-ui-smiley-DJVusLnp.js +376 -0
  144. package/dist/vue-ui-spark-trend-DjS31avb.js +457 -0
  145. package/dist/vue-ui-sparkbar-1Al_TLw1.js +401 -0
  146. package/dist/vue-ui-sparkgauge-CwLo53Y8.js +268 -0
  147. package/dist/vue-ui-sparkhistogram-CGw6SThG.js +589 -0
  148. package/dist/{vue-ui-sparkline-Dv7XrEzO.js → vue-ui-sparkline-CSZGBFfI.js} +511 -511
  149. package/dist/vue-ui-sparkstackbar-B8dloLMp.js +738 -0
  150. package/dist/vue-ui-stackbar-FvNd77t1.js +2355 -0
  151. package/dist/vue-ui-stackline-CP7PkqiG.js +2469 -0
  152. package/dist/vue-ui-strip-plot-DSMlDkv1.js +1740 -0
  153. package/dist/{vue-ui-table-heatmap-Dv_ZKKm3.js → vue-ui-table-heatmap-DnP3pzh2.js} +2 -2
  154. package/dist/vue-ui-table-rwKtnJKt.js +1352 -0
  155. package/dist/vue-ui-table-sparkline-B6wyEAyC.js +738 -0
  156. package/dist/{vue-ui-thermometer-DytlLJ32.js → vue-ui-thermometer-D0_KsB-y.js} +194 -192
  157. package/dist/{vue-ui-timer-CvHP4HoW.js → vue-ui-timer-1Z2zginj.js} +153 -153
  158. package/dist/vue-ui-tiremarks-zbl7aooy.js +540 -0
  159. package/dist/vue-ui-treemap-Drs4gK6L.js +1733 -0
  160. package/dist/vue-ui-waffle-DqUVsVNE.js +1621 -0
  161. package/dist/vue-ui-wheel-DLCBPW9t.js +873 -0
  162. package/dist/vue-ui-word-cloud-8Agk9h6c.js +1710 -0
  163. package/dist/{vue-ui-world-D0_2upjg.js → vue-ui-world-BOBHo7-L.js} +526 -524
  164. package/dist/vue-ui-xy-CSTJzRkk.js +5283 -0
  165. package/dist/{vue-ui-xy-D_5FfaH-.js → vue-ui-xy-Dmk1gQkI.js} +2 -2
  166. package/dist/vue-ui-xy-canvas-DANPuyf4.js +1824 -0
  167. package/dist/{vue_ui_age_pyramid-BY6c-oX_.js → vue_ui_age_pyramid-B2R66DgQ.js} +15 -6
  168. package/package.json +1 -1
  169. package/dist/vue-ui-3d-bar-CH8SpxS2.js +0 -1829
  170. package/dist/vue-ui-age-pyramid-B9MUVi75.js +0 -1241
  171. package/dist/vue-ui-annotator-CmlcWPIm.js +0 -2886
  172. package/dist/vue-ui-bullet-n8KNnDwh.js +0 -700
  173. package/dist/vue-ui-candlestick-Bxlvqk49.js +0 -1857
  174. package/dist/vue-ui-chestnut-ByDKbkG9.js +0 -2014
  175. package/dist/vue-ui-chord-DQRBgVOx.js +0 -1345
  176. package/dist/vue-ui-circle-pack-CBBc0HOe.js +0 -1633
  177. package/dist/vue-ui-donut-DfiocufT.js +0 -2413
  178. package/dist/vue-ui-donut-evolution-BoqO8By2.js +0 -1550
  179. package/dist/vue-ui-dumbbell-7M_oUQdi.js +0 -1529
  180. package/dist/vue-ui-flow-CoylrfnO.js +0 -1215
  181. package/dist/vue-ui-funnel-DaBYHWIC.js +0 -747
  182. package/dist/vue-ui-galaxy-BIebStQ3.js +0 -1083
  183. package/dist/vue-ui-gauge-CwdTmiRP.js +0 -932
  184. package/dist/vue-ui-heatmap-DXYlGwqR.js +0 -1553
  185. package/dist/vue-ui-history-plot-CgIELoD2.js +0 -1696
  186. package/dist/vue-ui-molecule-DeHWkkhy.js +0 -929
  187. package/dist/vue-ui-nested-donuts-CeAV2xPk.js +0 -1501
  188. package/dist/vue-ui-onion-B7oFulsQ.js +0 -1233
  189. package/dist/vue-ui-quadrant-DrKnz37q.js +0 -1965
  190. package/dist/vue-ui-radar-Bzx69q8f.js +0 -1372
  191. package/dist/vue-ui-rating-CimC9FQ9.js +0 -359
  192. package/dist/vue-ui-relation-circle-DIQYyDGb.js +0 -903
  193. package/dist/vue-ui-ridgeline-CPEnM45x.js +0 -1621
  194. package/dist/vue-ui-rings-qPL5Iwji.js +0 -1250
  195. package/dist/vue-ui-scatter-BB0ClTsU.js +0 -2403
  196. package/dist/vue-ui-smiley-DzPkCMN-.js +0 -376
  197. package/dist/vue-ui-spark-trend-Ciq7-k_q.js +0 -457
  198. package/dist/vue-ui-sparkbar-D1M7-naP.js +0 -401
  199. package/dist/vue-ui-sparkgauge-rsqaeR_n.js +0 -268
  200. package/dist/vue-ui-sparkhistogram-C4WXt2Ni.js +0 -589
  201. package/dist/vue-ui-sparkstackbar-DDOXdeV-.js +0 -738
  202. package/dist/vue-ui-stackbar-C_hMnOLb.js +0 -2353
  203. package/dist/vue-ui-stackline-BHGi63lD.js +0 -2467
  204. package/dist/vue-ui-strip-plot-Cygpn-l8.js +0 -1738
  205. package/dist/vue-ui-table-BQna1wL6.js +0 -1352
  206. package/dist/vue-ui-table-sparkline-BCuimtk6.js +0 -738
  207. package/dist/vue-ui-tiremarks-BvjdZwgh.js +0 -538
  208. package/dist/vue-ui-treemap-C5OpqzSc.js +0 -1731
  209. package/dist/vue-ui-waffle-B7T_Zzan.js +0 -1619
  210. package/dist/vue-ui-wheel-D1B0k7IW.js +0 -871
  211. package/dist/vue-ui-word-cloud-C4pX6jop.js +0 -1708
  212. package/dist/vue-ui-xy-Ck41KYqF.js +0 -5281
  213. package/dist/vue-ui-xy-canvas-B_8Mu19r.js +0 -1824
@@ -0,0 +1,1859 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, Ct as n, D as r, Pt as i, Ut as a, Wt as o, X as s, Xt as c, Zt as l, _ as ee, b as u, bt as te, c as ne, ft as re, lt as ie, nt as d, pt as ae, q as oe, t as se } from "./lib-Dql7cqyA.js";
3
+ import { n as ce, t as le } from "./useHints-Dq_w2E8B.js";
4
+ import { n as ue, r as de, t as fe } from "./useTimeLabels-d2f-W1L4.js";
5
+ import { t as pe } from "./useConfig-CIQZ6_r7.js";
6
+ import { t as me } from "./usePrinter-DISD7q5m.js";
7
+ import { n as he, t as ge } from "./BaseScanner-DZvpgOjM.js";
8
+ import { t as _e } from "./useNestedProp-Chvyfpl-.js";
9
+ import { t as ve } from "./useThemeCheck-C43Tcqmk.js";
10
+ import { t as ye } from "./useChartExport-iwOqiIWX.js";
11
+ import { t as be } from "./useTransitions-g_zBREk2.js";
12
+ import { t as xe } from "./useTimeLabelCollider-AEcY4Ioe.js";
13
+ import { t as Se } from "./img-DhGApYG0.js";
14
+ import { n as Ce } from "./Title-CPHi-evi.js";
15
+ import { t as we } from "./_plugin-vue_export-helper-B3ysoDQm.js";
16
+ import { l as Te, t as Ee } from "./useResponsive-ZtArZtUf.js";
17
+ import { t as De } from "./DefGrad-DVBqDjhO.js";
18
+ import { t as Oe } from "./SlicerPreview-B6iHOC9L.js";
19
+ import { t as ke } from "./A11yDataTable-DdRsVULz.js";
20
+ import { t as Ae } from "./useUserOptionState-DK-_1ddE.js";
21
+ import { t as je } from "./useChartAccessibility-DYqac8yF.js";
22
+ import { t as Me } from "./vue_ui_candlestick-J8jmJvxP.js";
23
+ import { Fragment as f, computed as p, createBlock as Ne, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createSlots as Pe, createTextVNode as Fe, createVNode as Ie, defineAsyncComponent as _, guardReactiveProps as v, mergeProps as Le, nextTick as Re, normalizeClass as y, normalizeProps as b, normalizeStyle as ze, onBeforeUnmount as Be, onMounted as Ve, openBlock as x, ref as S, renderList as C, renderSlot as w, resolveDynamicComponent as He, shallowRef as Ue, toDisplayString as We, toRefs as Ge, unref as T, watch as Ke, watchEffect as qe, withCtx as E } from "vue";
24
+ //#region src/components/vue-ui-candlestick.vue
25
+ var Je = /* @__PURE__ */ e({ default: () => Ot }), Ye = ["id"], Xe = ["id"], Ze = { style: { position: "relative" } }, Qe = [
26
+ "xmlns",
27
+ "aria-describedby",
28
+ "viewBox"
29
+ ], $e = [
30
+ "x",
31
+ "y",
32
+ "width",
33
+ "height"
34
+ ], et = { key: 1 }, tt = { key: 0 }, nt = [
35
+ "x1",
36
+ "x2",
37
+ "y1",
38
+ "y2",
39
+ "stroke",
40
+ "stroke-width"
41
+ ], rt = [
42
+ "x1",
43
+ "x2",
44
+ "y1",
45
+ "y2",
46
+ "stroke",
47
+ "stroke-width"
48
+ ], it = [
49
+ "x1",
50
+ "x2",
51
+ "y1",
52
+ "y2",
53
+ "stroke",
54
+ "stroke-width",
55
+ "stroke-dasharray"
56
+ ], at = [
57
+ "x1",
58
+ "x2",
59
+ "y1",
60
+ "y2",
61
+ "stroke",
62
+ "stroke-width",
63
+ "stroke-dasharray"
64
+ ], ot = [
65
+ "x1",
66
+ "x2",
67
+ "y1",
68
+ "y2",
69
+ "stroke",
70
+ "stroke-width"
71
+ ], st = [
72
+ "x1",
73
+ "x2",
74
+ "y1",
75
+ "y2",
76
+ "stroke",
77
+ "stroke-width"
78
+ ], ct = [
79
+ "transform",
80
+ "text-anchor",
81
+ "font-size",
82
+ "fill",
83
+ "font-weight"
84
+ ], lt = [
85
+ "transform",
86
+ "text-anchor",
87
+ "font-size",
88
+ "fill",
89
+ "font-weight"
90
+ ], ut = [
91
+ "transform",
92
+ "text-anchor",
93
+ "font-size",
94
+ "fill",
95
+ "stroke",
96
+ "font-weight"
97
+ ], dt = [
98
+ "x",
99
+ "y",
100
+ "width",
101
+ "height",
102
+ "fill",
103
+ "rx"
104
+ ], ft = { key: 0 }, pt = [
105
+ "cx",
106
+ "cy",
107
+ "r",
108
+ "fill"
109
+ ], mt = [
110
+ "cx",
111
+ "cy",
112
+ "r",
113
+ "fill"
114
+ ], ht = { key: 1 }, gt = [
115
+ "x",
116
+ "y",
117
+ "width",
118
+ "height",
119
+ "rx",
120
+ "fill"
121
+ ], _t = [
122
+ "x",
123
+ "y",
124
+ "width",
125
+ "height",
126
+ "fill",
127
+ "rx"
128
+ ], vt = [
129
+ "x",
130
+ "y",
131
+ "height",
132
+ "width",
133
+ "fill",
134
+ "rx"
135
+ ], yt = [
136
+ "x",
137
+ "y",
138
+ "height",
139
+ "width",
140
+ "fill",
141
+ "rx",
142
+ "stroke",
143
+ "stroke-width"
144
+ ], bt = ["d", "stroke"], xt = [
145
+ "x",
146
+ "y",
147
+ "height",
148
+ "width",
149
+ "fill",
150
+ "onMouseover",
151
+ "onMouseleave",
152
+ "onClick"
153
+ ], St = ["data-start", "data-end"], Ct = {
154
+ key: 0,
155
+ style: {
156
+ position: "absolute",
157
+ top: "100%",
158
+ left: "0",
159
+ width: "100%"
160
+ },
161
+ "data-dom-to-png-ignore": "",
162
+ "aria-hidden": "true"
163
+ }, wt = {
164
+ key: 5,
165
+ class: "vue-data-ui-watermark"
166
+ }, Tt = ["d", "stroke"], Et = [
167
+ "d",
168
+ "stroke",
169
+ "stroke-width"
170
+ ], Dt = ["innerHTML"], Ot = /*#__PURE__*/ we({
171
+ __name: "vue-ui-candlestick",
172
+ props: {
173
+ config: {
174
+ type: Object,
175
+ default() {
176
+ return {};
177
+ }
178
+ },
179
+ dataset: {
180
+ type: Array,
181
+ default() {
182
+ return [];
183
+ }
184
+ },
185
+ selectedXIndex: {
186
+ type: Number,
187
+ default: void 0
188
+ }
189
+ },
190
+ emits: ["selectX", "copyAlt"],
191
+ setup(e, { expose: we, emit: Je }) {
192
+ let Ot = _(() => import("./BaseIcon-D8R6_sKH.js").then((e) => e.n)), kt = _(() => import("./Tooltip-hhrkQ3Lk.js")), At = _(() => import("./vue-ui-accordion-BSmBUjwZ.js").then((e) => e.n)), jt = _(() => import("./DataTable-oiM9uWrQ.js")), Mt = _(() => import("./PenAndPaper-KFzKlvbi.js").then((e) => e.t)), Nt = _(() => import("./UserOptions-2x4VklMW.js").then((e) => e.n)), Pt = _(() => import("./PackageVersion-ur6jKRL5.js").then((e) => e.t)), Ft = _(() => import("./BaseDraggableDialog-Gm4Q30j0.js").then((e) => e.n)), { vue_ui_candlestick: It } = pe(), { isThemeValid: Lt, warnInvalidTheme: Rt } = ve(), D = e, zt = Je, Bt = p(() => !!D.dataset && D.dataset.length), O = S(!1), Vt = S(null), k = S(oe()), Ht = S(!1), Ut = S(""), A = S(void 0), Wt = S(0), j = S(null), Gt = S(null), Kt = S(null), qt = S(null), Jt = S(null), Yt = S(null), Xt = S(0), Zt = S(0), Qt = S(0), $t = S(null), en = S(null), tn = S(null), nn = S(null), rn = S(null), M = S(null), an = S({
193
+ x: 0,
194
+ y: 0
195
+ }), on = S("pointer"), sn = S(!1), N = S(vn()), P = p(() => N.value.style.layout.candle), F = p(() => N.value.style.layout.grid), I = p(() => N.value.style.layout), L = p(() => N.value.style), R = p(() => N.value.userOptions);
196
+ ce({
197
+ config: () => N.value,
198
+ dataset: () => D.dataset,
199
+ component: "VueUiCandlestick",
200
+ rules: [le.emptyArray, {
201
+ test: (e) => e.length > 200,
202
+ message: [
203
+ "👀 Dataset has > 200 points, which can cause performance issues. Consider:",
204
+ "",
205
+ "▶️ Adding date inputs to constraint the dataset into a specific timeframe",
206
+ "",
207
+ "▶️ Aggregate the data to larger time series to reduce the number of datapoints."
208
+ ]
209
+ }]
210
+ });
211
+ let { transitionEnabled: cn } = be({
212
+ config: () => N.value.transitions,
213
+ dataset: () => D.dataset
214
+ }), ln = p(() => N.value.userOptions.useCursorPointer), un = p(() => l({
215
+ defaultConfig: {
216
+ useCssAnimation: !1,
217
+ userOptions: { show: !1 },
218
+ table: { show: !1 },
219
+ style: {
220
+ backgroundColor: "#99999930",
221
+ layout: {
222
+ candle: { colors: {
223
+ bearish: "#BABABA",
224
+ bullish: "#CACACA"
225
+ } },
226
+ grid: {
227
+ stroke: "#6A6A6A",
228
+ verticalLines: { stroke: "#6A6A6A" },
229
+ horizontalLines: { stroke: "#6A6A6A" },
230
+ yAxis: {
231
+ dataLabels: { show: !1 },
232
+ scale: {
233
+ min: null,
234
+ max: null
235
+ }
236
+ }
237
+ },
238
+ wick: {
239
+ stroke: "#6A6A6A",
240
+ extremity: { color: "#6A6A6A" }
241
+ }
242
+ },
243
+ tooltip: { show: !1 },
244
+ zoom: {
245
+ show: !1,
246
+ startIndex: null,
247
+ endIndex: null
248
+ }
249
+ }
250
+ },
251
+ userConfig: N.value.skeletonConfig ?? {}
252
+ })), { loading: z, FINAL_DATASET: B, manualLoading: dn } = he({
253
+ ...Ge(D),
254
+ FINAL_CONFIG: N,
255
+ prepareConfig: vn,
256
+ callback: () => {
257
+ Promise.resolve().then(async () => {
258
+ await pr();
259
+ });
260
+ },
261
+ skeletonDataset: D.config?.skeletonDataset ?? [
262
+ [
263
+ 17040672e5,
264
+ 10,
265
+ 20,
266
+ 2,
267
+ 10,
268
+ 30
269
+ ],
270
+ [
271
+ 17067456e5,
272
+ 10,
273
+ 30,
274
+ 5,
275
+ 20,
276
+ 50
277
+ ],
278
+ [
279
+ 17092512e5,
280
+ 20,
281
+ 50,
282
+ 10,
283
+ 30,
284
+ 80
285
+ ],
286
+ [
287
+ 17119296e5,
288
+ 30,
289
+ 80,
290
+ 20,
291
+ 50,
292
+ 130
293
+ ],
294
+ [
295
+ 17145216e5,
296
+ 50,
297
+ 130,
298
+ 30,
299
+ 100,
300
+ 210
301
+ ],
302
+ [
303
+ 17172e8,
304
+ 80,
305
+ 210,
306
+ 50,
307
+ 150,
308
+ 340
309
+ ],
310
+ [
311
+ 1719792e6,
312
+ 130,
313
+ 340,
314
+ 80,
315
+ 280,
316
+ 550
317
+ ],
318
+ [
319
+ 17224704e5,
320
+ 210,
321
+ 550,
322
+ 130,
323
+ 450,
324
+ 890
325
+ ],
326
+ [
327
+ 17251488e5,
328
+ 340,
329
+ 890,
330
+ 210,
331
+ 750,
332
+ 1440
333
+ ],
334
+ [
335
+ 17277408e5,
336
+ 550,
337
+ 1440,
338
+ 340,
339
+ 1230,
340
+ 2330
341
+ ],
342
+ [
343
+ 17304192e5,
344
+ 890,
345
+ 2330,
346
+ 550,
347
+ 1950,
348
+ 3770
349
+ ],
350
+ [
351
+ 17330112e5,
352
+ 1440,
353
+ 3770,
354
+ 890,
355
+ 3200,
356
+ 5100
357
+ ]
358
+ ],
359
+ skeletonConfig: l({
360
+ defaultConfig: N.value,
361
+ userConfig: un.value
362
+ })
363
+ }), { userOptionsVisible: fn, setUserOptionsVisibility: pn, keepUserOptionState: mn } = Ae({ config: N.value }), { svgRef: hn } = je({ config: L.value.title });
364
+ function gn() {
365
+ pn(!0);
366
+ }
367
+ function _n() {
368
+ pn(!1), zt("selectX", {
369
+ seriesIndex: null,
370
+ datapoint: null
371
+ }), A.value = null;
372
+ }
373
+ function vn() {
374
+ let e = _e({
375
+ userConfig: D.config,
376
+ defaultConfig: It
377
+ }), t = {};
378
+ D.config && te(D.config, "style.layout.grid.xAxis.dataLabels.showFirstAndLast") && (e.style.layout.grid.xAxis.dataLabels.showFirstAndLast = !!D.config.style.layout.grid.xAxis.dataLabels.showFirstAndLast);
379
+ let n = e.theme;
380
+ if (n) {
381
+ if (!Lt.value(e)) Rt(e), t = e;
382
+ else {
383
+ let r = _e({
384
+ userConfig: Me[n] || D.config,
385
+ defaultConfig: e
386
+ });
387
+ t = { ..._e({
388
+ userConfig: D.config,
389
+ defaultConfig: r
390
+ }) };
391
+ }
392
+ } else t = e;
393
+ return t;
394
+ }
395
+ Ke(() => D.config, (e) => {
396
+ z.value || (N.value = vn()), fn.value = !N.value.userOptions.showOnChartHover, xn(), Xt.value += 1, Qt.value += 1, Zt.value += 1, U.value.showTable = N.value.table.show, U.value.showTooltip = L.value.tooltip.show, Pn();
397
+ }, { deep: !0 }), Ke(() => D.dataset, (e) => {
398
+ Array.isArray(e) && e.length > 0 && (dn.value = !1), lr();
399
+ }, { deep: !0 });
400
+ let V = S({
401
+ height: L.value.height,
402
+ width: L.value.width,
403
+ xAxisFontSize: F.value.xAxis.dataLabels.fontSize,
404
+ yAxisFontSize: F.value.yAxis.dataLabels.fontSize
405
+ }), H = Ue(null), yn = Ue(null);
406
+ Ve(() => {
407
+ xn();
408
+ });
409
+ let bn = p(() => N.value.debug);
410
+ function xn() {
411
+ if (i(D.dataset) && (d({
412
+ componentName: "VueUiCandlestick",
413
+ type: "dataset",
414
+ debug: bn.value
415
+ }), dn.value = !0), i(D.dataset) || (dn.value = N.value.loading), setTimeout(() => {
416
+ O.value = !0;
417
+ }, 10), N.value.responsive) {
418
+ let e = Te(() => {
419
+ O.value = !1;
420
+ let { width: e, height: t } = Ee({
421
+ chart: j.value,
422
+ title: L.value.title.text ? Gt.value : null,
423
+ slicer: L.value.zoom.show && K.value > 6 ? qt.value.$el : null,
424
+ legend: Kt.value,
425
+ source: Jt.value,
426
+ noTitle: Yt.value
427
+ });
428
+ requestAnimationFrame(() => {
429
+ V.value.width = e, V.value.height = t - 12, N.value.responsiveProportionalSizing ? (V.value.xAxisFontSize = c({
430
+ relator: Math.min(e, t),
431
+ adjuster: L.value.width,
432
+ source: F.value.xAxis.dataLabels.fontSize,
433
+ threshold: 6,
434
+ fallback: 6
435
+ }), V.value.yAxisFontSize = c({
436
+ relator: Math.min(e, t),
437
+ adjuster: L.value.width,
438
+ source: F.value.yAxis.dataLabels.fontSize,
439
+ threshold: 6,
440
+ fallback: 6
441
+ })) : (V.value.xAxisFontSize = F.value.xAxis.dataLabels.fontSize, V.value.yAxisFontSize = F.value.yAxis.dataLabels.fontSize), Vt.value && clearTimeout(Vt.value), Vt.value = setTimeout(() => {
442
+ O.value = !0;
443
+ }, 10);
444
+ });
445
+ });
446
+ H.value && (yn.value && H.value.unobserve(yn.value), H.value.disconnect()), H.value = new ResizeObserver(e), yn.value = j.value.parentNode, H.value.observe(yn.value);
447
+ }
448
+ pr();
449
+ }
450
+ Be(() => {
451
+ H.value && (yn.value && H.value.unobserve(yn.value), H.value.disconnect());
452
+ });
453
+ let { isPrinting: Sn, isImaging: Cn, generatePdf: wn, generateImage: Tn } = me({
454
+ elementId: `vue-ui-candlestick_${k.value}`,
455
+ fileName: L.value.title.text || "vue-ui-candlestick",
456
+ options: N.value.userOptions.print
457
+ }), En = p(() => N.value.userOptions.show && !L.value.title.text), U = S({
458
+ showTable: N.value.table.show,
459
+ showTooltip: L.value.tooltip.show
460
+ }), Dn = S(0), On = Te((e) => {
461
+ Dn.value = e;
462
+ }, 100);
463
+ qe((e) => {
464
+ let t = en.value;
465
+ if (!t) return;
466
+ let n = new ResizeObserver((e) => {
467
+ On(e[0].contentRect.height);
468
+ });
469
+ n.observe(t), e(() => n.disconnect());
470
+ }), Be(() => {
471
+ Dn.value = 0;
472
+ });
473
+ let kn = p(() => {
474
+ let e = 0;
475
+ return en.value && (e = Dn.value + V.value.xAxisFontSize), e;
476
+ }), W = p(() => F.value.yAxis.position === "right");
477
+ function An() {
478
+ let e = F.value.yAxis.dataLabels.offsetX;
479
+ $t.value && (e = Array.from($t.value.querySelectorAll("text")).reduce((e, t) => {
480
+ let n = t.getComputedTextLength();
481
+ return n > e ? n : e;
482
+ }, 0));
483
+ let t = F.value.yAxis.axisName?.show ? F.value.yAxis.axisName.fontSize + F.value.yAxis.axisName.offsetX : 0, n = e + 13 + t;
484
+ return {
485
+ left: W.value ? 0 : n,
486
+ right: W.value ? n : 0,
487
+ scaleLabelsWidth: e,
488
+ yAxisNameWidth: t,
489
+ crosshair: 13
490
+ };
491
+ }
492
+ let G = p(() => {
493
+ let { top: e, right: t, bottom: n, left: r } = I.value.padding, i = An();
494
+ return {
495
+ top: e + 12,
496
+ right: V.value.width - t - i.right,
497
+ left: r + i.left,
498
+ bottom: V.value.height - n - kn.value,
499
+ width: V.value.width - r - t - i.left - i.right,
500
+ height: V.value.height - e - n - kn.value - 12,
501
+ scaleLabelsWidth: i.scaleLabelsWidth,
502
+ yAxisNameWidth: i.yAxisNameWidth,
503
+ crosshair: i.crosshair
504
+ };
505
+ }), jn = p(() => {
506
+ let { left: e, top: t, width: n, height: r } = G.value, i = q.value.start, a = q.value.end - i, o = n / a, s = J.value.start - i, c = J.value.end - i, l = Math.max(0, Math.min(a, s)), ee = Math.max(0, Math.min(a, c));
507
+ return {
508
+ x: e + l * o,
509
+ y: t,
510
+ width: (ee - l) * o,
511
+ height: r,
512
+ fill: L.value.zoom.preview.fill,
513
+ stroke: L.value.zoom.preview.stroke,
514
+ "stroke-width": L.value.zoom.preview.strokeWidth,
515
+ "stroke-dasharray": L.value.zoom.preview.strokeDasharray,
516
+ "stroke-linecap": "round",
517
+ "stroke-linejoin": "round",
518
+ style: {
519
+ pointerEvents: "none",
520
+ transition: "none !important",
521
+ animation: "none !important"
522
+ }
523
+ };
524
+ }), K = p(() => B.value.length), q = S({
525
+ start: 0,
526
+ end: K.value
527
+ }), J = S({
528
+ start: 0,
529
+ end: K.value
530
+ }), Mn = p(() => L.value.zoom.preview.enable && (J.value.start !== q.value.start || J.value.end !== q.value.end));
531
+ function Nn(e, t) {
532
+ J.value[e] = t;
533
+ }
534
+ function Pn() {
535
+ let e = Math.max(0, Math.min(q.value.start ?? 0, K.value - 1)), t = Math.max(e + 1, Math.min(q.value.end ?? K.value, K.value));
536
+ (!Number.isFinite(e) || !Number.isFinite(t) || t <= e) && (e = 0, t = K.value), q.value.start = e, q.value.end = t, J.value.start = e, J.value.end = t, qt.value && (qt.value.setStartValue(e), qt.value.setEndValue(t));
537
+ }
538
+ let Fn = p(() => B.value.map((e, t) => ({
539
+ ...e,
540
+ absoluteIndex: t
541
+ }))), In = p(() => Fn.value.slice(q.value.start, q.value.end)), Y = p(() => (bn.value && B.value.forEach((e, t) => {
542
+ [null, void 0].includes(e[0]) && d({
543
+ componentName: "VueUiCandlestick",
544
+ type: "datasetAttribute",
545
+ property: "period (index 0)",
546
+ index: t
547
+ }), [null, void 0].includes(e[1]) && d({
548
+ componentName: "VueUiCandlestick",
549
+ type: "datasetAttribute",
550
+ property: "open (index 1)",
551
+ index: t
552
+ }), [null, void 0].includes(e[2]) && d({
553
+ componentName: "VueUiCandlestick",
554
+ type: "datasetAttribute",
555
+ property: "high (index 2)",
556
+ index: t
557
+ }), [null, void 0].includes(e[3]) && d({
558
+ componentName: "VueUiCandlestick",
559
+ type: "datasetAttribute",
560
+ property: "low (index 3)",
561
+ index: t
562
+ }), [null, void 0].includes(e[4]) && d({
563
+ componentName: "VueUiCandlestick",
564
+ type: "datasetAttribute",
565
+ property: "close (index 4)",
566
+ index: t
567
+ }), [null, void 0].includes(e[5]) && d({
568
+ componentName: "VueUiCandlestick",
569
+ type: "datasetAttribute",
570
+ property: "volume (index 5)",
571
+ index: t
572
+ });
573
+ }), In.value.map((e) => ({
574
+ absoluteIndex: e.absoluteIndex,
575
+ period: e[0],
576
+ open: e[1],
577
+ high: e[2],
578
+ low: e[3],
579
+ close: e[4],
580
+ volume: e[5]
581
+ })))), Ln = p(() => Fn.value.map((e) => ({
582
+ absoluteIndex: e.absoluteIndex,
583
+ period: e[0],
584
+ open: e[1],
585
+ high: e[2],
586
+ low: e[3],
587
+ close: e[4],
588
+ volume: e[5]
589
+ }))), X = p(() => G.value.width / In.value.length), Rn = p(() => ({
590
+ max: F.value.yAxis.scale.max === null ? Math.max(...Y.value.map((e) => e.high)) : F.value.yAxis.scale.max,
591
+ min: F.value.yAxis.scale.min === null ? 0 : F.value.yAxis.scale.min
592
+ })), Z = p(() => ee(Rn.value.min, Rn.value.max, F.value.yAxis.dataLabels.steps));
593
+ function zn(e, t, n = null, r = null) {
594
+ return {
595
+ ...e,
596
+ x: u(G.value.left + t * X.value + X.value / 2),
597
+ y: u(G.value.top + (1 - (e - Z.value.min) / (Z.value.max - Z.value.min)) * G.value.height),
598
+ value: u(e),
599
+ isMax: e === n,
600
+ isMin: e === r
601
+ };
602
+ }
603
+ let Q = p(() => {
604
+ let e = {
605
+ o: Math.max(...Y.value.map((e) => e.open)),
606
+ h: Math.max(...Y.value.map((e) => e.high)),
607
+ l: Math.max(...Y.value.map((e) => e.low)),
608
+ c: Math.max(...Y.value.map((e) => e.low))
609
+ }, t = {
610
+ o: Math.min(...Y.value.map((e) => e.open)),
611
+ h: Math.min(...Y.value.map((e) => e.high)),
612
+ l: Math.min(...Y.value.map((e) => e.low)),
613
+ c: Math.min(...Y.value.map((e) => e.low))
614
+ }, n = Math.max(...Y.value.map((e) => e.volume)), r = Math.min(...Y.value.map((e) => e.volume));
615
+ return Y.value.map((i, a) => {
616
+ let o = zn(i.open, a, e.o, t.o), s = zn(i.high, a, e.h, t.h), c = zn(i.low, a, e.l, t.l), l = zn(i.close, a, e.c, t.c), ee = i.close > i.open, u = i.volume === n, te = i.volume === r;
617
+ return {
618
+ period: i.period,
619
+ open: o,
620
+ high: s,
621
+ low: c,
622
+ close: l,
623
+ volume: i.volume,
624
+ isBullish: ee,
625
+ absoluteIndex: i.absoluteIndex,
626
+ isMaxVolume: u,
627
+ isMinVolume: te
628
+ };
629
+ });
630
+ });
631
+ function Bn({ item: e, index: t, minimapH: n, unitW: r }) {
632
+ let i = F.value.yAxis.scale.min ?? 0, a = F.value.yAxis.scale.max ?? Math.max(...B.value.map((e) => e[2]));
633
+ return {
634
+ ...e,
635
+ x: u(t * r),
636
+ y: u((1 - (e - i) / (a - i)) * n),
637
+ value: u(e)
638
+ };
639
+ }
640
+ let Vn = p(() => ({ minimapH: e, unitW: t }) => Ln.value.map((n, r) => {
641
+ let i = Bn({
642
+ item: n.open,
643
+ index: r,
644
+ minimapH: e,
645
+ unitW: t
646
+ }), a = Bn({
647
+ item: n.high,
648
+ index: r,
649
+ minimapH: e,
650
+ unitW: t
651
+ }), o = Bn({
652
+ item: n.low,
653
+ index: r,
654
+ minimapH: e,
655
+ unitW: t
656
+ }), s = Bn({
657
+ item: n.close,
658
+ index: r,
659
+ minimapH: e,
660
+ unitW: t
661
+ }), c = n.close > n.open;
662
+ return {
663
+ period: n.period,
664
+ open: i,
665
+ high: a,
666
+ low: o,
667
+ close: s,
668
+ volume: n.volume,
669
+ isBullish: c,
670
+ absoluteIndex: n.absoluteIndex
671
+ };
672
+ })), Hn = p(() => L.value.zoom.minimap.show ? [{
673
+ name: "",
674
+ series: B.value.map((e) => e[2]),
675
+ color: "#000000",
676
+ isVisible: !0
677
+ }] : []);
678
+ function Un(e) {
679
+ return u((e - Z.value.min) / (Z.value.max - Z.value.min));
680
+ }
681
+ let Wn = p(() => Z.value.ticks.map((e) => ({
682
+ y: G.value.bottom - G.value.height * Un(e),
683
+ value: u(e)
684
+ }))), Gn = p(() => Y.value.map((e) => e.period)), $ = S([]), Kn = S([]), qn = 0;
685
+ qe(() => {
686
+ let e = ++qn;
687
+ (async () => {
688
+ let t = await fe({
689
+ values: B.value.map((e) => e[0]),
690
+ maxDatapoints: B.value.length,
691
+ formatter: F.value.xAxis.dataLabels.datetimeFormatter,
692
+ start: q.value.start,
693
+ end: q.value.end
694
+ });
695
+ e === qn && ($.value = t);
696
+ })();
697
+ });
698
+ let Jn = 0;
699
+ qe(() => {
700
+ let e = ++Jn;
701
+ (async () => {
702
+ let t = await fe({
703
+ values: B.value.map((e) => e[0]),
704
+ maxDatapoints: B.value.length,
705
+ formatter: F.value.xAxis.dataLabels.datetimeFormatter,
706
+ start: 0,
707
+ end: K.value
708
+ });
709
+ e === Jn && (Kn.value = t);
710
+ })();
711
+ });
712
+ let Yn = S({
713
+ months: [],
714
+ shortMonths: [],
715
+ days: [],
716
+ shortDays: []
717
+ }), Xn = 0;
718
+ qe(() => {
719
+ let e = ++Xn, t = F.value.xAxis.dataLabels.datetimeFormatter;
720
+ (async () => {
721
+ let n = await de(t.locale).catch(() => de("en"));
722
+ e === Xn && (Yn.value = n.data);
723
+ })();
724
+ });
725
+ let Zn = p(() => {
726
+ let e = F.value.xAxis.dataLabels.datetimeFormatter, t = ue({
727
+ useUTC: e.useUTC,
728
+ locale: Yn.value,
729
+ januaryAsYear: e.januaryAsYear
730
+ });
731
+ return (e, n) => {
732
+ let r = B.value.map((e) => e[0])?.[e];
733
+ return r == null ? "" : t.formatDate(new Date(r), n);
734
+ };
735
+ }), Qn = p(() => (B.value.map((e) => e[0]) || []).map((e, t) => ({
736
+ text: Zn.value(t, L.value.tooltip.timeFormat),
737
+ absoluteIndex: t
738
+ }))), $n = p(() => (B.value.map((e) => e[0]) || []).map((e, t) => ({
739
+ text: Zn.value(t, L.value.zoom.timeFormat),
740
+ absoluteIndex: t
741
+ }))), er = p(() => {
742
+ let e = Math.max(1, Math.floor(Number(F.value.xAxis.dataLabels.modulo) || 1)), t = ($.value || []).map((e) => e?.text ?? ""), n = (Kn.value || []).map((e) => e?.text ?? ""), r = q.value.start ?? 0, i = r > 0 || t.length < n.length;
743
+ return re({
744
+ configuredModulo: e,
745
+ visibleTexts: t,
746
+ allTexts: n,
747
+ startAbs: r,
748
+ isZoomed: i
749
+ });
750
+ }), tr = p(() => {
751
+ let e = F.value.xAxis.dataLabels, t = $.value || [], n = Kn.value || [], r = q.value.start ?? 0, i = A.value, a = K.value, o = t.map((e) => e?.text ?? ""), s = n.map((e) => e?.text ?? ""), c = ne(!!e.showOnlyFirstAndLast, !!e.showOnlyAtModulo, er.value, o, s, r, i, a);
752
+ if (!e.showFirstAndLast || e.showOnlyFirstAndLast || !c.length) return c;
753
+ let l = c.length - 1;
754
+ return c.map((e, t) => t !== 0 && t !== l ? e : {
755
+ ...e,
756
+ text: o[t] ?? ""
757
+ });
758
+ }), nr = p(() => F.value.xAxis.dataLabels.datetimeFormatter.enable ? {
759
+ start: $.value.find((e) => e.absoluteIndex === q.value.start)?.text ?? "",
760
+ end: $.value.find((e) => e.absoluteIndex === q.value.end - 1)?.text ?? ""
761
+ } : {
762
+ start: B.value[q.value.start] ? B.value[q.value.start][0] : B.value[0][0],
763
+ end: B.value[q.value.end - 1] ? B.value[q.value.end - 1][0] : B.value.at(-1)[0]
764
+ }), rr = S(null);
765
+ function ir(e, t) {
766
+ N.value.events.datapointClick && N.value.events.datapointClick({
767
+ datapoint: t,
768
+ seriesIndex: e + q.value.start
769
+ });
770
+ }
771
+ function ar(e, t) {
772
+ N.value.events.datapointLeave && N.value.events.datapointLeave({
773
+ datapoint: t,
774
+ seriesIndex: e + q.value.start
775
+ }), A.value = void 0, Ht.value = !1, M.value = null, on.value = "pointer";
776
+ }
777
+ Ke(() => D.selectedXIndex, (e) => {
778
+ if ([null, void 0].includes(D.selectedXIndex)) {
779
+ A.value = null;
780
+ return;
781
+ }
782
+ let t = e - q.value.start;
783
+ t < 0 || e >= q.value.end ? A.value = null : A.value = t ?? null;
784
+ }, { immediate: !0 });
785
+ function or(e, t, r = "pointer") {
786
+ N.value.events.datapointEnter && N.value.events.datapointEnter({
787
+ datapoint: t,
788
+ seriesIndex: e + q.value.start
789
+ }), A.value = e, M.value = e, on.value = r, rr.value = {
790
+ datapoint: t,
791
+ seriesIndex: e,
792
+ series: Q.value,
793
+ config: N.value
794
+ }, Lr({
795
+ seriesIndex: e,
796
+ datapoint: t
797
+ });
798
+ let i = L.value.tooltip.customFormat;
799
+ if (n(i) && ie(() => i({
800
+ seriesIndex: e,
801
+ datapoint: t,
802
+ series: Q.value,
803
+ config: N.value
804
+ }))) Ut.value = i({
805
+ seriesIndex: e,
806
+ datapoint: t,
807
+ series: Q.value,
808
+ config: N.value
809
+ });
810
+ else if (L.value.tooltip.show) {
811
+ let n = "", { period: r, open: i, high: a, low: o, close: c, volume: l, isBullish: ee } = Q.value[e], { period: u, open: te, high: ne, low: re, close: ie, volume: d } = N.value.translations, ae = F.value.xAxis.dataLabels.datetimeFormatter.enable ? L.value.tooltip.useDefaultTimeFormat ? $.value[e].text : Qn.value[e].text : r;
812
+ n += `<div><svg style="margin-right:6px" viewBox="0 0 12 12" height="12" width="12"><rect x="0" y="0" height="12" width="12" rx="${P.value.borderRadius * 3}" stroke="${P.value.stroke}" stroke-width="${P.value.strokeWidth}"
813
+ fill="${P.value.gradient.show ? ee ? `url(#bullish_gradient_${k.value})` : `url(#bearish_gradient_${k.value})` : ee ? P.value.colors.bullish : P.value.colors.bearish}"/></svg>${ae}</div>`, n += `${d} : <b>${isNaN(l) ? "-" : Number(l.toFixed(L.value.tooltip.roundingValue)).toLocaleString()}</b>`, n += `<div style="margin-top:6px;padding-top:6px;border-top:1px solid ${L.value.tooltip.borderColor}">`;
814
+ let oe = s({
815
+ p: L.value.tooltip.prefix,
816
+ v: i.value,
817
+ s: L.value.tooltip.suffix,
818
+ r: L.value.tooltip.roundingValue
819
+ }), se = s({
820
+ p: L.value.tooltip.prefix,
821
+ v: a.value,
822
+ s: L.value.tooltip.suffix,
823
+ r: L.value.tooltip.roundingValue
824
+ }), ce = s({
825
+ p: L.value.tooltip.prefix,
826
+ v: o.value,
827
+ s: L.value.tooltip.suffix,
828
+ r: L.value.tooltip.roundingValue
829
+ }), le = s({
830
+ p: L.value.tooltip.prefix,
831
+ v: c.value,
832
+ s: L.value.tooltip.suffix,
833
+ r: L.value.tooltip.roundingValue
834
+ });
835
+ L.value.tooltip.showChart ? n += `<div style="width:100%;display:flex;align-items:center;justify-content:center;">
836
+ <svg viewBox="0 0 100 100" width="100px" style="background: transparent; overflow: visible">
837
+ <g>
838
+ <line x1="50" x2="50" y1="20" y2="80" stroke="${t.isBullish ? P.value.colors.bullish : P.value.colors.bearish}" stroke-width="2" stroke-linecap="round" />
839
+ ${t.isBullish ? `
840
+ <line x1="45" x2="50" y1="65" y2="65" stroke="${P.value.colors.bullish}" stroke-width="1.5" stroke-linecap="round" />
841
+ <line x1="50" x2="55" y1="35" y2="35" stroke="${P.value.colors.bullish}" stroke-width="1.5" stroke-linecap="round" />
842
+ <text x="38" y="70" text-anchor="end" fill="${L.value.tooltip.color}">${oe}</text>
843
+ <text x="62" y="40" text-anchor="start" fill="${L.value.tooltip.color}">${le}</text>
844
+ ` : `
845
+ <line x1="45" x2="50" y1="35" y2="35" stroke="${P.value.colors.bearish}" stroke-width="1.5" stroke-linecap="round" />
846
+ <line x1="50" x2="55" y1="65" y2="65" stroke="${P.value.colors.bearish}" stroke-width="1.5" stroke-linecap="round" />
847
+ <text x="40" y="40" text-anchor="end" fill="${L.value.tooltip.color}">${oe}</text>
848
+ <text x="60" y="70" text-anchor="start" fill="${L.value.tooltip.color}">${le}</text>
849
+ `}
850
+ <text x="50" y="13" text-anchor="middle" fill="${L.value.tooltip.color}">${se}</text>
851
+ <text x="50" y="97" text-anchor="middle" fill="${L.value.tooltip.color}">${ce}</text>
852
+ <g>
853
+ </svg>
854
+ <div>
855
+ ` : (n += `<div>${te}: <b>${oe}</b></div>`, n += `<div>${ne}: <b>${se}</b></div>`, n += `<div>${re}: <b>${ce}</b></div>`, n += `<div>${ie}: <b>${le}</b></div>`), n += "</div>", Ut.value = `<div style="text-align:right">${n}</div>`;
856
+ }
857
+ Ht.value = !0;
858
+ }
859
+ let sr = S(null);
860
+ function cr() {
861
+ return new Promise((e) => requestAnimationFrame(() => requestAnimationFrame(() => e())));
862
+ }
863
+ Be(() => {
864
+ sr.value && cancelAnimationFrame(sr.value);
865
+ });
866
+ async function lr() {
867
+ pr(), await Re(), sr.value && cancelAnimationFrame(sr.value), sr.value = requestAnimationFrame(async () => {
868
+ await cr(), pr();
869
+ });
870
+ }
871
+ let ur = S(!1), dr = S(!1), fr = S(!1);
872
+ function pr() {
873
+ if (!ur.value) {
874
+ ur.value = !0;
875
+ try {
876
+ let { startIndex: e, endIndex: t } = L.value.zoom, n = K.value, r = e ?? 0, i = t == null ? n : Math.min(mr(t + 1), n);
877
+ fr.value = !0, q.value.start = r, q.value.end = i, J.value.start = r, J.value.end = i, Pn(), dr.value = !0;
878
+ } finally {
879
+ queueMicrotask(() => {
880
+ fr.value = !1;
881
+ }), ur.value = !1;
882
+ }
883
+ }
884
+ }
885
+ function mr(e) {
886
+ let t = K.value;
887
+ return e > t ? t : e < 0 || e < q.value.start ? L.value.zoom.startIndex === null ? 1 : L.value.zoom.startIndex + 1 : e;
888
+ }
889
+ function hr(e = null) {
890
+ Re(() => {
891
+ let n = [
892
+ N.value.translations.period,
893
+ N.value.translations.open,
894
+ N.value.translations.high,
895
+ N.value.translations.low,
896
+ N.value.translations.close,
897
+ N.value.translations.volume
898
+ ], i = Q.value.map((e, t) => [
899
+ F.value.xAxis.dataLabels.datetimeFormatter.enable ? $.value[t].text : e.period,
900
+ e.open.value,
901
+ e.high.value,
902
+ e.low.value,
903
+ e.close.value,
904
+ e.volume
905
+ ]), a = [
906
+ [L.value.title.text],
907
+ [L.value.title.subtitle.text],
908
+ [
909
+ [""],
910
+ [""],
911
+ [""]
912
+ ],
913
+ n
914
+ ].concat(i), o = r(a);
915
+ e ? e(o) : t({
916
+ csvContent: o,
917
+ title: L.value.title.text || "vue-ui-candlestick"
918
+ });
919
+ });
920
+ }
921
+ let gr = p(() => {
922
+ let e = Q.value.map((e, t) => {
923
+ let n = F.value.xAxis.dataLabels.datetimeFormatter.enable ? $.value?.[t]?.text ?? "" : e.period, r = s({
924
+ p: N.value.table.td.prefix,
925
+ v: e.open.value,
926
+ s: N.value.table.td.suffix,
927
+ r: N.value.table.td.roundingValue
928
+ }), i = s({
929
+ p: N.value.table.td.prefix,
930
+ v: e.high.value,
931
+ s: N.value.table.td.suffix,
932
+ r: N.value.table.td.roundingValue
933
+ }), a = s({
934
+ p: N.value.table.td.prefix,
935
+ v: e.low.value,
936
+ s: N.value.table.td.suffix,
937
+ r: N.value.table.td.roundingValue
938
+ }), o = s({
939
+ p: N.value.table.td.prefix,
940
+ v: e.close.value,
941
+ s: N.value.table.td.suffix,
942
+ r: N.value.table.td.roundingValue
943
+ });
944
+ return [
945
+ `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" height="12" width="12" style="margin-right: 6px"><rect x="0" y="0" height="12" width="12" rx="${P.value.borderRadius * 3}" fill="${P.value.gradient.show ? e.isBullish ? `url(#bullish_gradient_${k.value})` : `url(#bearish_gradient_${k.value})` : e.isBullish ? P.value.colors.bullish : P.value.colors.bearish}"/></svg> ${n}`,
946
+ r,
947
+ i,
948
+ a,
949
+ o,
950
+ `${isNaN(e.volume) ? "-" : e.volume.toLocaleString()}`
951
+ ];
952
+ }), t = Q.value.map((e, t) => [
953
+ F.value.xAxis.dataLabels.datetimeFormatter.enable ? $.value?.[t]?.text ?? "" : e.period,
954
+ s({
955
+ p: N.value.table.td.prefix,
956
+ v: e.open.value,
957
+ s: N.value.table.td.suffix,
958
+ r: N.value.table.td.roundingValue
959
+ }),
960
+ s({
961
+ p: N.value.table.td.prefix,
962
+ v: e.high.value,
963
+ s: N.value.table.td.suffix,
964
+ r: N.value.table.td.roundingValue
965
+ }),
966
+ s({
967
+ p: N.value.table.td.prefix,
968
+ v: e.low.value,
969
+ s: N.value.table.td.suffix,
970
+ r: N.value.table.td.roundingValue
971
+ }),
972
+ s({
973
+ p: N.value.table.td.prefix,
974
+ v: e.close.value,
975
+ s: N.value.table.td.suffix,
976
+ r: N.value.table.td.roundingValue
977
+ }),
978
+ `${isNaN(e.volume) ? "-" : e.volume}`
979
+ ]), n = {
980
+ th: {
981
+ backgroundColor: N.value.table.th.backgroundColor,
982
+ color: N.value.table.th.color,
983
+ outline: N.value.table.th.outline
984
+ },
985
+ td: {
986
+ backgroundColor: N.value.table.td.backgroundColor,
987
+ color: N.value.table.td.color,
988
+ outline: N.value.table.td.outline
989
+ },
990
+ breakpoint: N.value.table.responsiveBreakpoint
991
+ }, r = [
992
+ N.value.translations.period,
993
+ N.value.translations.open,
994
+ N.value.translations.high,
995
+ N.value.translations.low,
996
+ N.value.translations.last,
997
+ N.value.translations.volume
998
+ ];
999
+ return {
1000
+ head: r,
1001
+ body: e,
1002
+ bodyA11y: t,
1003
+ config: n,
1004
+ colNames: r
1005
+ };
1006
+ }), _r = S(!1);
1007
+ function vr(e) {
1008
+ _r.value = e, Wt.value += 1;
1009
+ }
1010
+ function yr() {
1011
+ U.value.showTable = !U.value.showTable;
1012
+ }
1013
+ function br() {
1014
+ U.value.showTooltip = !U.value.showTooltip;
1015
+ }
1016
+ let xr = S(!1);
1017
+ function Sr() {
1018
+ xr.value = !xr.value;
1019
+ }
1020
+ async function Cr({ scale: e = 2 } = {}) {
1021
+ if (!j.value) return;
1022
+ let { imageUri: t, base64: n } = await Se({
1023
+ domElement: j.value,
1024
+ base64: !0,
1025
+ img: !0,
1026
+ scale: e
1027
+ }), r = j.value.getBoundingClientRect(), i = {
1028
+ width: r.width,
1029
+ height: r.height,
1030
+ aspectRatio: r.height ? r.width / r.height : 0
1031
+ }, a = await ae(t, e) ?? i;
1032
+ return {
1033
+ imageUri: t,
1034
+ base64: n,
1035
+ title: L.value.title.text,
1036
+ ...a
1037
+ };
1038
+ }
1039
+ let wr = p(() => V.value.width), Tr = p(() => V.value.height);
1040
+ xe({
1041
+ timeLabelsEls: en,
1042
+ timeLabels: $,
1043
+ slicer: q,
1044
+ configRef: N,
1045
+ rotationPath: [
1046
+ "style",
1047
+ "layout",
1048
+ "grid",
1049
+ "xAxis",
1050
+ "dataLabels",
1051
+ "rotation"
1052
+ ],
1053
+ autoRotatePath: [
1054
+ "style",
1055
+ "layout",
1056
+ "grid",
1057
+ "xAxis",
1058
+ "dataLabels",
1059
+ "autoRotate",
1060
+ "enable"
1061
+ ],
1062
+ isAutoSize: !1,
1063
+ rotation: F.value.xAxis.dataLabels.autoRotate.angle,
1064
+ width: wr,
1065
+ height: Tr
1066
+ }), Ke(N, () => {
1067
+ U.value = {
1068
+ showTable: N.value.table.show,
1069
+ showTooltip: L.value.tooltip.show
1070
+ };
1071
+ }, { immediate: !0 });
1072
+ let Er = p(() => {
1073
+ let e = N.value.table.useDialog && !N.value.table.show, t = U.value.showTable;
1074
+ return {
1075
+ component: e ? Ft : At,
1076
+ title: `${L.value.title.text}${L.value.title.subtitle.text ? `: ${L.value.title.subtitle.text}` : ""}`,
1077
+ props: e ? {
1078
+ backgroundColor: N.value.table.th.backgroundColor,
1079
+ color: N.value.table.th.color,
1080
+ headerColor: N.value.table.th.color,
1081
+ headerBg: N.value.table.th.backgroundColor,
1082
+ isFullscreen: _r.value,
1083
+ fullscreenParent: j.value,
1084
+ forcedWidth: Math.min(800, window.innerWidth * .8),
1085
+ isCursorPointer: ln.value
1086
+ } : {
1087
+ hideDetails: !0,
1088
+ config: {
1089
+ open: t,
1090
+ maxHeight: 1e4,
1091
+ body: {
1092
+ backgroundColor: L.value.backgroundColor,
1093
+ color: L.value.color
1094
+ },
1095
+ head: {
1096
+ backgroundColor: L.value.backgroundColor,
1097
+ color: L.value.color
1098
+ }
1099
+ }
1100
+ }
1101
+ };
1102
+ });
1103
+ Ke(() => U.value.showTable, (e) => {
1104
+ N.value.table.show || (e && N.value.table.useDialog && tn.value ? tn.value.open() : "close" in tn.value && tn.value.close());
1105
+ });
1106
+ function Dr() {
1107
+ U.value.showTable = !1, nn.value && nn.value.setTableIconState(!1);
1108
+ }
1109
+ let Or = p(() => L.value.backgroundColor), kr = p(() => L.value.title), { isCallbackImaging: Ar, isCallbackSvg: jr, generateSvg: Mr, onGenerateImage: Nr } = ye({
1110
+ svg: hn,
1111
+ title: kr,
1112
+ legend: null,
1113
+ legendItems: null,
1114
+ backgroundColor: Or,
1115
+ getSvgCallback: () => N.value.userOptions.callbacks.svg,
1116
+ generateImage: Tn
1117
+ });
1118
+ function Pr(e) {
1119
+ rn.value = e;
1120
+ }
1121
+ function Fr(e) {
1122
+ ur.value || fr.value || e !== q.value.start && (q.value.start = e, J.value.start = e, Pn());
1123
+ }
1124
+ function Ir(e) {
1125
+ if (ur.value || fr.value) return;
1126
+ let t = mr(e);
1127
+ t !== q.value.end && (q.value.end = t, J.value.end = t, Pn());
1128
+ }
1129
+ function Lr({ seriesIndex: e, datapoint: t }) {
1130
+ let n = q.value.start + e;
1131
+ zt("selectX", {
1132
+ dataset: t,
1133
+ index: n,
1134
+ indexLabel: ""
1135
+ });
1136
+ }
1137
+ async function Rr() {
1138
+ if (zt("copyAlt", {
1139
+ config: N.value,
1140
+ dataset: Q.value
1141
+ }), !N.value.userOptions.callbacks.altCopy) {
1142
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
1143
+ return;
1144
+ }
1145
+ await Promise.resolve(N.value.userOptions.callbacks.altCopy({
1146
+ config: N.value,
1147
+ dataset: Q.value
1148
+ }));
1149
+ }
1150
+ function zr() {
1151
+ M.value = null, sn.value = !0;
1152
+ }
1153
+ function Br() {
1154
+ M.value = null, on.value = "pointer", Ht.value = !1, A.value = void 0, sn.value = !1;
1155
+ }
1156
+ function Vr(e) {
1157
+ if (!hn.value || xr.value || document.activeElement !== hn.value || !Q.value.length) return;
1158
+ let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
1159
+ if (!t && !n && !r && !i) return;
1160
+ if (e.preventDefault(), e.stopPropagation(), i) {
1161
+ M.value = null, on.value = "pointer", Ht.value = !1, A.value = void 0;
1162
+ return;
1163
+ }
1164
+ if (r) {
1165
+ if (M.value === null) return;
1166
+ let e = Q.value[M.value];
1167
+ if (!e) return;
1168
+ ir(M.value, e);
1169
+ return;
1170
+ }
1171
+ let a = M.value, o = A.value, s = a !== null && a >= 0 && a < Q.value.length, c = o != null && o >= 0 && o < Q.value.length;
1172
+ s ? n ? (a += 1, a >= Q.value.length && (a = 0)) : t && (--a, a < 0 && (a = Q.value.length - 1)) : c ? (a = n ? o + 1 : o - 1, a >= Q.value.length && (a = 0), a < 0 && (a = Q.value.length - 1)) : a = n ? 0 : Q.value.length - 1;
1173
+ let l = Q.value[a];
1174
+ l && (Hr(a), or(a, l, "keyboard"));
1175
+ }
1176
+ function Hr(e) {
1177
+ if (!Number.isFinite(e) || !hn.value) return;
1178
+ let t = G.value.left + X.value * e + X.value / 2, n = G.value.top + G.value.height / 2, r = hn.value.getBoundingClientRect();
1179
+ an.value = {
1180
+ x: r.left + t / V.value.width * r.width,
1181
+ y: r.top + n / V.value.height * r.height
1182
+ };
1183
+ }
1184
+ let Ur = p(() => ({
1185
+ headers: gr.value?.colNames ?? [],
1186
+ rows: gr.value?.bodyA11y ?? []
1187
+ }));
1188
+ return we({
1189
+ getImage: Cr,
1190
+ generatePdf: wn,
1191
+ generateCsv: hr,
1192
+ generateImage: Tn,
1193
+ generateSvg: Mr,
1194
+ toggleTable: yr,
1195
+ toggleTooltip: br,
1196
+ toggleAnnotator: Sr,
1197
+ toggleFullscreen: vr,
1198
+ copyAlt: Rr
1199
+ }), (e, t) => (x(), h("div", {
1200
+ ref_key: "candlestickChart",
1201
+ ref: j,
1202
+ class: y(`vue-data-ui-component vue-ui-candlestick ${_r.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${N.value.useCssAnimation ? "" : "vue-ui-dna"}`),
1203
+ style: ze(`position:relative;font-family:${L.value.fontFamily}; text-align:center;background:${L.value.backgroundColor}; ${N.value.responsive ? "height: 100%" : ""}`),
1204
+ id: `vue-ui-candlestick_${k.value}`,
1205
+ onMouseenter: gn,
1206
+ onMouseleave: _n
1207
+ }, [
1208
+ g("div", {
1209
+ id: `chart-instructions-${k.value}`,
1210
+ class: "sr-only"
1211
+ }, [g("p", null, We(N.value.a11y.translations.keyboardNavigation), 1)], 8, Xe),
1212
+ Ur.value?.rows?.length ? (x(), Ne(ke, {
1213
+ key: 0,
1214
+ uid: k.value,
1215
+ head: Ur.value.headers,
1216
+ body: Ur.value.rows,
1217
+ notice: N.value.a11y.translations.tableAvailable,
1218
+ caption: N.value.a11y.translations.tableCaption
1219
+ }, null, 8, [
1220
+ "uid",
1221
+ "head",
1222
+ "body",
1223
+ "notice",
1224
+ "caption"
1225
+ ])) : m("", !0),
1226
+ R.value.buttons.annotator ? (x(), Ne(T(Mt), {
1227
+ key: 1,
1228
+ svgRef: T(hn),
1229
+ backgroundColor: L.value.backgroundColor,
1230
+ color: L.value.color,
1231
+ active: xr.value,
1232
+ isCursorPointer: ln.value,
1233
+ palette: R.value.annotatorPalette,
1234
+ onClose: Sr
1235
+ }, {
1236
+ "annotator-action-close": E(() => [w(e.$slots, "annotator-action-close", {}, void 0, !0)]),
1237
+ "annotator-action-color": E(({ color: t }) => [w(e.$slots, "annotator-action-color", b(v({ color: t })), void 0, !0)]),
1238
+ "annotator-action-draw": E(({ mode: t }) => [w(e.$slots, "annotator-action-draw", b(v({ mode: t })), void 0, !0)]),
1239
+ "annotator-action-undo": E(({ disabled: t }) => [w(e.$slots, "annotator-action-undo", b(v({ disabled: t })), void 0, !0)]),
1240
+ "annotator-action-redo": E(({ disabled: t }) => [w(e.$slots, "annotator-action-redo", b(v({ disabled: t })), void 0, !0)]),
1241
+ "annotator-action-delete": E(({ disabled: t }) => [w(e.$slots, "annotator-action-delete", b(v({ disabled: t })), void 0, !0)]),
1242
+ _: 3
1243
+ }, 8, [
1244
+ "svgRef",
1245
+ "backgroundColor",
1246
+ "color",
1247
+ "active",
1248
+ "isCursorPointer",
1249
+ "palette"
1250
+ ])) : m("", !0),
1251
+ En.value ? (x(), h("div", {
1252
+ key: 2,
1253
+ ref_key: "noTitle",
1254
+ ref: Yt,
1255
+ class: "vue-data-ui-no-title-space",
1256
+ style: "height:36px; width: 100%;background:transparent"
1257
+ }, null, 512)) : m("", !0),
1258
+ L.value.title.text ? (x(), h("div", {
1259
+ key: 3,
1260
+ ref_key: "chartTitle",
1261
+ ref: Gt,
1262
+ style: "width:100%;background:transparent"
1263
+ }, [(x(), Ne(Ce, {
1264
+ key: `title_${Qt.value}`,
1265
+ config: {
1266
+ title: {
1267
+ cy: "candlestick-div-title",
1268
+ ...L.value.title
1269
+ },
1270
+ subtitle: {
1271
+ cy: "candlestick-div-subtitle",
1272
+ ...L.value.title.subtitle
1273
+ }
1274
+ }
1275
+ }, null, 8, ["config"]))], 512)) : m("", !0),
1276
+ R.value.show && Bt.value && (T(mn) || T(fn)) ? (x(), Ne(T(Nt), {
1277
+ ref_key: "userOptionsRef",
1278
+ ref: nn,
1279
+ key: `user_options_${Wt.value}`,
1280
+ backgroundColor: L.value.backgroundColor,
1281
+ color: L.value.color,
1282
+ isImaging: T(Cn),
1283
+ isPrinting: T(Sn),
1284
+ uid: k.value,
1285
+ hasTooltip: R.value.buttons.tooltip && L.value.tooltip.show,
1286
+ hasPdf: R.value.buttons.pdf,
1287
+ hasImg: R.value.buttons.img,
1288
+ hasSvg: R.value.buttons.svg,
1289
+ hasXls: R.value.buttons.csv,
1290
+ hasTable: R.value.buttons.table,
1291
+ hasFullscreen: R.value.buttons.fullscreen,
1292
+ hasAltCopy: R.value.buttons.altCopy,
1293
+ isFullscreen: _r.value,
1294
+ isTooltip: U.value.showTooltip,
1295
+ titles: { ...R.value.buttonTitles },
1296
+ chartElement: j.value,
1297
+ position: R.value.position,
1298
+ hasAnnotator: R.value.buttons.annotator,
1299
+ isAnnotation: xr.value,
1300
+ callbacks: R.value.callbacks,
1301
+ printScale: R.value.print.scale,
1302
+ tableDialog: N.value.table.useDialog,
1303
+ isCursorPointer: ln.value,
1304
+ onToggleFullscreen: vr,
1305
+ onGeneratePdf: T(wn),
1306
+ onGenerateCsv: hr,
1307
+ onGenerateImage: T(Nr),
1308
+ onGenerateSvg: T(Mr),
1309
+ onToggleTable: yr,
1310
+ onToggleTooltip: br,
1311
+ onToggleAnnotator: Sr,
1312
+ onCopyAlt: Rr,
1313
+ style: ze({ visibility: T(mn) ? T(fn) ? "visible" : "hidden" : "visible" })
1314
+ }, Pe({ _: 2 }, [
1315
+ e.$slots.menuIcon ? {
1316
+ name: "menuIcon",
1317
+ fn: E(({ isOpen: t, color: n }) => [w(e.$slots, "menuIcon", b(v({
1318
+ isOpen: t,
1319
+ color: n
1320
+ })), void 0, !0)]),
1321
+ key: "0"
1322
+ } : void 0,
1323
+ e.$slots.optionTooltip ? {
1324
+ name: "optionTooltip",
1325
+ fn: E(() => [w(e.$slots, "optionTooltip", {}, void 0, !0)]),
1326
+ key: "1"
1327
+ } : void 0,
1328
+ e.$slots.optionPdf ? {
1329
+ name: "optionPdf",
1330
+ fn: E(() => [w(e.$slots, "optionPdf", {}, void 0, !0)]),
1331
+ key: "2"
1332
+ } : void 0,
1333
+ e.$slots.optionCsv ? {
1334
+ name: "optionCsv",
1335
+ fn: E(() => [w(e.$slots, "optionCsv", {}, void 0, !0)]),
1336
+ key: "3"
1337
+ } : void 0,
1338
+ e.$slots.optionImg ? {
1339
+ name: "optionImg",
1340
+ fn: E(() => [w(e.$slots, "optionImg", {}, void 0, !0)]),
1341
+ key: "4"
1342
+ } : void 0,
1343
+ e.$slots.optionSvg ? {
1344
+ name: "optionSvg",
1345
+ fn: E(() => [w(e.$slots, "optionSvg", {}, void 0, !0)]),
1346
+ key: "5"
1347
+ } : void 0,
1348
+ e.$slots.optionTable ? {
1349
+ name: "optionTable",
1350
+ fn: E(() => [w(e.$slots, "optionTable", {}, void 0, !0)]),
1351
+ key: "6"
1352
+ } : void 0,
1353
+ e.$slots.optionFullscreen ? {
1354
+ name: "optionFullscreen",
1355
+ fn: E(({ toggleFullscreen: t, isFullscreen: n }) => [w(e.$slots, "optionFullscreen", b(v({
1356
+ toggleFullscreen: t,
1357
+ isFullscreen: n
1358
+ })), void 0, !0)]),
1359
+ key: "7"
1360
+ } : void 0,
1361
+ e.$slots.optionAnnotator ? {
1362
+ name: "optionAnnotator",
1363
+ fn: E(({ toggleAnnotator: t, isAnnotator: n }) => [w(e.$slots, "optionAnnotator", b(v({
1364
+ toggleAnnotator: t,
1365
+ isAnnotator: n
1366
+ })), void 0, !0)]),
1367
+ key: "8"
1368
+ } : void 0,
1369
+ e.$slots.optionAltCopy ? {
1370
+ name: "optionAltCopy",
1371
+ fn: E(({ altCopy: t }) => [w(e.$slots, "optionAltCopy", b(v({ altCopy: t })), void 0, !0)]),
1372
+ key: "9"
1373
+ } : void 0,
1374
+ e.$slots["custom-menu-before"] ? {
1375
+ name: "custom-menu-before",
1376
+ fn: E(() => [w(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1377
+ key: "10"
1378
+ } : void 0,
1379
+ e.$slots["custom-menu-after"] ? {
1380
+ name: "custom-menu-after",
1381
+ fn: E(() => [w(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1382
+ key: "11"
1383
+ } : void 0
1384
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isImaging.isPrinting.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : m("", !0),
1385
+ g("div", Ze, [(x(), h("svg", {
1386
+ ref_key: "svgRef",
1387
+ ref: hn,
1388
+ xmlns: T(se),
1389
+ "aria-describedby": `chart-instructions-${k.value}`,
1390
+ class: y({
1391
+ "vue-data-ui-fullscreen--on": _r.value,
1392
+ "vue-data-ui-fulscreen--off": !_r.value,
1393
+ "vue-data-ui-no-transition": !T(cn)
1394
+ }),
1395
+ viewBox: `0 0 ${V.value.width <= 0 ? 10 : V.value.width} ${V.value.height <= 0 ? 10 : V.value.height}`,
1396
+ style: ze(`max-width:100%;overflow:visible;background:transparent;color:${L.value.color}`),
1397
+ tabindex: "0",
1398
+ onFocus: zr,
1399
+ onBlur: Br,
1400
+ onKeydown: Vr
1401
+ }, [
1402
+ Ie(T(Pt)),
1403
+ e.$slots["chart-background"] ? (x(), h("foreignObject", {
1404
+ key: 0,
1405
+ x: G.value.left,
1406
+ y: G.value.top,
1407
+ width: Math.max(.1, G.value.width),
1408
+ height: Math.max(.1, G.value.height),
1409
+ style: { pointerEvents: "none" }
1410
+ }, [w(e.$slots, "chart-background", {}, void 0, !0)], 8, $e)) : m("", !0),
1411
+ Q.value.length > 0 ? (x(), h("g", et, [
1412
+ g("defs", null, [Ie(De, {
1413
+ t: "linear",
1414
+ id: `bearish_gradient_${k.value}`,
1415
+ x2: "0%",
1416
+ y2: "100%",
1417
+ stops: [
1418
+ [
1419
+ "0%",
1420
+ P.value.colors.bearish,
1421
+ 1
1422
+ ],
1423
+ [
1424
+ "50%",
1425
+ T(o)(P.value.colors.bearish, .02),
1426
+ .87
1427
+ ],
1428
+ [
1429
+ "100%",
1430
+ T(o)(P.value.colors.bearish, .05),
1431
+ .4
1432
+ ]
1433
+ ]
1434
+ }, null, 8, ["id", "stops"]), Ie(De, {
1435
+ t: "linear",
1436
+ id: `bullish_gradient_${k.value}`,
1437
+ x2: "0%",
1438
+ y2: "100%",
1439
+ stops: [
1440
+ [
1441
+ "0%",
1442
+ P.value.colors.bullish,
1443
+ 1
1444
+ ],
1445
+ [
1446
+ "50%",
1447
+ T(o)(P.value.colors.bullish, .02),
1448
+ .87
1449
+ ],
1450
+ [
1451
+ "100%",
1452
+ T(o)(P.value.colors.bullish, .05),
1453
+ .4
1454
+ ]
1455
+ ]
1456
+ }, null, 8, ["id", "stops"])]),
1457
+ F.value.show ? (x(), h("g", tt, [
1458
+ g("line", {
1459
+ x1: W.value ? G.value.right : G.value.left,
1460
+ x2: W.value ? G.value.right : G.value.left,
1461
+ y1: G.value.top,
1462
+ y2: G.value.bottom,
1463
+ stroke: F.value.stroke,
1464
+ "stroke-width": F.value.strokeWidth,
1465
+ "stroke-linecap": "round"
1466
+ }, null, 8, nt),
1467
+ g("line", {
1468
+ x1: G.value.left,
1469
+ x2: G.value.right,
1470
+ y1: G.value.bottom,
1471
+ y2: G.value.bottom,
1472
+ stroke: F.value.stroke,
1473
+ "stroke-width": F.value.strokeWidth,
1474
+ "stroke-linecap": "round"
1475
+ }, null, 8, rt),
1476
+ F.value.horizontalLines.show ? (x(!0), h(f, { key: 0 }, C(Wn.value, (e) => (x(), h("line", {
1477
+ x1: G.value.left,
1478
+ x2: G.value.right,
1479
+ y1: e.y,
1480
+ y2: e.y,
1481
+ stroke: F.value.horizontalLines.stroke,
1482
+ "stroke-width": F.value.horizontalLines.strokeWidth,
1483
+ "stroke-dasharray": F.value.horizontalLines.strokeDasharray,
1484
+ "stroke-linecap": "round"
1485
+ }, null, 8, it))), 256)) : m("", !0),
1486
+ F.value.verticalLines.show ? (x(!0), h(f, { key: 1 }, C(tr.value, (e, t) => (x(), h("g", null, [e.text ? (x(), h("line", {
1487
+ key: 0,
1488
+ x1: G.value.left + X.value * t + X.value / 2,
1489
+ x2: G.value.left + X.value * t + X.value / 2,
1490
+ y1: G.value.top,
1491
+ y2: G.value.bottom,
1492
+ stroke: F.value.verticalLines.stroke,
1493
+ "stroke-width": F.value.verticalLines.strokeWidth,
1494
+ "stroke-dasharray": F.value.verticalLines.strokeDasharray,
1495
+ "stroke-linecap": "round"
1496
+ }, null, 8, at)) : m("", !0)]))), 256)) : m("", !0),
1497
+ F.value.xAxis.ticks.show ? (x(!0), h(f, { key: 2 }, C(tr.value, (e, t) => (x(), h("g", null, [e.text ? (x(), h("line", {
1498
+ key: 0,
1499
+ x1: G.value.left + X.value * t + X.value / 2,
1500
+ x2: G.value.left + X.value * t + X.value / 2,
1501
+ y1: G.value.bottom,
1502
+ y2: G.value.bottom + 3,
1503
+ stroke: F.value.stroke,
1504
+ "stroke-width": F.value.strokeWidth,
1505
+ "stroke-linecap": "round"
1506
+ }, null, 8, ot)) : m("", !0)]))), 256)) : m("", !0)
1507
+ ])) : m("", !0),
1508
+ F.value.yAxis.dataLabels.show ? (x(), h("g", {
1509
+ key: 1,
1510
+ ref_key: "scaleLabels",
1511
+ ref: $t
1512
+ }, [(x(!0), h(f, null, C(Wn.value, (e, t) => (x(), h("g", { key: `sl_${t}` }, [e.value >= Z.value.min && e.value <= Z.value.max ? (x(), h("line", {
1513
+ key: 0,
1514
+ x1: W.value ? G.value.right : G.value.left,
1515
+ x2: W.value ? G.value.right + 5 : G.value.left - 5,
1516
+ y1: e.y,
1517
+ y2: e.y,
1518
+ stroke: F.value.stroke,
1519
+ "stroke-width": F.value.strokeWidth,
1520
+ "stroke-linecap": "round"
1521
+ }, null, 8, st)) : m("", !0), e.value >= Z.value.min && e.value <= Z.value.max ? (x(), h("text", {
1522
+ key: 1,
1523
+ class: y({ "vue-data-ui-transition": T(cn) }),
1524
+ transform: `translate(${W.value ? G.value.right + 8 + F.value.yAxis.dataLabels.offsetX : G.value.left - 8 + F.value.yAxis.dataLabels.offsetX}, ${e.y + V.value.yAxisFontSize / 3})`,
1525
+ "text-anchor": W.value ? "start" : "end",
1526
+ "font-size": V.value.yAxisFontSize,
1527
+ fill: F.value.yAxis.dataLabels.color,
1528
+ "font-weight": F.value.yAxis.dataLabels.bold ? "bold" : "normal"
1529
+ }, We(T(s)({
1530
+ p: F.value.yAxis.dataLabels.prefix,
1531
+ v: e.value,
1532
+ s: F.value.yAxis.dataLabels.suffix,
1533
+ r: F.value.yAxis.dataLabels.roundingValue
1534
+ })), 11, ct)) : m("", !0)]))), 128))], 512)) : m("", !0),
1535
+ F.value.xAxis.dataLabels.show && !F.value.xAxis.dataLabels.datetimeFormatter.enable ? (x(), h("g", {
1536
+ key: 2,
1537
+ ref_key: "timeLabelsEls",
1538
+ ref: en
1539
+ }, [(x(!0), h(f, null, C(Gn.value, (e, t) => (x(), h("g", null, [g("text", {
1540
+ class: "vue-data-ui-time-label",
1541
+ transform: `translate(${G.value.left + X.value * t + X.value / 2}, ${G.value.bottom + V.value.xAxisFontSize * 1.5}), rotate(${F.value.xAxis.dataLabels.rotation})`,
1542
+ "text-anchor": F.value.xAxis.dataLabels.rotation > 0 ? "start" : F.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1543
+ "font-size": V.value.xAxisFontSize,
1544
+ fill: F.value.xAxis.dataLabels.color,
1545
+ "font-weight": F.value.xAxis.dataLabels.bold ? "bold" : "normal"
1546
+ }, We(e), 9, lt)]))), 256))], 512)) : m("", !0),
1547
+ F.value.xAxis.dataLabels.show && F.value.xAxis.dataLabels.datetimeFormatter.enable ? (x(), h("g", {
1548
+ key: 3,
1549
+ ref_key: "timeLabelsEls",
1550
+ ref: en
1551
+ }, [(x(!0), h(f, null, C(tr.value, (e, t) => (x(), h("g", null, [g("text", {
1552
+ class: "vue-data-ui-time-label",
1553
+ transform: `translate(${G.value.left + X.value * t + X.value / 2}, ${G.value.bottom + V.value.xAxisFontSize * 1.5}), rotate(${F.value.xAxis.dataLabels.rotation})`,
1554
+ "text-anchor": F.value.xAxis.dataLabels.rotation > 0 ? "start" : F.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1555
+ "font-size": V.value.xAxisFontSize,
1556
+ fill: F.value.xAxis.dataLabels.color,
1557
+ stroke: L.value.backgroundColor,
1558
+ "stroke-width": "3",
1559
+ "stroke-linecap": "round",
1560
+ "stroke-linejoin": "round",
1561
+ "paint-order": "stroke fill",
1562
+ "font-weight": F.value.xAxis.dataLabels.bold ? "bold" : "normal"
1563
+ }, We(e?.text ?? ""), 9, ut)]))), 256))], 512)) : m("", !0),
1564
+ N.value.type === "candlestick" ? (x(), h(f, { key: 4 }, [g("g", null, [(x(!0), h(f, null, C(Q.value, (e, t) => (x(), h("g", null, [
1565
+ g("rect", {
1566
+ x: e.open.x - I.value.wick.strokeWidth / 2,
1567
+ y: e.high.y,
1568
+ width: I.value.wick.strokeWidth,
1569
+ height: Math.abs(e.high.y - e.low.y),
1570
+ fill: I.value.wick.stroke,
1571
+ stroke: "none",
1572
+ rx: I.value.wick.strokeWidth / 2,
1573
+ class: y({ "vue-data-ui-transition": O.value && !T(z) })
1574
+ }, null, 10, dt),
1575
+ I.value.wick.extremity.shape === "circle" ? (x(), h("g", ft, [g("circle", {
1576
+ cx: e.high.x,
1577
+ cy: e.high.y,
1578
+ r: I.value.wick.extremity.size === "auto" ? X.value / 20 : I.value.wick.extremity.size,
1579
+ fill: I.value.wick.extremity.color,
1580
+ class: y({ "vue-data-ui-transition": O.value && !T(z) })
1581
+ }, null, 10, pt), g("circle", {
1582
+ cx: e.low.x,
1583
+ cy: e.low.y,
1584
+ r: I.value.wick.extremity.size === "auto" ? X.value / 20 : I.value.wick.extremity.size,
1585
+ fill: I.value.wick.extremity.color,
1586
+ class: y({ "vue-data-ui-transition": O.value && !T(z) })
1587
+ }, null, 10, mt)])) : m("", !0),
1588
+ I.value.wick.extremity.shape === "line" ? (x(), h("g", ht, [g("rect", {
1589
+ x: e.high.x - (I.value.wick.extremity.size === "auto" ? X.value * I.value.candle.widthRatio : I.value.wick.extremity.size) / 2,
1590
+ y: e.high.y - I.value.wick.strokeWidth / 2,
1591
+ width: Math.abs(e.high.x - (I.value.wick.extremity.size === "auto" ? X.value * L.value.layout.candle.widthRatio : L.value.layout.wick.extremity.size) / 2 - (e.high.x + (L.value.layout.wick.extremity.size === "auto" ? X.value * L.value.layout.candle.widthRatio : L.value.layout.wick.extremity.size) / 2)),
1592
+ height: I.value.wick.strokeWidth,
1593
+ rx: I.value.wick.strokeWidth / 2,
1594
+ fill: I.value.wick.extremity.color,
1595
+ stroke: "none",
1596
+ class: y({ "vue-data-ui-transition": O.value && !T(z) })
1597
+ }, null, 10, gt), g("rect", {
1598
+ x: e.low.x - (I.value.wick.extremity.size === "auto" ? X.value * I.value.candle.widthRatio : I.value.wick.extremity.size) / 2,
1599
+ y: e.low.y - I.value.wick.strokeWidth / 2,
1600
+ width: Math.abs(e.low.x - (I.value.wick.extremity.size === "auto" ? X.value * L.value.layout.candle.widthRatio : L.value.layout.wick.extremity.size) / 2 - (e.low.x + (L.value.layout.wick.extremity.size === "auto" ? X.value * L.value.layout.candle.widthRatio : L.value.layout.wick.extremity.size) / 2)),
1601
+ height: I.value.wick.strokeWidth,
1602
+ fill: I.value.wick.extremity.color,
1603
+ stroke: "none",
1604
+ rx: I.value.wick.strokeWidth / 2,
1605
+ class: y({ "vue-data-ui-transition": O.value && !T(z) })
1606
+ }, null, 10, _t)])) : m("", !0)
1607
+ ]))), 256))]), g("g", null, [(x(!0), h(f, null, C(Q.value, (e, t) => (x(), h("rect", {
1608
+ x: e.open.x - X.value / 2 + X.value * (1 - P.value.widthRatio) / 2,
1609
+ y: e.isBullish ? e.close.y : e.open.y,
1610
+ height: Math.abs(e.close.y - e.open.y) <= 0 ? 1e-4 : Math.abs(e.close.y - e.open.y),
1611
+ width: X.value * P.value.widthRatio <= 0 ? 1e-4 : X.value * P.value.widthRatio,
1612
+ fill: P.value.gradient.underlayer,
1613
+ rx: P.value.borderRadius,
1614
+ stroke: "none",
1615
+ class: y({ "vue-data-ui-transition": O.value && !T(z) })
1616
+ }, null, 10, vt))), 256)), (x(!0), h(f, null, C(Q.value, (e, t) => (x(), h("rect", {
1617
+ x: e.open.x - X.value / 2 + X.value * (1 - P.value.widthRatio) / 2,
1618
+ y: e.isBullish ? e.close.y : e.open.y,
1619
+ height: Math.abs(e.close.y - e.open.y) <= 0 ? 1e-4 : Math.abs(e.close.y - e.open.y),
1620
+ width: X.value * P.value.widthRatio <= 0 ? 1e-4 : X.value * P.value.widthRatio,
1621
+ fill: e.isBullish ? P.value.gradient.show ? `url(#bullish_gradient_${k.value})` : P.value.colors.bullish : P.value.gradient.show ? `url(#bearish_gradient_${k.value})` : P.value.colors.bearish,
1622
+ rx: P.value.borderRadius,
1623
+ stroke: P.value.stroke,
1624
+ "stroke-width": P.value.strokeWidth,
1625
+ "stroke-linecap": "round",
1626
+ "stroke-linejoin": "round",
1627
+ class: y({ "vue-data-ui-transition": O.value && !T(z) })
1628
+ }, null, 10, yt))), 256))])], 64)) : m("", !0),
1629
+ N.value.type === "ohlc" ? (x(!0), h(f, { key: 5 }, C(Q.value, (e, t) => (x(), h("g", { key: `ohlc_${e.absoluteIndex}` }, [g("path", {
1630
+ d: `M ${e.high.x},${e.high.y} ${e.low.x},${e.low.y} M${e.open.x - Math.min(6, X.value / 3)},${e.open.y} ${e.open.x},${e.open.y} M${e.close.x},${e.close.y} ${e.close.x + Math.min(6, X.value / 3)},${e.close.y}`,
1631
+ stroke: e.isBullish ? P.value.colors.bullish : P.value.colors.bearish,
1632
+ "stroke-width": 1,
1633
+ class: y({ "vue-data-ui-transition": T(cn) }),
1634
+ "stroke-linecap": "round",
1635
+ "stroke-linejoin": "round"
1636
+ }, null, 10, bt)]))), 128)) : m("", !0),
1637
+ g("g", null, [(x(!0), h(f, null, C(Q.value, (e, t) => (x(), h("rect", {
1638
+ x: G.value.left + t * X.value,
1639
+ y: G.value.top,
1640
+ height: G.value.height <= 0 ? 1e-4 : G.value.height,
1641
+ width: X.value <= 0 ? 1e-4 : X.value,
1642
+ fill: A.value === t || rn.value === t ? T(a)(I.value.selector.color, I.value.selector.opacity) : "transparent",
1643
+ onMouseover: () => or(t, e, "pointer"),
1644
+ onMouseleave: () => ar(t, e),
1645
+ onClick: () => ir(t, e)
1646
+ }, null, 40, xt))), 256))])
1647
+ ])) : m("", !0),
1648
+ Mn.value ? (x(), h("rect", Le({ key: 2 }, jn.value, {
1649
+ "data-start": q.value.start,
1650
+ "data-end": q.value.end
1651
+ }), null, 16, St)) : m("", !0),
1652
+ w(e.$slots, "svg", { svg: {
1653
+ ...V.value,
1654
+ data: Q.value,
1655
+ drawingArea: G.value,
1656
+ isPrintingImg: T(Sn) || T(Cn) || T(Ar),
1657
+ isPrintingSvg: T(jr)
1658
+ } }, void 0, !0)
1659
+ ], 46, Qe)), e.$slots.hint ? (x(), h("div", Ct, [w(e.$slots, "hint", b(v({
1660
+ hint: N.value.a11y.translations.keyboardNavigation,
1661
+ isVisible: sn.value
1662
+ })), void 0, !0)])) : m("", !0)]),
1663
+ e.$slots.watermark ? (x(), h("div", wt, [w(e.$slots, "watermark", b(v({ isPrinting: T(Sn) || T(Cn) || T(Ar) || T(jr) })), void 0, !0)])) : m("", !0),
1664
+ L.value.zoom.show && K.value > 6 && Bt.value && dr.value ? (x(), Ne(Oe, {
1665
+ key: 6,
1666
+ ref_key: "chartSlicer",
1667
+ ref: qt,
1668
+ "data-dom-to-png-ignore-layout": "",
1669
+ allMinimaps: Hn.value,
1670
+ background: L.value.zoom.color,
1671
+ borderColor: L.value.backgroundColor,
1672
+ customFormat: L.value.zoom.customFormat,
1673
+ cutNullValues: !1,
1674
+ enableRangeHandles: L.value.zoom.enableRangeHandles,
1675
+ enableSelectionDrag: L.value.zoom.enableSelectionDrag,
1676
+ end: q.value.end,
1677
+ focusOnDrag: L.value.zoom.focusOnDrag,
1678
+ focusRangeRatio: L.value.zoom.focusRangeRatio,
1679
+ fontSize: L.value.zoom.fontSize,
1680
+ immediate: !L.value.zoom.preview.enable,
1681
+ inputColor: L.value.zoom.color,
1682
+ isPreview: Mn.value,
1683
+ labelLeft: nr.value.start || "",
1684
+ labelRight: nr.value.end || "",
1685
+ max: K.value,
1686
+ min: 0,
1687
+ minimap: L.value.zoom.minimap.show ? T(B).map((e) => e[2]) : [],
1688
+ minimapCompact: L.value.zoom.minimap.compact,
1689
+ minimapFrameColor: L.value.zoom.minimap.frameColor,
1690
+ minimapIndicatorColor: L.value.zoom.minimap.indicatorColor,
1691
+ minimapMerged: !1,
1692
+ minimapSelectedColor: L.value.zoom.minimap.selectedColor,
1693
+ minimapSelectedColorOpacity: L.value.zoom.minimap.selectedColorOpacity,
1694
+ minimapSelectedIndex: A.value,
1695
+ minimapSelectionRadius: 1,
1696
+ preciseLabels: $n.value,
1697
+ refreshEndPoint: L.value.zoom.endIndex === null ? K.value : L.value.zoom.endIndex + 1,
1698
+ refreshStartPoint: L.value.zoom.startIndex === null ? 0 : L.value.zoom.startIndex,
1699
+ selectColor: L.value.zoom.highlightColor,
1700
+ selectedSeries: T(B),
1701
+ smoothMinimap: !1,
1702
+ start: q.value.start,
1703
+ textColor: L.value.color,
1704
+ timeLabels: Kn.value,
1705
+ usePreciseLabels: F.value.xAxis.dataLabels.datetimeFormatter.enable && !L.value.zoom.useDefaultFormat,
1706
+ useResetSlot: L.value.zoom.useResetSlot,
1707
+ valueEnd: q.value.end,
1708
+ valueStart: q.value.start,
1709
+ verticalHandles: L.value.zoom.minimap.verticalHandles,
1710
+ minScale: F.value.yAxis.scale.min,
1711
+ maxScale: F.value.yAxis.scale.max,
1712
+ maxWidth: L.value.zoom.maxWidth,
1713
+ minimapLeftInsetRatio: V.value.width > 0 && L.value.zoom.autoFit ? G.value.left / V.value.width : null,
1714
+ minimapRightInsetRatio: V.value.width > 0 && L.value.zoom.autoFit ? (V.value.width - G.value.right) / V.value.width : null,
1715
+ additionalMinimapHeight: L.value.zoom.minimap.additionalHeight,
1716
+ handleType: L.value.zoom.minimap.handleType,
1717
+ handleIconColor: L.value.zoom.minimap.handleIconColor,
1718
+ handleBorderWidth: L.value.zoom.minimap.handleBorderWidth,
1719
+ handleBorderColor: L.value.zoom.minimap.handleBorderColor,
1720
+ handleFill: L.value.zoom.minimap.handleFill,
1721
+ handleWidth: L.value.zoom.minimap.handleWidth,
1722
+ "onUpdate:end": Ir,
1723
+ "onUpdate:start": Fr,
1724
+ onTrapMouse: Pr,
1725
+ onReset: lr,
1726
+ onFutureEnd: t[0] ||= (e) => Nn("end", e),
1727
+ onFutureStart: t[1] ||= (e) => Nn("start", e)
1728
+ }, {
1729
+ "reset-action": E(({ reset: t }) => [w(e.$slots, "reset-action", b(v({ reset: t })), void 0, !0)]),
1730
+ slotMap: E(({ height: e, unitW: t }) => [(x(!0), h(f, null, C(Vn.value({
1731
+ minimapH: e,
1732
+ unitW: t
1733
+ }), (e, n) => (x(), h("g", null, [g("path", {
1734
+ d: `M ${e.high.x},${e.high.y} ${e.low.x},${e.low.y}`,
1735
+ stroke: e.isBullish ? P.value.colors.bullish : P.value.colors.bearish,
1736
+ "stroke-width": 1,
1737
+ style: ze({ opacity: n >= J.value.start && n <= J.value.end ? 1 : .6 })
1738
+ }, null, 12, Tt), g("path", {
1739
+ d: `M ${e.open.x},${e.open.y} ${e.close.x},${e.close.y}`,
1740
+ stroke: e.isBullish ? P.value.colors.bullish : P.value.colors.bearish,
1741
+ "stroke-width": Math.min(6, t / 1.5),
1742
+ style: ze({ opacity: n >= J.value.start && n <= J.value.end ? 1 : .6 })
1743
+ }, null, 12, Et)]))), 256))]),
1744
+ _: 3
1745
+ }, 8, /* @__PURE__ */ "allMinimaps.background.borderColor.customFormat.enableRangeHandles.enableSelectionDrag.end.focusOnDrag.focusRangeRatio.fontSize.immediate.inputColor.isPreview.labelLeft.labelRight.max.minimap.minimapCompact.minimapFrameColor.minimapIndicatorColor.minimapSelectedColor.minimapSelectedColorOpacity.minimapSelectedIndex.preciseLabels.refreshEndPoint.refreshStartPoint.selectColor.selectedSeries.start.textColor.timeLabels.usePreciseLabels.useResetSlot.valueEnd.valueStart.verticalHandles.minScale.maxScale.maxWidth.minimapLeftInsetRatio.minimapRightInsetRatio.additionalMinimapHeight.handleType.handleIconColor.handleBorderWidth.handleBorderColor.handleFill.handleWidth".split("."))) : m("", !0),
1746
+ g("div", {
1747
+ ref_key: "chartLegend",
1748
+ ref: Kt
1749
+ }, [w(e.$slots, "legend", { legend: Q.value }, void 0, !0)], 512),
1750
+ e.$slots.source ? (x(), h("div", {
1751
+ key: 7,
1752
+ ref_key: "source",
1753
+ ref: Jt,
1754
+ dir: "auto"
1755
+ }, [w(e.$slots, "source", {}, void 0, !0)], 512)) : m("", !0),
1756
+ Ie(T(kt), {
1757
+ teleportTo: L.value.tooltip.teleportTo,
1758
+ show: U.value.showTooltip && Ht.value,
1759
+ backgroundColor: L.value.tooltip.backgroundColor,
1760
+ color: L.value.tooltip.color,
1761
+ borderRadius: L.value.tooltip.borderRadius,
1762
+ borderColor: L.value.tooltip.borderColor,
1763
+ borderWidth: L.value.tooltip.borderWidth,
1764
+ fontSize: L.value.tooltip.fontSize,
1765
+ backgroundOpacity: L.value.tooltip.backgroundOpacity,
1766
+ position: L.value.tooltip.position,
1767
+ offsetX: L.value.tooltip.offsetX,
1768
+ offsetY: L.value.tooltip.offsetY,
1769
+ parent: j.value,
1770
+ content: Ut.value,
1771
+ isFullscreen: _r.value,
1772
+ isCustom: L.value.tooltip.customFormat && typeof L.value.tooltip.customFormat == "function",
1773
+ smooth: L.value.tooltip.smooth,
1774
+ backdropFilter: L.value.tooltip.backdropFilter,
1775
+ smoothForce: L.value.tooltip.smoothForce,
1776
+ smoothSnapThreshold: L.value.tooltip.smoothSnapThreshold,
1777
+ isA11yMode: on.value === "keyboard",
1778
+ a11yPosition: an.value
1779
+ }, {
1780
+ "tooltip-before": E(() => [w(e.$slots, "tooltip-before", b(v({ ...rr.value })), void 0, !0)]),
1781
+ tooltip: E(() => [w(e.$slots, "tooltip", b(v({ ...rr.value })), void 0, !0)]),
1782
+ "tooltip-after": E(() => [w(e.$slots, "tooltip-after", b(v({ ...rr.value })), void 0, !0)]),
1783
+ _: 3
1784
+ }, 8, [
1785
+ "teleportTo",
1786
+ "show",
1787
+ "backgroundColor",
1788
+ "color",
1789
+ "borderRadius",
1790
+ "borderColor",
1791
+ "borderWidth",
1792
+ "fontSize",
1793
+ "backgroundOpacity",
1794
+ "position",
1795
+ "offsetX",
1796
+ "offsetY",
1797
+ "parent",
1798
+ "content",
1799
+ "isFullscreen",
1800
+ "isCustom",
1801
+ "smooth",
1802
+ "backdropFilter",
1803
+ "smoothForce",
1804
+ "smoothSnapThreshold",
1805
+ "isA11yMode",
1806
+ "a11yPosition"
1807
+ ]),
1808
+ Bt.value && R.value.buttons.table ? (x(), Ne(He(Er.value.component), Le({ key: 8 }, Er.value.props, {
1809
+ ref_key: "tableUnit",
1810
+ ref: tn,
1811
+ onClose: Dr
1812
+ }), Pe({
1813
+ content: E(() => [(x(), Ne(T(jt), {
1814
+ key: `table_${Zt.value}`,
1815
+ colNames: gr.value.colNames,
1816
+ head: gr.value.head,
1817
+ body: gr.value.body,
1818
+ config: gr.value.config,
1819
+ title: N.value.table.useDialog ? "" : Er.value.title,
1820
+ withCloseButton: !N.value.table.useDialog,
1821
+ isCursorPointer: ln.value,
1822
+ onClose: Dr
1823
+ }, {
1824
+ th: E(({ th: e }) => [Fe(We(e), 1)]),
1825
+ td: E(({ td: e }) => [g("div", { innerHTML: e }, null, 8, Dt)]),
1826
+ _: 1
1827
+ }, 8, [
1828
+ "colNames",
1829
+ "head",
1830
+ "body",
1831
+ "config",
1832
+ "title",
1833
+ "withCloseButton",
1834
+ "isCursorPointer"
1835
+ ]))]),
1836
+ _: 2
1837
+ }, [N.value.table.useDialog ? {
1838
+ name: "title",
1839
+ fn: E(() => [Fe(We(Er.value.title), 1)]),
1840
+ key: "0"
1841
+ } : void 0, N.value.table.useDialog ? {
1842
+ name: "actions",
1843
+ fn: E(() => [g("button", {
1844
+ tabindex: "0",
1845
+ class: "vue-ui-user-options-button",
1846
+ onClick: t[2] ||= (e) => hr(R.value.callbacks.csv),
1847
+ style: ze({ cursor: ln.value ? "pointer" : "default" })
1848
+ }, [Ie(T(Ot), {
1849
+ name: "fileCsv",
1850
+ stroke: Er.value.props.color
1851
+ }, null, 8, ["stroke"])], 4)]),
1852
+ key: "1"
1853
+ } : void 0]), 1040)) : m("", !0),
1854
+ w(e.$slots, "skeleton", {}, () => [T(z) ? (x(), Ne(ge, { key: 0 })) : m("", !0)], !0)
1855
+ ], 46, Ye));
1856
+ }
1857
+ }, [["__scopeId", "data-v-2156bb2a"]]);
1858
+ //#endregion
1859
+ export { Je as n, Ot as t };