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,Ht as a,It as o,Jt as s,Kt as c,S as l,Ut as ee,X as te,Zt as ne,at as u,b as re,f as ie,i as ae,in as oe,it as se,n as ce,nn as le,nt as ue,p as de,pt as fe,t as pe,w as me,zt as he}from"./lib-rPeBMZrn.js";import{n as ge,t as _e}from"./BaseScanner-8NdoBs7B.js";import{n as ve,t as ye}from"./useHints-BH9r_0Vd.js";import{t as be}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as xe}from"./useNestedProp-DnGoh-XS.js";import{t as Se}from"./useThemeCheck-BKNRbGeC.js";import{t as Ce}from"./chartImage-DPGnEuYM.js";import{n as we}from"./Title-BliHuXfT.js";import{t as Te}from"./useChartExport-BZts4KFb.js";import{n as Ee,t as De}from"./tableIntegration-CNoJ1CIY.js";import{n as Oe,t as ke}from"./annotationSlots-BRR85CqJ.js";import{n as Ae,t as je}from"./userOptionsSlots-DYuo-E5m.js";import{t as Me}from"./usePrinter-sVoTzet1.js";import{c as Ne}from"./canvas-lib-22VpOI4_.js";import{t as Pe}from"./useResponsive-CENUxfEL.js";import{t as Fe}from"./DefGrad-DKMq1REY.js";import{t as Ie}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Le}from"./A11yDataTable-DWNlWXzs.js";import{t as Re}from"./useUserOptionState-CXlFnwPv.js";import{t as ze}from"./useChartAccessibility-DOMuYJfm.js";import{t as Be}from"./labelUtils-CdtU-yB_.js";import{t as Ve}from"./Legend-DM0ClX3D.js";import{t as He}from"./vue_ui_nested_donuts-CRtGsJcz.js";import{Fragment as d,Teleport as Ue,computed as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createElementVNode as g,createSlots as We,createTextVNode as Ge,createVNode as Ke,defineAsyncComponent as _,guardReactiveProps as v,mergeProps as qe,nextTick as Je,normalizeClass as Ye,normalizeProps as y,normalizeStyle as Xe,onBeforeUnmount as Ze,onMounted as Qe,openBlock as b,ref as x,renderList as S,renderSlot as C,resolveDynamicComponent as $e,shallowRef as et,toDisplayString as w,toRefs as tt,unref as T,vShow as nt,watch as rt,withCtx as E,withDirectives as it}from"vue";var at=/* @__PURE__ */ e({default:()=>It}),ot=[`id`],st=[`id`],ct=[`id`],lt={style:{position:`relative`}},ut=[`xmlns`,`aria-describedby`,`viewBox`],dt=[`width`,`height`],ft=[`id`],pt=[`id`],mt=[`id`],ht=[`flood-color`],gt=[`id`,`d`],_t=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],vt=[`d`,`fill`,`stroke`,`stroke-width`],yt={key:1},bt=[`d`,`fill`],xt={key:2},St=[`font-size`,`font-weight`,`fill`,`dy`],Ct=[`href`],wt=[`x`,`y`,`font-size`,`font-weight`,`fill`],Tt={key:3},Et=[`filter`],Dt=[`opacity`,`text-anchor`,`x`,`y`,`fill`,`font-size`,`font-weight`],Ot=[`opacity`,`text-anchor`,`x`,`y`,`fill`,`font-size`,`font-weight`],kt=[`d`,`fill`,`onMouseenter`,`onClick`,`onMouseleave`],At={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},jt={key:5,class:`vue-data-ui-watermark`},Mt=[`id`],Nt={key:0,class:`vue-ui-nested-donuts-legend-title`},Pt=[`onClick`],Ft={style:{display:`flex`,"align-items":`center`}},It=/*#__PURE__*/ be({__name:`vue-ui-nested-donuts`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:be,emit:at}){let It=_(()=>import(`./Tooltip-C1q0Qoh7.js`)),Lt=_(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),Rt=_(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),zt=_(()=>import(`./DataTable-0Vv-aGHD.js`)),Bt=_(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Vt=_(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Ht=_(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),Ut=_(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_nested_donuts:Wt}=t(),{isThemeValid:Gt,warnInvalidTheme:Kt}=Se(),D=e,qt=f({get(){return!!D.dataset&&D.dataset.length},set(e){return e}}),O=x(te()),Jt=x(!1),Yt=x(``),Xt=x(null),Zt=x(0),k=x(null),Qt=x(null),$t=x(null),en=x(null),tn=x(null),nn=x(0),rn=x(0),an=x(0),A=x(!0),on=x([]),sn=x([]),cn=x(!1),ln=x(null),un=x(null),j=x(null),dn=x({x:0,y:0}),fn=x(`pointer`),pn=x(!1),M=x(!1);function mn(e){M.value=e,Zt.value+=1}let N=x(Cn()),P=f(()=>N.value.style.chart.layout.labels),F=f(()=>N.value.style.chart.tooltip),I=f(()=>N.value.userOptions),L=f(()=>N.value.style.chart.layout),R=f(()=>N.value.style.chart);ve({config:()=>N.value,dataset:()=>D.dataset,component:`VueUiNestedDonuts`,rules:[ye.emptyArray,{test:e=>e.some(e=>e.series.length>6),message:[`👀 Some series have > 6 data points. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" data point.`,``,`▶️ Using filters to let users choose a maximum number of data points to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]},{test:e=>e.length===1,message:[`👀 There is only one series in your dataset. Consider:`,``,`▶️ Using VueUiDonut instead.`]},{test:e=>e.length>6,message:[`👀 The number of series in your dataset > 6. Consider:`,``,`▶️ Using filters to let users choose a maximum number of series to display`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let z=f(()=>N.value.userOptions.useCursorPointer),hn={name:``,series:[{name:``,values:[3],color:`#BABABA`},{name:``,values:[2],color:`#AAAAAA`},{name:``,values:[1],color:`#CACACA`}]},gn=f(()=>oe({defaultConfig:{useCssAnimation:!1,table:{show:!1},startAnimation:{show:!1},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{labels:{dataLabels:{show:!1}}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1},title:{color:`#1A1A1A`,subtitle:{color:`#5A5A5A`}}}}},userConfig:N.value.skeletonConfig??{}})),{loading:_n,FINAL_DATASET:vn,manualLoading:yn}=ge({...tt(D),FINAL_CONFIG:N,prepareConfig:Cn,callback:()=>{Promise.resolve().then(async()=>{await Dn()})},skeletonDataset:D.config?.skeletonDataset??[hn,hn],skeletonConfig:oe({defaultConfig:N.value,userConfig:gn.value})}),{userOptionsVisible:bn,setUserOptionsVisibility:xn,keepUserOptionState:Sn}=Re({config:N.value}),{svgRef:B}=ze({config:R.value.title});function Cn(){let e=xe({userConfig:D.config,defaultConfig:Wt}),t={},n=e.theme;if(n){if(!Gt.value(e))Kt(e),t=e;else{let r=xe({userConfig:He[n]||D.config,defaultConfig:e});t={...xe({userConfig:D.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:le[n]||a}}}else t=e;return t}let wn=ne(D.config);rt(()=>D.config,(e,t)=>{let n=ne(e),r=n!==wn;wn=n;let i=Cn();r?(_n.value||(N.value=i),bn.value=!N.value.userOptions.showOnChartHover,kn(),nn.value+=1,rn.value+=1,an.value+=1,U.value.dataLabels.show=P.value.dataLabels.show,U.value.showTable=N.value.table.show,U.value.showTooltip=F.value.show,W.value.width=R.value.width,W.value.height=R.value.height):(N.value.style.chart.tooltip=i.style.chart.tooltip,U.value.showTooltip=N.value.style.chart.tooltip.show)},{deep:!0});let Tn=f(()=>{let{top:e,right:t,bottom:n,left:r}=R.value.padding;return{css:`padding:${e}px ${t}px ${n}px ${r}px`,top:e,right:t,bottom:n,left:r}});function En(e,t=1e3,n=50){return new Promise(r=>{let i=e.length;on.value=Array(i).fill(0),sn.value=[];let a=0;e.forEach((e,o)=>{setTimeout(()=>{let n=performance.now();function s(l){let ee=Math.min((l-n)/t,1),te=e*se(ee);on.value[o]=te,on.value=[...on.value];let ne=[],u=0;D.dataset.forEach((e,t)=>{let n=re(e.series.reduce((e,t)=>e+re(c(t.values).reduce((e,t)=>e+t,0)),0))-re(on.value.slice(u,u+e.series.length).reduce((e,t)=>e+t,0));n>Number.MIN_VALUE&&ne.push({name:`__ghost__`,arcOf:e.name,arcOfId:`${O.value}_${t}`,id:`ghost_${O.value}_${t}`,seriesIndex:-1,datasetIndex:t,color:`transparent`,value:n,fullValue:n,absoluteValues:[],ghost:!0}),u+=e.series.length}),sn.value=ne,ee<1?requestAnimationFrame(s):(a+=1,a===i&&r())}requestAnimationFrame(s)},o*n)})})}async function Dn(){if(N.value.startAnimation?.show){let e=vn.value.flatMap(e=>e.series).map(e=>c(e.values).reduce((e,t)=>e+t,0));on.value=e.map(()=>0),A.value=!0,sn.value=vn.value.map((e,t)=>{let n=e.series.reduce((e,t)=>e+c(t.values).reduce((e,t)=>e+t,0),0);return{name:`__ghost__`,arcOf:e.name,arcOfId:`${O.value}_${t}`,id:`ghost_${O.value}_${t}`,seriesIndex:-1,datasetIndex:t,color:`transparent`,value:n,fullValue:n,absoluteValues:[],ghost:!0}}),await Je(),En(e,N.value.startAnimation.durationMs,N.value.startAnimation.staggerMs).then(()=>{A.value=!1,sn.value=[]})}else A.value=!1}Qe(async()=>{cn.value=!0,kn(),await Dn()});let V=et(null),On=et(null),H=f(()=>N.value.debug);function kn(){if(he(D.dataset)?(u({componentName:`VueUiNestedDonuts`,type:`dataset`,debug:H.value}),qt.value=!1,yn.value=!0):yn.value=N.value.loading,N.value.responsive){let e=Ne(()=>{let{width:e,height:t}=Pe({chart:k.value,title:R.value.title.text?Qt.value:null,legend:R.value.legend.show?$t.value:null,source:en.value,noTitle:tn.value,padding:Tn.value});requestAnimationFrame(()=>{W.value.width=e,W.value.height=t})});V.value&&(On.value&&V.value.unobserve(On.value),V.value.disconnect()),V.value=new ResizeObserver(e),On.value=k.value.parentNode,V.value.observe(On.value)}}Ze(()=>{V.value&&(On.value&&V.value.unobserve(On.value),V.value.disconnect())});let{isPrinting:An,isImaging:jn,generatePdf:Mn,generateImage:Nn}=Me({elementId:`nested_donuts_${O.value}`,fileName:R.value.title.text||`vue-ui-nested-donuts`,options:N.value.userOptions.print}),Pn=f(()=>N.value.userOptions.show&&!R.value.title.text),Fn=f(()=>me(N.value.customPalette)),U=x({dataLabels:{show:P.value.dataLabels.show},showTable:N.value.table.show,showTooltip:F.value.show});rt(N,()=>{U.value={dataLabels:{show:P.value.dataLabels.show},showTable:N.value.table.show,showTooltip:F.value.show}},{immediate:!0});let W=x({width:R.value.width,height:R.value.height}),G=at;function In({datapoint:e,index:t,seriesIndex:n}){N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:e,seriesIndex:n}),G(`selectDatapoint`,{datapoint:e,index:t})}function Ln({from:e,to:t,duration:n,onUpdate:r,onDone:i,easing:a=se}){let o=performance.now();function s(c){let l=Math.min((c-o)/n,1),ee=a(l);r(e+(t-e)*ee,l),l<1?requestAnimationFrame(s):(r(t,1),i&&i())}requestAnimationFrame(s)}let K=x([]),q=f(()=>{_n.value,vn.value.forEach((e,t)=>{[null,void 0].includes(e.name)&&u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`name`,index:t,debug:H.value}),[null,void 0].includes(e.series)?u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`series`,index:t,debug:H.value}):e.series.length===0?u({componentName:`VueUiNestedDonuts`,type:`datasetAttributeEmpty`,property:`series at index ${t}`,debug:H.value}):e.series.forEach((e,t)=>{[null,void 0].includes(e.name)&&u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`name`,index:t,key:`serie`,debug:H.value}),[null,void 0].includes(e.values)&&u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`values`,index:t,key:`serie`,debug:H.value})})});let e=0;return vn.value.map((t,n)=>({...t,total:t.series.filter(e=>!K.value.includes(e.id)).map(e=>c(e.values).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0),datasetIndex:n,id:`${O.value}_${n}`,series:t.series.map((r,i)=>{let o=c(r.values).reduce((e,t)=>e+t,0);return{name:r.name,arcOf:t.name,arcOfId:`${O.value}_${n}`,id:`${O.value}_${n}_${i}`,seriesIndex:i,datasetIndex:n,color:l(r.color)||Fn.value[i]||a[i%a.length],value:A.value?on.value[e++]??0:o,absoluteValues:r.values||[]}})}))});rt(()=>D.dataset,e=>{Array.isArray(e)&&e.length>0&&(yn.value=!1)},{immediate:!0});let J=f(()=>Math.min(W.value.height,W.value.width)*(L.value.donut.strokeWidth/512)),Y=f(()=>[...q.value].map((e,t)=>{let n=e.series.filter(e=>!K.value.includes(e.id)).map(e=>e.value).reduce((e,t)=>e+t,0);return{...e,total:n,series:e.series.filter(e=>!K.value.includes(e.id)).map(e=>({...e,proportion:e.value/n}))}}));function Rn(e,t,n){let r=0;for(let t=0;t<e.length;t+=1)n.includes(e[t])&&(r+=1);return r<t}let X=x(Y.value);rt(()=>Y.value,e=>X.value=e);function zn(e){let t=e.map(e=>e.id);if(e.some(e=>K.value.includes(e.id))){let e=new Set(t);K.value=K.value.filter(t=>!e.has(t))}else K.value.push(...t);G(`selectLegend`,Y.value)}function Z(e){let t=D.dataset.flatMap((e,t)=>e.series.map((e,n)=>({value:c(e.values).reduce((e,t)=>e+t,0),id:`${O.value}_${t}_${n}`,arcOfId:`${O.value}_${t}`}))).find(t=>t.id===e.id);if(!t)return;let n=q.value.flatMap(e=>e.series).find(t=>t.id===e.id)?.value??0,r=X.value.flatMap(e=>e.series).find(t=>t.id===e.id),i=r?r.value:0,a=q.value.find(e=>e.id===t.arcOfId);if(!a)return;let o=a.series.map(e=>e.id),s=Rn(o,o.length-1,K.value);K.value.includes(e.id)?(K.value=K.value.filter(t=>t!==e.id),N.value.serieToggleAnimation.show?Ln({from:i,to:n,duration:N.value.serieToggleAnimation.durationMs,onUpdate:t=>{X.value=X.value.map(n=>({...n,series:n.series.map(n=>n.id===e.id?{...n,value:t}:n)}))},onDone:()=>{G(`selectLegend`,Y.value)}}):(X.value=X.value.map(t=>({...t,series:t.series.map(t=>t.id===e.id?{...t,value:n}:t)})),G(`selectLegend`,Y.value))):s&&(N.value.serieToggleAnimation.show?Ln({from:i,to:0,duration:N.value.serieToggleAnimation.durationMs,onUpdate:t=>{X.value=X.value.map(n=>({...n,series:n.series.map(n=>n.id===e.id?{...n,value:t}:n)}))},onDone:()=>{K.value.push(e.id),G(`selectLegend`,Y.value)}}):(X.value=X.value.map(t=>({...t,series:t.series.map(t=>t.id===e.id?{...t,value:0}:t)})),K.value.push(e.id),G(`selectLegend`,Y.value)))}function Bn(e){return q.value.length?q.value.flatMap(e=>e.series).filter(t=>t.name===e)||(H.value&&console.warn(`VueUiNestedDonuts - Series name not found "${e}"`),null):(H.value&&console.warn(`VueUiNestedDonuts - There are no series to show.`),null)}function Vn(e){let t=Bn(e);t!==null&&(Array.isArray(t)?t.forEach(e=>{K.value.includes(e.id)&&Z({id:e.id})}):K.value.includes(t.id)&&Z({id:t.id}))}function Hn(e){let t=Bn(e);t!==null&&(Array.isArray(t)?t.forEach(e=>{K.value.includes(e.id)||Z({id:e.id})}):K.value.includes(t.id)||Z({id:t.id}))}let Un=f(()=>J.value/q.value.length*L.value.donut.spacingRatio),Wn=f(()=>X.value.map((e,t)=>J.value-t*J.value/q.value.length)),Gn=f(()=>X.value.map((e,t)=>{let n=Math.abs(e.series.map(e=>e.value).reduce((e,t)=>e+t,0))>0,r=J.value-t*J.value/X.value.length,i=A.value?sn.value.find(e=>e.datasetIndex===t):null,a=[...e.series,...i?[i]:[]].map(e=>({...e,value:e.value<1e-11?Number.MIN_VALUE:e.value})),s=o({series:[{name:`_`,color:L.value.donut.emptyFill,value:1}]},W.value.width/2,W.value.height/2,r,r,1.99999,2,1,360,105.25,Un.value),c=`M ${W.value.width/2},${W.value.height/2+r}
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,Ht as a,It as o,Jt as s,Kt as c,S as l,Ut as ee,X as te,Zt as ne,at as u,b as re,f as ie,i as ae,in as oe,it as se,n as ce,nn as le,nt as ue,p as de,pt as fe,t as pe,w as me,zt as he}from"./lib-rPeBMZrn.js";import{n as ge,t as _e}from"./BaseScanner-8NdoBs7B.js";import{n as ve,t as ye}from"./useHints-C-TwxM0Y.js";import{t as be}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as xe}from"./useNestedProp-DnGoh-XS.js";import{t as Se}from"./useThemeCheck-BKNRbGeC.js";import{t as Ce}from"./chartImage-DPGnEuYM.js";import{n as we}from"./Title-BliHuXfT.js";import{t as Te}from"./useChartExport-BZts4KFb.js";import{n as Ee,t as De}from"./tableIntegration-CNoJ1CIY.js";import{n as Oe,t as ke}from"./annotationSlots-BRR85CqJ.js";import{n as Ae,t as je}from"./userOptionsSlots-DYuo-E5m.js";import{t as Me}from"./usePrinter-DVf3YcG5.js";import{c as Ne}from"./canvas-lib-22VpOI4_.js";import{t as Pe}from"./useResponsive-CENUxfEL.js";import{t as Fe}from"./DefGrad-DKMq1REY.js";import{t as Ie}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Le}from"./A11yDataTable-DWNlWXzs.js";import{t as Re}from"./useUserOptionState-CXlFnwPv.js";import{t as ze}from"./useChartAccessibility-DOMuYJfm.js";import{t as Be}from"./labelUtils-CdtU-yB_.js";import{t as Ve}from"./Legend-DM0ClX3D.js";import{t as He}from"./vue_ui_nested_donuts-CRtGsJcz.js";import{Fragment as d,Teleport as Ue,computed as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createElementVNode as g,createSlots as We,createTextVNode as Ge,createVNode as Ke,defineAsyncComponent as _,guardReactiveProps as v,mergeProps as qe,nextTick as Je,normalizeClass as Ye,normalizeProps as y,normalizeStyle as Xe,onBeforeUnmount as Ze,onMounted as Qe,openBlock as b,ref as x,renderList as S,renderSlot as C,resolveDynamicComponent as $e,shallowRef as et,toDisplayString as w,toRefs as tt,unref as T,vShow as nt,watch as rt,withCtx as E,withDirectives as it}from"vue";var at=/* @__PURE__ */ e({default:()=>It}),ot=[`id`],st=[`id`],ct=[`id`],lt={style:{position:`relative`}},ut=[`xmlns`,`aria-describedby`,`viewBox`],dt=[`width`,`height`],ft=[`id`],pt=[`id`],mt=[`id`],ht=[`flood-color`],gt=[`id`,`d`],_t=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],vt=[`d`,`fill`,`stroke`,`stroke-width`],yt={key:1},bt=[`d`,`fill`],xt={key:2},St=[`font-size`,`font-weight`,`fill`,`dy`],Ct=[`href`],wt=[`x`,`y`,`font-size`,`font-weight`,`fill`],Tt={key:3},Et=[`filter`],Dt=[`opacity`,`text-anchor`,`x`,`y`,`fill`,`font-size`,`font-weight`],Ot=[`opacity`,`text-anchor`,`x`,`y`,`fill`,`font-size`,`font-weight`],kt=[`d`,`fill`,`onMouseenter`,`onClick`,`onMouseleave`],At={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},jt={key:5,class:`vue-data-ui-watermark`},Mt=[`id`],Nt={key:0,class:`vue-ui-nested-donuts-legend-title`},Pt=[`onClick`],Ft={style:{display:`flex`,"align-items":`center`}},It=/*#__PURE__*/ be({__name:`vue-ui-nested-donuts`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:be,emit:at}){let It=_(()=>import(`./Tooltip-C1q0Qoh7.js`)),Lt=_(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),Rt=_(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),zt=_(()=>import(`./DataTable-0Vv-aGHD.js`)),Bt=_(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Vt=_(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Ht=_(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),Ut=_(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_nested_donuts:Wt}=t(),{isThemeValid:Gt,warnInvalidTheme:Kt}=Se(),D=e,qt=f({get(){return!!D.dataset&&D.dataset.length},set(e){return e}}),O=x(te()),Jt=x(!1),Yt=x(``),Xt=x(null),Zt=x(0),k=x(null),Qt=x(null),$t=x(null),en=x(null),tn=x(null),nn=x(0),rn=x(0),an=x(0),A=x(!0),on=x([]),sn=x([]),cn=x(!1),ln=x(null),un=x(null),j=x(null),dn=x({x:0,y:0}),fn=x(`pointer`),pn=x(!1),M=x(!1);function mn(e){M.value=e,Zt.value+=1}let N=x(Cn()),P=f(()=>N.value.style.chart.layout.labels),F=f(()=>N.value.style.chart.tooltip),I=f(()=>N.value.userOptions),L=f(()=>N.value.style.chart.layout),R=f(()=>N.value.style.chart);ve({config:()=>N.value,dataset:()=>D.dataset,component:`VueUiNestedDonuts`,rules:[ye.emptyArray,{test:e=>e.some(e=>e.series.length>6),message:[`👀 Some series have > 6 data points. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" data point.`,``,`▶️ Using filters to let users choose a maximum number of data points to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]},{test:e=>e.length===1,message:[`👀 There is only one series in your dataset. Consider:`,``,`▶️ Using VueUiDonut instead.`]},{test:e=>e.length>6,message:[`👀 The number of series in your dataset > 6. Consider:`,``,`▶️ Using filters to let users choose a maximum number of series to display`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let z=f(()=>N.value.userOptions.useCursorPointer),hn={name:``,series:[{name:``,values:[3],color:`#BABABA`},{name:``,values:[2],color:`#AAAAAA`},{name:``,values:[1],color:`#CACACA`}]},gn=f(()=>oe({defaultConfig:{useCssAnimation:!1,table:{show:!1},startAnimation:{show:!1},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{labels:{dataLabels:{show:!1}}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1},title:{color:`#1A1A1A`,subtitle:{color:`#5A5A5A`}}}}},userConfig:N.value.skeletonConfig??{}})),{loading:_n,FINAL_DATASET:vn,manualLoading:yn}=ge({...tt(D),FINAL_CONFIG:N,prepareConfig:Cn,callback:()=>{Promise.resolve().then(async()=>{await Dn()})},skeletonDataset:D.config?.skeletonDataset??[hn,hn],skeletonConfig:oe({defaultConfig:N.value,userConfig:gn.value})}),{userOptionsVisible:bn,setUserOptionsVisibility:xn,keepUserOptionState:Sn}=Re({config:N.value}),{svgRef:B}=ze({config:R.value.title});function Cn(){let e=xe({userConfig:D.config,defaultConfig:Wt}),t={},n=e.theme;if(n){if(!Gt.value(e))Kt(e),t=e;else{let r=xe({userConfig:He[n]||D.config,defaultConfig:e});t={...xe({userConfig:D.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:le[n]||a}}}else t=e;return t}let wn=ne(D.config);rt(()=>D.config,(e,t)=>{let n=ne(e),r=n!==wn;wn=n;let i=Cn();r?(_n.value||(N.value=i),bn.value=!N.value.userOptions.showOnChartHover,kn(),nn.value+=1,rn.value+=1,an.value+=1,U.value.dataLabels.show=P.value.dataLabels.show,U.value.showTable=N.value.table.show,U.value.showTooltip=F.value.show,W.value.width=R.value.width,W.value.height=R.value.height):(N.value.style.chart.tooltip=i.style.chart.tooltip,U.value.showTooltip=N.value.style.chart.tooltip.show)},{deep:!0});let Tn=f(()=>{let{top:e,right:t,bottom:n,left:r}=R.value.padding;return{css:`padding:${e}px ${t}px ${n}px ${r}px`,top:e,right:t,bottom:n,left:r}});function En(e,t=1e3,n=50){return new Promise(r=>{let i=e.length;on.value=Array(i).fill(0),sn.value=[];let a=0;e.forEach((e,o)=>{setTimeout(()=>{let n=performance.now();function s(l){let ee=Math.min((l-n)/t,1),te=e*se(ee);on.value[o]=te,on.value=[...on.value];let ne=[],u=0;D.dataset.forEach((e,t)=>{let n=re(e.series.reduce((e,t)=>e+re(c(t.values).reduce((e,t)=>e+t,0)),0))-re(on.value.slice(u,u+e.series.length).reduce((e,t)=>e+t,0));n>Number.MIN_VALUE&&ne.push({name:`__ghost__`,arcOf:e.name,arcOfId:`${O.value}_${t}`,id:`ghost_${O.value}_${t}`,seriesIndex:-1,datasetIndex:t,color:`transparent`,value:n,fullValue:n,absoluteValues:[],ghost:!0}),u+=e.series.length}),sn.value=ne,ee<1?requestAnimationFrame(s):(a+=1,a===i&&r())}requestAnimationFrame(s)},o*n)})})}async function Dn(){if(N.value.startAnimation?.show){let e=vn.value.flatMap(e=>e.series).map(e=>c(e.values).reduce((e,t)=>e+t,0));on.value=e.map(()=>0),A.value=!0,sn.value=vn.value.map((e,t)=>{let n=e.series.reduce((e,t)=>e+c(t.values).reduce((e,t)=>e+t,0),0);return{name:`__ghost__`,arcOf:e.name,arcOfId:`${O.value}_${t}`,id:`ghost_${O.value}_${t}`,seriesIndex:-1,datasetIndex:t,color:`transparent`,value:n,fullValue:n,absoluteValues:[],ghost:!0}}),await Je(),En(e,N.value.startAnimation.durationMs,N.value.startAnimation.staggerMs).then(()=>{A.value=!1,sn.value=[]})}else A.value=!1}Qe(async()=>{cn.value=!0,kn(),await Dn()});let V=et(null),On=et(null),H=f(()=>N.value.debug);function kn(){if(he(D.dataset)?(u({componentName:`VueUiNestedDonuts`,type:`dataset`,debug:H.value}),qt.value=!1,yn.value=!0):yn.value=N.value.loading,N.value.responsive){let e=Ne(()=>{let{width:e,height:t}=Pe({chart:k.value,title:R.value.title.text?Qt.value:null,legend:R.value.legend.show?$t.value:null,source:en.value,noTitle:tn.value,padding:Tn.value});requestAnimationFrame(()=>{W.value.width=e,W.value.height=t})});V.value&&(On.value&&V.value.unobserve(On.value),V.value.disconnect()),V.value=new ResizeObserver(e),On.value=k.value.parentNode,V.value.observe(On.value)}}Ze(()=>{V.value&&(On.value&&V.value.unobserve(On.value),V.value.disconnect())});let{isPrinting:An,isImaging:jn,generatePdf:Mn,generateImage:Nn}=Me({elementId:`nested_donuts_${O.value}`,fileName:R.value.title.text||`vue-ui-nested-donuts`,options:N.value.userOptions.print}),Pn=f(()=>N.value.userOptions.show&&!R.value.title.text),Fn=f(()=>me(N.value.customPalette)),U=x({dataLabels:{show:P.value.dataLabels.show},showTable:N.value.table.show,showTooltip:F.value.show});rt(N,()=>{U.value={dataLabels:{show:P.value.dataLabels.show},showTable:N.value.table.show,showTooltip:F.value.show}},{immediate:!0});let W=x({width:R.value.width,height:R.value.height}),G=at;function In({datapoint:e,index:t,seriesIndex:n}){N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:e,seriesIndex:n}),G(`selectDatapoint`,{datapoint:e,index:t})}function Ln({from:e,to:t,duration:n,onUpdate:r,onDone:i,easing:a=se}){let o=performance.now();function s(c){let l=Math.min((c-o)/n,1),ee=a(l);r(e+(t-e)*ee,l),l<1?requestAnimationFrame(s):(r(t,1),i&&i())}requestAnimationFrame(s)}let K=x([]),q=f(()=>{_n.value,vn.value.forEach((e,t)=>{[null,void 0].includes(e.name)&&u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`name`,index:t,debug:H.value}),[null,void 0].includes(e.series)?u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`series`,index:t,debug:H.value}):e.series.length===0?u({componentName:`VueUiNestedDonuts`,type:`datasetAttributeEmpty`,property:`series at index ${t}`,debug:H.value}):e.series.forEach((e,t)=>{[null,void 0].includes(e.name)&&u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`name`,index:t,key:`serie`,debug:H.value}),[null,void 0].includes(e.values)&&u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`values`,index:t,key:`serie`,debug:H.value})})});let e=0;return vn.value.map((t,n)=>({...t,total:t.series.filter(e=>!K.value.includes(e.id)).map(e=>c(e.values).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0),datasetIndex:n,id:`${O.value}_${n}`,series:t.series.map((r,i)=>{let o=c(r.values).reduce((e,t)=>e+t,0);return{name:r.name,arcOf:t.name,arcOfId:`${O.value}_${n}`,id:`${O.value}_${n}_${i}`,seriesIndex:i,datasetIndex:n,color:l(r.color)||Fn.value[i]||a[i%a.length],value:A.value?on.value[e++]??0:o,absoluteValues:r.values||[]}})}))});rt(()=>D.dataset,e=>{Array.isArray(e)&&e.length>0&&(yn.value=!1)},{immediate:!0});let J=f(()=>Math.min(W.value.height,W.value.width)*(L.value.donut.strokeWidth/512)),Y=f(()=>[...q.value].map((e,t)=>{let n=e.series.filter(e=>!K.value.includes(e.id)).map(e=>e.value).reduce((e,t)=>e+t,0);return{...e,total:n,series:e.series.filter(e=>!K.value.includes(e.id)).map(e=>({...e,proportion:e.value/n}))}}));function Rn(e,t,n){let r=0;for(let t=0;t<e.length;t+=1)n.includes(e[t])&&(r+=1);return r<t}let X=x(Y.value);rt(()=>Y.value,e=>X.value=e);function zn(e){let t=e.map(e=>e.id);if(e.some(e=>K.value.includes(e.id))){let e=new Set(t);K.value=K.value.filter(t=>!e.has(t))}else K.value.push(...t);G(`selectLegend`,Y.value)}function Z(e){let t=D.dataset.flatMap((e,t)=>e.series.map((e,n)=>({value:c(e.values).reduce((e,t)=>e+t,0),id:`${O.value}_${t}_${n}`,arcOfId:`${O.value}_${t}`}))).find(t=>t.id===e.id);if(!t)return;let n=q.value.flatMap(e=>e.series).find(t=>t.id===e.id)?.value??0,r=X.value.flatMap(e=>e.series).find(t=>t.id===e.id),i=r?r.value:0,a=q.value.find(e=>e.id===t.arcOfId);if(!a)return;let o=a.series.map(e=>e.id),s=Rn(o,o.length-1,K.value);K.value.includes(e.id)?(K.value=K.value.filter(t=>t!==e.id),N.value.serieToggleAnimation.show?Ln({from:i,to:n,duration:N.value.serieToggleAnimation.durationMs,onUpdate:t=>{X.value=X.value.map(n=>({...n,series:n.series.map(n=>n.id===e.id?{...n,value:t}:n)}))},onDone:()=>{G(`selectLegend`,Y.value)}}):(X.value=X.value.map(t=>({...t,series:t.series.map(t=>t.id===e.id?{...t,value:n}:t)})),G(`selectLegend`,Y.value))):s&&(N.value.serieToggleAnimation.show?Ln({from:i,to:0,duration:N.value.serieToggleAnimation.durationMs,onUpdate:t=>{X.value=X.value.map(n=>({...n,series:n.series.map(n=>n.id===e.id?{...n,value:t}:n)}))},onDone:()=>{K.value.push(e.id),G(`selectLegend`,Y.value)}}):(X.value=X.value.map(t=>({...t,series:t.series.map(t=>t.id===e.id?{...t,value:0}:t)})),K.value.push(e.id),G(`selectLegend`,Y.value)))}function Bn(e){return q.value.length?q.value.flatMap(e=>e.series).filter(t=>t.name===e)||(H.value&&console.warn(`VueUiNestedDonuts - Series name not found "${e}"`),null):(H.value&&console.warn(`VueUiNestedDonuts - There are no series to show.`),null)}function Vn(e){let t=Bn(e);t!==null&&(Array.isArray(t)?t.forEach(e=>{K.value.includes(e.id)&&Z({id:e.id})}):K.value.includes(t.id)&&Z({id:t.id}))}function Hn(e){let t=Bn(e);t!==null&&(Array.isArray(t)?t.forEach(e=>{K.value.includes(e.id)||Z({id:e.id})}):K.value.includes(t.id)||Z({id:t.id}))}let Un=f(()=>J.value/q.value.length*L.value.donut.spacingRatio),Wn=f(()=>X.value.map((e,t)=>J.value-t*J.value/q.value.length)),Gn=f(()=>X.value.map((e,t)=>{let n=Math.abs(e.series.map(e=>e.value).reduce((e,t)=>e+t,0))>0,r=J.value-t*J.value/X.value.length,i=A.value?sn.value.find(e=>e.datasetIndex===t):null,a=[...e.series,...i?[i]:[]].map(e=>({...e,value:e.value<1e-11?Number.MIN_VALUE:e.value})),s=o({series:[{name:`_`,color:L.value.donut.emptyFill,value:1}]},W.value.width/2,W.value.height/2,r,r,1.99999,2,1,360,105.25,Un.value),c=`M ${W.value.width/2},${W.value.height/2+r}
2
2
  a ${r},${r} 0 1,1 0,${-2*r}
3
3
  a ${r},${r} 0 1,1 0,${2*r}`;return{...e,hasData:n,radius:r,skeleton:s,fullCirclePath:c,donut:o({series:a},W.value.width/2,W.value.height/2,r,r,1.99999,2,1,360,105.25,Un.value)}})),Kn=f(()=>[...q.value].map((e,t)=>{let n=t*J.value/q.value.length;return{sizeRatio:n,donut:o({series:[{value:1}]},W.value.width/2,W.value.height/2,J.value-n,J.value-n,1.99999,2,1,360,105.25,J.value/q.value.length*L.value.donut.spacingRatio)[0]}})),qn=x(null),Jn=x(null),Yn=x(null),Xn=x(null);function Zn({datapoint:e,seriesIndex:t}){N.value.events.datapointLeave&&N.value.events.datapointLeave({datapoint:e,seriesIndex:t}),Jt.value=!1,qn.value=null,Xt.value=null,Jn.value=null,Yn.value=null,j.value=null,fn.value=`pointer`}function Qn({val:e,percentage:t,showVal:n,showPercentage:r,config:i}){return Be({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}function $n({datapoint:e,_relativeIndex:t,seriesIndex:r,triggerMode:a=`pointer`}){N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:e,seriesIndex:r}),fn.value=a,j.value=r,qn.value=e.arcOfId,Jn.value=e.id,Yn.value=r,Xt.value=e.id,Xn.value={datapoint:e,seriesIndex:r,series:X.value,config:N.value};let o=F.value.customFormat;if(i(o)&&fe(()=>o({seriesIndex:r,datapoint:e,series:X.value,config:N.value})))Yt.value=o({seriesIndex:r,datapoint:e,series:X.value,config:N.value});else{let t=``;if(F.value.showAllItemsAtIndex&&K.value.length===0){let i=X.value.map(e=>e.series.find(e=>e.seriesIndex===r));i.forEach((a,o)=>{if(!a)return``;t+=`
4
4
  <div style="display:flex; flex-direction: column; justify-content:flex-start; align-items:flex-start;padding:6px 0; ${o<i.length-1?`border-bottom:1px solid ${F.value.borderColor}`:``}">
@@ -16,4 +16,4 @@ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO
16
16
  </b>
17
17
  </span>
18
18
  </div>
19
- `})}else t+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${F.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.arcOf??``} - ${e.name}</div>`,t+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${e.color}"/></svg>`,F.value.showValue&&(t+=`<b>${ae(P.value.dataLabels.formatter,e.value,n({p:P.value.dataLabels.prefix,v:e.value,s:P.value.dataLabels.suffix,r:F.value.roundingValue}),{datapoint:e,seriesIndex:r})}</b>`),F.value.showPercentage&&(F.value.showValue?t+=`<span>(${n({v:e.proportion*100,s:`%`,r:F.value.roundingPercentage})})</span></div>`:t+=`<b>${n({v:e.proportion*100,s:`%`,r:F.value.roundingPercentage})}</b></div>`);Yt.value=`<div style="font-size:${F.value.fontSize}px">${t}</div>`}Jt.value=!0}function er(e){return e.proportion*100>P.value.dataLabels.hideUnderValue}function tr(e,t){if(!N.value.useBlurOnHover)return``;if(F.value.showAllItemsAtIndex&&K.value.length===0)return[null,void 0].includes(Yn.value)||Yn.value===t?``:`url(#blur_${O.value})`;if(!F.value.showAllItemsAtIndex||K.value.length)return[null,void 0].includes(Jn.value)||Jn.value===e.id?``:`url(#blur_${O.value})`}let nr=f(()=>q.value.map((e,t)=>{let r=e.series.filter(e=>!K.value.includes(e.id)),i=A.value?r.map(e=>{let n=vn.value[t].series.findIndex(t=>t.name===e.name);return c(vn.value[t].series[n].values).reduce((e,t)=>e+t,0)}).reduce((e,t)=>e+t,0):r.map(e=>e.value).reduce((e,t)=>e+t,0);return e.series.map((e,r)=>{let a=c(vn.value[t].series[r].values).reduce((e,t)=>e+t,0),o=A.value?a:e.value,s=Qn({val:ae(P.value.dataLabels.formatter,o,n({p:P.value.dataLabels.prefix,v:o,s:P.value.dataLabels.suffix,r:R.value.legend.roundingValue}),{datapoint:e,seriesIndex:r}),percentage:isNaN(o/i)||K.value.includes(e.id)?`-`:n({v:o/i*100,s:`%`,r:R.value.legend.roundingPercentage}),showVal:R.value.legend.showValue,showPercentage:R.value.legend.showPercentage,config:R.value.legend}),l=`${e.name}${R.value.legend.showPercentage||R.value.legend.showValue?`: `:``}${s}`;return{name:e.name,color:e.color,value:o,display:l,svgDisplay:`${e.arcOf?`${e.arcOf} - `:``}${l}`,shape:`circle`,arcOf:e.arcOf,id:e.id,seriesIndex:r,datasetIndex:t,total:i,opacity:K.value.includes(e.id)?.5:1,segregate:()=>Z(e),isSegregated:K.value.includes(e.id)}})})),rr=f(()=>({cy:`nested-donuts-legend`,backgroundColor:R.value.legend.backgroundColor,color:R.value.legend.color,fontSize:R.value.legend.fontSize,paddingBottom:12,fontWeight:R.value.legend.bold?`bold`:``})),Q=f(()=>({head:X.value.flatMap(e=>e.series.map(t=>({name:`${e.name} - ${t.name}`,color:t.color,total:e.total}))),body:X.value.flatMap(e=>e.series.map(e=>e.value))}));function ir(e=null){Je(()=>{let t=Q.value.head.map((e,t)=>[[e.name],[Q.value.body[t]],[isNaN(Q.value.body[t]/e.total)?`-`:Q.value.body[t]/e.total*100]]),n=[[R.value.title.text],[R.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),i=r(n);e?e(i):ue({csvContent:i,title:R.value.title.text||`vue-ui-nested-donuts`})})}let ar=f(()=>{let e=[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],t=Q.value.head.map((e,t)=>{let r=n({p:P.value.dataLabels.prefix,v:Q.value.body[t],s:P.value.dataLabels.suffix,r:N.value.table.td.roundingValue});return[{color:e.color,name:e.name},r,isNaN(Q.value.body[t]/e.total)?`-`:n({v:Q.value.body[t]/e.total*100,s:`%`,r:N.value.table.td.roundingPercentage})]}),r=t.map(e=>e.map((e,t)=>t===0?e.name:e)),i={th:{backgroundColor:N.value.table.th.backgroundColor,color:N.value.table.th.color,outline:N.value.table.th.outline},td:{backgroundColor:N.value.table.td.backgroundColor,color:N.value.table.td.color,outline:N.value.table.td.outline},breakpoint:N.value.table.responsiveBreakpoint};return{colNames:[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],head:e,body:t,a11yBody:r,config:i}});function or(){return q.value}function sr(){U.value.showTable=!U.value.showTable}function cr(){U.value.dataLabels.show=!U.value.dataLabels.show}function lr(){U.value.showTooltip=!U.value.showTooltip}let ur=x(!1);function dr(){ur.value=!ur.value}let fr=Ce(k,()=>R.value.title.text),pr=x(null);function mr(){if(!pr.value)return;let{x:e,y:t,width:n,height:r}=pr.value.getBBox();B.value&&B.value.setAttribute(`viewBox`,`${e} ${t} ${n+Math.min(0,e)} ${r+Math.min(0,t)}`)}let hr=f(()=>De({config:N,style:R,mutableConfig:U,dialog:Ut,accordion:Rt,isFullscreen:M,parent:k,maxWidth:800,isCursorPointer:z}));rt(()=>U.value.showTable,e=>Ee(e,N,ln));function gr(){U.value.showTable=!1,un.value&&un.value.setTableIconState(!1)}let _r=f(()=>R.value.backgroundColor),vr=f(()=>R.value.legend),yr=f(()=>R.value.title),br=f(()=>nr.value.flat().map(e=>({...e,name:e.svgDisplay}))),{isCallbackImaging:xr,isCallbackSvg:Sr,generateSvg:Cr,onGenerateImage:wr}=Te({svg:B,title:yr,legend:vr,legendItems:br,backgroundColor:_r,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:Nn});async function Tr(){G(`copyAlt`,{config:N.value,dataset:X.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:X.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}let $=f(()=>Gn.value.flatMap(e=>e.donut.filter(e=>!e.ghost)));function Er(){j.value=null,pn.value=!0}function Dr(){j.value=null,fn.value=`pointer`,Jt.value=!1,qn.value=null,Xt.value=null,Jn.value=null,Yn.value=null,pn.value=!1}function Or(e){if(!B.value||ur.value||document.activeElement!==B.value||!$.value.length)return;let t=[`ArrowLeft`,`ArrowUp`].includes(e.key),n=[`ArrowRight`,`ArrowDown`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){j.value=null,fn.value=`pointer`,Jt.value=!1,qn.value=null,Xt.value=null,Jn.value=null,Yn.value=null;return}if(r){if(j.value===null)return;let e=$.value[j.value];if(!e)return;In({datapoint:e,index:j.value,seriesIndex:e.seriesIndex});return}let a=j.value,o=Yn.value,s=a!==null&&a>=0&&a<$.value.length,c=o!==null&&o>=0&&o<$.value.length;s?n?(a+=1,a>=$.value.length&&(a=0)):t&&(--a,a<0&&(a=$.value.length-1)):c?(a=n?o+1:o-1,a>=$.value.length&&(a=0),a<0&&(a=$.value.length-1)):a=n?0:$.value.length-1;let l=$.value[a];l&&(j.value=a,kr(),$n({datapoint:l,relativeIndex:a,seriesIndex:l.seriesIndex,show:!0,triggerMode:`keyboard`}))}function kr(){if(!B.value)return;let e=B.value.getBoundingClientRect();dn.value={x:e.left+e.width/2,y:e.top+e.height/2}}let Ar=f(()=>({headers:ar.value?.colNames??[],rows:ar.value?.a11yBody??[]}));return be({autoSize:mr,getData:or,getImage:fr,generatePdf:Mn,generateCsv:ir,generateImage:Nn,generateSvg:Cr,hideSeries:Hn,showSeries:Vn,toggleTable:sr,toggleLabels:cr,toggleTooltip:lr,toggleAnnotator:dr,toggleFullscreen:mn,copyAlt:Tr}),(e,t)=>(b(),h(`div`,{ref_key:`nestedDonutsChart`,ref:k,class:Ye(`vue-data-ui-component vue-ui-nested-donuts ${M.value?`vue-data-ui-wrapper-fullscreen`:``} ${N.value.useCssAnimation?``:`vue-ui-dna`}`),style:Xe(`font-family:${N.value.style.fontFamily};width:100%; text-align:center;background:${R.value.backgroundColor}`),id:`nested_donuts_${O.value}`,onMouseenter:t[2]||=()=>T(xn)(!0),onMouseleave:t[3]||=()=>T(xn)(!1)},[g(`div`,{id:`chart-instructions-${O.value}`,class:`sr-only`},[g(`p`,null,w(N.value.a11y.translations.keyboardNavigation),1)],8,st),Ar.value?.rows?.length?(b(),p(Le,{key:0,uid:O.value,head:Ar.value.headers,body:Ar.value.rows,notice:N.value.a11y.translations.tableAvailable,caption:N.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):m(``,!0),I.value.buttons.annotator?(b(),p(T(Vt),{key:1,svgRef:T(B),backgroundColor:R.value.backgroundColor,color:R.value.color,active:ur.value,isCursorPointer:z.value,palette:I.value.annotatorPalette,onClose:dr},We({_:2},[S(T(ke),t=>({name:t,fn:E(n=>[C(e.$slots,t,y(v(T(Oe)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):m(``,!0),Pn.value?(b(),h(`div`,{key:2,ref_key:`noTitle`,ref:tn,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):m(``,!0),R.value.title.text?(b(),h(`div`,{key:3,ref_key:`chartTitle`,ref:Qt},[(b(),p(we,{key:`title_${nn.value}`,config:{title:{cy:`donut-div-title`,...R.value.title},subtitle:{cy:`donut-div-subtitle`,...R.value.title.subtitle}}},null,8,[`config`]))],512)):m(``,!0),g(`div`,{id:`legend-top-${O.value}`},null,8,ct),I.value.show&&qt.value&&(T(Sn)||T(bn))?(b(),p(T(Bt),{ref_key:`userOptionsRef`,ref:un,key:`user_option_${Zt.value}`,backgroundColor:R.value.backgroundColor,color:R.value.color,isPrinting:T(An),isImaging:T(jn),uid:O.value,hasTooltip:I.value.buttons.tooltip&&F.value.show,hasPdf:I.value.buttons.pdf,hasXls:I.value.buttons.csv,hasImg:I.value.buttons.img,hasSvg:I.value.buttons.svg,hasTable:I.value.buttons.table,hasLabel:I.value.buttons.labels,hasFullscreen:I.value.buttons.fullscreen,hasAltCopy:I.value.buttons.altCopy,isFullscreen:M.value,isTooltip:U.value.showTooltip,titles:{...I.value.buttonTitles},chartElement:k.value,position:I.value.position,hasAnnotator:I.value.buttons.annotator,isAnnotation:ur.value,callbacks:I.value.callbacks,printScale:I.value.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:z.value,onToggleFullscreen:mn,onGeneratePdf:T(Mn),onGenerateCsv:ir,onGenerateImage:T(wr),onGenerateSvg:T(Cr),onToggleTable:sr,onToggleLabels:cr,onToggleTooltip:lr,onToggleAnnotator:dr,onCopyAlt:Tr,style:Xe({visibility:T(Sn)?T(bn)?`visible`:`hidden`:`visible`})},We({_:2},[S(T(Ae)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:E(n=>[C(e.$slots,t,y(v(T(je)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):m(``,!0),g(`div`,lt,[(b(),h(`svg`,{ref_key:`svgRef`,ref:B,xmlns:T(pe),"aria-describedby":`chart-instructions-${O.value}`,class:Ye({"vue-data-ui-fullscreen--on":M.value,"vue-data-ui-fulscreen--off":!M.value,"vue-data-ui-svg":!0}),viewBox:`0 0 ${W.value.width<=0?.001:W.value.width} ${W.value.height<0?.001:W.value.height}`,style:Xe(`max-width:100%; overflow: visible; background:transparent;color:${R.value.color};${Tn.value.css}`),tabindex:`0`,onFocus:Er,onBlur:Dr,onKeydown:Or},[g(`g`,{ref_key:`G`,ref:pr,class:`vue-data-ui-g`},[Ke(T(Ht)),C(e.$slots,`svg-underlayer`,{svg:{...W.value,isPrintingImg:T(An)||T(jn)||T(xr),isPrintingSvg:T(Sr)}},void 0,!0),e.$slots[`chart-background`]?(b(),h(`foreignObject`,{key:0,x:0,y:0,width:W.value.width<=0?.001:W.value.width,height:W.value.height<0?.001:W.value.height,style:{pointerEvents:`none`}},[C(e.$slots,`chart-background`,{},void 0,!0)],8,dt)):m(``,!0),g(`defs`,null,[(b(!0),h(d,null,S(Kn.value,(e,t)=>(b(),p(Fe,{t:`radial`,id:`radial_${O.value}_${t}`,key:`radial_${O.value}_${t}`,stops:[[`0%`,`#FFFFFF`,0],[`${(1-Un.value/Wn.value[t])*100}%`,T(s)(`#FFFFFF`,0),0],[`${(1-Un.value/Wn.value[t]/2)*100}%`,`#FFFFFF`,R.value.gradientIntensity/100],[`100%`,`#FFFFFF`,0]]},null,8,[`id`,`stops`]))),128))]),g(`defs`,null,[g(`filter`,{id:`blur_${O.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[g(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:2,id:`blur_std_${O.value}`},null,8,pt),t[4]||=g(`feColorMatrix`,{type:`saturate`,values:`0`},null,-1)],8,ft),g(`filter`,{id:`shadow_${O.value}`,"color-interpolation-filters":`sRGB`},[g(`feDropShadow`,{dx:`0`,dy:`0`,stdDeviation:`10`,"flood-opacity":`0.5`,"flood-color":L.value.donut.shadowColor},null,8,ht)],8,mt)]),g(`defs`,null,[(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`path`,{key:`path-full-${t}`,id:`path-full-${t}-${O.value}`,d:e.fullCirclePath,fill:`none`},null,8,gt))),128))]),(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`g`,null,[e.hasData?(b(!0),h(d,{key:0},S(e.donut.filter(e=>!e.ghost),(e,t)=>(b(),h(`g`,null,[g(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:e.color,stroke:L.value.donut.borderColorAuto?R.value.backgroundColor:L.value.donut.borderColor,"stroke-width":L.value.donut.borderWidth,filter:tr(e,t)},null,8,_t)]))),256)):(b(!0),h(d,{key:1},S(e.skeleton,(e,t)=>(b(),h(`g`,null,[g(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:e.color,stroke:L.value.donut.borderColorAuto?R.value.backgroundColor:L.value.donut.borderColor,"stroke-width":L.value.donut.borderWidth},null,8,vt)]))),256))]))),256)),R.value.useGradient?(b(),h(`g`,yt,[(b(!0),h(d,null,S(Kn.value,(e,t)=>(b(),h(`g`,null,[g(`path`,{d:e.donut.arcSlice,fill:`url(#radial_${O.value}_${t})`,stroke:`transparent`,"stroke-width":`0`},null,8,bt)]))),256))])):m(``,!0),P.value.dataLabels.showDonutName?(b(),h(`g`,xt,[P.value.dataLabels.curvedDonutName?(b(!0),h(d,{key:0},S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut,(n,r)=>(b(),h(`g`,null,[r===0&&W.value.width&&W.value.height?(b(),h(`text`,{key:0,"text-anchor":`middle`,"font-size":L.value.labels.dataLabels.fontSize,"font-weight":L.value.labels.dataLabels.boldDonutName?`bold`:`normal`,fill:L.value.labels.dataLabels.color,dy:L.value.labels.dataLabels.donutNameOffsetY},[g(`textPath`,{href:`#path-full-${t}-${O.value}`,startOffset:`50%`,"text-anchor":`middle`,method:`align`,spacing:`auto`},w(L.value.labels.dataLabels.donutNameAbbreviation?T(ce)({source:e.name,length:N.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize}):e.name),9,Ct)],8,St)):m(``,!0)]))),256))]))),256)):(b(!0),h(d,{key:1},S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut,(t,n)=>(b(),h(`g`,null,[n===0&&W.value.width&&W.value.height?(b(),h(`text`,{key:0,x:W.value.width/2,y:t.startY-L.value.labels.dataLabels.fontSize+L.value.labels.dataLabels.donutNameOffsetY,"text-anchor":`middle`,"font-size":L.value.labels.dataLabels.fontSize,"font-weight":L.value.labels.dataLabels.boldDonutName?`bold`:`normal`,fill:L.value.labels.dataLabels.color},w(L.value.labels.dataLabels.donutNameAbbreviation?T(ce)({source:e.name,length:N.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize}):e.name),9,wt)):m(``,!0)]))),256))]))),256))])):m(``,!0),P.value.dataLabels.show?(b(),h(`g`,Tt,[(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut.filter(e=>!e.ghost),(e,r)=>(b(),h(`g`,{filter:tr(e,r)},[it(g(`text`,{opacity:+!!er(e),"text-anchor":T(ie)(e,!0).anchor,x:T(ie)(e,!1,L.value.labels.dataLabels.offsetX).x||0,y:T(de)(e,L.value.labels.dataLabels.offsetY,L.value.labels.dataLabels.offsetY)+(P.value.dataLabels.showValueFirst&&P.value.dataLabels.showValue?L.value.labels.dataLabels.fontSize:0),fill:P.value.dataLabels.useSerieColor?e.color:L.value.labels.dataLabels.color,"font-size":P.value.dataLabels.fontSize,"font-weight":P.value.dataLabels.boldPercentage?`bold`:`normal`},w(T(ee)(T(n)({v:e.proportion*100,s:`%`,r:R.value.layout.labels.dataLabels.roundingPercentage}),L.value.labels.dataLabels.usePercentageParens?`(`:``,L.value.labels.dataLabels.usePercentageParens?`)`:``)),9,Dt),[[nt,U.value.dataLabels.show&&P.value.dataLabels.showPercentage]]),it(g(`text`,{opacity:+!!er(e),"text-anchor":T(ie)(e,!0).anchor,x:T(ie)(e,!1,L.value.labels.dataLabels.offsetX).x||0,y:T(de)(e,L.value.labels.dataLabels.offsetY,L.value.labels.dataLabels.offsetY)+(P.value.dataLabels.showValueFirst||!P.value.dataLabels.showPercentage?0:L.value.labels.dataLabels.fontSize),fill:P.value.dataLabels.useSerieColor?e.color:L.value.labels.dataLabels.color,"font-size":P.value.dataLabels.fontSize,"font-weight":P.value.dataLabels.boldValue?`bold`:`normal`},w(T(ee)(T(ae)(L.value.labels.dataLabels.formatter,e.value,T(n)({p:R.value.layout.labels.dataLabels.prefix,v:e.value,s:R.value.layout.labels.dataLabels.suffix,r:R.value.layout.labels.dataLabels.roundingValue}),{datapoint:e,seriesIndex:t,datapointIndex:r}),L.value.labels.dataLabels.useValueParens?`(`:``,L.value.labels.dataLabels.useValueParens?`)`:``)),9,Ot),[[nt,U.value.dataLabels.show&&P.value.dataLabels.showValue]])],8,Et))),256))]))),256))])):m(``,!0),(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut,(e,t)=>(b(),h(`g`,null,[g(`path`,{d:e.arcSlice,fill:Xt.value===e.id?L.value.donut.selectedColor:`transparent`,onMouseenter:t=>$n({datapoint:e,relativeIndex:$.value.findIndex(t=>t.id===e.id),seriesIndex:e.seriesIndex}),onClick:n=>In({datapoint:e,index:t,seriesIndex:e.seriesIndex}),onMouseleave:t=>Zn({datapoint:e,seriesIndex:e.seriesIndex})},null,40,kt)]))),256))]))),256)),C(e.$slots,`svg`,{svg:{...W.value,isPrintingImg:T(An)||T(jn)||T(xr),isPrintingSvg:T(Sr)}},void 0,!0)],512)],46,ut)),e.$slots.hint?(b(),h(`div`,At,[C(e.$slots,`hint`,y(v({hint:N.value.a11y.translations.keyboardNavigation,isVisible:pn.value})),void 0,!0)])):m(``,!0)]),e.$slots.watermark?(b(),h(`div`,jt,[C(e.$slots,`watermark`,y(v({isPrinting:T(An)||T(jn)||T(xr)||T(Sr)})),void 0,!0)])):m(``,!0),Ke(T(It),{teleportTo:F.value.teleportTo,show:U.value.showTooltip&&Jt.value,backgroundColor:F.value.backgroundColor,color:F.value.color,borderRadius:F.value.borderRadius,borderColor:F.value.borderColor,borderWidth:F.value.borderWidth,fontSize:F.value.fontSize,backgroundOpacity:F.value.backgroundOpacity,position:F.value.position,offsetX:F.value.offsetX,offsetY:F.value.offsetY,parent:k.value,content:Yt.value,isFullscreen:M.value,isCustom:T(i)(F.value.customFormat),smooth:F.value.smooth,backdropFilter:F.value.backdropFilter,smoothForce:F.value.smoothForce,smoothSnapThreshold:F.value.smoothSnapThreshold,isA11yMode:fn.value===`keyboard`,a11yPosition:dn.value},{"tooltip-before":E(()=>[C(e.$slots,`tooltip-before`,y(v({...Xn.value})),void 0,!0)]),tooltip:E(()=>[C(e.$slots,`tooltip`,y(v({...Xn.value})),void 0,!0)]),"tooltip-after":E(()=>[C(e.$slots,`tooltip-after`,y(v({...Xn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),g(`div`,{id:`legend-bottom-${O.value}`},null,8,Mt),cn.value&&(R.value.legend.show||e.$slots.legend)?(b(),p(Ue,{key:6,to:R.value.legend.position===`top`?`#legend-top-${O.value}`:`#legend-bottom-${O.value}`},[R.value.legend.show?(b(),h(`div`,{key:0,ref_key:`chartLegend`,ref:$t,class:Ye({"vue-ui-nested-donuts-legend":nr.value.length>1})},[C(e.$slots,`legend`,{legend:nr.value},()=>[(b(!0),h(d,null,S(nr.value,(e,n)=>(b(),p(Ve,{key:`legend_${n}_${an.value}`,legendSet:e,config:rr.value,isCursorPointer:z.value,onClickMarker:t[0]||=({legend:e})=>Z(e)},{legendTitle:E(({titleSet:e})=>[e[0]&&e[0].arcOf?(b(),h(`div`,Nt,w(e[0].arcOf),1)):m(``,!0)]),item:E(({legend:e,index:t})=>[g(`div`,{onClick:t=>Z(e),style:Xe(`opacity:${K.value.includes(e.id)?.5:1}`)},w(e.display),13,Pt)]),legendToggle:E(()=>[e.length>2&&R.value.legend.selectAllToggle.show&&!T(_n)?(b(),p(Ie,{key:`toggle-${n}`,backgroundColor:R.value.legend.selectAllToggle.backgroundColor,color:R.value.legend.selectAllToggle.color,fontSize:R.value.legend.fontSize,checked:e.some(e=>K.value.includes(e.id)),isCursorPointer:z.value,onToggle:t=>zn(e)},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`,`onToggle`])):m(``,!0)]),_:2},1032,[`legendSet`,`config`,`isCursorPointer`]))),128))],!0)],2)):m(``,!0)],8,[`to`])):m(``,!0),e.$slots.source?(b(),h(`div`,{key:7,ref_key:`source`,ref:en,dir:`auto`},[C(e.$slots,`source`,{},void 0,!0)],512)):m(``,!0),qt.value&&I.value.buttons.table?(b(),p($e(hr.value.component),qe({key:8},hr.value.props,{ref_key:`tableUnit`,ref:ln,onClose:gr}),We({content:E(()=>[(b(),p(T(zt),{key:`table_${rn.value}`,colNames:ar.value.colNames,head:ar.value.head,body:ar.value.body,config:ar.value.config,title:N.value.table.useDialog?``:hr.value.title,withCloseButton:!N.value.table.useDialog,isCursorPointer:z.value,onClose:gr},{th:E(({th:e})=>[g(`div`,Ft,w(e),1)]),td:E(({td:e})=>[Ge(w(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[N.value.table.useDialog?{name:`title`,fn:E(()=>[Ge(w(hr.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:E(()=>[g(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>ir(I.value.callbacks.csv),style:Xe({cursor:z.value?`pointer`:`default`})},[Ke(T(Lt),{name:`fileCsv`,stroke:hr.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):m(``,!0),C(e.$slots,`skeleton`,{},()=>[T(_n)?(b(),p(_e,{key:0})):m(``,!0)],!0)],46,ot))}},[[`__scopeId`,`data-v-865008c0`]]);export{at as n,It as t};
19
+ `})}else t+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${F.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.arcOf??``} - ${e.name}</div>`,t+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${e.color}"/></svg>`,F.value.showValue&&(t+=`<b>${ae(P.value.dataLabels.formatter,e.value,n({p:P.value.dataLabels.prefix,v:e.value,s:P.value.dataLabels.suffix,r:F.value.roundingValue}),{datapoint:e,seriesIndex:r})}</b>`),F.value.showPercentage&&(F.value.showValue?t+=`<span>(${n({v:e.proportion*100,s:`%`,r:F.value.roundingPercentage})})</span></div>`:t+=`<b>${n({v:e.proportion*100,s:`%`,r:F.value.roundingPercentage})}</b></div>`);Yt.value=`<div style="font-size:${F.value.fontSize}px">${t}</div>`}Jt.value=!0}function er(e){return e.proportion*100>P.value.dataLabels.hideUnderValue}function tr(e,t){if(!N.value.useBlurOnHover)return``;if(F.value.showAllItemsAtIndex&&K.value.length===0)return[null,void 0].includes(Yn.value)||Yn.value===t?``:`url(#blur_${O.value})`;if(!F.value.showAllItemsAtIndex||K.value.length)return[null,void 0].includes(Jn.value)||Jn.value===e.id?``:`url(#blur_${O.value})`}let nr=f(()=>q.value.map((e,t)=>{let r=e.series.filter(e=>!K.value.includes(e.id)),i=A.value?r.map(e=>{let n=vn.value[t].series.findIndex(t=>t.name===e.name);return c(vn.value[t].series[n].values).reduce((e,t)=>e+t,0)}).reduce((e,t)=>e+t,0):r.map(e=>e.value).reduce((e,t)=>e+t,0);return e.series.map((e,r)=>{let a=c(vn.value[t].series[r].values).reduce((e,t)=>e+t,0),o=A.value?a:e.value,s=Qn({val:ae(P.value.dataLabels.formatter,o,n({p:P.value.dataLabels.prefix,v:o,s:P.value.dataLabels.suffix,r:R.value.legend.roundingValue}),{datapoint:e,seriesIndex:r}),percentage:isNaN(o/i)||K.value.includes(e.id)?`-`:n({v:o/i*100,s:`%`,r:R.value.legend.roundingPercentage}),showVal:R.value.legend.showValue,showPercentage:R.value.legend.showPercentage,config:R.value.legend}),l=`${e.name}${R.value.legend.showPercentage||R.value.legend.showValue?`: `:``}${s}`;return{name:e.name,color:e.color,value:o,display:l,svgDisplay:`${e.arcOf?`${e.arcOf} - `:``}${l}`,shape:`circle`,arcOf:e.arcOf,id:e.id,seriesIndex:r,datasetIndex:t,total:i,opacity:K.value.includes(e.id)?.5:1,segregate:()=>Z(e),isSegregated:K.value.includes(e.id)}})})),rr=f(()=>({cy:`nested-donuts-legend`,backgroundColor:R.value.legend.backgroundColor,color:R.value.legend.color,fontSize:R.value.legend.fontSize,paddingBottom:12,fontWeight:R.value.legend.bold?`bold`:``})),Q=f(()=>({head:X.value.flatMap(e=>e.series.map(t=>({name:`${e.name} - ${t.name}`,color:t.color,total:e.total}))),body:X.value.flatMap(e=>e.series.map(e=>e.value))}));function ir(e=null){Je(()=>{let t=Q.value.head.map((e,t)=>[[e.name],[Q.value.body[t]],[isNaN(Q.value.body[t]/e.total)?`-`:Q.value.body[t]/e.total*100]]),n=[[R.value.title.text],[R.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),i=r(n);e?e(i):ue({csvContent:i,title:R.value.title.text||`vue-ui-nested-donuts`})})}let ar=f(()=>{let e=[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],t=Q.value.head.map((e,t)=>{let r=n({p:P.value.dataLabels.prefix,v:Q.value.body[t],s:P.value.dataLabels.suffix,r:N.value.table.td.roundingValue});return[{color:e.color,name:e.name},r,isNaN(Q.value.body[t]/e.total)?`-`:n({v:Q.value.body[t]/e.total*100,s:`%`,r:N.value.table.td.roundingPercentage})]}),r=t.map(e=>e.map((e,t)=>t===0?e.name:e)),i={th:{backgroundColor:N.value.table.th.backgroundColor,color:N.value.table.th.color,outline:N.value.table.th.outline},td:{backgroundColor:N.value.table.td.backgroundColor,color:N.value.table.td.color,outline:N.value.table.td.outline},breakpoint:N.value.table.responsiveBreakpoint};return{colNames:[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],head:e,body:t,a11yBody:r,config:i}});function or(){return q.value}function sr(){U.value.showTable=!U.value.showTable}function cr(){U.value.dataLabels.show=!U.value.dataLabels.show}function lr(){U.value.showTooltip=!U.value.showTooltip}let ur=x(!1);function dr(){ur.value=!ur.value}let fr=Ce(k,()=>R.value.title.text),pr=x(null);function mr(){if(!pr.value)return;let{x:e,y:t,width:n,height:r}=pr.value.getBBox();B.value&&B.value.setAttribute(`viewBox`,`${e} ${t} ${n+Math.min(0,e)} ${r+Math.min(0,t)}`)}let hr=f(()=>De({config:N,style:R,mutableConfig:U,dialog:Ut,accordion:Rt,isFullscreen:M,parent:k,maxWidth:800,isCursorPointer:z}));rt(()=>U.value.showTable,e=>Ee(e,N,ln));function gr(){U.value.showTable=!1,un.value&&un.value.setTableIconState(!1)}let _r=f(()=>R.value.backgroundColor),vr=f(()=>R.value.legend),yr=f(()=>R.value.title),br=f(()=>nr.value.flat().map(e=>({...e,name:e.svgDisplay}))),{isCallbackImaging:xr,isCallbackSvg:Sr,generateSvg:Cr,onGenerateImage:wr}=Te({svg:B,title:yr,legend:vr,legendItems:br,backgroundColor:_r,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:Nn});async function Tr(){G(`copyAlt`,{config:N.value,dataset:X.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:X.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}let $=f(()=>Gn.value.flatMap(e=>e.donut.filter(e=>!e.ghost)));function Er(){j.value=null,pn.value=!0}function Dr(){j.value=null,fn.value=`pointer`,Jt.value=!1,qn.value=null,Xt.value=null,Jn.value=null,Yn.value=null,pn.value=!1}function Or(e){if(!B.value||ur.value||document.activeElement!==B.value||!$.value.length)return;let t=[`ArrowLeft`,`ArrowUp`].includes(e.key),n=[`ArrowRight`,`ArrowDown`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){j.value=null,fn.value=`pointer`,Jt.value=!1,qn.value=null,Xt.value=null,Jn.value=null,Yn.value=null;return}if(r){if(j.value===null)return;let e=$.value[j.value];if(!e)return;In({datapoint:e,index:j.value,seriesIndex:e.seriesIndex});return}let a=j.value,o=Yn.value,s=a!==null&&a>=0&&a<$.value.length,c=o!==null&&o>=0&&o<$.value.length;s?n?(a+=1,a>=$.value.length&&(a=0)):t&&(--a,a<0&&(a=$.value.length-1)):c?(a=n?o+1:o-1,a>=$.value.length&&(a=0),a<0&&(a=$.value.length-1)):a=n?0:$.value.length-1;let l=$.value[a];l&&(j.value=a,kr(),$n({datapoint:l,relativeIndex:a,seriesIndex:l.seriesIndex,show:!0,triggerMode:`keyboard`}))}function kr(){if(!B.value)return;let e=B.value.getBoundingClientRect();dn.value={x:e.left+e.width/2,y:e.top+e.height/2}}let Ar=f(()=>({headers:ar.value?.colNames??[],rows:ar.value?.a11yBody??[]}));return be({autoSize:mr,getData:or,getImage:fr,generatePdf:Mn,generateCsv:ir,generateImage:Nn,generateSvg:Cr,hideSeries:Hn,showSeries:Vn,toggleTable:sr,toggleLabels:cr,toggleTooltip:lr,toggleAnnotator:dr,toggleFullscreen:mn,copyAlt:Tr}),(e,t)=>(b(),h(`div`,{ref_key:`nestedDonutsChart`,ref:k,class:Ye(`vue-data-ui-component vue-ui-nested-donuts ${M.value?`vue-data-ui-wrapper-fullscreen`:``} ${N.value.useCssAnimation?``:`vue-ui-dna`}`),style:Xe(`font-family:${N.value.style.fontFamily};width:100%; text-align:center;background:${R.value.backgroundColor}`),id:`nested_donuts_${O.value}`,onMouseenter:t[2]||=()=>T(xn)(!0),onMouseleave:t[3]||=()=>T(xn)(!1)},[g(`div`,{id:`chart-instructions-${O.value}`,class:`sr-only`},[g(`p`,null,w(N.value.a11y.translations.keyboardNavigation),1)],8,st),Ar.value?.rows?.length?(b(),p(Le,{key:0,uid:O.value,head:Ar.value.headers,body:Ar.value.rows,notice:N.value.a11y.translations.tableAvailable,caption:N.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):m(``,!0),I.value.buttons.annotator?(b(),p(T(Vt),{key:1,svgRef:T(B),backgroundColor:R.value.backgroundColor,color:R.value.color,active:ur.value,isCursorPointer:z.value,palette:I.value.annotatorPalette,onClose:dr},We({_:2},[S(T(ke),t=>({name:t,fn:E(n=>[C(e.$slots,t,y(v(T(Oe)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):m(``,!0),Pn.value?(b(),h(`div`,{key:2,ref_key:`noTitle`,ref:tn,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):m(``,!0),R.value.title.text?(b(),h(`div`,{key:3,ref_key:`chartTitle`,ref:Qt},[(b(),p(we,{key:`title_${nn.value}`,config:{title:{cy:`donut-div-title`,...R.value.title},subtitle:{cy:`donut-div-subtitle`,...R.value.title.subtitle}}},null,8,[`config`]))],512)):m(``,!0),g(`div`,{id:`legend-top-${O.value}`},null,8,ct),I.value.show&&qt.value&&(T(Sn)||T(bn))?(b(),p(T(Bt),{ref_key:`userOptionsRef`,ref:un,key:`user_option_${Zt.value}`,backgroundColor:R.value.backgroundColor,color:R.value.color,isPrinting:T(An),isImaging:T(jn),uid:O.value,hasTooltip:I.value.buttons.tooltip&&F.value.show,hasPdf:I.value.buttons.pdf,hasXls:I.value.buttons.csv,hasImg:I.value.buttons.img,hasSvg:I.value.buttons.svg,hasTable:I.value.buttons.table,hasLabel:I.value.buttons.labels,hasFullscreen:I.value.buttons.fullscreen,hasAltCopy:I.value.buttons.altCopy,isFullscreen:M.value,isTooltip:U.value.showTooltip,titles:{...I.value.buttonTitles},chartElement:k.value,position:I.value.position,hasAnnotator:I.value.buttons.annotator,isAnnotation:ur.value,callbacks:I.value.callbacks,printScale:I.value.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:z.value,onToggleFullscreen:mn,onGeneratePdf:T(Mn),onGenerateCsv:ir,onGenerateImage:T(wr),onGenerateSvg:T(Cr),onToggleTable:sr,onToggleLabels:cr,onToggleTooltip:lr,onToggleAnnotator:dr,onCopyAlt:Tr,style:Xe({visibility:T(Sn)?T(bn)?`visible`:`hidden`:`visible`})},We({_:2},[S(T(Ae)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:E(n=>[C(e.$slots,t,y(v(T(je)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):m(``,!0),g(`div`,lt,[(b(),h(`svg`,{ref_key:`svgRef`,ref:B,xmlns:T(pe),"aria-describedby":`chart-instructions-${O.value}`,class:Ye({"vue-data-ui-fullscreen--on":M.value,"vue-data-ui-fulscreen--off":!M.value,"vue-data-ui-svg":!0}),viewBox:`0 0 ${W.value.width<=0?.001:W.value.width} ${W.value.height<0?.001:W.value.height}`,style:Xe(`max-width:100%; overflow: visible; background:transparent;color:${R.value.color};${Tn.value.css}`),tabindex:`0`,onFocus:Er,onBlur:Dr,onKeydown:Or},[g(`g`,{ref_key:`G`,ref:pr,class:`vue-data-ui-g`},[Ke(T(Ht)),C(e.$slots,`svg-underlayer`,{svg:{...W.value,isPrintingImg:T(An)||T(jn)||T(xr),isPrintingSvg:T(Sr)}},void 0,!0),e.$slots[`chart-background`]?(b(),h(`foreignObject`,{key:0,x:0,y:0,width:W.value.width<=0?.001:W.value.width,height:W.value.height<0?.001:W.value.height,style:{pointerEvents:`none`}},[C(e.$slots,`chart-background`,{},void 0,!0)],8,dt)):m(``,!0),g(`defs`,null,[(b(!0),h(d,null,S(Kn.value,(e,t)=>(b(),p(Fe,{t:`radial`,id:`radial_${O.value}_${t}`,key:`radial_${O.value}_${t}`,stops:[[`0%`,`#FFFFFF`,0],[`${(1-Un.value/Wn.value[t])*100}%`,T(s)(`#FFFFFF`,0),0],[`${(1-Un.value/Wn.value[t]/2)*100}%`,`#FFFFFF`,R.value.gradientIntensity/100],[`100%`,`#FFFFFF`,0]]},null,8,[`id`,`stops`]))),128))]),g(`defs`,null,[g(`filter`,{id:`blur_${O.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[g(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:2,id:`blur_std_${O.value}`},null,8,pt),t[4]||=g(`feColorMatrix`,{type:`saturate`,values:`0`},null,-1)],8,ft),g(`filter`,{id:`shadow_${O.value}`,"color-interpolation-filters":`sRGB`},[g(`feDropShadow`,{dx:`0`,dy:`0`,stdDeviation:`10`,"flood-opacity":`0.5`,"flood-color":L.value.donut.shadowColor},null,8,ht)],8,mt)]),g(`defs`,null,[(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`path`,{key:`path-full-${t}`,id:`path-full-${t}-${O.value}`,d:e.fullCirclePath,fill:`none`},null,8,gt))),128))]),(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`g`,null,[e.hasData?(b(!0),h(d,{key:0},S(e.donut.filter(e=>!e.ghost),(e,t)=>(b(),h(`g`,null,[g(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:e.color,stroke:L.value.donut.borderColorAuto?R.value.backgroundColor:L.value.donut.borderColor,"stroke-width":L.value.donut.borderWidth,filter:tr(e,t)},null,8,_t)]))),256)):(b(!0),h(d,{key:1},S(e.skeleton,(e,t)=>(b(),h(`g`,null,[g(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:e.color,stroke:L.value.donut.borderColorAuto?R.value.backgroundColor:L.value.donut.borderColor,"stroke-width":L.value.donut.borderWidth},null,8,vt)]))),256))]))),256)),R.value.useGradient?(b(),h(`g`,yt,[(b(!0),h(d,null,S(Kn.value,(e,t)=>(b(),h(`g`,null,[g(`path`,{d:e.donut.arcSlice,fill:`url(#radial_${O.value}_${t})`,stroke:`transparent`,"stroke-width":`0`},null,8,bt)]))),256))])):m(``,!0),P.value.dataLabels.showDonutName?(b(),h(`g`,xt,[P.value.dataLabels.curvedDonutName?(b(!0),h(d,{key:0},S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut,(n,r)=>(b(),h(`g`,null,[r===0&&W.value.width&&W.value.height?(b(),h(`text`,{key:0,"text-anchor":`middle`,"font-size":L.value.labels.dataLabels.fontSize,"font-weight":L.value.labels.dataLabels.boldDonutName?`bold`:`normal`,fill:L.value.labels.dataLabels.color,dy:L.value.labels.dataLabels.donutNameOffsetY},[g(`textPath`,{href:`#path-full-${t}-${O.value}`,startOffset:`50%`,"text-anchor":`middle`,method:`align`,spacing:`auto`},w(L.value.labels.dataLabels.donutNameAbbreviation?T(ce)({source:e.name,length:N.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize}):e.name),9,Ct)],8,St)):m(``,!0)]))),256))]))),256)):(b(!0),h(d,{key:1},S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut,(t,n)=>(b(),h(`g`,null,[n===0&&W.value.width&&W.value.height?(b(),h(`text`,{key:0,x:W.value.width/2,y:t.startY-L.value.labels.dataLabels.fontSize+L.value.labels.dataLabels.donutNameOffsetY,"text-anchor":`middle`,"font-size":L.value.labels.dataLabels.fontSize,"font-weight":L.value.labels.dataLabels.boldDonutName?`bold`:`normal`,fill:L.value.labels.dataLabels.color},w(L.value.labels.dataLabels.donutNameAbbreviation?T(ce)({source:e.name,length:N.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize}):e.name),9,wt)):m(``,!0)]))),256))]))),256))])):m(``,!0),P.value.dataLabels.show?(b(),h(`g`,Tt,[(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut.filter(e=>!e.ghost),(e,r)=>(b(),h(`g`,{filter:tr(e,r)},[it(g(`text`,{opacity:+!!er(e),"text-anchor":T(ie)(e,!0).anchor,x:T(ie)(e,!1,L.value.labels.dataLabels.offsetX).x||0,y:T(de)(e,L.value.labels.dataLabels.offsetY,L.value.labels.dataLabels.offsetY)+(P.value.dataLabels.showValueFirst&&P.value.dataLabels.showValue?L.value.labels.dataLabels.fontSize:0),fill:P.value.dataLabels.useSerieColor?e.color:L.value.labels.dataLabels.color,"font-size":P.value.dataLabels.fontSize,"font-weight":P.value.dataLabels.boldPercentage?`bold`:`normal`},w(T(ee)(T(n)({v:e.proportion*100,s:`%`,r:R.value.layout.labels.dataLabels.roundingPercentage}),L.value.labels.dataLabels.usePercentageParens?`(`:``,L.value.labels.dataLabels.usePercentageParens?`)`:``)),9,Dt),[[nt,U.value.dataLabels.show&&P.value.dataLabels.showPercentage]]),it(g(`text`,{opacity:+!!er(e),"text-anchor":T(ie)(e,!0).anchor,x:T(ie)(e,!1,L.value.labels.dataLabels.offsetX).x||0,y:T(de)(e,L.value.labels.dataLabels.offsetY,L.value.labels.dataLabels.offsetY)+(P.value.dataLabels.showValueFirst||!P.value.dataLabels.showPercentage?0:L.value.labels.dataLabels.fontSize),fill:P.value.dataLabels.useSerieColor?e.color:L.value.labels.dataLabels.color,"font-size":P.value.dataLabels.fontSize,"font-weight":P.value.dataLabels.boldValue?`bold`:`normal`},w(T(ee)(T(ae)(L.value.labels.dataLabels.formatter,e.value,T(n)({p:R.value.layout.labels.dataLabels.prefix,v:e.value,s:R.value.layout.labels.dataLabels.suffix,r:R.value.layout.labels.dataLabels.roundingValue}),{datapoint:e,seriesIndex:t,datapointIndex:r}),L.value.labels.dataLabels.useValueParens?`(`:``,L.value.labels.dataLabels.useValueParens?`)`:``)),9,Ot),[[nt,U.value.dataLabels.show&&P.value.dataLabels.showValue]])],8,Et))),256))]))),256))])):m(``,!0),(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut,(e,t)=>(b(),h(`g`,null,[g(`path`,{d:e.arcSlice,fill:Xt.value===e.id?L.value.donut.selectedColor:`transparent`,onMouseenter:t=>$n({datapoint:e,relativeIndex:$.value.findIndex(t=>t.id===e.id),seriesIndex:e.seriesIndex}),onClick:n=>In({datapoint:e,index:t,seriesIndex:e.seriesIndex}),onMouseleave:t=>Zn({datapoint:e,seriesIndex:e.seriesIndex})},null,40,kt)]))),256))]))),256)),C(e.$slots,`svg`,{svg:{...W.value,isPrintingImg:T(An)||T(jn)||T(xr),isPrintingSvg:T(Sr)}},void 0,!0)],512)],46,ut)),e.$slots.hint?(b(),h(`div`,At,[C(e.$slots,`hint`,y(v({hint:N.value.a11y.translations.keyboardNavigation,isVisible:pn.value})),void 0,!0)])):m(``,!0)]),e.$slots.watermark?(b(),h(`div`,jt,[C(e.$slots,`watermark`,y(v({isPrinting:T(An)||T(jn)||T(xr)||T(Sr)})),void 0,!0)])):m(``,!0),Ke(T(It),{teleportTo:F.value.teleportTo,show:U.value.showTooltip&&Jt.value,backgroundColor:F.value.backgroundColor,color:F.value.color,borderRadius:F.value.borderRadius,borderColor:F.value.borderColor,borderWidth:F.value.borderWidth,fontSize:F.value.fontSize,backgroundOpacity:F.value.backgroundOpacity,position:F.value.position,offsetX:F.value.offsetX,offsetY:F.value.offsetY,parent:k.value,content:Yt.value,isFullscreen:M.value,isCustom:T(i)(F.value.customFormat),smooth:F.value.smooth,backdropFilter:F.value.backdropFilter,smoothForce:F.value.smoothForce,smoothSnapThreshold:F.value.smoothSnapThreshold,isA11yMode:fn.value===`keyboard`,a11yPosition:dn.value},{"tooltip-before":E(()=>[C(e.$slots,`tooltip-before`,y(v({...Xn.value})),void 0,!0)]),tooltip:E(()=>[C(e.$slots,`tooltip`,y(v({...Xn.value})),void 0,!0)]),"tooltip-after":E(()=>[C(e.$slots,`tooltip-after`,y(v({...Xn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),g(`div`,{id:`legend-bottom-${O.value}`},null,8,Mt),cn.value&&(R.value.legend.show||e.$slots.legend)?(b(),p(Ue,{key:6,to:R.value.legend.position===`top`?`#legend-top-${O.value}`:`#legend-bottom-${O.value}`},[R.value.legend.show?(b(),h(`div`,{key:0,ref_key:`chartLegend`,ref:$t,class:Ye({"vue-ui-nested-donuts-legend":nr.value.length>1})},[C(e.$slots,`legend`,{legend:nr.value},()=>[(b(!0),h(d,null,S(nr.value,(e,n)=>(b(),p(Ve,{key:`legend_${n}_${an.value}`,legendSet:e,config:rr.value,isCursorPointer:z.value,onClickMarker:t[0]||=({legend:e})=>Z(e)},{legendTitle:E(({titleSet:e})=>[e[0]&&e[0].arcOf?(b(),h(`div`,Nt,w(e[0].arcOf),1)):m(``,!0)]),item:E(({legend:e,index:t})=>[g(`div`,{onClick:t=>Z(e),style:Xe(`opacity:${K.value.includes(e.id)?.5:1}`)},w(e.display),13,Pt)]),legendToggle:E(()=>[e.length>2&&R.value.legend.selectAllToggle.show&&!T(_n)?(b(),p(Ie,{key:`toggle-${n}`,backgroundColor:R.value.legend.selectAllToggle.backgroundColor,color:R.value.legend.selectAllToggle.color,fontSize:R.value.legend.fontSize,checked:e.some(e=>K.value.includes(e.id)),isCursorPointer:z.value,onToggle:t=>zn(e)},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`,`onToggle`])):m(``,!0)]),_:2},1032,[`legendSet`,`config`,`isCursorPointer`]))),128))],!0)],2)):m(``,!0)],8,[`to`])):m(``,!0),e.$slots.source?(b(),h(`div`,{key:7,ref_key:`source`,ref:en,dir:`auto`},[C(e.$slots,`source`,{},void 0,!0)],512)):m(``,!0),qt.value&&I.value.buttons.table?(b(),p($e(hr.value.component),qe({key:8},hr.value.props,{ref_key:`tableUnit`,ref:ln,onClose:gr}),We({content:E(()=>[(b(),p(T(zt),{key:`table_${rn.value}`,colNames:ar.value.colNames,head:ar.value.head,body:ar.value.body,config:ar.value.config,title:N.value.table.useDialog?``:hr.value.title,withCloseButton:!N.value.table.useDialog,isCursorPointer:z.value,onClose:gr},{th:E(({th:e})=>[g(`div`,Ft,w(e),1)]),td:E(({td:e})=>[Ge(w(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[N.value.table.useDialog?{name:`title`,fn:E(()=>[Ge(w(hr.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:E(()=>[g(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>ir(I.value.callbacks.csv),style:Xe({cursor:z.value?`pointer`:`default`})},[Ke(T(Lt),{name:`fileCsv`,stroke:hr.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):m(``,!0),C(e.$slots,`skeleton`,{},()=>[T(_n)?(b(),p(_e,{key:0})):m(``,!0)],!0)],46,ot))}},[[`__scopeId`,`data-v-09669ecf`]]);export{at as n,It as t};
@@ -1,5 +1,5 @@
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,Ht as a,S as o,X as s,Zt as ee,at as te,i as ne,in as re,nt as ie,pt as ae,t as oe,w as se,zt as ce}from"./lib-rPeBMZrn.js";import{n as le,t as ue}from"./BaseScanner-8NdoBs7B.js";import{n as de,t as fe}from"./useHints-BH9r_0Vd.js";import{t as pe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as me}from"./resolveChartConfig-CIhClE5R.js";import{t as he}from"./chartImage-DPGnEuYM.js";import{n as ge}from"./Title-BliHuXfT.js";import{t as _e}from"./useChartExport-BZts4KFb.js";import{n as ve,t as ye}from"./tableIntegration-CNoJ1CIY.js";import{n as be,t as xe}from"./annotationSlots-BRR85CqJ.js";import{n as Se,t as Ce}from"./userOptionsSlots-DYuo-E5m.js";import{t as we}from"./usePrinter-sVoTzet1.js";import{t as Te}from"./useTransitions-ChGGrtrv.js";import{c as Ee}from"./canvas-lib-22VpOI4_.js";import{t as De}from"./useResponsive-CENUxfEL.js";import{t as Oe}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as ke}from"./A11yDataTable-DWNlWXzs.js";import{t as Ae}from"./useUserOptionState-CXlFnwPv.js";import{t as je}from"./useChartAccessibility-DOMuYJfm.js";import{t as Me}from"./labelUtils-CdtU-yB_.js";import{t as Ne}from"./Legend-DM0ClX3D.js";import{t as Pe}from"./useAutoSizeLabelsInsideViewbox-AIRF0PlD.js";import{t as Fe}from"./vue_ui_onion-C9BedU_-.js";import{Fragment as Ie,Teleport as Le,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createSlots as Re,createTextVNode as ze,createVNode as Be,defineAsyncComponent as p,guardReactiveProps as m,mergeProps as Ve,nextTick as He,normalizeClass as h,normalizeProps as g,normalizeStyle as _,onBeforeUnmount as Ue,onMounted as We,openBlock as v,ref as y,renderList as b,renderSlot as x,resolveDynamicComponent as Ge,shallowRef as Ke,toDisplayString as qe,toRefs as Je,unref as S,watch as Ye,withCtx as C}from"vue";var Xe=/* @__PURE__ */ e({default:()=>vt}),Ze=[`id`],Qe=[`id`],$e=[`id`],et={style:{position:`relative`}},tt=[`xmlns`,`aria-describedby`,`viewBox`],nt=[`width`,`height`],rt=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`],it=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`],at=[`id`],ot=[`stdDeviation`],st=[`filter`],ct=[`cx`,`cy`,`r`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`],lt=[`cx`,`cy`,`r`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`,`onMouseenter`,`onMouseleave`,`onClick`],ut={key:2},dt=[`onMouseenter`,`onMouseleave`,`onClick`],ft=[`transform`,`font-size`,`fill`,`font-weight`],pt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},mt={key:5,class:`vue-data-ui-watermark`},ht=[`id`],gt=[`onClick`],_t=[`innerHTML`],vt=/*#__PURE__*/ pe({__name:`vue-ui-onion`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`copyAlt`],setup(e,{expose:pe,emit:Xe}){let vt=p(()=>import(`./Tooltip-C1q0Qoh7.js`)),yt=p(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),bt=p(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),xt=p(()=>import(`./DataTable-0Vv-aGHD.js`)),St=p(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Ct=p(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),wt=p(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),Tt=p(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_onion:Et}=t(),w=e,Dt=c(()=>!!w.dataset&&w.dataset.length),T=y(s()),Ot=y(null),kt=y(0),At=y(!1),jt=y(``),E=y([]),D=y(null),Mt=y(null),Nt=y(null),Pt=y(null),Ft=y(null),It=y(0),Lt=y(0),Rt=y(0),zt=y(!1),Bt=y(!1),Vt=y(null),O=y(null),Ht=y({x:0,y:0}),k=y(`pointer`),Ut=y(!1),A=y(Xt()),j=c(()=>A.value.userOptions),M=c(()=>A.value.style.chart.layout.labels),N=c(()=>A.value.style.chart.layout),P=c(()=>A.value.style.chart.tooltip),F=c(()=>A.value.style.chart);de({config:()=>A.value,dataset:()=>w.dataset,component:`VueUiOnion`,rules:[fe.emptyArray,{test:e=>e.length>8,message:[`👀 The number of series is > 8. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let{transitionEnabled:I}=Te({config:()=>A.value.transitions,dataset:()=>w.dataset}),L=c(()=>A.value.userOptions.useCursorPointer),Wt=c(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{gutter:{color:`#99999950`},labels:{show:!1}},legend:{backgroundColor:`transparent`}}}},userConfig:A.value.skeletonConfig??{}})),{loading:R,FINAL_DATASET:Gt,manualLoading:Kt}=le({...Je(w),FINAL_CONFIG:A,prepareConfig:Xt,callback:()=>{Promise.resolve().then(async()=>{await He(),bn()})},skeletonDataset:w.config?.skeletonDataset??[{name:`_`,percentage:50,value:1,color:`#DBDBDB`},{name:`_`,percentage:50,value:1,color:`#C4C4C4`},{name:`_`,percentage:50,value:1,color:`#ADADAD`},{name:`_`,percentage:50,value:1,color:`#969696`}],skeletonConfig:re({defaultConfig:A.value,userConfig:Wt.value})}),{userOptionsVisible:qt,setUserOptionsVisibility:Jt,keepUserOptionState:Yt}=Ae({config:A.value}),{svgRef:z}=je({config:F.value.title});function Xt(){return me(w.config,Et,Fe)}let Zt=ee(w.config);Ye(()=>w.config,(e,t)=>{let n=ee(e),r=n!==Zt;Zt=n;let i=Xt();r?(R.value||(A.value=i),qt.value=!A.value.userOptions.showOnChartHover,pn(),It.value+=1,Lt.value+=1,Rt.value+=1,B.value.showTable=A.value.table.show,B.value.showTooltip=P.value.show):(A.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=A.value.style.chart.tooltip.show)},{deep:!0});let{isPrinting:Qt,isImaging:$t,generatePdf:en,generateImage:tn}=we({elementId:`vue-ui-onion_${T.value}`,fileName:F.value.title.text||`vue-ui-onion`,options:A.value.userOptions.print}),nn=c(()=>A.value.userOptions.show&&!F.value.title.text),rn=c(()=>se(A.value.customPalette)),B=y({showTable:A.value.table.show,showTooltip:P.value.show});Ye(A,()=>{B.value={showTable:A.value.table.show,showTooltip:P.value.show}},{immediate:!0});let V=y({height:512,width:512,padding:{top:64,left:64,right:64,bottom:64},minRadius:64}),H=Ke(null),U=Ke(null);We(()=>{Bt.value=!0,pn()});let{autoSizeLabels:an}=Pe({svgRef:z,fontSize:()=>M.value.fontSize,minFontSize:()=>M.value.minFontSize,labelClass:`.vue-ui-onion-label`}),W=null,G=null,K=0;function on(){W!==null&&(cancelAnimationFrame(W),W=null),G!==null&&(clearTimeout(G),G=null)}function sn(e){return String(e).split(`,`).map(e=>{let t=e.trim(),n=Number.parseFloat(t);return Number.isFinite(n)?t.endsWith(`ms`)?n:n*1e3:0})}function cn(){return typeof window>`u`||!I.value||zt.value||R.value||!z.value?0:Array.from(z.value.querySelectorAll(`.vue-ui-onion-label.vue-data-ui-transition`)).reduce((e,t)=>{let n=window.getComputedStyle(t);if(n.transitionProperty===`none`)return e;let r=sn(n.transitionDuration),i=sn(n.transitionDelay),a=Math.max(r.length,i.length),o=Array.from({length:a},(e,t)=>(r[t%r.length]??0)+(i[t%i.length]??0)).reduce((e,t)=>Math.max(e,t),0);return Math.max(e,o)},0)}function ln(){typeof window<`u`&&(W=requestAnimationFrame(()=>{W=null,an()}))}function un(){if(typeof window>`u`)return;let e=++K;on(),He(()=>{e===K&&(W=requestAnimationFrame(()=>{if(W=null,e!==K)return;let t=cn();t<=0?ln():G=setTimeout(()=>{G=null,e===K&&ln()},t+34)}))})}let dn=c(()=>A.value.debug),fn=null;function pn(){if(ce(w.dataset)&&(te({componentName:`VueUiOnion`,type:`dataset`,debug:dn.value}),Kt.value=!0),ce(w.dataset)||(Kt.value=A.value.loading),A.value.responsive){let e=64/512,t=Ee(()=>{fn&&clearTimeout(fn),zt.value=!0;let{width:t,height:n}=De({chart:D.value,title:F.value.title.text?Mt.value:null,legend:F.value.legend.show?Nt.value:null,source:Pt.value,noTitle:Ft.value});n-=12,requestAnimationFrame(async()=>{V.value.width=t,V.value.height=n,V.value.padding.top=Math.max(t,n)*e,V.value.padding.right=Math.max(t,n)*e,V.value.padding.bottom=Math.max(t,n)*e,V.value.padding.left=Math.max(t,n)*e,V.value.minRadius=Math.min(t,n)*e,fn=setTimeout(()=>{zt.value=!1,un()},0)})});H.value&&(U.value&&H.value.unobserve(U.value),H.value.disconnect()),H.value=new ResizeObserver(t),U.value=D.value.parentNode,H.value.observe(U.value)}un()}Ue(()=>{K+=1,on(),H.value&&(U.value&&H.value.unobserve(U.value),H.value.disconnect())});let q=c(()=>({top:V.value.padding.top,left:V.value.padding.left,right:V.value.width-V.value.padding.right,bottom:V.value.height-V.value.padding.bottom,centerX:V.value.width/2,centerY:V.value.height/2,width:V.value.width-V.value.padding.right-V.value.padding.left,height:V.value.height-V.value.padding.bottom-V.value.padding.top,minRadius:V.value.minRadius,maxRadius:Math.min(V.value.width,V.value.height)-V.value.padding.top*2})),J=c(()=>(dn.value&&Gt.value.forEach((e,t)=>{[null,void 0].includes(e.name)&&te({componentName:`VueUiOnion`,type:`datasetSerieAttribute`,property:`name`,index:t}),[void 0].includes(e.percentage)&&te({componentName:`VueUiOnion`,type:`datasetSerieAttribute`,property:`percentage`,index:t})}),Gt.value.map((e,t)=>{let n=`onion_serie_${t}_${T.value}`;return{...e,percentage:e.percentage||0,targetPercentage:e.percentage||0,color:o(e.color)||rn.value[t]||a[t],id:n,shape:`circle`,opacity:E.value.includes(n)?.5:1,absoluteIndex:t,segregate:()=>En(n),isSegregated:E.value.includes(n)}}))),mn=c(()=>J.value.map((e,t)=>{let r=F.value.legend.showValue,i=F.value.legend.showPercentage,a=In({showVal:r,showPercentage:i,val:ne(M.value.value.formatter,e.value,n({p:e.prefix||``,v:e.value,s:e.suffix||``,r:F.value.legend.roundingValue})),percentage:n({v:e.percentage??0,s:`%`,r:F.value.legend.roundingPercentage}),config:F.value.legend});return{...e,display:`${e.name}${r||i?`: `:``}${a}`}})),hn=y(J.value),gn=c(()=>A.value.useStartAnimation),_n=y(null),vn=c(()=>Math.max(...J.value.map(e=>e.percentage))),yn=y(!1);Ye(()=>J.value,bn,{immediate:!0,deep:!0}),Ye(()=>w.dataset,e=>{Array.isArray(e)&&e.length>0&&(Kt.value=!1),un()},{deep:!0,flush:`post`});function bn(){if(gn.value&&!yn.value&&!R.value){hn.value=J.value.map(e=>({...e,percentage:0}));let e=0;function t(){e>=vn.value?(cancelAnimationFrame(_n.value),hn.value=J.value,yn.value=!0):(hn.value=J.value.map(t=>({...t,percentage:e<t.targetPercentage?e:t.targetPercentage})),e+=1,requestAnimationFrame(t),yn.value=!0)}t()}else hn.value=J.value}let xn=c(()=>({cy:`onion-div-legend`,backgroundColor:F.value.legend.backgroundColor,color:F.value.legend.color,fontSize:F.value.legend.fontSize,paddingBottom:12,fontWeight:F.value.legend.bold?`bold`:``})),Sn=c(()=>J.value.filter(e=>!E.value.includes(e.id)).length),Y=c(()=>{let e=Math.min(q.value.width,q.value.height)/2/J.value.length;return{gutter:(e>N.value.maxThickness?N.value.maxThickness:e)*N.value.gutter.width,track:(e>N.value.maxThickness?N.value.maxThickness:e)*N.value.track.width}}),X=c(()=>hn.value.filter(e=>!E.value.includes(e.id)).map((e,t)=>{let n=(q.value.maxRadius-Y.value.track)/Sn.value/2*(1+t),r=q.value.centerY-n;return{percentage:e.percentage||0,...e,labelY:r,radius:n,path:Cn(n,e.percentage||0)}}));function Cn(e,t){let n=2*Math.PI*e,r=n*.75,i=`${r} ${n}`,a=r*(1-t/100);return{bgDashArray:`${r} ${n}`,bgDashOffset:0,dashArray:i,dashOffset:a,fullOffset:0,active:`
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,Ht as a,S as o,X as s,Zt as ee,at as te,i as ne,in as re,nt as ie,pt as ae,t as oe,w as se,zt as ce}from"./lib-rPeBMZrn.js";import{n as le,t as ue}from"./BaseScanner-8NdoBs7B.js";import{n as de,t as fe}from"./useHints-C-TwxM0Y.js";import{t as pe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as me}from"./resolveChartConfig-CIhClE5R.js";import{t as he}from"./chartImage-DPGnEuYM.js";import{n as ge}from"./Title-BliHuXfT.js";import{t as _e}from"./useChartExport-BZts4KFb.js";import{n as ve,t as ye}from"./tableIntegration-CNoJ1CIY.js";import{n as be,t as xe}from"./annotationSlots-BRR85CqJ.js";import{n as Se,t as Ce}from"./userOptionsSlots-DYuo-E5m.js";import{t as we}from"./usePrinter-DVf3YcG5.js";import{t as Te}from"./useTransitions-ChGGrtrv.js";import{c as Ee}from"./canvas-lib-22VpOI4_.js";import{t as De}from"./useResponsive-CENUxfEL.js";import{t as Oe}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as ke}from"./A11yDataTable-DWNlWXzs.js";import{t as Ae}from"./useUserOptionState-CXlFnwPv.js";import{t as je}from"./useChartAccessibility-DOMuYJfm.js";import{t as Me}from"./labelUtils-CdtU-yB_.js";import{t as Ne}from"./Legend-DM0ClX3D.js";import{t as Pe}from"./useAutoSizeLabelsInsideViewbox-AIRF0PlD.js";import{t as Fe}from"./vue_ui_onion-C9BedU_-.js";import{Fragment as Ie,Teleport as Le,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createSlots as Re,createTextVNode as ze,createVNode as Be,defineAsyncComponent as p,guardReactiveProps as m,mergeProps as Ve,nextTick as He,normalizeClass as h,normalizeProps as g,normalizeStyle as _,onBeforeUnmount as Ue,onMounted as We,openBlock as v,ref as y,renderList as b,renderSlot as x,resolveDynamicComponent as Ge,shallowRef as Ke,toDisplayString as qe,toRefs as Je,unref as S,watch as Ye,withCtx as C}from"vue";var Xe=/* @__PURE__ */ e({default:()=>vt}),Ze=[`id`],Qe=[`id`],$e=[`id`],et={style:{position:`relative`}},tt=[`xmlns`,`aria-describedby`,`viewBox`],nt=[`width`,`height`],rt=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`],it=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`],at=[`id`],ot=[`stdDeviation`],st=[`filter`],ct=[`cx`,`cy`,`r`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`],lt=[`cx`,`cy`,`r`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`,`onMouseenter`,`onMouseleave`,`onClick`],ut={key:2},dt=[`onMouseenter`,`onMouseleave`,`onClick`],ft=[`transform`,`font-size`,`fill`,`font-weight`],pt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},mt={key:5,class:`vue-data-ui-watermark`},ht=[`id`],gt=[`onClick`],_t=[`innerHTML`],vt=/*#__PURE__*/ pe({__name:`vue-ui-onion`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`copyAlt`],setup(e,{expose:pe,emit:Xe}){let vt=p(()=>import(`./Tooltip-C1q0Qoh7.js`)),yt=p(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),bt=p(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),xt=p(()=>import(`./DataTable-0Vv-aGHD.js`)),St=p(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Ct=p(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),wt=p(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),Tt=p(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_onion:Et}=t(),w=e,Dt=c(()=>!!w.dataset&&w.dataset.length),T=y(s()),Ot=y(null),kt=y(0),At=y(!1),jt=y(``),E=y([]),D=y(null),Mt=y(null),Nt=y(null),Pt=y(null),Ft=y(null),It=y(0),Lt=y(0),Rt=y(0),zt=y(!1),Bt=y(!1),Vt=y(null),O=y(null),Ht=y({x:0,y:0}),k=y(`pointer`),Ut=y(!1),A=y(Xt()),j=c(()=>A.value.userOptions),M=c(()=>A.value.style.chart.layout.labels),N=c(()=>A.value.style.chart.layout),P=c(()=>A.value.style.chart.tooltip),F=c(()=>A.value.style.chart);de({config:()=>A.value,dataset:()=>w.dataset,component:`VueUiOnion`,rules:[fe.emptyArray,{test:e=>e.length>8,message:[`👀 The number of series is > 8. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let{transitionEnabled:I}=Te({config:()=>A.value.transitions,dataset:()=>w.dataset}),L=c(()=>A.value.userOptions.useCursorPointer),Wt=c(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{gutter:{color:`#99999950`},labels:{show:!1}},legend:{backgroundColor:`transparent`}}}},userConfig:A.value.skeletonConfig??{}})),{loading:R,FINAL_DATASET:Gt,manualLoading:Kt}=le({...Je(w),FINAL_CONFIG:A,prepareConfig:Xt,callback:()=>{Promise.resolve().then(async()=>{await He(),bn()})},skeletonDataset:w.config?.skeletonDataset??[{name:`_`,percentage:50,value:1,color:`#DBDBDB`},{name:`_`,percentage:50,value:1,color:`#C4C4C4`},{name:`_`,percentage:50,value:1,color:`#ADADAD`},{name:`_`,percentage:50,value:1,color:`#969696`}],skeletonConfig:re({defaultConfig:A.value,userConfig:Wt.value})}),{userOptionsVisible:qt,setUserOptionsVisibility:Jt,keepUserOptionState:Yt}=Ae({config:A.value}),{svgRef:z}=je({config:F.value.title});function Xt(){return me(w.config,Et,Fe)}let Zt=ee(w.config);Ye(()=>w.config,(e,t)=>{let n=ee(e),r=n!==Zt;Zt=n;let i=Xt();r?(R.value||(A.value=i),qt.value=!A.value.userOptions.showOnChartHover,pn(),It.value+=1,Lt.value+=1,Rt.value+=1,B.value.showTable=A.value.table.show,B.value.showTooltip=P.value.show):(A.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=A.value.style.chart.tooltip.show)},{deep:!0});let{isPrinting:Qt,isImaging:$t,generatePdf:en,generateImage:tn}=we({elementId:`vue-ui-onion_${T.value}`,fileName:F.value.title.text||`vue-ui-onion`,options:A.value.userOptions.print}),nn=c(()=>A.value.userOptions.show&&!F.value.title.text),rn=c(()=>se(A.value.customPalette)),B=y({showTable:A.value.table.show,showTooltip:P.value.show});Ye(A,()=>{B.value={showTable:A.value.table.show,showTooltip:P.value.show}},{immediate:!0});let V=y({height:512,width:512,padding:{top:64,left:64,right:64,bottom:64},minRadius:64}),H=Ke(null),U=Ke(null);We(()=>{Bt.value=!0,pn()});let{autoSizeLabels:an}=Pe({svgRef:z,fontSize:()=>M.value.fontSize,minFontSize:()=>M.value.minFontSize,labelClass:`.vue-ui-onion-label`}),W=null,G=null,K=0;function on(){W!==null&&(cancelAnimationFrame(W),W=null),G!==null&&(clearTimeout(G),G=null)}function sn(e){return String(e).split(`,`).map(e=>{let t=e.trim(),n=Number.parseFloat(t);return Number.isFinite(n)?t.endsWith(`ms`)?n:n*1e3:0})}function cn(){return typeof window>`u`||!I.value||zt.value||R.value||!z.value?0:Array.from(z.value.querySelectorAll(`.vue-ui-onion-label.vue-data-ui-transition`)).reduce((e,t)=>{let n=window.getComputedStyle(t);if(n.transitionProperty===`none`)return e;let r=sn(n.transitionDuration),i=sn(n.transitionDelay),a=Math.max(r.length,i.length),o=Array.from({length:a},(e,t)=>(r[t%r.length]??0)+(i[t%i.length]??0)).reduce((e,t)=>Math.max(e,t),0);return Math.max(e,o)},0)}function ln(){typeof window<`u`&&(W=requestAnimationFrame(()=>{W=null,an()}))}function un(){if(typeof window>`u`)return;let e=++K;on(),He(()=>{e===K&&(W=requestAnimationFrame(()=>{if(W=null,e!==K)return;let t=cn();t<=0?ln():G=setTimeout(()=>{G=null,e===K&&ln()},t+34)}))})}let dn=c(()=>A.value.debug),fn=null;function pn(){if(ce(w.dataset)&&(te({componentName:`VueUiOnion`,type:`dataset`,debug:dn.value}),Kt.value=!0),ce(w.dataset)||(Kt.value=A.value.loading),A.value.responsive){let e=64/512,t=Ee(()=>{fn&&clearTimeout(fn),zt.value=!0;let{width:t,height:n}=De({chart:D.value,title:F.value.title.text?Mt.value:null,legend:F.value.legend.show?Nt.value:null,source:Pt.value,noTitle:Ft.value});n-=12,requestAnimationFrame(async()=>{V.value.width=t,V.value.height=n,V.value.padding.top=Math.max(t,n)*e,V.value.padding.right=Math.max(t,n)*e,V.value.padding.bottom=Math.max(t,n)*e,V.value.padding.left=Math.max(t,n)*e,V.value.minRadius=Math.min(t,n)*e,fn=setTimeout(()=>{zt.value=!1,un()},0)})});H.value&&(U.value&&H.value.unobserve(U.value),H.value.disconnect()),H.value=new ResizeObserver(t),U.value=D.value.parentNode,H.value.observe(U.value)}un()}Ue(()=>{K+=1,on(),H.value&&(U.value&&H.value.unobserve(U.value),H.value.disconnect())});let q=c(()=>({top:V.value.padding.top,left:V.value.padding.left,right:V.value.width-V.value.padding.right,bottom:V.value.height-V.value.padding.bottom,centerX:V.value.width/2,centerY:V.value.height/2,width:V.value.width-V.value.padding.right-V.value.padding.left,height:V.value.height-V.value.padding.bottom-V.value.padding.top,minRadius:V.value.minRadius,maxRadius:Math.min(V.value.width,V.value.height)-V.value.padding.top*2})),J=c(()=>(dn.value&&Gt.value.forEach((e,t)=>{[null,void 0].includes(e.name)&&te({componentName:`VueUiOnion`,type:`datasetSerieAttribute`,property:`name`,index:t}),[void 0].includes(e.percentage)&&te({componentName:`VueUiOnion`,type:`datasetSerieAttribute`,property:`percentage`,index:t})}),Gt.value.map((e,t)=>{let n=`onion_serie_${t}_${T.value}`;return{...e,percentage:e.percentage||0,targetPercentage:e.percentage||0,color:o(e.color)||rn.value[t]||a[t],id:n,shape:`circle`,opacity:E.value.includes(n)?.5:1,absoluteIndex:t,segregate:()=>En(n),isSegregated:E.value.includes(n)}}))),mn=c(()=>J.value.map((e,t)=>{let r=F.value.legend.showValue,i=F.value.legend.showPercentage,a=In({showVal:r,showPercentage:i,val:ne(M.value.value.formatter,e.value,n({p:e.prefix||``,v:e.value,s:e.suffix||``,r:F.value.legend.roundingValue})),percentage:n({v:e.percentage??0,s:`%`,r:F.value.legend.roundingPercentage}),config:F.value.legend});return{...e,display:`${e.name}${r||i?`: `:``}${a}`}})),hn=y(J.value),gn=c(()=>A.value.useStartAnimation),_n=y(null),vn=c(()=>Math.max(...J.value.map(e=>e.percentage))),yn=y(!1);Ye(()=>J.value,bn,{immediate:!0,deep:!0}),Ye(()=>w.dataset,e=>{Array.isArray(e)&&e.length>0&&(Kt.value=!1),un()},{deep:!0,flush:`post`});function bn(){if(gn.value&&!yn.value&&!R.value){hn.value=J.value.map(e=>({...e,percentage:0}));let e=0;function t(){e>=vn.value?(cancelAnimationFrame(_n.value),hn.value=J.value,yn.value=!0):(hn.value=J.value.map(t=>({...t,percentage:e<t.targetPercentage?e:t.targetPercentage})),e+=1,requestAnimationFrame(t),yn.value=!0)}t()}else hn.value=J.value}let xn=c(()=>({cy:`onion-div-legend`,backgroundColor:F.value.legend.backgroundColor,color:F.value.legend.color,fontSize:F.value.legend.fontSize,paddingBottom:12,fontWeight:F.value.legend.bold?`bold`:``})),Sn=c(()=>J.value.filter(e=>!E.value.includes(e.id)).length),Y=c(()=>{let e=Math.min(q.value.width,q.value.height)/2/J.value.length;return{gutter:(e>N.value.maxThickness?N.value.maxThickness:e)*N.value.gutter.width,track:(e>N.value.maxThickness?N.value.maxThickness:e)*N.value.track.width}}),X=c(()=>hn.value.filter(e=>!E.value.includes(e.id)).map((e,t)=>{let n=(q.value.maxRadius-Y.value.track)/Sn.value/2*(1+t),r=q.value.centerY-n;return{percentage:e.percentage||0,...e,labelY:r,radius:n,path:Cn(n,e.percentage||0)}}));function Cn(e,t){let n=2*Math.PI*e,r=n*.75,i=`${r} ${n}`,a=r*(1-t/100);return{bgDashArray:`${r} ${n}`,bgDashOffset:0,dashArray:i,dashOffset:a,fullOffset:0,active:`
2
2
  M ${q.value.centerX},${q.value.centerY-e}
3
3
  A ${e},${e} 0 1 1
4
4
  ${q.value.centerX+e*Math.cos(Math.PI*3/4)},${q.value.centerY+e*Math.sin(Math.PI*3/4)}
5
- `.trim()}}let wn=Xe;function Tn(){E.value.length?E.value=[]:mn.value.forEach(e=>{E.value.push(e.id)}),un(),wn(`selectLegend`,X.value)}function En(e){if(E.value.includes(e))E.value=E.value.filter(t=>t!==e);else{if(E.value.length===J.value.length-1)return;E.value.push(e)}un(),wn(`selectLegend`,X.value)}function Dn(e){return J.value.length?J.value.find(t=>t.name===e)||(dn.value&&console.warn(`VueUiOnion - Series name not found "${e}"`),null):(dn.value&&console.warn(`VueUiOnion - There are no series to show.`),null)}function On(e){let t=Dn(e);t!==null&&E.value.includes(t.id)&&En(t.id)}function kn(e){let t=Dn(e);t!==null&&(E.value.includes(t.id)||En(t.id))}function An(){return X.value}let jn=c(()=>({head:[A.value.table.translations.serie,A.value.table.translations.percentage,A.value.table.translations.value],body:X.value.map(e=>[e.name,e.percentage,e.value])})),Z=c(()=>{let e=jn.value.head;return{head:e,body:X.value.map(e=>[`<span style="color:${e.color}" aria-hidden="true">⬤</span> ${e.name}`,`${Number(e.percentage??0).toFixed(A.value.table.td.roundingPercentage).toLocaleString()}%`,`${e.prefix||``}${[null,void 0,NaN,`NaN`].includes(e.value)?`-`:e.value.toFixed(A.value.table.td.roundingValue).toLocaleString()}${e.suffix||``}`]),config:{th:{backgroundColor:A.value.table.th.backgroundColor,color:A.value.table.th.color,outline:A.value.table.th.outline},td:{backgroundColor:A.value.table.td.backgroundColor,color:A.value.table.td.color,outline:A.value.table.td.outline},breakpoint:A.value.table.responsiveBreakpoint},colNames:e}});function Mn(e=null){He(()=>{let t=[[F.value.title.text],[F.value.title.subtitle.text],[``]],n=jn.value.head,i=jn.value.body,a=t.concat([n]).concat(i),o=r(a);e?e(o):ie({csvContent:o,title:F.value.title.text||`vue-ui-onion`})})}let Q=y(void 0),$=y(!1);function Nn(e){$.value=e,kt.value+=1}function Pn({datapoint:e}){A.value.events.datapointClick&&A.value.events.datapointClick({datapoint:e,seriesIndex:e.absoluteIndex})}function Fn({datapoint:e}){Q.value=void 0,At.value=!1,O.value=null,k.value=`pointer`,A.value.events.datapointLeave&&A.value.events.datapointLeave({datapoint:e,seriesIndex:e.absoluteIndex})}function In({val:e,percentage:t,showVal:n,showPercentage:r,config:i}){return Me({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}function Ln(e,t){let r=M.value.value.show,i=M.value.percentage.show,a=In({config:M.value,showVal:r,showPercentage:i,val:ne(M.value.value.formatter,e.value,n({p:e.prefix||``,v:e.value||0,s:e.suffix||``,r:M.value.roundingValue}),{datapoint:e,seriesIndex:t}),percentage:n({v:e.percentage,s:`%`,r:M.value.roundingPercentage})});return`${e.name}${r||i?`: `:``}${a}`}let Rn=y(null);function zn({datapoint:e,seriesIndex:t,show:r=!0,triggerMode:a=`pointer`}){A.value.events.datapointEnter&&A.value.events.datapointEnter({datapoint:e,seriesIndex:e.absoluteIndex}),k.value=a,O.value=t;let o=e.absoluteIndex;Q.value=t,Rn.value={datapoint:e,seriesIndex:o,series:J.value,config:A.value},At.value=r;let s=``,ee=P.value.customFormat;if(i(ee)&&ae(()=>ee({seriesIndex:o,datapoint:e,series:J.value,config:A.value})))jt.value=ee({seriesIndex:o,datapoint:e,series:J.value,config:A.value});else{let r=P.value.showPercentage,i=P.value.showValue;s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${P.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,s+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><circle cx="30" cy="30" r="30" stroke="none" fill="${e.color}"/></svg>`,s+=`<b>${In({config:P.value,showVal:i,showPercentage:r,val:`<span>${ne(M.value.value.formatter,e.value,n({p:e.prefix||``,v:e.value,s:e.suffix||``,r:P.value.roundingValue}),{datapoint:e,seriesIndex:t})}</span>`,percentage:n({v:e.percentage,s:`%`,r:P.value.roundingPercentage})})}</b></div>`,jt.value=`<div>${s}</div>`}}function Bn(){B.value.showTable=!B.value.showTable}function Vn(){B.value.showTooltip=!B.value.showTooltip}let Hn=y(!1);function Un(){Hn.value=!Hn.value}let Wn=he(D,()=>F.value.title.text),Gn=c(()=>ye({config:A,style:F,mutableConfig:B,dialog:Tt,accordion:bt,isFullscreen:$,parent:D,maxWidth:600,isCursorPointer:L}));Ye(()=>B.value.showTable,e=>ve(e,A,Vt));let Kn=c(()=>mn.value.map(e=>({...e,name:e.display}))),qn=c(()=>F.value.backgroundColor),Jn=c(()=>F.value.legend),Yn=c(()=>F.value.title),{isCallbackImaging:Xn,isCallbackSvg:Zn,generateSvg:Qn,onGenerateImage:$n}=_e({svg:z,title:Yn,legend:Jn,legendItems:Kn,backgroundColor:qn,getSvgCallback:()=>A.value.userOptions.callbacks.svg,generateImage:tn});async function er(){wn(`copyAlt`,{config:A.value,dataset:X.value}),A.value.userOptions.callbacks.altCopy?await Promise.resolve(A.value.userOptions.callbacks.altCopy({config:A.value,dataset:X.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function tr(){O.value=null,Ut.value=!0}function nr(){O.value=null,k.value=`pointer`,At.value=!1,Q.value=void 0,Ut.value=!1}function rr(e){if(!z.value||Hn.value||document.activeElement!==z.value||!X.value.length)return;let t=[`ArrowLeft`,`ArrowDown`].includes(e.key),n=[`ArrowRight`,`ArrowUp`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){O.value=null,k.value=`pointer`,At.value=!1,Q.value=void 0;return}if(r){if(O.value===null)return;let e=X.value[O.value];if(!e)return;Pn({datapoint:e});return}let a=O.value;a===null||a<0||a>=X.value.length?a=n?0:X.value.length-1:n?(a+=1,a>=X.value.length&&(a=0)):t&&(--a,a<0&&(a=X.value.length-1));let o=X.value[a];o&&(ir(a),zn({datapoint:o,seriesIndex:a,show:!0,triggerMode:`keyboard`}))}function ir(e){if(!Number.isFinite(e)||!z.value)return;let t=X.value[e];if(!t)return;let n=t.radius,r=Math.PI*7/4,i=q.value.centerX+n*Math.cos(r),a=q.value.centerY+n*Math.sin(r),o=z.value.getBoundingClientRect();Ht.value={x:o.left+i/V.value.width*o.width,y:o.top+a/V.value.height*o.height}}let ar=c(()=>({headers:Z.value?.colNames??[],rows:Z.value?.body??[]}));return pe({getData:An,getImage:Wn,generatePdf:en,generateCsv:Mn,generateImage:tn,generateSvg:Qn,hideSeries:kn,showSeries:On,toggleTable:Bn,toggleTooltip:Vn,toggleAnnotator:Un,toggleFullscreen:Nn,copyAlt:er}),(e,t)=>(v(),d(`div`,{class:h(`vue-data-ui-component vue-ui-onion ${$.value?`vue-data-ui-wrapper-fullscreen`:``} ${A.value.useCssAnimation?``:`vue-ui-dna`}`),ref_key:`onionChart`,ref:D,id:`vue-ui-onion_${T.value}`,style:_(`font-family:${A.value.style.fontFamily};width:100%; ${A.value.responsive?`height: 100%;`:``} text-align:center;background:${F.value.backgroundColor}`),onMouseenter:t[4]||=()=>S(Jt)(!0),onMouseleave:t[5]||=()=>S(Jt)(!1)},[f(`div`,{id:`chart-instructions-${T.value}`,class:`sr-only`},[f(`p`,null,qe(A.value.a11y.translations.keyboardNavigation),1)],8,Qe),ar.value?.rows?.length?(v(),l(ke,{key:0,uid:T.value,head:ar.value.headers,body:ar.value.rows,notice:A.value.a11y.translations.tableAvailable,caption:A.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):u(``,!0),j.value.buttons.annotator?(v(),l(S(Ct),{key:1,svgRef:S(z),backgroundColor:F.value.backgroundColor,color:F.value.color,active:Hn.value,isCursorPointer:L.value,palette:j.value.annotatorPalette,onClose:Un},Re({_:2},[b(S(xe),t=>({name:t,fn:C(n=>[x(e.$slots,t,g(m(S(be)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):u(``,!0),nn.value?(v(),d(`div`,{key:2,ref_key:`noTitle`,ref:Ft,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):u(``,!0),F.value.title.text?(v(),d(`div`,{key:3,ref_key:`chartTitle`,ref:Mt,style:`width:100%;background:transparent`},[(v(),l(ge,{key:`title_${It.value}`,config:{title:{cy:`onion-div-title`,...F.value.title},subtitle:{cy:`onion-div-subtitle`,...F.value.title.subtitle}}},null,8,[`config`]))],512)):u(``,!0),f(`div`,{id:`legend-top-${T.value}`},null,8,$e),j.value.show&&Dt.value&&(S(Yt)||S(qt))?(v(),l(S(St),{ref_key:`details`,ref:Ot,key:`user_options${kt.value}`,backgroundColor:F.value.backgroundColor,color:F.value.color,isImaging:S($t),isPrinting:S(Qt),uid:T.value,hasTooltip:j.value.buttons.tooltip&&P.value.show,hasPdf:j.value.buttons.pdf,hasImg:j.value.buttons.img,hasSvg:j.value.buttons.svg,hasXls:j.value.buttons.csv,hasTable:j.value.buttons.table,hasFullscreen:j.value.buttons.fullscreen,hasAltCopy:j.value.buttons.altCopy,isFullscreen:$.value,isTooltip:B.value.showTooltip,titles:{...j.value.buttonTitles},chartElement:D.value,position:j.value.position,hasAnnotator:j.value.buttons.annotator,isAnnotation:Hn.value,callbacks:j.value.callbacks,printScale:j.value.print.scale,tableDialog:A.value.table.useDialog,isCursorPointer:L.value,onToggleFullscreen:Nn,onGeneratePdf:S(en),onGenerateCsv:Mn,onGenerateImage:S($n),onGenerateSvg:S(Qn),onToggleTable:Bn,onToggleTooltip:Vn,onToggleAnnotator:Un,onCopyAlt:er,style:_({visibility:S(Yt)?S(qt)?`visible`:`hidden`:`visible`})},Re({_:2},[b(S(Se)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:C(n=>[x(e.$slots,t,g(m(S(Ce)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isImaging.isPrinting.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):u(``,!0),f(`div`,et,[(v(),d(`svg`,{ref_key:`svgRef`,ref:z,xmlns:S(oe),"aria-describedby":`chart-instructions-${T.value}`,class:h({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value,resizing:zt.value,"vue-data-ui-no-transition":!S(I)||zt.value||S(R)}),viewBox:`0 0 ${V.value.width<=0?10:V.value.width} ${V.value.height<=0?10:V.value.height}`,style:_(`max-width:100%;overflow:visible;background:transparent;color:${F.value.color}`),tabindex:`0`,onFocus:tr,onBlur:nr,onKeydown:rr},[Be(S(wt)),x(e.$slots,`svg-underlayer`,{svg:{...V.value,drawingArea:q.value,isPrintingImg:S(Qt)||S($t)||S(Xn),isPrintingSvg:S(Zn)}},void 0,!0),e.$slots[`chart-background`]?(v(),d(`foreignObject`,{key:0,x:0,y:0,width:V.value.width<=0?10:V.value.width,height:V.value.height<=0?10:V.value.height,style:{pointerEvents:`none`}},[x(e.$slots,`chart-background`,{},void 0,!0)],8,nt)):u(``,!0),(v(!0),d(Ie,null,b(X.value,(e,t)=>(v(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<=0?1e-4:e.radius,stroke:N.value.gutter.color,"stroke-width":Y.value.gutter,fill:`none`,"stroke-dasharray":e.path.bgDashArray,"stroke-dashoffset":e.path.fullOffset,"stroke-linecap":`round`,class:h({"vue-ui-onion-path":!0,"vue-ui-onion-blur":A.value.useBlurOnHover&&![null,void 0].includes(Q.value)&&Q.value!==t,"vue-data-ui-transition":S(I)}),style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`}},null,10,rt))),256)),(v(!0),d(Ie,null,b(X.value,(e,t)=>(v(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<0?1e-4:e.radius,stroke:`${e.color}`,"stroke-width":Y.value.track,fill:`none`,"stroke-dasharray":e.path.dashArray,"stroke-dashoffset":e.path.dashOffset,class:h({"vue-ui-onion-path":!0,"vue-ui-onion-blur":A.value.useBlurOnHover&&![null,void 0].includes(Q.value)&&Q.value!==t,"vue-data-ui-transition":S(I)}),"stroke-linecap":`round`,style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`}},null,10,it))),256)),f(`defs`,null,[f(`filter`,{id:`blur_${T.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[f(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:100/F.value.gradientIntensity},null,8,ot)],8,at)]),F.value.useGradient?(v(),d(`g`,{key:1,filter:`url(#blur_${T.value})`},[(v(!0),d(Ie,null,b(X.value,(e,t)=>(v(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<=0?1e-4:e.radius,stroke:`white`,"stroke-width":Y.value.track/3,fill:`none`,"stroke-linecap":`round`,"stroke-dasharray":e.path.dashArray,"stroke-dashoffset":e.path.dashOffset,style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`},class:h({"vue-data-ui-transition":S(I)})},null,10,ct))),256))],8,st)):u(``,!0),(v(!0),d(Ie,null,b(X.value,(e,t)=>(v(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<=0?1e-4:e.radius,stroke:`transparent`,"stroke-width":Math.max(Y.value.track,Y.value.gutter),fill:`none`,"stroke-dasharray":e.path.bgDashArray,"stroke-dashoffset":e.path.fullOffset,"stroke-linecap":`round`,class:`vue-ui-onion-path`,style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`},onMouseenter:n=>zn({datapoint:e,show:!0,seriesIndex:t,triggerMode:`pointer`}),onMouseleave:t=>Fn({datapoint:e}),onClick:t=>Pn({datapoint:e})},null,40,lt))),256)),M.value.show?(v(),d(`g`,ut,[(v(!0),d(Ie,null,b(X.value,(e,t)=>(v(),d(`g`,{key:`dl_${e.id}`,onMouseenter:n=>zn({datapoint:e,show:!0,seriesIndex:t,triggerMode:`pointer`}),onMouseleave:t=>Fn({datapoint:e}),onClick:t=>Pn({datapoint:e})},[E.value.includes(e.id)?u(``,!0):(v(),d(`text`,{key:0,class:h([`vue-ui-onion-label`,{"vue-data-ui-transition":S(I)}]),transform:`translate(${V.value.width/2-Y.value.gutter*.8+M.value.offsetX},${e.labelY+M.value.offsetY})`,"text-anchor":`end`,"font-size":M.value.fontSize,fill:A.value.useBlurOnHover&&![null,void 0].includes(Q.value)&&Q.value===t?e.color:M.value.color,"font-weight":M.value.bold?`bold`:`normal`},qe(Ln(e,t)),11,ft))],40,dt))),128))])):u(``,!0),x(e.$slots,`svg`,{svg:{...V.value,drawingArea:q.value,isPrintingImg:S(Qt)||S($t)||S(Xn),isPrintingSvg:S(Zn)}},void 0,!0)],46,tt)),e.$slots.hint?(v(),d(`div`,pt,[x(e.$slots,`hint`,g(m({hint:A.value.a11y.translations.keyboardNavigation,isVisible:Ut.value})),void 0,!0)])):u(``,!0)]),e.$slots.watermark?(v(),d(`div`,mt,[x(e.$slots,`watermark`,g(m({isPrinting:S(Qt)||S($t)||S(Xn)||S(Zn)})),void 0,!0)])):u(``,!0),f(`div`,{id:`legend-bottom-${T.value}`},null,8,ht),Bt.value&&(F.value.legend.show||e.$slots.legend)?(v(),l(Le,{key:6,to:F.value.legend.position===`top`?`#legend-top-${T.value}`:`#legend-bottom-${T.value}`},[f(`div`,{ref_key:`chartLegend`,ref:Nt},[x(e.$slots,`legend`,{legend:mn.value},()=>[F.value.legend.show?(v(),l(Ne,{key:`legend_${Rt.value}`,legendSet:mn.value,config:xn.value,isCursorPointer:L.value,onClickMarker:t[0]||=({legend:e})=>En(e.id)},{item:C(({legend:e})=>[S(R)?u(``,!0):(v(),d(`div`,{key:0,"data-cy-legend-item":``,onClick:t=>e.segregate(),style:_(`opacity:${E.value.includes(e.id)?.5:1}`)},qe(e.display),13,gt))]),legendToggle:C(()=>[mn.value.length>2&&F.value.legend.selectAllToggle.show&&!S(R)?(v(),l(Oe,{key:0,backgroundColor:F.value.legend.selectAllToggle.backgroundColor,color:F.value.legend.selectAllToggle.color,fontSize:F.value.legend.fontSize,checked:E.value.length>0,isCursorPointer:L.value,onToggle:Tn},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):u(``,!0)]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):u(``,!0)],!0)],512)],8,[`to`])):u(``,!0),e.$slots.source?(v(),d(`div`,{key:7,ref_key:`source`,ref:Pt,dir:`auto`},[x(e.$slots,`source`,{},void 0,!0)],512)):u(``,!0),Be(S(vt),{teleportTo:P.value.teleportTo,show:B.value.showTooltip&&At.value,backgroundColor:P.value.backgroundColor,color:P.value.color,borderRadius:P.value.borderRadius,borderColor:P.value.borderColor,borderWidth:P.value.borderWidth,fontSize:P.value.fontSize,backgroundOpacity:P.value.backgroundOpacity,position:P.value.position,offsetX:P.value.offsetX,offsetY:P.value.offsetY,parent:D.value,content:jt.value,isFullscreen:$.value,isCustom:S(i)(P.value.customFormat),smooth:P.value.smooth,backdropFilter:P.value.backdropFilter,smoothForce:P.value.smoothForce,smoothSnapThreshold:P.value.smoothSnapThreshold,isA11yMode:k.value===`keyboard`,a11yPosition:Ht.value},{"tooltip-before":C(()=>[x(e.$slots,`tooltip-before`,g(m({...Rn.value})),void 0,!0)]),tooltip:C(()=>[x(e.$slots,`tooltip`,g(m({...Rn.value})),void 0,!0)]),"tooltip-after":C(()=>[x(e.$slots,`tooltip-after`,g(m({...Rn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Dt.value&&j.value.buttons.table?(v(),l(Ge(Gn.value.component),Ve({key:8},Gn.value.props,{ref_key:`tableUnit`,ref:Vt,onClose:t[3]||=e=>B.value.showTable=!1}),Re({content:C(()=>[(v(),l(S(xt),{key:`table_${Lt.value}`,colNames:Z.value.colNames,head:Z.value.head,body:Z.value.body,config:Z.value.config,title:A.value.table.useDialog?``:Gn.value.title,withCloseButton:!A.value.table.useDialog,isCursorPointer:L.value,onClose:t[2]||=e=>B.value.showTable=!1},{th:C(({th:e})=>[ze(qe(e),1)]),td:C(({td:e})=>[f(`div`,{innerHTML:e},null,8,_t)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[A.value.table.useDialog?{name:`title`,fn:C(()=>[ze(qe(Gn.value.title),1)]),key:`0`}:void 0,A.value.table.useDialog?{name:`actions`,fn:C(()=>[f(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>Mn(j.value.callbacks.csv),style:_({cursor:L.value?`pointer`:`default`})},[Be(S(yt),{name:`fileCsv`,stroke:Gn.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):u(``,!0),x(e.$slots,`skeleton`,{},()=>[S(R)?(v(),l(ue,{key:0})):u(``,!0)],!0)],46,Ze))}},[[`__scopeId`,`data-v-f821ce57`]]);export{Xe as n,vt as t};
5
+ `.trim()}}let wn=Xe;function Tn(){E.value.length?E.value=[]:mn.value.forEach(e=>{E.value.push(e.id)}),un(),wn(`selectLegend`,X.value)}function En(e){if(E.value.includes(e))E.value=E.value.filter(t=>t!==e);else{if(E.value.length===J.value.length-1)return;E.value.push(e)}un(),wn(`selectLegend`,X.value)}function Dn(e){return J.value.length?J.value.find(t=>t.name===e)||(dn.value&&console.warn(`VueUiOnion - Series name not found "${e}"`),null):(dn.value&&console.warn(`VueUiOnion - There are no series to show.`),null)}function On(e){let t=Dn(e);t!==null&&E.value.includes(t.id)&&En(t.id)}function kn(e){let t=Dn(e);t!==null&&(E.value.includes(t.id)||En(t.id))}function An(){return X.value}let jn=c(()=>({head:[A.value.table.translations.serie,A.value.table.translations.percentage,A.value.table.translations.value],body:X.value.map(e=>[e.name,e.percentage,e.value])})),Z=c(()=>{let e=jn.value.head;return{head:e,body:X.value.map(e=>[`<span style="color:${e.color}" aria-hidden="true">⬤</span> ${e.name}`,`${Number(e.percentage??0).toFixed(A.value.table.td.roundingPercentage).toLocaleString()}%`,`${e.prefix||``}${[null,void 0,NaN,`NaN`].includes(e.value)?`-`:e.value.toFixed(A.value.table.td.roundingValue).toLocaleString()}${e.suffix||``}`]),config:{th:{backgroundColor:A.value.table.th.backgroundColor,color:A.value.table.th.color,outline:A.value.table.th.outline},td:{backgroundColor:A.value.table.td.backgroundColor,color:A.value.table.td.color,outline:A.value.table.td.outline},breakpoint:A.value.table.responsiveBreakpoint},colNames:e}});function Mn(e=null){He(()=>{let t=[[F.value.title.text],[F.value.title.subtitle.text],[``]],n=jn.value.head,i=jn.value.body,a=t.concat([n]).concat(i),o=r(a);e?e(o):ie({csvContent:o,title:F.value.title.text||`vue-ui-onion`})})}let Q=y(void 0),$=y(!1);function Nn(e){$.value=e,kt.value+=1}function Pn({datapoint:e}){A.value.events.datapointClick&&A.value.events.datapointClick({datapoint:e,seriesIndex:e.absoluteIndex})}function Fn({datapoint:e}){Q.value=void 0,At.value=!1,O.value=null,k.value=`pointer`,A.value.events.datapointLeave&&A.value.events.datapointLeave({datapoint:e,seriesIndex:e.absoluteIndex})}function In({val:e,percentage:t,showVal:n,showPercentage:r,config:i}){return Me({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}function Ln(e,t){let r=M.value.value.show,i=M.value.percentage.show,a=In({config:M.value,showVal:r,showPercentage:i,val:ne(M.value.value.formatter,e.value,n({p:e.prefix||``,v:e.value||0,s:e.suffix||``,r:M.value.roundingValue}),{datapoint:e,seriesIndex:t}),percentage:n({v:e.percentage,s:`%`,r:M.value.roundingPercentage})});return`${e.name}${r||i?`: `:``}${a}`}let Rn=y(null);function zn({datapoint:e,seriesIndex:t,show:r=!0,triggerMode:a=`pointer`}){A.value.events.datapointEnter&&A.value.events.datapointEnter({datapoint:e,seriesIndex:e.absoluteIndex}),k.value=a,O.value=t;let o=e.absoluteIndex;Q.value=t,Rn.value={datapoint:e,seriesIndex:o,series:J.value,config:A.value},At.value=r;let s=``,ee=P.value.customFormat;if(i(ee)&&ae(()=>ee({seriesIndex:o,datapoint:e,series:J.value,config:A.value})))jt.value=ee({seriesIndex:o,datapoint:e,series:J.value,config:A.value});else{let r=P.value.showPercentage,i=P.value.showValue;s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${P.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,s+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><circle cx="30" cy="30" r="30" stroke="none" fill="${e.color}"/></svg>`,s+=`<b>${In({config:P.value,showVal:i,showPercentage:r,val:`<span>${ne(M.value.value.formatter,e.value,n({p:e.prefix||``,v:e.value,s:e.suffix||``,r:P.value.roundingValue}),{datapoint:e,seriesIndex:t})}</span>`,percentage:n({v:e.percentage,s:`%`,r:P.value.roundingPercentage})})}</b></div>`,jt.value=`<div>${s}</div>`}}function Bn(){B.value.showTable=!B.value.showTable}function Vn(){B.value.showTooltip=!B.value.showTooltip}let Hn=y(!1);function Un(){Hn.value=!Hn.value}let Wn=he(D,()=>F.value.title.text),Gn=c(()=>ye({config:A,style:F,mutableConfig:B,dialog:Tt,accordion:bt,isFullscreen:$,parent:D,maxWidth:600,isCursorPointer:L}));Ye(()=>B.value.showTable,e=>ve(e,A,Vt));let Kn=c(()=>mn.value.map(e=>({...e,name:e.display}))),qn=c(()=>F.value.backgroundColor),Jn=c(()=>F.value.legend),Yn=c(()=>F.value.title),{isCallbackImaging:Xn,isCallbackSvg:Zn,generateSvg:Qn,onGenerateImage:$n}=_e({svg:z,title:Yn,legend:Jn,legendItems:Kn,backgroundColor:qn,getSvgCallback:()=>A.value.userOptions.callbacks.svg,generateImage:tn});async function er(){wn(`copyAlt`,{config:A.value,dataset:X.value}),A.value.userOptions.callbacks.altCopy?await Promise.resolve(A.value.userOptions.callbacks.altCopy({config:A.value,dataset:X.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function tr(){O.value=null,Ut.value=!0}function nr(){O.value=null,k.value=`pointer`,At.value=!1,Q.value=void 0,Ut.value=!1}function rr(e){if(!z.value||Hn.value||document.activeElement!==z.value||!X.value.length)return;let t=[`ArrowLeft`,`ArrowDown`].includes(e.key),n=[`ArrowRight`,`ArrowUp`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){O.value=null,k.value=`pointer`,At.value=!1,Q.value=void 0;return}if(r){if(O.value===null)return;let e=X.value[O.value];if(!e)return;Pn({datapoint:e});return}let a=O.value;a===null||a<0||a>=X.value.length?a=n?0:X.value.length-1:n?(a+=1,a>=X.value.length&&(a=0)):t&&(--a,a<0&&(a=X.value.length-1));let o=X.value[a];o&&(ir(a),zn({datapoint:o,seriesIndex:a,show:!0,triggerMode:`keyboard`}))}function ir(e){if(!Number.isFinite(e)||!z.value)return;let t=X.value[e];if(!t)return;let n=t.radius,r=Math.PI*7/4,i=q.value.centerX+n*Math.cos(r),a=q.value.centerY+n*Math.sin(r),o=z.value.getBoundingClientRect();Ht.value={x:o.left+i/V.value.width*o.width,y:o.top+a/V.value.height*o.height}}let ar=c(()=>({headers:Z.value?.colNames??[],rows:Z.value?.body??[]}));return pe({getData:An,getImage:Wn,generatePdf:en,generateCsv:Mn,generateImage:tn,generateSvg:Qn,hideSeries:kn,showSeries:On,toggleTable:Bn,toggleTooltip:Vn,toggleAnnotator:Un,toggleFullscreen:Nn,copyAlt:er}),(e,t)=>(v(),d(`div`,{class:h(`vue-data-ui-component vue-ui-onion ${$.value?`vue-data-ui-wrapper-fullscreen`:``} ${A.value.useCssAnimation?``:`vue-ui-dna`}`),ref_key:`onionChart`,ref:D,id:`vue-ui-onion_${T.value}`,style:_(`font-family:${A.value.style.fontFamily};width:100%; ${A.value.responsive?`height: 100%;`:``} text-align:center;background:${F.value.backgroundColor}`),onMouseenter:t[4]||=()=>S(Jt)(!0),onMouseleave:t[5]||=()=>S(Jt)(!1)},[f(`div`,{id:`chart-instructions-${T.value}`,class:`sr-only`},[f(`p`,null,qe(A.value.a11y.translations.keyboardNavigation),1)],8,Qe),ar.value?.rows?.length?(v(),l(ke,{key:0,uid:T.value,head:ar.value.headers,body:ar.value.rows,notice:A.value.a11y.translations.tableAvailable,caption:A.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):u(``,!0),j.value.buttons.annotator?(v(),l(S(Ct),{key:1,svgRef:S(z),backgroundColor:F.value.backgroundColor,color:F.value.color,active:Hn.value,isCursorPointer:L.value,palette:j.value.annotatorPalette,onClose:Un},Re({_:2},[b(S(xe),t=>({name:t,fn:C(n=>[x(e.$slots,t,g(m(S(be)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):u(``,!0),nn.value?(v(),d(`div`,{key:2,ref_key:`noTitle`,ref:Ft,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):u(``,!0),F.value.title.text?(v(),d(`div`,{key:3,ref_key:`chartTitle`,ref:Mt,style:`width:100%;background:transparent`},[(v(),l(ge,{key:`title_${It.value}`,config:{title:{cy:`onion-div-title`,...F.value.title},subtitle:{cy:`onion-div-subtitle`,...F.value.title.subtitle}}},null,8,[`config`]))],512)):u(``,!0),f(`div`,{id:`legend-top-${T.value}`},null,8,$e),j.value.show&&Dt.value&&(S(Yt)||S(qt))?(v(),l(S(St),{ref_key:`details`,ref:Ot,key:`user_options${kt.value}`,backgroundColor:F.value.backgroundColor,color:F.value.color,isImaging:S($t),isPrinting:S(Qt),uid:T.value,hasTooltip:j.value.buttons.tooltip&&P.value.show,hasPdf:j.value.buttons.pdf,hasImg:j.value.buttons.img,hasSvg:j.value.buttons.svg,hasXls:j.value.buttons.csv,hasTable:j.value.buttons.table,hasFullscreen:j.value.buttons.fullscreen,hasAltCopy:j.value.buttons.altCopy,isFullscreen:$.value,isTooltip:B.value.showTooltip,titles:{...j.value.buttonTitles},chartElement:D.value,position:j.value.position,hasAnnotator:j.value.buttons.annotator,isAnnotation:Hn.value,callbacks:j.value.callbacks,printScale:j.value.print.scale,tableDialog:A.value.table.useDialog,isCursorPointer:L.value,onToggleFullscreen:Nn,onGeneratePdf:S(en),onGenerateCsv:Mn,onGenerateImage:S($n),onGenerateSvg:S(Qn),onToggleTable:Bn,onToggleTooltip:Vn,onToggleAnnotator:Un,onCopyAlt:er,style:_({visibility:S(Yt)?S(qt)?`visible`:`hidden`:`visible`})},Re({_:2},[b(S(Se)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:C(n=>[x(e.$slots,t,g(m(S(Ce)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isImaging.isPrinting.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):u(``,!0),f(`div`,et,[(v(),d(`svg`,{ref_key:`svgRef`,ref:z,xmlns:S(oe),"aria-describedby":`chart-instructions-${T.value}`,class:h({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value,resizing:zt.value,"vue-data-ui-no-transition":!S(I)||zt.value||S(R)}),viewBox:`0 0 ${V.value.width<=0?10:V.value.width} ${V.value.height<=0?10:V.value.height}`,style:_(`max-width:100%;overflow:visible;background:transparent;color:${F.value.color}`),tabindex:`0`,onFocus:tr,onBlur:nr,onKeydown:rr},[Be(S(wt)),x(e.$slots,`svg-underlayer`,{svg:{...V.value,drawingArea:q.value,isPrintingImg:S(Qt)||S($t)||S(Xn),isPrintingSvg:S(Zn)}},void 0,!0),e.$slots[`chart-background`]?(v(),d(`foreignObject`,{key:0,x:0,y:0,width:V.value.width<=0?10:V.value.width,height:V.value.height<=0?10:V.value.height,style:{pointerEvents:`none`}},[x(e.$slots,`chart-background`,{},void 0,!0)],8,nt)):u(``,!0),(v(!0),d(Ie,null,b(X.value,(e,t)=>(v(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<=0?1e-4:e.radius,stroke:N.value.gutter.color,"stroke-width":Y.value.gutter,fill:`none`,"stroke-dasharray":e.path.bgDashArray,"stroke-dashoffset":e.path.fullOffset,"stroke-linecap":`round`,class:h({"vue-ui-onion-path":!0,"vue-ui-onion-blur":A.value.useBlurOnHover&&![null,void 0].includes(Q.value)&&Q.value!==t,"vue-data-ui-transition":S(I)}),style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`}},null,10,rt))),256)),(v(!0),d(Ie,null,b(X.value,(e,t)=>(v(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<0?1e-4:e.radius,stroke:`${e.color}`,"stroke-width":Y.value.track,fill:`none`,"stroke-dasharray":e.path.dashArray,"stroke-dashoffset":e.path.dashOffset,class:h({"vue-ui-onion-path":!0,"vue-ui-onion-blur":A.value.useBlurOnHover&&![null,void 0].includes(Q.value)&&Q.value!==t,"vue-data-ui-transition":S(I)}),"stroke-linecap":`round`,style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`}},null,10,it))),256)),f(`defs`,null,[f(`filter`,{id:`blur_${T.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[f(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:100/F.value.gradientIntensity},null,8,ot)],8,at)]),F.value.useGradient?(v(),d(`g`,{key:1,filter:`url(#blur_${T.value})`},[(v(!0),d(Ie,null,b(X.value,(e,t)=>(v(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<=0?1e-4:e.radius,stroke:`white`,"stroke-width":Y.value.track/3,fill:`none`,"stroke-linecap":`round`,"stroke-dasharray":e.path.dashArray,"stroke-dashoffset":e.path.dashOffset,style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`},class:h({"vue-data-ui-transition":S(I)})},null,10,ct))),256))],8,st)):u(``,!0),(v(!0),d(Ie,null,b(X.value,(e,t)=>(v(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<=0?1e-4:e.radius,stroke:`transparent`,"stroke-width":Math.max(Y.value.track,Y.value.gutter),fill:`none`,"stroke-dasharray":e.path.bgDashArray,"stroke-dashoffset":e.path.fullOffset,"stroke-linecap":`round`,class:`vue-ui-onion-path`,style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`},onMouseenter:n=>zn({datapoint:e,show:!0,seriesIndex:t,triggerMode:`pointer`}),onMouseleave:t=>Fn({datapoint:e}),onClick:t=>Pn({datapoint:e})},null,40,lt))),256)),M.value.show?(v(),d(`g`,ut,[(v(!0),d(Ie,null,b(X.value,(e,t)=>(v(),d(`g`,{key:`dl_${e.id}`,onMouseenter:n=>zn({datapoint:e,show:!0,seriesIndex:t,triggerMode:`pointer`}),onMouseleave:t=>Fn({datapoint:e}),onClick:t=>Pn({datapoint:e})},[E.value.includes(e.id)?u(``,!0):(v(),d(`text`,{key:0,class:h([`vue-ui-onion-label`,{"vue-data-ui-transition":S(I)}]),transform:`translate(${V.value.width/2-Y.value.gutter*.8+M.value.offsetX},${e.labelY+M.value.offsetY})`,"text-anchor":`end`,"font-size":M.value.fontSize,fill:A.value.useBlurOnHover&&![null,void 0].includes(Q.value)&&Q.value===t?e.color:M.value.color,"font-weight":M.value.bold?`bold`:`normal`},qe(Ln(e,t)),11,ft))],40,dt))),128))])):u(``,!0),x(e.$slots,`svg`,{svg:{...V.value,drawingArea:q.value,isPrintingImg:S(Qt)||S($t)||S(Xn),isPrintingSvg:S(Zn)}},void 0,!0)],46,tt)),e.$slots.hint?(v(),d(`div`,pt,[x(e.$slots,`hint`,g(m({hint:A.value.a11y.translations.keyboardNavigation,isVisible:Ut.value})),void 0,!0)])):u(``,!0)]),e.$slots.watermark?(v(),d(`div`,mt,[x(e.$slots,`watermark`,g(m({isPrinting:S(Qt)||S($t)||S(Xn)||S(Zn)})),void 0,!0)])):u(``,!0),f(`div`,{id:`legend-bottom-${T.value}`},null,8,ht),Bt.value&&(F.value.legend.show||e.$slots.legend)?(v(),l(Le,{key:6,to:F.value.legend.position===`top`?`#legend-top-${T.value}`:`#legend-bottom-${T.value}`},[f(`div`,{ref_key:`chartLegend`,ref:Nt},[x(e.$slots,`legend`,{legend:mn.value},()=>[F.value.legend.show?(v(),l(Ne,{key:`legend_${Rt.value}`,legendSet:mn.value,config:xn.value,isCursorPointer:L.value,onClickMarker:t[0]||=({legend:e})=>En(e.id)},{item:C(({legend:e})=>[S(R)?u(``,!0):(v(),d(`div`,{key:0,"data-cy-legend-item":``,onClick:t=>e.segregate(),style:_(`opacity:${E.value.includes(e.id)?.5:1}`)},qe(e.display),13,gt))]),legendToggle:C(()=>[mn.value.length>2&&F.value.legend.selectAllToggle.show&&!S(R)?(v(),l(Oe,{key:0,backgroundColor:F.value.legend.selectAllToggle.backgroundColor,color:F.value.legend.selectAllToggle.color,fontSize:F.value.legend.fontSize,checked:E.value.length>0,isCursorPointer:L.value,onToggle:Tn},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):u(``,!0)]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):u(``,!0)],!0)],512)],8,[`to`])):u(``,!0),e.$slots.source?(v(),d(`div`,{key:7,ref_key:`source`,ref:Pt,dir:`auto`},[x(e.$slots,`source`,{},void 0,!0)],512)):u(``,!0),Be(S(vt),{teleportTo:P.value.teleportTo,show:B.value.showTooltip&&At.value,backgroundColor:P.value.backgroundColor,color:P.value.color,borderRadius:P.value.borderRadius,borderColor:P.value.borderColor,borderWidth:P.value.borderWidth,fontSize:P.value.fontSize,backgroundOpacity:P.value.backgroundOpacity,position:P.value.position,offsetX:P.value.offsetX,offsetY:P.value.offsetY,parent:D.value,content:jt.value,isFullscreen:$.value,isCustom:S(i)(P.value.customFormat),smooth:P.value.smooth,backdropFilter:P.value.backdropFilter,smoothForce:P.value.smoothForce,smoothSnapThreshold:P.value.smoothSnapThreshold,isA11yMode:k.value===`keyboard`,a11yPosition:Ht.value},{"tooltip-before":C(()=>[x(e.$slots,`tooltip-before`,g(m({...Rn.value})),void 0,!0)]),tooltip:C(()=>[x(e.$slots,`tooltip`,g(m({...Rn.value})),void 0,!0)]),"tooltip-after":C(()=>[x(e.$slots,`tooltip-after`,g(m({...Rn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Dt.value&&j.value.buttons.table?(v(),l(Ge(Gn.value.component),Ve({key:8},Gn.value.props,{ref_key:`tableUnit`,ref:Vt,onClose:t[3]||=e=>B.value.showTable=!1}),Re({content:C(()=>[(v(),l(S(xt),{key:`table_${Lt.value}`,colNames:Z.value.colNames,head:Z.value.head,body:Z.value.body,config:Z.value.config,title:A.value.table.useDialog?``:Gn.value.title,withCloseButton:!A.value.table.useDialog,isCursorPointer:L.value,onClose:t[2]||=e=>B.value.showTable=!1},{th:C(({th:e})=>[ze(qe(e),1)]),td:C(({td:e})=>[f(`div`,{innerHTML:e},null,8,_t)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[A.value.table.useDialog?{name:`title`,fn:C(()=>[ze(qe(Gn.value.title),1)]),key:`0`}:void 0,A.value.table.useDialog?{name:`actions`,fn:C(()=>[f(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>Mn(j.value.callbacks.csv),style:_({cursor:L.value?`pointer`:`default`})},[Be(S(yt),{name:`fileCsv`,stroke:Gn.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):u(``,!0),x(e.$slots,`skeleton`,{},()=>[S(R)?(v(),l(ue,{key:0})):u(``,!0)],!0)],46,Ze))}},[[`__scopeId`,`data-v-6ceeb021`]]);export{Xe as n,vt as t};
@@ -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,Ht as a,J as o,Jt as ee,P as te,S as ne,U as s,X as c,Zt as re,_ as ie,at as ae,i as oe,in as se,nt as ce,pt as le,rn as ue,t as de,tn as fe,w as pe,xt as me,yt as he,zt as ge}from"./lib-rPeBMZrn.js";import{n as _e,t as ve}from"./BaseScanner-8NdoBs7B.js";import{n as ye,t as be}from"./useHints-BH9r_0Vd.js";import{t as xe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as Se}from"./resolveChartConfig-CIhClE5R.js";import{t as Ce}from"./chartImage-DPGnEuYM.js";import{n as we}from"./Title-BliHuXfT.js";import{t as Te}from"./useChartExport-BZts4KFb.js";import{n as Ee,t as De}from"./tableIntegration-CNoJ1CIY.js";import{n as Oe,t as ke}from"./annotationSlots-BRR85CqJ.js";import{n as Ae,t as je}from"./userOptionsSlots-DYuo-E5m.js";import{t as Me}from"./usePrinter-sVoTzet1.js";import{t as Ne}from"./useTransitions-ChGGrtrv.js";import{t as Pe}from"./useSvgLabelLayout-D1I8sQUi.js";import{t as Fe}from"./useTimeLabelCollider-BTybMUFi.js";import{t as Ie}from"./Shape-CRe8woTu.js";import{t as Le}from"./useResponsive-CENUxfEL.js";import{t as Re}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as ze}from"./A11yDataTable-DWNlWXzs.js";import{t as Be}from"./useUserOptionState-CXlFnwPv.js";import{t as Ve}from"./useChartAccessibility-DOMuYJfm.js";import{t as He}from"./Legend-DM0ClX3D.js";import{t as Ue}from"./vue_ui_parallel_coordinate_plot-Cs_xXAG5.js";import{Fragment as l,Teleport as We,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createSlots as Ge,createTextVNode as Ke,createVNode as qe,defineAsyncComponent as h,guardReactiveProps as g,mergeProps as Je,nextTick as Ye,normalizeClass as _,normalizeProps as v,normalizeStyle as y,onBeforeUnmount as Xe,onMounted as Ze,openBlock as b,ref as x,renderList as S,renderSlot as C,resolveDynamicComponent as Qe,shallowRef as $e,toDisplayString as w,toRefs as et,unref as T,watch as tt,withCtx as E}from"vue";var nt=/* @__PURE__ */ e({default:()=>Dt}),rt=[`id`],it=[`id`],at=[`id`],ot={style:{position:`relative`}},st=[`xmlns`,`aria-describedby`,`viewBox`],ct=[`x`,`y`,`width`,`height`],lt={style:{"pointer-events":`none`}},ut=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],dt=[`d`,`stroke`,`stroke-width`],ft={key:0},pt=[`transform`,`fill`,`font-size`,`font-weight`],mt=[`fill`,`font-size`,`font-weight`,`text-anchor`,`transform`],ht=[`fill`,`font-size`,`font-weight`,`text-anchor`,`transform`,`innerHTML`],gt={key:0},_t=[`x`,`y`,`font-size`,`fill`],vt=[`width`,`x`,`y`],yt={style:{width:`100%`}},bt=[`d`,`stroke`,`stroke-width`,`onMouseenter`,`onMouseleave`,`onClick`],xt=[`d`,`onMouseenter`,`onMouseleave`,`onClick`],St=[`transform`,`fill`,`font-weight`,`font-size`,`stroke`,`onMouseenter`,`onMouseleave`,`onClick`],Ct={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},wt={key:5,class:`vue-data-ui-watermark`},Tt=[`id`],Et=[`onClick`],Dt=/*#__PURE__*/ xe({__name:`vue-ui-parallel-coordinate-plot`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:xe,emit:nt}){let Dt=h(()=>import(`./Tooltip-C1q0Qoh7.js`)),Ot=h(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),kt=h(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),At=h(()=>import(`./DataTable-0Vv-aGHD.js`)),jt=h(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Mt=h(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Nt=h(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),Pt=h(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_parallel_coordinate_plot:Ft}=t(),D=e,It=u({get(){return!!D.dataset&&D.dataset.length},set(e){return e}}),Lt=x(0),O=x(null),Rt=x(null),zt=x(null),Bt=x(null),Vt=x(null),Ht=x(0),Ut=x(0),Wt=x(0),Gt=x(!1),Kt=x(null),qt=x(null),Jt=x(null),k=x(null),Yt=x({x:0,y:0}),Xt=x(`pointer`),Zt=x(!1),A=x(c()),j=x(!1);function Qt(e){j.value=e,Lt.value+=1}let M=x(sn()),N=u(()=>M.value.userOptions),P=u(()=>M.value.style.chart.yAxis.labels),F=u(()=>M.value.style.chart.tooltip),I=u(()=>M.value.style.chart),{transitionEnabled:L}=Ne({config:()=>M.value.transitions,dataset:()=>D.dataset});ye({config:()=>M.value,dataset:()=>D.dataset,component:`VueUiParallelCoordinatePlot`,rules:[be.emptyArray,{test:e=>e.length>10,message:[`👀 There are > 10 series. Consider:`,``,`▶️ Using filters, to show less series at the same time and make the chart more readable.`]},{test:e=>e.some(e=>(e?.series??[]).some(e=>(e?.values??[]).length>15)),message:[`👀 There are > 15 axes, which can make the chart hard to read. Consider:`,``,`▶️ Using filters, to allow users to select a maximum set of metrics.`]},{test:e=>e.some(e=>e?.series?.length>5),message:[`👀 Some series have > 5 datapoints. Consider:`,``,`▶️ Using filters, to allow users to select a maximum set of metrics.`]}]});let R=u(()=>M.value.userOptions.useCursorPointer),$t=u(()=>se({defaultConfig:{useCssAnimation:!1,userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,legend:{show:!0,backgroundColor:`transparent`},yAxis:{stroke:`#6A6A6A`,labels:{showAxisNames:!1,axisNames:[],ticks:{color:`#6A6A6A`}}}}}},userConfig:M.value.skeletonConfig??{}})),{loading:en,FINAL_DATASET:tn,manualLoading:nn}=_e({...et(D),FINAL_CONFIG:M,prepareConfig:sn,callback:()=>{Promise.resolve().then(async()=>{await Ye(),G.value.showTable=M.value.table.show})},skeletonDataset:D.config?.skeletonDataset??[{name:``,shape:`circle`,color:`transparent`,series:[{name:``,values:[1,10,100,1e3]}]},{name:``,shape:`circle`,color:`#CACACA`,series:[{name:``,values:[.2,3,50,800]}]},{name:``,shape:`circle`,color:`transparent`,series:[{name:``,values:[0,0,0,0]}]}],skeletonConfig:se({defaultConfig:M.value,userConfig:$t.value})}),{userOptionsVisible:rn,setUserOptionsVisibility:an,keepUserOptionState:on}=Be({config:M.value}),{svgRef:z}=Ve({config:I.value.title});function sn(){return Se(D.config,Ft,Ue)}let cn=re(D.config);tt(()=>D.config,(e,t)=>{let n=re(e),r=n!==cn;cn=n;let i=sn();r?(en.value||(M.value=i),rn.value=!M.value.userOptions.showOnChartHover,fn(),Ht.value+=1,Wt.value+=1,Ut.value+=1,G.value.dataLabels.show=P.value.datapoints.show,G.value.showTable=M.value.table.show,G.value.showTooltip=F.value.show):(M.value.style.chart.tooltip=i.style.chart.tooltip,G.value.showTooltip=M.value.style.chart.tooltip.show)},{deep:!0}),tt(()=>D.dataset,e=>{Array.isArray(e)&&e.length>0&&(nn.value=!1)},{deep:!0});let B=$e(null),V=$e(null),ln=x(!1),un=0;Ze(()=>{Gt.value=!0,fn()});let dn=u(()=>M.value.debug);function fn(){ge(D.dataset)?(ae({componentName:`VueUiParallelCoordinatePlot`,type:`dataset`,debug:dn.value}),nn.value=!0):D.dataset.forEach((e,t)=>{he({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{It.value=!1,ae({componentName:`VueUiParallelCoordinatePlot`,type:`datasetSerieAttribute`,property:e,index:t,debug:dn.value})})}),ge(D.dataset)||(nn.value=M.value.loading),M.value.responsive&&(B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect()),B.value=new ResizeObserver(()=>{let{width:e,height:t}=Le({chart:O.value,title:I.value.title.text?Rt.value:null,legend:I.value.legend.show?zt.value:null,source:Bt.value,noTitle:Vt.value});cancelAnimationFrame(un),un=requestAnimationFrame(()=>{H.value.width=e,H.value.height=t-12,ln.value=!0,M.value.responsiveProportionalSizing?(H.value.plotSize=ue({relator:Math.min(e,t),adjuster:600,source:I.value.plots.radius,threshold:2,fallback:2}),H.value.ticksFontSize=ue({relator:Math.min(e,t),adjuster:600,source:P.value.ticks.fontSize,threshold:10,fallback:10}),H.value.datapointFontSize=ue({relator:Math.min(e,t),adjuster:600,source:P.value.datapoints.fontSize,threshold:10,fallback:10}),H.value.axisNameFontSize=ue({relator:Math.min(e,t),adjuster:600,source:P.value.axisNamesFontSize,threshold:12,fallback:12})):(H.value.plotSize=I.value.plots.radius,H.value.ticksFontSize=P.value.ticks.fontSize,H.value.datapointFontSize=P.value.datapoints.fontSize,H.value.axisNameFontSize=P.value.axisNamesFontSize)})}),V.value=O.value.parentNode,B.value.observe(V.value))}Xe(()=>{cancelAnimationFrame(un),B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect())});let{isPrinting:pn,isImaging:mn,generatePdf:hn,generateImage:gn}=Me({elementId:`pcp_${A.value}`,fileName:I.value.title.text||`vue-ui-parallel-coordinate-plot`,options:M.value.userOptions.print}),_n=u(()=>M.value.userOptions.show&&!I.value.title.text),H=x({height:I.value.height,width:I.value.width,plotSize:I.value.plots.radius,ticksFontSize:P.value.ticks.fontSize,datapointFontSize:P.value.datapoints.fontSize,axisNameFontSize:P.value.axisNamesFontSize}),vn=u(()=>H.value.width),yn=u(()=>H.value.height),{metrics:bn,ready:xn,settling:U,update:Sn}=Pe({svgRef:z,canMeasure:()=>!M.value.responsive||ln.value,initialMetrics:{top:0},measure:e=>({top:e(Jt.value).height})}),Cn=u(()=>bn.value.top),W=u(()=>{let{top:e,right:t,bottom:n,left:r}=I.value.padding,i=yn.value,a=vn.value;return{chartHeight:Math.max(.001,i),chartWidth:Math.max(.001,a),height:Math.max(.001,i-e-n-Cn.value-H.value.datapointFontSize*2),width:Math.max(.001,a-r-t),top:e+Cn.value+H.value.datapointFontSize,left:r,right:a-t,bottom:i-n-H.value.datapointFontSize}}),wn=u(()=>pe(M.value.customPalette)),G=x({dataLabels:{show:P.value.datapoints.show},showTable:M.value.table.show,showTooltip:F.value.show});tt(M,()=>{G.value={dataLabels:{show:P.value.datapoints.show},showTable:M.value.table.show,showTooltip:F.value.show}},{immediate:!0});let K=x([]);function Tn(){K.value.length?K.value=[]:An.value.forEach(e=>{K.value.push(e.id)}),Wn(`selectLegend`,Nn.value)}function En(e){K.value.includes(e)?K.value=K.value.filter(t=>t!==e):K.value.push(e),Wn(`selectLegend`,Nn.value)}let q=u(()=>tn.value.map((e,t)=>{let n=ne(e.color)||wn.value[t]||a[t]||a[t%a.length];return{...e,series:e.series.map(e=>({...e,id:c(),color:n})),seriesIndex:t,color:n,id:c(),shape:e.shape||`circle`}}));function Dn(e){return q.value.length?q.value.find(t=>t.name===e)||(dn.value&&console.warn(`VueUiParallelCoordinatePlot - Series name not found "${e}"`),null):(dn.value&&console.warn(`VueUiParallelCoordinatePlot - There are no series to show.`),null)}function On(e){let t=Dn(e);t!==null&&K.value.includes(t.id)&&En(t.id)}function kn(e){let t=Dn(e);t!==null&&(K.value.includes(t.id)||En(t.id))}let An=u(()=>q.value.map(e=>({...e,opacity:K.value.includes(e.id)?.5:1,segregate:()=>En(e.id),isSegregated:K.value.includes(e.id),shape:e.shape||`circle`}))),jn=u(()=>({cy:`pcp-div-legend`,backgroundColor:I.value.legend.backgroundColor,color:I.value.legend.color,fontSize:I.value.legend.fontSize,paddingBottom:12,fontWeight:I.value.legend.bold?`bold`:``})),Mn=u(()=>Math.max(...q.value.filter(e=>!K.value.includes(e.id)).map(e=>Math.max(...e.series.flatMap(e=>e.values.length))))),J=u(()=>W.value.width/Mn.value),Nn=u(()=>q.value.filter(e=>!K.value.includes(e.id))),Y=u(()=>{let e=[];for(let t=0;t<Mn.value;t+=1){let n=Math.min(...Nn.value.flatMap(e=>e.series.map(e=>e.values[t]||0)||0)),r=Math.max(...Nn.value.flatMap(e=>e.series.map(e=>e.values[t]||0)||0)),i=r===n?n/4:n,a=r===n?r*2:r,o=ie(i,a,I.value.yAxis.scaleTicks),ee=o.ticks.map((e,n)=>{let r=o.min<0?e+Math.abs(o.min):e-Math.abs(o.min),i=o.min<0?o.max+Math.abs(o.min):o.max-Math.abs(o.min);return{y:W.value.bottom-W.value.height*(r/i),x:W.value.left+J.value*t+J.value/2,value:e}});e.push({scale:o,ticks:ee,name:P.value.axisNames[t]||`Y-${t+1}`})}return e}),X=u(()=>Nn.value.map((e,t)=>({...e,series:e.series.map((n,r)=>({...n,datapoints:n.values.map((i,a)=>{let o=Y.value[a].scale.min<0?(i||0)+Math.abs(Y.value[a].scale.min):(i||0)-Math.abs(Y.value[a].scale.min),ee=Y.value[a].scale.min<0?Y.value[a].scale.max+Math.abs(Y.value[a].scale.min):Y.value[a].scale.max-Math.abs(Y.value[a].scale.min);return{name:n.name,seriesName:e.name,axisIndex:a,datapointIndex:r,seriesIndex:t,value:i||0,x:W.value.left+J.value*a+J.value/2,y:W.value.bottom-W.value.height*(o/ee),comment:n.comments&&n.comments[a]||``}})}))})).map(e=>({...e,series:e.series.map(e=>{let t=s(e.datapoints),n=te(e.datapoints,.12),r=me(I.value.lines.smooth?`M ${n}`:`M ${t}`);return{...e,smoothPath:n,straightPath:t,pathLength:r}})}))),Z=u(()=>X.value.flatMap((e,t)=>e.series.map((n,r)=>({shape:e.shape,serieName:e.name,serie:n,relativeIndex:r,seriesIndex:n.seriesIndex,S:t,key:`${t}_${r}`}))));function Pn({value:e,index:t,datapoint:r}){return oe(P.value.formatters[t]||null,e,n({p:P.value.prefixes[t]||``,v:e,s:P.value.suffixes[t]||``,r:P.value.roundings[t]||0}),{datapoint:r,seriesIndex:t})}let Q=x(null),Fn=x(null),In=x(!1),Ln=x(``);function Rn({shape:e,serie:t,S:n}){M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:{...t,shape:e},seriesIndex:n});let r=k.value===null?null:Z.value[k.value];Xt.value===`keyboard`&&r&&r.serie.id===t.id||(Q.value=null,In.value=!1)}function zn(e){if(!z.value||!e?.datapoints?.length)return;let t=e.datapoints[Math.floor(e.datapoints.length/2)];if(!t)return;let n=fe(t.x,t.y,z.value);n&&(Yt.value=n)}function Bn({shape:e,serieName:t,serie:r,relativeIndex:a,seriesIndex:o,S:te,triggerMode:ne=`pointer`}){M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:{...r,shape:e},seriesIndex:te}),Xt.value=ne,Fn.value={config:M.value,datapoint:r,serie:r,relativeIndex:a,seriesIndex:o,series:q.value,scales:Y.value},In.value=!0,Q.value=r.id;let s=``,c=F.value.customFormat;i(c)&&le(()=>c({serie:r,seriesIndex:r.seriesIndex,series:q.value,config:M.value,scales:Y.value}))?Ln.value=c({serie:r,seriesIndex:r.seriesIndex,series:q.value,config:M.value,scales:Y.value}):(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${F.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${t?t+` - `:``}${r.name}</div>`,Y.value.map(e=>e.name).forEach((e,t)=>{s+=`
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,Ht as a,J as o,Jt as ee,P as te,S as ne,U as s,X as c,Zt as re,_ as ie,at as ae,i as oe,in as se,nt as ce,pt as le,rn as ue,t as de,tn as fe,w as pe,xt as me,yt as he,zt as ge}from"./lib-rPeBMZrn.js";import{n as _e,t as ve}from"./BaseScanner-8NdoBs7B.js";import{n as ye,t as be}from"./useHints-C-TwxM0Y.js";import{t as xe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as Se}from"./resolveChartConfig-CIhClE5R.js";import{t as Ce}from"./chartImage-DPGnEuYM.js";import{n as we}from"./Title-BliHuXfT.js";import{t as Te}from"./useChartExport-BZts4KFb.js";import{n as Ee,t as De}from"./tableIntegration-CNoJ1CIY.js";import{n as Oe,t as ke}from"./annotationSlots-BRR85CqJ.js";import{n as Ae,t as je}from"./userOptionsSlots-DYuo-E5m.js";import{t as Me}from"./usePrinter-DVf3YcG5.js";import{t as Ne}from"./useTransitions-ChGGrtrv.js";import{t as Pe}from"./useSvgLabelLayout-42Kats14.js";import{t as Fe}from"./useTimeLabelCollider-BTybMUFi.js";import{t as Ie}from"./Shape-CRe8woTu.js";import{t as Le}from"./useResponsive-CENUxfEL.js";import{t as Re}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as ze}from"./A11yDataTable-DWNlWXzs.js";import{t as Be}from"./useUserOptionState-CXlFnwPv.js";import{t as Ve}from"./useChartAccessibility-DOMuYJfm.js";import{t as He}from"./Legend-DM0ClX3D.js";import{t as Ue}from"./vue_ui_parallel_coordinate_plot-Cs_xXAG5.js";import{Fragment as l,Teleport as We,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createSlots as Ge,createTextVNode as Ke,createVNode as qe,defineAsyncComponent as h,guardReactiveProps as g,mergeProps as Je,nextTick as Ye,normalizeClass as _,normalizeProps as v,normalizeStyle as y,onBeforeUnmount as Xe,onMounted as Ze,openBlock as b,ref as x,renderList as S,renderSlot as C,resolveDynamicComponent as Qe,shallowRef as $e,toDisplayString as w,toRefs as et,unref as T,watch as tt,withCtx as E}from"vue";var nt=/* @__PURE__ */ e({default:()=>Dt}),rt=[`id`],it=[`id`],at=[`id`],ot={style:{position:`relative`}},st=[`xmlns`,`aria-describedby`,`viewBox`],ct=[`x`,`y`,`width`,`height`],lt={style:{"pointer-events":`none`}},ut=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],dt=[`d`,`stroke`,`stroke-width`],ft={key:0},pt=[`transform`,`fill`,`font-size`,`font-weight`],mt=[`fill`,`font-size`,`font-weight`,`text-anchor`,`transform`],ht=[`fill`,`font-size`,`font-weight`,`text-anchor`,`transform`,`innerHTML`],gt={key:0},_t=[`x`,`y`,`font-size`,`fill`],vt=[`width`,`x`,`y`],yt={style:{width:`100%`}},bt=[`d`,`stroke`,`stroke-width`,`onMouseenter`,`onMouseleave`,`onClick`],xt=[`d`,`onMouseenter`,`onMouseleave`,`onClick`],St=[`transform`,`fill`,`font-weight`,`font-size`,`stroke`,`onMouseenter`,`onMouseleave`,`onClick`],Ct={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},wt={key:5,class:`vue-data-ui-watermark`},Tt=[`id`],Et=[`onClick`],Dt=/*#__PURE__*/ xe({__name:`vue-ui-parallel-coordinate-plot`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:xe,emit:nt}){let Dt=h(()=>import(`./Tooltip-C1q0Qoh7.js`)),Ot=h(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),kt=h(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),At=h(()=>import(`./DataTable-0Vv-aGHD.js`)),jt=h(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Mt=h(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Nt=h(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),Pt=h(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_parallel_coordinate_plot:Ft}=t(),D=e,It=u({get(){return!!D.dataset&&D.dataset.length},set(e){return e}}),Lt=x(0),O=x(null),Rt=x(null),zt=x(null),Bt=x(null),Vt=x(null),Ht=x(0),Ut=x(0),Wt=x(0),Gt=x(!1),Kt=x(null),qt=x(null),Jt=x(null),k=x(null),Yt=x({x:0,y:0}),Xt=x(`pointer`),Zt=x(!1),A=x(c()),j=x(!1);function Qt(e){j.value=e,Lt.value+=1}let M=x(sn()),N=u(()=>M.value.userOptions),P=u(()=>M.value.style.chart.yAxis.labels),F=u(()=>M.value.style.chart.tooltip),I=u(()=>M.value.style.chart),{transitionEnabled:L}=Ne({config:()=>M.value.transitions,dataset:()=>D.dataset});ye({config:()=>M.value,dataset:()=>D.dataset,component:`VueUiParallelCoordinatePlot`,rules:[be.emptyArray,{test:e=>e.length>10,message:[`👀 There are > 10 series. Consider:`,``,`▶️ Using filters, to show less series at the same time and make the chart more readable.`]},{test:e=>e.some(e=>(e?.series??[]).some(e=>(e?.values??[]).length>15)),message:[`👀 There are > 15 axes, which can make the chart hard to read. Consider:`,``,`▶️ Using filters, to allow users to select a maximum set of metrics.`]},{test:e=>e.some(e=>e?.series?.length>5),message:[`👀 Some series have > 5 datapoints. Consider:`,``,`▶️ Using filters, to allow users to select a maximum set of metrics.`]}]});let R=u(()=>M.value.userOptions.useCursorPointer),$t=u(()=>se({defaultConfig:{useCssAnimation:!1,userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,legend:{show:!0,backgroundColor:`transparent`},yAxis:{stroke:`#6A6A6A`,labels:{showAxisNames:!1,axisNames:[],ticks:{color:`#6A6A6A`}}}}}},userConfig:M.value.skeletonConfig??{}})),{loading:en,FINAL_DATASET:tn,manualLoading:nn}=_e({...et(D),FINAL_CONFIG:M,prepareConfig:sn,callback:()=>{Promise.resolve().then(async()=>{await Ye(),G.value.showTable=M.value.table.show})},skeletonDataset:D.config?.skeletonDataset??[{name:``,shape:`circle`,color:`transparent`,series:[{name:``,values:[1,10,100,1e3]}]},{name:``,shape:`circle`,color:`#CACACA`,series:[{name:``,values:[.2,3,50,800]}]},{name:``,shape:`circle`,color:`transparent`,series:[{name:``,values:[0,0,0,0]}]}],skeletonConfig:se({defaultConfig:M.value,userConfig:$t.value})}),{userOptionsVisible:rn,setUserOptionsVisibility:an,keepUserOptionState:on}=Be({config:M.value}),{svgRef:z}=Ve({config:I.value.title});function sn(){return Se(D.config,Ft,Ue)}let cn=re(D.config);tt(()=>D.config,(e,t)=>{let n=re(e),r=n!==cn;cn=n;let i=sn();r?(en.value||(M.value=i),rn.value=!M.value.userOptions.showOnChartHover,fn(),Ht.value+=1,Wt.value+=1,Ut.value+=1,G.value.dataLabels.show=P.value.datapoints.show,G.value.showTable=M.value.table.show,G.value.showTooltip=F.value.show):(M.value.style.chart.tooltip=i.style.chart.tooltip,G.value.showTooltip=M.value.style.chart.tooltip.show)},{deep:!0}),tt(()=>D.dataset,e=>{Array.isArray(e)&&e.length>0&&(nn.value=!1)},{deep:!0});let B=$e(null),V=$e(null),ln=x(!1),un=0;Ze(()=>{Gt.value=!0,fn()});let dn=u(()=>M.value.debug);function fn(){ge(D.dataset)?(ae({componentName:`VueUiParallelCoordinatePlot`,type:`dataset`,debug:dn.value}),nn.value=!0):D.dataset.forEach((e,t)=>{he({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{It.value=!1,ae({componentName:`VueUiParallelCoordinatePlot`,type:`datasetSerieAttribute`,property:e,index:t,debug:dn.value})})}),ge(D.dataset)||(nn.value=M.value.loading),M.value.responsive&&(B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect()),B.value=new ResizeObserver(()=>{let{width:e,height:t}=Le({chart:O.value,title:I.value.title.text?Rt.value:null,legend:I.value.legend.show?zt.value:null,source:Bt.value,noTitle:Vt.value});cancelAnimationFrame(un),un=requestAnimationFrame(()=>{H.value.width=e,H.value.height=t-12,ln.value=!0,M.value.responsiveProportionalSizing?(H.value.plotSize=ue({relator:Math.min(e,t),adjuster:600,source:I.value.plots.radius,threshold:2,fallback:2}),H.value.ticksFontSize=ue({relator:Math.min(e,t),adjuster:600,source:P.value.ticks.fontSize,threshold:10,fallback:10}),H.value.datapointFontSize=ue({relator:Math.min(e,t),adjuster:600,source:P.value.datapoints.fontSize,threshold:10,fallback:10}),H.value.axisNameFontSize=ue({relator:Math.min(e,t),adjuster:600,source:P.value.axisNamesFontSize,threshold:12,fallback:12})):(H.value.plotSize=I.value.plots.radius,H.value.ticksFontSize=P.value.ticks.fontSize,H.value.datapointFontSize=P.value.datapoints.fontSize,H.value.axisNameFontSize=P.value.axisNamesFontSize)})}),V.value=O.value.parentNode,B.value.observe(V.value))}Xe(()=>{cancelAnimationFrame(un),B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect())});let{isPrinting:pn,isImaging:mn,generatePdf:hn,generateImage:gn}=Me({elementId:`pcp_${A.value}`,fileName:I.value.title.text||`vue-ui-parallel-coordinate-plot`,options:M.value.userOptions.print}),_n=u(()=>M.value.userOptions.show&&!I.value.title.text),H=x({height:I.value.height,width:I.value.width,plotSize:I.value.plots.radius,ticksFontSize:P.value.ticks.fontSize,datapointFontSize:P.value.datapoints.fontSize,axisNameFontSize:P.value.axisNamesFontSize}),vn=u(()=>H.value.width),yn=u(()=>H.value.height),{metrics:bn,ready:xn,settling:U,update:Sn}=Pe({svgRef:z,canMeasure:()=>!M.value.responsive||ln.value,initialMetrics:{top:0},measure:e=>({top:e(Jt.value).height})}),Cn=u(()=>bn.value.top),W=u(()=>{let{top:e,right:t,bottom:n,left:r}=I.value.padding,i=yn.value,a=vn.value;return{chartHeight:Math.max(.001,i),chartWidth:Math.max(.001,a),height:Math.max(.001,i-e-n-Cn.value-H.value.datapointFontSize*2),width:Math.max(.001,a-r-t),top:e+Cn.value+H.value.datapointFontSize,left:r,right:a-t,bottom:i-n-H.value.datapointFontSize}}),wn=u(()=>pe(M.value.customPalette)),G=x({dataLabels:{show:P.value.datapoints.show},showTable:M.value.table.show,showTooltip:F.value.show});tt(M,()=>{G.value={dataLabels:{show:P.value.datapoints.show},showTable:M.value.table.show,showTooltip:F.value.show}},{immediate:!0});let K=x([]);function Tn(){K.value.length?K.value=[]:An.value.forEach(e=>{K.value.push(e.id)}),Wn(`selectLegend`,Nn.value)}function En(e){K.value.includes(e)?K.value=K.value.filter(t=>t!==e):K.value.push(e),Wn(`selectLegend`,Nn.value)}let q=u(()=>tn.value.map((e,t)=>{let n=ne(e.color)||wn.value[t]||a[t]||a[t%a.length];return{...e,series:e.series.map(e=>({...e,id:c(),color:n})),seriesIndex:t,color:n,id:c(),shape:e.shape||`circle`}}));function Dn(e){return q.value.length?q.value.find(t=>t.name===e)||(dn.value&&console.warn(`VueUiParallelCoordinatePlot - Series name not found "${e}"`),null):(dn.value&&console.warn(`VueUiParallelCoordinatePlot - There are no series to show.`),null)}function On(e){let t=Dn(e);t!==null&&K.value.includes(t.id)&&En(t.id)}function kn(e){let t=Dn(e);t!==null&&(K.value.includes(t.id)||En(t.id))}let An=u(()=>q.value.map(e=>({...e,opacity:K.value.includes(e.id)?.5:1,segregate:()=>En(e.id),isSegregated:K.value.includes(e.id),shape:e.shape||`circle`}))),jn=u(()=>({cy:`pcp-div-legend`,backgroundColor:I.value.legend.backgroundColor,color:I.value.legend.color,fontSize:I.value.legend.fontSize,paddingBottom:12,fontWeight:I.value.legend.bold?`bold`:``})),Mn=u(()=>Math.max(...q.value.filter(e=>!K.value.includes(e.id)).map(e=>Math.max(...e.series.flatMap(e=>e.values.length))))),J=u(()=>W.value.width/Mn.value),Nn=u(()=>q.value.filter(e=>!K.value.includes(e.id))),Y=u(()=>{let e=[];for(let t=0;t<Mn.value;t+=1){let n=Math.min(...Nn.value.flatMap(e=>e.series.map(e=>e.values[t]||0)||0)),r=Math.max(...Nn.value.flatMap(e=>e.series.map(e=>e.values[t]||0)||0)),i=r===n?n/4:n,a=r===n?r*2:r,o=ie(i,a,I.value.yAxis.scaleTicks),ee=o.ticks.map((e,n)=>{let r=o.min<0?e+Math.abs(o.min):e-Math.abs(o.min),i=o.min<0?o.max+Math.abs(o.min):o.max-Math.abs(o.min);return{y:W.value.bottom-W.value.height*(r/i),x:W.value.left+J.value*t+J.value/2,value:e}});e.push({scale:o,ticks:ee,name:P.value.axisNames[t]||`Y-${t+1}`})}return e}),X=u(()=>Nn.value.map((e,t)=>({...e,series:e.series.map((n,r)=>({...n,datapoints:n.values.map((i,a)=>{let o=Y.value[a].scale.min<0?(i||0)+Math.abs(Y.value[a].scale.min):(i||0)-Math.abs(Y.value[a].scale.min),ee=Y.value[a].scale.min<0?Y.value[a].scale.max+Math.abs(Y.value[a].scale.min):Y.value[a].scale.max-Math.abs(Y.value[a].scale.min);return{name:n.name,seriesName:e.name,axisIndex:a,datapointIndex:r,seriesIndex:t,value:i||0,x:W.value.left+J.value*a+J.value/2,y:W.value.bottom-W.value.height*(o/ee),comment:n.comments&&n.comments[a]||``}})}))})).map(e=>({...e,series:e.series.map(e=>{let t=s(e.datapoints),n=te(e.datapoints,.12),r=me(I.value.lines.smooth?`M ${n}`:`M ${t}`);return{...e,smoothPath:n,straightPath:t,pathLength:r}})}))),Z=u(()=>X.value.flatMap((e,t)=>e.series.map((n,r)=>({shape:e.shape,serieName:e.name,serie:n,relativeIndex:r,seriesIndex:n.seriesIndex,S:t,key:`${t}_${r}`}))));function Pn({value:e,index:t,datapoint:r}){return oe(P.value.formatters[t]||null,e,n({p:P.value.prefixes[t]||``,v:e,s:P.value.suffixes[t]||``,r:P.value.roundings[t]||0}),{datapoint:r,seriesIndex:t})}let Q=x(null),Fn=x(null),In=x(!1),Ln=x(``);function Rn({shape:e,serie:t,S:n}){M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:{...t,shape:e},seriesIndex:n});let r=k.value===null?null:Z.value[k.value];Xt.value===`keyboard`&&r&&r.serie.id===t.id||(Q.value=null,In.value=!1)}function zn(e){if(!z.value||!e?.datapoints?.length)return;let t=e.datapoints[Math.floor(e.datapoints.length/2)];if(!t)return;let n=fe(t.x,t.y,z.value);n&&(Yt.value=n)}function Bn({shape:e,serieName:t,serie:r,relativeIndex:a,seriesIndex:o,S:te,triggerMode:ne=`pointer`}){M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:{...r,shape:e},seriesIndex:te}),Xt.value=ne,Fn.value={config:M.value,datapoint:r,serie:r,relativeIndex:a,seriesIndex:o,series:q.value,scales:Y.value},In.value=!0,Q.value=r.id;let s=``,c=F.value.customFormat;i(c)&&le(()=>c({serie:r,seriesIndex:r.seriesIndex,series:q.value,config:M.value,scales:Y.value}))?Ln.value=c({serie:r,seriesIndex:r.seriesIndex,series:q.value,config:M.value,scales:Y.value}):(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${F.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${t?t+` - `:``}${r.name}</div>`,Y.value.map(e=>e.name).forEach((e,t)=>{s+=`
2
2
  <div class="vue-ui-tooltip-item" style="text-align:left">
3
3
  <span>${e}: </span>
4
4
  <span>
@@ -6,4 +6,4 @@ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO
6
6
  </span>
7
7
  </div>
8
8
  `,I.value.comments.showInTooltip&&r.datapoints[t].comment&&(s+=`<div class="vue-data-ui-tooltip-comment" style="background:${ee(r.color,12.5)}; padding: 6px; margin-bottom: 6px; border-left: 1px solid ${r.color}">${r.datapoints[t].comment}</div>`)}),Ln.value=`<div>${s}</div>`),ne===`keyboard`&&Ye(()=>{zn(r)})}function Vn(){return q.value}let $=u(()=>{let e=[M.value.table.columnNames.series,M.value.table.columnNames.item].concat(Y.value.map(e=>e.name));return{body:X.value.flatMap((e,t)=>e.series.map(t=>[e.name,t.name].concat(t.values))),head:e,config:{th:{backgroundColor:M.value.table.th.backgroundColor,color:M.value.table.th.color,outline:M.value.table.th.outline},td:{backgroundColor:M.value.table.td.backgroundColor,color:M.value.table.td.color,outline:M.value.table.td.outline},breakpoint:M.value.table.responsiveBreakpoint},colNames:[M.value.table.columnNames.series,M.value.table.columnNames.item].concat(Y.value.map(e=>e.name))}}),Hn=u(()=>X.value.length===0?{head:[],body:[],config:{},columnNames:[]}:{head:$.value.head,body:$.value.body});function Un(e=null){let t=[[I.value.title.text],[I.value.title.subtitle.text],[``]],n=Hn.value.head,i=Hn.value.body,a=t.concat([n]).concat(i),o=r(a);e?e(o):ce({csvContent:o,title:I.value.title.text||`vue-ui-parallel-coordinate-plot`})}let Wn=nt;function Gn({serie:e,shape:t,S:n}){M.value.events.datapointClick&&M.value.events.datapointClick({datapoint:{...e,shape:t},seriesIndex:n}),Wn(`selectDatapoint`,e)}function Kn(){G.value.showTable=!G.value.showTable}function qn(){G.value.dataLabels.show=!G.value.dataLabels.show}function Jn(){G.value.showTooltip=!G.value.showTooltip}let Yn=x(!1);function Xn(){Yn.value=!Yn.value}let Zn=Ce(O,()=>I.value.title.text),Qn=x({start:0,end:1}),$n=u(()=>Y.value.map(e=>e.name));Fe({timeLabelsEls:Jt,timeLabels:$n,slicer:Qn,configRef:M,rotationPath:[`style`,`chart`,`yAxis`,`labels`,`axisNamesRotation`],autoRotatePath:[`style`,`chart`,`yAxis`,`labels`,`axisNamesAutoRotate`,`enable`],isAutoSize:!1,width:vn,height:yn,targetClass:`.vue-ui-parallel-coordinate-plot-x-label`,rotation:P.value.axisNamesAutoRotate.angle});let er=u(()=>De({config:M,style:I,mutableConfig:G,dialog:Pt,accordion:kt,isFullscreen:j,parent:O,maxWidth:800,isCursorPointer:R}));tt(()=>G.value.showTable,e=>Ee(e,M,Kt));function tr(){G.value.showTable=!1,qt.value&&qt.value.setTableIconState(!1)}let nr=u(()=>I.value.backgroundColor),rr=u(()=>I.value.legend),ir=u(()=>I.value.title),{isCallbackImaging:ar,isCallbackSvg:or,generateSvg:sr,onGenerateImage:cr}=Te({svg:z,title:ir,legend:rr,legendItems:An,backgroundColor:nr,getSvgCallback:()=>M.value.userOptions.callbacks.svg,generateImage:gn});async function lr(){Wn(`copyAlt`,{config:M.value,dataset:X.value}),M.value.userOptions.callbacks.altCopy?await Promise.resolve(M.value.userOptions.callbacks.altCopy({config:M.value,dataset:X.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function ur(e){let t=Z.value.length;return t?(e%t+t)%t:null}function dr(){if(k.value!==null){let e=Z.value[k.value];e&&Rn({shape:e.shape,serie:e.serie,S:e.S})}k.value=null,Xt.value=`pointer`,Q.value=null,In.value=!1}function fr(){k.value=null,Zt.value=!0}function pr(){dr(),Zt.value=!1}function mr(e){if(!z.value||Yn.value||document.activeElement!==z.value||!Z.value.length)return;let t=[`ArrowUp`,`ArrowLeft`].includes(e.key),n=[`ArrowDown`,`ArrowRight`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){dr();return}if(r){if(k.value===null)return;let e=Z.value[k.value];if(!e)return;Gn({serie:e.serie,shape:e.shape,S:e.S});return}let a=k.value;a=a===null?n?0:Z.value.length-1:ur(a+(n?1:-1));let o=Z.value[a];o&&(k.value=a,Bn({shape:o.shape,serieName:o.serieName,serie:o.serie,relativeIndex:o.relativeIndex,seriesIndex:o.seriesIndex,S:o.S,triggerMode:`keyboard`}))}let hr=u(()=>({head:$.value.head,body:$.value.body.map(e=>[e[0]??``,e[1]??``,...e.slice(2)]),caption:M.value.a11y.translations.tableCaption,notice:M.value.a11y.translations.tableAvailable}));return xe({getData:Vn,getImage:Zn,generateCsv:Un,generatePdf:hn,generateImage:gn,generateSvg:sr,hideSeries:kn,showSeries:On,toggleTable:Kn,toggleLabels:qn,toggleTooltip:Jn,toggleAnnotator:Xn,toggleFullscreen:Qt,copyAlt:lr}),tt(()=>[H.value,P.value,Jt.value,D.dataset,K.value,ln.value,M.value.style.fontFamily],Sn,{flush:`post`,deep:!0}),(e,t)=>(b(),p(`div`,{ref_key:`pcpChart`,ref:O,class:_(`vue-data-ui-component vue-ui-pcp ${j.value?`vue-data-ui-wrapper-fullscreen`:``} ${M.value.useCssAnimation?``:`vue-ui-dna`}`),style:y(`font-family:${M.value.style.fontFamily};width:100%; text-align:center;background:${I.value.backgroundColor};${M.value.responsive?`height:100%`:``}`),id:`pcp_${A.value}`,onMouseenter:t[2]||=()=>T(an)(!0),onMouseleave:t[3]||=()=>T(an)(!1)},[m(`div`,{id:`chart-instructions-${A.value}`,class:`sr-only`},[m(`p`,null,w(M.value.a11y.translations.keyboardNavigation),1)],8,it),hr.value.body.length?(b(),d(ze,{key:0,uid:A.value,head:hr.value.head,body:hr.value.body,caption:hr.value.caption,notice:hr.value.notice},null,8,[`uid`,`head`,`body`,`caption`,`notice`])):f(``,!0),N.value.buttons.annotator?(b(),d(T(jt),{key:1,svgRef:T(z),backgroundColor:I.value.backgroundColor,color:I.value.color,active:Yn.value,isCursorPointer:R.value,palette:N.value.annotatorPalette,onClose:Xn},Ge({_:2},[S(T(ke),t=>({name:t,fn:E(n=>[C(e.$slots,t,v(g(T(Oe)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),_n.value?(b(),p(`div`,{key:2,ref_key:`noTitle`,ref:Vt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),I.value.title.text?(b(),p(`div`,{key:3,ref_key:`chartTitle`,ref:Rt,style:`width:100%;background:transparent;padding-bottom:24px`},[(b(),d(we,{key:`title_${Ht.value}`,config:{title:{cy:`pcp-div-title`,...I.value.title},subtitle:{cy:`pcp-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):f(``,!0),m(`div`,{id:`legend-top-${A.value}`},null,8,at),N.value.show&&It.value&&(T(on)||T(rn))?(b(),d(T(Mt),{ref_key:`userOptionsRef`,ref:qt,key:`user_options_${Lt.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:T(pn),isImaging:T(mn),uid:A.value,hasTooltip:N.value.buttons.tooltip&&F.value.show,hasPdf:N.value.buttons.pdf,hasXls:N.value.buttons.csv,hasImg:N.value.buttons.img,hasSvg:N.value.buttons.svg,hasTable:N.value.buttons.table,hasLabel:N.value.buttons.labels,hasFullscreen:N.value.buttons.fullscreen,hasAltCopy:N.value.buttons.altCopy,isFullscreen:j.value,isTooltip:G.value.showTooltip,titles:{...N.value.buttonTitles},chartElement:O.value,position:N.value.position,hasAnnotator:N.value.buttons.annotator,isAnnotation:Yn.value,callbacks:N.value.callbacks,printScale:N.value.print.scale,tableDialog:M.value.table.useDialog,isCursorPointer:R.value,onToggleFullscreen:Qt,onGeneratePdf:T(hn),onGenerateCsv:Un,onGenerateImage:T(cr),onGenerateSvg:T(sr),onToggleTable:Kn,onToggleLabels:qn,onToggleTooltip:Jn,onToggleAnnotator:Xn,onCopyAlt:lr,style:y({visibility:T(on)?T(rn)?`visible`:`hidden`:`visible`})},Ge({_:2},[S(T(Ae)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:E(n=>[C(e.$slots,t,v(g(T(je)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):f(``,!0),m(`div`,ot,[(b(),p(`svg`,{ref_key:`svgRef`,ref:z,xmlns:T(de),"aria-describedby":`chart-instructions-${A.value}`,class:_({"vue-data-ui-fullscreen--on":j.value,"vue-data-ui-fulscreen--off":!j.value,"vue-data-ui-no-transition":!T(L)||T(U)}),viewBox:`0 0 ${W.value.chartWidth<=0?10:W.value.chartWidth} ${W.value.chartHeight<=0?10:W.value.chartHeight}`,style:y(`max-width:100%; overflow: visible; background:transparent;color:${I.value.color};visibility:${T(xn)?`visible`:`hidden`}`),tabindex:`0`,onFocus:fr,onBlur:pr,onKeydown:mr},[qe(T(Nt)),C(e.$slots,`svg-underlayer`,{svg:{...W.value,isPrintingImg:T(pn)||T(mn)||T(ar),isPrintingSvg:T(or)}},void 0,!0),e.$slots[`chart-background`]?(b(),p(`foreignObject`,{key:0,x:W.value.left,y:W.value.top,width:W.value.width,height:W.value.height,style:{pointerEvents:`none`}},[C(e.$slots,`chart-background`,{},void 0,!0)],8,ct)):f(``,!0),(b(!0),p(l,null,S(Y.value,(e,t)=>(b(),p(`g`,lt,[m(`line`,{x1:W.value.left+J.value*t+J.value/2,x2:W.value.left+J.value*t+J.value/2,y1:W.value.top,y2:W.value.bottom,stroke:I.value.yAxis.stroke,"stroke-width":I.value.yAxis.strokeWidth},null,8,ut),P.value.ticks.show?(b(),p(l,{key:0},[(b(!0),p(l,null,S(e.ticks,(t,n)=>(b(),p(`path`,{class:_({"vue-data-ui-transition":T(L)&&!T(U)}),key:`tick_${e.name}_${n}`,d:`M${t.x},${t.y} ${t.x-10},${t.y}`,stroke:I.value.yAxis.stroke,"stroke-width":I.value.yAxis.strokeWidth,style:y(`opacity:${Q.value&&!G.value.showTooltip?.2:1}`)},null,14,dt))),128)),T(en)?f(``,!0):(b(),p(`g`,ft,[(b(!0),p(l,null,S(e.ticks,(n,r)=>(b(),p(`text`,{key:`tl_${e.name}_${r}`,class:_({"vue-data-ui-transition":T(L)&&!T(U)}),transform:`translate(${n.x-12+P.value.ticks.offsetX}, ${n.y+P.value.ticks.offsetY+H.value.ticksFontSize/3})`,fill:P.value.ticks.color,"text-anchor":`end`,"font-size":H.value.ticksFontSize,"font-weight":P.value.ticks.bold?`bold`:`normal`,style:y(`opacity:${Q.value&&!G.value.showTooltip?.2:1}`)},w(Pn({value:n.value,index:t,datapoint:n})),15,pt))),128))]))],64)):f(``,!0)]))),256)),P.value.showAxisNames?(b(),p(`g`,{key:1,ref_key:`xAxisLabels`,ref:Jt},[(b(!0),p(l,null,S(Y.value,(e,t)=>(b(),p(l,null,[String(e.name).includes(`
9
- `)?(b(),p(`text`,{key:1,class:`vue-ui-parallel-coordinate-plot-x-label`,fill:P.value.axisNamesColor,"font-size":H.value.axisNameFontSize,"font-weight":P.value.axisNamesBold?`bold`:``,"text-anchor":P.value.axisNamesRotation===0?`middle`:P.value.axisNamesRotation<0?`start`:`end`,transform:`translate(${W.value.left+J.value*t+J.value/2}, ${Cn.value-H.value.axisNameFontSize}), rotate(${P.value.axisNamesRotation})`,innerHTML:T(o)({content:String(e.name),fontSize:H.value.axisNameFontSize,fill:P.value.axisNamesColor,x:0,y:0})},null,8,ht)):(b(),p(`text`,{key:0,class:`vue-ui-parallel-coordinate-plot-x-label`,fill:P.value.axisNamesColor,"font-size":H.value.axisNameFontSize,"font-weight":P.value.axisNamesBold?`bold`:``,"text-anchor":P.value.axisNamesRotation===0?`middle`:P.value.axisNamesRotation<0?`start`:`end`,transform:`translate(${W.value.left+J.value*t+J.value/2}, ${Cn.value-H.value.axisNameFontSize}), rotate(${P.value.axisNamesRotation})`},w(e.name),9,mt))],64))),256))],512)):f(``,!0),(b(!0),p(l,null,S(X.value,(t,n)=>(b(),p(`g`,null,[(b(!0),p(l,null,S(t.series,(r,i)=>(b(),p(`g`,null,[I.value.plots.show?(b(),p(`g`,gt,[(b(!0),p(l,null,S(r.datapoints,(e,a)=>(b(),d(Ie,{plot:{x:e.x,y:e.y},color:t.color,shape:t.shape,radius:t.shape===`triangle`?H.value.plotSize*1.2:H.value.plotSize,stroke:I.value.backgroundColor,strokeWidth:.5,onMouseenter:e=>Bn({shape:t.shape,serieName:t.name,serie:r,relativeIndex:i,seriesIndex:r.seriesIndex,S:n,triggerMode:`pointer`}),onMouseleave:e=>Rn({serie:r,shape:t.shape,S:n}),style:y(`opacity:${Q.value?Q.value===r.id?I.value.plots.opacity:.2:I.value.plots.opacity}`),onClick:()=>Gn({serie:r,shape:t.shape,S:n})},null,8,[`plot`,`color`,`shape`,`radius`,`stroke`,`onMouseenter`,`onMouseleave`,`style`,`onClick`]))),256)),G.value.showTooltip?f(``,!0):(b(),p(l,{key:0},[Q.value&&Q.value===r.id&&r.datapoints.length?(b(),p(`text`,{key:0,x:r.datapoints[0].x-H.value.ticksFontSize,y:r.datapoints[0].y+H.value.ticksFontSize/3,"text-anchor":`end`,"font-size":H.value.ticksFontSize,fill:t.color,"font-weight":`bold`},w(r.name),9,_t)):f(``,!0)],64)),I.value.comments.show?(b(!0),p(l,{key:1},S(r.datapoints,n=>(b(),p(`g`,null,[n.comment?(b(),p(`foreignObject`,{key:0,style:{overflow:`visible`},height:`12`,width:I.value.comments.width,x:n.x-I.value.comments.width/2+I.value.comments.offsetX,y:n.y+I.value.comments.offsetY+6},[m(`div`,yt,[C(e.$slots,`plot-comment`,{plot:{...n,color:t.color}},void 0,!0)])],8,vt)):f(``,!0)]))),256)):f(``,!0)])):f(``,!0),m(`path`,{d:`M${I.value.lines.smooth?r.smoothPath:r.straightPath}`,stroke:t.color,"stroke-width":I.value.lines.strokeWidth,fill:`none`,class:_({"vue-ui-pcp-animated vue-data-ui-line-animated":M.value.useCssAnimation,"vue-data-ui-transition":T(L)&&!T(U)}),onMouseenter:e=>Bn({shape:t.shape,serieName:t.name,serie:r,relativeIndex:i,seriesIndex:r.seriesIndex,S:n,triggerMode:`pointer`}),onMouseleave:e=>Rn({serie:r,shape:t.shape,S:n}),onClick:()=>Gn({serie:r,shape:t.shape,S:n}),style:y(`opacity:${Q.value?Q.value===r.id?I.value.lines.opacity:.2:I.value.lines.opacity}; stroke-dasharray:${r.pathLength}; stroke-dashoffset: ${M.value.useCssAnimation?r.pathLength:0}`)},null,46,bt),G.value.showTooltip?(b(),p(`path`,{key:1,d:`M${I.value.lines.smooth?r.smoothPath:r.straightPath}`,stroke:`transparent`,"stroke-width":12,fill:`none`,class:_({"vue-ui-pcp-animated vue-data-ui-line-animated":M.value.useCssAnimation,"vue-data-ui-transition":T(L)&&!T(U)}),onMouseenter:e=>Bn({shape:t.shape,serieName:t.name,serie:r,relativeIndex:i,seriesIndex:r.seriesIndex,S:n,triggerMode:`pointer`}),onMouseleave:e=>Rn({serie:r,shape:t.shape,S:n}),onClick:()=>Gn({serie:r,shape:t.shape,S:n}),style:{opacity:`0`}},null,42,xt)):f(``,!0)]))),256))]))),256)),(b(!0),p(l,null,S(X.value,(e,t)=>(b(),p(`g`,null,[(b(!0),p(l,null,S(e.series,(n,r)=>(b(),p(`g`,null,[!T(en)&&(G.value.dataLabels.show||Q.value&&Q.value===n.id)?(b(!0),p(l,{key:0},S(n.datapoints,(i,a)=>(b(),p(`text`,{key:`pl_${n.id}_${a}`,transform:`translate(${i.x+12+P.value.datapoints.offsetX}, ${i.y+P.value.datapoints.offsetY+H.value.datapointFontSize/3})`,fill:P.value.datapoints.useSerieColor?e.color:P.value.datapoints.color,"text-anchor":`start`,"font-weight":P.value.datapoints.bold?`bold`:`normal`,class:_({"vue-ui-pcp-plot-label":!0,"vue-data-ui-transition":T(L)&&!T(U)}),"font-size":H.value.datapointFontSize,stroke:I.value.backgroundColor,"stroke-width":3,"stroke-linecap":`round`,"stroke-linejoin":`round`,"paint-order":`stroke fill`,onMouseenter:i=>Bn({shape:e.shape,serieName:e.name,serie:n,relativeIndex:r,seriesIndex:n.seriesIndex,S:t,triggerMode:`pointer`}),onMouseleave:r=>Rn({serie:n,shape:e.shape,S:t}),onClick:()=>Gn({serie:n,shape:e.shape,S:t}),style:y(`opacity:${Q.value?Q.value===n.id?1:.2:1}`)},w(Pn({value:i.value,index:a,datapoint:i})),47,St))),128)):f(``,!0)]))),256))]))),256)),C(e.$slots,`svg`,{svg:{...W.value,isPrintingImg:T(pn)||T(mn)||T(ar),isPrintingSvg:T(or)}},void 0,!0)],46,st)),e.$slots.hint?(b(),p(`div`,Ct,[C(e.$slots,`hint`,v(g({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Zt.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(b(),p(`div`,wt,[C(e.$slots,`watermark`,v(g({isPrinting:T(pn)||T(mn)||T(ar)||T(or)})),void 0,!0)])):f(``,!0),m(`div`,{id:`legend-bottom-${A.value}`},null,8,Tt),Gt.value&&(I.value.legend.show||e.$slots.legend)?(b(),d(We,{key:6,to:I.value.legend.position===`top`?`#legend-top-${A.value}`:`#legend-bottom-${A.value}`},[m(`div`,{ref_key:`chartLegend`,ref:zt},[C(e.$slots,`legend`,{legend:An.value},()=>[I.value.legend.show&&It.value?(b(),d(He,{key:`legend_${Ut.value}`,legendSet:An.value,config:jn.value,isCursorPointer:R.value,onClickMarker:t[0]||=({legend:e})=>{En(e.id)}},{item:E(({legend:e,index:t})=>[m(`div`,{onClick:t=>e.segregate(),style:y(`opacity:${K.value.includes(e.id)?.5:1}`)},w(e.name),13,Et)]),legendToggle:E(()=>[An.value.length>2&&I.value.legend.selectAllToggle.show&&!T(en)?(b(),d(Re,{key:0,backgroundColor:I.value.legend.selectAllToggle.backgroundColor,color:I.value.legend.selectAllToggle.color,fontSize:I.value.legend.fontSize,checked:K.value.length>0,isCursorPointer:R.value,onToggle:Tn},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0)]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),e.$slots.source?(b(),p(`div`,{key:7,ref_key:`source`,ref:Bt,dir:`auto`},[C(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),qe(T(Dt),{teleportTo:F.value.teleportTo,show:G.value.showTooltip&&In.value,backgroundColor:F.value.backgroundColor,color:F.value.color,fontSize:F.value.fontSize,borderRadius:F.value.borderRadius,borderColor:F.value.borderColor,borderWidth:F.value.borderWidth,backgroundOpacity:F.value.backgroundOpacity,position:F.value.position,offsetX:F.value.offsetX,offsetY:F.value.offsetY,parent:O.value,content:Ln.value,isFullscreen:j.value,isCustom:T(i)(F.value.customFormat),smooth:F.value.smooth,backdropFilter:F.value.backdropFilter,smoothForce:F.value.smoothForce,smoothSnapThreshold:F.value.smoothSnapThreshold,isA11yMode:Xt.value===`keyboard`,a11yPosition:Yt.value},{"tooltip-before":E(()=>[C(e.$slots,`tooltip-before`,v(g({...Fn.value})),void 0,!0)]),tooltip:E(()=>[C(e.$slots,`tooltip`,v(g({...Fn.value})),void 0,!0)]),"tooltip-after":E(()=>[C(e.$slots,`tooltip-after`,v(g({...Fn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),It.value&&N.value.buttons.table?(b(),d(Qe(er.value.component),Je({key:8},er.value.props,{ref_key:`tableUnit`,ref:Kt,onClose:tr}),Ge({content:E(()=>[(b(),d(T(At),{key:`table_${Wt.value}`,colNames:$.value.colNames,head:$.value.head,body:$.value.body,config:$.value.config,title:M.value.table.useDialog?``:er.value.title,withCloseButton:!M.value.table.useDialog,isCursorPointer:R.value,onClose:tr},{th:E(({th:e})=>[m(`div`,null,w(e),1)]),td:E(({td:e})=>[Ke(w(e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[M.value.table.useDialog?{name:`title`,fn:E(()=>[Ke(w(er.value.title),1)]),key:`0`}:void 0,M.value.table.useDialog?{name:`actions`,fn:E(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>Un(N.value.callbacks.csv),style:y({cursor:R.value?`pointer`:`default`})},[qe(T(Ot),{name:`fileCsv`,stroke:er.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),C(e.$slots,`skeleton`,{},()=>[T(en)?(b(),d(ve,{key:0})):f(``,!0)],!0)],46,rt))}},[[`__scopeId`,`data-v-32e1188e`]]);export{nt as n,Dt as t};
9
+ `)?(b(),p(`text`,{key:1,class:`vue-ui-parallel-coordinate-plot-x-label`,fill:P.value.axisNamesColor,"font-size":H.value.axisNameFontSize,"font-weight":P.value.axisNamesBold?`bold`:``,"text-anchor":P.value.axisNamesRotation===0?`middle`:P.value.axisNamesRotation<0?`start`:`end`,transform:`translate(${W.value.left+J.value*t+J.value/2}, ${Cn.value-H.value.axisNameFontSize}), rotate(${P.value.axisNamesRotation})`,innerHTML:T(o)({content:String(e.name),fontSize:H.value.axisNameFontSize,fill:P.value.axisNamesColor,x:0,y:0})},null,8,ht)):(b(),p(`text`,{key:0,class:`vue-ui-parallel-coordinate-plot-x-label`,fill:P.value.axisNamesColor,"font-size":H.value.axisNameFontSize,"font-weight":P.value.axisNamesBold?`bold`:``,"text-anchor":P.value.axisNamesRotation===0?`middle`:P.value.axisNamesRotation<0?`start`:`end`,transform:`translate(${W.value.left+J.value*t+J.value/2}, ${Cn.value-H.value.axisNameFontSize}), rotate(${P.value.axisNamesRotation})`},w(e.name),9,mt))],64))),256))],512)):f(``,!0),(b(!0),p(l,null,S(X.value,(t,n)=>(b(),p(`g`,null,[(b(!0),p(l,null,S(t.series,(r,i)=>(b(),p(`g`,null,[I.value.plots.show?(b(),p(`g`,gt,[(b(!0),p(l,null,S(r.datapoints,(e,a)=>(b(),d(Ie,{plot:{x:e.x,y:e.y},color:t.color,shape:t.shape,radius:t.shape===`triangle`?H.value.plotSize*1.2:H.value.plotSize,stroke:I.value.backgroundColor,strokeWidth:.5,onMouseenter:e=>Bn({shape:t.shape,serieName:t.name,serie:r,relativeIndex:i,seriesIndex:r.seriesIndex,S:n,triggerMode:`pointer`}),onMouseleave:e=>Rn({serie:r,shape:t.shape,S:n}),style:y(`opacity:${Q.value?Q.value===r.id?I.value.plots.opacity:.2:I.value.plots.opacity}`),onClick:()=>Gn({serie:r,shape:t.shape,S:n})},null,8,[`plot`,`color`,`shape`,`radius`,`stroke`,`onMouseenter`,`onMouseleave`,`style`,`onClick`]))),256)),G.value.showTooltip?f(``,!0):(b(),p(l,{key:0},[Q.value&&Q.value===r.id&&r.datapoints.length?(b(),p(`text`,{key:0,x:r.datapoints[0].x-H.value.ticksFontSize,y:r.datapoints[0].y+H.value.ticksFontSize/3,"text-anchor":`end`,"font-size":H.value.ticksFontSize,fill:t.color,"font-weight":`bold`},w(r.name),9,_t)):f(``,!0)],64)),I.value.comments.show?(b(!0),p(l,{key:1},S(r.datapoints,n=>(b(),p(`g`,null,[n.comment?(b(),p(`foreignObject`,{key:0,style:{overflow:`visible`},height:`12`,width:I.value.comments.width,x:n.x-I.value.comments.width/2+I.value.comments.offsetX,y:n.y+I.value.comments.offsetY+6},[m(`div`,yt,[C(e.$slots,`plot-comment`,{plot:{...n,color:t.color}},void 0,!0)])],8,vt)):f(``,!0)]))),256)):f(``,!0)])):f(``,!0),m(`path`,{d:`M${I.value.lines.smooth?r.smoothPath:r.straightPath}`,stroke:t.color,"stroke-width":I.value.lines.strokeWidth,fill:`none`,class:_({"vue-ui-pcp-animated vue-data-ui-line-animated":M.value.useCssAnimation,"vue-data-ui-transition":T(L)&&!T(U)}),onMouseenter:e=>Bn({shape:t.shape,serieName:t.name,serie:r,relativeIndex:i,seriesIndex:r.seriesIndex,S:n,triggerMode:`pointer`}),onMouseleave:e=>Rn({serie:r,shape:t.shape,S:n}),onClick:()=>Gn({serie:r,shape:t.shape,S:n}),style:y(`opacity:${Q.value?Q.value===r.id?I.value.lines.opacity:.2:I.value.lines.opacity}; stroke-dasharray:${r.pathLength}; stroke-dashoffset: ${M.value.useCssAnimation?r.pathLength:0}`)},null,46,bt),G.value.showTooltip?(b(),p(`path`,{key:1,d:`M${I.value.lines.smooth?r.smoothPath:r.straightPath}`,stroke:`transparent`,"stroke-width":12,fill:`none`,class:_({"vue-ui-pcp-animated vue-data-ui-line-animated":M.value.useCssAnimation,"vue-data-ui-transition":T(L)&&!T(U)}),onMouseenter:e=>Bn({shape:t.shape,serieName:t.name,serie:r,relativeIndex:i,seriesIndex:r.seriesIndex,S:n,triggerMode:`pointer`}),onMouseleave:e=>Rn({serie:r,shape:t.shape,S:n}),onClick:()=>Gn({serie:r,shape:t.shape,S:n}),style:{opacity:`0`}},null,42,xt)):f(``,!0)]))),256))]))),256)),(b(!0),p(l,null,S(X.value,(e,t)=>(b(),p(`g`,null,[(b(!0),p(l,null,S(e.series,(n,r)=>(b(),p(`g`,null,[!T(en)&&(G.value.dataLabels.show||Q.value&&Q.value===n.id)?(b(!0),p(l,{key:0},S(n.datapoints,(i,a)=>(b(),p(`text`,{key:`pl_${n.id}_${a}`,transform:`translate(${i.x+12+P.value.datapoints.offsetX}, ${i.y+P.value.datapoints.offsetY+H.value.datapointFontSize/3})`,fill:P.value.datapoints.useSerieColor?e.color:P.value.datapoints.color,"text-anchor":`start`,"font-weight":P.value.datapoints.bold?`bold`:`normal`,class:_({"vue-ui-pcp-plot-label":!0,"vue-data-ui-transition":T(L)&&!T(U)}),"font-size":H.value.datapointFontSize,stroke:I.value.backgroundColor,"stroke-width":3,"stroke-linecap":`round`,"stroke-linejoin":`round`,"paint-order":`stroke fill`,onMouseenter:i=>Bn({shape:e.shape,serieName:e.name,serie:n,relativeIndex:r,seriesIndex:n.seriesIndex,S:t,triggerMode:`pointer`}),onMouseleave:r=>Rn({serie:n,shape:e.shape,S:t}),onClick:()=>Gn({serie:n,shape:e.shape,S:t}),style:y(`opacity:${Q.value?Q.value===n.id?1:.2:1}`)},w(Pn({value:i.value,index:a,datapoint:i})),47,St))),128)):f(``,!0)]))),256))]))),256)),C(e.$slots,`svg`,{svg:{...W.value,isPrintingImg:T(pn)||T(mn)||T(ar),isPrintingSvg:T(or)}},void 0,!0)],46,st)),e.$slots.hint?(b(),p(`div`,Ct,[C(e.$slots,`hint`,v(g({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Zt.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(b(),p(`div`,wt,[C(e.$slots,`watermark`,v(g({isPrinting:T(pn)||T(mn)||T(ar)||T(or)})),void 0,!0)])):f(``,!0),m(`div`,{id:`legend-bottom-${A.value}`},null,8,Tt),Gt.value&&(I.value.legend.show||e.$slots.legend)?(b(),d(We,{key:6,to:I.value.legend.position===`top`?`#legend-top-${A.value}`:`#legend-bottom-${A.value}`},[m(`div`,{ref_key:`chartLegend`,ref:zt},[C(e.$slots,`legend`,{legend:An.value},()=>[I.value.legend.show&&It.value?(b(),d(He,{key:`legend_${Ut.value}`,legendSet:An.value,config:jn.value,isCursorPointer:R.value,onClickMarker:t[0]||=({legend:e})=>{En(e.id)}},{item:E(({legend:e,index:t})=>[m(`div`,{onClick:t=>e.segregate(),style:y(`opacity:${K.value.includes(e.id)?.5:1}`)},w(e.name),13,Et)]),legendToggle:E(()=>[An.value.length>2&&I.value.legend.selectAllToggle.show&&!T(en)?(b(),d(Re,{key:0,backgroundColor:I.value.legend.selectAllToggle.backgroundColor,color:I.value.legend.selectAllToggle.color,fontSize:I.value.legend.fontSize,checked:K.value.length>0,isCursorPointer:R.value,onToggle:Tn},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0)]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),e.$slots.source?(b(),p(`div`,{key:7,ref_key:`source`,ref:Bt,dir:`auto`},[C(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),qe(T(Dt),{teleportTo:F.value.teleportTo,show:G.value.showTooltip&&In.value,backgroundColor:F.value.backgroundColor,color:F.value.color,fontSize:F.value.fontSize,borderRadius:F.value.borderRadius,borderColor:F.value.borderColor,borderWidth:F.value.borderWidth,backgroundOpacity:F.value.backgroundOpacity,position:F.value.position,offsetX:F.value.offsetX,offsetY:F.value.offsetY,parent:O.value,content:Ln.value,isFullscreen:j.value,isCustom:T(i)(F.value.customFormat),smooth:F.value.smooth,backdropFilter:F.value.backdropFilter,smoothForce:F.value.smoothForce,smoothSnapThreshold:F.value.smoothSnapThreshold,isA11yMode:Xt.value===`keyboard`,a11yPosition:Yt.value},{"tooltip-before":E(()=>[C(e.$slots,`tooltip-before`,v(g({...Fn.value})),void 0,!0)]),tooltip:E(()=>[C(e.$slots,`tooltip`,v(g({...Fn.value})),void 0,!0)]),"tooltip-after":E(()=>[C(e.$slots,`tooltip-after`,v(g({...Fn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),It.value&&N.value.buttons.table?(b(),d(Qe(er.value.component),Je({key:8},er.value.props,{ref_key:`tableUnit`,ref:Kt,onClose:tr}),Ge({content:E(()=>[(b(),d(T(At),{key:`table_${Wt.value}`,colNames:$.value.colNames,head:$.value.head,body:$.value.body,config:$.value.config,title:M.value.table.useDialog?``:er.value.title,withCloseButton:!M.value.table.useDialog,isCursorPointer:R.value,onClose:tr},{th:E(({th:e})=>[m(`div`,null,w(e),1)]),td:E(({td:e})=>[Ke(w(e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[M.value.table.useDialog?{name:`title`,fn:E(()=>[Ke(w(er.value.title),1)]),key:`0`}:void 0,M.value.table.useDialog?{name:`actions`,fn:E(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>Un(N.value.callbacks.csv),style:y({cursor:R.value?`pointer`:`default`})},[qe(T(Ot),{name:`fileCsv`,stroke:er.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),C(e.$slots,`skeleton`,{},()=>[T(en)?(b(),d(ve,{key:0})):f(``,!0)],!0)],46,rt))}},[[`__scopeId`,`data-v-181b1f05`]]);export{nt as n,Dt as t};