vue-data-ui 3.23.0 → 3.23.2

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