vue-data-ui 3.25.5 → 3.25.6

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