vue-data-ui 3.25.4 → 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 (213) hide show
  1. package/README.md +13 -13
  2. package/dist/{BaseDraggableDialog-BM_R41j8.js → BaseDraggableDialog-Gm4Q30j0.js} +1 -1
  3. package/dist/{BaseIcon-t83PDe9k.js → BaseIcon-D8R6_sKH.js} +5 -5
  4. package/dist/{BaseLegendToggle-__JnV08B.js → BaseLegendToggle-CXQrLjd-.js} +1 -1
  5. package/dist/{BaseZoomControls-Xo16vFa4.js → BaseZoomControls-BTzjVDPM.js} +1 -1
  6. package/dist/{ColorPicker-ZJrR3Olp.js → ColorPicker-CUy15T72.js} +102 -100
  7. package/dist/{DataTable-COIO9gi4.js → DataTable-oiM9uWrQ.js} +1 -1
  8. package/dist/{HillActions-Cl-dNBZR.js → HillActions-Dn8aKOVJ.js} +1 -1
  9. package/dist/{NonSvgPenAndPaper-DS84BAOx.js → NonSvgPenAndPaper-DFXjpRyl.js} +2 -2
  10. package/dist/{PackageVersion-5SWftabm.js → PackageVersion-ur6jKRL5.js} +1 -1
  11. package/dist/{PenAndPaper-B_SdRSKH.js → PenAndPaper-KFzKlvbi.js} +20 -4
  12. package/dist/{SlicerPreview-GvsdvE-h.js → SlicerPreview-B6iHOC9L.js} +1 -1
  13. package/dist/{UserOptions-f3Q0nqrj.js → UserOptions-2x4VklMW.js} +1 -1
  14. package/dist/components/vue-ui-3d-bar.js +1 -1
  15. package/dist/components/vue-ui-accordion.js +1 -1
  16. package/dist/components/vue-ui-age-pyramid.js +1 -1
  17. package/dist/components/vue-ui-annotator.js +1 -1
  18. package/dist/components/vue-ui-bullet.js +1 -1
  19. package/dist/components/vue-ui-bump.js +1 -1
  20. package/dist/components/vue-ui-candlestick.js +1 -1
  21. package/dist/components/vue-ui-carousel-table.js +1 -1
  22. package/dist/components/vue-ui-chestnut.js +1 -1
  23. package/dist/components/vue-ui-chord.js +1 -1
  24. package/dist/components/vue-ui-circle-pack.js +1 -1
  25. package/dist/components/vue-ui-cursor.js +1 -1
  26. package/dist/components/vue-ui-dag.js +1 -1
  27. package/dist/components/vue-ui-dashboard.js +1 -1
  28. package/dist/components/vue-ui-digits.js +1 -1
  29. package/dist/components/vue-ui-donut-evolution.js +1 -1
  30. package/dist/components/vue-ui-donut.js +1 -1
  31. package/dist/components/vue-ui-dumbbell.js +1 -1
  32. package/dist/components/vue-ui-flow.js +1 -1
  33. package/dist/components/vue-ui-funnel.js +1 -1
  34. package/dist/components/vue-ui-galaxy.js +1 -1
  35. package/dist/components/vue-ui-gauge.js +1 -1
  36. package/dist/components/vue-ui-geo.js +1 -1
  37. package/dist/components/vue-ui-gizmo.js +1 -1
  38. package/dist/components/vue-ui-heatmap.js +1 -1
  39. package/dist/components/vue-ui-hill.js +1 -1
  40. package/dist/components/vue-ui-history-plot.js +1 -1
  41. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  42. package/dist/components/vue-ui-icon.js +1 -1
  43. package/dist/components/vue-ui-kpi.js +1 -1
  44. package/dist/components/vue-ui-label.js +1 -1
  45. package/dist/components/vue-ui-mini-loader.js +1 -1
  46. package/dist/components/vue-ui-molecule.js +1 -1
  47. package/dist/components/vue-ui-mood-radar.js +1 -1
  48. package/dist/components/vue-ui-nested-donuts.js +1 -1
  49. package/dist/components/vue-ui-onion.js +1 -1
  50. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  51. package/dist/components/vue-ui-quadrant.js +1 -1
  52. package/dist/components/vue-ui-quick-chart.js +1 -1
  53. package/dist/components/vue-ui-radar.js +1 -1
  54. package/dist/components/vue-ui-rating.js +1 -1
  55. package/dist/components/vue-ui-relation-circle.js +1 -1
  56. package/dist/components/vue-ui-ridgeline.js +1 -1
  57. package/dist/components/vue-ui-rings.js +1 -1
  58. package/dist/components/vue-ui-scatter.js +1 -1
  59. package/dist/components/vue-ui-skeleton.js +1 -1
  60. package/dist/components/vue-ui-smiley.js +1 -1
  61. package/dist/components/vue-ui-spark-trend.js +1 -1
  62. package/dist/components/vue-ui-sparkbar.js +1 -1
  63. package/dist/components/vue-ui-sparkgauge.js +1 -1
  64. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  65. package/dist/components/vue-ui-sparkline.js +1 -1
  66. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  67. package/dist/components/vue-ui-stackbar.js +1 -1
  68. package/dist/components/vue-ui-stackline.js +1 -1
  69. package/dist/components/vue-ui-strip-plot.js +1 -1
  70. package/dist/components/vue-ui-table-heatmap.js +1 -1
  71. package/dist/components/vue-ui-table-sparkline.js +1 -1
  72. package/dist/components/vue-ui-table.js +1 -1
  73. package/dist/components/vue-ui-thermometer.js +1 -1
  74. package/dist/components/vue-ui-timer.js +1 -1
  75. package/dist/components/vue-ui-tiremarks.js +1 -1
  76. package/dist/components/vue-ui-treemap.js +1 -1
  77. package/dist/components/vue-ui-vertical-bar.js +1 -1
  78. package/dist/components/vue-ui-waffle.js +1 -1
  79. package/dist/components/vue-ui-wheel.js +1 -1
  80. package/dist/components/vue-ui-word-cloud.js +1 -1
  81. package/dist/components/vue-ui-world.js +1 -1
  82. package/dist/components/vue-ui-xy-canvas.js +1 -1
  83. package/dist/components/vue-ui-xy.js +1 -1
  84. package/dist/{package-DmsdiyeS.js → package-Dx7M6sYy.js} +1 -1
  85. package/dist/{render-common-zoPh9a78.js → render-common-DETHvNhl.js} +1 -1
  86. package/dist/ssr/vue-ui-donut.js +1 -1
  87. package/dist/ssr/vue-ui-xy.js +1 -1
  88. package/dist/ssr.js +2 -2
  89. package/dist/style.css +1 -1
  90. package/dist/types/vue-data-ui.d.ts +80 -1
  91. package/dist/types/vue-ui-annotator.d.ts +58 -2
  92. package/dist/{useConfig-CyCVHo81.js → useConfig-CIQZ6_r7.js} +1339 -1313
  93. package/dist/{useObjectBindings-ByORl1rV.js → useObjectBindings---mHNfbS.js} +2 -2
  94. package/dist/utils.js +1 -1
  95. package/dist/{vue-data-ui-DTj71yB7.js → vue-data-ui-Dh3_EsHb.js} +70 -70
  96. package/dist/vue-data-ui.js +71 -71
  97. package/dist/vue-ui-3d-bar-i1REAKnM.js +1831 -0
  98. package/dist/{vue-ui-accordion-D4zsdacF.js → vue-ui-accordion-BSmBUjwZ.js} +2 -2
  99. package/dist/vue-ui-age-pyramid-DuHblCNO.js +1293 -0
  100. package/dist/vue-ui-annotator-CTQHAPho.js +3325 -0
  101. package/dist/vue-ui-bullet-CYLnKrmM.js +702 -0
  102. package/dist/{vue-ui-bump-BkOtQNWe.js → vue-ui-bump-DhwySwgn.js} +382 -380
  103. package/dist/vue-ui-candlestick-BpiECaDj.js +1859 -0
  104. package/dist/{vue-ui-carousel-table-CRgbs7jR.js → vue-ui-carousel-table-D-T2yA7-.js} +2 -2
  105. package/dist/vue-ui-chestnut-1MsZ9Q3r.js +2016 -0
  106. package/dist/vue-ui-chord-QBQUSe7r.js +1347 -0
  107. package/dist/vue-ui-circle-pack-ZWEwtesD.js +1635 -0
  108. package/dist/{vue-ui-cursor-BHyXRadA.js → vue-ui-cursor-CHQcHAHQ.js} +2 -2
  109. package/dist/{vue-ui-dag-CyVqaLbF.js → vue-ui-dag-C_inEafb.js} +794 -792
  110. package/dist/{vue-ui-dashboard-7I-7wvCP.js → vue-ui-dashboard-Bs2mBur5.js} +74 -72
  111. package/dist/{vue-ui-digits-BBL8uERO.js → vue-ui-digits-DwE4MoXI.js} +2 -2
  112. package/dist/vue-ui-donut-BM9dMHXj.js +2415 -0
  113. package/dist/{vue-ui-donut-DcgUuefk.js → vue-ui-donut-CbOSJmRu.js} +2 -2
  114. package/dist/vue-ui-donut-evolution-C97_RHus.js +1552 -0
  115. package/dist/vue-ui-dumbbell-DwKa5EL5.js +1533 -0
  116. package/dist/vue-ui-flow-DTTr3YL9.js +1217 -0
  117. package/dist/vue-ui-funnel-C4pkBk3D.js +749 -0
  118. package/dist/vue-ui-galaxy-CuAPLOvX.js +1085 -0
  119. package/dist/vue-ui-gauge-DLDULH26.js +934 -0
  120. package/dist/{vue-ui-geo-jR4P4pbt.js → vue-ui-geo-DXIHhp-G.js} +431 -429
  121. package/dist/{vue-ui-gizmo-D6W86s9o.js → vue-ui-gizmo-PuURiePo.js} +2 -2
  122. package/dist/vue-ui-heatmap-mvWLKB99.js +1555 -0
  123. package/dist/{vue-ui-hill-fFq7pm-g.js → vue-ui-hill-DqsVJkmO.js} +472 -470
  124. package/dist/vue-ui-history-plot-BBVLgt9_.js +1698 -0
  125. package/dist/{vue-ui-horizontal-bar-D3Sft4kp.js → vue-ui-horizontal-bar-y8Q8PZwT.js} +513 -511
  126. package/dist/{vue-ui-kpi-fzLsKlyE.js → vue-ui-kpi-B2hf3kpp.js} +2 -2
  127. package/dist/{vue-ui-label-BSgLalWD.js → vue-ui-label-ClMQ5Gez.js} +1 -1
  128. package/dist/{vue-ui-mini-loader-BL2odRfu.js → vue-ui-mini-loader-DtPOVIkK.js} +1 -1
  129. package/dist/vue-ui-molecule-eeW1Pmg8.js +929 -0
  130. package/dist/{vue-ui-mood-radar-bvGx6XgG.js → vue-ui-mood-radar-Dd1qfUiu.js} +378 -376
  131. package/dist/vue-ui-nested-donuts-CUARCr6O.js +1503 -0
  132. package/dist/vue-ui-onion-NoxHP0cG.js +1235 -0
  133. package/dist/{vue-ui-parallel-coordinate-plot-B_QJ4N9o.js → vue-ui-parallel-coordinate-plot-Cp3pCyxK.js} +409 -407
  134. package/dist/vue-ui-quadrant-C3kQtaeX.js +1967 -0
  135. package/dist/{vue-ui-quick-chart-BFscCR59.js → vue-ui-quick-chart-BZq517pL.js} +8 -6
  136. package/dist/vue-ui-radar-DvNrl4uD.js +1374 -0
  137. package/dist/vue-ui-rating-CWFMoYpE.js +359 -0
  138. package/dist/vue-ui-relation-circle-1iS6C0xx.js +905 -0
  139. package/dist/vue-ui-ridgeline-B-EZiPCF.js +1630 -0
  140. package/dist/vue-ui-rings-BXuwrHos.js +1252 -0
  141. package/dist/vue-ui-scatter-ByL-ZZ3B.js +2405 -0
  142. package/dist/{vue-ui-skeleton-zmbcOVEf.js → vue-ui-skeleton-BcU1onF6.js} +698 -698
  143. package/dist/vue-ui-smiley-DJVusLnp.js +376 -0
  144. package/dist/vue-ui-spark-trend-DjS31avb.js +457 -0
  145. package/dist/vue-ui-sparkbar-1Al_TLw1.js +401 -0
  146. package/dist/vue-ui-sparkgauge-CwLo53Y8.js +268 -0
  147. package/dist/vue-ui-sparkhistogram-CGw6SThG.js +589 -0
  148. package/dist/{vue-ui-sparkline-Dv7XrEzO.js → vue-ui-sparkline-CSZGBFfI.js} +511 -511
  149. package/dist/vue-ui-sparkstackbar-B8dloLMp.js +738 -0
  150. package/dist/vue-ui-stackbar-FvNd77t1.js +2355 -0
  151. package/dist/vue-ui-stackline-CP7PkqiG.js +2469 -0
  152. package/dist/vue-ui-strip-plot-DSMlDkv1.js +1740 -0
  153. package/dist/{vue-ui-table-heatmap-Dv_ZKKm3.js → vue-ui-table-heatmap-DnP3pzh2.js} +2 -2
  154. package/dist/vue-ui-table-rwKtnJKt.js +1352 -0
  155. package/dist/vue-ui-table-sparkline-B6wyEAyC.js +738 -0
  156. package/dist/{vue-ui-thermometer-DytlLJ32.js → vue-ui-thermometer-D0_KsB-y.js} +194 -192
  157. package/dist/{vue-ui-timer-CvHP4HoW.js → vue-ui-timer-1Z2zginj.js} +153 -153
  158. package/dist/vue-ui-tiremarks-zbl7aooy.js +540 -0
  159. package/dist/vue-ui-treemap-Drs4gK6L.js +1733 -0
  160. package/dist/vue-ui-waffle-DqUVsVNE.js +1621 -0
  161. package/dist/vue-ui-wheel-DLCBPW9t.js +873 -0
  162. package/dist/vue-ui-word-cloud-8Agk9h6c.js +1710 -0
  163. package/dist/{vue-ui-world-D0_2upjg.js → vue-ui-world-BOBHo7-L.js} +526 -524
  164. package/dist/vue-ui-xy-CSTJzRkk.js +5283 -0
  165. package/dist/{vue-ui-xy-D_5FfaH-.js → vue-ui-xy-Dmk1gQkI.js} +2 -2
  166. package/dist/vue-ui-xy-canvas-DANPuyf4.js +1824 -0
  167. package/dist/{vue_ui_age_pyramid-BY6c-oX_.js → vue_ui_age_pyramid-B2R66DgQ.js} +15 -6
  168. package/package.json +1 -1
  169. package/dist/vue-ui-3d-bar-CH8SpxS2.js +0 -1829
  170. package/dist/vue-ui-age-pyramid-B9MUVi75.js +0 -1241
  171. package/dist/vue-ui-annotator-CmlcWPIm.js +0 -2886
  172. package/dist/vue-ui-bullet-n8KNnDwh.js +0 -700
  173. package/dist/vue-ui-candlestick-Bxlvqk49.js +0 -1857
  174. package/dist/vue-ui-chestnut-ByDKbkG9.js +0 -2014
  175. package/dist/vue-ui-chord-DQRBgVOx.js +0 -1345
  176. package/dist/vue-ui-circle-pack-CBBc0HOe.js +0 -1633
  177. package/dist/vue-ui-donut-DfiocufT.js +0 -2413
  178. package/dist/vue-ui-donut-evolution-BoqO8By2.js +0 -1550
  179. package/dist/vue-ui-dumbbell-7M_oUQdi.js +0 -1529
  180. package/dist/vue-ui-flow-CoylrfnO.js +0 -1215
  181. package/dist/vue-ui-funnel-DaBYHWIC.js +0 -747
  182. package/dist/vue-ui-galaxy-BIebStQ3.js +0 -1083
  183. package/dist/vue-ui-gauge-CwdTmiRP.js +0 -932
  184. package/dist/vue-ui-heatmap-DXYlGwqR.js +0 -1553
  185. package/dist/vue-ui-history-plot-CgIELoD2.js +0 -1696
  186. package/dist/vue-ui-molecule-DeHWkkhy.js +0 -929
  187. package/dist/vue-ui-nested-donuts-CeAV2xPk.js +0 -1501
  188. package/dist/vue-ui-onion-B7oFulsQ.js +0 -1233
  189. package/dist/vue-ui-quadrant-DrKnz37q.js +0 -1965
  190. package/dist/vue-ui-radar-Bzx69q8f.js +0 -1372
  191. package/dist/vue-ui-rating-CimC9FQ9.js +0 -359
  192. package/dist/vue-ui-relation-circle-DIQYyDGb.js +0 -903
  193. package/dist/vue-ui-ridgeline-CPEnM45x.js +0 -1621
  194. package/dist/vue-ui-rings-qPL5Iwji.js +0 -1250
  195. package/dist/vue-ui-scatter-BB0ClTsU.js +0 -2403
  196. package/dist/vue-ui-smiley-DzPkCMN-.js +0 -376
  197. package/dist/vue-ui-spark-trend-Ciq7-k_q.js +0 -457
  198. package/dist/vue-ui-sparkbar-D1M7-naP.js +0 -401
  199. package/dist/vue-ui-sparkgauge-rsqaeR_n.js +0 -268
  200. package/dist/vue-ui-sparkhistogram-C4WXt2Ni.js +0 -589
  201. package/dist/vue-ui-sparkstackbar-DDOXdeV-.js +0 -738
  202. package/dist/vue-ui-stackbar-C_hMnOLb.js +0 -2353
  203. package/dist/vue-ui-stackline-BHGi63lD.js +0 -2467
  204. package/dist/vue-ui-strip-plot-Cygpn-l8.js +0 -1738
  205. package/dist/vue-ui-table-BQna1wL6.js +0 -1352
  206. package/dist/vue-ui-table-sparkline-BCuimtk6.js +0 -738
  207. package/dist/vue-ui-tiremarks-BvjdZwgh.js +0 -538
  208. package/dist/vue-ui-treemap-C5OpqzSc.js +0 -1731
  209. package/dist/vue-ui-waffle-B7T_Zzan.js +0 -1619
  210. package/dist/vue-ui-wheel-D1B0k7IW.js +0 -871
  211. package/dist/vue-ui-word-cloud-C4pX6jop.js +0 -1708
  212. package/dist/vue-ui-xy-Ck41KYqF.js +0 -5281
  213. package/dist/vue-ui-xy-canvas-B_8Mu19r.js +0 -1824
