vue-data-ui 3.22.6 → 3.22.8

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