vue-data-ui 3.15.12 → 3.16.1

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 (218) hide show
  1. package/README.md +132 -59
  2. package/dist/A11yDataTable-KcVAX2cP.js +54 -0
  3. package/dist/{Arrow-DlPyR6HQ.js → Arrow-Bn-9n3bm.js} +1 -1
  4. package/dist/{BaseDraggableDialog-DSpKTn3R.js → BaseDraggableDialog-CIb-iD9g.js} +2 -2
  5. package/dist/{BaseIcon-CNx8Tzl5.js → BaseIcon-Cb3zzG6s.js} +1 -1
  6. package/dist/{BaseLegendToggle-Y61xahI4.js → BaseLegendToggle-BQVIawmA.js} +1 -1
  7. package/dist/{BaseZoomControls-CoFievy9.js → BaseZoomControls-DievbOeJ.js} +2 -2
  8. package/dist/ColorPicker-B0mV4xzu.js +255 -0
  9. package/dist/{DataTable-Bo1pmAqG.js → DataTable-DT2kIdQ6.js} +2 -2
  10. package/dist/Legend-CS7Xo5LK.js +101 -0
  11. package/dist/{NonSvgPenAndPaper-CGk_xThe.js → NonSvgPenAndPaper-VyJFyJ6X.js} +3 -3
  12. package/dist/{PackageVersion-DN9d0ME5.js → PackageVersion-DPO-OOVI.js} +1 -1
  13. package/dist/{PenAndPaper-DWV1FMIi.js → PenAndPaper-Ct3qJ4lA.js} +109 -101
  14. package/dist/{Shape-CSyWYgXc.js → Shape-BKRUOeKk.js} +1 -1
  15. package/dist/{Slicer-DZJA9IG-.js → Slicer-DUycDH_N.js} +2 -2
  16. package/dist/{SlicerPreview-I2J0UUF_.js → SlicerPreview-DTjwV0iY.js} +2 -2
  17. package/dist/{SparkTooltip-BiseJed3.js → SparkTooltip-BorBpltj.js} +1 -1
  18. package/dist/{Title-BfyrP-jp.js → Title-BeMKE1cj.js} +1 -1
  19. package/dist/{Tooltip-DL3QgjZf.js → Tooltip-Bf-kM3_A.js} +86 -68
  20. package/dist/{UserOptions-CrLqEimB.js → UserOptions-rW2fRf3V.js} +228 -222
  21. package/dist/components/arrow.js +1 -1
  22. package/dist/components/vue-ui-3d-bar.js +1 -1
  23. package/dist/components/vue-ui-accordion.js +1 -1
  24. package/dist/components/vue-ui-age-pyramid.js +1 -1
  25. package/dist/components/vue-ui-annotator.js +1 -1
  26. package/dist/components/vue-ui-bullet.js +1 -1
  27. package/dist/components/vue-ui-bump.js +1 -1
  28. package/dist/components/vue-ui-candlestick.js +1 -1
  29. package/dist/components/vue-ui-carousel-table.js +1 -1
  30. package/dist/components/vue-ui-chestnut.js +1 -1
  31. package/dist/components/vue-ui-chord.js +1 -1
  32. package/dist/components/vue-ui-circle-pack.js +1 -1
  33. package/dist/components/vue-ui-cursor.js +1 -1
  34. package/dist/components/vue-ui-dag.js +1 -1
  35. package/dist/components/vue-ui-dashboard.js +1 -1
  36. package/dist/components/vue-ui-digits.js +1 -1
  37. package/dist/components/vue-ui-donut-evolution.js +1 -1
  38. package/dist/components/vue-ui-donut.js +1 -1
  39. package/dist/components/vue-ui-dumbbell.js +1 -1
  40. package/dist/components/vue-ui-flow.js +1 -1
  41. package/dist/components/vue-ui-funnel.js +1 -1
  42. package/dist/components/vue-ui-galaxy.js +1 -1
  43. package/dist/components/vue-ui-gauge.js +1 -1
  44. package/dist/components/vue-ui-geo.js +1 -1
  45. package/dist/components/vue-ui-gizmo.js +1 -1
  46. package/dist/components/vue-ui-heatmap.js +1 -1
  47. package/dist/components/vue-ui-history-plot.js +1 -1
  48. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  49. package/dist/components/vue-ui-icon.js +1 -1
  50. package/dist/components/vue-ui-kpi.js +1 -1
  51. package/dist/components/vue-ui-mini-loader.js +1 -1
  52. package/dist/components/vue-ui-molecule.js +1 -1
  53. package/dist/components/vue-ui-mood-radar.js +1 -1
  54. package/dist/components/vue-ui-nested-donuts.js +1 -1
  55. package/dist/components/vue-ui-onion.js +1 -1
  56. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  57. package/dist/components/vue-ui-quadrant.js +1 -1
  58. package/dist/components/vue-ui-quick-chart.js +1 -1
  59. package/dist/components/vue-ui-radar.js +1 -1
  60. package/dist/components/vue-ui-rating.js +1 -1
  61. package/dist/components/vue-ui-relation-circle.js +1 -1
  62. package/dist/components/vue-ui-ridgeline.js +1 -1
  63. package/dist/components/vue-ui-rings.js +1 -1
  64. package/dist/components/vue-ui-scatter.js +1 -1
  65. package/dist/components/vue-ui-skeleton.js +1 -1
  66. package/dist/components/vue-ui-smiley.js +1 -1
  67. package/dist/components/vue-ui-spark-trend.js +1 -1
  68. package/dist/components/vue-ui-sparkbar.js +1 -1
  69. package/dist/components/vue-ui-sparkgauge.js +1 -1
  70. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  71. package/dist/components/vue-ui-sparkline.js +1 -1
  72. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  73. package/dist/components/vue-ui-stackbar.js +1 -1
  74. package/dist/components/vue-ui-stackline.js +1 -1
  75. package/dist/components/vue-ui-strip-plot.js +1 -1
  76. package/dist/components/vue-ui-table-heatmap.js +1 -1
  77. package/dist/components/vue-ui-table-sparkline.js +1 -1
  78. package/dist/components/vue-ui-table.js +1 -1
  79. package/dist/components/vue-ui-thermometer.js +1 -1
  80. package/dist/components/vue-ui-timer.js +1 -1
  81. package/dist/components/vue-ui-tiremarks.js +1 -1
  82. package/dist/components/vue-ui-treemap.js +1 -1
  83. package/dist/components/vue-ui-vertical-bar.js +1 -1
  84. package/dist/components/vue-ui-waffle.js +1 -1
  85. package/dist/components/vue-ui-wheel.js +1 -1
  86. package/dist/components/vue-ui-word-cloud.js +1 -1
  87. package/dist/components/vue-ui-world.js +1 -1
  88. package/dist/components/vue-ui-xy-canvas.js +1 -1
  89. package/dist/components/vue-ui-xy.js +1 -1
  90. package/dist/{dom-to-png-BAqzNjb1.js → dom-to-png-CtxhhdWb.js} +1 -1
  91. package/dist/{exposedLib-H4lmBl1t.js → exposedLib-DlqmhBx3.js} +1 -1
  92. package/dist/{img-BYYzY_QU.js → img-LXxMLmCg.js} +1 -1
  93. package/dist/{labelUtils-CTXUc3V9.js → labelUtils-CqTHa20R.js} +1 -1
  94. package/dist/{lib-GwPnJSrY.js → lib-DBptbyyI.js} +106 -84
  95. package/dist/{pdf-z-YiJeJQ.js → pdf-B4tTdfvl.js} +1 -1
  96. package/dist/style.css +1 -1
  97. package/dist/types/vue-data-ui.d.ts +59 -0
  98. package/dist/{useAutoSizeLabelsInsideViewbox-80fzdfxt.js → useAutoSizeLabelsInsideViewbox-DX7LdvFX.js} +1 -1
  99. package/dist/{useConfig-CIgyKZ6R.js → useConfig-DO94Aj5s.js} +953 -700
  100. package/dist/{useNestedProp-BBT0mbHh.js → useNestedProp-Bf5XFbs8.js} +1 -1
  101. package/dist/{useObjectBindings-BlXBVtRa.js → useObjectBindings-DQ8g8Jwi.js} +1 -1
  102. package/dist/usePrefersMotion-CUKm8_t8.js +15 -0
  103. package/dist/{usePrinter-DiK5R6k-.js → usePrinter-CEpYU3r5.js} +2 -2
  104. package/dist/utils.js +3 -3
  105. package/dist/{vue-data-ui-C2kPofmi.js → vue-data-ui-DXGkXRnC.js} +68 -68
  106. package/dist/vue-data-ui.js +72 -72
  107. package/dist/vue-ui-3d-bar-BaFpQnd5.js +1597 -0
  108. package/dist/{vue-ui-accordion-BGHTqIBt.js → vue-ui-accordion-nvggWcGN.js} +4 -4
  109. package/dist/vue-ui-age-pyramid-CRM498Pc.js +1069 -0
  110. package/dist/{vue-ui-annotator-B1GWVtPp.js → vue-ui-annotator-CkPi9moo.js} +7 -7
  111. package/dist/{vue-ui-bullet-DPoGGtaG.js → vue-ui-bullet-BBiwof3c.js} +158 -150
  112. package/dist/vue-ui-bump-Brxpu4xV.js +1147 -0
  113. package/dist/vue-ui-candlestick-DAnZv77-.js +1587 -0
  114. package/dist/{vue-ui-carousel-table-CmiHTJ8E.js → vue-ui-carousel-table-BHRZBYY0.js} +168 -160
  115. package/dist/vue-ui-chestnut-CbrYnRgm.js +1812 -0
  116. package/dist/vue-ui-chord-CaX_IUVs.js +1326 -0
  117. package/dist/vue-ui-circle-pack-CR3h53sc.js +988 -0
  118. package/dist/{vue-ui-cursor-B4mHR7QC.js → vue-ui-cursor-Cjfazw7Z.js} +4 -4
  119. package/dist/vue-ui-dag-B9vH3c66.js +3047 -0
  120. package/dist/{vue-ui-dashboard-Bo5FX73U.js → vue-ui-dashboard-DWll05qs.js} +70 -70
  121. package/dist/{vue-ui-digits-mpo2IcM5.js → vue-ui-digits-DcM67rMx.js} +76 -66
  122. package/dist/vue-ui-donut-Be5G38P5.js +2229 -0
  123. package/dist/vue-ui-donut-evolution-BLSesj3c.js +1358 -0
  124. package/dist/vue-ui-dumbbell-DIMiCY4r.js +1380 -0
  125. package/dist/vue-ui-flow-zvZylhgr.js +1202 -0
  126. package/dist/{vue-ui-funnel-BRkaEkBb.js → vue-ui-funnel-CSri-oWm.js} +7 -7
  127. package/dist/vue-ui-galaxy-CGykxsAI.js +1012 -0
  128. package/dist/{vue-ui-gauge-J2VYHsQe.js → vue-ui-gauge-D1MNB9Jq.js} +8 -8
  129. package/dist/vue-ui-geo-DdJDGhG2.js +1437 -0
  130. package/dist/{vue-ui-gizmo-DEec3-v9.js → vue-ui-gizmo-BZYRHGFm.js} +77 -68
  131. package/dist/vue-ui-heatmap-CryOx6XK.js +1500 -0
  132. package/dist/vue-ui-history-plot-C85iw9Kl.js +1449 -0
  133. package/dist/vue-ui-horizontal-bar-BoBZOybC.js +1637 -0
  134. package/dist/vue-ui-kpi-DHrolXw6.js +109 -0
  135. package/dist/{vue-ui-mini-loader-CoOHvZUk.js → vue-ui-mini-loader-Bc3fEQ9j.js} +3 -3
  136. package/dist/{vue-ui-molecule-Chq1qWDK.js → vue-ui-molecule-DJ_BQ4DK.js} +6 -6
  137. package/dist/vue-ui-mood-radar-CBE02TpQ.js +1086 -0
  138. package/dist/vue-ui-nested-donuts-YTFtb4CL.js +1595 -0
  139. package/dist/vue-ui-onion-B9l81-PS.js +1124 -0
  140. package/dist/vue-ui-parallel-coordinate-plot-C1e_rs8J.js +1252 -0
  141. package/dist/vue-ui-quadrant-C1qsLCRn.js +1759 -0
  142. package/dist/vue-ui-quick-chart-DFoz3WiA.js +2216 -0
  143. package/dist/vue-ui-radar-Cmo3p-UA.js +1139 -0
  144. package/dist/{vue-ui-rating-zV58MDQh.js → vue-ui-rating-BAHhYt_A.js} +3 -3
  145. package/dist/vue-ui-relation-circle-BqwznVwf.js +782 -0
  146. package/dist/vue-ui-ridgeline-CDk9eXJq.js +1473 -0
  147. package/dist/vue-ui-rings-BRkGoQdL.js +1156 -0
  148. package/dist/vue-ui-scatter-BxDtWASQ.js +1831 -0
  149. package/dist/{vue-ui-skeleton-CbqNz9IE.js → vue-ui-skeleton-D6kTb9aO.js} +4 -4
  150. package/dist/{vue-ui-smiley-BK5EKp9u.js → vue-ui-smiley-CzVaLlpB.js} +3 -3
  151. package/dist/vue-ui-spark-trend-D8Mf2A1w.js +378 -0
  152. package/dist/{vue-ui-sparkbar-DUDWvTo-.js → vue-ui-sparkbar-BbYj56c3.js} +86 -84
  153. package/dist/vue-ui-sparkgauge-DXzOSLRb.js +256 -0
  154. package/dist/vue-ui-sparkhistogram-DMfSx1iH.js +474 -0
  155. package/dist/vue-ui-sparkline-D-rQ9PsC.js +1327 -0
  156. package/dist/vue-ui-sparkstackbar-DK5n8IKP.js +621 -0
  157. package/dist/vue-ui-stackbar-BHthy6jf.js +2070 -0
  158. package/dist/vue-ui-stackline-C6-WNpKD.js +2164 -0
  159. package/dist/vue-ui-strip-plot-CHu-1ilI.js +1183 -0
  160. package/dist/{vue-ui-table-BHuXI4Eq.js → vue-ui-table-DW9JGsLq.js} +6 -6
  161. package/dist/{vue-ui-table-heatmap-y88sBfu3.js → vue-ui-table-heatmap-LYqoBit9.js} +6 -6
  162. package/dist/{vue-ui-table-sparkline-ClpLLKi2.js → vue-ui-table-sparkline-CXK1dFr-.js} +5 -5
  163. package/dist/{vue-ui-thermometer-sjruUGQx.js → vue-ui-thermometer-BN8tflOz.js} +272 -256
  164. package/dist/{vue-ui-timer-CgdgMKIc.js → vue-ui-timer-DGT0UBOF.js} +6 -6
  165. package/dist/{vue-ui-tiremarks-UBDpAIVr.js → vue-ui-tiremarks-BZ-osQqY.js} +204 -191
  166. package/dist/vue-ui-treemap-98KaVRyd.js +1723 -0
  167. package/dist/vue-ui-waffle-Cb7oJnIc.js +1321 -0
  168. package/dist/vue-ui-wheel-sfew1fjw.js +738 -0
  169. package/dist/vue-ui-word-cloud-vq1t9JHr.js +1548 -0
  170. package/dist/{vue-ui-world-D-3wgoTn.js → vue-ui-world-CN0f6elD.js} +8 -8
  171. package/dist/vue-ui-xy-BdzEiImZ.js +3877 -0
  172. package/dist/vue-ui-xy-canvas-CWQzUQzY.js +1810 -0
  173. package/package.json +2 -2
  174. package/dist/ColorPicker-j0ySewhI.js +0 -244
  175. package/dist/Legend-1LMMsPxL.js +0 -90
  176. package/dist/vue-ui-3d-bar-BhNgFaJA.js +0 -1484
  177. package/dist/vue-ui-age-pyramid-CuYRf5v-.js +0 -997
  178. package/dist/vue-ui-bump-C_fKharc.js +0 -1059
  179. package/dist/vue-ui-candlestick-BY-_E7eZ.js +0 -1487
  180. package/dist/vue-ui-chestnut-C-bQYaNI.js +0 -1557
  181. package/dist/vue-ui-chord-uQYQgyGM.js +0 -1220
  182. package/dist/vue-ui-circle-pack-CdbDcuDw.js +0 -907
  183. package/dist/vue-ui-dag-DsHUvjvm.js +0 -2885
  184. package/dist/vue-ui-donut-CzCgCVsx.js +0 -2139
  185. package/dist/vue-ui-donut-evolution-C_ck_TOR.js +0 -1297
  186. package/dist/vue-ui-dumbbell-CVSA90b2.js +0 -1293
  187. package/dist/vue-ui-flow-CsbSaFnu.js +0 -1075
  188. package/dist/vue-ui-galaxy-DWKHDciu.js +0 -914
  189. package/dist/vue-ui-geo-DykhEWVq.js +0 -1331
  190. package/dist/vue-ui-heatmap-BEDirv8T.js +0 -1334
  191. package/dist/vue-ui-history-plot-Bs96PebH.js +0 -1292
  192. package/dist/vue-ui-horizontal-bar-ClQcB9nL.js +0 -1522
  193. package/dist/vue-ui-kpi-DlUEHKuw.js +0 -101
  194. package/dist/vue-ui-mood-radar-A2LBLgUi.js +0 -967
  195. package/dist/vue-ui-nested-donuts-DFX251aT.js +0 -1513
  196. package/dist/vue-ui-onion-CW0YO9Ro.js +0 -1045
  197. package/dist/vue-ui-parallel-coordinate-plot-UFg10bHP.js +0 -1134
  198. package/dist/vue-ui-quadrant-C1pLW2zA.js +0 -1647
  199. package/dist/vue-ui-quick-chart-FaxttnJY.js +0 -2030
  200. package/dist/vue-ui-radar-DE70LPBZ.js +0 -1067
  201. package/dist/vue-ui-relation-circle-iuRXIyRU.js +0 -704
  202. package/dist/vue-ui-ridgeline-CwvDh5pG.js +0 -1385
  203. package/dist/vue-ui-rings-80ZUki42.js +0 -1083
  204. package/dist/vue-ui-scatter-FdAAYJOK.js +0 -1670
  205. package/dist/vue-ui-spark-trend-C68p8-Xp.js +0 -349
  206. package/dist/vue-ui-sparkgauge-DdRtHQDe.js +0 -245
  207. package/dist/vue-ui-sparkhistogram-C9DvzQae.js +0 -396
  208. package/dist/vue-ui-sparkline-B2RDrdiR.js +0 -1273
  209. package/dist/vue-ui-sparkstackbar-BsIOHUE5.js +0 -475
  210. package/dist/vue-ui-stackbar-BZl0kEkb.js +0 -2001
  211. package/dist/vue-ui-stackline-2VKxwFei.js +0 -2099
  212. package/dist/vue-ui-strip-plot-B9nBSRyY.js +0 -1080
  213. package/dist/vue-ui-treemap-BS5EilZf.js +0 -1645
  214. package/dist/vue-ui-waffle-CbX5K9Q2.js +0 -1211
  215. package/dist/vue-ui-wheel-BIJ09H5D.js +0 -723
  216. package/dist/vue-ui-word-cloud-DJmJ-oYT.js +0 -1466
  217. package/dist/vue-ui-xy-canvas-4auyhlTr.js +0 -1717
  218. package/dist/vue-ui-xy-f67V1xjd.js +0 -3713