@@ -1,1857 +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-CyCVHo81.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-D4zsdacF.js").then((e) => e.n)), kt = v(() => import("./DataTable-COIO9gi4.js")), At = v(() => import("./PenAndPaper-B_SdRSKH.js").then((e) => e.t)), jt = v(() => import("./UserOptions-f3Q0nqrj.js").then((e) => e.n)), Mt = v(() => import("./PackageVersion-5SWftabm.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
- onClose: _r
1234
- }, {
1235
- "annotator-action-close": O(() => [T(e.$slots, "annotator-action-close", {}, void 0, !0)]),
1236
- "annotator-action-color": O(({ color: t }) => [T(e.$slots, "annotator-action-color", x(y({ color: t })), void 0, !0)]),
1237
- "annotator-action-draw": O(({ mode: t }) => [T(e.$slots, "annotator-action-draw", x(y({ mode: t })), void 0, !0)]),
1238
- "annotator-action-undo": O(({ disabled: t }) => [T(e.$slots, "annotator-action-undo", x(y({ disabled: t })), void 0, !0)]),
1239
- "annotator-action-redo": O(({ disabled: t }) => [T(e.$slots, "annotator-action-redo", x(y({ disabled: t })), void 0, !0)]),
1240
- "annotator-action-delete": O(({ disabled: t }) => [T(e.$slots, "annotator-action-delete", x(y({ disabled: t })), void 0, !0)]),
1241
- _: 3
1242
- }, 8, [
1243
- "svgRef",
1244
- "backgroundColor",
1245
- "color",
1246
- "active",
1247
- "isCursorPointer"
1248
- ])) : h("", !0),
1249
- Sn.value ? (S(), g("div", {
1250
- key: 2,
1251
- ref_key: "noTitle",
1252
- ref: qt,
1253
- class: "vue-data-ui-no-title-space",
1254
- style: "height:36px; width: 100%;background:transparent"
1255
- }, null, 512)) : h("", !0),
1256
- F.value.style.title.text ? (S(), g("div", {
1257
- key: 3,
1258
- ref_key: "chartTitle",
1259
- ref: Ut,
1260
- style: "width:100%;background:transparent"
1261
- }, [(S(), m(Ce, {
1262
- key: `title_${Xt.value}`,
1263
- config: {
1264
- title: {
1265
- cy: "candlestick-div-title",
1266
- ...F.value.style.title
1267
- },
1268
- subtitle: {
1269
- cy: "candlestick-div-subtitle",
1270
- ...F.value.style.title.subtitle
1271
- }
1272
- }
1273
- }, null, 8, ["config"]))], 512)) : h("", !0),
1274
- F.value.userOptions.show && Rt.value && (D(fn) || D(un)) ? (S(), m(D(jt), {
1275
- ref_key: "userOptionsRef",
1276
- ref: en,
1277
- key: `user_options_${Ht.value}`,
1278
- backgroundColor: F.value.style.backgroundColor,
1279
- color: F.value.style.color,
1280
- isImaging: D(yn),
1281
- isPrinting: D(vn),
1282
- uid: j.value,
1283
- hasTooltip: F.value.userOptions.buttons.tooltip && F.value.style.tooltip.show,
1284
- hasPdf: F.value.userOptions.buttons.pdf,
1285
- hasImg: F.value.userOptions.buttons.img,
1286
- hasSvg: F.value.userOptions.buttons.svg,
1287
- hasXls: F.value.userOptions.buttons.csv,
1288
- hasTable: F.value.userOptions.buttons.table,
1289
- hasFullscreen: F.value.userOptions.buttons.fullscreen,
1290
- hasAltCopy: F.value.userOptions.buttons.altCopy,
1291
- isFullscreen: $.value,
1292
- isTooltip: H.value.showTooltip,
1293
- titles: { ...F.value.userOptions.buttonTitles },
1294
- chartElement: N.value,
1295
- position: F.value.userOptions.position,
1296
- hasAnnotator: F.value.userOptions.buttons.annotator,
1297
- isAnnotation: gr.value,
1298
- callbacks: F.value.userOptions.callbacks,
1299
- printScale: F.value.userOptions.print.scale,
1300
- tableDialog: F.value.table.useDialog,
1301
- isCursorPointer: sn.value,
1302
- onToggleFullscreen: pr,
1303
- onGeneratePdf: D(bn),
1304
- onGenerateCsv: dr,
1305
- onGenerateImage: D(Or),
1306
- onGenerateSvg: D(Dr),
1307
- onToggleTable: mr,
1308
- onToggleTooltip: hr,
1309
- onToggleAnnotator: _r,
1310
- onCopyAlt: Nr,
1311
- style: Re({ visibility: D(fn) ? D(un) ? "visible" : "hidden" : "visible" })
1312
- }, Ne({ _: 2 }, [
1313
- e.$slots.menuIcon ? {
1314
- name: "menuIcon",
1315
- fn: O(({ isOpen: t, color: n }) => [T(e.$slots, "menuIcon", x(y({
1316
- isOpen: t,
1317
- color: n
1318
- })), void 0, !0)]),
1319
- key: "0"
1320
- } : void 0,
1321
- e.$slots.optionTooltip ? {
1322
- name: "optionTooltip",
1323
- fn: O(() => [T(e.$slots, "optionTooltip", {}, void 0, !0)]),
1324
- key: "1"
1325
- } : void 0,
1326
- e.$slots.optionPdf ? {
1327
- name: "optionPdf",
1328
- fn: O(() => [T(e.$slots, "optionPdf", {}, void 0, !0)]),
1329
- key: "2"
1330
- } : void 0,
1331
- e.$slots.optionCsv ? {
1332
- name: "optionCsv",
1333
- fn: O(() => [T(e.$slots, "optionCsv", {}, void 0, !0)]),
1334
- key: "3"
1335
- } : void 0,
1336
- e.$slots.optionImg ? {
1337
- name: "optionImg",
1338
- fn: O(() => [T(e.$slots, "optionImg", {}, void 0, !0)]),
1339
- key: "4"
1340
- } : void 0,
1341
- e.$slots.optionSvg ? {
1342
- name: "optionSvg",
1343
- fn: O(() => [T(e.$slots, "optionSvg", {}, void 0, !0)]),
1344
- key: "5"
1345
- } : void 0,
1346
- e.$slots.optionTable ? {
1347
- name: "optionTable",
1348
- fn: O(() => [T(e.$slots, "optionTable", {}, void 0, !0)]),
1349
- key: "6"
1350
- } : void 0,
1351
- e.$slots.optionFullscreen ? {
1352
- name: "optionFullscreen",
1353
- fn: O(({ toggleFullscreen: t, isFullscreen: n }) => [T(e.$slots, "optionFullscreen", x(y({
1354
- toggleFullscreen: t,
1355
- isFullscreen: n
1356
- })), void 0, !0)]),
1357
- key: "7"
1358
- } : void 0,
1359
- e.$slots.optionAnnotator ? {
1360
- name: "optionAnnotator",
1361
- fn: O(({ toggleAnnotator: t, isAnnotator: n }) => [T(e.$slots, "optionAnnotator", x(y({
1362
- toggleAnnotator: t,
1363
- isAnnotator: n
1364
- })), void 0, !0)]),
1365
- key: "8"
1366
- } : void 0,
1367
- e.$slots.optionAltCopy ? {
1368
- name: "optionAltCopy",
1369
- fn: O(({ altCopy: t }) => [T(e.$slots, "optionAltCopy", x(y({ altCopy: t })), void 0, !0)]),
1370
- key: "9"
1371
- } : void 0,
1372
- e.$slots["custom-menu-before"] ? {
1373
- name: "custom-menu-before",
1374
- fn: O(() => [T(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1375
- key: "10"
1376
- } : void 0,
1377
- e.$slots["custom-menu-after"] ? {
1378
- name: "custom-menu-after",
1379
- fn: O(() => [T(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1380
- key: "11"
1381
- } : void 0
1382
- ]), 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),
1383
- _("div", Ye, [(S(), g("svg", {
1384
- ref_key: "svgRef",
1385
- ref: R,
1386
- xmlns: D(se),
1387
- "aria-describedby": `chart-instructions-${j.value}`,
1388
- class: b({
1389
- "vue-data-ui-fullscreen--on": $.value,
1390
- "vue-data-ui-fulscreen--off": !$.value,
1391
- "vue-data-ui-no-transition": !D(on)
1392
- }),
1393
- viewBox: `0 0 ${z.value.width <= 0 ? 10 : z.value.width} ${z.value.height <= 0 ? 10 : z.value.height}`,
1394
- style: Re(`max-width:100%;overflow:visible;background:transparent;color:${F.value.style.color}`),
1395
- tabindex: "0",
1396
- onFocus: Pr,
1397
- onBlur: Fr,
1398
- onKeydown: Ir
1399
- }, [
1400
- Fe(D(Mt)),
1401
- e.$slots["chart-background"] ? (S(), g("foreignObject", {
1402
- key: 0,
1403
- x: W.value.left,
1404
- y: W.value.top,
1405
- width: Math.max(.1, W.value.width),
1406
- height: Math.max(.1, W.value.height),
1407
- style: { pointerEvents: "none" }
1408
- }, [T(e.$slots, "chart-background", {}, void 0, !0)], 8, Ze)) : h("", !0),
1409
- Z.value.length > 0 ? (S(), g("g", Qe, [
1410
- _("defs", null, [Fe(De, {
1411
- t: "linear",
1412
- id: `bearish_gradient_${j.value}`,
1413
- x2: "0%",
1414
- y2: "100%",
1415
- stops: [
1416
- [
1417
- "0%",
1418
- F.value.style.layout.candle.colors.bearish,
1419
- 1
1420
- ],
1421
- [
1422
- "50%",
1423
- D(o)(F.value.style.layout.candle.colors.bearish, .02),
1424
- .87
1425
- ],
1426
- [
1427
- "100%",
1428
- D(o)(F.value.style.layout.candle.colors.bearish, .05),
1429
- .4
1430
- ]
1431
- ]
1432
- }, null, 8, ["id", "stops"]), Fe(De, {
1433
- t: "linear",
1434
- id: `bullish_gradient_${j.value}`,
1435
- x2: "0%",
1436
- y2: "100%",
1437
- stops: [
1438
- [
1439
- "0%",
1440
- F.value.style.layout.candle.colors.bullish,
1441
- 1
1442
- ],
1443
- [
1444
- "50%",
1445
- D(o)(F.value.style.layout.candle.colors.bullish, .02),
1446
- .87
1447
- ],
1448
- [
1449
- "100%",
1450
- D(o)(F.value.style.layout.candle.colors.bullish, .05),
1451
- .4
1452
- ]
1453
- ]
1454
- }, null, 8, ["id", "stops"])]),
1455
- F.value.style.layout.grid.show ? (S(), g("g", $e, [
1456
- _("line", {
1457
- x1: U.value ? W.value.right : W.value.left,
1458
- x2: U.value ? W.value.right : W.value.left,
1459
- y1: W.value.top,
1460
- y2: W.value.bottom,
1461
- stroke: F.value.style.layout.grid.stroke,
1462
- "stroke-width": F.value.style.layout.grid.strokeWidth,
1463
- "stroke-linecap": "round"
1464
- }, null, 8, et),
1465
- _("line", {
1466
- x1: W.value.left,
1467
- x2: W.value.right,
1468
- y1: W.value.bottom,
1469
- y2: W.value.bottom,
1470
- stroke: F.value.style.layout.grid.stroke,
1471
- "stroke-width": F.value.style.layout.grid.strokeWidth,
1472
- "stroke-linecap": "round"
1473
- }, null, 8, tt),
1474
- F.value.style.layout.grid.horizontalLines.show ? (S(!0), g(f, { key: 0 }, w(Bn.value, (e) => (S(), g("line", {
1475
- x1: W.value.left,
1476
- x2: W.value.right,
1477
- y1: e.y,
1478
- y2: e.y,
1479
- stroke: F.value.style.layout.grid.horizontalLines.stroke,
1480
- "stroke-width": F.value.style.layout.grid.horizontalLines.strokeWidth,
1481
- "stroke-dasharray": F.value.style.layout.grid.horizontalLines.strokeDasharray,
1482
- "stroke-linecap": "round"
1483
- }, null, 8, nt))), 256)) : h("", !0),
1484
- 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", {
1485
- key: 0,
1486
- x1: W.value.left + Y.value * t + Y.value / 2,
1487
- x2: W.value.left + Y.value * t + Y.value / 2,
1488
- y1: W.value.top,
1489
- y2: W.value.bottom,
1490
- stroke: F.value.style.layout.grid.verticalLines.stroke,
1491
- "stroke-width": F.value.style.layout.grid.verticalLines.strokeWidth,
1492
- "stroke-dasharray": F.value.style.layout.grid.verticalLines.strokeDasharray,
1493
- "stroke-linecap": "round"
1494
- }, null, 8, rt)) : h("", !0)]))), 256)) : h("", !0),
1495
- 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", {
1496
- key: 0,
1497
- x1: W.value.left + Y.value * t + Y.value / 2,
1498
- x2: W.value.left + Y.value * t + Y.value / 2,
1499
- y1: W.value.bottom,
1500
- y2: W.value.bottom + 3,
1501
- stroke: F.value.style.layout.grid.stroke,
1502
- "stroke-width": F.value.style.layout.grid.strokeWidth,
1503
- "stroke-linecap": "round"
1504
- }, null, 8, it)) : h("", !0)]))), 256)) : h("", !0)
1505
- ])) : h("", !0),
1506
- F.value.style.layout.grid.yAxis.dataLabels.show ? (S(), g("g", {
1507
- key: 1,
1508
- ref_key: "scaleLabels",
1509
- ref: Zt
1510
- }, [(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", {
1511
- key: 0,
1512
- x1: U.value ? W.value.right : W.value.left,
1513
- x2: U.value ? W.value.right + 5 : W.value.left - 5,
1514
- y1: e.y,
1515
- y2: e.y,
1516
- stroke: F.value.style.layout.grid.stroke,
1517
- "stroke-width": F.value.style.layout.grid.strokeWidth,
1518
- "stroke-linecap": "round"
1519
- }, null, 8, at)) : h("", !0), e.value >= X.value.min && e.value <= X.value.max ? (S(), g("text", {
1520
- key: 1,
1521
- class: b({ "vue-data-ui-transition": D(on) }),
1522
- 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})`,
1523
- "text-anchor": U.value ? "start" : "end",
1524
- "font-size": z.value.yAxisFontSize,
1525
- fill: F.value.style.layout.grid.yAxis.dataLabels.color,
1526
- "font-weight": F.value.style.layout.grid.yAxis.dataLabels.bold ? "bold" : "normal"
1527
- }, E(D(s)({
1528
- p: F.value.style.layout.grid.yAxis.dataLabels.prefix,
1529
- v: e.value,
1530
- s: F.value.style.layout.grid.yAxis.dataLabels.suffix,
1531
- r: F.value.style.layout.grid.yAxis.dataLabels.roundingValue
1532
- })), 11, ot)) : h("", !0)]))), 128))], 512)) : h("", !0),
1533
- F.value.style.layout.grid.xAxis.dataLabels.show && !F.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter.enable ? (S(), g("g", {
1534
- key: 2,
1535
- ref_key: "timeLabelsEls",
1536
- ref: Qt
1537
- }, [(S(!0), g(f, null, w(Vn.value, (e, t) => (S(), g("g", null, [_("text", {
1538
- class: "vue-data-ui-time-label",
1539
- 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})`,
1540
- "text-anchor": F.value.style.layout.grid.xAxis.dataLabels.rotation > 0 ? "start" : F.value.style.layout.grid.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1541
- "font-size": z.value.xAxisFontSize,
1542
- fill: F.value.style.layout.grid.xAxis.dataLabels.color,
1543
- "font-weight": F.value.style.layout.grid.xAxis.dataLabels.bold ? "bold" : "normal"
1544
- }, E(e), 9, st)]))), 256))], 512)) : h("", !0),
1545
- F.value.style.layout.grid.xAxis.dataLabels.show && F.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter.enable ? (S(), g("g", {
1546
- key: 3,
1547
- ref_key: "timeLabelsEls",
1548
- ref: Qt
1549
- }, [(S(!0), g(f, null, w(Zn.value, (e, t) => (S(), g("g", null, [_("text", {
1550
- class: "vue-data-ui-time-label",
1551
- 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})`,
1552
- "text-anchor": F.value.style.layout.grid.xAxis.dataLabels.rotation > 0 ? "start" : F.value.style.layout.grid.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1553
- "font-size": z.value.xAxisFontSize,
1554
- fill: F.value.style.layout.grid.xAxis.dataLabels.color,
1555
- stroke: F.value.style.backgroundColor,
1556
- "stroke-width": "3",
1557
- "stroke-linecap": "round",
1558
- "stroke-linejoin": "round",
1559
- "paint-order": "stroke fill",
1560
- "font-weight": F.value.style.layout.grid.xAxis.dataLabels.bold ? "bold" : "normal"
1561
- }, E(e?.text ?? ""), 9, ct)]))), 256))], 512)) : h("", !0),
1562
- 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, [
1563
- _("rect", {
1564
- x: e.open.x - F.value.style.layout.wick.strokeWidth / 2,
1565
- y: e.high.y,
1566
- width: F.value.style.layout.wick.strokeWidth,
1567
- height: Math.abs(e.high.y - e.low.y),
1568
- fill: F.value.style.layout.wick.stroke,
1569
- stroke: "none",
1570
- rx: F.value.style.layout.wick.strokeWidth / 2,
1571
- class: b({ "vue-data-ui-transition": A.value && !D(I) })
1572
- }, null, 10, lt),
1573
- F.value.style.layout.wick.extremity.shape === "circle" ? (S(), g("g", ut, [_("circle", {
1574
- cx: e.high.x,
1575
- cy: e.high.y,
1576
- r: F.value.style.layout.wick.extremity.size === "auto" ? Y.value / 20 : F.value.style.layout.wick.extremity.size,
1577
- fill: F.value.style.layout.wick.extremity.color,
1578
- class: b({ "vue-data-ui-transition": A.value && !D(I) })
1579
- }, null, 10, dt), _("circle", {
1580
- cx: e.low.x,
1581
- cy: e.low.y,
1582
- r: F.value.style.layout.wick.extremity.size === "auto" ? Y.value / 20 : F.value.style.layout.wick.extremity.size,
1583
- fill: F.value.style.layout.wick.extremity.color,
1584
- class: b({ "vue-data-ui-transition": A.value && !D(I) })
1585
- }, null, 10, ft)])) : h("", !0),
1586
- F.value.style.layout.wick.extremity.shape === "line" ? (S(), g("g", pt, [_("rect", {
1587
- 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,
1588
- y: e.high.y - F.value.style.layout.wick.strokeWidth / 2,
1589
- 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)),
1590
- height: F.value.style.layout.wick.strokeWidth,
1591
- rx: F.value.style.layout.wick.strokeWidth / 2,
1592
- fill: F.value.style.layout.wick.extremity.color,
1593
- stroke: "none",
1594
- class: b({ "vue-data-ui-transition": A.value && !D(I) })
1595
- }, null, 10, mt), _("rect", {
1596
- 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,
1597
- y: e.low.y - F.value.style.layout.wick.strokeWidth / 2,
1598
- 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)),
1599
- height: F.value.style.layout.wick.strokeWidth,
1600
- fill: F.value.style.layout.wick.extremity.color,
1601
- stroke: "none",
1602
- rx: F.value.style.layout.wick.strokeWidth / 2,
1603
- class: b({ "vue-data-ui-transition": A.value && !D(I) })
1604
- }, null, 10, ht)])) : h("", !0)
1605
- ]))), 256))]), _("g", null, [(S(!0), g(f, null, w(Z.value, (e, t) => (S(), g("rect", {
1606
- x: e.open.x - Y.value / 2 + Y.value * (1 - F.value.style.layout.candle.widthRatio) / 2,
1607
- y: e.isBullish ? e.close.y : e.open.y,
1608
- height: Math.abs(e.close.y - e.open.y) <= 0 ? 1e-4 : Math.abs(e.close.y - e.open.y),
1609
- width: Y.value * F.value.style.layout.candle.widthRatio <= 0 ? 1e-4 : Y.value * F.value.style.layout.candle.widthRatio,
1610
- fill: F.value.style.layout.candle.gradient.underlayer,
1611
- rx: F.value.style.layout.candle.borderRadius,
1612
- stroke: "none",
1613
- class: b({ "vue-data-ui-transition": A.value && !D(I) })
1614
- }, null, 10, gt))), 256)), (S(!0), g(f, null, w(Z.value, (e, t) => (S(), g("rect", {
1615
- x: e.open.x - Y.value / 2 + Y.value * (1 - F.value.style.layout.candle.widthRatio) / 2,
1616
- y: e.isBullish ? e.close.y : e.open.y,
1617
- height: Math.abs(e.close.y - e.open.y) <= 0 ? 1e-4 : Math.abs(e.close.y - e.open.y),
1618
- width: Y.value * F.value.style.layout.candle.widthRatio <= 0 ? 1e-4 : Y.value * F.value.style.layout.candle.widthRatio,
1619
- 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,
1620
- rx: F.value.style.layout.candle.borderRadius,
1621
- stroke: F.value.style.layout.candle.stroke,
1622
- "stroke-width": F.value.style.layout.candle.strokeWidth,
1623
- "stroke-linecap": "round",
1624
- "stroke-linejoin": "round",
1625
- class: b({ "vue-data-ui-transition": A.value && !D(I) })
1626
- }, null, 10, _t))), 256))])], 64)) : h("", !0),
1627
- F.value.type === "ohlc" ? (S(!0), g(f, { key: 5 }, w(Z.value, (e, t) => (S(), g("g", { key: `ohlc_${e.absoluteIndex}` }, [_("path", {
1628
- 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}`,
1629
- stroke: e.isBullish ? F.value.style.layout.candle.colors.bullish : F.value.style.layout.candle.colors.bearish,
1630
- "stroke-width": 1,
1631
- class: b({ "vue-data-ui-transition": D(on) }),
1632
- "stroke-linecap": "round",
1633
- "stroke-linejoin": "round"
1634
- }, null, 10, vt)]))), 128)) : h("", !0),
1635
- _("g", null, [(S(!0), g(f, null, w(Z.value, (e, t) => (S(), g("rect", {
1636
- x: W.value.left + t * Y.value,
1637
- y: W.value.top,
1638
- height: W.value.height <= 0 ? 1e-4 : W.value.height,
1639
- width: Y.value <= 0 ? 1e-4 : Y.value,
1640
- fill: M.value === t || tn.value === t ? D(a)(F.value.style.layout.selector.color, F.value.style.layout.selector.opacity) : "transparent",
1641
- onMouseover: () => nr(t, e, "pointer"),
1642
- onMouseleave: () => tr(t, e),
1643
- onClick: () => er(t, e)
1644
- }, null, 40, yt))), 256))])
1645
- ])) : h("", !0),
1646
- On.value ? (S(), g("rect", Ie({ key: 2 }, Dn.value, {
1647
- "data-start": K.value.start,
1648
- "data-end": K.value.end
1649
- }), null, 16, bt)) : h("", !0),
1650
- T(e.$slots, "svg", { svg: {
1651
- ...z.value,
1652
- data: Z.value,
1653
- drawingArea: W.value,
1654
- isPrintingImg: D(vn) || D(yn) || D(Tr),
1655
- isPrintingSvg: D(Er)
1656
- } }, void 0, !0)
1657
- ], 46, Xe)), e.$slots.hint ? (S(), g("div", xt, [T(e.$slots, "hint", x(y({
1658
- hint: F.value.a11y.translations.keyboardNavigation,
1659
- isVisible: an.value
1660
- })), void 0, !0)])) : h("", !0)]),
1661
- 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),
1662
- F.value.style.zoom.show && G.value > 6 && Rt.value && sr.value ? (S(), m(Oe, {
1663
- key: 6,
1664
- ref_key: "chartSlicer",
1665
- ref: Gt,
1666
- "data-dom-to-png-ignore-layout": "",
1667
- allMinimaps: Rn.value,
1668
- background: F.value.style.zoom.color,
1669
- borderColor: F.value.style.backgroundColor,
1670
- customFormat: F.value.style.zoom.customFormat,
1671
- cutNullValues: !1,
1672
- enableRangeHandles: F.value.style.zoom.enableRangeHandles,
1673
- enableSelectionDrag: F.value.style.zoom.enableSelectionDrag,
1674
- end: K.value.end,
1675
- focusOnDrag: F.value.style.zoom.focusOnDrag,
1676
- focusRangeRatio: F.value.style.zoom.focusRangeRatio,
1677
- fontSize: F.value.style.zoom.fontSize,
1678
- immediate: !F.value.style.zoom.preview.enable,
1679
- inputColor: F.value.style.zoom.color,
1680
- isPreview: On.value,
1681
- labelLeft: Qn.value.start || "",
1682
- labelRight: Qn.value.end || "",
1683
- max: G.value,
1684
- min: 0,
1685
- minimap: F.value.style.zoom.minimap.show ? D(L).map((e) => e[2]) : [],
1686
- minimapCompact: F.value.style.zoom.minimap.compact,
1687
- minimapFrameColor: F.value.style.zoom.minimap.frameColor,
1688
- minimapIndicatorColor: F.value.style.zoom.minimap.indicatorColor,
1689
- minimapMerged: !1,
1690
- minimapSelectedColor: F.value.style.zoom.minimap.selectedColor,
1691
- minimapSelectedColorOpacity: F.value.style.zoom.minimap.selectedColorOpacity,
1692
- minimapSelectedIndex: M.value,
1693
- minimapSelectionRadius: 1,
1694
- preciseLabels: Yn.value,
1695
- refreshEndPoint: F.value.style.zoom.endIndex === null ? G.value : F.value.style.zoom.endIndex + 1,
1696
- refreshStartPoint: F.value.style.zoom.startIndex === null ? 0 : F.value.style.zoom.startIndex,
1697
- selectColor: F.value.style.zoom.highlightColor,
1698
- selectedSeries: D(L),
1699
- smoothMinimap: !1,
1700
- start: K.value.start,
1701
- textColor: F.value.style.color,
1702
- timeLabels: Hn.value,
1703
- usePreciseLabels: F.value.style.layout.grid.xAxis.dataLabels.datetimeFormatter.enable && !F.value.style.zoom.useDefaultFormat,
1704
- useResetSlot: F.value.style.zoom.useResetSlot,
1705
- valueEnd: K.value.end,
1706
- valueStart: K.value.start,
1707
- verticalHandles: F.value.style.zoom.minimap.verticalHandles,
1708
- minScale: F.value.style.layout.grid.yAxis.scale.min,
1709
- maxScale: F.value.style.layout.grid.yAxis.scale.max,
1710
- maxWidth: F.value.style.zoom.maxWidth,
1711
- minimapLeftInsetRatio: z.value.width > 0 && F.value.style.zoom.autoFit ? W.value.left / z.value.width : null,
1712
- minimapRightInsetRatio: z.value.width > 0 && F.value.style.zoom.autoFit ? (z.value.width - W.value.right) / z.value.width : null,
1713
- additionalMinimapHeight: F.value.style.zoom.minimap.additionalHeight,
1714
- handleType: F.value.style.zoom.minimap.handleType,
1715
- handleIconColor: F.value.style.zoom.minimap.handleIconColor,
1716
- handleBorderWidth: F.value.style.zoom.minimap.handleBorderWidth,
1717
- handleBorderColor: F.value.style.zoom.minimap.handleBorderColor,
1718
- handleFill: F.value.style.zoom.minimap.handleFill,
1719
- handleWidth: F.value.style.zoom.minimap.handleWidth,
1720
- "onUpdate:end": jr,
1721
- "onUpdate:start": Ar,
1722
- onTrapMouse: kr,
1723
- onReset: ar,
1724
- onFutureEnd: t[0] ||= (e) => kn("end", e),
1725
- onFutureStart: t[1] ||= (e) => kn("start", e)
1726
- }, {
1727
- "reset-action": O(({ reset: t }) => [T(e.$slots, "reset-action", x(y({ reset: t })), void 0, !0)]),
1728
- slotMap: O(({ height: e, unitW: t }) => [(S(!0), g(f, null, w(Ln.value({
1729
- minimapH: e,
1730
- unitW: t
1731
- }), (e, n) => (S(), g("g", null, [_("path", {
1732
- d: `M ${e.high.x},${e.high.y} ${e.low.x},${e.low.y}`,
1733
- stroke: e.isBullish ? F.value.style.layout.candle.colors.bullish : F.value.style.layout.candle.colors.bearish,
1734
- "stroke-width": 1,
1735
- style: Re({ opacity: n >= q.value.start && n <= q.value.end ? 1 : .6 })
1736
- }, null, 12, Ct), _("path", {
1737
- d: `M ${e.open.x},${e.open.y} ${e.close.x},${e.close.y}`,
1738
- stroke: e.isBullish ? F.value.style.layout.candle.colors.bullish : F.value.style.layout.candle.colors.bearish,
1739
- "stroke-width": Math.min(6, t / 1.5),
1740
- style: Re({ opacity: n >= q.value.start && n <= q.value.end ? 1 : .6 })
1741
- }, null, 12, wt)]))), 256))]),
1742
- _: 3
1743
- }, 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),
1744
- _("div", {
1745
- ref_key: "chartLegend",
1746
- ref: Wt
1747
- }, [T(e.$slots, "legend", { legend: Z.value }, void 0, !0)], 512),
1748
- e.$slots.source ? (S(), g("div", {
1749
- key: 7,
1750
- ref_key: "source",
1751
- ref: Kt,
1752
- dir: "auto"
1753
- }, [T(e.$slots, "source", {}, void 0, !0)], 512)) : h("", !0),
1754
- Fe(D(Dt), {
1755
- teleportTo: F.value.style.tooltip.teleportTo,
1756
- show: H.value.showTooltip && Bt.value,
1757
- backgroundColor: F.value.style.tooltip.backgroundColor,
1758
- color: F.value.style.tooltip.color,
1759
- borderRadius: F.value.style.tooltip.borderRadius,
1760
- borderColor: F.value.style.tooltip.borderColor,
1761
- borderWidth: F.value.style.tooltip.borderWidth,
1762
- fontSize: F.value.style.tooltip.fontSize,
1763
- backgroundOpacity: F.value.style.tooltip.backgroundOpacity,
1764
- position: F.value.style.tooltip.position,
1765
- offsetX: F.value.style.tooltip.offsetX,
1766
- offsetY: F.value.style.tooltip.offsetY,
1767
- parent: N.value,
1768
- content: Vt.value,
1769
- isFullscreen: $.value,
1770
- isCustom: F.value.style.tooltip.customFormat && typeof F.value.style.tooltip.customFormat == "function",
1771
- smooth: F.value.style.tooltip.smooth,
1772
- backdropFilter: F.value.style.tooltip.backdropFilter,
1773
- smoothForce: F.value.style.tooltip.smoothForce,
1774
- smoothSnapThreshold: F.value.style.tooltip.smoothSnapThreshold,
1775
- isA11yMode: rn.value === "keyboard",
1776
- a11yPosition: nn.value
1777
- }, {
1778
- "tooltip-before": O(() => [T(e.$slots, "tooltip-before", x(y({ ...$n.value })), void 0, !0)]),
1779
- tooltip: O(() => [T(e.$slots, "tooltip", x(y({ ...$n.value })), void 0, !0)]),
1780
- "tooltip-after": O(() => [T(e.$slots, "tooltip-after", x(y({ ...$n.value })), void 0, !0)]),
1781
- _: 3
1782
- }, 8, [
1783
- "teleportTo",
1784
- "show",
1785
- "backgroundColor",
1786
- "color",
1787
- "borderRadius",
1788
- "borderColor",
1789
- "borderWidth",
1790
- "fontSize",
1791
- "backgroundOpacity",
1792
- "position",
1793
- "offsetX",
1794
- "offsetY",
1795
- "parent",
1796
- "content",
1797
- "isFullscreen",
1798
- "isCustom",
1799
- "smooth",
1800
- "backdropFilter",
1801
- "smoothForce",
1802
- "smoothSnapThreshold",
1803
- "isA11yMode",
1804
- "a11yPosition"
1805
- ]),
1806
- Rt.value && F.value.userOptions.buttons.table ? (S(), m(Ve(xr.value.component), Ie({ key: 8 }, xr.value.props, {
1807
- ref_key: "tableUnit",
1808
- ref: $t,
1809
- onClose: Sr
1810
- }), Ne({
1811
- content: O(() => [(S(), m(D(kt), {
1812
- key: `table_${Yt.value}`,
1813
- colNames: fr.value.colNames,
1814
- head: fr.value.head,
1815
- body: fr.value.body,
1816
- config: fr.value.config,
1817
- title: F.value.table.useDialog ? "" : xr.value.title,
1818
- withCloseButton: !F.value.table.useDialog,
1819
- isCursorPointer: sn.value,
1820
- onClose: Sr
1821
- }, {
1822
- th: O(({ th: e }) => [Pe(E(e), 1)]),
1823
- td: O(({ td: e }) => [_("div", { innerHTML: e }, null, 8, Tt)]),
1824
- _: 1
1825
- }, 8, [
1826
- "colNames",
1827
- "head",
1828
- "body",
1829
- "config",
1830
- "title",
1831
- "withCloseButton",
1832
- "isCursorPointer"
1833
- ]))]),
1834
- _: 2
1835
- }, [F.value.table.useDialog ? {
1836
- name: "title",
1837
- fn: O(() => [Pe(E(xr.value.title), 1)]),
1838
- key: "0"
1839
- } : void 0, F.value.table.useDialog ? {
1840
- name: "actions",
1841
- fn: O(() => [_("button", {
1842
- tabindex: "0",
1843
- class: "vue-ui-user-options-button",
1844
- onClick: t[2] ||= (e) => dr(F.value.userOptions.callbacks.csv),
1845
- style: Re({ cursor: sn.value ? "pointer" : "default" })
1846
- }, [Fe(D(Et), {
1847
- name: "fileCsv",
1848
- stroke: xr.value.props.color
1849
- }, null, 8, ["stroke"])], 4)]),
1850
- key: "1"
1851
- } : void 0]), 1040)) : h("", !0),
1852
- T(e.$slots, "skeleton", {}, () => [D(I) ? (S(), m(ge, { key: 0 })) : h("", !0)], !0)
1853
- ], 46, qe));
1854
- }
1855
- }, [["__scopeId", "data-v-554e3182"]]);
1856
- //#endregion
1857
- export { Ke as n, Et as t };