vue-data-ui 3.28.2 → 3.28.3

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 (165) hide show
  1. package/README.md +25 -1
  2. package/dist/{PackageVersion-BIhjLNBU.js → PackageVersion-CXT-eAuk.js} +1 -1
  3. package/dist/components/vue-ui-3d-bar.js +1 -1
  4. package/dist/components/vue-ui-age-pyramid.js +1 -1
  5. package/dist/components/vue-ui-annotator.js +1 -1
  6. package/dist/components/vue-ui-bullet.js +1 -1
  7. package/dist/components/vue-ui-bump.js +1 -1
  8. package/dist/components/vue-ui-candlestick.js +1 -1
  9. package/dist/components/vue-ui-carousel-table.js +1 -1
  10. package/dist/components/vue-ui-chestnut.js +1 -1
  11. package/dist/components/vue-ui-chord.js +1 -1
  12. package/dist/components/vue-ui-circle-pack.js +1 -1
  13. package/dist/components/vue-ui-cursor.js +1 -1
  14. package/dist/components/vue-ui-dag.js +1 -1
  15. package/dist/components/vue-ui-dashboard.js +1 -1
  16. package/dist/components/vue-ui-digits.js +1 -1
  17. package/dist/components/vue-ui-donut-evolution.js +1 -1
  18. package/dist/components/vue-ui-donut.js +1 -1
  19. package/dist/components/vue-ui-dumbbell.js +1 -1
  20. package/dist/components/vue-ui-flow.js +1 -1
  21. package/dist/components/vue-ui-funnel.js +1 -1
  22. package/dist/components/vue-ui-galaxy.js +1 -1
  23. package/dist/components/vue-ui-gauge.js +1 -1
  24. package/dist/components/vue-ui-geo.js +1 -1
  25. package/dist/components/vue-ui-gizmo.js +1 -1
  26. package/dist/components/vue-ui-graph.js +1 -1
  27. package/dist/components/vue-ui-heatmap.js +1 -1
  28. package/dist/components/vue-ui-hill.js +1 -1
  29. package/dist/components/vue-ui-history-plot.js +1 -1
  30. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  31. package/dist/components/vue-ui-kpi.js +1 -1
  32. package/dist/components/vue-ui-mini-loader.js +1 -1
  33. package/dist/components/vue-ui-molecule.js +1 -1
  34. package/dist/components/vue-ui-mood-radar.js +1 -1
  35. package/dist/components/vue-ui-nested-donuts.js +1 -1
  36. package/dist/components/vue-ui-onion.js +1 -1
  37. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  38. package/dist/components/vue-ui-quadrant.js +1 -1
  39. package/dist/components/vue-ui-quick-chart.js +1 -1
  40. package/dist/components/vue-ui-radar.js +1 -1
  41. package/dist/components/vue-ui-rating.js +1 -1
  42. package/dist/components/vue-ui-relation-circle.js +1 -1
  43. package/dist/components/vue-ui-ridgeline.js +1 -1
  44. package/dist/components/vue-ui-rings.js +1 -1
  45. package/dist/components/vue-ui-scatter.js +1 -1
  46. package/dist/components/vue-ui-skeleton.js +1 -1
  47. package/dist/components/vue-ui-smiley.js +1 -1
  48. package/dist/components/vue-ui-spark-trend.js +1 -1
  49. package/dist/components/vue-ui-sparkbar.js +1 -1
  50. package/dist/components/vue-ui-sparkgauge.js +1 -1
  51. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  52. package/dist/components/vue-ui-sparkline.js +1 -1
  53. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  54. package/dist/components/vue-ui-stackbar.js +1 -1
  55. package/dist/components/vue-ui-stackline.js +1 -1
  56. package/dist/components/vue-ui-strip-plot.js +1 -1
  57. package/dist/components/vue-ui-table-heatmap.js +1 -1
  58. package/dist/components/vue-ui-table-sparkline.js +1 -1
  59. package/dist/components/vue-ui-table.js +1 -1
  60. package/dist/components/vue-ui-thermometer.js +1 -1
  61. package/dist/components/vue-ui-timer.js +1 -1
  62. package/dist/components/vue-ui-tiremarks.js +1 -1
  63. package/dist/components/vue-ui-treemap.js +1 -1
  64. package/dist/components/vue-ui-vertical-bar.js +1 -1
  65. package/dist/components/vue-ui-waffle.js +1 -1
  66. package/dist/components/vue-ui-wheel.js +1 -1
  67. package/dist/components/vue-ui-word-cloud.js +1 -1
  68. package/dist/components/vue-ui-world.js +1 -1
  69. package/dist/components/vue-ui-xy-canvas.js +1 -1
  70. package/dist/components/vue-ui-xy.js +1 -1
  71. package/dist/geoProjections-CX3Pvo1N.js +1 -0
  72. package/dist/llms.txt +9 -34
  73. package/dist/package-CgIKu3rP.js +1 -0
  74. package/dist/pdf-CVdqBWVS.js +1 -0
  75. package/dist/{render-common-B-s2XJ_I.js → render-common-C70bnUVe.js} +1 -1
  76. package/dist/ssr/vue-ui-donut.js +1 -1
  77. package/dist/ssr/vue-ui-xy.js +1 -1
  78. package/dist/ssr.js +1 -1
  79. package/dist/style.css +1 -1
  80. package/dist/{useHints-BH9r_0Vd.js → useHints-C-TwxM0Y.js} +1 -1
  81. package/dist/{useObjectBindings-DiMX4HGv.js → useObjectBindings-C15PEyQD.js} +1 -1
  82. package/dist/{usePrinter-sVoTzet1.js → usePrinter-DVf3YcG5.js} +1 -1
  83. package/dist/useSvgLabelLayout-42Kats14.js +1 -0
  84. package/dist/utils.js +1 -1
  85. package/dist/vue-data-ui-CrOhFey9.js +1 -0
  86. package/dist/vue-data-ui.js +1 -1
  87. package/dist/{vue-ui-3d-bar-CkHFiFp4.js → vue-ui-3d-bar-ljsy2rX6.js} +2 -2
  88. package/dist/{vue-ui-age-pyramid-vpIjdLg5.js → vue-ui-age-pyramid-a6CK7z3a.js} +1 -1
  89. package/dist/{vue-ui-annotator-CdCDYzdK.js → vue-ui-annotator-DCJdieNC.js} +3 -3
  90. package/dist/{vue-ui-bullet-rgxGRR1p.js → vue-ui-bullet-DX4A2Qwo.js} +2 -2
  91. package/dist/{vue-ui-bump-CeDsunDi.js → vue-ui-bump-IvRdB6MD.js} +2 -2
  92. package/dist/{vue-ui-candlestick-KJHOS5F7.js → vue-ui-candlestick-BgyUo13S.js} +2 -2
  93. package/dist/{vue-ui-carousel-table-CeI5SIxH.js → vue-ui-carousel-table-D01DGfA0.js} +1 -1
  94. package/dist/vue-ui-chestnut-DYrMSzmQ.js +1 -0
  95. package/dist/{vue-ui-chord-8rk7304-.js → vue-ui-chord-CwzQ7QbP.js} +2 -2
  96. package/dist/{vue-ui-circle-pack-BsH09EPG.js → vue-ui-circle-pack-DQHNM9sC.js} +2 -2
  97. package/dist/{vue-ui-cursor-Cpov2m58.js → vue-ui-cursor-CTFfbDX8.js} +1 -1
  98. package/dist/{vue-ui-dag-BHFL2cUA.js → vue-ui-dag-DF29_9Gg.js} +2 -2
  99. package/dist/{vue-ui-dashboard-BxXdhdNJ.js → vue-ui-dashboard-D98rMHjI.js} +1 -1
  100. package/dist/{vue-ui-digits-xHOLjA2_.js → vue-ui-digits-AoPCgSfP.js} +1 -1
  101. package/dist/{vue-ui-donut-CR3klUbX.js → vue-ui-donut-BQGnUso2.js} +1 -1
  102. package/dist/{vue-ui-donut-Vbp5Xs2-.js → vue-ui-donut-BYUkblpv.js} +2 -2
  103. package/dist/{vue-ui-donut-evolution-BTmztL3Y.js → vue-ui-donut-evolution-wxHDTKlg.js} +2 -2
  104. package/dist/{vue-ui-dumbbell-CDcgKS2A.js → vue-ui-dumbbell-DR7rjMt0.js} +2 -2
  105. package/dist/{vue-ui-flow-kVocPE27.js → vue-ui-flow-DtQlRSK_.js} +2 -2
  106. package/dist/vue-ui-funnel-BP3chlZy.js +1 -0
  107. package/dist/{vue-ui-galaxy-hP-9mVlB.js → vue-ui-galaxy-B7ogrJ6f.js} +1 -1
  108. package/dist/{vue-ui-gauge-BRabsLkh.js → vue-ui-gauge-CrmzNkjT.js} +1 -1
  109. package/dist/{vue-ui-geo-Dacnp6iw.js → vue-ui-geo-BbTvWbfX.js} +1 -1
  110. package/dist/{vue-ui-gizmo-Dp3hpHIX.js → vue-ui-gizmo-C3wgMKwb.js} +1 -1
  111. package/dist/{vue-ui-graph-DHU9hUry.js → vue-ui-graph-CzUVEiO-.js} +2 -2
  112. package/dist/{vue-ui-heatmap-kPnmZgWi.js → vue-ui-heatmap-BxR2ccwd.js} +1 -1
  113. package/dist/{vue-ui-hill-Ddbup7-b.js → vue-ui-hill-BDOd7LrC.js} +1 -1
  114. package/dist/{vue-ui-history-plot-CwO2o-2s.js → vue-ui-history-plot-0-vs_CVn.js} +2 -2
  115. package/dist/{vue-ui-horizontal-bar-CvX77vE4.js → vue-ui-horizontal-bar-C5pNTRKB.js} +2 -2
  116. package/dist/{vue-ui-kpi-CCOOwX_Q.js → vue-ui-kpi-Dfhsk0U1.js} +1 -1
  117. package/dist/{vue-ui-mini-loader-7gqQI5jy.js → vue-ui-mini-loader-Bbupx66Y.js} +1 -1
  118. package/dist/vue-ui-molecule-DUX1NUIY.js +1 -0
  119. package/dist/{vue-ui-mood-radar-GJ-lhgI0.js → vue-ui-mood-radar-B1N5AwX_.js} +1 -1
  120. package/dist/{vue-ui-nested-donuts-CrlPwpg8.js → vue-ui-nested-donuts-CfHH-cU6.js} +2 -2
  121. package/dist/{vue-ui-onion-CKmyy-Y_.js → vue-ui-onion-DRN-jIvq.js} +2 -2
  122. package/dist/{vue-ui-parallel-coordinate-plot-C0UqWt0M.js → vue-ui-parallel-coordinate-plot-UUPjQABF.js} +2 -2
  123. package/dist/{vue-ui-quadrant-CTGFBNo9.js → vue-ui-quadrant-zmtzn0lM.js} +2 -2
  124. package/dist/{vue-ui-quick-chart-ZBOPZhxA.js → vue-ui-quick-chart-DgU_IhKY.js} +2 -2
  125. package/dist/{vue-ui-radar-B1z3Ux3E.js → vue-ui-radar-BGSoxRaK.js} +1 -1
  126. package/dist/{vue-ui-rating-CV2b0tjA.js → vue-ui-rating-ChWXrWNJ.js} +1 -1
  127. package/dist/{vue-ui-relation-circle-DqN5N08e.js → vue-ui-relation-circle-XUw5UMrt.js} +1 -1
  128. package/dist/{vue-ui-ridgeline-DcSB5Qef.js → vue-ui-ridgeline-B5RJcFyA.js} +2 -2
  129. package/dist/{vue-ui-rings-CJqAnf-l.js → vue-ui-rings-BJaCLH2Q.js} +1 -1
  130. package/dist/{vue-ui-scatter-THQAeoWs.js → vue-ui-scatter-BA0hk_Tf.js} +2 -2
  131. package/dist/{vue-ui-skeleton-DqmhigQ0.js → vue-ui-skeleton-DpzaXPO3.js} +1 -1
  132. package/dist/{vue-ui-smiley-VTdQetY0.js → vue-ui-smiley--VTlUAdp.js} +1 -1
  133. package/dist/{vue-ui-spark-trend-B2Nf1raK.js → vue-ui-spark-trend-DJ63XtgQ.js} +1 -1
  134. package/dist/{vue-ui-sparkbar-CamZ_49V.js → vue-ui-sparkbar-C5wP9R67.js} +1 -1
  135. package/dist/{vue-ui-sparkgauge-Ffrp_7VV.js → vue-ui-sparkgauge-DQcAOGuG.js} +1 -1
  136. package/dist/{vue-ui-sparkhistogram-CLfzi3PO.js → vue-ui-sparkhistogram-BBiCxX6W.js} +1 -1
  137. package/dist/{vue-ui-sparkline-Y-sljnbS.js → vue-ui-sparkline-B_GkB9V_.js} +1 -1
  138. package/dist/{vue-ui-sparkstackbar-CYZ-ADO1.js → vue-ui-sparkstackbar-DSRXhqhJ.js} +1 -1
  139. package/dist/{vue-ui-stackbar-CQLYm10x.js → vue-ui-stackbar-QjOQHbld.js} +2 -2
  140. package/dist/{vue-ui-stackline-VpvF7MRx.js → vue-ui-stackline-CoII13bc.js} +2 -2
  141. package/dist/{vue-ui-strip-plot-B9Ogpw7K.js → vue-ui-strip-plot-d3UoFFrf.js} +2 -2
  142. package/dist/{vue-ui-table-Bi9C3LzP.js → vue-ui-table-CHFjZzW7.js} +1 -1
  143. package/dist/{vue-ui-table-heatmap-BtziURiu.js → vue-ui-table-heatmap-DzvPQnY9.js} +1 -1
  144. package/dist/{vue-ui-table-sparkline-DEVAL0cR.js → vue-ui-table-sparkline-BkZ7sn4X.js} +1 -1
  145. package/dist/{vue-ui-thermometer-ClN4EO0I.js → vue-ui-thermometer-B--g_Lkt.js} +1 -1
  146. package/dist/{vue-ui-timer-nqZxt1vU.js → vue-ui-timer-DmwEWrDh.js} +2 -2
  147. package/dist/{vue-ui-tiremarks-BeJBsgXo.js → vue-ui-tiremarks-160Gx7-3.js} +1 -1
  148. package/dist/{vue-ui-treemap-FA-yXwmv.js → vue-ui-treemap-B-Yjtob0.js} +1 -1
  149. package/dist/{vue-ui-waffle-CO07S6HV.js → vue-ui-waffle-BhzLg5ip.js} +1 -1
  150. package/dist/{vue-ui-wheel-BeaSWB4x.js → vue-ui-wheel-DHb4G42X.js} +1 -1
  151. package/dist/{vue-ui-word-cloud-C1OWGFng.js → vue-ui-word-cloud-BcpreM7A.js} +2 -2
  152. package/dist/{vue-ui-world-CUS_mKgl.js → vue-ui-world-BD9acchj.js} +2 -2
  153. package/dist/vue-ui-xy-C-2Phexw.js +24 -0
  154. package/dist/{vue-ui-xy-BigPHE0Q.js → vue-ui-xy-CB3lQs2m.js} +1 -1
  155. package/dist/{vue-ui-xy-canvas-CeC3gcrW.js → vue-ui-xy-canvas-Do4P4ajB.js} +2 -2
  156. package/package.json +141 -131
  157. package/dist/geoProjections-Bvj-eMvq.js +0 -1
  158. package/dist/package-DwcKiXuI.js +0 -1
  159. package/dist/pdf-DAicVFxx.js +0 -1
  160. package/dist/useSvgLabelLayout-D1I8sQUi.js +0 -1
  161. package/dist/vue-data-ui-BvHCscNE.js +0 -1
  162. package/dist/vue-ui-chestnut-CiY-2e77.js +0 -1
  163. package/dist/vue-ui-funnel-CZAdPYqK.js +0 -1
  164. package/dist/vue-ui-molecule-BPGs9Dom.js +0 -1
  165. package/dist/vue-ui-xy-6B_K-quN.js +0 -24
