vue-data-ui 3.25.13 → 3.26.0

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 (205) hide show
  1. package/README.md +53 -53
  2. package/dist/{Arrow-BhZDUeMp.js → Arrow-Bt3aGRMb.js} +1 -1
  3. package/dist/{BaseDraggableDialog-Ck6R5Q0K.js → BaseDraggableDialog-C1Slb3Yh.js} +2 -2
  4. package/dist/{BaseIcon-Dlz7gfx0.js → BaseIcon-BV75ei8X.js} +1 -1
  5. package/dist/{BaseLegendToggle-DGG65LAR.js → BaseLegendToggle-DtS_Oj3B.js} +1 -1
  6. package/dist/{BaseZoomControls-BK0PxEa8.js → BaseZoomControls-DIhoeyZu.js} +2 -2
  7. package/dist/{ColorPicker-DMTwxvi_.js → ColorPicker--Y89hTnE.js} +2 -2
  8. package/dist/{DataTable-BD1eZ0zB.js → DataTable-DX5fToAo.js} +2 -2
  9. package/dist/{HillActions-CiP2m7Nz.js → HillActions-D6weVdns.js} +1 -1
  10. package/dist/{Legend-C0Ln0VNe.js → Legend-Dv90gh-6.js} +2 -2
  11. package/dist/{NonSvgPenAndPaper-BjrMLISf.js → NonSvgPenAndPaper-D2BM5C1-.js} +3 -3
  12. package/dist/{PackageVersion-D5QkTJQU.js → PackageVersion-DhXk363L.js} +1 -1
  13. package/dist/{PenAndPaper-XdUD8uB3.js → PenAndPaper-DkQ4sEhs.js} +3 -3
  14. package/dist/{Shape-VCdxvFV9.js → Shape-B_kDj1gF.js} +1 -1
  15. package/dist/SlicerPreview-BgyIezm0.js +1730 -0
  16. package/dist/{SparkTooltip-B1gRxPfb.js → SparkTooltip-BNpyQ021.js} +1 -1
  17. package/dist/{Title-DeqmC-vN.js → Title-C2JKI5td.js} +1 -1
  18. package/dist/{Tooltip-DZ4a3XJQ.js → Tooltip-2NAb_Rrx.js} +1 -1
  19. package/dist/{UserOptions-wFD9vo9g.js → UserOptions-Dgn3StKw.js} +2 -2
  20. package/dist/components/arrow.js +1 -1
  21. package/dist/components/vue-ui-3d-bar.js +1 -1
  22. package/dist/components/vue-ui-accordion.js +1 -1
  23. package/dist/components/vue-ui-age-pyramid.js +1 -1
  24. package/dist/components/vue-ui-annotator.js +1 -1
  25. package/dist/components/vue-ui-bullet.js +1 -1
  26. package/dist/components/vue-ui-bump.js +1 -1
  27. package/dist/components/vue-ui-candlestick.js +1 -1
  28. package/dist/components/vue-ui-carousel-table.js +1 -1
  29. package/dist/components/vue-ui-chestnut.js +1 -1
  30. package/dist/components/vue-ui-chord.js +1 -1
  31. package/dist/components/vue-ui-circle-pack.js +1 -1
  32. package/dist/components/vue-ui-cursor.js +1 -1
  33. package/dist/components/vue-ui-dag.js +1 -1
  34. package/dist/components/vue-ui-dashboard.js +1 -1
  35. package/dist/components/vue-ui-digits.js +1 -1
  36. package/dist/components/vue-ui-donut-evolution.js +1 -1
  37. package/dist/components/vue-ui-donut.js +1 -1
  38. package/dist/components/vue-ui-dumbbell.js +1 -1
  39. package/dist/components/vue-ui-flow.js +1 -1
  40. package/dist/components/vue-ui-funnel.js +1 -1
  41. package/dist/components/vue-ui-galaxy.js +1 -1
  42. package/dist/components/vue-ui-gauge.js +1 -1
  43. package/dist/components/vue-ui-geo.js +1 -1
  44. package/dist/components/vue-ui-gizmo.js +1 -1
  45. package/dist/components/vue-ui-heatmap.js +1 -1
  46. package/dist/components/vue-ui-hill.js +1 -1
  47. package/dist/components/vue-ui-history-plot.js +1 -1
  48. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  49. package/dist/components/vue-ui-icon.js +1 -1
  50. package/dist/components/vue-ui-kpi.js +1 -1
  51. package/dist/components/vue-ui-label.js +1 -1
  52. package/dist/components/vue-ui-mini-loader.js +1 -1
  53. package/dist/components/vue-ui-molecule.js +1 -1
  54. package/dist/components/vue-ui-mood-radar.js +1 -1
  55. package/dist/components/vue-ui-nested-donuts.js +1 -1
  56. package/dist/components/vue-ui-onion.js +1 -1
  57. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  58. package/dist/components/vue-ui-quadrant.js +1 -1
  59. package/dist/components/vue-ui-quick-chart.js +1 -1
  60. package/dist/components/vue-ui-radar.js +1 -1
  61. package/dist/components/vue-ui-rating.js +1 -1
  62. package/dist/components/vue-ui-relation-circle.js +1 -1
  63. package/dist/components/vue-ui-ridgeline.js +1 -1
  64. package/dist/components/vue-ui-rings.js +1 -1
  65. package/dist/components/vue-ui-scatter.js +1 -1
  66. package/dist/components/vue-ui-skeleton.js +1 -1
  67. package/dist/components/vue-ui-smiley.js +1 -1
  68. package/dist/components/vue-ui-spark-trend.js +1 -1
  69. package/dist/components/vue-ui-sparkbar.js +1 -1
  70. package/dist/components/vue-ui-sparkgauge.js +1 -1
  71. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  72. package/dist/components/vue-ui-sparkline.js +1 -1
  73. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  74. package/dist/components/vue-ui-stackbar.js +1 -1
  75. package/dist/components/vue-ui-stackline.js +1 -1
  76. package/dist/components/vue-ui-strip-plot.js +1 -1
  77. package/dist/components/vue-ui-table-heatmap.js +1 -1
  78. package/dist/components/vue-ui-table-sparkline.js +1 -1
  79. package/dist/components/vue-ui-table.js +1 -1
  80. package/dist/components/vue-ui-thermometer.js +1 -1
  81. package/dist/components/vue-ui-timer.js +1 -1
  82. package/dist/components/vue-ui-tiremarks.js +1 -1
  83. package/dist/components/vue-ui-treemap.js +1 -1
  84. package/dist/components/vue-ui-vertical-bar.js +1 -1
  85. package/dist/components/vue-ui-waffle.js +1 -1
  86. package/dist/components/vue-ui-wheel.js +1 -1
  87. package/dist/components/vue-ui-word-cloud.js +1 -1
  88. package/dist/components/vue-ui-world.js +1 -1
  89. package/dist/components/vue-ui-xy-canvas.js +1 -1
  90. package/dist/components/vue-ui-xy.js +1 -1
  91. package/dist/{dom-to-png-DdqmzDdY.js → dom-to-png-DKdtTkNC.js} +1 -1
  92. package/dist/{exposedLib-BBtjpydc.js → exposedLib-DN6QRAx2.js} +1 -1
  93. package/dist/{img-W50sC9SC.js → img-CaIaBHA0.js} +1 -1
  94. package/dist/{labelUtils-Dvm-7rse.js → labelUtils-CD5XzcAo.js} +1 -1
  95. package/dist/{lib-DOpaUOQx.js → lib-CklJ7rIN.js} +29 -18
  96. package/dist/{package-Cmcke8zR.js → package-BVRea5S_.js} +1 -1
  97. package/dist/{pdf-zGbDDpCi.js → pdf-6hacmnKW.js} +1 -1
  98. package/dist/{render-common-CG1wuHZY.js → render-common-ChwuwzU3.js} +2 -2
  99. package/dist/ssr/vue-ui-donut.js +1 -1
  100. package/dist/ssr/vue-ui-xy.js +1 -1
  101. package/dist/ssr.js +2 -2
  102. package/dist/style.css +1 -1
  103. package/dist/types/vue-data-ui.d.ts +110 -5
  104. package/dist/types/vue-ui-candlestick.d.ts +4 -0
  105. package/dist/types/vue-ui-donut-evolution.d.ts +4 -0
  106. package/dist/types/vue-ui-quick-chart.d.ts +4 -0
  107. package/dist/types/vue-ui-sparkline.d.ts +5 -1
  108. package/dist/types/vue-ui-stackbar.d.ts +4 -0
  109. package/dist/types/vue-ui-stackline.d.ts +4 -0
  110. package/dist/types/vue-ui-xy-canvas.d.ts +2 -0
  111. package/dist/types/vue-ui-xy.d.ts +2 -0
  112. package/dist/{useConfig-C2uy4ltq.js → useConfig-DObkR9Aa.js} +49 -4
  113. package/dist/{useNestedProp-Bux0f4iY.js → useNestedProp-Tc9i6ZcN.js} +1 -1
  114. package/dist/{useObjectBindings-CEuNiBIT.js → useObjectBindings-CPmyIJxB.js} +9 -9
  115. package/dist/{usePrinter-BBBooAGP.js → usePrinter-Dp3X1vqr.js} +2 -2
  116. package/dist/utils.js +3 -3
  117. package/dist/vue-data-ui-Dr0uoRD_.js +191 -0
  118. package/dist/vue-data-ui.js +74 -74
  119. package/dist/{vue-ui-3d-bar-Ckauu3d4.js → vue-ui-3d-bar-BvJwq13N.js} +7 -7
  120. package/dist/{vue-ui-accordion-yHZMJLaY.js → vue-ui-accordion-15kKhkup.js} +4 -4
  121. package/dist/{vue-ui-age-pyramid-BczIt1-U.js → vue-ui-age-pyramid-CVzina7X.js} +7 -7
  122. package/dist/{vue-ui-annotator-BGB6K6u0.js → vue-ui-annotator-J4Wo2_DR.js} +7 -7
  123. package/dist/{vue-ui-bullet-BoTsLccZ.js → vue-ui-bullet-CuI5_uF1.js} +8 -8
  124. package/dist/{vue-ui-bump-B5ztSSQO.js → vue-ui-bump-GGNG4vwu.js} +7 -7
  125. package/dist/vue-ui-candlestick-Ca9dvzvk.js +2144 -0
  126. package/dist/{vue-ui-carousel-table-D-3KSWok.js → vue-ui-carousel-table-DOxh9sEm.js} +5 -5
  127. package/dist/{vue-ui-chestnut-W2l-W0_e.js → vue-ui-chestnut-DQhC_gB8.js} +6 -6
  128. package/dist/{vue-ui-chord-BFPQsMj8.js → vue-ui-chord-Blnvne2p.js} +9 -9
  129. package/dist/{vue-ui-circle-pack-BtPc1BR3.js → vue-ui-circle-pack-mNHA1U8B.js} +7 -7
  130. package/dist/{vue-ui-cursor-CpNOiwkt.js → vue-ui-cursor-D2hgivhn.js} +4 -4
  131. package/dist/{vue-ui-dag-i-zPwLcN.js → vue-ui-dag-DDSyO2ts.js} +8 -8
  132. package/dist/{vue-ui-dashboard-DtaW9a2P.js → vue-ui-dashboard-C9MnWAnE.js} +70 -70
  133. package/dist/{vue-ui-digits-BIlec9af.js → vue-ui-digits-h7H-yHd0.js} +4 -4
  134. package/dist/{vue-ui-donut-CJlBEyxu.js → vue-ui-donut-D-8OekQ5.js} +3 -3
  135. package/dist/vue-ui-donut-evolution-CJ6tIbgl.js +1869 -0
  136. package/dist/{vue-ui-donut-Bgf-n95J.js → vue-ui-donut-oY4iu5pY.js} +11 -11
  137. package/dist/{vue-ui-dumbbell-C112YLkC.js → vue-ui-dumbbell-52gWeLGK.js} +8 -8
  138. package/dist/{vue-ui-flow-j4bDg9Zd.js → vue-ui-flow-edMUCkcr.js} +8 -8
  139. package/dist/{vue-ui-funnel-CVHpfBCW.js → vue-ui-funnel-B08mSlHH.js} +7 -7
  140. package/dist/{vue-ui-galaxy-ChGpUWh8.js → vue-ui-galaxy-CV59UO9t.js} +10 -10
  141. package/dist/{vue-ui-gauge-Cp00vXfG.js → vue-ui-gauge-BnBzapom.js} +7 -7
  142. package/dist/{vue-ui-geo-B4hDk5NO.js → vue-ui-geo-BCmDw5me.js} +8 -8
  143. package/dist/{vue-ui-gizmo-D6nCCsS4.js → vue-ui-gizmo-BZBV8haQ.js} +4 -4
  144. package/dist/{vue-ui-heatmap-scVJc1cw.js → vue-ui-heatmap-CjiffI23.js} +8 -8
  145. package/dist/{vue-ui-hill-DnYUHGAK.js → vue-ui-hill-D5WV6zro.js} +7 -7
  146. package/dist/{vue-ui-history-plot-C5qAMaaW.js → vue-ui-history-plot-Bd06L1Od.js} +9 -9
  147. package/dist/{vue-ui-horizontal-bar-nEG4uvpv.js → vue-ui-horizontal-bar-B5Yp6Uql.js} +11 -11
  148. package/dist/{vue-ui-kpi-DOxId6xg.js → vue-ui-kpi-CNreX8BM.js} +4 -4
  149. package/dist/{vue-ui-label-BDKY7BI7.js → vue-ui-label-BDP67zvQ.js} +4 -4
  150. package/dist/{vue-ui-mini-loader-BknVs9VJ.js → vue-ui-mini-loader-pzS7SsP4.js} +3 -3
  151. package/dist/{vue-ui-molecule-_x232mMu.js → vue-ui-molecule-DqeRhja8.js} +6 -6
  152. package/dist/{vue-ui-mood-radar-D-F4855V.js → vue-ui-mood-radar-Cgl_QD-j.js} +8 -8
  153. package/dist/{vue-ui-nested-donuts-0E5IllFW.js → vue-ui-nested-donuts-MDPBZLnW.js} +10 -10
  154. package/dist/{vue-ui-onion-Eip0S1H7.js → vue-ui-onion-kgZ3uV3c.js} +10 -10
  155. package/dist/{vue-ui-parallel-coordinate-plot-DO0sQdJw.js → vue-ui-parallel-coordinate-plot-CJbZCsPd.js} +10 -10
  156. package/dist/{vue-ui-quadrant-CA0ClWfL.js → vue-ui-quadrant-B9efnVWT.js} +10 -10
  157. package/dist/{vue-ui-quick-chart-D-VuAoll.js → vue-ui-quick-chart-hNOMlqTI.js} +1053 -681
  158. package/dist/{vue-ui-radar-BTD7Y0Ps.js → vue-ui-radar-DJO16PTU.js} +9 -9
  159. package/dist/{vue-ui-rating-C_Qj6gnP.js → vue-ui-rating-BYLWm5aG.js} +3 -3
  160. package/dist/{vue-ui-relation-circle-CcxLBVFV.js → vue-ui-relation-circle-DVF3RlHU.js} +7 -7
  161. package/dist/{vue-ui-ridgeline-BZrzbbhb.js → vue-ui-ridgeline-DvgIu54T.js} +10 -10
  162. package/dist/{vue-ui-rings-CO48GOP2.js → vue-ui-rings-DVU7F6bL.js} +11 -11
  163. package/dist/{vue-ui-scatter-DrxUgZbQ.js → vue-ui-scatter-BtlRfhTt.js} +10 -10
  164. package/dist/{vue-ui-skeleton-CeKjW4MX.js → vue-ui-skeleton-DcMhyC4L.js} +4 -4
  165. package/dist/{vue-ui-smiley-BvRwx69s.js → vue-ui-smiley-qHvZQJcB.js} +3 -3
  166. package/dist/{vue-ui-spark-trend-DnujGRyt.js → vue-ui-spark-trend-BuHZP190.js} +4 -4
  167. package/dist/{vue-ui-sparkbar-Cd_uhYGD.js → vue-ui-sparkbar-MH9VeqdO.js} +4 -4
  168. package/dist/{vue-ui-sparkgauge-hT31YEtt.js → vue-ui-sparkgauge-Bg_IFD0m.js} +4 -4
  169. package/dist/{vue-ui-sparkhistogram-PKlTYhKA.js → vue-ui-sparkhistogram-DZu07vIL.js} +5 -5
  170. package/dist/vue-ui-sparkline-LwEiJPe6.js +2067 -0
  171. package/dist/{vue-ui-sparkstackbar-R0ij2vi1.js → vue-ui-sparkstackbar-hbIoybeq.js} +5 -5
  172. package/dist/vue-ui-stackbar-CaxNkWPz.js +2660 -0
  173. package/dist/vue-ui-stackline-BJqnZXeR.js +2829 -0
  174. package/dist/{vue-ui-strip-plot-DR3N56rS.js → vue-ui-strip-plot-BWK3JQr6.js} +8 -8
  175. package/dist/{vue-ui-table-Bg6BeLrf.js → vue-ui-table-CRWoH6dc.js} +6 -6
  176. package/dist/{vue-ui-table-heatmap-C1b1Pcp8.js → vue-ui-table-heatmap-Bu9RiTU0.js} +6 -6
  177. package/dist/{vue-ui-table-sparkline-CkVXyequ.js → vue-ui-table-sparkline-CTA_6-gu.js} +5 -5
  178. package/dist/{vue-ui-thermometer-CqkaMF7Z.js → vue-ui-thermometer-Y5CnROrM.js} +7 -7
  179. package/dist/{vue-ui-timer-CgJvNwBv.js → vue-ui-timer-BYEpxxDX.js} +6 -6
  180. package/dist/{vue-ui-tiremarks-B078YJ9M.js → vue-ui-tiremarks-DBndWNiA.js} +7 -7
  181. package/dist/{vue-ui-treemap-Cfjf8mDl.js → vue-ui-treemap-Cw8a0oFl.js} +10 -10
  182. package/dist/{vue-ui-waffle-BZIcPa0l.js → vue-ui-waffle-BvfD05mS.js} +11 -11
  183. package/dist/{vue-ui-wheel-CPTm8AHn.js → vue-ui-wheel-D6NsnLRc.js} +7 -7
  184. package/dist/{vue-ui-word-cloud-DnGblUwj.js → vue-ui-word-cloud-YrgMp1Fo.js} +8 -8
  185. package/dist/{vue-ui-world-KkcpeKqp.js → vue-ui-world-BMcqvuJH.js} +8 -8
  186. package/dist/{vue-ui-xy-ClCV7xA5.js → vue-ui-xy-B6wckF4S.js} +4 -4
  187. package/dist/vue-ui-xy-Bv7fhRbS.js +5769 -0
  188. package/dist/{vue-ui-xy-canvas-BlpCbXKR.js → vue-ui-xy-canvas-NzaEYHDR.js} +875 -560
  189. package/dist/{vue_ui_candlestick-J8jmJvxP.js → vue_ui_candlestick-BXSQY82k.js} +96 -9
  190. package/dist/{vue_ui_donut_evolution-D1yAAIHr.js → vue_ui_donut_evolution-C6951a2f.js} +35 -7
  191. package/dist/{vue_ui_quick_chart-mZBdml3Z.js → vue_ui_quick_chart-DByCqSYE.js} +45 -4
  192. package/dist/{vue_ui_sparkline-auZhap6Y.js → vue_ui_sparkline-b9pEUyGF.js} +33 -1
  193. package/dist/{vue_ui_stackbar-COOrQQdK.js → vue_ui_stackbar-DdjDL6aq.js} +88 -9
  194. package/dist/{vue_ui_stackline-DQqKPA9z.js → vue_ui_stackline-Bh0RuInt.js} +88 -9
  195. package/dist/{vue_ui_xy-BA3-_LCx.js → vue_ui_xy-CcJADijP.js} +78 -9
  196. package/dist/{vue_ui_xy_canvas-Cb6dg3eK.js → vue_ui_xy_canvas-DrNSzYWq.js} +88 -9
  197. package/package.json +1 -1
  198. package/dist/SlicerPreview-BJ4usfYd.js +0 -1708
  199. package/dist/vue-data-ui-BVzA0tEV.js +0 -280
  200. package/dist/vue-ui-candlestick-BJtdA4Yu.js +0 -1871
  201. package/dist/vue-ui-donut-evolution-C0BKntfL.js +0 -1552
  202. package/dist/vue-ui-sparkline-BSu1uRvP.js +0 -1610
  203. package/dist/vue-ui-stackbar-BrzzkGFk.js +0 -2369
  204. package/dist/vue-ui-stackline-zEX3gR3y.js +0 -2483
  205. package/dist/vue-ui-xy-C6lVqZnx.js +0 -5367
