vue-data-ui 3.22.7 → 3.22.9

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