@@ -0,0 +1,1587 @@
1
+ import { defineAsyncComponent as j, computed as y, ref as v, toRefs as jl, watch as me, shallowRef as Dt, onMounted as Gl, onBeforeUnmount as qe, watchEffect as Ce, nextTick as je, openBlock as i, createElementBlock as n, normalizeStyle as ae, normalizeClass as X, createElementVNode as m, toDisplayString as oe, createBlock as G, createCommentVNode as p, unref as h, withCtx as k, renderSlot as x, normalizeProps as L, guardReactiveProps as T, createSlots as Bt, createVNode as Ge, Fragment as M, renderList as B, mergeProps as Nt, resolveDynamicComponent as Kl, createTextVNode as Et } from "vue";
2
+ import { j as Yl, t as Vt, o as Wt, q as Z, D as Jl, K, I as Ql, l as R, X as Zl, v as Ae, u as ea, a0 as ta, a1 as la, T as aa, U as oa, a2 as Ut } from "./lib-DBptbyyI.js";
3
+ import { t as Ht, u as sa } from "./useResponsive-DfdjqQps.js";
4
+ import { u as ua } from "./useConfig-DO94Aj5s.js";
5
+ import { u as Xt, a as qt, b as ia } from "./useTimeLabels-C-A2uZKi.js";
6
+ import { u as na } from "./usePrinter-CEpYU3r5.js";
7
+ import { u as ra, B as va } from "./BaseScanner-BhhkKVoj.js";
8
+ import { u as da } from "./useSvgExport-ByUukOZt.js";
9
+ import { u as Ke } from "./useNestedProp-Bf5XFbs8.js";
10
+ import { u as ca } from "./useThemeCheck-D1ZYXUwG.js";
11
+ import { u as ya } from "./useUserOptionState-BIvW1Kz7.js";
12
+ import { u as ha } from "./useChartAccessibility-9icAAmYg.js";
13
+ import { u as ma } from "./useTimeLabelCollider-CIsgDrl9.js";
14
+ import pa from "./img-LXxMLmCg.js";
15
+ import fa from "./Title-BeMKE1cj.js";
16
+ import ga from "./vue_ui_candlestick-BAMn-VGw.js";
17
+ import { A as ba } from "./A11yDataTable-KcVAX2cP.js";
18
+ import { S as xa } from "./SlicerPreview-DTjwV0iY.js";
19
+ import { _ as ka } from "./_plugin-vue_export-helper-CHgC5LLL.js";
20
+ const wa = ["id"], Ca = ["id"], Aa = { style: { position: "relative" } }, $a = ["xmlns", "aria-describedby", "viewBox"], _a = ["x", "y", "width", "height"], Sa = { key: 1 }, za = ["id"], La = ["stop-color"], Ta = ["stop-color"], Ia = ["stop-color"], Fa = ["id"], Ma = ["stop-color"], Ra = ["stop-color"], Pa = ["stop-color"], Oa = { key: 0 }, Da = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Ba = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Na = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Ea = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Va = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Wa = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Ua = ["x", "y", "font-size", "fill", "font-weight"], Ha = ["transform", "text-anchor", "font-size", "fill", "font-weight"], Xa = ["transform", "text-anchor", "font-size", "fill", "font-weight"], qa = ["x", "y", "width", "height", "fill", "rx"], ja = { key: 0 }, Ga = ["cx", "cy", "r", "fill"], Ka = ["cx", "cy", "r", "fill"], Ya = { key: 1 }, Ja = ["x", "y", "width", "height", "rx", "fill"], Qa = ["x", "y", "width", "height", "fill", "rx"], Za = ["x", "y", "height", "width", "fill", "rx"], eo = ["x", "y", "height", "width", "fill", "rx", "stroke", "stroke-width"], to = ["d", "stroke"], lo = ["x", "y", "height", "width", "fill", "onMouseover", "onMouseleave", "onClick"], ao = ["data-start", "data-end"], oo = {
21
+ key: 0,
22
+ style: { position: "absolute", top: "100%", left: "0", width: "100%" },
23
+ "data-dom-to-png-ignore": "",
24
+ "aria-hidden": "true"
25
+ }, so = {
26
+ key: 5,
27
+ class: "vue-data-ui-watermark"
28
+ }, uo = ["d", "stroke"], io = ["d", "stroke", "stroke-width"], no = ["innerHTML"], ro = {
29
+ __name: "vue-ui-candlestick",
30
+ props: {
31
+ config: {
32
+ type: Object,
33
+ default() {
34
+ return {};
35
+ }
36
+ },
37
+ dataset: {
38
+ type: Array,
39
+ default() {
40
+ return [];
41
+ }
42
+ },
43
+ selectedXIndex: {
44
+ type: Number,
45
+ default: void 0
46
+ }
47
+ },
48
+ emits: ["selectX", "copyAlt"],
49
+ setup(jt, { expose: Gt, emit: Kt }) {
50
+ const Yt = j(() => import("./BaseIcon-Cb3zzG6s.js")), Jt = j(() => import("./Tooltip-Bf-kM3_A.js")), Qt = j(() => import("./vue-ui-accordion-nvggWcGN.js")), Zt = j(() => import("./DataTable-DT2kIdQ6.js")), el = j(() => import("./PenAndPaper-Ct3qJ4lA.js")), tl = j(() => import("./UserOptions-rW2fRf3V.js")), ll = j(() => import("./PackageVersion-DPO-OOVI.js")), al = j(() => import("./BaseDraggableDialog-CIb-iD9g.js")), { vue_ui_candlestick: ol } = ua(), { isThemeValid: sl, warnInvalidTheme: ul } = ca(), I = jt, $e = Kt, _e = y(() => !!I.dataset && I.dataset.length), V = v(!1), Se = v(null), _ = v(Yl()), se = v(!1), ze = v(""), P = v(void 0), Ye = v(0), W = v(null), Je = v(null), Qe = v(null), ue = v(null), Ze = v(null), et = v(null), il = v(0), tt = v(0), lt = v(0), Le = v(null), ie = v(null), ne = v(null), Te = v(null), at = v(null), pe = v(!1), fe = v(!1), U = v(null), ot = v({ x: 0, y: 0 }), re = v("pointer"), Ie = v(!1), e = v(Re()), ve = y(() => e.value.userOptions.useCursorPointer), nl = y(() => Vt({
51
+ defaultConfig: {
52
+ useCssAnimation: !1,
53
+ userOptions: { show: !1 },
54
+ table: { show: !1 },
55
+ style: {
56
+ backgroundColor: "#99999930",
57
+ layout: {
58
+ candle: {
59
+ colors: {
60
+ bearish: "#BABABA",
61
+ bullish: "#CACACA"
62
+ }
63
+ },
64
+ grid: {
65
+ stroke: "#6A6A6A",
66
+ verticalLines: {
67
+ stroke: "#6A6A6A"
68
+ },
69
+ horizontalLines: {
70
+ stroke: "#6A6A6A"
71
+ },
72
+ yAxis: {
73
+ dataLabels: { show: !1 },
74
+ scale: {
75
+ min: null,
76
+ max: null
77
+ }
78
+ }
79
+ },
80
+ wick: {
81
+ stroke: "#6A6A6A",
82
+ extremity: {
83
+ color: "#6A6A6A"
84
+ }
85
+ }
86
+ },
87
+ tooltip: { show: !1 },
88
+ zoom: {
89
+ show: !1,
90
+ startIndex: null,
91
+ endIndex: null
92
+ }
93
+ }
94
+ },
95
+ userConfig: e.value.skeletonConfig ?? {}
96
+ })), { loading: H, FINAL_DATASET: w, manualLoading: Fe } = ra({
97
+ ...jl(I),
98
+ FINAL_CONFIG: e,
99
+ prepareConfig: Re,
100
+ callback: () => {
101
+ Promise.resolve().then(async () => {
102
+ await we();
103
+ });
104
+ },
105
+ skeletonDataset: I.config?.skeletonDataset ?? [
106
+ [17040672e5, 10, 20, 2, 10, 30],
107
+ [17067456e5, 10, 30, 5, 20, 50],
108
+ [17092512e5, 20, 50, 10, 30, 80],
109
+ [17119296e5, 30, 80, 20, 50, 130],
110
+ [17145216e5, 50, 130, 30, 100, 210],
111
+ [17172e8, 80, 210, 50, 150, 340],
112
+ [1719792e6, 130, 340, 80, 280, 550],
113
+ [17224704e5, 210, 550, 130, 450, 890],
114
+ [17251488e5, 340, 890, 210, 750, 1440],
115
+ [17277408e5, 550, 1440, 340, 1230, 2330],
116
+ [17304192e5, 890, 2330, 550, 1950, 3770],
117
+ [17330112e5, 1440, 3770, 890, 3200, 5100]
118
+ ],
119
+ skeletonConfig: Vt({
120
+ defaultConfig: e.value,
121
+ userConfig: nl.value
122
+ })
123
+ }), { userOptionsVisible: Me, setUserOptionsVisibility: st, keepUserOptionState: ut } = ya({ config: e.value }), { svgRef: Y } = ha({ config: e.value.style.title });
124
+ function rl() {
125
+ st(!0);
126
+ }
127
+ function vl() {
128
+ st(!1), $e("selectX", { seriesIndex: null, datapoint: null }), P.value = null;
129
+ }
130
+ function Re() {
131
+ const t = Ke({
132
+ userConfig: I.config,
133
+ defaultConfig: ol
134
+ });
135
+ let a = {};
136
+ const l = t.theme;
137
+ if (l)
138
+ if (!sl.value(t))
139
+ ul(t), a = t;
140
+ else {
141
+ const s = Ke({
142
+ userConfig: ga[l] || I.config,
143
+ defaultConfig: t
144
+ });
145
+ a = {
146
+ ...Ke({
147
+ userConfig: I.config,
148
+ defaultConfig: s
149
+ })
150
+ };
151
+ }
152
+ else
153
+ a = t;
154
+ return a;
155
+ }
156
+ me(() => I.config, (t) => {
157
+ H.value || (e.value = Re()), Me.value = !e.value.userOptions.showOnChartHover, it(), il.value += 1, lt.value += 1, tt.value += 1, O.value.showTable = e.value.table.show, O.value.showTooltip = e.value.style.tooltip.show, ge();
158
+ }, { deep: !0 }), me(() => I.dataset, (t) => {
159
+ Array.isArray(t) && t.length > 0 && (Fe.value = !1), $t();
160
+ }, { deep: !0 });
161
+ const b = v({
162
+ height: e.value.style.height,
163
+ width: e.value.style.width,
164
+ xAxisFontSize: e.value.style.layout.grid.xAxis.dataLabels.fontSize,
165
+ yAxisFontSize: e.value.style.layout.grid.yAxis.dataLabels.fontSize
166
+ }), q = Dt(null), ee = Dt(null);
167
+ Gl(() => {
168
+ it();
169
+ });
170
+ const J = y(() => !!e.value.debug);
171
+ function it() {
172
+ if (Wt(I.dataset) && (Z({
173
+ componentName: "VueUiCandlestick",
174
+ type: "dataset",
175
+ debug: J.value
176
+ }), Fe.value = !0), Wt(I.dataset) || (Fe.value = e.value.loading), setTimeout(() => {
177
+ V.value = !0;
178
+ }, 10), e.value.responsive) {
179
+ const a = Ht(() => {
180
+ V.value = !1;
181
+ const { width: l, height: s } = sa({
182
+ chart: W.value,
183
+ title: e.value.style.title.text ? Je.value : null,
184
+ slicer: e.value.style.zoom.show && S.value > 6 ? ue.value.$el : null,
185
+ legend: Qe.value,
186
+ source: Ze.value,
187
+ noTitle: et.value
188
+ });
189
+ requestAnimationFrame(() => {
190
+ b.value.width = l, b.value.height = s - 12, e.value.responsiveProportionalSizing ? (b.value.xAxisFontSize = Ut({
191
+ relator: Math.min(l, s),
192
+ adjuster: e.value.style.width,
193
+ source: e.value.style.layout.grid.xAxis.dataLabels.fontSize,
194
+ threshold: 6,
195
+ fallback: 6
196
+ }), b.value.yAxisFontSize = Ut({
197
+ relator: Math.min(l, s),
198
+ adjuster: e.value.style.width,
199
+ source: e.value.style.layout.grid.yAxis.dataLabels.fontSize,
200
+ threshold: 6,
201
+ fallback: 6
202
+ })) : (b.value.xAxisFontSize = e.value.style.layout.grid.xAxis.dataLabels.fontSize, b.value.yAxisFontSize = e.value.style.layout.grid.yAxis.dataLabels.fontSize), Se.value && clearTimeout(Se.value), Se.value = setTimeout(() => {
203
+ V.value = !0;
204
+ }, 10);
205
+ });
206
+ });
207
+ q.value && (ee.value && q.value.unobserve(ee.value), q.value.disconnect()), q.value = new ResizeObserver(a), ee.value = W.value.parentNode, q.value.observe(ee.value);
208
+ }
209
+ we();
210
+ }
211
+ qe(() => {
212
+ q.value && (ee.value && q.value.unobserve(ee.value), q.value.disconnect());
213
+ });
214
+ const { isPrinting: Pe, isImaging: Oe, generatePdf: nt, generateImage: rt } = na({
215
+ elementId: `vue-ui-candlestick_${_.value}`,
216
+ fileName: e.value.style.title.text || "vue-ui-candlestick",
217
+ options: e.value.userOptions.print
218
+ }), dl = y(() => e.value.userOptions.show && !e.value.style.title.text), O = v({
219
+ showTable: e.value.table.show,
220
+ showTooltip: e.value.style.tooltip.show
221
+ }), De = v(0), cl = Ht((t) => {
222
+ De.value = t;
223
+ }, 100);
224
+ Ce((t) => {
225
+ const a = ie.value;
226
+ if (!a) return;
227
+ const l = new ResizeObserver((s) => {
228
+ cl(s[0].contentRect.height);
229
+ });
230
+ l.observe(a), t(() => l.disconnect());
231
+ }), qe(() => {
232
+ De.value = 0;
233
+ });
234
+ const vt = y(() => {
235
+ let t = 0;
236
+ return ie.value && (t = De.value + b.value.xAxisFontSize), t;
237
+ });
238
+ function yl() {
239
+ let t = e.value.style.layout.grid.yAxis.dataLabels.offsetX;
240
+ return Le.value && (t = Array.from(Le.value.querySelectorAll("text")).reduce((s, o) => {
241
+ const u = o.getComputedTextLength();
242
+ return u > s ? u : s;
243
+ }, 0)), t + 13;
244
+ }
245
+ const r = y(() => {
246
+ const { top: t, right: a, bottom: l, left: s } = e.value.style.layout.padding, o = yl(), u = 12;
247
+ return {
248
+ top: t + u,
249
+ right: b.value.width - a,
250
+ left: s + o,
251
+ bottom: b.value.height - l - vt.value,
252
+ width: b.value.width - s - a - o,
253
+ height: b.value.height - t - l - vt.value - u
254
+ };
255
+ }), hl = y(() => {
256
+ const { left: t, top: a, width: l, height: s } = r.value, o = d.value.start, f = d.value.end - o, A = l / f, C = $.value.start - o, D = $.value.end - o, z = Math.max(0, Math.min(f, C)), le = Math.max(0, Math.min(f, D));
257
+ return {
258
+ x: t + z * A,
259
+ y: a,
260
+ width: (le - z) * A,
261
+ height: s,
262
+ fill: e.value.style.zoom.preview.fill,
263
+ stroke: e.value.style.zoom.preview.stroke,
264
+ "stroke-width": e.value.style.zoom.preview.strokeWidth,
265
+ "stroke-dasharray": e.value.style.zoom.preview.strokeDasharray,
266
+ "stroke-linecap": "round",
267
+ "stroke-linejoin": "round",
268
+ style: {
269
+ pointerEvents: "none",
270
+ transition: "none !important",
271
+ animation: "none !important"
272
+ }
273
+ };
274
+ }), S = y(() => w.value.length), d = v({
275
+ start: 0,
276
+ end: S.value
277
+ }), $ = v({ start: 0, end: S.value }), dt = y(() => e.value.style.zoom.preview.enable && ($.value.start !== d.value.start || $.value.end !== d.value.end));
278
+ function ct(t, a) {
279
+ $.value[t] = a;
280
+ }
281
+ function ge() {
282
+ let t = Math.max(0, Math.min(d.value.start ?? 0, S.value - 1)), a = Math.max(t + 1, Math.min(d.value.end ?? S.value, S.value));
283
+ (!Number.isFinite(t) || !Number.isFinite(a) || a <= t) && (t = 0, a = S.value), d.value.start = t, d.value.end = a, $.value.start = t, $.value.end = a, ue.value && (ue.value.setStartValue(t), ue.value.setEndValue(a));
284
+ }
285
+ const yt = y(() => w.value.map((t, a) => ({
286
+ ...t,
287
+ absoluteIndex: a
288
+ }))), ht = y(() => yt.value.slice(d.value.start, d.value.end)), F = y(() => (w.value.forEach((t, a) => {
289
+ [null, void 0].includes(t[0]) && Z({
290
+ componentName: "VueUiCandlestick",
291
+ type: "datasetAttribute",
292
+ property: "period (index 0)",
293
+ index: a,
294
+ debug: J.value
295
+ }), [null, void 0].includes(t[1]) && Z({
296
+ componentName: "VueUiCandlestick",
297
+ type: "datasetAttribute",
298
+ property: "open (index 1)",
299
+ index: a,
300
+ debug: J.value
301
+ }), [null, void 0].includes(t[2]) && Z({
302
+ componentName: "VueUiCandlestick",
303
+ type: "datasetAttribute",
304
+ property: "high (index 2)",
305
+ index: a,
306
+ debug: J.value
307
+ }), [null, void 0].includes(t[3]) && Z({
308
+ componentName: "VueUiCandlestick",
309
+ type: "datasetAttribute",
310
+ property: "low (index 3)",
311
+ index: a,
312
+ debug: J.value
313
+ }), [null, void 0].includes(t[4]) && Z({
314
+ componentName: "VueUiCandlestick",
315
+ type: "datasetAttribute",
316
+ property: "close (index 4)",
317
+ index: a,
318
+ debug: J.value
319
+ }), [null, void 0].includes(t[5]) && Z({
320
+ componentName: "VueUiCandlestick",
321
+ type: "datasetAttribute",
322
+ property: "volume (index 5)",
323
+ index: a,
324
+ debug: J.value
325
+ });
326
+ }), ht.value.map((t) => ({
327
+ absoluteIndex: t.absoluteIndex,
328
+ period: t[0],
329
+ open: t[1],
330
+ high: t[2],
331
+ low: t[3],
332
+ close: t[4],
333
+ volume: t[5]
334
+ })))), ml = y(() => yt.value.map((t) => ({
335
+ absoluteIndex: t.absoluteIndex,
336
+ period: t[0],
337
+ open: t[1],
338
+ high: t[2],
339
+ low: t[3],
340
+ close: t[4],
341
+ volume: t[5]
342
+ }))), c = y(() => r.value.width / ht.value.length), mt = y(() => {
343
+ const t = e.value.style.layout.grid.yAxis.scale.max === null ? Math.max(...F.value.map((l) => l.high)) : e.value.style.layout.grid.yAxis.scale.max, a = e.value.style.layout.grid.yAxis.scale.min === null ? 0 : e.value.style.layout.grid.yAxis.scale.min;
344
+ return {
345
+ max: t,
346
+ min: a
347
+ };
348
+ }), N = y(() => Jl(mt.value.min, mt.value.max, e.value.style.layout.grid.yAxis.dataLabels.steps));
349
+ function be(t, a, l = null, s = null) {
350
+ return {
351
+ ...t,
352
+ x: K(r.value.left + a * c.value + c.value / 2),
353
+ y: K(r.value.top + (1 - (t - N.value.min) / (N.value.max - N.value.min)) * r.value.height),
354
+ value: K(t),
355
+ isMax: t === l,
356
+ isMin: t === s
357
+ };
358
+ }
359
+ const g = y(() => {
360
+ const t = {
361
+ o: Math.max(...F.value.map((o) => o.open)),
362
+ h: Math.max(...F.value.map((o) => o.high)),
363
+ l: Math.max(...F.value.map((o) => o.low)),
364
+ c: Math.max(...F.value.map((o) => o.low))
365
+ }, a = {
366
+ o: Math.min(...F.value.map((o) => o.open)),
367
+ h: Math.min(...F.value.map((o) => o.high)),
368
+ l: Math.min(...F.value.map((o) => o.low)),
369
+ c: Math.min(...F.value.map((o) => o.low))
370
+ }, l = Math.max(...F.value.map((o) => o.volume)), s = Math.min(...F.value.map((o) => o.volume));
371
+ return F.value.map((o, u) => {
372
+ const f = be(o.open, u, t.o, a.o), A = be(o.high, u, t.h, a.h), C = be(o.low, u, t.l, a.l), D = be(o.close, u, t.c, a.c), z = o.close > o.open, le = o.volume === l, Rt = o.volume === s;
373
+ return {
374
+ period: o.period,
375
+ open: f,
376
+ high: A,
377
+ low: C,
378
+ close: D,
379
+ volume: o.volume,
380
+ isBullish: z,
381
+ absoluteIndex: o.absoluteIndex,
382
+ isMaxVolume: le,
383
+ isMinVolume: Rt
384
+ };
385
+ });
386
+ });
387
+ function xe({ item: t, index: a, minimapH: l, unitW: s }) {
388
+ const o = e.value.style.layout.grid.yAxis.scale.min ?? 0, u = e.value.style.layout.grid.yAxis.scale.max ?? Math.max(...w.value.map((f) => f[2]));
389
+ return {
390
+ ...t,
391
+ x: K(a * s),
392
+ y: K((1 - (t - o) / (u - o)) * l),
393
+ value: K(t)
394
+ };
395
+ }
396
+ const pl = y(() => ({ minimapH: t, unitW: a }) => ml.value.map((l, s) => {
397
+ const o = xe({ item: l.open, index: s, minimapH: t, unitW: a }), u = xe({ item: l.high, index: s, minimapH: t, unitW: a }), f = xe({ item: l.low, index: s, minimapH: t, unitW: a }), A = xe({ item: l.close, index: s, minimapH: t, unitW: a }), C = l.close > l.open;
398
+ return {
399
+ period: l.period,
400
+ open: o,
401
+ high: u,
402
+ low: f,
403
+ close: A,
404
+ volume: l.volume,
405
+ isBullish: C,
406
+ absoluteIndex: l.absoluteIndex
407
+ };
408
+ })), fl = y(() => e.value.style.zoom.minimap.show ? [{
409
+ name: "",
410
+ series: w.value.map((t) => t[2]),
411
+ color: "#000000",
412
+ isVisible: !0
413
+ }] : []);
414
+ function gl(t) {
415
+ return K((t - N.value.min) / (N.value.max - N.value.min));
416
+ }
417
+ const pt = y(() => N.value.ticks.map((t) => ({
418
+ y: r.value.bottom - r.value.height * gl(t),
419
+ value: K(t)
420
+ }))), bl = y(() => F.value.map((t) => t.period)), E = v([]), Be = v([]);
421
+ let ft = 0;
422
+ Ce(() => {
423
+ const t = ++ft;
424
+ (async () => {
425
+ const a = await Xt({
426
+ values: w.value.map((l) => l[0]),
427
+ maxDatapoints: w.value.length,
428
+ formatter: e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter,
429
+ start: d.value.start,
430
+ end: d.value.end
431
+ });
432
+ t === ft && (E.value = a);
433
+ })();
434
+ });
435
+ let gt = 0;
436
+ Ce(() => {
437
+ const t = ++gt;
438
+ (async () => {
439
+ const a = await Xt({
440
+ values: w.value.map((l) => l[0]),
441
+ maxDatapoints: w.value.length,
442
+ formatter: e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter,
443
+ start: 0,
444
+ end: S.value
445
+ });
446
+ t === gt && (Be.value = a);
447
+ })();
448
+ });
449
+ const xl = y(() => {
450
+ const t = e.value.style.layout.grid.xAxis.dataLabels.modulo;
451
+ return E.value.length ? Math.min(t, [...new Set(E.value.map((a) => a.text))].length) : t;
452
+ }), bt = v({ months: [], shortMonths: [], days: [], shortDays: [] });
453
+ let xt = 0;
454
+ Ce(() => {
455
+ const t = ++xt, a = e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter;
456
+ (async () => {
457
+ const l = await qt(a.locale).catch(() => qt("en"));
458
+ t === xt && (bt.value = l.data);
459
+ })();
460
+ });
461
+ const kt = y(() => {
462
+ const t = e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter, a = ia({
463
+ useUTC: t.useUTC,
464
+ locale: bt.value,
465
+ januaryAsYear: t.januaryAsYear
466
+ });
467
+ return (l, s) => {
468
+ const u = w.value.map((f) => f[0])?.[l];
469
+ return u == null ? "" : a.formatDate(new Date(u), s);
470
+ };
471
+ }), kl = y(() => (w.value.map((a) => a[0]) || []).map((a, l) => ({
472
+ text: kt.value(l, e.value.style.tooltip.timeFormat),
473
+ absoluteIndex: l
474
+ }))), wl = y(() => (w.value.map((a) => a[0]) || []).map((a, l) => ({
475
+ text: kt.value(l, e.value.style.zoom.timeFormat),
476
+ absoluteIndex: l
477
+ }))), Ne = y(() => {
478
+ const t = e.value.style.layout.grid.xAxis.dataLabels, a = E.value || [], l = Be.value || [], s = d.value.start ?? 0, o = P.value, u = S.value, f = a.map((C) => C?.text ?? ""), A = l.map((C) => C?.text ?? "");
479
+ return Ql(
480
+ !!t.showOnlyFirstAndLast,
481
+ !!t.showOnlyAtModulo,
482
+ Math.max(1, xl.value || 1),
483
+ f,
484
+ A,
485
+ s,
486
+ o,
487
+ u
488
+ );
489
+ }), wt = y(() => e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter.enable ? {
490
+ start: E.value.find((t) => t.absoluteIndex === d.value.start)?.text ?? "",
491
+ end: E.value.find((t) => t.absoluteIndex === d.value.end - 1)?.text ?? ""
492
+ } : {
493
+ start: w.value[d.value.start] ? w.value[d.value.start][0] : w.value[0][0],
494
+ end: w.value[d.value.end - 1] ? w.value[d.value.end - 1][0] : w.value.at(-1)[0]
495
+ }), Ee = v(null);
496
+ function Ct(t, a) {
497
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: a, seriesIndex: t + d.value.start });
498
+ }
499
+ function Cl(t, a) {
500
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: a, seriesIndex: t + d.value.start }), P.value = void 0, se.value = !1, U.value = null, re.value = "pointer";
501
+ }
502
+ me(() => I.selectedXIndex, (t) => {
503
+ if ([null, void 0].includes(I.selectedXIndex)) {
504
+ P.value = null;
505
+ return;
506
+ }
507
+ const a = t - d.value.start;
508
+ a < 0 || t >= d.value.end ? P.value = null : P.value = a ?? null;
509
+ }, { immediate: !0 });
510
+ function At(t, a, l = "pointer") {
511
+ e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: a, seriesIndex: t + d.value.start }), P.value = t, U.value = t, re.value = l, Ee.value = {
512
+ datapoint: a,
513
+ seriesIndex: t,
514
+ series: g.value,
515
+ config: e.value
516
+ }, Pl({ seriesIndex: t, datapoint: a });
517
+ const s = e.value.style.tooltip.customFormat;
518
+ if (aa(s) && oa(() => s({
519
+ seriesIndex: t,
520
+ datapoint: a,
521
+ series: g.value,
522
+ config: e.value
523
+ })))
524
+ ze.value = s({
525
+ seriesIndex: t,
526
+ datapoint: a,
527
+ series: g.value,
528
+ config: e.value
529
+ });
530
+ else if (e.value.style.tooltip.show) {
531
+ let o = "";
532
+ const { period: u, open: f, high: A, low: C, close: D, volume: z, isBullish: le } = g.value[t], { period: Rt, open: Vl, high: Wl, low: Ul, close: Hl, volume: Xl } = e.value.translations, ql = e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter.enable ? e.value.style.tooltip.useDefaultTimeFormat ? E.value[t].text : kl.value[t].text : u;
533
+ o += `<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="${e.value.style.layout.candle.borderRadius * 3}" stroke="${e.value.style.layout.candle.stroke}" stroke-width="${e.value.style.layout.candle.strokeWidth}"
534
+ fill="${e.value.style.layout.candle.gradient.show ? le ? `url(#bullish_gradient_${_.value})` : `url(#bearish_gradient_${_.value})` : le ? e.value.style.layout.candle.colors.bullish : e.value.style.layout.candle.colors.bearish}"/></svg>${ql}</div>`, o += `${Xl} : <b>${isNaN(z) ? "-" : Number(z.toFixed(e.value.style.tooltip.roundingValue)).toLocaleString()}</b>`, o += `<div style="margin-top:6px;padding-top:6px;border-top:1px solid ${e.value.style.tooltip.borderColor}">`;
535
+ const He = R({
536
+ p: e.value.style.tooltip.prefix,
537
+ v: f.value,
538
+ s: e.value.style.tooltip.suffix,
539
+ r: e.value.style.tooltip.roundingValue
540
+ }), Pt = R({
541
+ p: e.value.style.tooltip.prefix,
542
+ v: A.value,
543
+ s: e.value.style.tooltip.suffix,
544
+ r: e.value.style.tooltip.roundingValue
545
+ }), Ot = R({
546
+ p: e.value.style.tooltip.prefix,
547
+ v: C.value,
548
+ s: e.value.style.tooltip.suffix,
549
+ r: e.value.style.tooltip.roundingValue
550
+ }), Xe = R({
551
+ p: e.value.style.tooltip.prefix,
552
+ v: D.value,
553
+ s: e.value.style.tooltip.suffix,
554
+ r: e.value.style.tooltip.roundingValue
555
+ });
556
+ e.value.style.tooltip.showChart ? o += `<div style="width:100%;display:flex;align-items:center;justify-content:center;">
557
+ <svg viewBox="0 0 100 100" width="100px" style="background: transparent; overflow: visible">
558
+ <g>
559
+ <line x1="50" x2="50" y1="20" y2="80" stroke="${a.isBullish ? e.value.style.layout.candle.colors.bullish : e.value.style.layout.candle.colors.bearish}" stroke-width="2" stroke-linecap="round" />
560
+ ${a.isBullish ? `
561
+ <line x1="45" x2="50" y1="65" y2="65" stroke="${e.value.style.layout.candle.colors.bullish}" stroke-width="1.5" stroke-linecap="round" />
562
+ <line x1="50" x2="55" y1="35" y2="35" stroke="${e.value.style.layout.candle.colors.bullish}" stroke-width="1.5" stroke-linecap="round" />
563
+ <text x="38" y="70" text-anchor="end" fill="${e.value.style.tooltip.color}">${He}</text>
564
+ <text x="62" y="40" text-anchor="start" fill="${e.value.style.tooltip.color}">${Xe}</text>
565
+ ` : `
566
+ <line x1="45" x2="50" y1="35" y2="35" stroke="${e.value.style.layout.candle.colors.bearish}" stroke-width="1.5" stroke-linecap="round" />
567
+ <line x1="50" x2="55" y1="65" y2="65" stroke="${e.value.style.layout.candle.colors.bearish}" stroke-width="1.5" stroke-linecap="round" />
568
+ <text x="40" y="40" text-anchor="end" fill="${e.value.style.tooltip.color}">${He}</text>
569
+ <text x="60" y="70" text-anchor="start" fill="${e.value.style.tooltip.color}">${Xe}</text>
570
+ `}
571
+ <text x="50" y="13" text-anchor="middle" fill="${e.value.style.tooltip.color}">${Pt}</text>
572
+ <text x="50" y="97" text-anchor="middle" fill="${e.value.style.tooltip.color}">${Ot}</text>
573
+ <g>
574
+ </svg>
575
+ <div>
576
+ ` : (o += `<div>${Vl}: <b>${He}</b></div>`, o += `<div>${Wl}: <b>${Pt}</b></div>`, o += `<div>${Ul}: <b>${Ot}</b></div>`, o += `<div>${Hl}: <b>${Xe}</b></div>`), o += "</div>", ze.value = `<div style="text-align:right">${o}</div>`;
577
+ }
578
+ se.value = !0;
579
+ }
580
+ const de = v(null);
581
+ function Al() {
582
+ return new Promise((t) => requestAnimationFrame(
583
+ () => requestAnimationFrame(() => t())
584
+ ));
585
+ }
586
+ qe(() => {
587
+ de.value && cancelAnimationFrame(de.value);
588
+ });
589
+ async function $t() {
590
+ we(), await je(), de.value && cancelAnimationFrame(de.value), de.value = requestAnimationFrame(async () => {
591
+ await Al(), we();
592
+ });
593
+ }
594
+ const ce = v(!1), _t = v(!1), ke = v(!1);
595
+ function we() {
596
+ if (!ce.value) {
597
+ ce.value = !0;
598
+ try {
599
+ const { startIndex: t, endIndex: a } = e.value.style.zoom, l = S.value, s = t ?? 0, o = a != null ? Math.min(St(a + 1), l) : l;
600
+ ke.value = !0, d.value.start = s, d.value.end = o, $.value.start = s, $.value.end = o, ge(), _t.value = !0;
601
+ } finally {
602
+ queueMicrotask(() => {
603
+ ke.value = !1;
604
+ }), ce.value = !1;
605
+ }
606
+ }
607
+ }
608
+ function St(t) {
609
+ const a = S.value;
610
+ return t > a ? a : t < 0 || t < d.value.start ? e.value.style.zoom.startIndex !== null ? e.value.style.zoom.startIndex + 1 : 1 : t;
611
+ }
612
+ function Ve(t = null) {
613
+ je(() => {
614
+ const a = [e.value.translations.period, e.value.translations.open, e.value.translations.high, e.value.translations.low, e.value.translations.close, e.value.translations.volume], l = g.value.map((u, f) => [
615
+ e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter.enable ? E.value[f].text : u.period,
616
+ u.open.value,
617
+ u.high.value,
618
+ u.low.value,
619
+ u.close.value,
620
+ u.volume
621
+ ]), s = [[e.value.style.title.text], [e.value.style.title.subtitle.text], [[""], [""], [""]]].concat([a]).concat(l), o = ta(s);
622
+ t ? t(o) : la({ csvContent: o, title: e.value.style.title.text || "vue-ui-candlestick" });
623
+ });
624
+ }
625
+ const te = y(() => {
626
+ const t = g.value.map((o, u) => {
627
+ const f = e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter.enable ? E.value?.[u]?.text ?? "" : o.period, A = R({
628
+ p: e.value.table.td.prefix,
629
+ v: o.open.value,
630
+ s: e.value.table.td.suffix,
631
+ r: e.value.table.td.roundingValue
632
+ }), C = R({
633
+ p: e.value.table.td.prefix,
634
+ v: o.high.value,
635
+ s: e.value.table.td.suffix,
636
+ r: e.value.table.td.roundingValue
637
+ }), D = R({
638
+ p: e.value.table.td.prefix,
639
+ v: o.low.value,
640
+ s: e.value.table.td.suffix,
641
+ r: e.value.table.td.roundingValue
642
+ }), z = R({
643
+ p: e.value.table.td.prefix,
644
+ v: o.close.value,
645
+ s: e.value.table.td.suffix,
646
+ r: e.value.table.td.roundingValue
647
+ });
648
+ return [
649
+ `<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="${e.value.style.layout.candle.borderRadius * 3}" fill="${e.value.style.layout.candle.gradient.show ? o.isBullish ? `url(#bullish_gradient_${_.value}` : `url(#bearish_gradient_${_.value})` : o.isBullish ? e.value.style.layout.candle.colors.bullish : e.value.style.layout.candle.colors.bearish}"/></svg> ${f}`,
650
+ A,
651
+ C,
652
+ D,
653
+ z,
654
+ `${isNaN(o.volume) ? "-" : o.volume.toLocaleString()}`
655
+ ];
656
+ }), a = g.value.map((o, u) => {
657
+ const f = e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter.enable ? E.value?.[u]?.text ?? "" : o.period, A = R({
658
+ p: e.value.table.td.prefix,
659
+ v: o.open.value,
660
+ s: e.value.table.td.suffix,
661
+ r: e.value.table.td.roundingValue
662
+ }), C = R({
663
+ p: e.value.table.td.prefix,
664
+ v: o.high.value,
665
+ s: e.value.table.td.suffix,
666
+ r: e.value.table.td.roundingValue
667
+ }), D = R({
668
+ p: e.value.table.td.prefix,
669
+ v: o.low.value,
670
+ s: e.value.table.td.suffix,
671
+ r: e.value.table.td.roundingValue
672
+ }), z = R({
673
+ p: e.value.table.td.prefix,
674
+ v: o.close.value,
675
+ s: e.value.table.td.suffix,
676
+ r: e.value.table.td.roundingValue
677
+ });
678
+ return [
679
+ f,
680
+ A,
681
+ C,
682
+ D,
683
+ z,
684
+ `${isNaN(o.volume) ? "-" : o.volume}`
685
+ ];
686
+ }), l = {
687
+ th: {
688
+ backgroundColor: e.value.table.th.backgroundColor,
689
+ color: e.value.table.th.color,
690
+ outline: e.value.table.th.outline
691
+ },
692
+ td: {
693
+ backgroundColor: e.value.table.td.backgroundColor,
694
+ color: e.value.table.td.color,
695
+ outline: e.value.table.td.outline
696
+ },
697
+ breakpoint: e.value.table.responsiveBreakpoint
698
+ }, s = [
699
+ e.value.translations.period,
700
+ e.value.translations.open,
701
+ e.value.translations.high,
702
+ e.value.translations.low,
703
+ e.value.translations.last,
704
+ e.value.translations.volume
705
+ ];
706
+ return { head: s, body: t, bodyA11y: a, config: l, colNames: s };
707
+ }), Q = v(!1);
708
+ function zt(t) {
709
+ Q.value = t, Ye.value += 1;
710
+ }
711
+ function Lt() {
712
+ O.value.showTable = !O.value.showTable;
713
+ }
714
+ function Tt() {
715
+ O.value.showTooltip = !O.value.showTooltip;
716
+ }
717
+ const ye = v(!1);
718
+ function We() {
719
+ ye.value = !ye.value;
720
+ }
721
+ async function $l({ scale: t = 2 } = {}) {
722
+ if (!W.value) return;
723
+ const { width: a, height: l } = W.value.getBoundingClientRect(), s = a / l, { imageUri: o, base64: u } = await pa({ domElement: W.value, base64: !0, img: !0, scale: t });
724
+ return {
725
+ imageUri: o,
726
+ base64: u,
727
+ title: e.value.style.title.text,
728
+ width: a,
729
+ height: l,
730
+ aspectRatio: s
731
+ };
732
+ }
733
+ const _l = y(() => b.value.width), Sl = y(() => b.value.height);
734
+ ma({
735
+ timeLabelsEls: ie,
736
+ timeLabels: E,
737
+ slicer: d,
738
+ configRef: e,
739
+ rotationPath: ["style", "layout", "grid", "xAxis", "dataLabels", "rotation"],
740
+ autoRotatePath: ["style", "layout", "grid", "xAxis", "dataLabels", "autoRotate", "enable"],
741
+ isAutoSize: !1,
742
+ rotation: e.value.style.layout.grid.xAxis.dataLabels.autoRotate.angle,
743
+ width: _l,
744
+ height: Sl
745
+ }), me(e, () => {
746
+ O.value = {
747
+ showTable: e.value.table.show,
748
+ showTooltip: e.value.style.tooltip.show
749
+ };
750
+ }, { immediate: !0 });
751
+ const he = y(() => {
752
+ const t = e.value.table.useDialog && !e.value.table.show, a = O.value.showTable;
753
+ return {
754
+ component: t ? al : Qt,
755
+ title: `${e.value.style.title.text}${e.value.style.title.subtitle.text ? `: ${e.value.style.title.subtitle.text}` : ""}`,
756
+ props: t ? {
757
+ backgroundColor: e.value.table.th.backgroundColor,
758
+ color: e.value.table.th.color,
759
+ headerColor: e.value.table.th.color,
760
+ headerBg: e.value.table.th.backgroundColor,
761
+ isFullscreen: Q.value,
762
+ fullscreenParent: W.value,
763
+ forcedWidth: Math.min(800, window.innerWidth * 0.8),
764
+ isCursorPointer: ve.value
765
+ } : {
766
+ hideDetails: !0,
767
+ config: {
768
+ open: a,
769
+ maxHeight: 1e4,
770
+ body: {
771
+ backgroundColor: e.value.style.backgroundColor,
772
+ color: e.value.style.color
773
+ },
774
+ head: {
775
+ backgroundColor: e.value.style.backgroundColor,
776
+ color: e.value.style.color
777
+ }
778
+ }
779
+ }
780
+ };
781
+ });
782
+ me(() => O.value.showTable, (t) => {
783
+ e.value.table.show || (t && e.value.table.useDialog && ne.value ? ne.value.open() : "close" in ne.value && ne.value.close());
784
+ });
785
+ function It() {
786
+ O.value.showTable = !1, Te.value && Te.value.setTableIconState(!1);
787
+ }
788
+ const zl = y(() => e.value.style.backgroundColor), Ll = y(() => e.value.style.title), { exportSvg: Tl, getSvg: Il } = da({
789
+ svg: Y,
790
+ title: Ll,
791
+ backgroundColor: zl
792
+ });
793
+ async function Ft({ isCb: t }) {
794
+ fe.value = !0, await je();
795
+ try {
796
+ if (t) {
797
+ const { blob: a, url: l, text: s, dataUrl: o } = await Il();
798
+ await Promise.resolve(e.value.userOptions.callbacks.svg({ blob: a, url: l, text: s, dataUrl: o }));
799
+ } else
800
+ await Promise.resolve(Tl());
801
+ } finally {
802
+ fe.value = !1;
803
+ }
804
+ }
805
+ function Fl(t) {
806
+ at.value = t;
807
+ }
808
+ function Ml(t) {
809
+ ce.value || ke.value || t !== d.value.start && (d.value.start = t, $.value.start = t, ge());
810
+ }
811
+ function Rl(t) {
812
+ if (ce.value || ke.value) return;
813
+ const a = St(t);
814
+ a !== d.value.end && (d.value.end = a, $.value.end = a, ge());
815
+ }
816
+ function Pl({ seriesIndex: t, datapoint: a }) {
817
+ const l = d.value.start + t;
818
+ $e("selectX", {
819
+ dataset: a,
820
+ index: l,
821
+ indexLabel: ""
822
+ });
823
+ }
824
+ function Ol(t) {
825
+ if (t?.stage === "start") {
826
+ pe.value = !0;
827
+ return;
828
+ }
829
+ if (t?.stage === "end") {
830
+ pe.value = !1;
831
+ return;
832
+ }
833
+ rt();
834
+ }
835
+ async function Mt() {
836
+ if ($e("copyAlt", {
837
+ config: e.value,
838
+ dataset: g.value
839
+ }), !e.value.userOptions.callbacks.altCopy) {
840
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
841
+ return;
842
+ }
843
+ await Promise.resolve(e.value.userOptions.callbacks.altCopy({
844
+ config: e.value,
845
+ dataset: g.value
846
+ }));
847
+ }
848
+ function Dl() {
849
+ U.value = null, Ie.value = !0;
850
+ }
851
+ function Bl() {
852
+ U.value = null, re.value = "pointer", se.value = !1, P.value = void 0, Ie.value = !1;
853
+ }
854
+ function Nl(t) {
855
+ if (!Y.value || ye.value || document.activeElement !== Y.value || !g.value.length) return;
856
+ const a = t.key === "ArrowLeft", l = t.key === "ArrowRight", s = t.key === "Enter" || t.key === " ", o = t.key === "Escape";
857
+ if (!a && !l && !s && !o) return;
858
+ if (t.preventDefault(), t.stopPropagation(), o) {
859
+ U.value = null, re.value = "pointer", se.value = !1, P.value = void 0;
860
+ return;
861
+ }
862
+ if (s) {
863
+ if (U.value === null) return;
864
+ const z = g.value[U.value];
865
+ if (!z) return;
866
+ Ct(U.value, z);
867
+ return;
868
+ }
869
+ let u = U.value;
870
+ const f = P.value, A = u !== null && u >= 0 && u < g.value.length, C = f != null && f >= 0 && f < g.value.length;
871
+ A ? l ? (u += 1, u >= g.value.length && (u = 0)) : a && (u -= 1, u < 0 && (u = g.value.length - 1)) : C ? (u = l ? f + 1 : f - 1, u >= g.value.length && (u = 0), u < 0 && (u = g.value.length - 1)) : l ? u = 0 : u = g.value.length - 1;
872
+ const D = g.value[u];
873
+ D && (El(u), At(u, D, "keyboard"));
874
+ }
875
+ function El(t) {
876
+ if (!Number.isFinite(t) || !Y.value) return;
877
+ const a = r.value.left + c.value * t + c.value / 2, l = r.value.top + r.value.height / 2, s = Y.value.getBoundingClientRect();
878
+ ot.value = {
879
+ x: s.left + a / b.value.width * s.width,
880
+ y: s.top + l / b.value.height * s.height
881
+ };
882
+ }
883
+ const Ue = y(() => {
884
+ const t = te.value?.colNames ?? [], a = te.value?.bodyA11y ?? [];
885
+ return { headers: t, rows: a };
886
+ });
887
+ return Gt({
888
+ getImage: $l,
889
+ generatePdf: nt,
890
+ generateCsv: Ve,
891
+ generateImage: rt,
892
+ generateSvg: Ft,
893
+ toggleTable: Lt,
894
+ toggleTooltip: Tt,
895
+ toggleAnnotator: We,
896
+ toggleFullscreen: zt,
897
+ copyAlt: Mt
898
+ }), (t, a) => (i(), n("div", {
899
+ ref_key: "candlestickChart",
900
+ ref: W,
901
+ class: X(`vue-data-ui-component vue-ui-candlestick ${Q.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
902
+ style: ae(`position:relative;font-family:${e.value.style.fontFamily}; text-align:center;background:${e.value.style.backgroundColor}; ${e.value.responsive ? "height: 100%" : ""}`),
903
+ id: `vue-ui-candlestick_${_.value}`,
904
+ onMouseenter: rl,
905
+ onMouseleave: vl
906
+ }, [
907
+ m("div", {
908
+ id: `chart-instructions-${_.value}`,
909
+ class: "sr-only"
910
+ }, [
911
+ m("p", null, oe(e.value.a11y.translations.keyboardNavigation), 1)
912
+ ], 8, Ca),
913
+ Ue.value?.rows?.length ? (i(), G(ba, {
914
+ key: 0,
915
+ uid: _.value,
916
+ head: Ue.value.headers,
917
+ body: Ue.value.rows,
918
+ notice: e.value.a11y.translations.tableAvailable,
919
+ caption: e.value.a11y.translations.tableCaption
920
+ }, null, 8, ["uid", "head", "body", "notice", "caption"])) : p("", !0),
921
+ e.value.userOptions.buttons.annotator ? (i(), G(h(el), {
922
+ key: 1,
923
+ svgRef: h(Y),
924
+ backgroundColor: e.value.style.backgroundColor,
925
+ color: e.value.style.color,
926
+ active: ye.value,
927
+ isCursorPointer: ve.value,
928
+ onClose: We
929
+ }, {
930
+ "annotator-action-close": k(() => [
931
+ x(t.$slots, "annotator-action-close", {}, void 0, !0)
932
+ ]),
933
+ "annotator-action-color": k(({ color: l }) => [
934
+ x(t.$slots, "annotator-action-color", L(T({ color: l })), void 0, !0)
935
+ ]),
936
+ "annotator-action-draw": k(({ mode: l }) => [
937
+ x(t.$slots, "annotator-action-draw", L(T({ mode: l })), void 0, !0)
938
+ ]),
939
+ "annotator-action-undo": k(({ disabled: l }) => [
940
+ x(t.$slots, "annotator-action-undo", L(T({ disabled: l })), void 0, !0)
941
+ ]),
942
+ "annotator-action-redo": k(({ disabled: l }) => [
943
+ x(t.$slots, "annotator-action-redo", L(T({ disabled: l })), void 0, !0)
944
+ ]),
945
+ "annotator-action-delete": k(({ disabled: l }) => [
946
+ x(t.$slots, "annotator-action-delete", L(T({ disabled: l })), void 0, !0)
947
+ ]),
948
+ _: 3
949
+ }, 8, ["svgRef", "backgroundColor", "color", "active", "isCursorPointer"])) : p("", !0),
950
+ dl.value ? (i(), n("div", {
951
+ key: 2,
952
+ ref_key: "noTitle",
953
+ ref: et,
954
+ class: "vue-data-ui-no-title-space",
955
+ style: "height:36px; width: 100%;background:transparent"
956
+ }, null, 512)) : p("", !0),
957
+ e.value.style.title.text ? (i(), n("div", {
958
+ key: 3,
959
+ ref_key: "chartTitle",
960
+ ref: Je,
961
+ style: "width:100%;background:transparent"
962
+ }, [
963
+ (i(), G(fa, {
964
+ key: `title_${lt.value}`,
965
+ config: {
966
+ title: {
967
+ cy: "candlestick-div-title",
968
+ ...e.value.style.title
969
+ },
970
+ subtitle: {
971
+ cy: "candlestick-div-subtitle",
972
+ ...e.value.style.title.subtitle
973
+ }
974
+ }
975
+ }, null, 8, ["config"]))
976
+ ], 512)) : p("", !0),
977
+ e.value.userOptions.show && _e.value && (h(ut) || h(Me)) ? (i(), G(h(tl), {
978
+ ref_key: "userOptionsRef",
979
+ ref: Te,
980
+ key: `user_options_${Ye.value}`,
981
+ backgroundColor: e.value.style.backgroundColor,
982
+ color: e.value.style.color,
983
+ isImaging: h(Oe),
984
+ isPrinting: h(Pe),
985
+ uid: _.value,
986
+ hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.tooltip.show,
987
+ hasPdf: e.value.userOptions.buttons.pdf,
988
+ hasImg: e.value.userOptions.buttons.img,
989
+ hasSvg: e.value.userOptions.buttons.svg,
990
+ hasXls: e.value.userOptions.buttons.csv,
991
+ hasTable: e.value.userOptions.buttons.table,
992
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
993
+ hasAltCopy: e.value.userOptions.buttons.altCopy,
994
+ isFullscreen: Q.value,
995
+ isTooltip: O.value.showTooltip,
996
+ titles: { ...e.value.userOptions.buttonTitles },
997
+ chartElement: W.value,
998
+ position: e.value.userOptions.position,
999
+ hasAnnotator: e.value.userOptions.buttons.annotator,
1000
+ isAnnotation: ye.value,
1001
+ callbacks: e.value.userOptions.callbacks,
1002
+ printScale: e.value.userOptions.print.scale,
1003
+ tableDialog: e.value.table.useDialog,
1004
+ isCursorPointer: ve.value,
1005
+ onToggleFullscreen: zt,
1006
+ onGeneratePdf: h(nt),
1007
+ onGenerateCsv: Ve,
1008
+ onGenerateImage: Ol,
1009
+ onGenerateSvg: Ft,
1010
+ onToggleTable: Lt,
1011
+ onToggleTooltip: Tt,
1012
+ onToggleAnnotator: We,
1013
+ onCopyAlt: Mt,
1014
+ style: ae({
1015
+ visibility: h(ut) ? h(Me) ? "visible" : "hidden" : "visible"
1016
+ })
1017
+ }, Bt({ _: 2 }, [
1018
+ t.$slots.menuIcon ? {
1019
+ name: "menuIcon",
1020
+ fn: k(({ isOpen: l, color: s }) => [
1021
+ x(t.$slots, "menuIcon", L(T({ isOpen: l, color: s })), void 0, !0)
1022
+ ]),
1023
+ key: "0"
1024
+ } : void 0,
1025
+ t.$slots.optionTooltip ? {
1026
+ name: "optionTooltip",
1027
+ fn: k(() => [
1028
+ x(t.$slots, "optionTooltip", {}, void 0, !0)
1029
+ ]),
1030
+ key: "1"
1031
+ } : void 0,
1032
+ t.$slots.optionPdf ? {
1033
+ name: "optionPdf",
1034
+ fn: k(() => [
1035
+ x(t.$slots, "optionPdf", {}, void 0, !0)
1036
+ ]),
1037
+ key: "2"
1038
+ } : void 0,
1039
+ t.$slots.optionCsv ? {
1040
+ name: "optionCsv",
1041
+ fn: k(() => [
1042
+ x(t.$slots, "optionCsv", {}, void 0, !0)
1043
+ ]),
1044
+ key: "3"
1045
+ } : void 0,
1046
+ t.$slots.optionImg ? {
1047
+ name: "optionImg",
1048
+ fn: k(() => [
1049
+ x(t.$slots, "optionImg", {}, void 0, !0)
1050
+ ]),
1051
+ key: "4"
1052
+ } : void 0,
1053
+ t.$slots.optionSvg ? {
1054
+ name: "optionSvg",
1055
+ fn: k(() => [
1056
+ x(t.$slots, "optionSvg", {}, void 0, !0)
1057
+ ]),
1058
+ key: "5"
1059
+ } : void 0,
1060
+ t.$slots.optionTable ? {
1061
+ name: "optionTable",
1062
+ fn: k(() => [
1063
+ x(t.$slots, "optionTable", {}, void 0, !0)
1064
+ ]),
1065
+ key: "6"
1066
+ } : void 0,
1067
+ t.$slots.optionFullscreen ? {
1068
+ name: "optionFullscreen",
1069
+ fn: k(({ toggleFullscreen: l, isFullscreen: s }) => [
1070
+ x(t.$slots, "optionFullscreen", L(T({ toggleFullscreen: l, isFullscreen: s })), void 0, !0)
1071
+ ]),
1072
+ key: "7"
1073
+ } : void 0,
1074
+ t.$slots.optionAnnotator ? {
1075
+ name: "optionAnnotator",
1076
+ fn: k(({ toggleAnnotator: l, isAnnotator: s }) => [
1077
+ x(t.$slots, "optionAnnotator", L(T({ toggleAnnotator: l, isAnnotator: s })), void 0, !0)
1078
+ ]),
1079
+ key: "8"
1080
+ } : void 0,
1081
+ t.$slots.optionAltCopy ? {
1082
+ name: "optionAltCopy",
1083
+ fn: k(({ altCopy: l }) => [
1084
+ x(t.$slots, "optionAltCopy", L(T({ altCopy: l })), void 0, !0)
1085
+ ]),
1086
+ key: "9"
1087
+ } : void 0
1088
+ ]), 1032, ["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"])) : p("", !0),
1089
+ m("div", Aa, [
1090
+ (i(), n("svg", {
1091
+ ref_key: "svgRef",
1092
+ ref: Y,
1093
+ xmlns: h(Zl),
1094
+ "aria-describedby": `chart-instructions-${_.value}`,
1095
+ class: X({ "vue-data-ui-fullscreen--on": Q.value, "vue-data-ui-fulscreen--off": !Q.value }),
1096
+ viewBox: `0 0 ${b.value.width <= 0 ? 10 : b.value.width} ${b.value.height <= 0 ? 10 : b.value.height}`,
1097
+ style: ae(`max-width:100%;overflow:visible;background:transparent;color:${e.value.style.color}`),
1098
+ tabindex: "0",
1099
+ onFocus: Dl,
1100
+ onBlur: Bl,
1101
+ onKeydown: Nl
1102
+ }, [
1103
+ Ge(h(ll)),
1104
+ t.$slots["chart-background"] ? (i(), n("foreignObject", {
1105
+ key: 0,
1106
+ x: r.value.left,
1107
+ y: r.value.top,
1108
+ width: Math.max(0.1, r.value.width),
1109
+ height: Math.max(0.1, r.value.height),
1110
+ style: {
1111
+ pointerEvents: "none"
1112
+ }
1113
+ }, [
1114
+ x(t.$slots, "chart-background", {}, void 0, !0)
1115
+ ], 8, _a)) : p("", !0),
1116
+ g.value.length > 0 ? (i(), n("g", Sa, [
1117
+ m("defs", null, [
1118
+ m("linearGradient", {
1119
+ id: `bearish_gradient_${_.value}`,
1120
+ x2: "0%",
1121
+ y2: "100%"
1122
+ }, [
1123
+ m("stop", {
1124
+ offset: "0%",
1125
+ "stop-color": e.value.style.layout.candle.colors.bearish
1126
+ }, null, 8, La),
1127
+ m("stop", {
1128
+ offset: "50%",
1129
+ "stop-color": `${h(Ae)(e.value.style.layout.candle.colors.bearish, 0.02)}DE`
1130
+ }, null, 8, Ta),
1131
+ m("stop", {
1132
+ offset: "100%",
1133
+ "stop-color": `${h(Ae)(e.value.style.layout.candle.colors.bearish, 0.05)}66`
1134
+ }, null, 8, Ia)
1135
+ ], 8, za),
1136
+ m("linearGradient", {
1137
+ id: `bullish_gradient_${_.value}`,
1138
+ x2: "0%",
1139
+ y2: "100%"
1140
+ }, [
1141
+ m("stop", {
1142
+ offset: "0%",
1143
+ "stop-color": e.value.style.layout.candle.colors.bullish
1144
+ }, null, 8, Ma),
1145
+ m("stop", {
1146
+ offset: "50%",
1147
+ "stop-color": `${h(Ae)(e.value.style.layout.candle.colors.bullish, 0.02)}DE`
1148
+ }, null, 8, Ra),
1149
+ m("stop", {
1150
+ offset: "100%",
1151
+ "stop-color": `${h(Ae)(e.value.style.layout.candle.colors.bullish, 0.05)}66`
1152
+ }, null, 8, Pa)
1153
+ ], 8, Fa)
1154
+ ]),
1155
+ e.value.style.layout.grid.show ? (i(), n("g", Oa, [
1156
+ m("line", {
1157
+ x1: r.value.left,
1158
+ x2: r.value.left,
1159
+ y1: r.value.top,
1160
+ y2: r.value.bottom,
1161
+ stroke: e.value.style.layout.grid.stroke,
1162
+ "stroke-width": e.value.style.layout.grid.strokeWidth,
1163
+ "stroke-linecap": "round"
1164
+ }, null, 8, Da),
1165
+ m("line", {
1166
+ x1: r.value.left,
1167
+ x2: r.value.right,
1168
+ y1: r.value.bottom,
1169
+ y2: r.value.bottom,
1170
+ stroke: e.value.style.layout.grid.stroke,
1171
+ "stroke-width": e.value.style.layout.grid.strokeWidth,
1172
+ "stroke-linecap": "round"
1173
+ }, null, 8, Ba),
1174
+ e.value.style.layout.grid.horizontalLines.show ? (i(!0), n(M, { key: 0 }, B(pt.value, (l) => (i(), n("line", {
1175
+ x1: r.value.left,
1176
+ x2: r.value.right,
1177
+ y1: l.y,
1178
+ y2: l.y,
1179
+ stroke: e.value.style.layout.grid.horizontalLines.stroke,
1180
+ "stroke-width": e.value.style.layout.grid.horizontalLines.strokeWidth,
1181
+ "stroke-dasharray": e.value.style.layout.grid.horizontalLines.strokeDasharray,
1182
+ "stroke-linecap": "round"
1183
+ }, null, 8, Na))), 256)) : p("", !0),
1184
+ e.value.style.layout.grid.verticalLines.show ? (i(!0), n(M, { key: 1 }, B(Ne.value, (l, s) => (i(), n("g", null, [
1185
+ l.text ? (i(), n("line", {
1186
+ key: 0,
1187
+ x1: r.value.left + c.value * s + c.value / 2,
1188
+ x2: r.value.left + c.value * s + c.value / 2,
1189
+ y1: r.value.top,
1190
+ y2: r.value.bottom,
1191
+ stroke: e.value.style.layout.grid.verticalLines.stroke,
1192
+ "stroke-width": e.value.style.layout.grid.verticalLines.strokeWidth,
1193
+ "stroke-dasharray": e.value.style.layout.grid.verticalLines.strokeDasharray,
1194
+ "stroke-linecap": "round"
1195
+ }, null, 8, Ea)) : p("", !0)
1196
+ ]))), 256)) : p("", !0),
1197
+ e.value.style.layout.grid.xAxis.ticks.show ? (i(!0), n(M, { key: 2 }, B(Ne.value, (l, s) => (i(), n("g", null, [
1198
+ l.text ? (i(), n("line", {
1199
+ key: 0,
1200
+ x1: r.value.left + c.value * s + c.value / 2,
1201
+ x2: r.value.left + c.value * s + c.value / 2,
1202
+ y1: r.value.bottom,
1203
+ y2: r.value.bottom + 3,
1204
+ stroke: e.value.style.layout.grid.stroke,
1205
+ "stroke-width": e.value.style.layout.grid.strokeWidth,
1206
+ "stroke-linecap": "round"
1207
+ }, null, 8, Va)) : p("", !0)
1208
+ ]))), 256)) : p("", !0)
1209
+ ])) : p("", !0),
1210
+ e.value.style.layout.grid.yAxis.dataLabels.show ? (i(), n("g", {
1211
+ key: 1,
1212
+ ref_key: "scaleLabels",
1213
+ ref: Le
1214
+ }, [
1215
+ (i(!0), n(M, null, B(pt.value, (l, s) => (i(), n("g", null, [
1216
+ l.value >= N.value.min && l.value <= N.value.max ? (i(), n("line", {
1217
+ key: 0,
1218
+ x1: r.value.left,
1219
+ x2: r.value.left - 5,
1220
+ y1: l.y,
1221
+ y2: l.y,
1222
+ stroke: e.value.style.layout.grid.stroke,
1223
+ "stroke-width": e.value.style.layout.grid.strokeWidth,
1224
+ "stroke-linecap": "round"
1225
+ }, null, 8, Wa)) : p("", !0),
1226
+ l.value >= N.value.min && l.value <= N.value.max ? (i(), n("text", {
1227
+ key: 1,
1228
+ x: r.value.left - 8 + e.value.style.layout.grid.yAxis.dataLabels.offsetX,
1229
+ y: l.y + b.value.yAxisFontSize / 3,
1230
+ "font-size": b.value.yAxisFontSize,
1231
+ "text-anchor": "end",
1232
+ fill: e.value.style.layout.grid.yAxis.dataLabels.color,
1233
+ "font-weight": e.value.style.layout.grid.yAxis.dataLabels.bold ? "bold" : "normal"
1234
+ }, oe(h(R)({
1235
+ p: e.value.style.layout.grid.yAxis.dataLabels.prefix,
1236
+ v: l.value,
1237
+ s: e.value.style.layout.grid.yAxis.dataLabels.suffix,
1238
+ r: e.value.style.layout.grid.yAxis.dataLabels.roundingValue
1239
+ })), 9, Ua)) : p("", !0)
1240
+ ]))), 256))
1241
+ ], 512)) : p("", !0),
1242
+ e.value.style.layout.grid.xAxis.dataLabels.show && !e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter.enable ? (i(), n("g", {
1243
+ key: 2,
1244
+ ref_key: "timeLabelsEls",
1245
+ ref: ie
1246
+ }, [
1247
+ (i(!0), n(M, null, B(bl.value, (l, s) => (i(), n("g", null, [
1248
+ m("text", {
1249
+ class: "vue-data-ui-time-label",
1250
+ transform: `translate(${r.value.left + c.value * s + c.value / 2}, ${r.value.bottom + b.value.xAxisFontSize * 1.5}), rotate(${e.value.style.layout.grid.xAxis.dataLabels.rotation})`,
1251
+ "text-anchor": e.value.style.layout.grid.xAxis.dataLabels.rotation > 0 ? "start" : e.value.style.layout.grid.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1252
+ "font-size": b.value.xAxisFontSize,
1253
+ fill: e.value.style.layout.grid.xAxis.dataLabels.color,
1254
+ "font-weight": e.value.style.layout.grid.xAxis.dataLabels.bold ? "bold" : "normal"
1255
+ }, oe(l), 9, Ha)
1256
+ ]))), 256))
1257
+ ], 512)) : p("", !0),
1258
+ e.value.style.layout.grid.xAxis.dataLabels.show && e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter.enable ? (i(), n("g", {
1259
+ key: 3,
1260
+ ref_key: "timeLabelsEls",
1261
+ ref: ie
1262
+ }, [
1263
+ (i(!0), n(M, null, B(Ne.value, (l, s) => (i(), n("g", null, [
1264
+ m("text", {
1265
+ class: "vue-data-ui-time-label",
1266
+ transform: `translate(${r.value.left + c.value * s + c.value / 2}, ${r.value.bottom + b.value.xAxisFontSize * 1.5}), rotate(${e.value.style.layout.grid.xAxis.dataLabels.rotation})`,
1267
+ "text-anchor": e.value.style.layout.grid.xAxis.dataLabels.rotation > 0 ? "start" : e.value.style.layout.grid.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1268
+ "font-size": b.value.xAxisFontSize,
1269
+ fill: e.value.style.layout.grid.xAxis.dataLabels.color,
1270
+ "font-weight": e.value.style.layout.grid.xAxis.dataLabels.bold ? "bold" : "normal"
1271
+ }, oe(l?.text ?? ""), 9, Xa)
1272
+ ]))), 256))
1273
+ ], 512)) : p("", !0),
1274
+ e.value.type === "candlestick" ? (i(), n(M, { key: 4 }, [
1275
+ m("g", null, [
1276
+ (i(!0), n(M, null, B(g.value, (l, s) => (i(), n("g", null, [
1277
+ m("rect", {
1278
+ x: l.open.x - e.value.style.layout.wick.strokeWidth / 2,
1279
+ y: l.high.y,
1280
+ width: e.value.style.layout.wick.strokeWidth,
1281
+ height: Math.abs(l.high.y - l.low.y),
1282
+ fill: e.value.style.layout.wick.stroke,
1283
+ stroke: "none",
1284
+ rx: e.value.style.layout.wick.strokeWidth / 2,
1285
+ class: X({ "vue-data-ui-transition": V.value && !h(H) })
1286
+ }, null, 10, qa),
1287
+ e.value.style.layout.wick.extremity.shape === "circle" ? (i(), n("g", ja, [
1288
+ m("circle", {
1289
+ cx: l.high.x,
1290
+ cy: l.high.y,
1291
+ r: e.value.style.layout.wick.extremity.size === "auto" ? c.value / 20 : e.value.style.layout.wick.extremity.size,
1292
+ fill: e.value.style.layout.wick.extremity.color,
1293
+ class: X({ "vue-data-ui-transition": V.value && !h(H) })
1294
+ }, null, 10, Ga),
1295
+ m("circle", {
1296
+ cx: l.low.x,
1297
+ cy: l.low.y,
1298
+ r: e.value.style.layout.wick.extremity.size === "auto" ? c.value / 20 : e.value.style.layout.wick.extremity.size,
1299
+ fill: e.value.style.layout.wick.extremity.color,
1300
+ class: X({ "vue-data-ui-transition": V.value && !h(H) })
1301
+ }, null, 10, Ka)
1302
+ ])) : p("", !0),
1303
+ e.value.style.layout.wick.extremity.shape === "line" ? (i(), n("g", Ya, [
1304
+ m("rect", {
1305
+ x: l.high.x - (e.value.style.layout.wick.extremity.size === "auto" ? c.value * e.value.style.layout.candle.widthRatio : e.value.style.layout.wick.extremity.size) / 2,
1306
+ y: l.high.y - e.value.style.layout.wick.strokeWidth / 2,
1307
+ width: Math.abs(l.high.x - (e.value.style.layout.wick.extremity.size === "auto" ? c.value * e.value.style.layout.candle.widthRatio : e.value.style.layout.wick.extremity.size) / 2 - (l.high.x + (e.value.style.layout.wick.extremity.size === "auto" ? c.value * e.value.style.layout.candle.widthRatio : e.value.style.layout.wick.extremity.size) / 2)),
1308
+ height: e.value.style.layout.wick.strokeWidth,
1309
+ rx: e.value.style.layout.wick.strokeWidth / 2,
1310
+ fill: e.value.style.layout.wick.extremity.color,
1311
+ stroke: "none",
1312
+ class: X({ "vue-data-ui-transition": V.value && !h(H) })
1313
+ }, null, 10, Ja),
1314
+ m("rect", {
1315
+ x: l.low.x - (e.value.style.layout.wick.extremity.size === "auto" ? c.value * e.value.style.layout.candle.widthRatio : e.value.style.layout.wick.extremity.size) / 2,
1316
+ y: l.low.y - e.value.style.layout.wick.strokeWidth / 2,
1317
+ width: Math.abs(l.low.x - (e.value.style.layout.wick.extremity.size === "auto" ? c.value * e.value.style.layout.candle.widthRatio : e.value.style.layout.wick.extremity.size) / 2 - (l.low.x + (e.value.style.layout.wick.extremity.size === "auto" ? c.value * e.value.style.layout.candle.widthRatio : e.value.style.layout.wick.extremity.size) / 2)),
1318
+ height: e.value.style.layout.wick.strokeWidth,
1319
+ fill: e.value.style.layout.wick.extremity.color,
1320
+ stroke: "none",
1321
+ rx: e.value.style.layout.wick.strokeWidth / 2,
1322
+ class: X({ "vue-data-ui-transition": V.value && !h(H) })
1323
+ }, null, 10, Qa)
1324
+ ])) : p("", !0)
1325
+ ]))), 256))
1326
+ ]),
1327
+ m("g", null, [
1328
+ (i(!0), n(M, null, B(g.value, (l, s) => (i(), n("rect", {
1329
+ x: l.open.x - c.value / 2 + c.value * (1 - e.value.style.layout.candle.widthRatio) / 2,
1330
+ y: l.isBullish ? l.close.y : l.open.y,
1331
+ height: Math.abs(l.close.y - l.open.y) <= 0 ? 1e-4 : Math.abs(l.close.y - l.open.y),
1332
+ width: c.value * e.value.style.layout.candle.widthRatio <= 0 ? 1e-4 : c.value * e.value.style.layout.candle.widthRatio,
1333
+ fill: e.value.style.layout.candle.gradient.underlayer,
1334
+ rx: e.value.style.layout.candle.borderRadius,
1335
+ stroke: "none",
1336
+ class: X({ "vue-data-ui-transition": V.value && !h(H) })
1337
+ }, null, 10, Za))), 256)),
1338
+ (i(!0), n(M, null, B(g.value, (l, s) => (i(), n("rect", {
1339
+ x: l.open.x - c.value / 2 + c.value * (1 - e.value.style.layout.candle.widthRatio) / 2,
1340
+ y: l.isBullish ? l.close.y : l.open.y,
1341
+ height: Math.abs(l.close.y - l.open.y) <= 0 ? 1e-4 : Math.abs(l.close.y - l.open.y),
1342
+ width: c.value * e.value.style.layout.candle.widthRatio <= 0 ? 1e-4 : c.value * e.value.style.layout.candle.widthRatio,
1343
+ fill: l.isBullish ? e.value.style.layout.candle.gradient.show ? `url(#bullish_gradient_${_.value})` : e.value.style.layout.candle.colors.bullish : e.value.style.layout.candle.gradient.show ? `url(#bearish_gradient_${_.value})` : e.value.style.layout.candle.colors.bearish,
1344
+ rx: e.value.style.layout.candle.borderRadius,
1345
+ stroke: e.value.style.layout.candle.stroke,
1346
+ "stroke-width": e.value.style.layout.candle.strokeWidth,
1347
+ "stroke-linecap": "round",
1348
+ "stroke-linejoin": "round",
1349
+ class: X({ "vue-data-ui-transition": V.value && !h(H) })
1350
+ }, null, 10, eo))), 256))
1351
+ ])
1352
+ ], 64)) : p("", !0),
1353
+ e.value.type === "ohlc" ? (i(!0), n(M, { key: 5 }, B(g.value, (l, s) => (i(), n("g", null, [
1354
+ m("path", {
1355
+ d: `M ${l.high.x},${l.high.y} ${l.low.x},${l.low.y} M${l.open.x - Math.min(6, c.value / 3)},${l.open.y} ${l.open.x},${l.open.y} M${l.close.x},${l.close.y} ${l.close.x + Math.min(6, c.value / 3)},${l.close.y}`,
1356
+ stroke: l.isBullish ? e.value.style.layout.candle.colors.bullish : e.value.style.layout.candle.colors.bearish,
1357
+ "stroke-width": 1
1358
+ }, null, 8, to)
1359
+ ]))), 256)) : p("", !0),
1360
+ m("g", null, [
1361
+ (i(!0), n(M, null, B(g.value, (l, s) => (i(), n("rect", {
1362
+ x: r.value.left + s * c.value,
1363
+ y: r.value.top,
1364
+ height: r.value.height <= 0 ? 1e-4 : r.value.height,
1365
+ width: c.value <= 0 ? 1e-4 : c.value,
1366
+ fill: P.value === s || at.value === s ? h(ea)(e.value.style.layout.selector.color, e.value.style.layout.selector.opacity) : "transparent",
1367
+ onMouseover: () => At(s, l, "pointer"),
1368
+ onMouseleave: () => Cl(s, l),
1369
+ onClick: () => Ct(s, l)
1370
+ }, null, 40, lo))), 256))
1371
+ ])
1372
+ ])) : p("", !0),
1373
+ dt.value ? (i(), n("rect", Nt({ key: 2 }, hl.value, {
1374
+ "data-start": d.value.start,
1375
+ "data-end": d.value.end
1376
+ }), null, 16, ao)) : p("", !0),
1377
+ x(t.$slots, "svg", {
1378
+ svg: {
1379
+ ...b.value,
1380
+ data: g.value,
1381
+ drawingArea: r.value,
1382
+ isPrintingImg: h(Pe) | h(Oe) | pe.value,
1383
+ isPrintingSvg: fe.value
1384
+ }
1385
+ }, void 0, !0)
1386
+ ], 46, $a)),
1387
+ t.$slots.hint ? (i(), n("div", oo, [
1388
+ x(t.$slots, "hint", L(T({ hint: e.value.a11y.translations.keyboardNavigation, isVisible: Ie.value })), void 0, !0)
1389
+ ])) : p("", !0)
1390
+ ]),
1391
+ t.$slots.watermark ? (i(), n("div", so, [
1392
+ x(t.$slots, "watermark", L(T({ isPrinting: h(Pe) || h(Oe) || pe.value || fe.value })), void 0, !0)
1393
+ ])) : p("", !0),
1394
+ e.value.style.zoom.show && S.value > 6 && _e.value && _t.value ? (i(), G(xa, {
1395
+ key: 6,
1396
+ ref_key: "chartSlicer",
1397
+ ref: ue,
1398
+ allMinimaps: fl.value,
1399
+ background: e.value.style.zoom.color,
1400
+ borderColor: e.value.style.backgroundColor,
1401
+ customFormat: e.value.style.zoom.customFormat,
1402
+ cutNullValues: !1,
1403
+ enableRangeHandles: e.value.style.zoom.enableRangeHandles,
1404
+ enableSelectionDrag: e.value.style.zoom.enableSelectionDrag,
1405
+ end: d.value.end,
1406
+ focusOnDrag: e.value.style.zoom.focusOnDrag,
1407
+ focusRangeRatio: e.value.style.zoom.focusRangeRatio,
1408
+ fontSize: e.value.style.zoom.fontSize,
1409
+ immediate: !e.value.style.zoom.preview.enable,
1410
+ inputColor: e.value.style.zoom.color,
1411
+ isPreview: dt.value,
1412
+ labelLeft: wt.value.start || "",
1413
+ labelRight: wt.value.end || "",
1414
+ max: S.value,
1415
+ min: 0,
1416
+ minimap: e.value.style.zoom.minimap.show ? h(w).map((l) => l[2]) : [],
1417
+ minimapCompact: e.value.style.zoom.minimap.compact,
1418
+ minimapFrameColor: e.value.style.zoom.minimap.frameColor,
1419
+ minimapIndicatorColor: e.value.style.zoom.minimap.indicatorColor,
1420
+ minimapMerged: !1,
1421
+ minimapSelectedColor: e.value.style.zoom.minimap.selectedColor,
1422
+ minimapSelectedColorOpacity: e.value.style.zoom.minimap.selectedColorOpacity,
1423
+ minimapSelectedIndex: P.value,
1424
+ minimapSelectionRadius: 1,
1425
+ preciseLabels: wl.value,
1426
+ refreshEndPoint: e.value.style.zoom.endIndex !== null ? e.value.style.zoom.endIndex + 1 : S.value,
1427
+ refreshStartPoint: e.value.style.zoom.startIndex !== null ? e.value.style.zoom.startIndex : 0,
1428
+ selectColor: e.value.style.zoom.highlightColor,
1429
+ selectedSeries: h(w),
1430
+ smoothMinimap: !1,
1431
+ start: d.value.start,
1432
+ textColor: e.value.style.color,
1433
+ timeLabels: Be.value,
1434
+ usePreciseLabels: e.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter.enable && !e.value.style.zoom.useDefaultFormat,
1435
+ useResetSlot: e.value.style.zoom.useResetSlot,
1436
+ valueEnd: d.value.end,
1437
+ valueStart: d.value.start,
1438
+ verticalHandles: e.value.style.zoom.minimap.verticalHandles,
1439
+ minScale: e.value.style.layout.grid.yAxis.scale.min,
1440
+ maxScale: e.value.style.layout.grid.yAxis.scale.max,
1441
+ maxWidth: e.value.style.zoom.maxWidth,
1442
+ additionalMinimapHeight: e.value.style.zoom.minimap.additionalHeight,
1443
+ handleType: e.value.style.zoom.minimap.handleType,
1444
+ handleIconColor: e.value.style.zoom.minimap.handleIconColor,
1445
+ handleBorderWidth: e.value.style.zoom.minimap.handleBorderWidth,
1446
+ handleBorderColor: e.value.style.zoom.minimap.handleBorderColor,
1447
+ handleFill: e.value.style.zoom.minimap.handleFill,
1448
+ handleWidth: e.value.style.zoom.minimap.handleWidth,
1449
+ "onUpdate:end": Rl,
1450
+ "onUpdate:start": Ml,
1451
+ onTrapMouse: Fl,
1452
+ onReset: $t,
1453
+ onFutureEnd: a[0] || (a[0] = (l) => ct("end", l)),
1454
+ onFutureStart: a[1] || (a[1] = (l) => ct("start", l))
1455
+ }, {
1456
+ "reset-action": k(({ reset: l }) => [
1457
+ x(t.$slots, "reset-action", L(T({ reset: l })), void 0, !0)
1458
+ ]),
1459
+ slotMap: k(({ height: l, unitW: s }) => [
1460
+ (i(!0), n(M, null, B(pl.value({ minimapH: l, unitW: s }), (o, u) => (i(), n("g", null, [
1461
+ m("path", {
1462
+ d: `M ${o.high.x},${o.high.y} ${o.low.x},${o.low.y}`,
1463
+ stroke: o.isBullish ? e.value.style.layout.candle.colors.bullish : e.value.style.layout.candle.colors.bearish,
1464
+ "stroke-width": 1,
1465
+ style: ae({
1466
+ opacity: u >= $.value.start && u <= $.value.end ? 1 : 0.6
1467
+ })
1468
+ }, null, 12, uo),
1469
+ m("path", {
1470
+ d: `M ${o.open.x},${o.open.y} ${o.close.x},${o.close.y}`,
1471
+ stroke: o.isBullish ? e.value.style.layout.candle.colors.bullish : e.value.style.layout.candle.colors.bearish,
1472
+ "stroke-width": Math.min(6, s / 1.5),
1473
+ style: ae({
1474
+ opacity: u >= $.value.start && u <= $.value.end ? 1 : 0.6
1475
+ })
1476
+ }, null, 12, io)
1477
+ ]))), 256))
1478
+ ]),
1479
+ _: 3
1480
+ }, 8, ["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"])) : p("", !0),
1481
+ m("div", {
1482
+ ref_key: "chartLegend",
1483
+ ref: Qe
1484
+ }, [
1485
+ x(t.$slots, "legend", { legend: g.value }, void 0, !0)
1486
+ ], 512),
1487
+ t.$slots.source ? (i(), n("div", {
1488
+ key: 7,
1489
+ ref_key: "source",
1490
+ ref: Ze,
1491
+ dir: "auto"
1492
+ }, [
1493
+ x(t.$slots, "source", {}, void 0, !0)
1494
+ ], 512)) : p("", !0),
1495
+ Ge(h(Jt), {
1496
+ teleportTo: e.value.style.tooltip.teleportTo,
1497
+ show: O.value.showTooltip && se.value,
1498
+ backgroundColor: e.value.style.tooltip.backgroundColor,
1499
+ color: e.value.style.tooltip.color,
1500
+ borderRadius: e.value.style.tooltip.borderRadius,
1501
+ borderColor: e.value.style.tooltip.borderColor,
1502
+ borderWidth: e.value.style.tooltip.borderWidth,
1503
+ fontSize: e.value.style.tooltip.fontSize,
1504
+ backgroundOpacity: e.value.style.tooltip.backgroundOpacity,
1505
+ position: e.value.style.tooltip.position,
1506
+ offsetY: e.value.style.tooltip.offsetY,
1507
+ parent: W.value,
1508
+ content: ze.value,
1509
+ isFullscreen: Q.value,
1510
+ isCustom: e.value.style.tooltip.customFormat && typeof e.value.style.tooltip.customFormat == "function",
1511
+ smooth: e.value.style.tooltip.smooth,
1512
+ backdropFilter: e.value.style.tooltip.backdropFilter,
1513
+ smoothForce: e.value.style.tooltip.smoothForce,
1514
+ smoothSnapThreshold: e.value.style.tooltip.smoothSnapThreshold,
1515
+ isA11yMode: re.value === "keyboard",
1516
+ a11yPosition: ot.value
1517
+ }, {
1518
+ "tooltip-before": k(() => [
1519
+ x(t.$slots, "tooltip-before", L(T({ ...Ee.value })), void 0, !0)
1520
+ ]),
1521
+ "tooltip-after": k(() => [
1522
+ x(t.$slots, "tooltip-after", L(T({ ...Ee.value })), void 0, !0)
1523
+ ]),
1524
+ _: 3
1525
+ }, 8, ["teleportTo", "show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold", "isA11yMode", "a11yPosition"]),
1526
+ _e.value && e.value.userOptions.buttons.table ? (i(), G(Kl(he.value.component), Nt({ key: 8 }, he.value.props, {
1527
+ ref_key: "tableUnit",
1528
+ ref: ne,
1529
+ onClose: It
1530
+ }), Bt({
1531
+ content: k(() => [
1532
+ (i(), G(h(Zt), {
1533
+ key: `table_${tt.value}`,
1534
+ colNames: te.value.colNames,
1535
+ head: te.value.head,
1536
+ body: te.value.body,
1537
+ config: te.value.config,
1538
+ title: e.value.table.useDialog ? "" : he.value.title,
1539
+ withCloseButton: !e.value.table.useDialog,
1540
+ isCursorPointer: ve.value,
1541
+ onClose: It
1542
+ }, {
1543
+ th: k(({ th: l }) => [
1544
+ Et(oe(l), 1)
1545
+ ]),
1546
+ td: k(({ td: l }) => [
1547
+ m("div", { innerHTML: l }, null, 8, no)
1548
+ ]),
1549
+ _: 1
1550
+ }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton", "isCursorPointer"]))
1551
+ ]),
1552
+ _: 2
1553
+ }, [
1554
+ e.value.table.useDialog ? {
1555
+ name: "title",
1556
+ fn: k(() => [
1557
+ Et(oe(he.value.title), 1)
1558
+ ]),
1559
+ key: "0"
1560
+ } : void 0,
1561
+ e.value.table.useDialog ? {
1562
+ name: "actions",
1563
+ fn: k(() => [
1564
+ m("button", {
1565
+ tabindex: "0",
1566
+ class: "vue-ui-user-options-button",
1567
+ onClick: a[2] || (a[2] = (l) => Ve(e.value.userOptions.callbacks.csv)),
1568
+ style: ae({ cursor: ve.value ? "pointer" : "default" })
1569
+ }, [
1570
+ Ge(h(Yt), {
1571
+ name: "fileCsv",
1572
+ stroke: he.value.props.color
1573
+ }, null, 8, ["stroke"])
1574
+ ], 4)
1575
+ ]),
1576
+ key: "1"
1577
+ } : void 0
1578
+ ]), 1040)) : p("", !0),
1579
+ x(t.$slots, "skeleton", {}, () => [
1580
+ h(H) ? (i(), G(va, { key: 0 })) : p("", !0)
1581
+ ], !0)
1582
+ ], 46, wa));
1583
+ }
1584
+ }, To = /* @__PURE__ */ ka(ro, [["__scopeId", "data-v-af885bef"]]);
1585
+ export {
1586
+ To as default
1587
+ };