@@ -1,1871 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { $ as t, Ct as n, D as r, Et as i, Jt as a, Rt as o, X as s, _ as c, at as l, b as u, c as ee, en as te, et as ne, ft as re, gt as ie, ht as ae, nt as oe, qt as se, t as ce, tn as le } from "./lib-DOpaUOQx.js";
3
- import { n as ue, t as de } from "./useHints-Dq_w2E8B.js";
4
- import { n as fe, r as pe, t as me } from "./useTimeLabels-d2f-W1L4.js";
5
- import { t as he } from "./useConfig-C2uy4ltq.js";
6
- import { t as ge } from "./usePrinter-BBBooAGP.js";
7
- import { n as _e, t as ve } from "./BaseScanner-Dzc8VT3j.js";
8
- import { t as ye } from "./useNestedProp-Bux0f4iY.js";
9
- import { t as be } from "./useThemeCheck-C43Tcqmk.js";
10
- import { t as xe } from "./useChartExport-iwOqiIWX.js";
11
- import { t as Se } from "./useTransitions-g_zBREk2.js";
12
- import { t as Ce } from "./useTimeLabelCollider-AEcY4Ioe.js";
13
- import { t as we } from "./img-W50sC9SC.js";
14
- import { n as Te } from "./Title-DeqmC-vN.js";
15
- import { t as Ee } from "./_plugin-vue_export-helper-B3ysoDQm.js";
16
- import { l as De, t as Oe } from "./useResponsive-ZtArZtUf.js";
17
- import { t as ke } from "./DefGrad-DVBqDjhO.js";
18
- import { t as Ae } from "./SlicerPreview-BJ4usfYd.js";
19
- import { t as je } from "./A11yDataTable-DdRsVULz.js";
20
- import { t as Me } from "./useUserOptionState-DK-_1ddE.js";
21
- import { t as Ne } from "./useChartAccessibility-DYqac8yF.js";
22
- import { t as Pe } from "./vue_ui_candlestick-J8jmJvxP.js";
23
- import { Fragment as d, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createSlots as Fe, createTextVNode as Ie, createVNode as Le, defineAsyncComponent as _, guardReactiveProps as v, mergeProps as Re, nextTick as ze, normalizeClass as y, normalizeProps as b, normalizeStyle as Be, onBeforeUnmount as Ve, onMounted as He, openBlock as x, ref as S, renderList as C, renderSlot as w, resolveDynamicComponent as Ue, shallowRef as We, toDisplayString as Ge, toRefs as Ke, unref as T, watch as qe, watchEffect as Je, withCtx as E } from "vue";
24
- //#region src/components/vue-ui-candlestick.vue
25
- var Ye = /* @__PURE__ */ e({ default: () => kt }), Xe = ["id"], Ze = ["id"], Qe = { style: { position: "relative" } }, $e = [
26
- "xmlns",
27
- "aria-describedby",
28
- "viewBox"
29
- ], et = [
30
- "x",
31
- "y",
32
- "width",
33
- "height"
34
- ], tt = { key: 1 }, nt = { key: 0 }, rt = [
35
- "x1",
36
- "x2",
37
- "y1",
38
- "y2",
39
- "stroke",
40
- "stroke-width"
41
- ], it = [
42
- "x1",
43
- "x2",
44
- "y1",
45
- "y2",
46
- "stroke",
47
- "stroke-width"
48
- ], at = [
49
- "x1",
50
- "x2",
51
- "y1",
52
- "y2",
53
- "stroke",
54
- "stroke-width",
55
- "stroke-dasharray"
56
- ], ot = [
57
- "x1",
58
- "x2",
59
- "y1",
60
- "y2",
61
- "stroke",
62
- "stroke-width",
63
- "stroke-dasharray"
64
- ], st = [
65
- "x1",
66
- "x2",
67
- "y1",
68
- "y2",
69
- "stroke",
70
- "stroke-width"
71
- ], ct = [
72
- "x1",
73
- "x2",
74
- "y1",
75
- "y2",
76
- "stroke",
77
- "stroke-width"
78
- ], lt = [
79
- "transform",
80
- "text-anchor",
81
- "font-size",
82
- "fill",
83
- "font-weight"
84
- ], ut = [
85
- "transform",
86
- "text-anchor",
87
- "font-size",
88
- "fill",
89
- "font-weight"
90
- ], dt = [
91
- "transform",
92
- "text-anchor",
93
- "font-size",
94
- "fill",
95
- "stroke",
96
- "font-weight"
97
- ], ft = [
98
- "x",
99
- "y",
100
- "width",
101
- "height",
102
- "fill",
103
- "rx"
104
- ], pt = { key: 0 }, mt = [
105
- "cx",
106
- "cy",
107
- "r",
108
- "fill"
109
- ], ht = [
110
- "cx",
111
- "cy",
112
- "r",
113
- "fill"
114
- ], gt = { key: 1 }, _t = [
115
- "x",
116
- "y",
117
- "width",
118
- "height",
119
- "rx",
120
- "fill"
121
- ], vt = [
122
- "x",
123
- "y",
124
- "width",
125
- "height",
126
- "fill",
127
- "rx"
128
- ], yt = [
129
- "x",
130
- "y",
131
- "height",
132
- "width",
133
- "fill",
134
- "rx"
135
- ], bt = [
136
- "x",
137
- "y",
138
- "height",
139
- "width",
140
- "fill",
141
- "rx",
142
- "stroke",
143
- "stroke-width"
144
- ], xt = ["d", "stroke"], St = [
145
- "x",
146
- "y",
147
- "height",
148
- "width",
149
- "fill",
150
- "onMouseover",
151
- "onMouseleave",
152
- "onClick"
153
- ], Ct = ["data-start", "data-end"], wt = {
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
- }, Tt = {
164
- key: 5,
165
- class: "vue-data-ui-watermark"
166
- }, Et = ["d", "stroke"], Dt = [
167
- "d",
168
- "stroke",
169
- "stroke-width"
170
- ], Ot = ["innerHTML"], kt = /*#__PURE__*/ Ee({
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: Ee, emit: Ye }) {
192
- let kt = _(() => import("./BaseIcon-Dlz7gfx0.js").then((e) => e.n)), At = _(() => import("./Tooltip-DZ4a3XJQ.js")), jt = _(() => import("./vue-ui-accordion-yHZMJLaY.js").then((e) => e.n)), Mt = _(() => import("./DataTable-BD1eZ0zB.js")), Nt = _(() => import("./PenAndPaper-XdUD8uB3.js").then((e) => e.t)), Pt = _(() => import("./UserOptions-wFD9vo9g.js").then((e) => e.n)), Ft = _(() => import("./PackageVersion-D5QkTJQU.js").then((e) => e.t)), It = _(() => import("./BaseDraggableDialog-Ck6R5Q0K.js").then((e) => e.n)), { vue_ui_candlestick: Lt } = he(), { isThemeValid: Rt, warnInvalidTheme: zt } = be(), D = e, Bt = Ye, Vt = f(() => !!D.dataset && D.dataset.length), O = S(!1), Ht = S(null), k = S(s()), Ut = S(!1), Wt = S(""), A = S(void 0), Gt = S(0), j = S(null), Kt = S(null), qt = S(null), Jt = S(null), Yt = S(null), Xt = S(null), Zt = S(0), Qt = S(0), $t = S(0), en = S(null), tn = S(null), nn = S(null), rn = S(null), an = S(null), M = S(null), on = S({
193
- x: 0,
194
- y: 0
195
- }), sn = S("pointer"), cn = S(!1), N = S(yn()), P = f(() => N.value.style.layout.candle), F = f(() => N.value.style.layout.grid), I = f(() => N.value.style.layout), L = f(() => N.value.style), R = f(() => N.value.userOptions);
196
- ue({
197
- config: () => N.value,
198
- dataset: () => D.dataset,
199
- component: "VueUiCandlestick",
200
- rules: [de.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: ln } = Se({
212
- config: () => N.value.transitions,
213
- dataset: () => D.dataset
214
- }), un = f(() => N.value.userOptions.useCursorPointer), dn = f(() => le({
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: N.value.skeletonConfig ?? {}
252
- })), { loading: z, FINAL_DATASET: B, manualLoading: fn } = _e({
253
- ...Ke(D),
254
- FINAL_CONFIG: N,
255
- prepareConfig: yn,
256
- callback: () => {
257
- Promise.resolve().then(async () => {
258
- await gr();
259
- });
260
- },
261
- skeletonDataset: D.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: le({
360
- defaultConfig: N.value,
361
- userConfig: dn.value
362
- })
363
- }), { userOptionsVisible: pn, setUserOptionsVisibility: mn, keepUserOptionState: hn } = Me({ config: N.value }), { svgRef: gn } = Ne({ config: L.value.title });
364
- function _n() {
365
- mn(!0);
366
- }
367
- function vn() {
368
- mn(!1), Bt("selectX", {
369
- seriesIndex: null,
370
- datapoint: null
371
- }), A.value = null;
372
- }
373
- function yn() {
374
- let e = ye({
375
- userConfig: D.config,
376
- defaultConfig: Lt
377
- }), t = {};
378
- D.config && n(D.config, "style.layout.grid.xAxis.dataLabels.showFirstAndLast") && (e.style.layout.grid.xAxis.dataLabels.showFirstAndLast = !!D.config.style.layout.grid.xAxis.dataLabels.showFirstAndLast);
379
- let r = e.theme;
380
- if (r) {
381
- if (!Rt.value(e)) zt(e), t = e;
382
- else {
383
- let n = ye({
384
- userConfig: Pe[r] || D.config,
385
- defaultConfig: e
386
- });
387
- t = { ...ye({
388
- userConfig: D.config,
389
- defaultConfig: n
390
- }) };
391
- }
392
- } else t = e;
393
- return t;
394
- }
395
- function bn(e) {
396
- let t = ne(e);
397
- return t?.style && delete t.style.tooltip, JSON.stringify(t);
398
- }
399
- let xn = bn(D.config);
400
- qe(() => D.config, (e, t) => {
401
- let n = bn(e), r = n !== xn;
402
- xn = n;
403
- let i = yn();
404
- if (!r) {
405
- N.value.style.tooltip = i.style.tooltip, U.value.showTooltip = N.value.style.tooltip.show;
406
- return;
407
- }
408
- z.value || (N.value = yn()), pn.value = !N.value.userOptions.showOnChartHover, wn(), Zt.value += 1, $t.value += 1, Qt.value += 1, U.value.showTable = N.value.table.show, U.value.showTooltip = L.value.tooltip.show, Ln();
409
- }, { deep: !0 }), qe(() => D.dataset, (e) => {
410
- Array.isArray(e) && e.length > 0 && (fn.value = !1), fr();
411
- }, { deep: !0 });
412
- let V = S({
413
- height: L.value.height,
414
- width: L.value.width,
415
- xAxisFontSize: F.value.xAxis.dataLabels.fontSize,
416
- yAxisFontSize: F.value.yAxis.dataLabels.fontSize
417
- }), H = We(null), Sn = We(null);
418
- He(() => {
419
- wn();
420
- });
421
- let Cn = f(() => N.value.debug);
422
- function wn() {
423
- if (o(D.dataset) && (l({
424
- componentName: "VueUiCandlestick",
425
- type: "dataset",
426
- debug: Cn.value
427
- }), fn.value = !0), o(D.dataset) || (fn.value = N.value.loading), setTimeout(() => {
428
- O.value = !0;
429
- }, 10), N.value.responsive) {
430
- let e = De(() => {
431
- O.value = !1;
432
- let { width: e, height: t } = Oe({
433
- chart: j.value,
434
- title: L.value.title.text ? Kt.value : null,
435
- slicer: L.value.zoom.show && K.value > 6 ? Jt.value.$el : null,
436
- legend: qt.value,
437
- source: Yt.value,
438
- noTitle: Xt.value
439
- });
440
- requestAnimationFrame(() => {
441
- V.value.width = e, V.value.height = t - 12, N.value.responsiveProportionalSizing ? (V.value.xAxisFontSize = te({
442
- relator: Math.min(e, t),
443
- adjuster: L.value.width,
444
- source: F.value.xAxis.dataLabels.fontSize,
445
- threshold: 6,
446
- fallback: 6
447
- }), V.value.yAxisFontSize = te({
448
- relator: Math.min(e, t),
449
- adjuster: L.value.width,
450
- source: F.value.yAxis.dataLabels.fontSize,
451
- threshold: 6,
452
- fallback: 6
453
- })) : (V.value.xAxisFontSize = F.value.xAxis.dataLabels.fontSize, V.value.yAxisFontSize = F.value.yAxis.dataLabels.fontSize), Ht.value && clearTimeout(Ht.value), Ht.value = setTimeout(() => {
454
- O.value = !0;
455
- }, 10);
456
- });
457
- });
458
- H.value && (Sn.value && H.value.unobserve(Sn.value), H.value.disconnect()), H.value = new ResizeObserver(e), Sn.value = j.value.parentNode, H.value.observe(Sn.value);
459
- }
460
- gr();
461
- }
462
- Ve(() => {
463
- H.value && (Sn.value && H.value.unobserve(Sn.value), H.value.disconnect());
464
- });
465
- let { isPrinting: Tn, isImaging: En, generatePdf: Dn, generateImage: On } = ge({
466
- elementId: `vue-ui-candlestick_${k.value}`,
467
- fileName: L.value.title.text || "vue-ui-candlestick",
468
- options: N.value.userOptions.print
469
- }), kn = f(() => N.value.userOptions.show && !L.value.title.text), U = S({
470
- showTable: N.value.table.show,
471
- showTooltip: L.value.tooltip.show
472
- }), An = S(0), jn = De((e) => {
473
- An.value = e;
474
- }, 100);
475
- Je((e) => {
476
- let t = tn.value;
477
- if (!t) return;
478
- let n = new ResizeObserver((e) => {
479
- jn(e[0].contentRect.height);
480
- });
481
- n.observe(t), e(() => n.disconnect());
482
- }), Ve(() => {
483
- An.value = 0;
484
- });
485
- let Mn = f(() => {
486
- let e = 0;
487
- return tn.value && (e = An.value + V.value.xAxisFontSize), e;
488
- }), W = f(() => F.value.yAxis.position === "right");
489
- function Nn() {
490
- let e = F.value.yAxis.dataLabels.offsetX;
491
- en.value && (e = Array.from(en.value.querySelectorAll("text")).reduce((e, t) => {
492
- let n = t.getComputedTextLength();
493
- return n > e ? n : e;
494
- }, 0));
495
- let t = F.value.yAxis.axisName?.show ? F.value.yAxis.axisName.fontSize + F.value.yAxis.axisName.offsetX : 0, n = e + 13 + t;
496
- return {
497
- left: W.value ? 0 : n,
498
- right: W.value ? n : 0,
499
- scaleLabelsWidth: e,
500
- yAxisNameWidth: t,
501
- crosshair: 13
502
- };
503
- }
504
- let G = f(() => {
505
- let { top: e, right: t, bottom: n, left: r } = I.value.padding, i = Nn();
506
- return {
507
- top: e + 12,
508
- right: V.value.width - t - i.right,
509
- left: r + i.left,
510
- bottom: V.value.height - n - Mn.value,
511
- width: V.value.width - r - t - i.left - i.right,
512
- height: V.value.height - e - n - Mn.value - 12,
513
- scaleLabelsWidth: i.scaleLabelsWidth,
514
- yAxisNameWidth: i.yAxisNameWidth,
515
- crosshair: i.crosshair
516
- };
517
- }), Pn = f(() => {
518
- let { left: e, top: t, width: n, height: r } = G.value, i = q.value.start, a = q.value.end - i, o = n / a, s = J.value.start - i, c = J.value.end - i, l = Math.max(0, Math.min(a, s)), u = Math.max(0, Math.min(a, c));
519
- return {
520
- x: e + l * o,
521
- y: t,
522
- width: (u - l) * o,
523
- height: r,
524
- fill: L.value.zoom.preview.fill,
525
- stroke: L.value.zoom.preview.stroke,
526
- "stroke-width": L.value.zoom.preview.strokeWidth,
527
- "stroke-dasharray": L.value.zoom.preview.strokeDasharray,
528
- "stroke-linecap": "round",
529
- "stroke-linejoin": "round",
530
- style: {
531
- pointerEvents: "none",
532
- transition: "none !important",
533
- animation: "none !important"
534
- }
535
- };
536
- }), K = f(() => B.value.length), q = S({
537
- start: 0,
538
- end: K.value
539
- }), J = S({
540
- start: 0,
541
- end: K.value
542
- }), Fn = f(() => L.value.zoom.preview.enable && (J.value.start !== q.value.start || J.value.end !== q.value.end));
543
- function In(e, t) {
544
- J.value[e] = t;
545
- }
546
- function Ln() {
547
- let e = Math.max(0, Math.min(q.value.start ?? 0, K.value - 1)), t = Math.max(e + 1, Math.min(q.value.end ?? K.value, K.value));
548
- (!Number.isFinite(e) || !Number.isFinite(t) || t <= e) && (e = 0, t = K.value), q.value.start = e, q.value.end = t, J.value.start = e, J.value.end = t, Jt.value && (Jt.value.setStartValue(e), Jt.value.setEndValue(t));
549
- }
550
- let Rn = f(() => B.value.map((e, t) => ({
551
- ...e,
552
- absoluteIndex: t
553
- }))), zn = f(() => Rn.value.slice(q.value.start, q.value.end)), Y = f(() => (Cn.value && B.value.forEach((e, t) => {
554
- [null, void 0].includes(e[0]) && l({
555
- componentName: "VueUiCandlestick",
556
- type: "datasetAttribute",
557
- property: "period (index 0)",
558
- index: t
559
- }), [null, void 0].includes(e[1]) && l({
560
- componentName: "VueUiCandlestick",
561
- type: "datasetAttribute",
562
- property: "open (index 1)",
563
- index: t
564
- }), [null, void 0].includes(e[2]) && l({
565
- componentName: "VueUiCandlestick",
566
- type: "datasetAttribute",
567
- property: "high (index 2)",
568
- index: t
569
- }), [null, void 0].includes(e[3]) && l({
570
- componentName: "VueUiCandlestick",
571
- type: "datasetAttribute",
572
- property: "low (index 3)",
573
- index: t
574
- }), [null, void 0].includes(e[4]) && l({
575
- componentName: "VueUiCandlestick",
576
- type: "datasetAttribute",
577
- property: "close (index 4)",
578
- index: t
579
- }), [null, void 0].includes(e[5]) && l({
580
- componentName: "VueUiCandlestick",
581
- type: "datasetAttribute",
582
- property: "volume (index 5)",
583
- index: t
584
- });
585
- }), zn.value.map((e) => ({
586
- absoluteIndex: e.absoluteIndex,
587
- period: e[0],
588
- open: e[1],
589
- high: e[2],
590
- low: e[3],
591
- close: e[4],
592
- volume: e[5]
593
- })))), Bn = f(() => Rn.value.map((e) => ({
594
- absoluteIndex: e.absoluteIndex,
595
- period: e[0],
596
- open: e[1],
597
- high: e[2],
598
- low: e[3],
599
- close: e[4],
600
- volume: e[5]
601
- }))), X = f(() => G.value.width / zn.value.length), Vn = f(() => ({
602
- max: F.value.yAxis.scale.max === null ? Math.max(...Y.value.map((e) => e.high)) : F.value.yAxis.scale.max,
603
- min: F.value.yAxis.scale.min === null ? 0 : F.value.yAxis.scale.min
604
- })), Z = f(() => c(Vn.value.min, Vn.value.max, F.value.yAxis.dataLabels.steps));
605
- function Hn(e, t, n = null, r = null) {
606
- return {
607
- ...e,
608
- x: u(G.value.left + t * X.value + X.value / 2),
609
- y: u(G.value.top + (1 - (e - Z.value.min) / (Z.value.max - Z.value.min)) * G.value.height),
610
- value: u(e),
611
- isMax: e === n,
612
- isMin: e === r
613
- };
614
- }
615
- let Q = f(() => {
616
- let e = {
617
- o: Math.max(...Y.value.map((e) => e.open)),
618
- h: Math.max(...Y.value.map((e) => e.high)),
619
- l: Math.max(...Y.value.map((e) => e.low)),
620
- c: Math.max(...Y.value.map((e) => e.low))
621
- }, t = {
622
- o: Math.min(...Y.value.map((e) => e.open)),
623
- h: Math.min(...Y.value.map((e) => e.high)),
624
- l: Math.min(...Y.value.map((e) => e.low)),
625
- c: Math.min(...Y.value.map((e) => e.low))
626
- }, n = Math.max(...Y.value.map((e) => e.volume)), r = Math.min(...Y.value.map((e) => e.volume));
627
- return Y.value.map((i, a) => {
628
- let o = Hn(i.open, a, e.o, t.o), s = Hn(i.high, a, e.h, t.h), c = Hn(i.low, a, e.l, t.l), l = Hn(i.close, a, e.c, t.c), u = i.close > i.open, ee = i.volume === n, te = i.volume === r;
629
- return {
630
- period: i.period,
631
- open: o,
632
- high: s,
633
- low: c,
634
- close: l,
635
- volume: i.volume,
636
- isBullish: u,
637
- absoluteIndex: i.absoluteIndex,
638
- isMaxVolume: ee,
639
- isMinVolume: te
640
- };
641
- });
642
- });
643
- function Un({ item: e, index: t, minimapH: n, unitW: r }) {
644
- let i = F.value.yAxis.scale.min ?? 0, a = F.value.yAxis.scale.max ?? Math.max(...B.value.map((e) => e[2]));
645
- return {
646
- ...e,
647
- x: u(t * r),
648
- y: u((1 - (e - i) / (a - i)) * n),
649
- value: u(e)
650
- };
651
- }
652
- let Wn = f(() => ({ minimapH: e, unitW: t }) => Bn.value.map((n, r) => {
653
- let i = Un({
654
- item: n.open,
655
- index: r,
656
- minimapH: e,
657
- unitW: t
658
- }), a = Un({
659
- item: n.high,
660
- index: r,
661
- minimapH: e,
662
- unitW: t
663
- }), o = Un({
664
- item: n.low,
665
- index: r,
666
- minimapH: e,
667
- unitW: t
668
- }), s = Un({
669
- item: n.close,
670
- index: r,
671
- minimapH: e,
672
- unitW: t
673
- }), c = n.close > n.open;
674
- return {
675
- period: n.period,
676
- open: i,
677
- high: a,
678
- low: o,
679
- close: s,
680
- volume: n.volume,
681
- isBullish: c,
682
- absoluteIndex: n.absoluteIndex
683
- };
684
- })), Gn = f(() => L.value.zoom.minimap.show ? [{
685
- name: "",
686
- series: B.value.map((e) => e[2]),
687
- color: "#000000",
688
- isVisible: !0
689
- }] : []);
690
- function Kn(e) {
691
- return u((e - Z.value.min) / (Z.value.max - Z.value.min));
692
- }
693
- let qn = f(() => Z.value.ticks.map((e) => ({
694
- y: G.value.bottom - G.value.height * Kn(e),
695
- value: u(e)
696
- }))), Jn = f(() => Y.value.map((e) => e.period)), $ = S([]), Yn = S([]), Xn = 0;
697
- Je(() => {
698
- let e = ++Xn;
699
- (async () => {
700
- let t = await me({
701
- values: B.value.map((e) => e[0]),
702
- maxDatapoints: B.value.length,
703
- formatter: F.value.xAxis.dataLabels.datetimeFormatter,
704
- start: q.value.start,
705
- end: q.value.end
706
- });
707
- e === Xn && ($.value = t);
708
- })();
709
- });
710
- let Zn = 0;
711
- Je(() => {
712
- let e = ++Zn;
713
- (async () => {
714
- let t = await me({
715
- values: B.value.map((e) => e[0]),
716
- maxDatapoints: B.value.length,
717
- formatter: F.value.xAxis.dataLabels.datetimeFormatter,
718
- start: 0,
719
- end: K.value
720
- });
721
- e === Zn && (Yn.value = t);
722
- })();
723
- });
724
- let Qn = S({
725
- months: [],
726
- shortMonths: [],
727
- days: [],
728
- shortDays: []
729
- }), $n = 0;
730
- Je(() => {
731
- let e = ++$n, t = F.value.xAxis.dataLabels.datetimeFormatter;
732
- (async () => {
733
- let n = await pe(t.locale).catch(() => pe("en"));
734
- e === $n && (Qn.value = n.data);
735
- })();
736
- });
737
- let er = f(() => {
738
- let e = F.value.xAxis.dataLabels.datetimeFormatter, t = fe({
739
- useUTC: e.useUTC,
740
- locale: Qn.value,
741
- januaryAsYear: e.januaryAsYear
742
- });
743
- return (e, n) => {
744
- let r = B.value.map((e) => e[0])?.[e];
745
- return r == null ? "" : t.formatDate(new Date(r), n);
746
- };
747
- }), tr = f(() => (B.value.map((e) => e[0]) || []).map((e, t) => ({
748
- text: er.value(t, L.value.tooltip.timeFormat),
749
- absoluteIndex: t
750
- }))), nr = f(() => (B.value.map((e) => e[0]) || []).map((e, t) => ({
751
- text: er.value(t, L.value.zoom.timeFormat),
752
- absoluteIndex: t
753
- }))), rr = f(() => {
754
- let e = Math.max(1, Math.floor(Number(F.value.xAxis.dataLabels.modulo) || 1)), t = ($.value || []).map((e) => e?.text ?? ""), n = (Yn.value || []).map((e) => e?.text ?? ""), r = q.value.start ?? 0, i = r > 0 || t.length < n.length;
755
- return ae({
756
- configuredModulo: e,
757
- visibleTexts: t,
758
- allTexts: n,
759
- startAbs: r,
760
- isZoomed: i
761
- });
762
- }), ir = f(() => {
763
- let e = F.value.xAxis.dataLabels, t = $.value || [], n = Yn.value || [], r = q.value.start ?? 0, i = A.value, a = K.value, o = t.map((e) => e?.text ?? ""), s = n.map((e) => e?.text ?? ""), c = ee(!!e.showOnlyFirstAndLast, !!e.showOnlyAtModulo, rr.value, o, s, r, i, a);
764
- if (!e.showFirstAndLast || e.showOnlyFirstAndLast || !c.length) return c;
765
- let l = c.length - 1;
766
- return c.map((e, t) => t !== 0 && t !== l ? e : {
767
- ...e,
768
- text: o[t] ?? ""
769
- });
770
- }), ar = f(() => F.value.xAxis.dataLabels.datetimeFormatter.enable ? {
771
- start: $.value.find((e) => e.absoluteIndex === q.value.start)?.text ?? "",
772
- end: $.value.find((e) => e.absoluteIndex === q.value.end - 1)?.text ?? ""
773
- } : {
774
- start: B.value[q.value.start] ? B.value[q.value.start][0] : B.value[0][0],
775
- end: B.value[q.value.end - 1] ? B.value[q.value.end - 1][0] : B.value.at(-1)[0]
776
- }), or = S(null);
777
- function sr(e, t) {
778
- N.value.events.datapointClick && N.value.events.datapointClick({
779
- datapoint: t,
780
- seriesIndex: e + q.value.start
781
- });
782
- }
783
- function cr(e, t) {
784
- N.value.events.datapointLeave && N.value.events.datapointLeave({
785
- datapoint: t,
786
- seriesIndex: e + q.value.start
787
- }), A.value = void 0, Ut.value = !1, M.value = null, sn.value = "pointer";
788
- }
789
- qe(() => D.selectedXIndex, (e) => {
790
- if ([null, void 0].includes(D.selectedXIndex)) {
791
- A.value = null;
792
- return;
793
- }
794
- let t = e - q.value.start;
795
- t < 0 || e >= q.value.end ? A.value = null : A.value = t ?? null;
796
- }, { immediate: !0 });
797
- function lr(e, n, r = "pointer") {
798
- N.value.events.datapointEnter && N.value.events.datapointEnter({
799
- datapoint: n,
800
- seriesIndex: e + q.value.start
801
- }), A.value = e, M.value = e, sn.value = r, or.value = {
802
- datapoint: n,
803
- seriesIndex: e,
804
- series: Q.value,
805
- config: N.value
806
- }, Br({
807
- seriesIndex: e,
808
- datapoint: n
809
- });
810
- let a = L.value.tooltip.customFormat;
811
- if (i(a) && re(() => a({
812
- seriesIndex: e,
813
- datapoint: n,
814
- series: Q.value,
815
- config: N.value
816
- }))) Wt.value = a({
817
- seriesIndex: e,
818
- datapoint: n,
819
- series: Q.value,
820
- config: N.value
821
- });
822
- else if (L.value.tooltip.show) {
823
- let r = "", { period: i, open: a, high: o, low: s, close: c, volume: l, isBullish: u } = Q.value[e], { period: ee, open: te, high: ne, low: re, close: ie, volume: ae } = N.value.translations, oe = F.value.xAxis.dataLabels.datetimeFormatter.enable ? L.value.tooltip.useDefaultTimeFormat ? $.value[e].text : tr.value[e].text : i;
824
- r += `<div><svg style="margin-right:6px" viewBox="0 0 12 12" height="12" width="12"><rect x="0" y="0" height="12" width="12" rx="${P.value.borderRadius * 3}" stroke="${P.value.stroke}" stroke-width="${P.value.strokeWidth}"
825
- fill="${P.value.gradient.show ? u ? `url(#bullish_gradient_${k.value})` : `url(#bearish_gradient_${k.value})` : u ? P.value.colors.bullish : P.value.colors.bearish}"/></svg>${oe}</div>`, r += `${ae} : <b>${isNaN(l) ? "-" : Number(l.toFixed(L.value.tooltip.roundingValue)).toLocaleString()}</b>`, r += `<div style="margin-top:6px;padding-top:6px;border-top:1px solid ${L.value.tooltip.borderColor}">`;
826
- let se = t({
827
- p: L.value.tooltip.prefix,
828
- v: a.value,
829
- s: L.value.tooltip.suffix,
830
- r: L.value.tooltip.roundingValue
831
- }), ce = t({
832
- p: L.value.tooltip.prefix,
833
- v: o.value,
834
- s: L.value.tooltip.suffix,
835
- r: L.value.tooltip.roundingValue
836
- }), le = t({
837
- p: L.value.tooltip.prefix,
838
- v: s.value,
839
- s: L.value.tooltip.suffix,
840
- r: L.value.tooltip.roundingValue
841
- }), ue = t({
842
- p: L.value.tooltip.prefix,
843
- v: c.value,
844
- s: L.value.tooltip.suffix,
845
- r: L.value.tooltip.roundingValue
846
- });
847
- L.value.tooltip.showChart ? r += `<div style="width:100%;display:flex;align-items:center;justify-content:center;">
848
- <svg viewBox="0 0 100 100" width="100px" style="background: transparent; overflow: visible">
849
- <g>
850
- <line x1="50" x2="50" y1="20" y2="80" stroke="${n.isBullish ? P.value.colors.bullish : P.value.colors.bearish}" stroke-width="2" stroke-linecap="round" />
851
- ${n.isBullish ? `
852
- <line x1="45" x2="50" y1="65" y2="65" stroke="${P.value.colors.bullish}" stroke-width="1.5" stroke-linecap="round" />
853
- <line x1="50" x2="55" y1="35" y2="35" stroke="${P.value.colors.bullish}" stroke-width="1.5" stroke-linecap="round" />
854
- <text x="38" y="70" text-anchor="end" fill="${L.value.tooltip.color}">${se}</text>
855
- <text x="62" y="40" text-anchor="start" fill="${L.value.tooltip.color}">${ue}</text>
856
- ` : `
857
- <line x1="45" x2="50" y1="35" y2="35" stroke="${P.value.colors.bearish}" stroke-width="1.5" stroke-linecap="round" />
858
- <line x1="50" x2="55" y1="65" y2="65" stroke="${P.value.colors.bearish}" stroke-width="1.5" stroke-linecap="round" />
859
- <text x="40" y="40" text-anchor="end" fill="${L.value.tooltip.color}">${se}</text>
860
- <text x="60" y="70" text-anchor="start" fill="${L.value.tooltip.color}">${ue}</text>
861
- `}
862
- <text x="50" y="13" text-anchor="middle" fill="${L.value.tooltip.color}">${ce}</text>
863
- <text x="50" y="97" text-anchor="middle" fill="${L.value.tooltip.color}">${le}</text>
864
- <g>
865
- </svg>
866
- <div>
867
- ` : (r += `<div>${te}: <b>${se}</b></div>`, r += `<div>${ne}: <b>${ce}</b></div>`, r += `<div>${re}: <b>${le}</b></div>`, r += `<div>${ie}: <b>${ue}</b></div>`), r += "</div>", Wt.value = `<div style="text-align:right">${r}</div>`;
868
- }
869
- Ut.value = !0;
870
- }
871
- let ur = S(null);
872
- function dr() {
873
- return new Promise((e) => requestAnimationFrame(() => requestAnimationFrame(() => e())));
874
- }
875
- Ve(() => {
876
- ur.value && cancelAnimationFrame(ur.value);
877
- });
878
- async function fr() {
879
- gr(), await ze(), ur.value && cancelAnimationFrame(ur.value), ur.value = requestAnimationFrame(async () => {
880
- await dr(), gr();
881
- });
882
- }
883
- let pr = S(!1), mr = S(!1), hr = S(!1);
884
- function gr() {
885
- if (!pr.value) {
886
- pr.value = !0;
887
- try {
888
- let { startIndex: e, endIndex: t } = L.value.zoom, n = K.value, r = e ?? 0, i = t == null ? n : Math.min(_r(t + 1), n);
889
- hr.value = !0, q.value.start = r, q.value.end = i, J.value.start = r, J.value.end = i, Ln(), mr.value = !0;
890
- } finally {
891
- queueMicrotask(() => {
892
- hr.value = !1;
893
- }), pr.value = !1;
894
- }
895
- }
896
- }
897
- function _r(e) {
898
- let t = K.value;
899
- return e > t ? t : e < 0 || e < q.value.start ? L.value.zoom.startIndex === null ? 1 : L.value.zoom.startIndex + 1 : e;
900
- }
901
- function vr(e = null) {
902
- ze(() => {
903
- let t = [
904
- N.value.translations.period,
905
- N.value.translations.open,
906
- N.value.translations.high,
907
- N.value.translations.low,
908
- N.value.translations.close,
909
- N.value.translations.volume
910
- ], n = Q.value.map((e, t) => [
911
- F.value.xAxis.dataLabels.datetimeFormatter.enable ? $.value[t].text : e.period,
912
- e.open.value,
913
- e.high.value,
914
- e.low.value,
915
- e.close.value,
916
- e.volume
917
- ]), i = [
918
- [L.value.title.text],
919
- [L.value.title.subtitle.text],
920
- [
921
- [""],
922
- [""],
923
- [""]
924
- ],
925
- t
926
- ].concat(n), a = r(i);
927
- e ? e(a) : oe({
928
- csvContent: a,
929
- title: L.value.title.text || "vue-ui-candlestick"
930
- });
931
- });
932
- }
933
- let yr = f(() => {
934
- let e = Q.value.map((e, n) => {
935
- let r = F.value.xAxis.dataLabels.datetimeFormatter.enable ? $.value?.[n]?.text ?? "" : e.period, i = t({
936
- p: N.value.table.td.prefix,
937
- v: e.open.value,
938
- s: N.value.table.td.suffix,
939
- r: N.value.table.td.roundingValue
940
- }), a = t({
941
- p: N.value.table.td.prefix,
942
- v: e.high.value,
943
- s: N.value.table.td.suffix,
944
- r: N.value.table.td.roundingValue
945
- }), o = t({
946
- p: N.value.table.td.prefix,
947
- v: e.low.value,
948
- s: N.value.table.td.suffix,
949
- r: N.value.table.td.roundingValue
950
- }), s = t({
951
- p: N.value.table.td.prefix,
952
- v: e.close.value,
953
- s: N.value.table.td.suffix,
954
- r: N.value.table.td.roundingValue
955
- });
956
- return [
957
- `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" height="12" width="12" style="margin-right: 6px"><rect x="0" y="0" height="12" width="12" rx="${P.value.borderRadius * 3}" fill="${P.value.gradient.show ? e.isBullish ? `url(#bullish_gradient_${k.value})` : `url(#bearish_gradient_${k.value})` : e.isBullish ? P.value.colors.bullish : P.value.colors.bearish}"/></svg> ${r}`,
958
- i,
959
- a,
960
- o,
961
- s,
962
- `${isNaN(e.volume) ? "-" : e.volume.toLocaleString()}`
963
- ];
964
- }), n = Q.value.map((e, n) => [
965
- F.value.xAxis.dataLabels.datetimeFormatter.enable ? $.value?.[n]?.text ?? "" : e.period,
966
- t({
967
- p: N.value.table.td.prefix,
968
- v: e.open.value,
969
- s: N.value.table.td.suffix,
970
- r: N.value.table.td.roundingValue
971
- }),
972
- t({
973
- p: N.value.table.td.prefix,
974
- v: e.high.value,
975
- s: N.value.table.td.suffix,
976
- r: N.value.table.td.roundingValue
977
- }),
978
- t({
979
- p: N.value.table.td.prefix,
980
- v: e.low.value,
981
- s: N.value.table.td.suffix,
982
- r: N.value.table.td.roundingValue
983
- }),
984
- t({
985
- p: N.value.table.td.prefix,
986
- v: e.close.value,
987
- s: N.value.table.td.suffix,
988
- r: N.value.table.td.roundingValue
989
- }),
990
- `${isNaN(e.volume) ? "-" : e.volume}`
991
- ]), r = {
992
- th: {
993
- backgroundColor: N.value.table.th.backgroundColor,
994
- color: N.value.table.th.color,
995
- outline: N.value.table.th.outline
996
- },
997
- td: {
998
- backgroundColor: N.value.table.td.backgroundColor,
999
- color: N.value.table.td.color,
1000
- outline: N.value.table.td.outline
1001
- },
1002
- breakpoint: N.value.table.responsiveBreakpoint
1003
- }, i = [
1004
- N.value.translations.period,
1005
- N.value.translations.open,
1006
- N.value.translations.high,
1007
- N.value.translations.low,
1008
- N.value.translations.last,
1009
- N.value.translations.volume
1010
- ];
1011
- return {
1012
- head: i,
1013
- body: e,
1014
- bodyA11y: n,
1015
- config: r,
1016
- colNames: i
1017
- };
1018
- }), br = S(!1);
1019
- function xr(e) {
1020
- br.value = e, Gt.value += 1;
1021
- }
1022
- function Sr() {
1023
- U.value.showTable = !U.value.showTable;
1024
- }
1025
- function Cr() {
1026
- U.value.showTooltip = !U.value.showTooltip;
1027
- }
1028
- let wr = S(!1);
1029
- function Tr() {
1030
- wr.value = !wr.value;
1031
- }
1032
- async function Er({ scale: e = 2 } = {}) {
1033
- if (!j.value) return;
1034
- let { imageUri: t, base64: n } = await we({
1035
- domElement: j.value,
1036
- base64: !0,
1037
- img: !0,
1038
- scale: e
1039
- }), r = j.value.getBoundingClientRect(), i = {
1040
- width: r.width,
1041
- height: r.height,
1042
- aspectRatio: r.height ? r.width / r.height : 0
1043
- }, a = await ie(t, e) ?? i;
1044
- return {
1045
- imageUri: t,
1046
- base64: n,
1047
- title: L.value.title.text,
1048
- ...a
1049
- };
1050
- }
1051
- let Dr = f(() => V.value.width), Or = f(() => V.value.height);
1052
- Ce({
1053
- timeLabelsEls: tn,
1054
- timeLabels: $,
1055
- slicer: q,
1056
- configRef: N,
1057
- rotationPath: [
1058
- "style",
1059
- "layout",
1060
- "grid",
1061
- "xAxis",
1062
- "dataLabels",
1063
- "rotation"
1064
- ],
1065
- autoRotatePath: [
1066
- "style",
1067
- "layout",
1068
- "grid",
1069
- "xAxis",
1070
- "dataLabels",
1071
- "autoRotate",
1072
- "enable"
1073
- ],
1074
- isAutoSize: !1,
1075
- rotation: F.value.xAxis.dataLabels.autoRotate.angle,
1076
- width: Dr,
1077
- height: Or
1078
- }), qe(N, () => {
1079
- U.value = {
1080
- showTable: N.value.table.show,
1081
- showTooltip: L.value.tooltip.show
1082
- };
1083
- }, { immediate: !0 });
1084
- let kr = f(() => {
1085
- let e = N.value.table.useDialog && !N.value.table.show, t = U.value.showTable;
1086
- return {
1087
- component: e ? It : jt,
1088
- title: `${L.value.title.text}${L.value.title.subtitle.text ? `: ${L.value.title.subtitle.text}` : ""}`,
1089
- props: e ? {
1090
- backgroundColor: N.value.table.th.backgroundColor,
1091
- color: N.value.table.th.color,
1092
- headerColor: N.value.table.th.color,
1093
- headerBg: N.value.table.th.backgroundColor,
1094
- isFullscreen: br.value,
1095
- fullscreenParent: j.value,
1096
- forcedWidth: Math.min(800, window.innerWidth * .8),
1097
- isCursorPointer: un.value
1098
- } : {
1099
- hideDetails: !0,
1100
- config: {
1101
- open: t,
1102
- maxHeight: 1e4,
1103
- body: {
1104
- backgroundColor: L.value.backgroundColor,
1105
- color: L.value.color
1106
- },
1107
- head: {
1108
- backgroundColor: L.value.backgroundColor,
1109
- color: L.value.color
1110
- }
1111
- }
1112
- }
1113
- };
1114
- });
1115
- qe(() => U.value.showTable, (e) => {
1116
- N.value.table.show || (e && N.value.table.useDialog && nn.value ? nn.value.open() : "close" in nn.value && nn.value.close());
1117
- });
1118
- function Ar() {
1119
- U.value.showTable = !1, rn.value && rn.value.setTableIconState(!1);
1120
- }
1121
- let jr = f(() => L.value.backgroundColor), Mr = f(() => L.value.title), { isCallbackImaging: Nr, isCallbackSvg: Pr, generateSvg: Fr, onGenerateImage: Ir } = xe({
1122
- svg: gn,
1123
- title: Mr,
1124
- legend: null,
1125
- legendItems: null,
1126
- backgroundColor: jr,
1127
- getSvgCallback: () => N.value.userOptions.callbacks.svg,
1128
- generateImage: On
1129
- });
1130
- function Lr(e) {
1131
- an.value = e;
1132
- }
1133
- function Rr(e) {
1134
- pr.value || hr.value || e !== q.value.start && (q.value.start = e, J.value.start = e, Ln());
1135
- }
1136
- function zr(e) {
1137
- if (pr.value || hr.value) return;
1138
- let t = _r(e);
1139
- t !== q.value.end && (q.value.end = t, J.value.end = t, Ln());
1140
- }
1141
- function Br({ seriesIndex: e, datapoint: t }) {
1142
- let n = q.value.start + e;
1143
- Bt("selectX", {
1144
- dataset: t,
1145
- index: n,
1146
- indexLabel: ""
1147
- });
1148
- }
1149
- async function Vr() {
1150
- if (Bt("copyAlt", {
1151
- config: N.value,
1152
- dataset: Q.value
1153
- }), !N.value.userOptions.callbacks.altCopy) {
1154
- console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
1155
- return;
1156
- }
1157
- await Promise.resolve(N.value.userOptions.callbacks.altCopy({
1158
- config: N.value,
1159
- dataset: Q.value
1160
- }));
1161
- }
1162
- function Hr() {
1163
- M.value = null, cn.value = !0;
1164
- }
1165
- function Ur() {
1166
- M.value = null, sn.value = "pointer", Ut.value = !1, A.value = void 0, cn.value = !1;
1167
- }
1168
- function Wr(e) {
1169
- if (!gn.value || wr.value || document.activeElement !== gn.value || !Q.value.length) return;
1170
- let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
1171
- if (!t && !n && !r && !i) return;
1172
- if (e.preventDefault(), e.stopPropagation(), i) {
1173
- M.value = null, sn.value = "pointer", Ut.value = !1, A.value = void 0;
1174
- return;
1175
- }
1176
- if (r) {
1177
- if (M.value === null) return;
1178
- let e = Q.value[M.value];
1179
- if (!e) return;
1180
- sr(M.value, e);
1181
- return;
1182
- }
1183
- let a = M.value, o = A.value, s = a !== null && a >= 0 && a < Q.value.length, c = o != null && o >= 0 && o < Q.value.length;
1184
- s ? n ? (a += 1, a >= Q.value.length && (a = 0)) : t && (--a, a < 0 && (a = Q.value.length - 1)) : c ? (a = n ? o + 1 : o - 1, a >= Q.value.length && (a = 0), a < 0 && (a = Q.value.length - 1)) : a = n ? 0 : Q.value.length - 1;
1185
- let l = Q.value[a];
1186
- l && (Gr(a), lr(a, l, "keyboard"));
1187
- }
1188
- function Gr(e) {
1189
- if (!Number.isFinite(e) || !gn.value) return;
1190
- let t = G.value.left + X.value * e + X.value / 2, n = G.value.top + G.value.height / 2, r = gn.value.getBoundingClientRect();
1191
- on.value = {
1192
- x: r.left + t / V.value.width * r.width,
1193
- y: r.top + n / V.value.height * r.height
1194
- };
1195
- }
1196
- let Kr = f(() => ({
1197
- headers: yr.value?.colNames ?? [],
1198
- rows: yr.value?.bodyA11y ?? []
1199
- }));
1200
- return Ee({
1201
- getImage: Er,
1202
- generatePdf: Dn,
1203
- generateCsv: vr,
1204
- generateImage: On,
1205
- generateSvg: Fr,
1206
- toggleTable: Sr,
1207
- toggleTooltip: Cr,
1208
- toggleAnnotator: Tr,
1209
- toggleFullscreen: xr,
1210
- copyAlt: Vr
1211
- }), (e, n) => (x(), h("div", {
1212
- ref_key: "candlestickChart",
1213
- ref: j,
1214
- class: y(`vue-data-ui-component vue-ui-candlestick ${br.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${N.value.useCssAnimation ? "" : "vue-ui-dna"}`),
1215
- style: Be(`position:relative;font-family:${L.value.fontFamily}; text-align:center;background:${L.value.backgroundColor}; ${N.value.responsive ? "height: 100%" : ""}`),
1216
- id: `vue-ui-candlestick_${k.value}`,
1217
- onMouseenter: _n,
1218
- onMouseleave: vn
1219
- }, [
1220
- g("div", {
1221
- id: `chart-instructions-${k.value}`,
1222
- class: "sr-only"
1223
- }, [g("p", null, Ge(N.value.a11y.translations.keyboardNavigation), 1)], 8, Ze),
1224
- Kr.value?.rows?.length ? (x(), p(je, {
1225
- key: 0,
1226
- uid: k.value,
1227
- head: Kr.value.headers,
1228
- body: Kr.value.rows,
1229
- notice: N.value.a11y.translations.tableAvailable,
1230
- caption: N.value.a11y.translations.tableCaption
1231
- }, null, 8, [
1232
- "uid",
1233
- "head",
1234
- "body",
1235
- "notice",
1236
- "caption"
1237
- ])) : m("", !0),
1238
- R.value.buttons.annotator ? (x(), p(T(Nt), {
1239
- key: 1,
1240
- svgRef: T(gn),
1241
- backgroundColor: L.value.backgroundColor,
1242
- color: L.value.color,
1243
- active: wr.value,
1244
- isCursorPointer: un.value,
1245
- palette: R.value.annotatorPalette,
1246
- onClose: Tr
1247
- }, {
1248
- "annotator-action-close": E(() => [w(e.$slots, "annotator-action-close", {}, void 0, !0)]),
1249
- "annotator-action-color": E(({ color: t }) => [w(e.$slots, "annotator-action-color", b(v({ color: t })), void 0, !0)]),
1250
- "annotator-action-draw": E(({ mode: t }) => [w(e.$slots, "annotator-action-draw", b(v({ mode: t })), void 0, !0)]),
1251
- "annotator-action-undo": E(({ disabled: t }) => [w(e.$slots, "annotator-action-undo", b(v({ disabled: t })), void 0, !0)]),
1252
- "annotator-action-redo": E(({ disabled: t }) => [w(e.$slots, "annotator-action-redo", b(v({ disabled: t })), void 0, !0)]),
1253
- "annotator-action-delete": E(({ disabled: t }) => [w(e.$slots, "annotator-action-delete", b(v({ disabled: t })), void 0, !0)]),
1254
- _: 3
1255
- }, 8, [
1256
- "svgRef",
1257
- "backgroundColor",
1258
- "color",
1259
- "active",
1260
- "isCursorPointer",
1261
- "palette"
1262
- ])) : m("", !0),
1263
- kn.value ? (x(), h("div", {
1264
- key: 2,
1265
- ref_key: "noTitle",
1266
- ref: Xt,
1267
- class: "vue-data-ui-no-title-space",
1268
- style: "height:36px; width: 100%;background:transparent"
1269
- }, null, 512)) : m("", !0),
1270
- L.value.title.text ? (x(), h("div", {
1271
- key: 3,
1272
- ref_key: "chartTitle",
1273
- ref: Kt,
1274
- style: "width:100%;background:transparent"
1275
- }, [(x(), p(Te, {
1276
- key: `title_${$t.value}`,
1277
- config: {
1278
- title: {
1279
- cy: "candlestick-div-title",
1280
- ...L.value.title
1281
- },
1282
- subtitle: {
1283
- cy: "candlestick-div-subtitle",
1284
- ...L.value.title.subtitle
1285
- }
1286
- }
1287
- }, null, 8, ["config"]))], 512)) : m("", !0),
1288
- R.value.show && Vt.value && (T(hn) || T(pn)) ? (x(), p(T(Pt), {
1289
- ref_key: "userOptionsRef",
1290
- ref: rn,
1291
- key: `user_options_${Gt.value}`,
1292
- backgroundColor: L.value.backgroundColor,
1293
- color: L.value.color,
1294
- isImaging: T(En),
1295
- isPrinting: T(Tn),
1296
- uid: k.value,
1297
- hasTooltip: R.value.buttons.tooltip && L.value.tooltip.show,
1298
- hasPdf: R.value.buttons.pdf,
1299
- hasImg: R.value.buttons.img,
1300
- hasSvg: R.value.buttons.svg,
1301
- hasXls: R.value.buttons.csv,
1302
- hasTable: R.value.buttons.table,
1303
- hasFullscreen: R.value.buttons.fullscreen,
1304
- hasAltCopy: R.value.buttons.altCopy,
1305
- isFullscreen: br.value,
1306
- isTooltip: U.value.showTooltip,
1307
- titles: { ...R.value.buttonTitles },
1308
- chartElement: j.value,
1309
- position: R.value.position,
1310
- hasAnnotator: R.value.buttons.annotator,
1311
- isAnnotation: wr.value,
1312
- callbacks: R.value.callbacks,
1313
- printScale: R.value.print.scale,
1314
- tableDialog: N.value.table.useDialog,
1315
- isCursorPointer: un.value,
1316
- onToggleFullscreen: xr,
1317
- onGeneratePdf: T(Dn),
1318
- onGenerateCsv: vr,
1319
- onGenerateImage: T(Ir),
1320
- onGenerateSvg: T(Fr),
1321
- onToggleTable: Sr,
1322
- onToggleTooltip: Cr,
1323
- onToggleAnnotator: Tr,
1324
- onCopyAlt: Vr,
1325
- style: Be({ visibility: T(hn) ? T(pn) ? "visible" : "hidden" : "visible" })
1326
- }, Fe({ _: 2 }, [
1327
- e.$slots.menuIcon ? {
1328
- name: "menuIcon",
1329
- fn: E(({ isOpen: t, color: n }) => [w(e.$slots, "menuIcon", b(v({
1330
- isOpen: t,
1331
- color: n
1332
- })), void 0, !0)]),
1333
- key: "0"
1334
- } : void 0,
1335
- e.$slots.optionTooltip ? {
1336
- name: "optionTooltip",
1337
- fn: E(() => [w(e.$slots, "optionTooltip", {}, void 0, !0)]),
1338
- key: "1"
1339
- } : void 0,
1340
- e.$slots.optionPdf ? {
1341
- name: "optionPdf",
1342
- fn: E(() => [w(e.$slots, "optionPdf", {}, void 0, !0)]),
1343
- key: "2"
1344
- } : void 0,
1345
- e.$slots.optionCsv ? {
1346
- name: "optionCsv",
1347
- fn: E(() => [w(e.$slots, "optionCsv", {}, void 0, !0)]),
1348
- key: "3"
1349
- } : void 0,
1350
- e.$slots.optionImg ? {
1351
- name: "optionImg",
1352
- fn: E(() => [w(e.$slots, "optionImg", {}, void 0, !0)]),
1353
- key: "4"
1354
- } : void 0,
1355
- e.$slots.optionSvg ? {
1356
- name: "optionSvg",
1357
- fn: E(() => [w(e.$slots, "optionSvg", {}, void 0, !0)]),
1358
- key: "5"
1359
- } : void 0,
1360
- e.$slots.optionTable ? {
1361
- name: "optionTable",
1362
- fn: E(() => [w(e.$slots, "optionTable", {}, void 0, !0)]),
1363
- key: "6"
1364
- } : void 0,
1365
- e.$slots.optionFullscreen ? {
1366
- name: "optionFullscreen",
1367
- fn: E(({ toggleFullscreen: t, isFullscreen: n }) => [w(e.$slots, "optionFullscreen", b(v({
1368
- toggleFullscreen: t,
1369
- isFullscreen: n
1370
- })), void 0, !0)]),
1371
- key: "7"
1372
- } : void 0,
1373
- e.$slots.optionAnnotator ? {
1374
- name: "optionAnnotator",
1375
- fn: E(({ toggleAnnotator: t, isAnnotator: n }) => [w(e.$slots, "optionAnnotator", b(v({
1376
- toggleAnnotator: t,
1377
- isAnnotator: n
1378
- })), void 0, !0)]),
1379
- key: "8"
1380
- } : void 0,
1381
- e.$slots.optionAltCopy ? {
1382
- name: "optionAltCopy",
1383
- fn: E(({ altCopy: t }) => [w(e.$slots, "optionAltCopy", b(v({ altCopy: t })), void 0, !0)]),
1384
- key: "9"
1385
- } : void 0,
1386
- e.$slots["custom-menu-before"] ? {
1387
- name: "custom-menu-before",
1388
- fn: E(() => [w(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1389
- key: "10"
1390
- } : void 0,
1391
- e.$slots["custom-menu-after"] ? {
1392
- name: "custom-menu-after",
1393
- fn: E(() => [w(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1394
- key: "11"
1395
- } : void 0
1396
- ]), 1032, /* @__PURE__ */ "backgroundColor.color.isImaging.isPrinting.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : m("", !0),
1397
- g("div", Qe, [(x(), h("svg", {
1398
- ref_key: "svgRef",
1399
- ref: gn,
1400
- xmlns: T(ce),
1401
- "aria-describedby": `chart-instructions-${k.value}`,
1402
- class: y({
1403
- "vue-data-ui-fullscreen--on": br.value,
1404
- "vue-data-ui-fulscreen--off": !br.value,
1405
- "vue-data-ui-no-transition": !T(ln)
1406
- }),
1407
- viewBox: `0 0 ${V.value.width <= 0 ? 10 : V.value.width} ${V.value.height <= 0 ? 10 : V.value.height}`,
1408
- style: Be(`max-width:100%;overflow:visible;background:transparent;color:${L.value.color}`),
1409
- tabindex: "0",
1410
- onFocus: Hr,
1411
- onBlur: Ur,
1412
- onKeydown: Wr
1413
- }, [
1414
- Le(T(Ft)),
1415
- e.$slots["chart-background"] ? (x(), h("foreignObject", {
1416
- key: 0,
1417
- x: G.value.left,
1418
- y: G.value.top,
1419
- width: Math.max(.1, G.value.width),
1420
- height: Math.max(.1, G.value.height),
1421
- style: { pointerEvents: "none" }
1422
- }, [w(e.$slots, "chart-background", {}, void 0, !0)], 8, et)) : m("", !0),
1423
- Q.value.length > 0 ? (x(), h("g", tt, [
1424
- g("defs", null, [Le(ke, {
1425
- t: "linear",
1426
- id: `bearish_gradient_${k.value}`,
1427
- x2: "0%",
1428
- y2: "100%",
1429
- stops: [
1430
- [
1431
- "0%",
1432
- P.value.colors.bearish,
1433
- 1
1434
- ],
1435
- [
1436
- "50%",
1437
- T(a)(P.value.colors.bearish, .02),
1438
- .87
1439
- ],
1440
- [
1441
- "100%",
1442
- T(a)(P.value.colors.bearish, .05),
1443
- .4
1444
- ]
1445
- ]
1446
- }, null, 8, ["id", "stops"]), Le(ke, {
1447
- t: "linear",
1448
- id: `bullish_gradient_${k.value}`,
1449
- x2: "0%",
1450
- y2: "100%",
1451
- stops: [
1452
- [
1453
- "0%",
1454
- P.value.colors.bullish,
1455
- 1
1456
- ],
1457
- [
1458
- "50%",
1459
- T(a)(P.value.colors.bullish, .02),
1460
- .87
1461
- ],
1462
- [
1463
- "100%",
1464
- T(a)(P.value.colors.bullish, .05),
1465
- .4
1466
- ]
1467
- ]
1468
- }, null, 8, ["id", "stops"])]),
1469
- F.value.show ? (x(), h("g", nt, [
1470
- g("line", {
1471
- x1: W.value ? G.value.right : G.value.left,
1472
- x2: W.value ? G.value.right : G.value.left,
1473
- y1: G.value.top,
1474
- y2: G.value.bottom,
1475
- stroke: F.value.stroke,
1476
- "stroke-width": F.value.strokeWidth,
1477
- "stroke-linecap": "round"
1478
- }, null, 8, rt),
1479
- g("line", {
1480
- x1: G.value.left,
1481
- x2: G.value.right,
1482
- y1: G.value.bottom,
1483
- y2: G.value.bottom,
1484
- stroke: F.value.stroke,
1485
- "stroke-width": F.value.strokeWidth,
1486
- "stroke-linecap": "round"
1487
- }, null, 8, it),
1488
- F.value.horizontalLines.show ? (x(!0), h(d, { key: 0 }, C(qn.value, (e) => (x(), h("line", {
1489
- x1: G.value.left,
1490
- x2: G.value.right,
1491
- y1: e.y,
1492
- y2: e.y,
1493
- stroke: F.value.horizontalLines.stroke,
1494
- "stroke-width": F.value.horizontalLines.strokeWidth,
1495
- "stroke-dasharray": F.value.horizontalLines.strokeDasharray,
1496
- "stroke-linecap": "round"
1497
- }, null, 8, at))), 256)) : m("", !0),
1498
- F.value.verticalLines.show ? (x(!0), h(d, { key: 1 }, C(ir.value, (e, t) => (x(), h("g", null, [e.text ? (x(), h("line", {
1499
- key: 0,
1500
- x1: G.value.left + X.value * t + X.value / 2,
1501
- x2: G.value.left + X.value * t + X.value / 2,
1502
- y1: G.value.top,
1503
- y2: G.value.bottom,
1504
- stroke: F.value.verticalLines.stroke,
1505
- "stroke-width": F.value.verticalLines.strokeWidth,
1506
- "stroke-dasharray": F.value.verticalLines.strokeDasharray,
1507
- "stroke-linecap": "round"
1508
- }, null, 8, ot)) : m("", !0)]))), 256)) : m("", !0),
1509
- F.value.xAxis.ticks.show ? (x(!0), h(d, { key: 2 }, C(ir.value, (e, t) => (x(), h("g", null, [e.text ? (x(), h("line", {
1510
- key: 0,
1511
- x1: G.value.left + X.value * t + X.value / 2,
1512
- x2: G.value.left + X.value * t + X.value / 2,
1513
- y1: G.value.bottom,
1514
- y2: G.value.bottom + 3,
1515
- stroke: F.value.stroke,
1516
- "stroke-width": F.value.strokeWidth,
1517
- "stroke-linecap": "round"
1518
- }, null, 8, st)) : m("", !0)]))), 256)) : m("", !0)
1519
- ])) : m("", !0),
1520
- F.value.yAxis.dataLabels.show ? (x(), h("g", {
1521
- key: 1,
1522
- ref_key: "scaleLabels",
1523
- ref: en
1524
- }, [(x(!0), h(d, null, C(qn.value, (e, n) => (x(), h("g", { key: `sl_${n}` }, [e.value >= Z.value.min && e.value <= Z.value.max ? (x(), h("line", {
1525
- key: 0,
1526
- x1: W.value ? G.value.right : G.value.left,
1527
- x2: W.value ? G.value.right + 5 : G.value.left - 5,
1528
- y1: e.y,
1529
- y2: e.y,
1530
- stroke: F.value.stroke,
1531
- "stroke-width": F.value.strokeWidth,
1532
- "stroke-linecap": "round"
1533
- }, null, 8, ct)) : m("", !0), e.value >= Z.value.min && e.value <= Z.value.max ? (x(), h("text", {
1534
- key: 1,
1535
- class: y({ "vue-data-ui-transition": T(ln) }),
1536
- transform: `translate(${W.value ? G.value.right + 8 + F.value.yAxis.dataLabels.offsetX : G.value.left - 8 + F.value.yAxis.dataLabels.offsetX}, ${e.y + V.value.yAxisFontSize / 3})`,
1537
- "text-anchor": W.value ? "start" : "end",
1538
- "font-size": V.value.yAxisFontSize,
1539
- fill: F.value.yAxis.dataLabels.color,
1540
- "font-weight": F.value.yAxis.dataLabels.bold ? "bold" : "normal"
1541
- }, Ge(T(t)({
1542
- p: F.value.yAxis.dataLabels.prefix,
1543
- v: e.value,
1544
- s: F.value.yAxis.dataLabels.suffix,
1545
- r: F.value.yAxis.dataLabels.roundingValue
1546
- })), 11, lt)) : m("", !0)]))), 128))], 512)) : m("", !0),
1547
- F.value.xAxis.dataLabels.show && !F.value.xAxis.dataLabels.datetimeFormatter.enable ? (x(), h("g", {
1548
- key: 2,
1549
- ref_key: "timeLabelsEls",
1550
- ref: tn
1551
- }, [(x(!0), h(d, null, C(Jn.value, (e, t) => (x(), h("g", null, [g("text", {
1552
- class: "vue-data-ui-time-label",
1553
- transform: `translate(${G.value.left + X.value * t + X.value / 2}, ${G.value.bottom + V.value.xAxisFontSize * 1.5}), rotate(${F.value.xAxis.dataLabels.rotation})`,
1554
- "text-anchor": F.value.xAxis.dataLabels.rotation > 0 ? "start" : F.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1555
- "font-size": V.value.xAxisFontSize,
1556
- fill: F.value.xAxis.dataLabels.color,
1557
- "font-weight": F.value.xAxis.dataLabels.bold ? "bold" : "normal"
1558
- }, Ge(e), 9, ut)]))), 256))], 512)) : m("", !0),
1559
- F.value.xAxis.dataLabels.show && F.value.xAxis.dataLabels.datetimeFormatter.enable ? (x(), h("g", {
1560
- key: 3,
1561
- ref_key: "timeLabelsEls",
1562
- ref: tn
1563
- }, [(x(!0), h(d, null, C(ir.value, (e, t) => (x(), h("g", null, [g("text", {
1564
- class: "vue-data-ui-time-label",
1565
- transform: `translate(${G.value.left + X.value * t + X.value / 2}, ${G.value.bottom + V.value.xAxisFontSize * 1.5}), rotate(${F.value.xAxis.dataLabels.rotation})`,
1566
- "text-anchor": F.value.xAxis.dataLabels.rotation > 0 ? "start" : F.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1567
- "font-size": V.value.xAxisFontSize,
1568
- fill: F.value.xAxis.dataLabels.color,
1569
- stroke: L.value.backgroundColor,
1570
- "stroke-width": "3",
1571
- "stroke-linecap": "round",
1572
- "stroke-linejoin": "round",
1573
- "paint-order": "stroke fill",
1574
- "font-weight": F.value.xAxis.dataLabels.bold ? "bold" : "normal"
1575
- }, Ge(e?.text ?? ""), 9, dt)]))), 256))], 512)) : m("", !0),
1576
- N.value.type === "candlestick" ? (x(), h(d, { key: 4 }, [g("g", null, [(x(!0), h(d, null, C(Q.value, (e, t) => (x(), h("g", null, [
1577
- g("rect", {
1578
- x: e.open.x - I.value.wick.strokeWidth / 2,
1579
- y: e.high.y,
1580
- width: I.value.wick.strokeWidth,
1581
- height: Math.abs(e.high.y - e.low.y),
1582
- fill: I.value.wick.stroke,
1583
- stroke: "none",
1584
- rx: I.value.wick.strokeWidth / 2,
1585
- class: y({ "vue-data-ui-transition": O.value && !T(z) })
1586
- }, null, 10, ft),
1587
- I.value.wick.extremity.shape === "circle" ? (x(), h("g", pt, [g("circle", {
1588
- cx: e.high.x,
1589
- cy: e.high.y,
1590
- r: I.value.wick.extremity.size === "auto" ? X.value / 20 : I.value.wick.extremity.size,
1591
- fill: I.value.wick.extremity.color,
1592
- class: y({ "vue-data-ui-transition": O.value && !T(z) })
1593
- }, null, 10, mt), g("circle", {
1594
- cx: e.low.x,
1595
- cy: e.low.y,
1596
- r: I.value.wick.extremity.size === "auto" ? X.value / 20 : I.value.wick.extremity.size,
1597
- fill: I.value.wick.extremity.color,
1598
- class: y({ "vue-data-ui-transition": O.value && !T(z) })
1599
- }, null, 10, ht)])) : m("", !0),
1600
- I.value.wick.extremity.shape === "line" ? (x(), h("g", gt, [g("rect", {
1601
- x: e.high.x - (I.value.wick.extremity.size === "auto" ? X.value * I.value.candle.widthRatio : I.value.wick.extremity.size) / 2,
1602
- y: e.high.y - I.value.wick.strokeWidth / 2,
1603
- width: Math.abs(e.high.x - (I.value.wick.extremity.size === "auto" ? X.value * L.value.layout.candle.widthRatio : L.value.layout.wick.extremity.size) / 2 - (e.high.x + (L.value.layout.wick.extremity.size === "auto" ? X.value * L.value.layout.candle.widthRatio : L.value.layout.wick.extremity.size) / 2)),
1604
- height: I.value.wick.strokeWidth,
1605
- rx: I.value.wick.strokeWidth / 2,
1606
- fill: I.value.wick.extremity.color,
1607
- stroke: "none",
1608
- class: y({ "vue-data-ui-transition": O.value && !T(z) })
1609
- }, null, 10, _t), g("rect", {
1610
- x: e.low.x - (I.value.wick.extremity.size === "auto" ? X.value * I.value.candle.widthRatio : I.value.wick.extremity.size) / 2,
1611
- y: e.low.y - I.value.wick.strokeWidth / 2,
1612
- width: Math.abs(e.low.x - (I.value.wick.extremity.size === "auto" ? X.value * L.value.layout.candle.widthRatio : L.value.layout.wick.extremity.size) / 2 - (e.low.x + (L.value.layout.wick.extremity.size === "auto" ? X.value * L.value.layout.candle.widthRatio : L.value.layout.wick.extremity.size) / 2)),
1613
- height: I.value.wick.strokeWidth,
1614
- fill: I.value.wick.extremity.color,
1615
- stroke: "none",
1616
- rx: I.value.wick.strokeWidth / 2,
1617
- class: y({ "vue-data-ui-transition": O.value && !T(z) })
1618
- }, null, 10, vt)])) : m("", !0)
1619
- ]))), 256))]), g("g", null, [(x(!0), h(d, null, C(Q.value, (e, t) => (x(), h("rect", {
1620
- x: e.open.x - X.value / 2 + X.value * (1 - P.value.widthRatio) / 2,
1621
- y: e.isBullish ? e.close.y : e.open.y,
1622
- height: Math.abs(e.close.y - e.open.y) <= 0 ? 1e-4 : Math.abs(e.close.y - e.open.y),
1623
- width: X.value * P.value.widthRatio <= 0 ? 1e-4 : X.value * P.value.widthRatio,
1624
- fill: P.value.gradient.underlayer,
1625
- rx: P.value.borderRadius,
1626
- stroke: "none",
1627
- class: y({ "vue-data-ui-transition": O.value && !T(z) })
1628
- }, null, 10, yt))), 256)), (x(!0), h(d, null, C(Q.value, (e, t) => (x(), h("rect", {
1629
- x: e.open.x - X.value / 2 + X.value * (1 - P.value.widthRatio) / 2,
1630
- y: e.isBullish ? e.close.y : e.open.y,
1631
- height: Math.abs(e.close.y - e.open.y) <= 0 ? 1e-4 : Math.abs(e.close.y - e.open.y),
1632
- width: X.value * P.value.widthRatio <= 0 ? 1e-4 : X.value * P.value.widthRatio,
1633
- fill: e.isBullish ? P.value.gradient.show ? `url(#bullish_gradient_${k.value})` : P.value.colors.bullish : P.value.gradient.show ? `url(#bearish_gradient_${k.value})` : P.value.colors.bearish,
1634
- rx: P.value.borderRadius,
1635
- stroke: P.value.stroke,
1636
- "stroke-width": P.value.strokeWidth,
1637
- "stroke-linecap": "round",
1638
- "stroke-linejoin": "round",
1639
- class: y({ "vue-data-ui-transition": O.value && !T(z) })
1640
- }, null, 10, bt))), 256))])], 64)) : m("", !0),
1641
- N.value.type === "ohlc" ? (x(!0), h(d, { key: 5 }, C(Q.value, (e, t) => (x(), h("g", { key: `ohlc_${e.absoluteIndex}` }, [g("path", {
1642
- d: `M ${e.high.x},${e.high.y} ${e.low.x},${e.low.y} M${e.open.x - Math.min(6, X.value / 3)},${e.open.y} ${e.open.x},${e.open.y} M${e.close.x},${e.close.y} ${e.close.x + Math.min(6, X.value / 3)},${e.close.y}`,
1643
- stroke: e.isBullish ? P.value.colors.bullish : P.value.colors.bearish,
1644
- "stroke-width": 1,
1645
- class: y({ "vue-data-ui-transition": T(ln) }),
1646
- "stroke-linecap": "round",
1647
- "stroke-linejoin": "round"
1648
- }, null, 10, xt)]))), 128)) : m("", !0),
1649
- g("g", null, [(x(!0), h(d, null, C(Q.value, (e, t) => (x(), h("rect", {
1650
- x: G.value.left + t * X.value,
1651
- y: G.value.top,
1652
- height: G.value.height <= 0 ? 1e-4 : G.value.height,
1653
- width: X.value <= 0 ? 1e-4 : X.value,
1654
- fill: A.value === t || an.value === t ? T(se)(I.value.selector.color, I.value.selector.opacity) : "transparent",
1655
- onMouseover: () => lr(t, e, "pointer"),
1656
- onMouseleave: () => cr(t, e),
1657
- onClick: () => sr(t, e)
1658
- }, null, 40, St))), 256))])
1659
- ])) : m("", !0),
1660
- Fn.value ? (x(), h("rect", Re({ key: 2 }, Pn.value, {
1661
- "data-start": q.value.start,
1662
- "data-end": q.value.end
1663
- }), null, 16, Ct)) : m("", !0),
1664
- w(e.$slots, "svg", { svg: {
1665
- ...V.value,
1666
- data: Q.value,
1667
- drawingArea: G.value,
1668
- isPrintingImg: T(Tn) || T(En) || T(Nr),
1669
- isPrintingSvg: T(Pr)
1670
- } }, void 0, !0)
1671
- ], 46, $e)), e.$slots.hint ? (x(), h("div", wt, [w(e.$slots, "hint", b(v({
1672
- hint: N.value.a11y.translations.keyboardNavigation,
1673
- isVisible: cn.value
1674
- })), void 0, !0)])) : m("", !0)]),
1675
- e.$slots.watermark ? (x(), h("div", Tt, [w(e.$slots, "watermark", b(v({ isPrinting: T(Tn) || T(En) || T(Nr) || T(Pr) })), void 0, !0)])) : m("", !0),
1676
- L.value.zoom.show && K.value > 6 && Vt.value && mr.value ? (x(), p(Ae, {
1677
- key: 6,
1678
- ref_key: "chartSlicer",
1679
- ref: Jt,
1680
- "data-dom-to-png-ignore-layout": "",
1681
- allMinimaps: Gn.value,
1682
- background: L.value.zoom.color,
1683
- borderColor: L.value.backgroundColor,
1684
- customFormat: L.value.zoom.customFormat,
1685
- cutNullValues: !1,
1686
- enableRangeHandles: L.value.zoom.enableRangeHandles,
1687
- enableSelectionDrag: L.value.zoom.enableSelectionDrag,
1688
- end: q.value.end,
1689
- focusOnDrag: L.value.zoom.focusOnDrag,
1690
- focusRangeRatio: L.value.zoom.focusRangeRatio,
1691
- fontSize: L.value.zoom.fontSize,
1692
- immediate: !L.value.zoom.preview.enable,
1693
- inputColor: L.value.zoom.color,
1694
- isPreview: Fn.value,
1695
- labelLeft: ar.value.start || "",
1696
- labelRight: ar.value.end || "",
1697
- max: K.value,
1698
- min: 0,
1699
- minimap: L.value.zoom.minimap.show ? T(B).map((e) => e[2]) : [],
1700
- minimapCompact: L.value.zoom.minimap.compact,
1701
- minimapFrameColor: L.value.zoom.minimap.frameColor,
1702
- minimapIndicatorColor: L.value.zoom.minimap.indicatorColor,
1703
- minimapMerged: !1,
1704
- minimapSelectedColor: L.value.zoom.minimap.selectedColor,
1705
- minimapSelectedColorOpacity: L.value.zoom.minimap.selectedColorOpacity,
1706
- minimapSelectedIndex: A.value,
1707
- minimapSelectionRadius: 1,
1708
- preciseLabels: nr.value,
1709
- refreshEndPoint: L.value.zoom.endIndex === null ? K.value : L.value.zoom.endIndex + 1,
1710
- refreshStartPoint: L.value.zoom.startIndex === null ? 0 : L.value.zoom.startIndex,
1711
- selectColor: L.value.zoom.highlightColor,
1712
- selectedSeries: T(B),
1713
- smoothMinimap: !1,
1714
- start: q.value.start,
1715
- textColor: L.value.color,
1716
- timeLabels: Yn.value,
1717
- usePreciseLabels: F.value.xAxis.dataLabels.datetimeFormatter.enable && !L.value.zoom.useDefaultFormat,
1718
- useResetSlot: L.value.zoom.useResetSlot,
1719
- valueEnd: q.value.end,
1720
- valueStart: q.value.start,
1721
- verticalHandles: L.value.zoom.minimap.verticalHandles,
1722
- minScale: F.value.yAxis.scale.min,
1723
- maxScale: F.value.yAxis.scale.max,
1724
- maxWidth: L.value.zoom.maxWidth,
1725
- minimapLeftInsetRatio: V.value.width > 0 && L.value.zoom.autoFit ? G.value.left / V.value.width : null,
1726
- minimapRightInsetRatio: V.value.width > 0 && L.value.zoom.autoFit ? (V.value.width - G.value.right) / V.value.width : null,
1727
- additionalMinimapHeight: L.value.zoom.minimap.additionalHeight,
1728
- handleType: L.value.zoom.minimap.handleType,
1729
- handleIconColor: L.value.zoom.minimap.handleIconColor,
1730
- handleBorderWidth: L.value.zoom.minimap.handleBorderWidth,
1731
- handleBorderColor: L.value.zoom.minimap.handleBorderColor,
1732
- handleFill: L.value.zoom.minimap.handleFill,
1733
- handleWidth: L.value.zoom.minimap.handleWidth,
1734
- "onUpdate:end": zr,
1735
- "onUpdate:start": Rr,
1736
- onTrapMouse: Lr,
1737
- onReset: fr,
1738
- onFutureEnd: n[0] ||= (e) => In("end", e),
1739
- onFutureStart: n[1] ||= (e) => In("start", e)
1740
- }, {
1741
- "reset-action": E(({ reset: t }) => [w(e.$slots, "reset-action", b(v({ reset: t })), void 0, !0)]),
1742
- slotMap: E(({ height: e, unitW: t }) => [(x(!0), h(d, null, C(Wn.value({
1743
- minimapH: e,
1744
- unitW: t
1745
- }), (e, n) => (x(), h("g", null, [g("path", {
1746
- d: `M ${e.high.x},${e.high.y} ${e.low.x},${e.low.y}`,
1747
- stroke: e.isBullish ? P.value.colors.bullish : P.value.colors.bearish,
1748
- "stroke-width": 1,
1749
- style: Be({ opacity: n >= J.value.start && n <= J.value.end ? 1 : .6 })
1750
- }, null, 12, Et), g("path", {
1751
- d: `M ${e.open.x},${e.open.y} ${e.close.x},${e.close.y}`,
1752
- stroke: e.isBullish ? P.value.colors.bullish : P.value.colors.bearish,
1753
- "stroke-width": Math.min(6, t / 1.5),
1754
- style: Be({ opacity: n >= J.value.start && n <= J.value.end ? 1 : .6 })
1755
- }, null, 12, Dt)]))), 256))]),
1756
- _: 3
1757
- }, 8, /* @__PURE__ */ "allMinimaps.background.borderColor.customFormat.enableRangeHandles.enableSelectionDrag.end.focusOnDrag.focusRangeRatio.fontSize.immediate.inputColor.isPreview.labelLeft.labelRight.max.minimap.minimapCompact.minimapFrameColor.minimapIndicatorColor.minimapSelectedColor.minimapSelectedColorOpacity.minimapSelectedIndex.preciseLabels.refreshEndPoint.refreshStartPoint.selectColor.selectedSeries.start.textColor.timeLabels.usePreciseLabels.useResetSlot.valueEnd.valueStart.verticalHandles.minScale.maxScale.maxWidth.minimapLeftInsetRatio.minimapRightInsetRatio.additionalMinimapHeight.handleType.handleIconColor.handleBorderWidth.handleBorderColor.handleFill.handleWidth".split("."))) : m("", !0),
1758
- g("div", {
1759
- ref_key: "chartLegend",
1760
- ref: qt
1761
- }, [w(e.$slots, "legend", { legend: Q.value }, void 0, !0)], 512),
1762
- e.$slots.source ? (x(), h("div", {
1763
- key: 7,
1764
- ref_key: "source",
1765
- ref: Yt,
1766
- dir: "auto"
1767
- }, [w(e.$slots, "source", {}, void 0, !0)], 512)) : m("", !0),
1768
- Le(T(At), {
1769
- teleportTo: L.value.tooltip.teleportTo,
1770
- show: U.value.showTooltip && Ut.value,
1771
- backgroundColor: L.value.tooltip.backgroundColor,
1772
- color: L.value.tooltip.color,
1773
- borderRadius: L.value.tooltip.borderRadius,
1774
- borderColor: L.value.tooltip.borderColor,
1775
- borderWidth: L.value.tooltip.borderWidth,
1776
- fontSize: L.value.tooltip.fontSize,
1777
- backgroundOpacity: L.value.tooltip.backgroundOpacity,
1778
- position: L.value.tooltip.position,
1779
- offsetX: L.value.tooltip.offsetX,
1780
- offsetY: L.value.tooltip.offsetY,
1781
- parent: j.value,
1782
- content: Wt.value,
1783
- isFullscreen: br.value,
1784
- isCustom: L.value.tooltip.customFormat && typeof L.value.tooltip.customFormat == "function",
1785
- smooth: L.value.tooltip.smooth,
1786
- backdropFilter: L.value.tooltip.backdropFilter,
1787
- smoothForce: L.value.tooltip.smoothForce,
1788
- smoothSnapThreshold: L.value.tooltip.smoothSnapThreshold,
1789
- isA11yMode: sn.value === "keyboard",
1790
- a11yPosition: on.value
1791
- }, {
1792
- "tooltip-before": E(() => [w(e.$slots, "tooltip-before", b(v({ ...or.value })), void 0, !0)]),
1793
- tooltip: E(() => [w(e.$slots, "tooltip", b(v({ ...or.value })), void 0, !0)]),
1794
- "tooltip-after": E(() => [w(e.$slots, "tooltip-after", b(v({ ...or.value })), void 0, !0)]),
1795
- _: 3
1796
- }, 8, [
1797
- "teleportTo",
1798
- "show",
1799
- "backgroundColor",
1800
- "color",
1801
- "borderRadius",
1802
- "borderColor",
1803
- "borderWidth",
1804
- "fontSize",
1805
- "backgroundOpacity",
1806
- "position",
1807
- "offsetX",
1808
- "offsetY",
1809
- "parent",
1810
- "content",
1811
- "isFullscreen",
1812
- "isCustom",
1813
- "smooth",
1814
- "backdropFilter",
1815
- "smoothForce",
1816
- "smoothSnapThreshold",
1817
- "isA11yMode",
1818
- "a11yPosition"
1819
- ]),
1820
- Vt.value && R.value.buttons.table ? (x(), p(Ue(kr.value.component), Re({ key: 8 }, kr.value.props, {
1821
- ref_key: "tableUnit",
1822
- ref: nn,
1823
- onClose: Ar
1824
- }), Fe({
1825
- content: E(() => [(x(), p(T(Mt), {
1826
- key: `table_${Qt.value}`,
1827
- colNames: yr.value.colNames,
1828
- head: yr.value.head,
1829
- body: yr.value.body,
1830
- config: yr.value.config,
1831
- title: N.value.table.useDialog ? "" : kr.value.title,
1832
- withCloseButton: !N.value.table.useDialog,
1833
- isCursorPointer: un.value,
1834
- onClose: Ar
1835
- }, {
1836
- th: E(({ th: e }) => [Ie(Ge(e), 1)]),
1837
- td: E(({ td: e }) => [g("div", { innerHTML: e }, null, 8, Ot)]),
1838
- _: 1
1839
- }, 8, [
1840
- "colNames",
1841
- "head",
1842
- "body",
1843
- "config",
1844
- "title",
1845
- "withCloseButton",
1846
- "isCursorPointer"
1847
- ]))]),
1848
- _: 2
1849
- }, [N.value.table.useDialog ? {
1850
- name: "title",
1851
- fn: E(() => [Ie(Ge(kr.value.title), 1)]),
1852
- key: "0"
1853
- } : void 0, N.value.table.useDialog ? {
1854
- name: "actions",
1855
- fn: E(() => [g("button", {
1856
- tabindex: "0",
1857
- class: "vue-ui-user-options-button",
1858
- onClick: n[2] ||= (e) => vr(R.value.callbacks.csv),
1859
- style: Be({ cursor: un.value ? "pointer" : "default" })
1860
- }, [Le(T(kt), {
1861
- name: "fileCsv",
1862
- stroke: kr.value.props.color
1863
- }, null, 8, ["stroke"])], 4)]),
1864
- key: "1"
1865
- } : void 0]), 1040)) : m("", !0),
1866
- w(e.$slots, "skeleton", {}, () => [T(z) ? (x(), p(ve, { key: 0 })) : m("", !0)], !0)
1867
- ], 46, Xe));
1868
- }
1869
- }, [["__scopeId", "data-v-a5b975c7"]]);
1870
- //#endregion
1871
- export { Ye as n, kt as t };