@@ -1,4 +1,4 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Dt as i,Ft as a,Ht as o,Jt as s,Kt as ee,Mt as c,S as l,X as te,Zt as ne,_ as re,_t as ie,at as ae,i as oe,in as se,nn as ce,nt as le,o as ue,pt as de,w as fe,wt as pe,zt as me}from"./lib-rPeBMZrn.js";import{n as he,t as ge}from"./BaseScanner-8NdoBs7B.js";import{n as _e,t as ve}from"./useHints-BH9r_0Vd.js";import{t as ye}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as be}from"./useNestedProp-DnGoh-XS.js";import{t as xe}from"./useThemeCheck-BKNRbGeC.js";import{t as Se}from"./img-D4RQwASc.js";import{t as Ce}from"./BaseIcon-Cm-IJ179.js";import{n as we}from"./Title-BliHuXfT.js";import{n as Te,t as Ee}from"./tableIntegration-CNoJ1CIY.js";import{n as De,t as Oe}from"./userOptionsSlots-DYuo-E5m.js";import{n as ke,r as Ae,t as je}from"./useTimeLabels-Das5O74F.js";import{t as Me}from"./usePrinter-sVoTzet1.js";import{a as Ne,c as Pe,i as u,n as Fe,o as Ie,r as Le,s as Re,t as ze}from"./canvas-lib-22VpOI4_.js";import{t as Be}from"./useResponsive-CENUxfEL.js";import{t as Ve}from"./SlicerPreview-CFFUOlQr.js";import{t as He}from"./vue-ui-accordion-S3nRtTU-.js";import{t as Ue}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as We}from"./useUserOptionState-CXlFnwPv.js";import{t as Ge}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ke}from"./Legend-DM0ClX3D.js";import{t as qe}from"./vue_ui_xy_canvas-CT-FN9rU.js";import{Teleport as Je,computed as d,createBlock as Ye,createCommentVNode as f,createElementBlock as Xe,createElementVNode as p,createSlots as Ze,createTextVNode as Qe,createVNode as $e,defineAsyncComponent as et,guardReactiveProps as m,mergeProps as tt,nextTick as nt,normalizeClass as rt,normalizeProps as h,normalizeStyle as it,onBeforeUnmount as at,onMounted as ot,openBlock as g,ref as _,renderList as st,renderSlot as v,resolveDynamicComponent as ct,shallowRef as lt,toDisplayString as ut,toRefs as dt,unref as y,useSlots as ft,watch as b,watchEffect as pt,withCtx as x}from"vue";var mt=/* @__PURE__ */ e({default:()=>Ot}),ht=[`id`],gt=[`id`],_t={class:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`},vt=[`id`],yt=[`aria-label`,`aria-describedby`],bt=[`viewBox`],xt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],St={key:1,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Ct=[`id`],wt=[`onClick`],Tt={key:4,class:`vue-data-ui-watermark`},Et={key:0},Dt={key:1},Ot=/*#__PURE__*/ ye({__name:`vue-ui-xy-canvas`,props:{dataset:{type:Array,default(){return[]}},config:{type:Object,default(){return{}}},selectedXIndex:{type:Number,default:void 0},zoomState:{type:Object,default:null}},emits:[`selectLegend`,`selectX`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:ye,emit:mt}){let Ot=et(()=>import(`./Tooltip-C1q0Qoh7.js`)),kt=et(()=>import(`./DataTable-0Vv-aGHD.js`)),At=et(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),jt=et(()=>import(`./NonSvgPenAndPaper-Do6RcwEr.js`)),Mt=et(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_xy_canvas:Nt}=t(),{isThemeValid:Pt,warnInvalidTheme:Ft}=xe(),S=e,It=_(te()),Lt=_(null),Rt=_(null),C=_(null),w=_(1),zt=_(1),Bt=_(!1),T=_(null),Vt=_(``),Ht=_(null),E=_([]),Ut=_(1),D=_(!0),O=_(!0),Wt=_(null),Gt=_(0),Kt=_(!1),qt=_(null),Jt=_(null),Yt=_(null),Xt=_(null),Zt=_(0),Qt=_(0),$t=_(0),k=_(null),en=_(!1),tn=_(null),nn=_(null),rn=_(!1),an=_(!1),on=_(!1),A=_(null),sn=_(!1),cn=_(!1),ln=_(!1),j=_(null),un=_({x:0,y:0}),M=d(()=>Array.isArray(yn.value)&&yn.value.length>0),N=mt,dn=ft(),P=_(Tn()),F=d(()=>P.value.userOptions),I=d(()=>P.value.style.chart.tooltip),L=d(()=>P.value.style.chart.grid.y.verticalLines),fn=d(()=>P.value.style.chart.grid.x.horizontalLines),R=d(()=>P.value.style.chart.grid.y.axisLabels),z=d(()=>P.value.style.chart.grid.x.timeLabels),B=d(()=>P.value.style.chart.grid),V=d(()=>P.value.style.chart.dataLabels),H=d(()=>P.value.style.chart);_e({config:()=>P.value,dataset:()=>S.dataset,component:`VueUiXyCanvas`,rules:[ve.emptyArray,{test:e=>e.every(e=>e.series.length<300),message:[`👀 Series have < 300 datapoints. Consider:`,``,`▶️ Using VueUiXy instead, if you need more options, or more customization possibilities.`]},{test:e=>e.some(e=>e.series.length>1e4),message:[`👀 The dataset has > 10_000 datapoints. Above this threshold, the dataset is computed through an LTTB algorithm, to preserve the shape of the data without increasing the number of datapoints.`,``,`▶️ If you need this level of detail, you can change config.downsample.threshold and set a higher value. Note that performance can be impacted. JS runtime might crash with > 100_000 datapoints.`]}]});let pn=d(()=>{let e=H.value.title.text||`XY chart`,t=X.value.end-X.value.start;return`${e}. ${Y.value.filter(e=>!E.value.includes(e.absoluteIndex)).length} series. ${t} visible data points.`}),mn=d(()=>{if(j.value===null)return``;let e=j.value+X.value.start;return`${z.value.values.slice(X.value.start,X.value.end)[j.value]?I.value.useDefaultTimeFormat?$.value.slice(X.value.start,X.value.end)[j.value]?.text:Nr.value[j.value]?.text:$.value[e]?.text??`Point ${e+1}`}. ${Y.value.filter(e=>!E.value.includes(e.absoluteIndex)).map(e=>{let t=e.series[j.value],n=t?.value??t??null;return`${e.name}: ${n}`}).join(`. `)}.`}),hn=d(()=>F.value.useCursorPointer),gn=d(()=>P.value.debug);ot(()=>{dn[`chart-background`]&&gn.value&&console.warn(`VueUiXyCanvas does not support the #chart-background slot.`)});let _n=d(()=>se({defaultConfig:{userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,grid:{x:{axisColor:`#6A6A6A`,timeLabels:{show:!1},axisName:``,horizontalLines:{color:`#6A6A6A`}},y:{axisColor:`#6A6A6A`,axisLabels:{show:!1},axisName:``,verticalLines:{color:`#6A6A6A`}},zeroLine:{color:`#6A6A6A`}},legend:{backgroundColor:`#99999930`},paddingProportions:{left:.05},scale:{max:null,min:null},zoom:{endIndex:null,startIndex:null}}}},userConfig:P.value.skeletonConfig??{}})),{loading:vn,FINAL_DATASET:yn}=he({...dt(S),FINAL_CONFIG:P,prepareConfig:Tn,skeletonDataset:S.config?.skeletonDataset??[{name:``,series:[0,1,2,3,5,8,13,21,34,55,89,134],type:`line`,smooth:!0,color:`#BABABA`},{name:``,series:[0,.5,1,1.5,2.5,4,6.5,10.5,17,27.5,44.5,67],type:`bar`,color:`#AAAAAA`}],skeletonConfig:se({defaultConfig:P.value,userConfig:_n.value})}),{userOptionsVisible:bn,setUserOptionsVisibility:xn,keepUserOptionState:Sn}=We({config:P.value}),{svgRef:U}=Ge({config:H.value.title});function Cn(){xn(!0)}function wn(){xn(!1),N(`selectX`,{dataset:null,index:null,indexLabel:null}),T.value=null}function Tn(){let e=be({userConfig:S.config,defaultConfig:Nt}),t={},n=e.theme;if(n){if(!Pt.value(e))Ft(e),t=e;else{let r=be({userConfig:qe[n]||S.config,defaultConfig:e});t={...be({userConfig:S.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:ce[n]||o}}}else t=e;return S.config&&pe(S.config,`style.chart.grid.y.timeLabels`)&&(console.warn(`VueUiXyCanvas: you are using the deprecated config.style.chart.grid.y.timeLabels. It is recommended to move this configuration to config.style.chart.grid.x.timeLabels.`),t.style.chart.grid.x.timeLabels=be({defaultConfig:t.style.chart.grid.x.timeLabels,userConfig:S.config.style.chart.grid.y.timeLabels})),t}let En=ne(S.config);b(()=>S.config,(e,t)=>{let n=ne(e),r=n!==En;En=n;let i=Tn();r?(vn.value||(P.value=i),bn.value=!F.value.showOnChartHover,Di(),Zt.value+=1,Qt.value+=1,$t.value+=1,W.value.showTable=P.value.table.show,W.value.showDataLabels=V.value.show,W.value.stacked=H.value.stacked,W.value.showTooltip=I.value.show):(P.value.style.chart.tooltip=i.style.chart.tooltip,W.value.showTooltip=P.value.style.chart.tooltip.show)},{deep:!0}),b(()=>S.dataset,async e=>{Array.isArray(e)&&e.length!==0&&(await nt(),U.value&&!C.value&&(C.value=U.value.getContext(`2d`,{willReadFrequently:!0})),D.value=!0,O.value=!0,await fr(),Sr(),Zt.value+=1,Qt.value+=1,$t.value+=1)},{deep:!0});let Dn=_(H.value.aspectRatio),{isPrinting:On,isImaging:kn,generatePdf:An,generateImage:jn}=Me({elementId:`xy_canvas_${It.value}`,fileName:H.value.title.text||`vue-ui-xy-canvas`,options:F.value.print}),W=_({showTable:P.value.table.show,showDataLabels:V.value.show,stacked:H.value.stacked,showTooltip:I.value.show});function Mn(e){Kt.value=e,Gt.value+=1}let Nn=d(()=>fe(P.value.customPalette)),Pn=d(()=>E.value.length===J.value.length),G=d(()=>J.value?Math.max(...J.value.filter((e,t)=>Pn.value?!0:!E.value.includes(e.absoluteIndex)).map(e=>e.series.length)):0);function Fn(e){A.value=e,Wr()}let In=_(0),Ln=_(0);function Rn(){if(!C.value||!z.value.show)return 0;let e=$.value||[],t=X.value.start??0,n=X.value.end??0;if(!Math.max(0,n-t))return 0;let r=Math.round(w.value/40*z.value.fontSizeRatio),i=`${z.value.bold?`bold `:``}${r}px ${P.value.style.fontFamily}`;C.value.save(),C.value.font=i;let a=0;for(let r=t;r<n;r+=1){let t=e[r]?.text??`${r+1}`,n=C.value.measureText(String(t));n.width>a&&(a=n.width)}C.value.restore();let o=(z.value.rotation||0)*Math.PI/180,s=r,ee=Math.abs(Math.sin(o))*a+Math.abs(Math.cos(o))*s,c=z.value.offsetY||1,l=w.value/c;return Math.max(0,l+ee+4)}function zn(){In.value=Rn()}function Bn(){Ln.value&&cancelAnimationFrame(Ln.value),Ln.value=requestAnimationFrame(()=>{requestAnimationFrame(()=>{zn()})})}at(()=>{Ln.value&&cancelAnimationFrame(Ln.value)});let K=d(()=>{let e=w.value-w.value*(H.value.paddingProportions.left+H.value.paddingProportions.right),t=zt.value*H.value.paddingProportions.top,n=zt.value*H.value.paddingProportions.bottom,r=In.value,i=zt.value-n-r,a=zt.value-(t+n)-r;return{canvasWidth:w.value,canvasHeight:zt.value,left:w.value*H.value.paddingProportions.left,top:t,right:w.value-w.value*H.value.paddingProportions.right,bottom:i,width:e,height:a,slot:e/(X.value.end-X.value.start)}});function Vn(e,t){return e/t}function Hn({hasAutoScale:e,series:t,min:n,max:r,scale:i,yOffset:a,individualHeight:o,stackIndex:s=null}){return t.map((t,n)=>{let r=i.min<0?Math.abs(i.min):0,ee=Vn(t+r,r+i.max),c,l;e&&(c=i.min,l=Vn(t-c,i.max-c));let te=0;return te=s===null?K.value.bottom-K.value.height*(e?l:ee):K.value.bottom-a-o*(e?l:ee),{x:K.value.left+K.value.slot*n+K.value.slot/2,y:te,value:t}})}let q=d(()=>{let e=H.value.scale.min===null?Math.min(...J.value.filter((e,t)=>!E.value.includes(e.absoluteIndex)).flatMap(e=>e.series.slice(X.value.start,X.value.end))):H.value.scale.min,t=H.value.scale.max===null?Math.max(...J.value.filter((e,t)=>!E.value.includes(e.absoluteIndex)).flatMap(e=>e.series.slice(X.value.start,X.value.end))):H.value.scale.max,n=re(e<0?e:0,t===e?e+1<0?0:e+1:t<0?0:t,H.value.scale.ticks),r=n.min<0?Math.abs(n.min):0,i=K.value.bottom-K.value.height*(r/(n.max+r));return{absoluteMin:r,max:t,min:e,scale:n,yLabels:n.ticks.map(e=>({y:K.value.bottom-K.value.height*((e+r)/(n.max+r)),x:K.value.left-8,value:e})),zero:i}}),Un=d(()=>Y.value.map(e=>`
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Dt as i,Ft as a,Ht as o,Jt as s,Kt as ee,Mt as c,S as l,X as te,Zt as ne,_ as re,_t as ie,at as ae,i as oe,in as se,nn as ce,nt as le,o as ue,pt as de,w as fe,wt as pe,zt as me}from"./lib-rPeBMZrn.js";import{n as he,t as ge}from"./BaseScanner-8NdoBs7B.js";import{n as _e,t as ve}from"./useHints-C-TwxM0Y.js";import{t as ye}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as be}from"./useNestedProp-DnGoh-XS.js";import{t as xe}from"./useThemeCheck-BKNRbGeC.js";import{t as Se}from"./img-D4RQwASc.js";import{t as Ce}from"./BaseIcon-Cm-IJ179.js";import{n as we}from"./Title-BliHuXfT.js";import{n as Te,t as Ee}from"./tableIntegration-CNoJ1CIY.js";import{n as De,t as Oe}from"./userOptionsSlots-DYuo-E5m.js";import{n as ke,r as Ae,t as je}from"./useTimeLabels-Das5O74F.js";import{t as Me}from"./usePrinter-DVf3YcG5.js";import{a as Ne,c as Pe,i as u,n as Fe,o as Ie,r as Le,s as Re,t as ze}from"./canvas-lib-22VpOI4_.js";import{t as Be}from"./useResponsive-CENUxfEL.js";import{t as Ve}from"./SlicerPreview-CFFUOlQr.js";import{t as He}from"./vue-ui-accordion-S3nRtTU-.js";import{t as Ue}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as We}from"./useUserOptionState-CXlFnwPv.js";import{t as Ge}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ke}from"./Legend-DM0ClX3D.js";import{t as qe}from"./vue_ui_xy_canvas-CT-FN9rU.js";import{Teleport as Je,computed as d,createBlock as Ye,createCommentVNode as f,createElementBlock as Xe,createElementVNode as p,createSlots as Ze,createTextVNode as Qe,createVNode as $e,defineAsyncComponent as et,guardReactiveProps as m,mergeProps as tt,nextTick as nt,normalizeClass as rt,normalizeProps as h,normalizeStyle as it,onBeforeUnmount as at,onMounted as ot,openBlock as g,ref as _,renderList as st,renderSlot as v,resolveDynamicComponent as ct,shallowRef as lt,toDisplayString as ut,toRefs as dt,unref as y,useSlots as ft,watch as b,watchEffect as pt,withCtx as x}from"vue";var mt=/* @__PURE__ */ e({default:()=>Ot}),ht=[`id`],gt=[`id`],_t={class:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`},vt=[`id`],yt=[`aria-label`,`aria-describedby`],bt=[`viewBox`],xt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],St={key:1,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Ct=[`id`],wt=[`onClick`],Tt={key:4,class:`vue-data-ui-watermark`},Et={key:0},Dt={key:1},Ot=/*#__PURE__*/ ye({__name:`vue-ui-xy-canvas`,props:{dataset:{type:Array,default(){return[]}},config:{type:Object,default(){return{}}},selectedXIndex:{type:Number,default:void 0},zoomState:{type:Object,default:null}},emits:[`selectLegend`,`selectX`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:ye,emit:mt}){let Ot=et(()=>import(`./Tooltip-C1q0Qoh7.js`)),kt=et(()=>import(`./DataTable-0Vv-aGHD.js`)),At=et(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),jt=et(()=>import(`./NonSvgPenAndPaper-Do6RcwEr.js`)),Mt=et(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_xy_canvas:Nt}=t(),{isThemeValid:Pt,warnInvalidTheme:Ft}=xe(),S=e,It=_(te()),Lt=_(null),Rt=_(null),C=_(null),w=_(1),zt=_(1),Bt=_(!1),T=_(null),Vt=_(``),Ht=_(null),E=_([]),Ut=_(1),D=_(!0),O=_(!0),Wt=_(null),Gt=_(0),Kt=_(!1),qt=_(null),Jt=_(null),Yt=_(null),Xt=_(null),Zt=_(0),Qt=_(0),$t=_(0),k=_(null),en=_(!1),tn=_(null),nn=_(null),rn=_(!1),an=_(!1),on=_(!1),A=_(null),sn=_(!1),cn=_(!1),ln=_(!1),j=_(null),un=_({x:0,y:0}),M=d(()=>Array.isArray(yn.value)&&yn.value.length>0),N=mt,dn=ft(),P=_(Tn()),F=d(()=>P.value.userOptions),I=d(()=>P.value.style.chart.tooltip),L=d(()=>P.value.style.chart.grid.y.verticalLines),fn=d(()=>P.value.style.chart.grid.x.horizontalLines),R=d(()=>P.value.style.chart.grid.y.axisLabels),z=d(()=>P.value.style.chart.grid.x.timeLabels),B=d(()=>P.value.style.chart.grid),V=d(()=>P.value.style.chart.dataLabels),H=d(()=>P.value.style.chart);_e({config:()=>P.value,dataset:()=>S.dataset,component:`VueUiXyCanvas`,rules:[ve.emptyArray,{test:e=>e.every(e=>e.series.length<300),message:[`👀 Series have < 300 datapoints. Consider:`,``,`▶️ Using VueUiXy instead, if you need more options, or more customization possibilities.`]},{test:e=>e.some(e=>e.series.length>1e4),message:[`👀 The dataset has > 10_000 datapoints. Above this threshold, the dataset is computed through an LTTB algorithm, to preserve the shape of the data without increasing the number of datapoints.`,``,`▶️ If you need this level of detail, you can change config.downsample.threshold and set a higher value. Note that performance can be impacted. JS runtime might crash with > 100_000 datapoints.`]}]});let pn=d(()=>{let e=H.value.title.text||`XY chart`,t=X.value.end-X.value.start;return`${e}. ${Y.value.filter(e=>!E.value.includes(e.absoluteIndex)).length} series. ${t} visible data points.`}),mn=d(()=>{if(j.value===null)return``;let e=j.value+X.value.start;return`${z.value.values.slice(X.value.start,X.value.end)[j.value]?I.value.useDefaultTimeFormat?$.value.slice(X.value.start,X.value.end)[j.value]?.text:Nr.value[j.value]?.text:$.value[e]?.text??`Point ${e+1}`}. ${Y.value.filter(e=>!E.value.includes(e.absoluteIndex)).map(e=>{let t=e.series[j.value],n=t?.value??t??null;return`${e.name}: ${n}`}).join(`. `)}.`}),hn=d(()=>F.value.useCursorPointer),gn=d(()=>P.value.debug);ot(()=>{dn[`chart-background`]&&gn.value&&console.warn(`VueUiXyCanvas does not support the #chart-background slot.`)});let _n=d(()=>se({defaultConfig:{userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,grid:{x:{axisColor:`#6A6A6A`,timeLabels:{show:!1},axisName:``,horizontalLines:{color:`#6A6A6A`}},y:{axisColor:`#6A6A6A`,axisLabels:{show:!1},axisName:``,verticalLines:{color:`#6A6A6A`}},zeroLine:{color:`#6A6A6A`}},legend:{backgroundColor:`#99999930`},paddingProportions:{left:.05},scale:{max:null,min:null},zoom:{endIndex:null,startIndex:null}}}},userConfig:P.value.skeletonConfig??{}})),{loading:vn,FINAL_DATASET:yn}=he({...dt(S),FINAL_CONFIG:P,prepareConfig:Tn,skeletonDataset:S.config?.skeletonDataset??[{name:``,series:[0,1,2,3,5,8,13,21,34,55,89,134],type:`line`,smooth:!0,color:`#BABABA`},{name:``,series:[0,.5,1,1.5,2.5,4,6.5,10.5,17,27.5,44.5,67],type:`bar`,color:`#AAAAAA`}],skeletonConfig:se({defaultConfig:P.value,userConfig:_n.value})}),{userOptionsVisible:bn,setUserOptionsVisibility:xn,keepUserOptionState:Sn}=We({config:P.value}),{svgRef:U}=Ge({config:H.value.title});function Cn(){xn(!0)}function wn(){xn(!1),N(`selectX`,{dataset:null,index:null,indexLabel:null}),T.value=null}function Tn(){let e=be({userConfig:S.config,defaultConfig:Nt}),t={},n=e.theme;if(n){if(!Pt.value(e))Ft(e),t=e;else{let r=be({userConfig:qe[n]||S.config,defaultConfig:e});t={...be({userConfig:S.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:ce[n]||o}}}else t=e;return S.config&&pe(S.config,`style.chart.grid.y.timeLabels`)&&(console.warn(`VueUiXyCanvas: you are using the deprecated config.style.chart.grid.y.timeLabels. It is recommended to move this configuration to config.style.chart.grid.x.timeLabels.`),t.style.chart.grid.x.timeLabels=be({defaultConfig:t.style.chart.grid.x.timeLabels,userConfig:S.config.style.chart.grid.y.timeLabels})),t}let En=ne(S.config);b(()=>S.config,(e,t)=>{let n=ne(e),r=n!==En;En=n;let i=Tn();r?(vn.value||(P.value=i),bn.value=!F.value.showOnChartHover,Di(),Zt.value+=1,Qt.value+=1,$t.value+=1,W.value.showTable=P.value.table.show,W.value.showDataLabels=V.value.show,W.value.stacked=H.value.stacked,W.value.showTooltip=I.value.show):(P.value.style.chart.tooltip=i.style.chart.tooltip,W.value.showTooltip=P.value.style.chart.tooltip.show)},{deep:!0}),b(()=>S.dataset,async e=>{Array.isArray(e)&&e.length!==0&&(await nt(),U.value&&!C.value&&(C.value=U.value.getContext(`2d`,{willReadFrequently:!0})),D.value=!0,O.value=!0,await fr(),Sr(),Zt.value+=1,Qt.value+=1,$t.value+=1)},{deep:!0});let Dn=_(H.value.aspectRatio),{isPrinting:On,isImaging:kn,generatePdf:An,generateImage:jn}=Me({elementId:`xy_canvas_${It.value}`,fileName:H.value.title.text||`vue-ui-xy-canvas`,options:F.value.print}),W=_({showTable:P.value.table.show,showDataLabels:V.value.show,stacked:H.value.stacked,showTooltip:I.value.show});function Mn(e){Kt.value=e,Gt.value+=1}let Nn=d(()=>fe(P.value.customPalette)),Pn=d(()=>E.value.length===J.value.length),G=d(()=>J.value?Math.max(...J.value.filter((e,t)=>Pn.value?!0:!E.value.includes(e.absoluteIndex)).map(e=>e.series.length)):0);function Fn(e){A.value=e,Wr()}let In=_(0),Ln=_(0);function Rn(){if(!C.value||!z.value.show)return 0;let e=$.value||[],t=X.value.start??0,n=X.value.end??0;if(!Math.max(0,n-t))return 0;let r=Math.round(w.value/40*z.value.fontSizeRatio),i=`${z.value.bold?`bold `:``}${r}px ${P.value.style.fontFamily}`;C.value.save(),C.value.font=i;let a=0;for(let r=t;r<n;r+=1){let t=e[r]?.text??`${r+1}`,n=C.value.measureText(String(t));n.width>a&&(a=n.width)}C.value.restore();let o=(z.value.rotation||0)*Math.PI/180,s=r,ee=Math.abs(Math.sin(o))*a+Math.abs(Math.cos(o))*s,c=z.value.offsetY||1,l=w.value/c;return Math.max(0,l+ee+4)}function zn(){In.value=Rn()}function Bn(){Ln.value&&cancelAnimationFrame(Ln.value),Ln.value=requestAnimationFrame(()=>{requestAnimationFrame(()=>{zn()})})}at(()=>{Ln.value&&cancelAnimationFrame(Ln.value)});let K=d(()=>{let e=w.value-w.value*(H.value.paddingProportions.left+H.value.paddingProportions.right),t=zt.value*H.value.paddingProportions.top,n=zt.value*H.value.paddingProportions.bottom,r=In.value,i=zt.value-n-r,a=zt.value-(t+n)-r;return{canvasWidth:w.value,canvasHeight:zt.value,left:w.value*H.value.paddingProportions.left,top:t,right:w.value-w.value*H.value.paddingProportions.right,bottom:i,width:e,height:a,slot:e/(X.value.end-X.value.start)}});function Vn(e,t){return e/t}function Hn({hasAutoScale:e,series:t,min:n,max:r,scale:i,yOffset:a,individualHeight:o,stackIndex:s=null}){return t.map((t,n)=>{let r=i.min<0?Math.abs(i.min):0,ee=Vn(t+r,r+i.max),c,l;e&&(c=i.min,l=Vn(t-c,i.max-c));let te=0;return te=s===null?K.value.bottom-K.value.height*(e?l:ee):K.value.bottom-a-o*(e?l:ee),{x:K.value.left+K.value.slot*n+K.value.slot/2,y:te,value:t}})}let q=d(()=>{let e=H.value.scale.min===null?Math.min(...J.value.filter((e,t)=>!E.value.includes(e.absoluteIndex)).flatMap(e=>e.series.slice(X.value.start,X.value.end))):H.value.scale.min,t=H.value.scale.max===null?Math.max(...J.value.filter((e,t)=>!E.value.includes(e.absoluteIndex)).flatMap(e=>e.series.slice(X.value.start,X.value.end))):H.value.scale.max,n=re(e<0?e:0,t===e?e+1<0?0:e+1:t<0?0:t,H.value.scale.ticks),r=n.min<0?Math.abs(n.min):0,i=K.value.bottom-K.value.height*(r/(n.max+r));return{absoluteMin:r,max:t,min:e,scale:n,yLabels:n.ticks.map(e=>({y:K.value.bottom-K.value.height*((e+r)/(n.max+r)),x:K.value.left-8,value:e})),zero:i}}),Un=d(()=>Y.value.map(e=>`
2
2
  <div style="display:flex;flex-direction:row;gap:6px;align-items:center;">
3
3
  <svg viewBox="0 0 10 10" height="12" width="12">
4
4
  <circle cx="5" cy="5" r="5" fill="${e.color}"/>
@@ -6,4 +6,4 @@ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO
6
6
  <span>${e.name?e.name+`: `:``}</span>
7
7
  <span>${oe(V.value.formatter,e.series[T.value]??`-`,n({p:e.prefix||``,v:e.series[T.value]??`-`,s:e.suffix||``,r:e.rounding||0}),{datapoint:e,seriesIndex:T.value})}</span>
8
8
  </div>
9
- `)),Wn=d(()=>H.value.line.cutNullValues),J=d(()=>yn.value.map((e,t)=>({...e,series:c({data:ee(e.series,[],Wn.value),threshold:P.value.downsample.threshold}),absoluteIndex:t,color:l(e.color||Nn.value[t]||o[t]||o[t%o.length])}))),Gn=d(()=>{if(!H.value.zoom.minimap.show)return[];let e=J.value.filter(e=>!E.value.includes(e.absoluteIndex)),t=Math.max(...e.map(e=>e.series.length)),n=[];for(let r=0;r<t;r+=1)n.push(e.map(e=>e.series[r]||0).reduce((e,t)=>(e||0)+(t||0),0));let r=Math.min(...n);return n.map(e=>e+(r<0?Math.abs(r):0))}),Kn=d(()=>H.value.zoom.minimap.show?J.value.map(e=>({...e,isVisible:!E.value.includes(e.absoluteIndex)})):[]);b(G,e=>{e&&fr()});let Y=d(()=>ue(J.value.filter((e,t)=>!E.value.includes(e.absoluteIndex))).map((e,t)=>({...e,series:e.series.slice(X.value.start,X.value.end)})).map((e,t)=>{let n=[null,void 0].includes(e.scaleMin)?Math.min(...e.series)||0:e.scaleMin,r=[null,void 0].includes(e.scaleMax)?Math.max(...e.series)||1:e.scaleMax;n===r&&(n=n>=0?r-1:n,r=r>=0?r:n+1);let i={ratios:e.series.filter(e=>![null,void 0].includes(e)).map(e=>(e-n)/(r-n)),valueMin:n,valueMax:r},a=e.scaleSteps||H.value.scale.ticks,o;o=e.autoScaling?re(i.valueMin,i.valueMax,a):re(i.valueMin<0?i.valueMin:0,i.valueMax<=0?0:i.valueMax,a);let s=W.value.stacked?K.value.height*(1-e.cumulatedStackRatio):0,ee=W.value.stacked?K.value.height/H.value.stackGap:0,c=W.value.stacked?K.value.height*e.stackRatio-ee:K.value.height,l=o.min<0?Math.abs(o.min):0,te;te=e.autoScaling&&W.value.stacked&&r<=0?K.value.bottom-s-c:K.value.bottom-s-c*(l/(o.max+l));let ne=o.ticks.map((e,t)=>({y:K.value.bottom-s-c*(t/(o.ticks.length-1)),x:K.value.left-8,value:e})),ie=Hn({hasAutoScale:W.value.stacked&&e.autoScaling,series:e.series,min:W.value.stacked?n:q.value.min,max:W.value.stacked?r:q.value.max,scale:W.value.stacked?o:q.value.scale,yOffset:s,individualHeight:c,stackIndex:W.value.stacked?t:null});return{...e,coordinatesLine:ie,min:n,max:r,localScale:o,localZero:te,localMin:l,localYLabels:ne,yOffset:s,individualHeight:c}})),X=_({start:0,end:G.value}),Z=_({start:0,end:G.value}),qn=_(!1),Jn=_(!1),Yn=_(null),Xn=_(!1),Zn=_(null),Qn=_(null),$n=_(null),er=_({time:0,x:0,y:0,pointerType:null}),tr=d(()=>H.value.zoom?.dragToZoom),nr=d(()=>tr.value.show&&M.value&&an.value&&G.value>1&&!vn.value),rr=_(null),ir=null,ar={};function or(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}function sr(e,t=X.value){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let i=Number(n?e.start:t.start),a=Number(r?e.end:t.end);return!Number.isFinite(i)||!Number.isFinite(a)?null:{start:i,end:a}}function cr(e){let t=sr(e);t&&N(`update:zoomState`,t)}function lr(){ir&&=(cancelAnimationFrame(ir),null),ar={}}function ur(e){let t=sr(e);if(!t)return null;let{start:n,end:r}=t;return(n!==Number(X.value.start)||r!==Number(X.value.end))&&(lr(),X.value={start:n,end:r},Z.value={start:n,end:r},br()),{start:Number(X.value.start),end:Number(X.value.end)}}function dr(e){let t=ur(e);return t?(N(`update:zoomState`,t),t):null}at(()=>{rr.value&&cancelAnimationFrame(rr.value),lr(),ai()});async function fr({force:e=!1,publish:t=!1}={}){let n=!e;await hr(n),await nt(),rr.value&&cancelAnimationFrame(rr.value),rr.value=requestAnimationFrame(async()=>{await or(),await hr(n),rr.value=null,t&&(cr({start:Number(X.value.start),end:Number(X.value.end)}),N(`zoomReset`))})}let pr=d(()=>H.value.zoom.preview.enable&&(Z.value.start!==X.value.start||Z.value.end!==X.value.end));function mr(e,t){Z.value[e]=t}async function hr(e=!0){if(!rn.value){rn.value=!0;try{let{startIndex:t,endIndex:n}=H.value.zoom,r=Math.max(...J.value.map(e=>e.series.length)),i=t??0,a=n==null?r:Math.min(yr(n+1,i),r);on.value=!0,X.value={start:i,end:a},Z.value={start:i,end:a},br(),an.value=!0,await nt(),Yt.value&&Yt.value.setRangeValues(X.value.start,X.value.end),e&&S.zoomState&&ur(S.zoomState)}finally{queueMicrotask(()=>{on.value=!1}),rn.value=!1}}}function gr(e){ar={...ar,...e},ir&&cancelAnimationFrame(ir),ir=requestAnimationFrame(()=>{let e={...X.value,...ar};ar={},ir=null,X.value=e,Z.value={...e},br(),cr({start:Number(X.value.start),end:Number(X.value.end)})})}function _r(e){if(rn.value||on.value)return;let t=Number(e);Number.isFinite(t)&&(N(`zoomStart`,{index:t,isZoom:t!==0}),t!==X.value.start&&gr({start:t}))}function vr(e){if(rn.value||on.value)return;let t=ar.start===void 0?X.value.start:ar.start,n=yr(Number(e),t);Number.isFinite(n)&&(N(`zoomEnd`,{index:n,isZoom:n!==G.value}),(n!==X.value.end||ar.start!==void 0)&&gr({end:n}))}function yr(e,t=X.value.start){let n=G.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function br(){let e=Math.max(1,Math.max(...J.value.map(e=>e.series.length))),t=Math.max(0,Math.min(X.value.start??0,e-1)),n=Math.max(t+1,Math.min(X.value.end??e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),X.value={start:t,end:n},Z.value={start:t,end:n},Yt.value&&Yt.value.setRangeValues(t,n)}b([()=>S.zoomState,an],([e,t])=>{t&&e&&ur(e)},{deep:!0,immediate:!0});let xr=d(()=>Y.value.filter(e=>[`line`,`plot`,void 0].includes(e.type))),Q=d(()=>Y.value.filter(e=>e.type===`bar`));function Sr(){if(!U.value||!Rt.value)return;let e=Rt.value.offsetWidth,t=Rt.value.offsetHeight;U.value.width=e*Ut.value*2,U.value.height=t*Ut.value*2,w.value=e*Ut.value*2,zt.value=t*Ut.value*2,C.value?.scale(Ut.value,Ut.value),Wr()}b(M,async e=>{e?(await nt(),U.value&&!C.value&&(C.value=U.value.getContext(`2d`,{willReadFrequently:!0})),D.value=!0,O.value=!0,await fr(),Sr(),Wr()):(Wt.value=null,Bt.value=!1,T.value=null,k.value=null)});function Cr(){if(C.value&&(C.value.clearRect(0,0,1e4,1e4),C.value.fillStyle=H.value.backgroundColor,C.value.fillRect(0,0,K.value.canvasWidth,K.value.canvasHeight),M.value)){if(W.value.stacked)L.value.show&&X.value.end-X.value.start<L.value.hideUnderXLength?Y.value.forEach(e=>{for(let t=0;t<X.value.end-X.value.start+1;t+=1)u(C.value,[{x:K.value.left+K.value.slot*t,y:K.value.bottom-e.yOffset-e.individualHeight},{x:K.value.left+K.value.slot*t,y:K.value.bottom-e.yOffset}],{color:L.value.color})}):L.value.show&&X.value.end-X.value.start>=L.value.hideUnderXLength&&Y.value.forEach(e=>{for(let t=X.value.start;t<X.value.end;t+=1)t%Math.floor((X.value.end-X.value.start)/fn.value.modulo)===0&&u(C.value,[{x:K.value.left+K.value.slot*(t-X.value.start)+K.value.slot/2,y:K.value.bottom-e.yOffset-e.individualHeight},{x:K.value.left+K.value.slot*(t-X.value.start)+K.value.slot/2,y:K.value.bottom-e.yOffset}],{color:L.value.color})}),fn.value.show&&(fn.value.alternate?Y.value.forEach(e=>{e.localYLabels.forEach((t,n)=>{n<e.localYLabels.length-1&&Ie(C.value,[{x:K.value.left,y:t.y},{x:K.value.right,y:t.y},{x:K.value.right,y:e.localYLabels[n+1].y},{x:K.value.left,y:e.localYLabels[n+1].y}],{fillColor:n%2==0?`transparent`:s(H.value.grid.x.horizontalLines.color,H.value.grid.x.horizontalLines.opacity),strokeColor:`transparent`})})}):Y.value.forEach(e=>{e.localYLabels.slice(X.value.start,X.value.end).forEach(e=>{u(C.value,[{x:K.value.left,y:e.y},{x:K.value.right,y:e.y}],{color:fn.value.color})})})),B.value.zeroLine.show&&Y.value.forEach(e=>{u(C.value,[{x:K.value.left,y:e.localZero},{x:K.value.right,y:e.localZero}],{color:B.value.zeroLine.color,lineDash:B.value.zeroLine.dashed?[10,10]:[0,0]})}),R.value.show&&Y.value.forEach(e=>{u(C.value,[{x:K.value.left,y:K.value.bottom-e.yOffset},{x:K.value.left,y:K.value.bottom-e.yOffset-e.individualHeight}],{color:e.color}),u(C.value,[{x:K.value.right,y:K.value.bottom-e.yOffset},{x:K.value.right,y:K.value.bottom-e.yOffset-e.individualHeight}],{color:e.color})}),Y.value.forEach(e=>{Re(C.value,e.name,w.value/35,K.value.bottom-e.yOffset-e.individualHeight/2,{align:`center`,rotation:-90,color:e.color,font:`${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`})});else{if(L.value.show&&X.value.end-X.value.start<L.value.hideUnderXLength)for(let e=0;e<X.value.end-X.value.start+1;e+=1)u(C.value,[{x:K.value.left+K.value.slot*e,y:K.value.top},{x:K.value.left+K.value.slot*e,y:K.value.bottom}],{color:L.value.color});else if(L.value.show&&X.value.end-X.value.start>=L.value.hideUnderXLength)for(let e=X.value.start;e<X.value.end;e+=1)e%Math.floor((X.value.end-X.value.start)/z.value.modulo)===0&&u(C.value,[{x:K.value.left+K.value.slot*(e-X.value.start)+K.value.slot/2,y:K.value.top},{x:K.value.left+K.value.slot*(e-X.value.start)+K.value.slot/2,y:K.value.bottom}],{color:L.value.color});fn.value.show&&(fn.value.alternate?q.value.yLabels.forEach((e,t)=>{t<q.value.yLabels.length-1&&Ie(C.value,[{x:K.value.left,y:e.y},{x:K.value.right,y:e.y},{x:K.value.right,y:q.value.yLabels[t+1].y},{x:K.value.left,y:q.value.yLabels[t+1].y}],{fillColor:t%2==0?`transparent`:s(H.value.grid.x.horizontalLines.color,H.value.grid.x.horizontalLines.opacity),strokeColor:`transparent`})}):q.value.yLabels.forEach(e=>{u(C.value,[{x:K.value.left,y:e.y},{x:K.value.right,y:e.y}],{color:fn.value.color})})),B.value.y.showAxis&&u(C.value,[{x:K.value.left,y:K.value.top},{x:K.value.left,y:K.value.bottom}],{color:B.value.y.axisColor,lineWidth:B.value.y.axisThickness}),B.value.x.showAxis&&u(C.value,[{x:K.value.left,y:K.value.bottom},{x:K.value.right,y:K.value.bottom}],{color:B.value.x.axisColor,lineWidth:B.value.x.axisThickness}),B.value.zeroLine.show&&u(C.value,[{x:K.value.left,y:q.value.zero},{x:K.value.right,y:q.value.zero}],{color:B.value.zeroLine.color,lineDash:B.value.zeroLine.dashed?[10,10]:[0,0]})}B.value.y.axisName&&Re(C.value,B.value.y.axisName,w.value-w.value/40*R.value.fontSizeRatio*1.2,K.value.bottom-K.value.height/2,{font:`${R.value.bold?`bold `:``}${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:H.value.color,align:`center`,rotation:90}),B.value.x.axisName&&Re(C.value,B.value.x.axisName,w.value/2,zt.value,{font:`${R.value.bold?`bold `:``}${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:H.value.color,align:`center`})}}function wr(e){for(let t=0;t<e.coordinatesLine.length;t+=1){let n=(T.value===t||A.value===t?w.value/150:H.value.line.plots.show||e.type===`plot`?w.value/200:0)*H.value.line.plots.radiusRatio;ze(C.value,{x:e.coordinatesLine[t].x,y:e.coordinatesLine[t].y},n,{color:H.value.backgroundColor,fillStyle:e.color,strokeColor:`transparent`})}}function Tr(){Y.value.forEach(e=>{e.showYMarker&&Kr(e)&&Re(C.value,oe(V.value.formatter,Kr(e).value,n({p:e.prefix||R.value.prefix||``,v:Kr(e).value,s:e.suffix||R.value.suffix||``,r:e.rounding||R.value.rounding||0}),{datapoint:Kr(e),seriesIndex:null}),K.value.left-8+R.value.offsetX,Kr(e).y,{align:`right`,font:`${R.value.bold?`bold `:``}${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:e.color})})}function Er(){R.value.show&&(W.value.stacked?Y.value.forEach(e=>{e.localYLabels.forEach((t,r)=>{Re(C.value,oe(V.value.formatter,t.value,n({p:e.prefix||B.value.y.axisLabels.prefix||``,v:t.value,s:e.suffix||B.value.y.axisLabels.suffix||``,r:e.rounding||B.value.y.axisLabels.rounding||0}),{datapoint:t,seriesIndex:r}),t.x+R.value.offsetX,t.y,{align:`right`,font:`${R.value.bold?`bold `:``}${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:e.color,globalAlpha:e.showYMarker&&![null,void 0].includes(T.value??A.value)?.2:1})})}):q.value.yLabels.forEach((e,t)=>{Re(C.value,oe(V.value.formatter,e.value,n({p:R.value.prefix||``,v:e.value,s:R.value.suffix||``,r:R.value.rounding||0}),{datapoint:e,seriesIndex:t}),e.x+R.value.offsetX,e.y,{align:`right`,font:`${R.value.bold?`bold `:``}${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:R.value.color,globalAlpha:Y.value.some(e=>e.showYMarker)&&![null,void 0].includes(T.value??A.value)?.2:1})}))}function Dr(e){for(let t=0;t<e.coordinatesLine.length;t+=1)Re(C.value,oe(V.value.formatter,e.coordinatesLine[t].value,n({p:e.prefix||``,v:e.coordinatesLine[t].value,s:e.suffix||``,r:e.rounding||0}),{datapoint:e.coordinatesLine[t],seriesIndex:t}),e.coordinatesLine[t].x,e.coordinatesLine[t].y+V.value.offsetY,{align:`center`,font:`${V.value.bold?`bold `:``}${Math.round(w.value/40*V.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:V.value.useSerieColor?e.color:V.value.color,strokeColor:H.value.backgroundColor,lineWidth:.5})}let $=_([]),Or=0;pt(()=>{let e=++Or;(async()=>{let t=await je({values:z.value.values,maxDatapoints:G.value,formatter:z.value.datetimeFormatter,start:0,end:G.value});e===Or&&($.value=t)})()}),pt(()=>{z.value.show,z.value.rotation,z.value.offsetY,z.value.fontSizeRatio,z.value.bold,X.value.start,X.value.end,w.value,zt.value,($.value||[]).map(e=>e?.text??``).join(`|`),Bn()},{flush:`post`});let kr=_({months:[],shortMonths:[],days:[],shortDays:[]}),Ar=0;pt(()=>{let e=++Ar,t=z.value.datetimeFormatter;(async()=>{let n=await Ae(t.locale).catch(()=>Ae(`en`));e===Ar&&(kr.value=n.data)})()});let jr=d(()=>{let e=z.value.datetimeFormatter,t=ke({useUTC:e.useUTC,locale:kr.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{let r=z.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),Mr=d(()=>(z.value.values||[]).map((e,t)=>({text:jr.value(t,H.value.zoom.timeFormat),absoluteIndex:t}))),Nr=d(()=>(z.value.values||[]).map((e,t)=>({text:jr.value(t,I.value.timeFormat),absoluteIndex:t})));function Pr(){for(let e=X.value.start;e<X.value.end;e+=1)(X.value.end-X.value.start<z.value.modulo||X.value.end-X.value.start>=z.value.modulo&&(e%Math.floor((X.value.end-X.value.start)/z.value.modulo)===0||(e===T.value+X.value.start||e===A.value)&&z.value.showMarker))&&Re(C.value,$.value[e]?$.value[e].text:e+1,K.value.left+K.value.slot*(e-X.value.start)+K.value.slot/2,K.value.bottom+w.value/z.value.offsetY,{align:z.value.rotation===0?`center`:z.value.rotation>0?`left`:`right`,font:`${z.value.bold?`bold `:``}${Math.round(w.value/40*z.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:z.value.showMarker?s(z.value.color,T.value!==null||A.value!==null?T.value+X.value.start===e||A.value===e?100:20:100):z.value.color,rotation:z.value.rotation})}function Fr(){u(C.value,[{x:K.value.left+K.value.slot*(T.value??A.value)+K.value.slot/2,y:K.value.top},{x:K.value.left+K.value.slot*(T.value??A.value)+K.value.slot/2,y:K.value.bottom}],{color:H.value.selector.color,lineDash:H.value.selector.dashed?[8,8]:[0,0],lineWidth:2,linceCap:`round`})}function Ir(){k.value&&u(C.value,[{x:K.value.left,y:k.value},{x:K.value.right,y:k.value}],{color:H.value.selector.color,lineDash:H.value.selector.dashed?[8,8]:[0,0],lineWidth:2,linceCap:`round`})}function Lr(){Q.value.forEach((e,t)=>{for(let r=0;r<e.coordinatesLine.length;r+=1)Ie(C.value,[{x:K.value.left+K.value.slot*r+K.value.slot/10+(W.value.stacked?0:K.value.slot/Q.value.length*t-(t===0?0:K.value.slot/(5*Q.value.length)*t)),y:W.value.stacked?e.localZero:q.value.zero},{x:K.value.left+K.value.slot*r+K.value.slot/10+(W.value.stacked?0:K.value.slot/Q.value.length*t-(t===0?0:K.value.slot/(5*Q.value.length)*t))+K.value.slot*.8/(W.value.stacked?1:Q.value.length),y:W.value.stacked?e.localZero:q.value.zero},{x:K.value.left+K.value.slot*r+K.value.slot/10+(W.value.stacked?0:K.value.slot/Q.value.length*t-(t===0?0:K.value.slot/(5*Q.value.length)*t))+K.value.slot*.8/(W.value.stacked?1:Q.value.length),y:e.coordinatesLine[r].y},{x:K.value.left+K.value.slot*r+K.value.slot/10+(W.value.stacked?0:K.value.slot/Q.value.length*t-(t===0?0:K.value.slot/(5*Q.value.length)*t)),y:e.coordinatesLine[r].y}],{strokeColor:H.value.backgroundColor,gradient:{type:`linear`,start:{x:e.coordinatesLine[r].x,y:e.coordinatesLine[r].y},end:{x:e.coordinatesLine[r].x,y:W.value.stacked?e.localZero:q.value.zero},stops:[{offset:0,color:e.color},{offset:1,color:H.value.bar.gradient.show?a(e.color,.5):e.color}]}}),W.value.showDataLabels&&[!0,void 0].includes(e.dataLabels)&&Re(C.value,oe(V.value.formatter,e.coordinatesLine[r].value,n({p:e.prefix||``,v:e.coordinatesLine[r].value,s:e.suffix||``,r:e.rounding||0}),{datapoint:e.coordinatesLine[r],seriesIndex:r}),K.value.left+K.value.slot*r+K.value.slot/10+(W.value.stacked?0:K.value.slot/Q.value.length*t-(t===0?0:K.value.slot/(5*Q.value.length)*t))+K.value.slot*.4/(W.value.stacked?1:Q.value.length),(e.coordinatesLine[r].value<0?W.value.stacked?e.localZero:q.value.zero:e.coordinatesLine[r].y)+V.value.offsetY,{align:`center`,font:`${Math.round(w.value/40*V.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:V.value.useSerieColor?e.color:V.value.color,strokeColor:H.value.backgroundColor,lineWidth:.8})})}function Rr(e,t){let n=e.coordinatesLine.map((t,n)=>e.series[n]!=null&&Number.isFinite(t?.y)?t:null),r=[],i=[],a=[];for(let e=0;e<n.length;e+=1){let o=n[e];if(o)a.push(o);else{if(a.length>=2){let e=a[0],n=a[a.length-1];r.push([{x:e.x,y:t},...a,{x:n.x,y:t}])}else a.length===1&&i.push(a[0]);a=[]}}if(a.length>=2){let e=a[0],n=a[a.length-1];r.push([{x:e.x,y:t},...a,{x:n.x,y:t}])}else a.length===1&&i.push(a[0]);return{polygons:r,singles:i}}function zr(e){let t=e.coordinatesLine.map((t,n)=>e.series[n]!=null&&Number.isFinite(t?.y)?t:null),n=[],r=[];for(let e=0;e<t.length;e+=1){let i=t[e];i?r.push(i):(r.length>=2&&n.push(r),r=[])}return r.length>=2&&n.push(r),n}function Br(e){if(Wn.value){let t=zr(e);for(let n of t)u(C.value,n,{color:e.color,lineWidth:3})}else u(C.value,e.coordinatesLine,{color:e.color,lineWidth:3})}function Vr(e){let t=!!Wn.value;if(e.useArea){let n=W.value.stacked?e.localZero:q.value.zero;if(t){let{polygons:t,singles:r}=Rr(e,n);for(let n of t)Ne(C.value,n,{fillColor:s(e.color,H.value.area.opacity),strokeColor:`transparent`});let i=w.value/200*H.value.line.plots.radiusRatio;for(let t of r)ze(C.value,{x:t.x,y:t.y},i,{color:H.value.backgroundColor,fillStyle:e.color,strokeColor:`transparent`})}else{let t={x:e.coordinatesLine[0].x,y:n},r={x:e.coordinatesLine.at(-1).x,y:n};Ne(C.value,[t,...e.coordinatesLine,r],{fillColor:s(e.color,H.value.area.opacity),strokeColor:`transparent`})}Br(e)}else Br(e)}function Hr(){Y.value.forEach((e,t)=>{u(C.value,[{x:K.value.left,y:K.value.bottom-e.yOffset},{x:K.value.right,y:K.value.bottom-e.yOffset}],{color:fn.value.color,lineWidth:1})})}function Ur(){let{left:e,top:t,width:n,height:r}=K.value,i=X.value.start,a=X.value.end-i,o=n/a,s=Z.value.start-i,ee=Z.value.end-i,c=Math.max(0,Math.min(a,s)),l=Math.max(0,Math.min(a,ee));Ie(C.value,[{x:e+c*o,y:t},{x:e+c*o+(l-c)*o,y:t},{x:e+c*o+(l-c)*o,y:t+r},{x:e+c*o,y:t+r}],{fillColor:H.value.zoom.preview.fill,strokeColor:H.value.zoom.preview.stroke,lineDash:[,,,,].fill(H.value.zoom.preview.strokeDasharray),lineWidth:H.value.zoom.preview.strokeWidth})}function Wr(){M.value&&U.value&&C.value&&(Cr(),D.value?((T.value!==null||A.value!==null)&&H.value.selector.show&&Fr(),Lr(),W.value.stacked&&B.value.x.showAxis&&Hr(),xr.value.forEach(e=>{(e.type===`line`||!e.type)&&Vr(e),O.value&&(wr(e),W.value.showDataLabels&&[!0,void 0].includes(e.dataLabels)&&Dr(e))}),U.value&&(Wt.value=Fe(U.value))):(Wt.value&&(C.value.clearRect(0,0,1e4,1e4),C.value.drawImage(Wt.value,0,0)),(T.value!==null||A.value!==null)&&H.value.selector.show&&Fr(),(T.value!==null||A.value!==null)&&Y.value.forEach(e=>{let t=T.value??A.value,n=e.coordinatesLine[t];(e.type===`line`||!e.type||e.type===`plot`)&&n&&Number.isFinite(n.x)&&Number.isFinite(n.y)&&ze(C.value,{x:n.x,y:n.y},w.value/150*H.value.line.plots.radiusRatio,{color:H.value.backgroundColor,fillStyle:e.color,strokeColor:`transparent`})})),z.value.show&&Pr(),H.value.selector.show&&H.value.selector.showHorizontalSelector&&Ir(),Er(),Tr(),H.value.zoom.preview.enable&&(X.value.start!==Z.value.start||X.value.end!==Z.value.end)&&Ur(),D.value=!1)}let Gr=Le(()=>{O.value=!0,Sr()},G.value>200?10:1,!O.value);function Kr(e){if([null,void 0].includes(T.value??A.value)||!e.coordinatesLine[T.value??A.value])return!1;let{y:t,value:n}=e.coordinatesLine[T.value??A.value];return{y:t,value:n}}let qr=d(()=>!qn.value||Zn.value==null||Qn.value==null?null:{x:Math.min(Zn.value,Qn.value),y:K.value.top,width:Math.abs(Qn.value-Zn.value),height:K.value.height}),Jr=d(()=>an.value?Number(X.value.start)!==0||Number(X.value.end)!==Number(G.value):!1);function Yr(e){if(!U.value)return null;let t=U.value.getBoundingClientRect();return!t.width||!t.height?null:{x:(e.clientX-t.left)*(K.value.canvasWidth/t.width),y:(e.clientY-t.top)*(K.value.canvasHeight/t.height)}}function Xr(e){return Math.min(Math.max(e,K.value.left),K.value.right)}function Zr(e){return Y.value.map(t=>{let n=t.series[e];return{...t,name:t.name,value:[null,void 0,NaN].includes(n)?null:n,color:t.color,type:t.type}})}function Qr(e,t){if(t==null||t<0||t>=X.value.end-X.value.start)return;let n=P.value.events?.[e];i(n)&&n({datapoint:Zr(t),seriesIndex:t+X.value.start})}function $r(e){Yn.value!==e&&(Yn.value=e,Qr(`datapointEnter`,e))}function ei(){let e=Yn.value;e!=null&&Qr(`datapointLeave`,e),Yn.value=null}function ti(){Xn.value=!0,setTimeout(()=>{Xn.value=!1},0)}function ni(e){if(!e||!K.value?.slot)return null;let{left:t,right:n,top:r,bottom:i,slot:a}=K.value;if(e.x<t||e.x>n||e.y<r||e.y>i)return null;let o=Math.floor((e.x-t)/a),s=X.value.end-X.value.start;return o<0||o>=s?null:o}function ri(e){if(Xn.value){Xn.value=!1;return}let t=ni(Yr(e));t!==null&&Qr(`datapointClick`,t)}function ii(){ei(),vi(),A.value=null}function ai(e){let t=e?.pointerId==null?$n.value:e.pointerId;t!=null&&U.value?.hasPointerCapture?.(t)&&U.value.releasePointerCapture(t),qn.value=!1,Zn.value=null,Qn.value=null,$n.value=null}function oi(e){if(!nr.value||!Jr.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=er.value,i=n===`touch`?450:350,a=n===`touch`?28:10,o=Math.hypot(e.clientX-r.x,e.clientY-r.y);return r.time>0&&r.pointerType===n&&t-r.time<=i&&o<=a?(er.value={time:0,x:0,y:0,pointerType:null},ti(),ai(e),fr({force:!0,publish:!0}),!0):(er.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function si(e){let t=Number(X.value.end)-Number(X.value.start);if(t<=0||!Number.isFinite(K.value.slot)||K.value.slot<=0)return null;let n=Math.floor((Xr(e)-K.value.left)/K.value.slot);return Math.max(0,Math.min(t-1,n))}function ci(e,t){let n=si(e),r=si(t);if(n==null||r==null)return null;let i=Math.min(n,r),a=Math.max(n,r);return a<=i?null:{start:Number(X.value.start)+i,end:Number(X.value.start)+a+1}}function li(e){let t=dr(e);return t?(N(`zoomStart`,{index:t.start,isZoom:t.start!==0}),N(`zoomEnd`,{index:t.end,isZoom:t.end!==G.value}),t):null}function ui(e){if(!nr.value||Ui.value||e.button!==void 0&&e.button!==0||$n.value!=null&&e.pointerId!==$n.value)return;let t=Yr(e);if(!t)return;let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a||Number(X.value.end)-Number(X.value.start)<=1)return;Jn.value=!0,U.value?.focus?.({preventScroll:!0}),ii();let o=Xr(t.x);$n.value=e.pointerId,qn.value=!0,Zn.value=o,Qn.value=o}function di(e){if(!nr.value||!qn.value||$n.value!=null&&e.pointerId!==$n.value)return;let t=Yr(e);t&&(Qn.value=Xr(t.x),Zn.value!=null&&Math.abs(Qn.value-Zn.value)>=2&&!U.value?.hasPointerCapture?.(e.pointerId)&&U.value?.setPointerCapture?.(e.pointerId))}function fi(e){if(!nr.value||!qn.value||$n.value!=null&&e.pointerId!==$n.value)return;let t=Yr(e);t&&(Qn.value=Xr(t.x));let n=Zn.value,r=Qn.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,K.value.width*.01)){if(oi(e))return;ai(e);return}let i=ci(Math.min(n,r),Math.max(n,r));i?(ai(e),li(i)&&(er.value={time:0,x:0,y:0,pointerType:null},ii(),ti())):ai(e)}function pi(e){if(!M.value||!U.value||Pn.value||qn.value)return;let{left:t,top:n}=U.value.getBoundingClientRect(),r=e.clientX-t;if(k.value=(e.clientY-n)*2,(k.value<K.value.top||k.value>K.value.bottom)&&(k.value=null),r*2<K.value.left||r*2>K.value.right){ei(),vi();return}let a=r*2-K.value.left,o=Math.floor(a/K.value.slot);if($r(o),T.value=o,j.value=o,Bt.value=!0,cn.value=!1,!O.value)return;let s=``,ee=I.value.customFormat,c=Y.value.map(e=>({shape:e.shape||null,name:e.name,color:e.color,type:e.type||`line`,value:e.series.find((e,t)=>t===T.value)}));Ht.value={timeLabel:z.value.values.slice(X.value.start,X.value.end)[T.value]?I.value.useDefaultTimeFormat?$.value.slice(X.value.start,X.value.end)[T.value]?.text:Nr.value[T.value]?.text:``,datapoint:c,seriesIndex:T.value,series:Y.value,config:P.value},Si({seriesIndex:T.value,datapoint:c}),i(ee)&&de(()=>ee({seriesIndex:T.value,datapoint:c,series:Y.value,config:P.value}))?Vt.value=ee({seriesIndex:T.value,datapoint:c,series:Y.value,config:P.value}):(z.value.values.slice(X.value.start,X.value.end)[T.value]?s+=`<div style="padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid ${I.value.borderColor}; width:100%">${I.value.useDefaultTimeFormat?$.value.slice(X.value.start,X.value.end)[T.value]?.text:Nr.value[T.value]?.text}</div>`:s+=`<div style="padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid ${I.value.borderColor}; width:100%">${$.value[T.value+X.value.start]?.text??``}</div>`,s+=Un.value.join(``),Vt.value=s),O.value=!1}function mi(e){return Y.value.map(t=>({shape:t.shape||null,name:t.name,color:t.color,type:t.type||`line`,value:t.series.find((t,n)=>n===e)}))}function hi(e){let t=``,n=I.value.customFormat,r=mi(e);return Si({seriesIndex:e,datapoint:r}),i(n)&&de(()=>n({seriesIndex:e,datapoint:r,series:Y.value,config:P.value}))?n({seriesIndex:e,datapoint:r,series:Y.value,config:P.value}):(z.value.values.slice(X.value.start,X.value.end)[e]?t+=`<div style="padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid ${I.value.borderColor}; width:100%">${I.value.useDefaultTimeFormat?$.value.slice(X.value.start,X.value.end)[e]?.text:Nr.value[e]?.text}</div>`:t+=`<div style="padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid ${I.value.borderColor}; width:100%">${$.value[e+X.value.start]?.text??``}</div>`,t+=Un.value.join(``),t)}function gi(e){if(!U.value||!K.value?.slot)return;let t=U.value.getBoundingClientRect(),n=t.width/K.value.canvasWidth,r=t.height/K.value.canvasHeight,i=K.value.left+K.value.slot*e+K.value.slot/2,a=K.value.top+K.value.height/2;un.value={x:t.left+i*n,y:t.top+a*r}}function _i(e,{fromKeyboard:t=!1,triggerEvent:n=!0}={}){M.value&&!Pn.value&&e!=null&&(e<0||e>=X.value.end-X.value.start||(n&&$r(e),T.value=e,j.value=e,Bt.value=!0,cn.value=t,Vt.value=hi(e),t&&gi(e),O.value=!1,Wr()))}function vi(){Bt.value=!1,T.value=null,j.value=null,Vt.value=``,k.value=null,cn.value=!1,Wr()}function yi(){ln.value=!0}function bi(){Jn.value=!1,ln.value=!1,vi()}function xi(e){if(!U.value||Ui.value||document.activeElement!==U.value)return;if(Jn.value=!1,e.key===`Escape`){if(nr.value&&(Jr.value||qn.value)){e.preventDefault(),e.stopPropagation(),ai(),fr({force:!0,publish:!0});return}vi();return}let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`;if(!t&&!n)return;let r=X.value.end-X.value.start;if(r<=0)return;e.preventDefault(),e.stopPropagation();let i=j.value;i!==null&&i>=0&&i<r?n?(i+=1,i>=r&&(i=0)):(--i,i<0&&(i=r-1)):i=n?0:r-1,_i(i,{fromKeyboard:!0})}function Si({seriesIndex:e,datapoint:t}){let n=X.value.start+e;N(`selectX`,{dataset:t,index:n,indexLabel:``})}b(()=>S.selectedXIndex,e=>{if([null,void 0].includes(S.selectedXIndex)){vi();return}let t=e-X.value.start;t<0||e>=X.value.end?vi():_i(t,{fromKeyboard:!1,triggerEvent:!1})},{immediate:!0}),b(()=>T.value,e=>{Gr()}),b(()=>X.value,e=>{D.value=!0,Wr()},{deep:!0}),b(()=>Z.value,e=>{Wr()},{deep:!0}),b(()=>W.value.showDataLabels,e=>{D.value=!0,Wr()}),b(()=>k.value,e=>{e&&Wr()}),b(()=>W.value.stacked,e=>{D.value=!0,O.value=!0,Gr()});function Ci(){ei(),vi()}let wi=lt(null),Ti=lt(null),Ei=lt(null);ot(()=>{en.value=!0,Di()});function Di(){if(me(S.dataset)&&ae({componentName:`VueUiXyCanvas`,type:`dataset`,debug:gn.value}),nt(()=>{U.value&&!C.value&&(C.value=U.value.getContext(`2d`,{willReadFrequently:!0})),C.value&&M.value&&(D.value=!0,O.value=!0,Sr())}),P.value.responsive){let e=Pe(()=>{let{width:e,height:t}=Be({chart:Lt.value,title:H.value.title.text?qt.value:null,legend:H.value.legend.show?Jt.value:null,slicer:H.value.zoom.show&&G.value>6?Yt.value?.$el:null,source:Xt.value});requestAnimationFrame(()=>{Dn.value=`${e} / ${t}`})});wi.value&&(Ti.value&&wi.value.unobserve(Ti.value),wi.value.disconnect()),wi.value=new ResizeObserver(e),Ti.value=Lt.value.parentNode,wi.value.observe(Ti.value)}Ei.value&&Ei.value.disconnect(),Ei.value=new ResizeObserver(async e=>{for(let t of e)t.contentBoxSize&&Rt.value&&(D.value=!0,Gr())}),Ei.value.observe(Rt.value),fr()}at(()=>{Ei.value&&Ei.value.disconnect(),wi.value&&(Ti.value&&wi.value.unobserve(Ti.value),wi.value.disconnect())});function Oi(){E.value.length?E.value=[]:Ni.value.forEach((e,t)=>{E.value.push(t)}),D.value=!0,Gr(),N(`selectLegend`,Y.value)}function ki(e){E.value.includes(e)?E.value=E.value.filter(t=>t!==e):E.value.push(e),D.value=!0,Gr(),N(`selectLegend`,Y.value)}function Ai(e){return J.value.length?J.value.find(t=>t.name===e)||(gn.value&&console.warn(`VueUiXyCanvas - Series name not found "${e}"`),null):(gn.value&&console.warn(`VueUiXyCanvas - There are no series to show.`),null)}function ji(e){let t=Ai(e);t!==null&&E.value.includes(t.absoluteIndex)&&ki(t.absoluteIndex)}function Mi(e){let t=Ai(e);t!==null&&(E.value.includes(t.absoluteIndex)||ki(t.absoluteIndex))}let Ni=d(()=>J.value.map((e,t)=>({...e,name:e.name,color:l(e.color)||Nn.value[t]||o[t]||o[t%o.length],shape:e.shape||`circle`,prefix:e.prefix||``,suffix:e.suffix||``,rounding:e.rounding||0})).map(e=>({...e,opacity:E.value.includes(e.absoluteIndex)?.5:1,segregate:()=>ki(e.absoluteIndex),isSegregated:E.value.includes(e.absoluteIndex)}))),Pi=d(()=>({cy:`donut-div-legend`,backgroundColor:H.value.legend.backgroundColor,color:H.value.legend.color,fontSize:H.value.legend.fontSize,paddingBottom:12,fontWeight:H.value.legend.bold?`bold`:``})),Fi=d(()=>{let e=[``].concat(Y.value.map(e=>e.name),`__SUM__`),t=[];for(let e=0;e<G.value;e+=1){let n=Y.value.map(t=>t.series[e]??0).reduce((e,t)=>e+t,0);t.push([z.value.values.slice(X.value.start,X.value.end)[e]?$?.value?.slice(X.value.start,X.value.end)?.[e]?.text??e+1:e+1].concat(Y.value.map(t=>(t.series[e]??0).toFixed(P.value.table.rounding)),(n??0).toFixed(P.value.table.rounding)))}let n={th:{backgroundColor:P.value.table.th.backgroundColor,color:P.value.table.th.color,outline:P.value.table.th.outline},td:{backgroundColor:P.value.table.td.backgroundColor,color:P.value.table.td.color,outline:P.value.table.td.outline},breakpoint:P.value.table.responsiveBreakpoint},r=[P.value.table.columnNames.period].concat(Y.value.map(e=>e.name),P.value.table.columnNames.total);return{head:e,body:t.slice(0,X.value.end-X.value.start),config:n,colNames:r}}),Ii=d(()=>{if(Y.value.length===0)return{head:[],body:[],config:{},columnNames:[]};let e=Y.value.map(e=>({label:e.name,color:e.color,type:e.type})),t=[];for(let e=X.value.start;e<X.value.end;e+=1){let n=[z.value.values[e]?$.value[e].text:e+1];Y.value.forEach(t=>{n.push(Number((t.series[e]||0).toFixed(P.value.table.rounding)))}),t.push(n)}return{head:e,body:t}});function Li(e=null){let t=[[H.value.title.text],[H.value.title.subtitle.text],[``]],n=[``,...Ii.value.head.map(e=>e.label)],i=Ii.value.body,a=t.concat([n]).concat(i),o=r(a);e?e(o):le({csvContent:o,title:H.value.title.text||`vue-ui-xy-canvas`})}function Ri(){return Y.value}function zi(){W.value.showTable=!W.value.showTable}function Bi(){W.value.showDataLabels=!W.value.showDataLabels}function Vi(){W.value.stacked=!W.value.stacked}function Hi(){W.value.showTooltip=!W.value.showTooltip}let Ui=_(!1);function Wi(){Ui.value=!Ui.value}async function Gi({scale:e=2}={}){if(!Lt.value)return;let{imageUri:t,base64:n}=await Se({domElement:Lt.value,base64:!0,img:!0,scale:e}),r=Lt.value.getBoundingClientRect(),i={width:r.width,height:r.height,aspectRatio:r.height?r.width/r.height:0},a=await ie(t,e)??i;return{imageUri:t,base64:n,title:H.value.title.text,...a}}let Ki=d(()=>Ee({config:P,style:H,mutableConfig:W,dialog:Mt,accordion:He,isFullscreen:Kt,parent:Lt,maxWidth:800,isCursorPointer:hn}));b(()=>W.value.showTable,e=>Te(e,P,tn));function qi(){W.value.showTable=!1,nn.value&&nn.value.setTableIconState(!1)}function Ji(e){e?.stage===`start`?sn.value=!0:e?.stage===`end`?sn.value=!1:jn()}async function Yi(){N(`copyAlt`,{config:P.value,dataset:Y.value}),F.value.callbacks.altCopy?await Promise.resolve(F.value.callbacks.altCopy({config:P.value,dataset:Y.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}return ye({getData:Ri,getImage:Gi,generateCsv:Li,generatePdf:An,generateImage:jn,hideSeries:Mi,showSeries:ji,toggleTable:zi,toggleLabels:Bi,toggleStack:Vi,toggleTooltip:Hi,toggleAnnotator:Wi,toggleFullscreen:Mn,copyAlt:Yi,resetZoom:()=>fr({force:!0,publish:!0}),setZoomState:dr}),(t,n)=>(g(),Xe(`div`,{style:it(`width:100%; position:relative; ${P.value.responsive?`height: 100%`:``}; background:${P.value.style.chart.backgroundColor};`),ref_key:`xy`,ref:Lt,id:`xy_canvas_${It.value}`,class:rt(`vue-data-ui-component vue-ui-xy-canvas ${Kt.value?`vue-data-ui-wrapper-fullscreen`:``}`),onMouseenter:Cn,onMouseleave:wn},[p(`div`,{id:`chart-instructions-${It.value}`,class:`sr-only`},[p(`p`,null,ut(P.value.a11y.translations.keyboardNavigation),1)],8,gt),p(`div`,_t,ut(mn.value),1),P.value.style.chart.title.text?(g(),Xe(`div`,{key:0,ref_key:`chartTitle`,ref:qt,style:it(`width:100%;background:${P.value.style.chart.backgroundColor};`)},[(g(),Ye(we,{key:`title_${Zt.value}`,config:{title:{cy:`xy-canvas-title`,...P.value.style.chart.title},subtitle:{cy:`xy-canvas-subtitle`,...P.value.style.chart.title.subtitle}}},null,8,[`config`]))],4)):f(``,!0),p(`div`,{id:`legend-top-${It.value}`},null,8,vt),F.value.show&&M.value&&(y(Sn)||y(bn))?(g(),Ye(y(At),{ref_key:`userOptionsRef`,ref:nn,key:`user_option_${Gt.value}`,backgroundColor:P.value.style.chart.backgroundColor,color:P.value.style.chart.color,isPrinting:y(On),isImaging:y(kn),uid:It.value,hasTooltip:F.value.buttons.tooltip&&I.value.show,hasPdf:F.value.buttons.pdf,hasImg:F.value.buttons.img,hasXls:F.value.buttons.csv,hasLabel:F.value.buttons.labels,hasStack:e.dataset.length>1&&F.value.buttons.stack,hasFullscreen:F.value.buttons.fullscreen,hasAltCopy:F.value.buttons.altCopy,hasTable:X.value.end-X.value.start<=730&&F.value.buttons.table,isFullscreen:Kt.value,isTooltip:W.value.showTooltip,isStacked:W.value.stacked,titles:{...F.value.buttonTitles},chartElement:Lt.value,position:F.value.position,hasAnnotator:F.value.buttons.annotator,isAnnotation:Ui.value,callbacks:F.value.callbacks,printScale:F.value.print.scale,tableDialog:P.value.table.useDialog,isCursorPointer:hn.value,onToggleFullscreen:Mn,onGeneratePdf:y(An),onGenerateCsv:Li,onGenerateImage:Ji,onToggleTable:zi,onToggleLabels:Bi,onToggleStack:Vi,onToggleTooltip:Hi,onToggleAnnotator:Wi,onCopyAlt:Yi,style:it({visibility:y(Sn)?y(bn)?`visible`:`hidden`:`visible`})},Ze({_:2},[st(y(De)(t.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionTable optionLabels optionStack optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),e=>({name:e,fn:x(n=>[v(t.$slots,e,h(m(y(Oe)(e,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasXls.hasLabel.hasStack.hasFullscreen.hasAltCopy.hasTable.isFullscreen.isTooltip.isStacked.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.style`.split(`.`))):f(``,!0),p(`div`,{class:`vue-ui-xy-canvas`,style:it(`position: relative; aspect-ratio: ${Dn.value}`),ref_key:`container`,ref:Rt},[p(`canvas`,{ref_key:`canvas`,ref:U,class:rt({"vue-ui-xy-canvas-chart-zoom-pointer-focus":nr.value&&Jn.value}),"aria-label":pn.value,"aria-describedby":`chart-instructions-${It.value}`,role:`img`,"aria-live":`polite`,tabindex:`0`,style:it({width:`100%`,height:`100%`,cursor:nr.value?qn.value?`col-resize`:`crosshair`:void 0,touchAction:nr.value?`pan-y`:void 0,userSelect:nr.value?`none`:void 0}),onMousemove:n[0]||=e=>pi(e),onMouseleave:Ci,onClick:ri,onPointerdown:ui,onPointermove:di,onPointerup:fi,onPointercancel:ai,onFocus:yi,onBlur:bi,onKeydown:xi},null,46,yt),qr.value?(g(),Xe(`svg`,{key:0,viewBox:`0 0 ${K.value.canvasWidth} ${K.value.canvasHeight}`,preserveAspectRatio:`none`,"aria-hidden":`true`,style:{position:`absolute`,inset:`0`,width:`100%`,height:`100%`,"pointer-events":`none`,overflow:`visible`}},[p(`rect`,{x:qr.value.x,y:qr.value.y,width:qr.value.width,height:qr.value.height,fill:tr.value.selection.fill,"fill-opacity":tr.value.selection.fillOpacity,stroke:tr.value.selection.stroke,"stroke-opacity":tr.value.selection.strokeOpacity,"stroke-width":tr.value.selection.strokeWidth,"stroke-dasharray":tr.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,xt)],8,bt)):f(``,!0),t.$slots.hint?(g(),Xe(`div`,St,[v(t.$slots,`hint`,h(m({hint:P.value.a11y.translations.keyboardNavigation,isVisible:ln.value})),void 0,!0)])):f(``,!0),v(t.$slots,`skeleton`,{},()=>[y(vn)?(g(),Ye(ge,{key:0})):f(``,!0)],!0),$e(y(Ot),{teleportTo:I.value.teleportTo,show:W.value.showTooltip&&Bt.value,backgroundColor:I.value.backgroundColor,color:I.value.color,fontSize:I.value.fontSize,borderRadius:I.value.borderRadius,borderColor:I.value.borderColor,borderWidth:I.value.borderWidth,position:I.value.position,offsetX:I.value.offsetX,offsetY:I.value.offsetY,parent:t.$refs.xy,content:Vt.value,isFullscreen:Kt.value,backgroundOpacity:I.value.backgroundOpacity,isCustom:y(i)(I.value.customFormat),smooth:I.value.smooth,backdropFilter:I.value.backdropFilter,smoothForce:I.value.smoothForce,smoothSnapThreshold:I.value.smoothSnapThreshold,isA11yMode:cn.value,a11yPosition:un.value},{"tooltip-before":x(()=>[v(t.$slots,`tooltip-before`,h(m({...Ht.value})),void 0,!0)]),tooltip:x(()=>[v(t.$slots,`tooltip`,h(m({...Ht.value})),void 0,!0)]),"tooltip-after":x(()=>[v(t.$slots,`tooltip-after`,h(m({...Ht.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`backgroundOpacity`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`])],4),P.value.style.chart.zoom.show&&G.value>6&&M.value&&an.value&&!y(vn)?(g(),Ye(Ve,{key:2,ref_key:`chartSlicer`,ref:Yt,"data-dom-to-png-ignore-layout":``,allMinimaps:Kn.value,background:P.value.style.chart.zoom.color,borderColor:P.value.style.chart.backgroundColor,customFormat:P.value.style.chart.zoom.customFormat,cutNullValues:Wn.value,enableRangeHandles:P.value.style.chart.zoom.enableRangeHandles,enableSelectionDrag:P.value.style.chart.zoom.enableSelectionDrag,end:X.value.end,focusOnDrag:P.value.style.chart.zoom.focusOnDrag,focusRangeRatio:P.value.style.chart.zoom.focusRangeRatio,fontSize:P.value.style.chart.zoom.fontSize,immediate:!P.value.style.chart.zoom.preview.enable,inputColor:P.value.style.chart.zoom.color,isPreview:pr.value,labelLeft:P.value.style.chart.grid.x.timeLabels.values[X.value.start]?$.value[X.value.start]?.text:``,labelRight:P.value.style.chart.grid.x.timeLabels.values[X.value.end-1]?$.value[X.value.end-1]?.text:``,max:G.value,min:0,minimap:Gn.value,minimapCompact:P.value.style.chart.zoom.minimap.compact,minimapFrameColor:P.value.style.chart.zoom.minimap.frameColor,minimapIndicatorColor:P.value.style.chart.zoom.minimap.indicatorColor,minimapLineColor:P.value.style.chart.zoom.minimap.lineColor,minimapMerged:P.value.style.chart.zoom.minimap.merged,minimapSelectedColor:P.value.style.chart.zoom.minimap.selectedColor,minimapSelectedColorOpacity:P.value.style.chart.zoom.minimap.selectedColorOpacity,minimapSelectedIndex:T.value,minimapSelectionRadius:P.value.style.chart.zoom.minimap.selectionRadius,preciseLabels:Mr.value?.length?Mr.value:$.value,refreshEndPoint:P.value.style.chart.zoom.endIndex===null?G.value:P.value.style.chart.zoom.endIndex+1,refreshStartPoint:P.value.style.chart.zoom.startIndex===null?0:P.value.style.chart.zoom.startIndex,selectColor:P.value.style.chart.zoom.highlightColor,selectedSeries:J.value,smoothMinimap:P.value.style.chart.zoom.minimap.smooth,start:X.value.start,timeLabels:$.value,usePreciseLabels:P.value.style.chart.grid.x.timeLabels.datetimeFormatter.enable&&!P.value.style.chart.zoom.useDefaultFormat,textColor:P.value.style.chart.color,useResetSlot:P.value.style.chart.zoom.useResetSlot,valueEnd:X.value.end,valueStart:X.value.start,verticalHandles:P.value.style.chart.zoom.minimap.verticalHandles,maxWidth:P.value.style.chart.zoom.maxWidth,minimapLeftInsetRatio:K.value.canvasWidth>0&&P.value.style.chart.zoom.autoFit?K.value.left/K.value.canvasWidth:null,minimapRightInsetRatio:K.value.canvasWidth>0&&P.value.style.chart.zoom.autoFit?(K.value.canvasWidth-K.value.right)/K.value.canvasWidth:null,additionalMinimapHeight:P.value.style.chart.zoom.minimap.additionalHeight,handleType:P.value.style.chart.zoom.minimap.handleType,handleIconColor:P.value.style.chart.zoom.minimap.handleIconColor,handleBorderWidth:P.value.style.chart.zoom.minimap.handleBorderWidth,handleBorderColor:P.value.style.chart.zoom.minimap.handleBorderColor,handleFill:P.value.style.chart.zoom.minimap.handleFill,handleWidth:P.value.style.chart.zoom.minimap.handleWidth,onFutureEnd:n[1]||=e=>mr(`end`,e),onFutureStart:n[2]||=e=>mr(`start`,e),onReset:n[3]||=()=>fr({force:!0,publish:!0}),onTrapMouse:Fn,"onUpdate:end":vr,"onUpdate:start":_r},{"reset-action":x(({reset:e})=>[v(t.$slots,`reset-action`,h(m({reset:e})),void 0,!0)]),_:3},8,/* @__PURE__ */ `allMinimaps.background.borderColor.customFormat.cutNullValues.enableRangeHandles.enableSelectionDrag.end.focusOnDrag.focusRangeRatio.fontSize.immediate.inputColor.isPreview.labelLeft.labelRight.max.minimap.minimapCompact.minimapFrameColor.minimapIndicatorColor.minimapLineColor.minimapMerged.minimapSelectedColor.minimapSelectedColorOpacity.minimapSelectedIndex.minimapSelectionRadius.preciseLabels.refreshEndPoint.refreshStartPoint.selectColor.selectedSeries.smoothMinimap.start.timeLabels.usePreciseLabels.textColor.useResetSlot.valueEnd.valueStart.verticalHandles.maxWidth.minimapLeftInsetRatio.minimapRightInsetRatio.additionalMinimapHeight.handleType.handleIconColor.handleBorderWidth.handleBorderColor.handleFill.handleWidth`.split(`.`))):f(``,!0),p(`div`,{id:`legend-bottom-${It.value}`},null,8,Ct),en.value&&(P.value.style.chart.legend.show||t.$slots.legend)?(g(),Ye(Je,{key:3,to:P.value.style.chart.legend.position===`top`?`#legend-top-${It.value}`:`#legend-bottom-${It.value}`},[p(`div`,{ref_key:`chartLegend`,ref:Jt},[v(t.$slots,`legend`,{legend:Ni.value},()=>[P.value.style.chart.legend.show&&M.value?(g(),Ye(Ke,{legendSet:Ni.value,config:Pi.value,key:`legend_${$t.value}`,isCursorPointer:hn.value,onClickMarker:n[4]||=({i:e})=>ki(e)},{item:x(({legend:e,index:t})=>[p(`div`,{onClick:t=>e.segregate(),style:it(`opacity:${E.value.includes(t)?.5:1}`)},ut(e.name),13,wt)]),legendToggle:x(()=>[Ni.value.length>2&&P.value.style.chart.legend.selectAllToggle.show&&!y(vn)?(g(),Ye(Ue,{key:0,backgroundColor:P.value.style.chart.legend.selectAllToggle.backgroundColor,color:P.value.style.chart.legend.selectAllToggle.color,fontSize:P.value.style.chart.legend.fontSize,checked:E.value.length>0,isCursorPointer:hn.value,onToggle:Oi},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0)]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),t.$slots.watermark?(g(),Xe(`div`,Tt,[v(t.$slots,`watermark`,h(m({isPrinting:y(On)||y(kn)||sn.value})),void 0,!0)])):f(``,!0),t.$slots.source?(g(),Xe(`div`,{key:5,ref_key:`source`,ref:Xt,dir:`auto`},[v(t.$slots,`source`,{},void 0,!0)],512)):f(``,!0),M.value&&F.value.buttons.table?(g(),Ye(ct(Ki.value.component),tt({key:6},Ki.value.props,{ref_key:`tableUnit`,ref:tn,onClose:qi}),Ze({content:x(()=>[(g(),Ye(y(kt),{key:`table_${Qt.value}`,colNames:Fi.value.colNames,head:Fi.value.head,body:Fi.value.body,config:Fi.value.config,title:P.value.table.useDialog?``:Ki.value.title,withCloseButton:!P.value.table.useDialog,isCursorPointer:hn.value,onClose:qi},{th:x(({th:e})=>[e===`__SUM__`?(g(),Xe(`div`,Et,[$e(Ce,{name:`sigma`,stroke:Fi.value.config.th.color,size:16},null,8,[`stroke`])])):(g(),Xe(`div`,Dt,ut(e),1))]),td:x(({td:e})=>[Qe(ut(e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[P.value.table.useDialog?{name:`title`,fn:x(()=>[Qe(ut(Ki.value.title),1)]),key:`0`}:void 0,P.value.table.useDialog?{name:`actions`,fn:x(()=>[p(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:n[5]||=e=>Li(F.value.callbacks.csv),style:it({cursor:hn.value?`pointer`:`default`})},[$e(Ce,{name:`fileCsv`,stroke:Ki.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),F.value.buttons.annotator&&Y.value.length?(g(),Ye(y(jt),{key:7,parent:Lt.value,backgroundColor:P.value.style.chart.backgroundColor,color:P.value.style.chart.color,active:Ui.value,isCursorPointer:hn.value,onClose:Wi},{"annotator-action-close":x(()=>[v(t.$slots,`annotator-action-close`,{},void 0,!0)]),"annotator-action-color":x(({color:e})=>[v(t.$slots,`annotator-action-color`,h(m({color:e})),void 0,!0)]),"annotator-action-draw":x(({mode:e})=>[v(t.$slots,`annotator-action-draw`,h(m({mode:e})),void 0,!0)]),"annotator-action-undo":x(({disabled:e})=>[v(t.$slots,`annotator-action-undo`,h(m({disabled:e})),void 0,!0)]),"annotator-action-redo":x(({disabled:e})=>[v(t.$slots,`annotator-action-redo`,h(m({disabled:e})),void 0,!0)]),"annotator-action-delete":x(({disabled:e})=>[v(t.$slots,`annotator-action-delete`,h(m({disabled:e})),void 0,!0)]),_:3},8,[`parent`,`backgroundColor`,`color`,`active`,`isCursorPointer`])):f(``,!0)],46,ht))}},[[`__scopeId`,`data-v-89100e57`]]);export{mt as n,Ot as t};
9
+ `)),Wn=d(()=>H.value.line.cutNullValues),J=d(()=>yn.value.map((e,t)=>({...e,series:c({data:ee(e.series,[],Wn.value),threshold:P.value.downsample.threshold}),absoluteIndex:t,color:l(e.color||Nn.value[t]||o[t]||o[t%o.length])}))),Gn=d(()=>{if(!H.value.zoom.minimap.show)return[];let e=J.value.filter(e=>!E.value.includes(e.absoluteIndex)),t=Math.max(...e.map(e=>e.series.length)),n=[];for(let r=0;r<t;r+=1)n.push(e.map(e=>e.series[r]||0).reduce((e,t)=>(e||0)+(t||0),0));let r=Math.min(...n);return n.map(e=>e+(r<0?Math.abs(r):0))}),Kn=d(()=>H.value.zoom.minimap.show?J.value.map(e=>({...e,isVisible:!E.value.includes(e.absoluteIndex)})):[]);b(G,e=>{e&&fr()});let Y=d(()=>ue(J.value.filter((e,t)=>!E.value.includes(e.absoluteIndex))).map((e,t)=>({...e,series:e.series.slice(X.value.start,X.value.end)})).map((e,t)=>{let n=[null,void 0].includes(e.scaleMin)?Math.min(...e.series)||0:e.scaleMin,r=[null,void 0].includes(e.scaleMax)?Math.max(...e.series)||1:e.scaleMax;n===r&&(n=n>=0?r-1:n,r=r>=0?r:n+1);let i={ratios:e.series.filter(e=>![null,void 0].includes(e)).map(e=>(e-n)/(r-n)),valueMin:n,valueMax:r},a=e.scaleSteps||H.value.scale.ticks,o;o=e.autoScaling?re(i.valueMin,i.valueMax,a):re(i.valueMin<0?i.valueMin:0,i.valueMax<=0?0:i.valueMax,a);let s=W.value.stacked?K.value.height*(1-e.cumulatedStackRatio):0,ee=W.value.stacked?K.value.height/H.value.stackGap:0,c=W.value.stacked?K.value.height*e.stackRatio-ee:K.value.height,l=o.min<0?Math.abs(o.min):0,te;te=e.autoScaling&&W.value.stacked&&r<=0?K.value.bottom-s-c:K.value.bottom-s-c*(l/(o.max+l));let ne=o.ticks.map((e,t)=>({y:K.value.bottom-s-c*(t/(o.ticks.length-1)),x:K.value.left-8,value:e})),ie=Hn({hasAutoScale:W.value.stacked&&e.autoScaling,series:e.series,min:W.value.stacked?n:q.value.min,max:W.value.stacked?r:q.value.max,scale:W.value.stacked?o:q.value.scale,yOffset:s,individualHeight:c,stackIndex:W.value.stacked?t:null});return{...e,coordinatesLine:ie,min:n,max:r,localScale:o,localZero:te,localMin:l,localYLabels:ne,yOffset:s,individualHeight:c}})),X=_({start:0,end:G.value}),Z=_({start:0,end:G.value}),qn=_(!1),Jn=_(!1),Yn=_(null),Xn=_(!1),Zn=_(null),Qn=_(null),$n=_(null),er=_({time:0,x:0,y:0,pointerType:null}),tr=d(()=>H.value.zoom?.dragToZoom),nr=d(()=>tr.value.show&&M.value&&an.value&&G.value>1&&!vn.value),rr=_(null),ir=null,ar={};function or(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}function sr(e,t=X.value){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let i=Number(n?e.start:t.start),a=Number(r?e.end:t.end);return!Number.isFinite(i)||!Number.isFinite(a)?null:{start:i,end:a}}function cr(e){let t=sr(e);t&&N(`update:zoomState`,t)}function lr(){ir&&=(cancelAnimationFrame(ir),null),ar={}}function ur(e){let t=sr(e);if(!t)return null;let{start:n,end:r}=t;return(n!==Number(X.value.start)||r!==Number(X.value.end))&&(lr(),X.value={start:n,end:r},Z.value={start:n,end:r},br()),{start:Number(X.value.start),end:Number(X.value.end)}}function dr(e){let t=ur(e);return t?(N(`update:zoomState`,t),t):null}at(()=>{rr.value&&cancelAnimationFrame(rr.value),lr(),ai()});async function fr({force:e=!1,publish:t=!1}={}){let n=!e;await hr(n),await nt(),rr.value&&cancelAnimationFrame(rr.value),rr.value=requestAnimationFrame(async()=>{await or(),await hr(n),rr.value=null,t&&(cr({start:Number(X.value.start),end:Number(X.value.end)}),N(`zoomReset`))})}let pr=d(()=>H.value.zoom.preview.enable&&(Z.value.start!==X.value.start||Z.value.end!==X.value.end));function mr(e,t){Z.value[e]=t}async function hr(e=!0){if(!rn.value){rn.value=!0;try{let{startIndex:t,endIndex:n}=H.value.zoom,r=Math.max(...J.value.map(e=>e.series.length)),i=t??0,a=n==null?r:Math.min(yr(n+1,i),r);on.value=!0,X.value={start:i,end:a},Z.value={start:i,end:a},br(),an.value=!0,await nt(),Yt.value&&Yt.value.setRangeValues(X.value.start,X.value.end),e&&S.zoomState&&ur(S.zoomState)}finally{queueMicrotask(()=>{on.value=!1}),rn.value=!1}}}function gr(e){ar={...ar,...e},ir&&cancelAnimationFrame(ir),ir=requestAnimationFrame(()=>{let e={...X.value,...ar};ar={},ir=null,X.value=e,Z.value={...e},br(),cr({start:Number(X.value.start),end:Number(X.value.end)})})}function _r(e){if(rn.value||on.value)return;let t=Number(e);Number.isFinite(t)&&(N(`zoomStart`,{index:t,isZoom:t!==0}),t!==X.value.start&&gr({start:t}))}function vr(e){if(rn.value||on.value)return;let t=ar.start===void 0?X.value.start:ar.start,n=yr(Number(e),t);Number.isFinite(n)&&(N(`zoomEnd`,{index:n,isZoom:n!==G.value}),(n!==X.value.end||ar.start!==void 0)&&gr({end:n}))}function yr(e,t=X.value.start){let n=G.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function br(){let e=Math.max(1,Math.max(...J.value.map(e=>e.series.length))),t=Math.max(0,Math.min(X.value.start??0,e-1)),n=Math.max(t+1,Math.min(X.value.end??e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),X.value={start:t,end:n},Z.value={start:t,end:n},Yt.value&&Yt.value.setRangeValues(t,n)}b([()=>S.zoomState,an],([e,t])=>{t&&e&&ur(e)},{deep:!0,immediate:!0});let xr=d(()=>Y.value.filter(e=>[`line`,`plot`,void 0].includes(e.type))),Q=d(()=>Y.value.filter(e=>e.type===`bar`));function Sr(){if(!U.value||!Rt.value)return;let e=Rt.value.offsetWidth,t=Rt.value.offsetHeight;U.value.width=e*Ut.value*2,U.value.height=t*Ut.value*2,w.value=e*Ut.value*2,zt.value=t*Ut.value*2,C.value?.scale(Ut.value,Ut.value),Wr()}b(M,async e=>{e?(await nt(),U.value&&!C.value&&(C.value=U.value.getContext(`2d`,{willReadFrequently:!0})),D.value=!0,O.value=!0,await fr(),Sr(),Wr()):(Wt.value=null,Bt.value=!1,T.value=null,k.value=null)});function Cr(){if(C.value&&(C.value.clearRect(0,0,1e4,1e4),C.value.fillStyle=H.value.backgroundColor,C.value.fillRect(0,0,K.value.canvasWidth,K.value.canvasHeight),M.value)){if(W.value.stacked)L.value.show&&X.value.end-X.value.start<L.value.hideUnderXLength?Y.value.forEach(e=>{for(let t=0;t<X.value.end-X.value.start+1;t+=1)u(C.value,[{x:K.value.left+K.value.slot*t,y:K.value.bottom-e.yOffset-e.individualHeight},{x:K.value.left+K.value.slot*t,y:K.value.bottom-e.yOffset}],{color:L.value.color})}):L.value.show&&X.value.end-X.value.start>=L.value.hideUnderXLength&&Y.value.forEach(e=>{for(let t=X.value.start;t<X.value.end;t+=1)t%Math.floor((X.value.end-X.value.start)/fn.value.modulo)===0&&u(C.value,[{x:K.value.left+K.value.slot*(t-X.value.start)+K.value.slot/2,y:K.value.bottom-e.yOffset-e.individualHeight},{x:K.value.left+K.value.slot*(t-X.value.start)+K.value.slot/2,y:K.value.bottom-e.yOffset}],{color:L.value.color})}),fn.value.show&&(fn.value.alternate?Y.value.forEach(e=>{e.localYLabels.forEach((t,n)=>{n<e.localYLabels.length-1&&Ie(C.value,[{x:K.value.left,y:t.y},{x:K.value.right,y:t.y},{x:K.value.right,y:e.localYLabels[n+1].y},{x:K.value.left,y:e.localYLabels[n+1].y}],{fillColor:n%2==0?`transparent`:s(H.value.grid.x.horizontalLines.color,H.value.grid.x.horizontalLines.opacity),strokeColor:`transparent`})})}):Y.value.forEach(e=>{e.localYLabels.slice(X.value.start,X.value.end).forEach(e=>{u(C.value,[{x:K.value.left,y:e.y},{x:K.value.right,y:e.y}],{color:fn.value.color})})})),B.value.zeroLine.show&&Y.value.forEach(e=>{u(C.value,[{x:K.value.left,y:e.localZero},{x:K.value.right,y:e.localZero}],{color:B.value.zeroLine.color,lineDash:B.value.zeroLine.dashed?[10,10]:[0,0]})}),R.value.show&&Y.value.forEach(e=>{u(C.value,[{x:K.value.left,y:K.value.bottom-e.yOffset},{x:K.value.left,y:K.value.bottom-e.yOffset-e.individualHeight}],{color:e.color}),u(C.value,[{x:K.value.right,y:K.value.bottom-e.yOffset},{x:K.value.right,y:K.value.bottom-e.yOffset-e.individualHeight}],{color:e.color})}),Y.value.forEach(e=>{Re(C.value,e.name,w.value/35,K.value.bottom-e.yOffset-e.individualHeight/2,{align:`center`,rotation:-90,color:e.color,font:`${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`})});else{if(L.value.show&&X.value.end-X.value.start<L.value.hideUnderXLength)for(let e=0;e<X.value.end-X.value.start+1;e+=1)u(C.value,[{x:K.value.left+K.value.slot*e,y:K.value.top},{x:K.value.left+K.value.slot*e,y:K.value.bottom}],{color:L.value.color});else if(L.value.show&&X.value.end-X.value.start>=L.value.hideUnderXLength)for(let e=X.value.start;e<X.value.end;e+=1)e%Math.floor((X.value.end-X.value.start)/z.value.modulo)===0&&u(C.value,[{x:K.value.left+K.value.slot*(e-X.value.start)+K.value.slot/2,y:K.value.top},{x:K.value.left+K.value.slot*(e-X.value.start)+K.value.slot/2,y:K.value.bottom}],{color:L.value.color});fn.value.show&&(fn.value.alternate?q.value.yLabels.forEach((e,t)=>{t<q.value.yLabels.length-1&&Ie(C.value,[{x:K.value.left,y:e.y},{x:K.value.right,y:e.y},{x:K.value.right,y:q.value.yLabels[t+1].y},{x:K.value.left,y:q.value.yLabels[t+1].y}],{fillColor:t%2==0?`transparent`:s(H.value.grid.x.horizontalLines.color,H.value.grid.x.horizontalLines.opacity),strokeColor:`transparent`})}):q.value.yLabels.forEach(e=>{u(C.value,[{x:K.value.left,y:e.y},{x:K.value.right,y:e.y}],{color:fn.value.color})})),B.value.y.showAxis&&u(C.value,[{x:K.value.left,y:K.value.top},{x:K.value.left,y:K.value.bottom}],{color:B.value.y.axisColor,lineWidth:B.value.y.axisThickness}),B.value.x.showAxis&&u(C.value,[{x:K.value.left,y:K.value.bottom},{x:K.value.right,y:K.value.bottom}],{color:B.value.x.axisColor,lineWidth:B.value.x.axisThickness}),B.value.zeroLine.show&&u(C.value,[{x:K.value.left,y:q.value.zero},{x:K.value.right,y:q.value.zero}],{color:B.value.zeroLine.color,lineDash:B.value.zeroLine.dashed?[10,10]:[0,0]})}B.value.y.axisName&&Re(C.value,B.value.y.axisName,w.value-w.value/40*R.value.fontSizeRatio*1.2,K.value.bottom-K.value.height/2,{font:`${R.value.bold?`bold `:``}${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:H.value.color,align:`center`,rotation:90}),B.value.x.axisName&&Re(C.value,B.value.x.axisName,w.value/2,zt.value,{font:`${R.value.bold?`bold `:``}${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:H.value.color,align:`center`})}}function wr(e){for(let t=0;t<e.coordinatesLine.length;t+=1){let n=(T.value===t||A.value===t?w.value/150:H.value.line.plots.show||e.type===`plot`?w.value/200:0)*H.value.line.plots.radiusRatio;ze(C.value,{x:e.coordinatesLine[t].x,y:e.coordinatesLine[t].y},n,{color:H.value.backgroundColor,fillStyle:e.color,strokeColor:`transparent`})}}function Tr(){Y.value.forEach(e=>{e.showYMarker&&Kr(e)&&Re(C.value,oe(V.value.formatter,Kr(e).value,n({p:e.prefix||R.value.prefix||``,v:Kr(e).value,s:e.suffix||R.value.suffix||``,r:e.rounding||R.value.rounding||0}),{datapoint:Kr(e),seriesIndex:null}),K.value.left-8+R.value.offsetX,Kr(e).y,{align:`right`,font:`${R.value.bold?`bold `:``}${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:e.color})})}function Er(){R.value.show&&(W.value.stacked?Y.value.forEach(e=>{e.localYLabels.forEach((t,r)=>{Re(C.value,oe(V.value.formatter,t.value,n({p:e.prefix||B.value.y.axisLabels.prefix||``,v:t.value,s:e.suffix||B.value.y.axisLabels.suffix||``,r:e.rounding||B.value.y.axisLabels.rounding||0}),{datapoint:t,seriesIndex:r}),t.x+R.value.offsetX,t.y,{align:`right`,font:`${R.value.bold?`bold `:``}${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:e.color,globalAlpha:e.showYMarker&&![null,void 0].includes(T.value??A.value)?.2:1})})}):q.value.yLabels.forEach((e,t)=>{Re(C.value,oe(V.value.formatter,e.value,n({p:R.value.prefix||``,v:e.value,s:R.value.suffix||``,r:R.value.rounding||0}),{datapoint:e,seriesIndex:t}),e.x+R.value.offsetX,e.y,{align:`right`,font:`${R.value.bold?`bold `:``}${Math.round(w.value/40*R.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:R.value.color,globalAlpha:Y.value.some(e=>e.showYMarker)&&![null,void 0].includes(T.value??A.value)?.2:1})}))}function Dr(e){for(let t=0;t<e.coordinatesLine.length;t+=1)Re(C.value,oe(V.value.formatter,e.coordinatesLine[t].value,n({p:e.prefix||``,v:e.coordinatesLine[t].value,s:e.suffix||``,r:e.rounding||0}),{datapoint:e.coordinatesLine[t],seriesIndex:t}),e.coordinatesLine[t].x,e.coordinatesLine[t].y+V.value.offsetY,{align:`center`,font:`${V.value.bold?`bold `:``}${Math.round(w.value/40*V.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:V.value.useSerieColor?e.color:V.value.color,strokeColor:H.value.backgroundColor,lineWidth:.5})}let $=_([]),Or=0;pt(()=>{let e=++Or;(async()=>{let t=await je({values:z.value.values,maxDatapoints:G.value,formatter:z.value.datetimeFormatter,start:0,end:G.value});e===Or&&($.value=t)})()}),pt(()=>{z.value.show,z.value.rotation,z.value.offsetY,z.value.fontSizeRatio,z.value.bold,X.value.start,X.value.end,w.value,zt.value,($.value||[]).map(e=>e?.text??``).join(`|`),Bn()},{flush:`post`});let kr=_({months:[],shortMonths:[],days:[],shortDays:[]}),Ar=0;pt(()=>{let e=++Ar,t=z.value.datetimeFormatter;(async()=>{let n=await Ae(t.locale).catch(()=>Ae(`en`));e===Ar&&(kr.value=n.data)})()});let jr=d(()=>{let e=z.value.datetimeFormatter,t=ke({useUTC:e.useUTC,locale:kr.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{let r=z.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),Mr=d(()=>(z.value.values||[]).map((e,t)=>({text:jr.value(t,H.value.zoom.timeFormat),absoluteIndex:t}))),Nr=d(()=>(z.value.values||[]).map((e,t)=>({text:jr.value(t,I.value.timeFormat),absoluteIndex:t})));function Pr(){for(let e=X.value.start;e<X.value.end;e+=1)(X.value.end-X.value.start<z.value.modulo||X.value.end-X.value.start>=z.value.modulo&&(e%Math.floor((X.value.end-X.value.start)/z.value.modulo)===0||(e===T.value+X.value.start||e===A.value)&&z.value.showMarker))&&Re(C.value,$.value[e]?$.value[e].text:e+1,K.value.left+K.value.slot*(e-X.value.start)+K.value.slot/2,K.value.bottom+w.value/z.value.offsetY,{align:z.value.rotation===0?`center`:z.value.rotation>0?`left`:`right`,font:`${z.value.bold?`bold `:``}${Math.round(w.value/40*z.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:z.value.showMarker?s(z.value.color,T.value!==null||A.value!==null?T.value+X.value.start===e||A.value===e?100:20:100):z.value.color,rotation:z.value.rotation})}function Fr(){u(C.value,[{x:K.value.left+K.value.slot*(T.value??A.value)+K.value.slot/2,y:K.value.top},{x:K.value.left+K.value.slot*(T.value??A.value)+K.value.slot/2,y:K.value.bottom}],{color:H.value.selector.color,lineDash:H.value.selector.dashed?[8,8]:[0,0],lineWidth:2,linceCap:`round`})}function Ir(){k.value&&u(C.value,[{x:K.value.left,y:k.value},{x:K.value.right,y:k.value}],{color:H.value.selector.color,lineDash:H.value.selector.dashed?[8,8]:[0,0],lineWidth:2,linceCap:`round`})}function Lr(){Q.value.forEach((e,t)=>{for(let r=0;r<e.coordinatesLine.length;r+=1)Ie(C.value,[{x:K.value.left+K.value.slot*r+K.value.slot/10+(W.value.stacked?0:K.value.slot/Q.value.length*t-(t===0?0:K.value.slot/(5*Q.value.length)*t)),y:W.value.stacked?e.localZero:q.value.zero},{x:K.value.left+K.value.slot*r+K.value.slot/10+(W.value.stacked?0:K.value.slot/Q.value.length*t-(t===0?0:K.value.slot/(5*Q.value.length)*t))+K.value.slot*.8/(W.value.stacked?1:Q.value.length),y:W.value.stacked?e.localZero:q.value.zero},{x:K.value.left+K.value.slot*r+K.value.slot/10+(W.value.stacked?0:K.value.slot/Q.value.length*t-(t===0?0:K.value.slot/(5*Q.value.length)*t))+K.value.slot*.8/(W.value.stacked?1:Q.value.length),y:e.coordinatesLine[r].y},{x:K.value.left+K.value.slot*r+K.value.slot/10+(W.value.stacked?0:K.value.slot/Q.value.length*t-(t===0?0:K.value.slot/(5*Q.value.length)*t)),y:e.coordinatesLine[r].y}],{strokeColor:H.value.backgroundColor,gradient:{type:`linear`,start:{x:e.coordinatesLine[r].x,y:e.coordinatesLine[r].y},end:{x:e.coordinatesLine[r].x,y:W.value.stacked?e.localZero:q.value.zero},stops:[{offset:0,color:e.color},{offset:1,color:H.value.bar.gradient.show?a(e.color,.5):e.color}]}}),W.value.showDataLabels&&[!0,void 0].includes(e.dataLabels)&&Re(C.value,oe(V.value.formatter,e.coordinatesLine[r].value,n({p:e.prefix||``,v:e.coordinatesLine[r].value,s:e.suffix||``,r:e.rounding||0}),{datapoint:e.coordinatesLine[r],seriesIndex:r}),K.value.left+K.value.slot*r+K.value.slot/10+(W.value.stacked?0:K.value.slot/Q.value.length*t-(t===0?0:K.value.slot/(5*Q.value.length)*t))+K.value.slot*.4/(W.value.stacked?1:Q.value.length),(e.coordinatesLine[r].value<0?W.value.stacked?e.localZero:q.value.zero:e.coordinatesLine[r].y)+V.value.offsetY,{align:`center`,font:`${Math.round(w.value/40*V.value.fontSizeRatio)}px ${P.value.style.fontFamily}`,color:V.value.useSerieColor?e.color:V.value.color,strokeColor:H.value.backgroundColor,lineWidth:.8})})}function Rr(e,t){let n=e.coordinatesLine.map((t,n)=>e.series[n]!=null&&Number.isFinite(t?.y)?t:null),r=[],i=[],a=[];for(let e=0;e<n.length;e+=1){let o=n[e];if(o)a.push(o);else{if(a.length>=2){let e=a[0],n=a[a.length-1];r.push([{x:e.x,y:t},...a,{x:n.x,y:t}])}else a.length===1&&i.push(a[0]);a=[]}}if(a.length>=2){let e=a[0],n=a[a.length-1];r.push([{x:e.x,y:t},...a,{x:n.x,y:t}])}else a.length===1&&i.push(a[0]);return{polygons:r,singles:i}}function zr(e){let t=e.coordinatesLine.map((t,n)=>e.series[n]!=null&&Number.isFinite(t?.y)?t:null),n=[],r=[];for(let e=0;e<t.length;e+=1){let i=t[e];i?r.push(i):(r.length>=2&&n.push(r),r=[])}return r.length>=2&&n.push(r),n}function Br(e){if(Wn.value){let t=zr(e);for(let n of t)u(C.value,n,{color:e.color,lineWidth:3})}else u(C.value,e.coordinatesLine,{color:e.color,lineWidth:3})}function Vr(e){let t=!!Wn.value;if(e.useArea){let n=W.value.stacked?e.localZero:q.value.zero;if(t){let{polygons:t,singles:r}=Rr(e,n);for(let n of t)Ne(C.value,n,{fillColor:s(e.color,H.value.area.opacity),strokeColor:`transparent`});let i=w.value/200*H.value.line.plots.radiusRatio;for(let t of r)ze(C.value,{x:t.x,y:t.y},i,{color:H.value.backgroundColor,fillStyle:e.color,strokeColor:`transparent`})}else{let t={x:e.coordinatesLine[0].x,y:n},r={x:e.coordinatesLine.at(-1).x,y:n};Ne(C.value,[t,...e.coordinatesLine,r],{fillColor:s(e.color,H.value.area.opacity),strokeColor:`transparent`})}Br(e)}else Br(e)}function Hr(){Y.value.forEach((e,t)=>{u(C.value,[{x:K.value.left,y:K.value.bottom-e.yOffset},{x:K.value.right,y:K.value.bottom-e.yOffset}],{color:fn.value.color,lineWidth:1})})}function Ur(){let{left:e,top:t,width:n,height:r}=K.value,i=X.value.start,a=X.value.end-i,o=n/a,s=Z.value.start-i,ee=Z.value.end-i,c=Math.max(0,Math.min(a,s)),l=Math.max(0,Math.min(a,ee));Ie(C.value,[{x:e+c*o,y:t},{x:e+c*o+(l-c)*o,y:t},{x:e+c*o+(l-c)*o,y:t+r},{x:e+c*o,y:t+r}],{fillColor:H.value.zoom.preview.fill,strokeColor:H.value.zoom.preview.stroke,lineDash:[,,,,].fill(H.value.zoom.preview.strokeDasharray),lineWidth:H.value.zoom.preview.strokeWidth})}function Wr(){M.value&&U.value&&C.value&&(Cr(),D.value?((T.value!==null||A.value!==null)&&H.value.selector.show&&Fr(),Lr(),W.value.stacked&&B.value.x.showAxis&&Hr(),xr.value.forEach(e=>{e.type!==`line`&&e.type||Vr(e),O.value&&(wr(e),W.value.showDataLabels&&[!0,void 0].includes(e.dataLabels)&&Dr(e))}),U.value&&(Wt.value=Fe(U.value))):(Wt.value&&(C.value.clearRect(0,0,1e4,1e4),C.value.drawImage(Wt.value,0,0)),(T.value!==null||A.value!==null)&&H.value.selector.show&&Fr(),(T.value!==null||A.value!==null)&&Y.value.forEach(e=>{let t=T.value??A.value,n=e.coordinatesLine[t];(e.type===`line`||!e.type||e.type===`plot`)&&n&&Number.isFinite(n.x)&&Number.isFinite(n.y)&&ze(C.value,{x:n.x,y:n.y},w.value/150*H.value.line.plots.radiusRatio,{color:H.value.backgroundColor,fillStyle:e.color,strokeColor:`transparent`})})),z.value.show&&Pr(),H.value.selector.show&&H.value.selector.showHorizontalSelector&&Ir(),Er(),Tr(),H.value.zoom.preview.enable&&(X.value.start!==Z.value.start||X.value.end!==Z.value.end)&&Ur(),D.value=!1)}let Gr=Le(()=>{O.value=!0,Sr()},G.value>200?10:1,!O.value);function Kr(e){if([null,void 0].includes(T.value??A.value)||!e.coordinatesLine[T.value??A.value])return!1;let{y:t,value:n}=e.coordinatesLine[T.value??A.value];return{y:t,value:n}}let qr=d(()=>!qn.value||Zn.value==null||Qn.value==null?null:{x:Math.min(Zn.value,Qn.value),y:K.value.top,width:Math.abs(Qn.value-Zn.value),height:K.value.height}),Jr=d(()=>an.value?Number(X.value.start)!==0||Number(X.value.end)!==Number(G.value):!1);function Yr(e){if(!U.value)return null;let t=U.value.getBoundingClientRect();return!t.width||!t.height?null:{x:(e.clientX-t.left)*(K.value.canvasWidth/t.width),y:(e.clientY-t.top)*(K.value.canvasHeight/t.height)}}function Xr(e){return Math.min(Math.max(e,K.value.left),K.value.right)}function Zr(e){return Y.value.map(t=>{let n=t.series[e];return{...t,name:t.name,value:[null,void 0,NaN].includes(n)?null:n,color:t.color,type:t.type}})}function Qr(e,t){if(t==null||t<0||t>=X.value.end-X.value.start)return;let n=P.value.events?.[e];i(n)&&n({datapoint:Zr(t),seriesIndex:t+X.value.start})}function $r(e){Yn.value!==e&&(Yn.value=e,Qr(`datapointEnter`,e))}function ei(){let e=Yn.value;e!=null&&Qr(`datapointLeave`,e),Yn.value=null}function ti(){Xn.value=!0,setTimeout(()=>{Xn.value=!1},0)}function ni(e){if(!e||!K.value?.slot)return null;let{left:t,right:n,top:r,bottom:i,slot:a}=K.value;if(e.x<t||e.x>n||e.y<r||e.y>i)return null;let o=Math.floor((e.x-t)/a),s=X.value.end-X.value.start;return o<0||o>=s?null:o}function ri(e){if(Xn.value){Xn.value=!1;return}let t=ni(Yr(e));t!==null&&Qr(`datapointClick`,t)}function ii(){ei(),vi(),A.value=null}function ai(e){let t=e?.pointerId==null?$n.value:e.pointerId;t!=null&&U.value?.hasPointerCapture?.(t)&&U.value.releasePointerCapture(t),qn.value=!1,Zn.value=null,Qn.value=null,$n.value=null}function oi(e){if(!nr.value||!Jr.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=er.value,i=n===`touch`?450:350,a=n===`touch`?28:10,o=Math.hypot(e.clientX-r.x,e.clientY-r.y);return r.time>0&&r.pointerType===n&&t-r.time<=i&&o<=a?(er.value={time:0,x:0,y:0,pointerType:null},ti(),ai(e),fr({force:!0,publish:!0}),!0):(er.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function si(e){let t=Number(X.value.end)-Number(X.value.start);if(t<=0||!Number.isFinite(K.value.slot)||K.value.slot<=0)return null;let n=Math.floor((Xr(e)-K.value.left)/K.value.slot);return Math.max(0,Math.min(t-1,n))}function ci(e,t){let n=si(e),r=si(t);if(n==null||r==null)return null;let i=Math.min(n,r),a=Math.max(n,r);return a<=i?null:{start:Number(X.value.start)+i,end:Number(X.value.start)+a+1}}function li(e){let t=dr(e);return t?(N(`zoomStart`,{index:t.start,isZoom:t.start!==0}),N(`zoomEnd`,{index:t.end,isZoom:t.end!==G.value}),t):null}function ui(e){if(!nr.value||Ui.value||e.button!==void 0&&e.button!==0||$n.value!=null&&e.pointerId!==$n.value)return;let t=Yr(e);if(!t)return;let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a||Number(X.value.end)-Number(X.value.start)<=1)return;Jn.value=!0,U.value?.focus?.({preventScroll:!0}),ii();let o=Xr(t.x);$n.value=e.pointerId,qn.value=!0,Zn.value=o,Qn.value=o}function di(e){if(!nr.value||!qn.value||$n.value!=null&&e.pointerId!==$n.value)return;let t=Yr(e);t&&(Qn.value=Xr(t.x),Zn.value!=null&&Math.abs(Qn.value-Zn.value)>=2&&!U.value?.hasPointerCapture?.(e.pointerId)&&U.value?.setPointerCapture?.(e.pointerId))}function fi(e){if(!nr.value||!qn.value||$n.value!=null&&e.pointerId!==$n.value)return;let t=Yr(e);t&&(Qn.value=Xr(t.x));let n=Zn.value,r=Qn.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,K.value.width*.01)){if(oi(e))return;ai(e);return}let i=ci(Math.min(n,r),Math.max(n,r));i?(ai(e),li(i)&&(er.value={time:0,x:0,y:0,pointerType:null},ii(),ti())):ai(e)}function pi(e){if(!M.value||!U.value||Pn.value||qn.value)return;let{left:t,top:n}=U.value.getBoundingClientRect(),r=e.clientX-t;if(k.value=(e.clientY-n)*2,(k.value<K.value.top||k.value>K.value.bottom)&&(k.value=null),r*2<K.value.left||r*2>K.value.right){ei(),vi();return}let a=r*2-K.value.left,o=Math.floor(a/K.value.slot);if($r(o),T.value=o,j.value=o,Bt.value=!0,cn.value=!1,!O.value)return;let s=``,ee=I.value.customFormat,c=Y.value.map(e=>({shape:e.shape||null,name:e.name,color:e.color,type:e.type||`line`,value:e.series.find((e,t)=>t===T.value)}));Ht.value={timeLabel:z.value.values.slice(X.value.start,X.value.end)[T.value]?I.value.useDefaultTimeFormat?$.value.slice(X.value.start,X.value.end)[T.value]?.text:Nr.value[T.value]?.text:``,datapoint:c,seriesIndex:T.value,series:Y.value,config:P.value},Si({seriesIndex:T.value,datapoint:c}),i(ee)&&de(()=>ee({seriesIndex:T.value,datapoint:c,series:Y.value,config:P.value}))?Vt.value=ee({seriesIndex:T.value,datapoint:c,series:Y.value,config:P.value}):(z.value.values.slice(X.value.start,X.value.end)[T.value]?s+=`<div style="padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid ${I.value.borderColor}; width:100%">${I.value.useDefaultTimeFormat?$.value.slice(X.value.start,X.value.end)[T.value]?.text:Nr.value[T.value]?.text}</div>`:s+=`<div style="padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid ${I.value.borderColor}; width:100%">${$.value[T.value+X.value.start]?.text??``}</div>`,s+=Un.value.join(``),Vt.value=s),O.value=!1}function mi(e){return Y.value.map(t=>({shape:t.shape||null,name:t.name,color:t.color,type:t.type||`line`,value:t.series.find((t,n)=>n===e)}))}function hi(e){let t=``,n=I.value.customFormat,r=mi(e);return Si({seriesIndex:e,datapoint:r}),i(n)&&de(()=>n({seriesIndex:e,datapoint:r,series:Y.value,config:P.value}))?n({seriesIndex:e,datapoint:r,series:Y.value,config:P.value}):(z.value.values.slice(X.value.start,X.value.end)[e]?t+=`<div style="padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid ${I.value.borderColor}; width:100%">${I.value.useDefaultTimeFormat?$.value.slice(X.value.start,X.value.end)[e]?.text:Nr.value[e]?.text}</div>`:t+=`<div style="padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid ${I.value.borderColor}; width:100%">${$.value[e+X.value.start]?.text??``}</div>`,t+=Un.value.join(``),t)}function gi(e){if(!U.value||!K.value?.slot)return;let t=U.value.getBoundingClientRect(),n=t.width/K.value.canvasWidth,r=t.height/K.value.canvasHeight,i=K.value.left+K.value.slot*e+K.value.slot/2,a=K.value.top+K.value.height/2;un.value={x:t.left+i*n,y:t.top+a*r}}function _i(e,{fromKeyboard:t=!1,triggerEvent:n=!0}={}){M.value&&!Pn.value&&e!=null&&(e<0||e>=X.value.end-X.value.start||(n&&$r(e),T.value=e,j.value=e,Bt.value=!0,cn.value=t,Vt.value=hi(e),t&&gi(e),O.value=!1,Wr()))}function vi(){Bt.value=!1,T.value=null,j.value=null,Vt.value=``,k.value=null,cn.value=!1,Wr()}function yi(){ln.value=!0}function bi(){Jn.value=!1,ln.value=!1,vi()}function xi(e){if(!U.value||Ui.value||document.activeElement!==U.value)return;if(Jn.value=!1,e.key===`Escape`){if(nr.value&&(Jr.value||qn.value)){e.preventDefault(),e.stopPropagation(),ai(),fr({force:!0,publish:!0});return}vi();return}let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`;if(!t&&!n)return;let r=X.value.end-X.value.start;if(r<=0)return;e.preventDefault(),e.stopPropagation();let i=j.value;i!==null&&i>=0&&i<r?n?(i+=1,i>=r&&(i=0)):(--i,i<0&&(i=r-1)):i=n?0:r-1,_i(i,{fromKeyboard:!0})}function Si({seriesIndex:e,datapoint:t}){let n=X.value.start+e;N(`selectX`,{dataset:t,index:n,indexLabel:``})}b(()=>S.selectedXIndex,e=>{if([null,void 0].includes(S.selectedXIndex)){vi();return}let t=e-X.value.start;t<0||e>=X.value.end?vi():_i(t,{fromKeyboard:!1,triggerEvent:!1})},{immediate:!0}),b(()=>T.value,e=>{Gr()}),b(()=>X.value,e=>{D.value=!0,Wr()},{deep:!0}),b(()=>Z.value,e=>{Wr()},{deep:!0}),b(()=>W.value.showDataLabels,e=>{D.value=!0,Wr()}),b(()=>k.value,e=>{e&&Wr()}),b(()=>W.value.stacked,e=>{D.value=!0,O.value=!0,Gr()});function Ci(){ei(),vi()}let wi=lt(null),Ti=lt(null),Ei=lt(null);ot(()=>{en.value=!0,Di()});function Di(){if(me(S.dataset)&&ae({componentName:`VueUiXyCanvas`,type:`dataset`,debug:gn.value}),nt(()=>{U.value&&!C.value&&(C.value=U.value.getContext(`2d`,{willReadFrequently:!0})),C.value&&M.value&&(D.value=!0,O.value=!0,Sr())}),P.value.responsive){let e=Pe(()=>{let{width:e,height:t}=Be({chart:Lt.value,title:H.value.title.text?qt.value:null,legend:H.value.legend.show?Jt.value:null,slicer:H.value.zoom.show&&G.value>6?Yt.value?.$el:null,source:Xt.value});requestAnimationFrame(()=>{Dn.value=`${e} / ${t}`})});wi.value&&(Ti.value&&wi.value.unobserve(Ti.value),wi.value.disconnect()),wi.value=new ResizeObserver(e),Ti.value=Lt.value.parentNode,wi.value.observe(Ti.value)}Ei.value&&Ei.value.disconnect(),Ei.value=new ResizeObserver(async e=>{for(let t of e)t.contentBoxSize&&Rt.value&&(D.value=!0,Gr())}),Ei.value.observe(Rt.value),fr()}at(()=>{Ei.value&&Ei.value.disconnect(),wi.value&&(Ti.value&&wi.value.unobserve(Ti.value),wi.value.disconnect())});function Oi(){E.value.length?E.value=[]:Ni.value.forEach((e,t)=>{E.value.push(t)}),D.value=!0,Gr(),N(`selectLegend`,Y.value)}function ki(e){E.value.includes(e)?E.value=E.value.filter(t=>t!==e):E.value.push(e),D.value=!0,Gr(),N(`selectLegend`,Y.value)}function Ai(e){return J.value.length?J.value.find(t=>t.name===e)||(gn.value&&console.warn(`VueUiXyCanvas - Series name not found "${e}"`),null):(gn.value&&console.warn(`VueUiXyCanvas - There are no series to show.`),null)}function ji(e){let t=Ai(e);t!==null&&E.value.includes(t.absoluteIndex)&&ki(t.absoluteIndex)}function Mi(e){let t=Ai(e);t!==null&&(E.value.includes(t.absoluteIndex)||ki(t.absoluteIndex))}let Ni=d(()=>J.value.map((e,t)=>({...e,name:e.name,color:l(e.color)||Nn.value[t]||o[t]||o[t%o.length],shape:e.shape||`circle`,prefix:e.prefix||``,suffix:e.suffix||``,rounding:e.rounding||0})).map(e=>({...e,opacity:E.value.includes(e.absoluteIndex)?.5:1,segregate:()=>ki(e.absoluteIndex),isSegregated:E.value.includes(e.absoluteIndex)}))),Pi=d(()=>({cy:`donut-div-legend`,backgroundColor:H.value.legend.backgroundColor,color:H.value.legend.color,fontSize:H.value.legend.fontSize,paddingBottom:12,fontWeight:H.value.legend.bold?`bold`:``})),Fi=d(()=>{let e=[``].concat(Y.value.map(e=>e.name),`__SUM__`),t=[];for(let e=0;e<G.value;e+=1){let n=Y.value.map(t=>t.series[e]??0).reduce((e,t)=>e+t,0);t.push([z.value.values.slice(X.value.start,X.value.end)[e]?$?.value?.slice(X.value.start,X.value.end)?.[e]?.text??e+1:e+1].concat(Y.value.map(t=>(t.series[e]??0).toFixed(P.value.table.rounding)),(n??0).toFixed(P.value.table.rounding)))}let n={th:{backgroundColor:P.value.table.th.backgroundColor,color:P.value.table.th.color,outline:P.value.table.th.outline},td:{backgroundColor:P.value.table.td.backgroundColor,color:P.value.table.td.color,outline:P.value.table.td.outline},breakpoint:P.value.table.responsiveBreakpoint},r=[P.value.table.columnNames.period].concat(Y.value.map(e=>e.name),P.value.table.columnNames.total);return{head:e,body:t.slice(0,X.value.end-X.value.start),config:n,colNames:r}}),Ii=d(()=>{if(Y.value.length===0)return{head:[],body:[],config:{},columnNames:[]};let e=Y.value.map(e=>({label:e.name,color:e.color,type:e.type})),t=[];for(let e=X.value.start;e<X.value.end;e+=1){let n=[z.value.values[e]?$.value[e].text:e+1];Y.value.forEach(t=>{n.push(Number((t.series[e]||0).toFixed(P.value.table.rounding)))}),t.push(n)}return{head:e,body:t}});function Li(e=null){let t=[[H.value.title.text],[H.value.title.subtitle.text],[``]],n=[``,...Ii.value.head.map(e=>e.label)],i=Ii.value.body,a=t.concat([n]).concat(i),o=r(a);e?e(o):le({csvContent:o,title:H.value.title.text||`vue-ui-xy-canvas`})}function Ri(){return Y.value}function zi(){W.value.showTable=!W.value.showTable}function Bi(){W.value.showDataLabels=!W.value.showDataLabels}function Vi(){W.value.stacked=!W.value.stacked}function Hi(){W.value.showTooltip=!W.value.showTooltip}let Ui=_(!1);function Wi(){Ui.value=!Ui.value}async function Gi({scale:e=2}={}){if(!Lt.value)return;let{imageUri:t,base64:n}=await Se({domElement:Lt.value,base64:!0,img:!0,scale:e}),r=Lt.value.getBoundingClientRect(),i={width:r.width,height:r.height,aspectRatio:r.height?r.width/r.height:0},a=await ie(t,e)??i;return{imageUri:t,base64:n,title:H.value.title.text,...a}}let Ki=d(()=>Ee({config:P,style:H,mutableConfig:W,dialog:Mt,accordion:He,isFullscreen:Kt,parent:Lt,maxWidth:800,isCursorPointer:hn}));b(()=>W.value.showTable,e=>Te(e,P,tn));function qi(){W.value.showTable=!1,nn.value&&nn.value.setTableIconState(!1)}function Ji(e){e?.stage===`start`?sn.value=!0:e?.stage===`end`?sn.value=!1:jn()}async function Yi(){N(`copyAlt`,{config:P.value,dataset:Y.value}),F.value.callbacks.altCopy?await Promise.resolve(F.value.callbacks.altCopy({config:P.value,dataset:Y.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}return ye({getData:Ri,getImage:Gi,generateCsv:Li,generatePdf:An,generateImage:jn,hideSeries:Mi,showSeries:ji,toggleTable:zi,toggleLabels:Bi,toggleStack:Vi,toggleTooltip:Hi,toggleAnnotator:Wi,toggleFullscreen:Mn,copyAlt:Yi,resetZoom:()=>fr({force:!0,publish:!0}),setZoomState:dr}),(t,n)=>(g(),Xe(`div`,{style:it(`width:100%; position:relative; ${P.value.responsive?`height: 100%`:``}; background:${P.value.style.chart.backgroundColor};`),ref_key:`xy`,ref:Lt,id:`xy_canvas_${It.value}`,class:rt(`vue-data-ui-component vue-ui-xy-canvas ${Kt.value?`vue-data-ui-wrapper-fullscreen`:``}`),onMouseenter:Cn,onMouseleave:wn},[p(`div`,{id:`chart-instructions-${It.value}`,class:`sr-only`},[p(`p`,null,ut(P.value.a11y.translations.keyboardNavigation),1)],8,gt),p(`div`,_t,ut(mn.value),1),P.value.style.chart.title.text?(g(),Xe(`div`,{key:0,ref_key:`chartTitle`,ref:qt,style:it(`width:100%;background:${P.value.style.chart.backgroundColor};`)},[(g(),Ye(we,{key:`title_${Zt.value}`,config:{title:{cy:`xy-canvas-title`,...P.value.style.chart.title},subtitle:{cy:`xy-canvas-subtitle`,...P.value.style.chart.title.subtitle}}},null,8,[`config`]))],4)):f(``,!0),p(`div`,{id:`legend-top-${It.value}`},null,8,vt),F.value.show&&M.value&&(y(Sn)||y(bn))?(g(),Ye(y(At),{ref_key:`userOptionsRef`,ref:nn,key:`user_option_${Gt.value}`,backgroundColor:P.value.style.chart.backgroundColor,color:P.value.style.chart.color,isPrinting:y(On),isImaging:y(kn),uid:It.value,hasTooltip:F.value.buttons.tooltip&&I.value.show,hasPdf:F.value.buttons.pdf,hasImg:F.value.buttons.img,hasXls:F.value.buttons.csv,hasLabel:F.value.buttons.labels,hasStack:e.dataset.length>1&&F.value.buttons.stack,hasFullscreen:F.value.buttons.fullscreen,hasAltCopy:F.value.buttons.altCopy,hasTable:X.value.end-X.value.start<=730&&F.value.buttons.table,isFullscreen:Kt.value,isTooltip:W.value.showTooltip,isStacked:W.value.stacked,titles:{...F.value.buttonTitles},chartElement:Lt.value,position:F.value.position,hasAnnotator:F.value.buttons.annotator,isAnnotation:Ui.value,callbacks:F.value.callbacks,printScale:F.value.print.scale,tableDialog:P.value.table.useDialog,isCursorPointer:hn.value,onToggleFullscreen:Mn,onGeneratePdf:y(An),onGenerateCsv:Li,onGenerateImage:Ji,onToggleTable:zi,onToggleLabels:Bi,onToggleStack:Vi,onToggleTooltip:Hi,onToggleAnnotator:Wi,onCopyAlt:Yi,style:it({visibility:y(Sn)?y(bn)?`visible`:`hidden`:`visible`})},Ze({_:2},[st(y(De)(t.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionTable optionLabels optionStack optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),e=>({name:e,fn:x(n=>[v(t.$slots,e,h(m(y(Oe)(e,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasXls.hasLabel.hasStack.hasFullscreen.hasAltCopy.hasTable.isFullscreen.isTooltip.isStacked.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.style`.split(`.`))):f(``,!0),p(`div`,{class:`vue-ui-xy-canvas`,style:it(`position: relative; aspect-ratio: ${Dn.value}`),ref_key:`container`,ref:Rt},[p(`canvas`,{ref_key:`canvas`,ref:U,class:rt({"vue-ui-xy-canvas-chart-zoom-pointer-focus":nr.value&&Jn.value}),"aria-label":pn.value,"aria-describedby":`chart-instructions-${It.value}`,role:`img`,"aria-live":`polite`,tabindex:`0`,style:it({width:`100%`,height:`100%`,cursor:nr.value?qn.value?`col-resize`:`crosshair`:void 0,touchAction:nr.value?`pan-y`:void 0,userSelect:nr.value?`none`:void 0}),onMousemove:n[0]||=e=>pi(e),onMouseleave:Ci,onClick:ri,onPointerdown:ui,onPointermove:di,onPointerup:fi,onPointercancel:ai,onFocus:yi,onBlur:bi,onKeydown:xi},null,46,yt),qr.value?(g(),Xe(`svg`,{key:0,viewBox:`0 0 ${K.value.canvasWidth} ${K.value.canvasHeight}`,preserveAspectRatio:`none`,"aria-hidden":`true`,style:{position:`absolute`,inset:`0`,width:`100%`,height:`100%`,"pointer-events":`none`,overflow:`visible`}},[p(`rect`,{x:qr.value.x,y:qr.value.y,width:qr.value.width,height:qr.value.height,fill:tr.value.selection.fill,"fill-opacity":tr.value.selection.fillOpacity,stroke:tr.value.selection.stroke,"stroke-opacity":tr.value.selection.strokeOpacity,"stroke-width":tr.value.selection.strokeWidth,"stroke-dasharray":tr.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,xt)],8,bt)):f(``,!0),t.$slots.hint?(g(),Xe(`div`,St,[v(t.$slots,`hint`,h(m({hint:P.value.a11y.translations.keyboardNavigation,isVisible:ln.value})),void 0,!0)])):f(``,!0),v(t.$slots,`skeleton`,{},()=>[y(vn)?(g(),Ye(ge,{key:0})):f(``,!0)],!0),$e(y(Ot),{teleportTo:I.value.teleportTo,show:W.value.showTooltip&&Bt.value,backgroundColor:I.value.backgroundColor,color:I.value.color,fontSize:I.value.fontSize,borderRadius:I.value.borderRadius,borderColor:I.value.borderColor,borderWidth:I.value.borderWidth,position:I.value.position,offsetX:I.value.offsetX,offsetY:I.value.offsetY,parent:t.$refs.xy,content:Vt.value,isFullscreen:Kt.value,backgroundOpacity:I.value.backgroundOpacity,isCustom:y(i)(I.value.customFormat),smooth:I.value.smooth,backdropFilter:I.value.backdropFilter,smoothForce:I.value.smoothForce,smoothSnapThreshold:I.value.smoothSnapThreshold,isA11yMode:cn.value,a11yPosition:un.value},{"tooltip-before":x(()=>[v(t.$slots,`tooltip-before`,h(m({...Ht.value})),void 0,!0)]),tooltip:x(()=>[v(t.$slots,`tooltip`,h(m({...Ht.value})),void 0,!0)]),"tooltip-after":x(()=>[v(t.$slots,`tooltip-after`,h(m({...Ht.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`backgroundOpacity`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`])],4),P.value.style.chart.zoom.show&&G.value>6&&M.value&&an.value&&!y(vn)?(g(),Ye(Ve,{key:2,ref_key:`chartSlicer`,ref:Yt,"data-dom-to-png-ignore-layout":``,allMinimaps:Kn.value,background:P.value.style.chart.zoom.color,borderColor:P.value.style.chart.backgroundColor,customFormat:P.value.style.chart.zoom.customFormat,cutNullValues:Wn.value,enableRangeHandles:P.value.style.chart.zoom.enableRangeHandles,enableSelectionDrag:P.value.style.chart.zoom.enableSelectionDrag,end:X.value.end,focusOnDrag:P.value.style.chart.zoom.focusOnDrag,focusRangeRatio:P.value.style.chart.zoom.focusRangeRatio,fontSize:P.value.style.chart.zoom.fontSize,immediate:!P.value.style.chart.zoom.preview.enable,inputColor:P.value.style.chart.zoom.color,isPreview:pr.value,labelLeft:P.value.style.chart.grid.x.timeLabels.values[X.value.start]?$.value[X.value.start]?.text:``,labelRight:P.value.style.chart.grid.x.timeLabels.values[X.value.end-1]?$.value[X.value.end-1]?.text:``,max:G.value,min:0,minimap:Gn.value,minimapCompact:P.value.style.chart.zoom.minimap.compact,minimapFrameColor:P.value.style.chart.zoom.minimap.frameColor,minimapIndicatorColor:P.value.style.chart.zoom.minimap.indicatorColor,minimapLineColor:P.value.style.chart.zoom.minimap.lineColor,minimapMerged:P.value.style.chart.zoom.minimap.merged,minimapSelectedColor:P.value.style.chart.zoom.minimap.selectedColor,minimapSelectedColorOpacity:P.value.style.chart.zoom.minimap.selectedColorOpacity,minimapSelectedIndex:T.value,minimapSelectionRadius:P.value.style.chart.zoom.minimap.selectionRadius,preciseLabels:Mr.value?.length?Mr.value:$.value,refreshEndPoint:P.value.style.chart.zoom.endIndex===null?G.value:P.value.style.chart.zoom.endIndex+1,refreshStartPoint:P.value.style.chart.zoom.startIndex===null?0:P.value.style.chart.zoom.startIndex,selectColor:P.value.style.chart.zoom.highlightColor,selectedSeries:J.value,smoothMinimap:P.value.style.chart.zoom.minimap.smooth,start:X.value.start,timeLabels:$.value,usePreciseLabels:P.value.style.chart.grid.x.timeLabels.datetimeFormatter.enable&&!P.value.style.chart.zoom.useDefaultFormat,textColor:P.value.style.chart.color,useResetSlot:P.value.style.chart.zoom.useResetSlot,valueEnd:X.value.end,valueStart:X.value.start,verticalHandles:P.value.style.chart.zoom.minimap.verticalHandles,maxWidth:P.value.style.chart.zoom.maxWidth,minimapLeftInsetRatio:K.value.canvasWidth>0&&P.value.style.chart.zoom.autoFit?K.value.left/K.value.canvasWidth:null,minimapRightInsetRatio:K.value.canvasWidth>0&&P.value.style.chart.zoom.autoFit?(K.value.canvasWidth-K.value.right)/K.value.canvasWidth:null,additionalMinimapHeight:P.value.style.chart.zoom.minimap.additionalHeight,handleType:P.value.style.chart.zoom.minimap.handleType,handleIconColor:P.value.style.chart.zoom.minimap.handleIconColor,handleBorderWidth:P.value.style.chart.zoom.minimap.handleBorderWidth,handleBorderColor:P.value.style.chart.zoom.minimap.handleBorderColor,handleFill:P.value.style.chart.zoom.minimap.handleFill,handleWidth:P.value.style.chart.zoom.minimap.handleWidth,onFutureEnd:n[1]||=e=>mr(`end`,e),onFutureStart:n[2]||=e=>mr(`start`,e),onReset:n[3]||=()=>fr({force:!0,publish:!0}),onTrapMouse:Fn,"onUpdate:end":vr,"onUpdate:start":_r},{"reset-action":x(({reset:e})=>[v(t.$slots,`reset-action`,h(m({reset:e})),void 0,!0)]),_:3},8,/* @__PURE__ */ `allMinimaps.background.borderColor.customFormat.cutNullValues.enableRangeHandles.enableSelectionDrag.end.focusOnDrag.focusRangeRatio.fontSize.immediate.inputColor.isPreview.labelLeft.labelRight.max.minimap.minimapCompact.minimapFrameColor.minimapIndicatorColor.minimapLineColor.minimapMerged.minimapSelectedColor.minimapSelectedColorOpacity.minimapSelectedIndex.minimapSelectionRadius.preciseLabels.refreshEndPoint.refreshStartPoint.selectColor.selectedSeries.smoothMinimap.start.timeLabels.usePreciseLabels.textColor.useResetSlot.valueEnd.valueStart.verticalHandles.maxWidth.minimapLeftInsetRatio.minimapRightInsetRatio.additionalMinimapHeight.handleType.handleIconColor.handleBorderWidth.handleBorderColor.handleFill.handleWidth`.split(`.`))):f(``,!0),p(`div`,{id:`legend-bottom-${It.value}`},null,8,Ct),en.value&&(P.value.style.chart.legend.show||t.$slots.legend)?(g(),Ye(Je,{key:3,to:P.value.style.chart.legend.position===`top`?`#legend-top-${It.value}`:`#legend-bottom-${It.value}`},[p(`div`,{ref_key:`chartLegend`,ref:Jt},[v(t.$slots,`legend`,{legend:Ni.value},()=>[P.value.style.chart.legend.show&&M.value?(g(),Ye(Ke,{legendSet:Ni.value,config:Pi.value,key:`legend_${$t.value}`,isCursorPointer:hn.value,onClickMarker:n[4]||=({i:e})=>ki(e)},{item:x(({legend:e,index:t})=>[p(`div`,{onClick:t=>e.segregate(),style:it(`opacity:${E.value.includes(t)?.5:1}`)},ut(e.name),13,wt)]),legendToggle:x(()=>[Ni.value.length>2&&P.value.style.chart.legend.selectAllToggle.show&&!y(vn)?(g(),Ye(Ue,{key:0,backgroundColor:P.value.style.chart.legend.selectAllToggle.backgroundColor,color:P.value.style.chart.legend.selectAllToggle.color,fontSize:P.value.style.chart.legend.fontSize,checked:E.value.length>0,isCursorPointer:hn.value,onToggle:Oi},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0)]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),t.$slots.watermark?(g(),Xe(`div`,Tt,[v(t.$slots,`watermark`,h(m({isPrinting:y(On)||y(kn)||sn.value})),void 0,!0)])):f(``,!0),t.$slots.source?(g(),Xe(`div`,{key:5,ref_key:`source`,ref:Xt,dir:`auto`},[v(t.$slots,`source`,{},void 0,!0)],512)):f(``,!0),M.value&&F.value.buttons.table?(g(),Ye(ct(Ki.value.component),tt({key:6},Ki.value.props,{ref_key:`tableUnit`,ref:tn,onClose:qi}),Ze({content:x(()=>[(g(),Ye(y(kt),{key:`table_${Qt.value}`,colNames:Fi.value.colNames,head:Fi.value.head,body:Fi.value.body,config:Fi.value.config,title:P.value.table.useDialog?``:Ki.value.title,withCloseButton:!P.value.table.useDialog,isCursorPointer:hn.value,onClose:qi},{th:x(({th:e})=>[e===`__SUM__`?(g(),Xe(`div`,Et,[$e(Ce,{name:`sigma`,stroke:Fi.value.config.th.color,size:16},null,8,[`stroke`])])):(g(),Xe(`div`,Dt,ut(e),1))]),td:x(({td:e})=>[Qe(ut(e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[P.value.table.useDialog?{name:`title`,fn:x(()=>[Qe(ut(Ki.value.title),1)]),key:`0`}:void 0,P.value.table.useDialog?{name:`actions`,fn:x(()=>[p(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:n[5]||=e=>Li(F.value.callbacks.csv),style:it({cursor:hn.value?`pointer`:`default`})},[$e(Ce,{name:`fileCsv`,stroke:Ki.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),F.value.buttons.annotator&&Y.value.length?(g(),Ye(y(jt),{key:7,parent:Lt.value,backgroundColor:P.value.style.chart.backgroundColor,color:P.value.style.chart.color,active:Ui.value,isCursorPointer:hn.value,onClose:Wi},{"annotator-action-close":x(()=>[v(t.$slots,`annotator-action-close`,{},void 0,!0)]),"annotator-action-color":x(({color:e})=>[v(t.$slots,`annotator-action-color`,h(m({color:e})),void 0,!0)]),"annotator-action-draw":x(({mode:e})=>[v(t.$slots,`annotator-action-draw`,h(m({mode:e})),void 0,!0)]),"annotator-action-undo":x(({disabled:e})=>[v(t.$slots,`annotator-action-undo`,h(m({disabled:e})),void 0,!0)]),"annotator-action-redo":x(({disabled:e})=>[v(t.$slots,`annotator-action-redo`,h(m({disabled:e})),void 0,!0)]),"annotator-action-delete":x(({disabled:e})=>[v(t.$slots,`annotator-action-delete`,h(m({disabled:e})),void 0,!0)]),_:3},8,[`parent`,`backgroundColor`,`color`,`active`,`isCursorPointer`])):f(``,!0)],46,ht))}},[[`__scopeId`,`data-v-ec976c9e`]]);export{mt as n,Ot as t};
package/package.json CHANGED
@@ -1,138 +1,148 @@
1
1
  {
2
- "name": "vue-data-ui",
3
- "private": false,
4
- "version": "3.28.2",
5
- "type": "module",
6
- "description": "A user-empowering data visualization Vue 3 components library for eloquent data storytelling",
7
- "keywords": [
8
- "3d bar",
9
- "Vue",
10
- "accelerometer",
11
- "age pyramid",
12
- "annotator",
13
- "candlestick",
14
- "chart",
15
- "cluster",
16
- "dashboard",
17
- "data storytelling",
18
- "data visualization",
19
- "donut evolution",
20
- "donut",
21
- "dumbbell",
22
- "funnel",
23
- "galaxy",
24
- "gauge",
25
- "graph",
26
- "heatmap",
27
- "kpi",
28
- "line",
29
- "molecule",
30
- "mood radar",
31
- "quadrant",
32
- "quick chart",
33
- "radar",
34
- "rating",
35
- "relationship circle",
36
- "rings",
37
- "scatter",
38
- "screenshot",
39
- "skeleton",
40
- "smiley",
41
- "sparkbar",
42
- "sparkline",
43
- "stackbar",
44
- "table heatmap",
45
- "table",
46
- "thermometer",
47
- "tiremarks",
48
- "tree",
49
- "treemap",
50
- "waffle",
51
- "wheel",
52
- "wordcloud",
53
- "circle packing",
54
- "dag"
55
- ],
56
- "author": "Alec Lloyd Probert",
57
- "repository": {
58
- "type": "git",
59
- "url": "git+https://github.com/graphieros/vue-data-ui.git"
2
+ "name": "vue-data-ui",
3
+ "private": false,
4
+ "version": "3.28.3",
5
+ "type": "module",
6
+ "description": "A user-empowering data visualization Vue 3 components library for eloquent data storytelling",
7
+ "keywords": [
8
+ "3d bar",
9
+ "Vue",
10
+ "accelerometer",
11
+ "age pyramid",
12
+ "annotator",
13
+ "candlestick",
14
+ "chart",
15
+ "cluster",
16
+ "dashboard",
17
+ "data storytelling",
18
+ "data visualization",
19
+ "donut evolution",
20
+ "donut",
21
+ "dumbbell",
22
+ "funnel",
23
+ "galaxy",
24
+ "gauge",
25
+ "graph",
26
+ "heatmap",
27
+ "kpi",
28
+ "line",
29
+ "molecule",
30
+ "mood radar",
31
+ "quadrant",
32
+ "quick chart",
33
+ "radar",
34
+ "rating",
35
+ "relationship circle",
36
+ "rings",
37
+ "scatter",
38
+ "screenshot",
39
+ "skeleton",
40
+ "smiley",
41
+ "sparkbar",
42
+ "sparkline",
43
+ "stackbar",
44
+ "table heatmap",
45
+ "table",
46
+ "thermometer",
47
+ "tiremarks",
48
+ "tree",
49
+ "treemap",
50
+ "waffle",
51
+ "wheel",
52
+ "wordcloud",
53
+ "circle packing",
54
+ "dag"
55
+ ],
56
+ "author": "Alec Lloyd Probert",
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "git+https://github.com/graphieros/vue-data-ui.git"
60
+ },
61
+ "homepage": "https://vue-data-ui.graphieros.com/",
62
+ "license": "MIT",
63
+ "files": [
64
+ "dist"
65
+ ],
66
+ "exports": {
67
+ ".": {
68
+ "types": "./dist/types/vue-data-ui.d.ts",
69
+ "import": "./dist/vue-data-ui.js",
70
+ "default": "./dist/vue-data-ui.js"
60
71
  },
61
- "homepage": "https://vue-data-ui.graphieros.com/",
62
- "license": "MIT",
63
- "files": [
64
- "dist"
65
- ],
66
- "exports": {
67
- ".": {
68
- "types": "./dist/types/vue-data-ui.d.ts",
69
- "import": "./dist/vue-data-ui.js",
70
- "default": "./dist/vue-data-ui.js"
71
- },
72
- "./utils": {
73
- "types": "./dist/types/utils.d.ts",
74
- "import": "./dist/utils.js"
75
- },
76
- "./composables": {
77
- "types": "./dist/types/composables.d.ts",
78
- "import": "./dist/composables.js"
79
- },
80
- "./ssr/*": {
81
- "types": "./dist/types/ssr.d.ts",
82
- "import": "./dist/ssr.js"
83
- },
84
- "./*": {
85
- "types": "./dist/types/*.d.ts",
86
- "import": "./dist/components/*.js",
87
- "default": "./dist/components/*.js"
88
- },
89
- "./style.css": {
90
- "style": "./dist/style.css",
91
- "default": "./dist/style.css"
92
- }
72
+ "./utils": {
73
+ "types": "./dist/types/utils.d.ts",
74
+ "import": "./dist/utils.js"
93
75
  },
94
- "sideEffects": [
95
- "**/*.css"
96
- ],
97
- "module": "dist/vue-data-ui.js",
98
- "types": "dist/types/vue-data-ui.d.ts",
99
- "scripts": {
100
- "dev": "node add-dev-dep.cjs && npm i && vite",
101
- "clean": "node cleanup.cjs",
102
- "build": "npm run clean && vite build --mode production && node copy-types.cjs && npm i",
103
- "prod": "npm run pretty && node del-dev-dep.cjs && node check-types.cjs && npm run test && npx cypress run --component && npm run clean && vite build --mode production && node copy-types.cjs && node post-build.cjs",
104
- "test": "vitest --run",
105
- "test:w": "vitest --watch",
106
- "test:e2e": "npx cypress open",
107
- "preprod": "node check-types.cjs && npm run pretty:fix && node del-dev-dep.cjs && npm run clean && vite build --mode production && node copy-types.cjs && node post-build.cjs",
108
- "pubprod": "node check-types.cjs && node del-dev-dep.cjs && npm run clean && vite build --mode production && node copy-types.cjs && node post-build.cjs",
109
- "cy-all": "npx cypress run --component",
110
- "cy": "node run-cy.cjs",
111
- "types": "node check-types.cjs",
112
- "pretty": "prettier . --check",
113
- "pretty:fix": "prettier . --write"
76
+ "./composables": {
77
+ "types": "./dist/types/composables.d.ts",
78
+ "import": "./dist/composables.js"
114
79
  },
115
- "peerDependencies": {
116
- "jspdf": ">=3.0.1",
117
- "vue": ">=3.3.0"
80
+ "./ssr/*": {
81
+ "types": "./dist/types/ssr.d.ts",
82
+ "import": "./dist/ssr.js"
118
83
  },
119
- "peerDependenciesMeta": {
120
- "jspdf": {
121
- "optional": true
122
- }
84
+ "./*": {
85
+ "types": "./dist/types/*.d.ts",
86
+ "import": "./dist/components/*.js",
87
+ "default": "./dist/components/*.js"
123
88
  },
124
- "devDependencies": {
125
- "@types/node": "^25.5.0",
126
- "@vitejs/plugin-vue": "^6.0.10",
127
- "cypress": "^15.19.0",
128
- "jsdom": "^29.1.1",
129
- "prettier": "3.8.1",
130
- "remove-attr": "^0.0.13",
131
- "sass": "^1.57.1",
132
- "simple-git": "^4.0.2",
133
- "typescript": "^6.0.2",
134
- "vite": "^8.3.4",
135
- "vitest": "^5.0.0",
136
- "vue": "^3.5.44"
89
+ "./style.css": {
90
+ "style": "./dist/style.css",
91
+ "default": "./dist/style.css"
137
92
  }
138
- }
93
+ },
94
+ "sideEffects": [
95
+ "**/*.css"
96
+ ],
97
+ "module": "dist/vue-data-ui.js",
98
+ "types": "dist/types/vue-data-ui.d.ts",
99
+ "peerDependencies": {
100
+ "jspdf": ">=3.0.1",
101
+ "vue": ">=3.3.0"
102
+ },
103
+ "peerDependenciesMeta": {
104
+ "jspdf": {
105
+ "optional": true
106
+ }
107
+ },
108
+ "devDependencies": {
109
+ "@storybook/addon-docs": "^10.6.3",
110
+ "@storybook/addon-vitest": "^10.6.3",
111
+ "@storybook/vue3-vite": "^10.6.3",
112
+ "@types/node": "^25.5.0",
113
+ "@vitejs/plugin-vue": "^6.0.10",
114
+ "@vitest/browser-playwright": "^5.0.5",
115
+ "@vue/compiler-dom": "3.5.44",
116
+ "@vue/test-utils": "^2.5.1",
117
+ "jsdom": "^29.1.1",
118
+ "playwright": "^1.64.1",
119
+ "prettier": "3.8.1",
120
+ "remove-attr": "^0.0.13",
121
+ "rolldown": "1.2.15",
122
+ "sass": "^1.57.1",
123
+ "simple-git": "^4.0.2",
124
+ "storybook": "^10.6.3",
125
+ "typescript": "^6.0.2",
126
+ "vite": "^8.3.4",
127
+ "vitest": "^5.0.0",
128
+ "vue": "^3.5.44"
129
+ },
130
+ "scripts": {
131
+ "dev": "node add-dev-dep.cjs && pnpm install && vite",
132
+ "clean": "node cleanup.cjs",
133
+ "build": "pnpm run clean && vite build --mode production && node copy-types.cjs && pnpm install",
134
+ "prod": "pnpm run pretty && node del-dev-dep.cjs && node check-types.cjs && pnpm run test:all && pnpm run clean && vite build --mode production && node copy-types.cjs && node post-build.cjs",
135
+ "test": "vitest run --config vitest.config.js",
136
+ "test:w": "vitest --config vitest.config.js",
137
+ "preprod": "node check-types.cjs && pnpm run pretty:fix && node del-dev-dep.cjs && pnpm run clean && vite build --mode production && node copy-types.cjs && node post-build.cjs",
138
+ "pubprod": "node check-types.cjs && node del-dev-dep.cjs && pnpm run clean && vite build --mode production && node copy-types.cjs && node post-build.cjs",
139
+ "types": "node check-types.cjs",
140
+ "pretty": "prettier . --check",
141
+ "pretty:fix": "prettier . --write",
142
+ "storybook": "storybook dev -p 6006 --no-open",
143
+ "build:storybook": "storybook build",
144
+ "test:storybook": "vitest run --config vitest.storybook.config.js",
145
+ "test:unit": "vitest run --config vitest.config.js",
146
+ "test:all": "pnpm run test:unit && pnpm run test:storybook"
147
+ }
148
+ }
@@ -1 +0,0 @@
1
- function e(e,t=[]){return{type:`FeatureCollection`,features:e.features.map(e=>{let n={};return t.forEach(t=>{e.properties&&e.properties.hasOwnProperty(t)&&(n[t]=e.properties[t])}),{type:`Feature`,geometry:e.geometry,properties:n}})}}var t=/* @__PURE__ */ new WeakMap,n=/* @__PURE__ */ new WeakMap;function r(e){return e*Math.PI/180}function i(e){return Math.round(e*100)/100}function a(e,t){return{cx:e/2,cy:t/2,radius:Math.min(e,t)/2*.95}}function o(e,t,n=[0,0]){let[i,o]=n,s=r(o);return{...a(e,t),lon0Rad:r(i),sinLat0:Math.sin(s),cosLat0:Math.cos(s)}}function s([e,t]){let n=r(t);return{lon:e,lat:t,lonRad:r(e),sinLat:Math.sin(n),cosLat:Math.cos(n)}}function c(e,t){let n=e.lonRad-t.lon0Rad,r=Math.sin(n),i=Math.cos(n);return{x:e.cosLat*r,y:t.cosLat0*e.sinLat-t.sinLat0*e.cosLat*i,z:t.sinLat0*e.sinLat+t.cosLat0*e.cosLat*i}}function l(e,t=[0,0]){return c(s(e),o(1,1,t))}function u(e,t,n=10){let{cx:r,cy:i,radius:o}=a(e,t),s=r-o-n,c=i-o-n,l=r+o+n,u=i+o+n;return{minX:Math.floor(s),minY:Math.floor(c),width:Math.ceil(l-s),height:Math.ceil(u-c)}}function d(e,t){return c(e,t).z>=-1e-9}function f(e,t=[0,0]){return l(e,t).z>=-1e-9}function p(e,t,n=!1){let r=c(e,t);if(r.z<-1e-9){if(!n)return[NaN,NaN];let e=Math.hypot(r.x,r.y);return!Number.isFinite(e)||e<=1e-9?[NaN,NaN]:[t.cx+t.radius*(r.x/e),t.cy-t.radius*(r.y/e)]}return[t.cx+t.radius*r.x,t.cy-t.radius*r.y]}function m(e,t,n,r=[0,0],i=!1){return p(s(e),o(t,n,r),i)}function h(e){return((e+180)%360+360)%360-180}function g(e,t,n){let r=h(t.lon-e.lon);return s([e.lon+r*n,e.lat+(t.lat-e.lat)*n])}function _(e,t,n){let r=0,i=1,a=d(e,n);for(let o=0;o<24;o+=1){let o=(r+i)/2;d(g(e,t,o),n)===a?r=o:i=o}return g(e,t,(r+i)/2)}function v(e,t){return Math.abs(e[0]-t[0])<1e-12&&Math.abs(e[1]-t[1])<1e-12}function y(e){if(!Array.isArray(e))return[];let n=t.get(e);if(n)return n;let r=[];for(let t of e){let e=r[r.length-1];(!e||!v(e,t))&&r.push(t)}return r.length>1&&v(r[0],r[r.length-1])&&r.pop(),t.set(e,r),r}function b(e){if(!Array.isArray(e))return[];let t=n.get(e);if(t)return t;let r=y(e).map(s);return n.set(e,r),r}function x(e){let t=``,n=0,r=null,a=null;for(let o of e){if(!o||!Number.isFinite(o[0])||!Number.isFinite(o[1]))continue;let e=i(o[0]),s=i(o[1]);r!==null&&Math.abs(r-e)<1e-8&&Math.abs(a-s)<1e-8||(t+=n===0?`M${e},${s}`:`L${e},${s}`,r=e,a=s,n+=1)}return n<3?``:`${t}Z`}function S(e,t){let n=b(e),r=n.length;if(r<3)return``;let i=Array(r),a=!1,o=!1;for(let e=0;e<r;e+=1)i[e]=d(n[e],t),i[e]&&(a=!0);for(let e=0;e<r;e+=1){let t=(e-1+r)%r;if(i[e]!==i[t]){o=!0;break}}if(!a&&!o)return``;let s=[];for(let e=0;e<r;e+=1){let a=n[e],o=n[(e-1+r)%r],c=i[e];if(i[(e-1+r)%r]!==c){let e=_(o,a,t);s.push(p(e,t,!1))}s.push(p(a,t,!c))}return x(s)}function C(e,t,n,r,i=[0,0]){return x(y(e).map(e=>t(e,n,r,i)))}function w(e,{projection:t=`globe`,width:n,height:r,center:i=[0,0]}={}){if(!e||!n||!r)return``;let a=T[t]||T.globe,s=t===`globe`?o(n,r,i):null,c=e=>e.map(e=>t===`globe`?S(e,s):C(e,a,n,r,i)).filter(Boolean).join(` `);return e.type===`Polygon`?c(e.coordinates):e.type===`MultiPolygon`?e.coordinates.map(c).filter(Boolean).join(` `):``}var T={mercator([e,t],n,r,i){t=Math.max(Math.min(t,85.05113),-85.05113);let[a,o]=i,s=(e-a)*Math.PI/180,c=n/(2*Math.PI)*(s+Math.PI),l=e=>Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2)),u=l(85.05113),d=l(-72);return[c,(l(t)-u)/(d-u)*r]},equirectangular([e,t],n,r,i){let[a,o]=i;return t=Math.max(Math.min(t,90),-80),[(e-a+180)/360*n,(90-(t-o))/170*r]},robinson([e,t],n,r,i){let a=[[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]],[o,s]=i;e-=o,t=Math.max(-89.9999,Math.min(89.9999,t));let c=Math.abs(t),l=Math.floor(c/5),u=c%5/5,[d,f]=a[l],[p,m]=a[Math.min(l+1,a.length-1)],h=d+(p-d)*u,g=f+(m-f)*u,_=e*Math.PI/180,v=n/2+n/2*h*_/Math.PI,y=r/2-r/2*Math.sign(t)*g/1;return!Number.isFinite(v)||!Number.isFinite(y)?[-9999,-9999]:[v,y]},mollweide([e,t],n,r,i){t=Math.max(Math.min(t,89.9999),-89.9999);let[a]=i,o=(e-a)*Math.PI/180,s=t*Math.PI/180,c=s,l=1,u=0;for(;Math.abs(l)>1e-10&&u<10;)l=-(2*c+Math.sin(2*c)-Math.PI*Math.sin(s))/(2+2*Math.cos(2*c)),c+=l,u++;isFinite(c)||(c=s>0?Math.PI/2:-Math.PI/2);let d=n/(2*Math.SQRT2),f=(2*Math.SQRT2/Math.PI*d*o*Math.cos(c)+2*d)/(4.6*d)*n,p=-d*Math.SQRT2*Math.sin(c),m=-d*Math.SQRT2,h=d*Math.SQRT2,g=(p-m)/(h-m)*r;return[isFinite(f)?f:0,isFinite(g)?g:0]},winkelTripel([e,t],n,r,i){let[a,o]=i,s=(e-a)*Math.PI/180,c=t*Math.PI/180,l=s*Math.cos(Math.PI/6),u=c,d=Math.acos(Math.cos(c)*Math.cos(s/2)),f=2*Math.cos(c)*Math.sin(s/2)/(Math.sin(d)/d||1),p=Math.sin(c)/(Math.sin(d)/d||1);return[n/2+n/(2*Math.PI)*(l+f)/2,r/2-r/(2*Math.PI)*(u+p)/2]},aitoff([e,t],n,r,i){Math.sinc||(Math.sinc=function(e){return e===0?1:Math.sin(Math.PI*e)/(Math.PI*e)});let[a,o]=i,s=(e-a)*Math.PI/180,c=t*Math.PI/180,l=Math.acos(Math.cos(c)*Math.cos(s/2)),u=0,d=0;return l!==0&&(u=2*Math.cos(c)*Math.sin(s/2)/Math.sinc(l/Math.PI),d=Math.sin(c)/Math.sinc(l/Math.PI)),u=n/2+n/4*u,d=r/2-r/2*d,[u,d]},hammer([e,t],n,r,i){let[a,o]=i,s=(e-a)*Math.PI/180,c=t*Math.PI/180,l=Math.sqrt(1+Math.cos(c)*Math.cos(s/2));return[n/2+n/2*(2*Math.SQRT2*Math.cos(c)*Math.sin(s/2)/l)/2.8284271247461903,r/2-r/2*(Math.SQRT2*Math.sin(c)/l)/1.4142135623730951]},bonne([e,t],n,r,i=[0,0]){let a=45*Math.PI/180,[o,s]=i,c=(e-o)*Math.PI/180,l=Math.max(Math.min(t,89.9),-89.9)*Math.PI/180,u=1/Math.tan(a),d=u+a-l,f=d===0?0:c*Math.cos(l)/d,p=Math.min(n,r)/2.6;return[n/2+p*d*Math.sin(f),r/2-p*(u-d*Math.cos(f))]},sinusoidal([e,t],n,r,i){let[a,o]=i,s=(e-a)*Math.PI/180,c=t*Math.PI/180;return[n/2+n/(2*Math.PI)*s*Math.cos(c),r/2-r/Math.PI*c]},gallPeters([e,t],n,r,i){let[a,o]=i;return t=Math.max(Math.min(t,89.9999),-89.9999),[(e-a+180)/360*n,r/2-r/Math.PI*Math.sin(t*Math.PI/180)]},vanDerGrinten([e,t],n,r,i=[0,0]){let a=Math.PI,o=Math.PI/2,s=1e-6,c=(e-(i[0]||0))*a/180,l=(t-(i[1]||0))*a/180,u=Math.abs(c),d=Math.abs(l),f,p;if(d<s)f=c,p=0;else if(u<s||Math.abs(d-o)<s)f=0,p=Math.sign(l)*a*Math.tan(Math.asin(d/o)/2);else{let e=d/o,t=Math.cos(Math.asin(e)),n=.5*Math.abs(a/c-c/a),r=n*n,i=t/(e+t-1),s=i*(2/e-1),u=s*s,m=u+r,h=i-u,g=r+i;f=Math.sign(c)*a*(n*h+Math.sqrt(Math.max(0,r*h*h-m*(i*i-u))))/m,p=Math.sign(l)*a*(s*g-n*Math.sqrt(Math.max(0,(r+1)*m-g*g)))/m}let m=n/2/a*.98,h=n/2,g=r/2;return[h+f*m,g-p*m]},globe(e,t,n,r=[0,0]){return m(e,t,n,r,!1)},azimuthalEquidistant([e,t],n,r,i=[0,0]){let a=e=>e*Math.PI/180,[o,s]=i,c=a(e-o),l=a(t),u=a(s),d=Math.sin(u)*Math.sin(l)+Math.cos(u)*Math.cos(l)*Math.cos(c),f=Math.acos(Math.max(-1,Math.min(1,d))),p=f===0?1:f/Math.sin(f),m=p*Math.cos(l)*Math.sin(c),h=p*(Math.cos(u)*Math.sin(l)-Math.sin(u)*Math.cos(l)*Math.cos(c)),g=Math.min(n,r)/2/Math.PI,_=n/2,v=r/2;return[_+m*g,v-h*g]}};function E(e,t,n,r,i=[0,0]){if(e===T.globe)return u(n,r);let a=1/0,o=1/0,s=-1/0,c=-1/0;for(let l of t){let t=l.geometry,u=t.type===`Polygon`?[t.coordinates]:t.type===`MultiPolygon`?t.coordinates:[];for(let t of u)for(let l of t)for(let[t,u]of l){let[l,d]=e([t,u],n,r,i);Number.isFinite(l)&&Number.isFinite(d)&&(a=Math.min(a,l),s=Math.max(s,l),o=Math.min(o,d),c=Math.max(c,d))}}return!Number.isFinite(a)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(c)?{minX:0,minY:0,width:n,height:r}:{minX:Math.floor(a)-10,minY:Math.floor(o)-10,width:Math.ceil(s-a)+20,height:Math.ceil(c-o)+20}}function D(e,t,n){let r=e.find(e=>e.properties.admin===t||e.properties.name===t),i=e.find(e=>e.properties.admin===n||e.properties.name===n);return r&&i&&(r.geometry.type===`Polygon`&&(r.geometry={type:`MultiPolygon`,coordinates:[r.geometry.coordinates]}),i.geometry.type===`Polygon`?r.geometry.coordinates.push(i.geometry.coordinates):i.geometry.type===`MultiPolygon`&&r.geometry.coordinates.push(...i.geometry.coordinates),e=e.filter(e=>e.properties.admin!==n&&e.properties.name!==n)),e}function O(e,t){let n=Array.isArray(t)?t.map(e=>({...e})):t.features?t.features.map(e=>({...e})):[];return e.style.chart.territory.showTaiwanAsPartOfChina&&(n=D(n,`China`,`Taiwan`)),t.type===`FeatureCollection`?{...t,features:n}:n}var k={projections:T,getProjectedBounds:E,setupTerritories:O,simplifyGeoJSON:e,geoToPath:w,getGlobeMetrics:a,getGlobeBounds:u,isGlobePointVisible:f};export{k as t};
@@ -1 +0,0 @@
1
- var e=`3.28.2`;export{e as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./dom-to-png-D56-Zgv4.js";async function t({domElement:t,fileName:n,scale:r=2,orientation:i=`auto`,overflowTolerance:a=.2,aspectRatio:o=null}){if(!t)return Promise.reject(`No domElement provided`);let s=typeof navigator<`u`&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent),c;try{c=(await import(`jspdf`)).default}catch{return Promise.reject(`jspdf is not installed. Run npm install jspdf`)}let l={width:595.28,height:841.89},u={width:841.89,height:595.28},d=1e3;function f(e){if(e==null)return null;if(typeof e==`number`&&e>0)return{w:1,h:e};if(typeof e==`string`){let t=e.split(`/`).map(e=>e.trim());if(t.length===2){let e=Number(t[0]),n=Number(t[1]);if(e>0&&n>0)return{w:e,h:n}}else if(t.length===1){let e=Number(t[0]);if(e>0)return{w:1,h:e}}}return null}let p=f(o),m=p?{width:d,height:d*(p.h/p.w)}:null,h=p?{width:m.height,height:m.width}:null;if(s)try{await e({container:t,scale:r}),await e({container:t,scale:r}),await e({container:t,scale:r}),await e({container:t,scale:r})}catch{}let g=await e({container:t,scale:r});return await new Promise((e,t)=>{let r=new window.Image;r.onload=function(){let t=.5,o=r.naturalWidth,s=r.naturalHeight,d=i===`auto`?s>=o?`p`:`l`:i,f=d===`l`?p?h:u:p?m:l,_=f.width/o,v=f.height/s,y=s*_,b=`single`,x;y<=f.height+t?x=_:y<=f.height*(1+a)?x=Math.min(_,v):(b=`multi`,x=_);let S=o*x,C=s*x,w=(f.width-S)/2,T=new c({orientation:d,unit:`pt`,format:p?[f.width,f.height]:`a4`});if(b===`single`){let e=(f.height-C)/2;T.addImage(g,`PNG`,w,e,S,C,``,`FAST`)}else{let e=f.height/x,n=s,r=0;for(;n>t;)T.addImage(g,`PNG`,w,r,S,C,``,`FAST`),n-=e,r-=f.height,n>t&&T.addPage()}T.save(`${n}.pdf`),e()},r.onerror=e=>t(`Failed to load image for PDF: `+e),r.src=g})}export{t as default};
@@ -1 +0,0 @@
1
- import{nextTick as e,onBeforeUnmount as t,onMounted as n,ref as r,shallowRef as i}from"vue";function a(e,t){let n=e.ownerDocument,r=n.createElementNS(`http://www.w3.org/2000/svg`,`svg`);r.setAttribute(`width`,`1`),r.setAttribute(`height`,`1`),r.setAttribute(`viewBox`,`0 0 1 1`),r.setAttribute(`aria-hidden`,`true`),r.style.cssText=`position:fixed;top:0;left:0;visibility:hidden;pointer-events:none;overflow:hidden;`,n.body.appendChild(r);let i=/* @__PURE__ */ new Map;function a(e){if(!e)return{x:0,width:0,height:0,textWidth:0,rotatedWidth:0,leftOverhang:0};if(i.has(e))return i.get(e);let t=e.cloneNode(!0),a=[e,...e.querySelectorAll(`*`)],o=[t,...t.querySelectorAll(`*`)];for(let[e,t]of o.entries()){let r=n.defaultView.getComputedStyle(a[e]);for(let e of[`font-family`,`font-size`,`font-weight`,`font-style`,`font-stretch`,`font-variant`,`font-feature-settings`,`font-kerning`,`letter-spacing`,`word-spacing`,`text-anchor`,`dominant-baseline`,`alignment-baseline`,`baseline-shift`,`text-transform`,`white-space`,`writing-mode`])t.style.setProperty(e,r.getPropertyValue(e),`important`);t.removeAttribute(`id`),t.removeAttribute(`data-cy`),t.style.setProperty(`transition`,`none`,`important`),t.style.setProperty(`animation`,`none`,`important`)}r.appendChild(t);let s=t.getBBox(),c=t.matches(`text`)?[t]:[...t.querySelectorAll(`text`)],l={x:s.x,width:s.width,height:s.height,textWidth:Math.max(0,...c.map(e=>e.getComputedTextLength())),rotatedWidth:t.getBoundingClientRect().width,leftOverhang:Math.max(0,...c.map(e=>{let t=e.getBBox(),n=e.getCTM?.()||{a:1,c:0},r=e.x?.baseVal?.[0]?.value||0,i=e.y?.baseVal?.[0]?.value||0;return-Math.min(...[t.x,t.x+t.width].flatMap(e=>[t.y,t.y+t.height].map(t=>n.a*(e-r)+n.c*(t-i))))}))};return i.set(e,l),l}try{return t(a)}finally{r.remove()}}function o({svgRef:o,measure:s,canMeasure:c,initialMetrics:l={scaleLabelsWidth:0,yAxisLabelWidth:0,xAxisLabelHeight:0,timeLabelsHeight:0,right:0}}){let u=i({...l}),d=r(!1),f=r(!0),p=!1,m=!1,h,g=!1,_=0,v=0,y,b,x=0,S=/* @__PURE__ */ new Set;function C(){x||p||(x=requestAnimationFrame(()=>{x=0,E()}))}function w(e){let t=o.value?.ownerDocument.defaultView;if(!y&&t?.MutationObserver&&(y=new t.MutationObserver(E)),!b&&t?.ResizeObserver&&(b=new t.ResizeObserver(C)),!(e.size===S.size&&[...e].every(e=>S.has(e)))){y?.disconnect(),b?.disconnect(),S=e;for(let t of e)y?.observe(t,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),b?.observe(t)}}function T(){m=!1,h.ready.then(()=>{m=!0,E()})}function E(){if(p||!m||!o.value||!c())return;let t;try{let e=/* @__PURE__ */ new Set;t=a(o.value,t=>s(n=>(n&&e.add(n),t(n)))),t!=null&&w(e)}catch{return}if(t==null){e(E);return}if(h?.status===`loading`){T();return}if(!Object.values(t).every(Number.isFinite))return;let n=Object.keys(t).some(e=>Math.abs(t[e]-u.value[e])>.25);if(n&&(u.value=t),!d.value&&n){if(!g){g=!0;let t=()=>{g=!1,E()};++_<4?e(t):(_=0,v=requestAnimationFrame(t))}}else(d.value||!g)&&(d.value=!0,f.value=!1)}return n(()=>{h=o.value?.ownerDocument.fonts,h?.addEventListener(`loadingdone`,E),h?.status===`loading`?T():(m=!0,E())}),t(()=>{p=!0,cancelAnimationFrame(v),cancelAnimationFrame(x),y?.disconnect(),b?.disconnect(),S.clear(),h?.removeEventListener(`loadingdone`,E)}),{metrics:u,ready:d,settling:f,update:E}}export{o as t};