vue-data-ui 3.27.1 → 3.28.1
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.
- package/README.md +97 -63
- package/dist/{Arrow-C2W0uGrq.js → Arrow-CITPKnWF.js} +1 -1
- package/dist/{BaseDraggableDialog-D_tuHEjO.js → BaseDraggableDialog-DHgIPVmz.js} +1 -1
- package/dist/BaseIcon-Cm-IJ179.js +1 -0
- package/dist/{BaseLegendToggle-Bq5FjyuI.js → BaseLegendToggle-Q3TiW9u1.js} +1 -1
- package/dist/BaseZoomControls-ByS_7fmI.js +1 -0
- package/dist/{ColorPicker-MLwiwxl5.js → ColorPicker-Dmus34hN.js} +1 -1
- package/dist/DataTable-0Vv-aGHD.js +1 -0
- package/dist/HillActions-qz6J_uK7.js +1 -0
- package/dist/{Legend-D8YoT1RJ.js → Legend-DM0ClX3D.js} +1 -1
- package/dist/{NonSvgPenAndPaper-CqtJpZKh.js → NonSvgPenAndPaper-Do6RcwEr.js} +1 -1
- package/dist/{PackageVersion-CdkxOy58.js → PackageVersion-C4ZM3Vf7.js} +1 -1
- package/dist/PenAndPaper-BGEp-TUm.js +1 -0
- package/dist/{Shape-Bp9YNtPc.js → Shape-CRe8woTu.js} +1 -1
- package/dist/SlicerPreview-CFFUOlQr.js +1 -0
- package/dist/{SparkTooltip-C5JMcBXT.js → SparkTooltip-Ch06CV71.js} +1 -1
- package/dist/{Title-BGYFqulv.js → Title-BliHuXfT.js} +1 -1
- package/dist/Tooltip-C1q0Qoh7.js +1 -0
- package/dist/UserOptions-uWHV_zPB.js +1 -0
- package/dist/{useResponsive-D2CPcpda.js → canvas-lib-22VpOI4_.js} +1 -1
- package/dist/{chartImage-CIvU_04o.js → chartImage-DPGnEuYM.js} +1 -1
- package/dist/components/arrow.js +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-accordion.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +1 -1
- package/dist/components/vue-ui-annotator.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-graph.js +1 -0
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-hill.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-icon.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-label.js +1 -1
- package/dist/components/vue-ui-mini-loader.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-pattern-seed.js +1 -1
- package/dist/components/vue-ui-pattern.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-rating.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-smiley.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-heatmap.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy-canvas.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/{dom-to-png-D8t3Bm7s.js → dom-to-png-D56-Zgv4.js} +1 -1
- package/dist/{exposedLib-DHtyEc_G.js → exposedLib-BRtClmZy.js} +1 -1
- package/dist/{img-DiT4ivZ5.js → img-D4RQwASc.js} +1 -1
- package/dist/{labelUtils-CG3uVXoZ.js → labelUtils-CdtU-yB_.js} +1 -1
- package/dist/{lib-CV_IANZ6.js → lib-rPeBMZrn.js} +4 -4
- package/dist/package-DGRUegc-.js +1 -0
- package/dist/{pdf-BQSB1V3H.js → pdf-DAicVFxx.js} +1 -1
- package/dist/{render-common-BdZ5aRyn.js → render-common-CJz0wn0I.js} +1 -1
- package/dist/{resolveChartConfig-DZg-korK.js → resolveChartConfig-CIhClE5R.js} +1 -1
- package/dist/ssr/vue-ui-donut.js +1 -1
- package/dist/ssr/vue-ui-xy.js +1 -1
- package/dist/ssr.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/vue-data-ui.d.ts +449 -0
- package/dist/types/vue-ui-graph.d.ts +21 -0
- package/dist/useChartExport-BZts4KFb.js +1 -0
- package/dist/useConfig-6jO1fkp5.js +1 -0
- package/dist/{useNestedProp-CB186vF2.js → useNestedProp-DnGoh-XS.js} +1 -1
- package/dist/useObjectBindings-DiMX4HGv.js +1 -0
- package/dist/{usePrinter-hLW3cv4N.js → usePrinter-sVoTzet1.js} +1 -1
- package/dist/useResponsive-CENUxfEL.js +1 -0
- package/dist/useSvgLabelLayout-D1I8sQUi.js +1 -0
- package/dist/useTimeLabelCollider-BTybMUFi.js +1 -0
- package/dist/useTransitions-ChGGrtrv.js +1 -0
- package/dist/utils.js +1 -1
- package/dist/vue-data-ui-CxiWUtNw.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/vue-ui-3d-bar-CW8ahywt.js +19 -0
- package/dist/vue-ui-accordion-S3nRtTU-.js +1 -0
- package/dist/vue-ui-age-pyramid-CxMwKICA.js +1 -0
- package/dist/vue-ui-annotator-CdCDYzdK.js +331 -0
- package/dist/vue-ui-bullet-ClnewIWQ.js +34 -0
- package/dist/vue-ui-bump-C6FuNDUg.js +8 -0
- package/dist/vue-ui-candlestick-CyewIjJk.js +22 -0
- package/dist/vue-ui-carousel-table-D0dD4kai.js +1 -0
- package/dist/vue-ui-chestnut-nS1vjCqH.js +1 -0
- package/dist/vue-ui-chord-B963Q_26.js +21 -0
- package/dist/vue-ui-circle-pack-DEY9X3jA.js +13 -0
- package/dist/vue-ui-cursor-CNv12HQG.js +1 -0
- package/dist/vue-ui-dag-s3-TMmid.js +9 -0
- package/dist/vue-ui-dashboard-B5zrGAvS.js +1 -0
- package/dist/{vue-ui-digits-CXKKmfGj.js → vue-ui-digits-DXQwmTUx.js} +2 -2
- package/dist/vue-ui-donut-CDryub1L.js +47 -0
- package/dist/{vue-ui-donut-CKkBtyPK.js → vue-ui-donut-DHfOfLBF.js} +2 -2
- package/dist/vue-ui-donut-evolution-C5pHSrza.js +2 -0
- package/dist/vue-ui-dumbbell-CQbGR7yM.js +9 -0
- package/dist/vue-ui-flow-B16Mj6MW.js +3 -0
- package/dist/vue-ui-funnel-Dh-xi_Qi.js +1 -0
- package/dist/vue-ui-galaxy-U_ZIP5vm.js +1 -0
- package/dist/vue-ui-gauge-Dr4zsf6D.js +1 -0
- package/dist/vue-ui-geo-DFebja0s.js +1 -0
- package/dist/vue-ui-gizmo-CssVcz-O.js +1 -0
- package/dist/vue-ui-graph-BB_97Qz7.js +7 -0
- package/dist/vue-ui-heatmap-DEBbVnrg.js +1 -0
- package/dist/vue-ui-hill-C1sHz3TI.js +1 -0
- package/dist/vue-ui-history-plot-CsBTJXR3.js +2 -0
- package/dist/vue-ui-horizontal-bar-D0kfcpEW.js +4 -0
- package/dist/vue-ui-kpi-CltKSYUI.js +1 -0
- package/dist/vue-ui-label-B_1kM28r.js +7 -0
- package/dist/vue-ui-mini-loader-7gqQI5jy.js +1 -0
- package/dist/vue-ui-molecule-DtoyWWTf.js +1 -0
- package/dist/vue-ui-mood-radar-ClOxfeH8.js +1 -0
- package/dist/vue-ui-nested-donuts-CULAXTg1.js +19 -0
- package/dist/vue-ui-onion-D7zu861i.js +5 -0
- package/dist/vue-ui-parallel-coordinate-plot-Cjbc-WUG.js +9 -0
- package/dist/vue-ui-quadrant-DWAb_t6r.js +2 -0
- package/dist/vue-ui-quick-chart-oDZwgVo8.js +17 -0
- package/dist/vue-ui-radar-BWG_N0xO.js +1 -0
- package/dist/vue-ui-rating-CV2b0tjA.js +1 -0
- package/dist/vue-ui-relation-circle-BCRiS2n6.js +1 -0
- package/dist/vue-ui-ridgeline-VYcGUP_p.js +2 -0
- package/dist/vue-ui-rings-Dl0AjrRj.js +1 -0
- package/dist/vue-ui-scatter-DTa48HvG.js +9 -0
- package/dist/{vue-ui-skeleton-DI7pcimU.js → vue-ui-skeleton-C5mGG8hR.js} +3 -3
- package/dist/{vue-ui-smiley-D70sJZWl.js → vue-ui-smiley-VTdQetY0.js} +1 -1
- package/dist/vue-ui-spark-trend--frxeJ8f.js +1 -0
- package/dist/vue-ui-sparkbar-BS5v3HMo.js +1 -0
- package/dist/vue-ui-sparkgauge-B1TGfXvR.js +1 -0
- package/dist/vue-ui-sparkhistogram-Cs97AL6h.js +1 -0
- package/dist/vue-ui-sparkline-Bp9J6x7z.js +1 -0
- package/dist/vue-ui-sparkstackbar-BVuuRD10.js +1 -0
- package/dist/vue-ui-stackbar-CRuXn3XI.js +29 -0
- package/dist/vue-ui-stackline-Besmr9vq.js +39 -0
- package/dist/vue-ui-strip-plot-D-aRJkR7.js +2 -0
- package/dist/vue-ui-table-D_UdQwV3.js +14 -0
- package/dist/vue-ui-table-heatmap-BtziURiu.js +1 -0
- package/dist/vue-ui-table-sparkline-BdNo8fW_.js +1 -0
- package/dist/vue-ui-thermometer-TFg1SGY7.js +1 -0
- package/dist/vue-ui-timer-BdPksC26.js +64 -0
- package/dist/vue-ui-tiremarks-HWuO-eyj.js +1 -0
- package/dist/vue-ui-treemap-IegiAqaX.js +1 -0
- package/dist/vue-ui-waffle-BEyGfPks.js +1 -0
- package/dist/vue-ui-wheel-k8GNPGET.js +1 -0
- package/dist/vue-ui-word-cloud-D9_15Ve7.js +4 -0
- package/dist/vue-ui-world-rCp5Vb7u.js +19 -0
- package/dist/vue-ui-xy-42AXepcQ.js +31 -0
- package/dist/vue-ui-xy-CFgFg11v.js +24 -0
- package/dist/vue-ui-xy-canvas-CeC3gcrW.js +9 -0
- package/dist/vue_ui_graph-B1ACwQj7.js +1 -0
- package/package.json +3 -3
- package/dist/BaseIcon-DdIyewwY.js +0 -1
- package/dist/BaseZoomControls-DoYifY2y.js +0 -1
- package/dist/DataTable-WNecJMcY.js +0 -1
- package/dist/HillActions-CHg1AQ3p.js +0 -1
- package/dist/PenAndPaper-IMw576MC.js +0 -1
- package/dist/SlicerPreview-CNUciSbY.js +0 -1
- package/dist/Tooltip-Cus2-XNQ.js +0 -1
- package/dist/UserOptions-DTxMeZv3.js +0 -1
- package/dist/package-DE5cU1Rg.js +0 -1
- package/dist/useChartExport-DtPNpc9M.js +0 -1
- package/dist/useConfig-CKdzPrcf.js +0 -1
- package/dist/useObjectBindings-Dse7YyAf.js +0 -1
- package/dist/useTimeLabelCollider-XQf_S7-z.js +0 -1
- package/dist/useTransitions-DfSHzsdz.js +0 -1
- package/dist/vue-data-ui-DyYgLIZN.js +0 -1
- package/dist/vue-ui-3d-bar-BZAoyWkc.js +0 -19
- package/dist/vue-ui-accordion-BNvevckx.js +0 -1
- package/dist/vue-ui-age-pyramid-DkA6vpU3.js +0 -1
- package/dist/vue-ui-annotator-DuQME4Hh.js +0 -331
- package/dist/vue-ui-bullet-BVs8JX8S.js +0 -34
- package/dist/vue-ui-bump-DYdm3EvF.js +0 -10
- package/dist/vue-ui-candlestick-DZgxl4mW.js +0 -22
- package/dist/vue-ui-carousel-table-BB7DsTUt.js +0 -1
- package/dist/vue-ui-chestnut-Bo1h5rBt.js +0 -1
- package/dist/vue-ui-chord-B6_veyvO.js +0 -21
- package/dist/vue-ui-circle-pack-Bm7e2YNh.js +0 -13
- package/dist/vue-ui-cursor-TidZDuSh.js +0 -1
- package/dist/vue-ui-dag-BiN_AnLo.js +0 -9
- package/dist/vue-ui-dashboard-zepAVN_W.js +0 -1
- package/dist/vue-ui-donut-DLDUpjDU.js +0 -47
- package/dist/vue-ui-donut-evolution-BxMTdE5G.js +0 -2
- package/dist/vue-ui-dumbbell-C8rNwdz0.js +0 -9
- package/dist/vue-ui-flow-Dru76A2O.js +0 -3
- package/dist/vue-ui-funnel-D_u1h5S9.js +0 -1
- package/dist/vue-ui-galaxy-sBEH18Xj.js +0 -1
- package/dist/vue-ui-gauge-Do3RN8ne.js +0 -1
- package/dist/vue-ui-geo-DDbtx_iJ.js +0 -1
- package/dist/vue-ui-gizmo-eic6xLjB.js +0 -1
- package/dist/vue-ui-heatmap-DlmJRsM8.js +0 -1
- package/dist/vue-ui-hill-C5oiuIXh.js +0 -1
- package/dist/vue-ui-history-plot-BJjnkWcT.js +0 -2
- package/dist/vue-ui-horizontal-bar-BRDBJEl1.js +0 -4
- package/dist/vue-ui-kpi-C-eed3jO.js +0 -1
- package/dist/vue-ui-label-B4pkXBxc.js +0 -7
- package/dist/vue-ui-mini-loader-CElmv_iF.js +0 -1
- package/dist/vue-ui-molecule-BeyQWZU9.js +0 -1
- package/dist/vue-ui-mood-radar-Bh0kHfiZ.js +0 -1
- package/dist/vue-ui-nested-donuts-FlnJfDaF.js +0 -19
- package/dist/vue-ui-onion-BjhSpjtW.js +0 -5
- package/dist/vue-ui-parallel-coordinate-plot-CHV6XDti.js +0 -9
- package/dist/vue-ui-quadrant-BaKSTJDv.js +0 -2
- package/dist/vue-ui-quick-chart-Nc2mVlle.js +0 -17
- package/dist/vue-ui-radar-BzUfkLlC.js +0 -1
- package/dist/vue-ui-rating-BwWXvbAg.js +0 -1
- package/dist/vue-ui-relation-circle-nAZEg-BL.js +0 -1
- package/dist/vue-ui-ridgeline-DxLZg1E2.js +0 -2
- package/dist/vue-ui-rings-BOti0NGb.js +0 -1
- package/dist/vue-ui-scatter-CCNMggyo.js +0 -9
- package/dist/vue-ui-spark-trend-BVtfEalS.js +0 -1
- package/dist/vue-ui-sparkbar-CdsLI7Ke.js +0 -1
- package/dist/vue-ui-sparkgauge-wmj5Wnnp.js +0 -1
- package/dist/vue-ui-sparkhistogram-D8S_P_P4.js +0 -1
- package/dist/vue-ui-sparkline-BjsJnS_9.js +0 -1
- package/dist/vue-ui-sparkstackbar-ZN8LXzoV.js +0 -1
- package/dist/vue-ui-stackbar-Dx_EN3pT.js +0 -29
- package/dist/vue-ui-stackline-DW-oxJvA.js +0 -39
- package/dist/vue-ui-strip-plot-D7kjJ3Qh.js +0 -2
- package/dist/vue-ui-table-CaFVLHxE.js +0 -14
- package/dist/vue-ui-table-heatmap-Ctf7Rhqo.js +0 -1
- package/dist/vue-ui-table-sparkline-C0I0cXBS.js +0 -1
- package/dist/vue-ui-thermometer-B6og15Al.js +0 -1
- package/dist/vue-ui-timer-DgXvO2Q7.js +0 -64
- package/dist/vue-ui-tiremarks-Dh6fZ454.js +0 -1
- package/dist/vue-ui-treemap-7JuvN6P_.js +0 -1
- package/dist/vue-ui-waffle-BqvGzfse.js +0 -1
- package/dist/vue-ui-wheel-SdwJqKA7.js +0 -1
- package/dist/vue-ui-word-cloud-1WVV_k12.js +0 -4
- package/dist/vue-ui-world-DjMy_utm.js +0 -19
- package/dist/vue-ui-xy-DaozHMfg.js +0 -31
- package/dist/vue-ui-xy-canvas-CegvS9RR.js +0 -9
- package/dist/vue-ui-xy-rGHSI1am.js +0 -24
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,B as r,D as i,Dt as a,Ft as o,Ht as s,J as c,Jt as l,M as u,Ot as d,P as f,S as p,U as m,X as h,Zt as g,_,_t as ee,at as v,b as te,c as ne,dt as re,en as ie,gt as ae,i as oe,in as se,nn as ce,nt as le,pt as ue,t as de,tn as fe,v as pe,w as me,wt as he,yt as ge,zt as _e}from"./lib-rPeBMZrn.js";import{n as ve,t as ye}from"./BaseScanner-8NdoBs7B.js";import{n as be,t as xe}from"./useHints-BH9r_0Vd.js";import{t as Se}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Ce}from"./useNestedProp-DnGoh-XS.js";import{t as we}from"./useThemeCheck-BKNRbGeC.js";import{t as Te}from"./img-D4RQwASc.js";import{n as Ee}from"./Title-BliHuXfT.js";import{t as De}from"./useChartExport-BZts4KFb.js";import{n as Oe,t as ke}from"./tableIntegration-CNoJ1CIY.js";import{n as Ae,t as je}from"./annotationSlots-BRR85CqJ.js";import{n as Me,t as Ne}from"./userOptionsSlots-DYuo-E5m.js";import{n as Pe,r as Fe,t as Ie}from"./useTimeLabels-Das5O74F.js";import{t as Le}from"./usePrinter-sVoTzet1.js";import{t as Re}from"./useTransitions-ChGGrtrv.js";import{t as ze}from"./useStableElementSize-CegFbRlF.js";import{t as Be}from"./useSvgLabelLayout-D1I8sQUi.js";import{t as Ve}from"./useTimeLabelCollider-BTybMUFi.js";import{t as He}from"./Shape-CRe8woTu.js";import{c as Ue}from"./canvas-lib-22VpOI4_.js";import{t as We}from"./useResponsive-CENUxfEL.js";import{t as Ge}from"./DefGrad-DKMq1REY.js";import{t as Ke}from"./SlicerPreview-CFFUOlQr.js";import{t as qe}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Je}from"./A11yDataTable-DWNlWXzs.js";import{t as Ye}from"./useUserOptionState-CXlFnwPv.js";import{t as Xe}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ze}from"./Legend-DM0ClX3D.js";import{t as Qe}from"./vue_ui_stackline-D7b63K84.js";import{Fragment as y,Teleport as $e,computed as b,createBlock as x,createCommentVNode as S,createElementBlock as C,createElementVNode as w,createSlots as et,createTextVNode as tt,createVNode as nt,defineAsyncComponent as rt,guardReactiveProps as it,mergeProps as at,nextTick as ot,normalizeClass as T,normalizeProps as st,normalizeStyle as ct,onBeforeUnmount as lt,onMounted as ut,openBlock as E,ref as D,renderList as O,renderSlot as k,resolveDynamicComponent as dt,shallowRef as ft,toDisplayString as pt,toRefs as mt,unref as A,useSlots as ht,watch as gt,watchEffect as _t,withCtx as j}from"vue";var vt=/* @__PURE__ */ e({default:()=>ln}),yt=[`id`],bt=[`id`],xt=[`id`],St={style:{position:`relative`}},Ct=[`aria-describedby`,`xmlns`,`viewBox`],wt=[`id`],Tt=[`x`,`y`,`width`,`height`],Et={key:0},Dt=[`x`,`y`,`width`,`height`],Ot={key:1},kt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],At=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],jt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Mt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Nt=[`x`,`y`,`font-size`,`fill`,`font-weight`],Pt=[`transform`,`font-size`,`fill`,`font-weight`],Ft=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`],It=[`clip-path`],Lt=[`d`,`fill`,`opacity`],Rt=[`d`,`stroke`,`stroke-width`],zt=[`x1`,`x2`,`y1`,`y2`,`stroke`],Bt=[`transform`,`font-size`,`font-weight`,`fill`,`text-anchor`],Vt={key:0},Ht={key:1},Ut=[`text-anchor`,`font-size`,`font-weight`,`fill`,`stroke`,`transform`,`onClick`],Wt=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`,`onClick`],Gt=[`x`,`y`,`height`,`width`,`fill`],Kt={key:0},qt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Jt=[`clip-path`],Yt={key:0},Xt=[`transform`,`font-size`,`fill`,`font-weight`],Zt=[`transform`,`font-size`,`font-weight`,`fill`],Qt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],$t=[`data-start`,`data-end`],en={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},tn={key:5,class:`vue-data-ui-watermark`},nn=[`onClick`],rn={key:0},an={key:1},on=[`innerHTML`],sn=[`id`],cn=280,ln=/*#__PURE__*/ Se({__name:`vue-ui-stackline`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},selectedXIndex:{type:Number,default:void 0},zoomState:{type:Object,default:null}},emits:[`selectDatapoint`,`selectLegend`,`selectTimeLabel`,`selectX`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:Se,emit:vt}){let ln=rt(()=>import(`./Tooltip-C1q0Qoh7.js`)),un=rt(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),dn=rt(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),fn=rt(()=>import(`./DataTable-0Vv-aGHD.js`)),pn=rt(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),mn=rt(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),hn=rt(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),gn=rt(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_stackline:_n}=t(),{isThemeValid:vn,warnInvalidTheme:yn}=we(),bn=ht(),M=e,N=vt,xn=b({get(){return!!M.dataset&&M.dataset.length},set(e){return e}}),Sn=D(null),P=D(h()),Cn=D(!1),F=D([]),wn=D(0),Tn=D(null),En=D(null),Dn=D(null),On=D(null),kn=D(null),An=D(!1),jn=D(!1),Mn=D(!1),Nn=D(0),Pn=D(0),Fn=D(0),In=D(!1),Ln=D(null),Rn=D(null),zn=D(!1),Bn=D(null),Vn=D(null),Hn=D(null),Un=D(null),Wn=D(null),Gn=ft(null),Kn=D(!1),qn=D(0),Jn=D(0),Yn=D(null),Xn=D({x:0,y:0}),Zn=D(`pointer`),Qn=ze({elementRef:Gn,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{tr()}});function $n(){Gn.value=Sn.value?.parentNode??null}function er(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function tr(){let e=++Jn.value;Kn.value=!1,await ot(),await er(),await er(),e===Jn.value&&(qn.value+=1,Kn.value=!0)}let nr=D(null),rr=D(!1);function ir(){rr.value=!rr.value}ut(()=>{$n(),Qn.start(),In.value=!0,Ar(),tr()});let I=D(gr()),L=b(()=>I.value.userOptions),R=b(()=>I.value.style.chart.grid.x.timeLabels),z=b(()=>I.value.style.chart.grid),B=b(()=>I.value.style.chart.lines),V=b(()=>I.value.style.chart.tooltip),H=b(()=>I.value.style.chart);be({config:()=>I.value,dataset:()=>M.dataset,component:`VueUiStackline`,rules:[xe.emptyArray,{test:e=>e.some(e=>e.series.length>200),message:[`👀 Some series have > 200 datapoints, which can impact performance. Consider:`,``,`▶️ Aggregating data to larger time units, to reduce the number of datapoints.`,``,`▶️ Using filters to constraint the data to a specific time range.`]},{test:e=>e.length>6,message:[`👀 The number of series > 6, which can make the chart hard to read. Consider:`,``,`▶️ Grouping small values into an "Other" category.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`]}]});let{transitionEnabled:ar}=Re({config:()=>I.value.transitions,dataset:()=>M.dataset}),or=b(()=>I.value.userOptions.useCursorPointer),sr=b(()=>se({defaultConfig:{userOptions:{show:!1},useCssAnimation:!1,table:{show:!1},tooltip:{show:!1},style:{chart:{backgroundColor:`#99999930`,lines:{totalValues:{show:!1},dataLabels:{show:!1}},grid:{frame:{stroke:`#6A6A6A`},scale:{scaleMin:0,scaleMax:144},x:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},timeLabels:{show:!1}},y:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},axisLabels:{show:!1}}},legend:{backgroundColor:`transparent`},padding:{left:24,right:24,bottom:12},zoom:{show:!1,startIndex:null,endIndex:null,keepState:!1}}}},userConfig:I.value.skeletonConfig??{}})),{loading:cr,FINAL_DATASET:lr,manualLoading:ur}=ve({...mt(M),FINAL_CONFIG:I,prepareConfig:gr,callback:()=>{Promise.resolve().then(async()=>{(!H.value.zoom.keepState||!ra.value||Y.value.start===0&&Y.value.end===0)&&await aa()})},skeletonDataset:M.config?.skeletonDataset??[{name:``,series:[3,2,1,5,13,21,8,89,34,55],color:`#8A8A8A`},{name:``,series:[1,2,3,5,8,13,21,34,55,89],color:`#CACACA`}],skeletonConfig:se({defaultConfig:I.value,userConfig:sr.value})}),{userOptionsVisible:dr,setUserOptionsVisibility:fr,keepUserOptionState:pr}=Ye({config:I.value}),{svgRef:U}=Xe({config:H.value.title});function mr(){zn.value=!0,fr(!0)}function hr(){fr(!1),zn.value=!1,Yn.value=null,Zn.value=`pointer`,Cn.value=!1,$.value=null,N(`selectX`,{index:null,indexLabel:null,dataset:null})}function gr(){let e=Ce({userConfig:M.config,defaultConfig:_n}),t={};M.config&&he(M.config,`style.chart.grid.x.timeLabels.showFirstAndLast`)&&(e.style.chart.grid.x.timeLabels.showFirstAndLast=!!M.config.style.chart.grid.x.timeLabels.showFirstAndLast);let n=e.theme;if(n){if(!vn.value(e))yn(e),t=e;else{let r=Ce({userConfig:Qe[n]||M.config,defaultConfig:e});t={...Ce({userConfig:M.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:ce[n]||s}}}else t=e;return t}let _r=b(()=>B.value.dataLabels.hideUnderValue!==null),vr=b(()=>B.value.dataLabels.hideUnderPercentage!==null),yr=g(M.config);gt(()=>M.config,(e,t)=>{let n=g(e),r=n!==yr;yr=n;let i=gr();r?(cr.value||(I.value=i),dr.value=!I.value.userOptions.showOnChartHover,W.value.dataLabels.show=B.value.dataLabels.show,W.value.showTable=I.value.table.show,W.value.showTooltip=V.value.show,Ar({resetSlicer:!H.value.zoom.keepState}),Nn.value+=1,Pn.value+=1,Fn.value+=1,G.value.width=H.value.width,G.value.height=H.value.height,G.value.paddingRatio={top:H.value.padding.top/H.value.height,right:H.value.padding.right/H.value.width,bottom:H.value.padding.bottom/H.value.height,left:H.value.padding.left/H.value.width},$n(),tr(),!H.value.zoom.keepState||!ra.value||Y.value.start===0&&Y.value.end===0?aa():wi()):(I.value.style.chart.tooltip=i.style.chart.tooltip,W.value.showTooltip=I.value.style.chart.tooltip.show)},{deep:!0}),gt(()=>M.dataset,e=>{Array.isArray(e)&&e.length>0&&(ur.value=!1),H.value.zoom.keepState?wi():Di(),$n(),tr()},{deep:!0});let W=D({dataLabels:{show:B.value.dataLabels.show},showTable:I.value.table.show,showTooltip:V.value.show});gt(I,()=>{W.value={dataLabels:{show:B.value.dataLabels.show},showTable:I.value.table.show,showTooltip:V.value.show}},{immediate:!0});let{isPrinting:br,isImaging:xr,generatePdf:Sr,generateImage:Cr}=Le({elementId:`stackline_${P.value}`,fileName:H.value.title.text||`vue-ui-stackline`,options:I.value.userOptions.print}),wr=b(()=>I.value.userOptions.show&&!H.value.title.text),G=D({width:H.value.width,height:H.value.height,paddingRatio:{top:H.value.padding.top/H.value.height,right:H.value.padding.right/H.value.width,bottom:H.value.padding.bottom/H.value.height,left:H.value.padding.left/H.value.width}}),Tr=b(()=>me(I.value.customPalette)),Er=ft(null),Dr=ft(null),Or=D(null),kr=b(()=>I.value.debug);function Ar({resetSlicer:e=!0}={}){if(_e(M.dataset)?(v({componentName:`VueUiStackline`,type:`dataset`,debug:kr.value}),ur.value=!0):M.dataset.forEach((e,t)=>{ge({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{xn.value=!1,v({componentName:`VueUiStackline`,type:`datasetSerieAttribute`,property:e,index:t,debug:kr.value}),ur.value=!0})}),_e(M.dataset)||(ur.value=I.value.loading),setTimeout(()=>{jn.value=!0},10),I.value.responsive){let e=Ue(()=>{jn.value=!1;let{width:e,height:t}=We({chart:Sn.value,noTitle:On.value,title:H.value.title.text?Tn.value:null,legend:H.value.legend.show?En.value:null,slicer:H.value.zoom.show&&J.value>6?Dn.value.$el:null,source:kn.value});requestAnimationFrame(()=>{G.value.width=e,G.value.height=t-12,Mn.value=!0,clearTimeout(Or.value),Or.value=setTimeout(()=>{jn.value=!0},10)})});Er.value&&(Dr.value&&Er.value.unobserve(Dr.value),Er.value.disconnect()),Er.value=new ResizeObserver(e),Dr.value=Sn.value.parentNode,Er.value.observe(Dr.value)}e&&aa()}lt(()=>{Qn.stop(),Er.value&&(Dr.value&&Er.value.unobserve(Dr.value),Er.value.disconnect())});let jr=b(()=>z.value.y.position===`right`),{metrics:Mr,ready:Nr,settling:Pr,update:Fr}=Be({svgRef:U,canMeasure:()=>(!I.value.responsive||Mn.value)&&(!R.value.show||Vi.value),measure:e=>{let t=Hn.value,n=Un.value;return{scaleLabelsWidth:z.value.y.axisLabels.show?e(t).textWidth:0,yAxisLabelWidth:Vn.value?e(Vn.value).rotatedWidth+z.value.y.axisName.fontSize+z.value.y.axisName.offsetX:0,xAxisLabelHeight:e(Bn.value).height,timeLabelsHeight:R.value.show?e(n).height:0,right:0}}}),Ir=b(()=>Mr.value.xAxisLabelHeight+Mr.value.timeLabelsHeight),K=b(()=>{let{height:e,width:t}=G.value,{right:n}=G.value.paddingRatio,r=B.value.totalValues.show&&M.dataset&&M.dataset.length>1?B.value.totalValues.fontSize*1.3:0,{scaleLabelsWidth:i,yAxisLabelWidth:a}=Mr.value,o=i+a,s=jr.value?0:o,c=jr.value?o:0,l=H.value.padding.top+r,u=t-t*n-Mr.value.right-c,d=e-H.value.padding.bottom-Ir.value-r,f=H.value.padding.left+s,p=t-f-t*n-Mr.value.right-c,m=e-l-H.value.padding.bottom-Ir.value-r;return{chartHeight:Math.max(0,e),chartWidth:Math.max(0,t),top:l,right:Math.max(0,u),bottom:Math.max(0,d),left:Math.max(0,f),width:Math.max(0,p),height:Math.max(0,m),offsetLeftAxis:s,offsetRightAxis:c,scaleLabelsWidth:i,yAxisLabelWidth:a}}),Lr=b(()=>{let{left:e,top:t,width:n,height:r}=K.value,i=Y.value.start,a=Y.value.end,o=Math.max(1,a-i),s=Math.max(0,Math.min(o,(Vr.value.start??i)-i)),c=Math.max(0,Math.min(o,(Vr.value.end??a)-i)),l=Math.max(0,c-s),u={fill:H.value.zoom.preview.fill,stroke:H.value.zoom.preview.stroke,"stroke-width":H.value.zoom.preview.strokeWidth,"stroke-dasharray":H.value.zoom.preview.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:{pointerEvents:`none`,transition:`none !important`,animation:`none !important`}},d=n/o;return{x:e+s*d,y:t,width:l*d,height:r,...u}}),q=b(()=>lr.value.map((e,t)=>{let n=h(),r=p(e.color)||Tr.value[t]||s[t]||s[t%s.length];return{...e,shape:e.shape||`circle`,standalone:!!e.standalone,series:JSON.parse(JSON.stringify(e.series)).map(e=>B.value.distributed?Math.abs(e):e),seriesSource:e.series,signedSeries:e.series.map(e=>e>=0?1:-1),absoluteIndex:t,id:n,color:r}})),Rr=b(()=>q.value.filter(e=>!F.value.includes(e.id)&&!e.standalone)),zr=b(()=>q.value.filter(e=>!F.value.includes(e.id)&&e.standalone)),J=b(()=>{let e=Math.max(...q.value.filter(e=>!F.value.includes(e.id)).map(e=>e.series.length));return isFinite(e)?e:Math.max(...q.value.map(e=>e.series.length))});function Br(e){nr.value=e}let Y=D({start:0,end:Math.max(...lr.value.map(e=>e.series.length))}),Vr=D({start:0,end:Math.max(...lr.value.map(e=>e.series.length))}),Hr=D(!1),Ur=D(!1),Wr=D(!1),Gr=D(`matrix(1, 0, 0, 1, 0, 0)`),Kr=D(!1),qr=0,Jr=0,Yr=0,Xr=0,Zr=D(null),Qr=D(null),$r=D(null),ei=D(!1),ti=D({time:0,x:0,y:0,pointerType:null}),ni=b(()=>H.value.zoom?.dragToZoom),ri=b(()=>ni.value.show&&xn.value&&ra.value&&!cr.value),ii=null,ai={};function oi(e){return(Y.value.start??0)+(e??0)}let si=b(()=>H.value.zoom.preview.enable&&(Vr.value.start!==Y.value.start||Vr.value.end!==Y.value.end));function ci(e,t){Vr.value[e]=t}function li(e,t=Y.value){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let i=Number(n?e.start:t.start),a=Number(r?e.end:t.end);return!Number.isFinite(i)||!Number.isFinite(a)?null:{start:i,end:a}}function ui(e){let t=li(e);t&&N(`update:zoomState`,t)}function di(){ii&&=(cancelAnimationFrame(ii),null),ai={}}function fi(e=Y.value){return{start:Number(e.start),end:Number(e.end)}}function pi(e,t){let n=Number(K.value?.left)||0,r=Math.max(0,Number(K.value?.width)||0),i=Number(t?.start),a=Number(t?.end),o=a-i;return!Number.isFinite(e)||!Number.isFinite(i)||!Number.isFinite(a)||o<=0?n:o<=1?n+r/2:n+(e-i)/(o-1)*r}function mi(){if(B.value.distributed)return null;let e=(zi.value||[]).filter(e=>Number.isFinite(e?.value)&&Number.isFinite(e?.y));if(e.length<2)return null;let t=e.reduce((e,t)=>t.value<e.value?t:e),n=e.reduce((e,t)=>t.value>e.value?t:e);return n.value===t.value||n.y===t.y?null:{minValue:t.value,maxValue:n.value,minY:t.y,maxY:n.y}}function hi(e,t){if(!t||!Number.isFinite(e))return Number(K.value?.bottom)||0;let n=t.maxValue-t.minValue;if(!Number.isFinite(n)||n===0)return t.minY;let r=(e-t.minValue)/n;return t.minY+(t.maxY-t.minY)*r}function gi({previousRange:e,targetRange:t,previousYScale:n,targetYScale:r}){let i=Number(t.start),a=Number(t.end)-1,o=1,s=0;if(Number.isFinite(i)&&Number.isFinite(a)&&a>i){let n=pi(i,t),r=pi(a,t),c=pi(i,e),l=pi(a,e),u=r-n;Number.isFinite(u)&&Math.abs(u)>1e-9&&(o=(l-c)/u,s=c-o*n)}let c=1,l=0;if(n&&r){let e=r.minValue,t=r.maxValue,i=hi(e,r),a=hi(t,r),o=hi(e,n),s=hi(t,n),u=a-i;Number.isFinite(u)&&Math.abs(u)>1e-9&&(c=(s-o)/u,l=o-c*i)}return[o,s,c,l].every(Number.isFinite)?`matrix(${o}, 0, 0, ${c}, ${s}, ${l})`:`matrix(1, 0, 0, 1, 0, 0)`}function _i({resetTransform:e=!0}={}){Xr+=1,qr&&=(cancelAnimationFrame(qr),0),Jr&&=(cancelAnimationFrame(Jr),0),Yr&&=(clearTimeout(Yr),0),Kr.value=!1,Wr.value=!1,e&&(Gr.value=`matrix(1, 0, 0, 1, 0, 0)`)}function vi(e,t){return!U.value||cr.value||!xn.value||!e||!t||typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`)?.matches?!1:Number.isFinite(e.start)&&Number.isFinite(e.end)&&Number.isFinite(t.start)&&Number.isFinite(t.end)&&e.end>e.start&&t.end>t.start}function yi(e,t){let n=fi();if(!vi(e,n))return _i(),!1;let r=gi({previousRange:e,targetRange:n,previousYScale:t,targetYScale:mi()});if(r===`matrix(1, 0, 0, 1, 0, 0)`)return _i(),!1;_i();let i=++Xr;return Wr.value=!0,Kr.value=!1,Gr.value=r,qr=requestAnimationFrame(()=>{qr=0,Jr=requestAnimationFrame(()=>{Jr=0,i===Xr&&(Kr.value=!0,Gr.value=`matrix(1, 0, 0, 1, 0, 0)`,Yr=setTimeout(()=>{Yr=0,i===Xr&&(Kr.value=!1,Wr.value=!1)},cn))})}),!0}let bi=b(()=>({transform:Gr.value,transformOrigin:`0 0`,transformBox:`view-box`,transition:Kr.value?`transform ${cn}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:Wr.value?`transform`:void 0})),xi=b(()=>Wr.value?`url(#vue_ui_stackline_zoom_clip_${P.value})`:void 0);function Si(e,{transition:t=!1}={}){let n=li(e);if(!n)return null;let{start:r,end:i}=n;if(r!==Number(Y.value.start)||i!==Number(Y.value.end)){let e=fi(),n=mi();di(),Y.value={start:r,end:i},Vr.value={start:r,end:i},wi(),t&&yi(e,n)}return{start:Number(Y.value.start),end:Number(Y.value.end)}}function Ci(e,{transition:t=!0}={}){let n=Si(e,{transition:t});return n?(N(`update:zoomState`,n),n):null}function wi(){let e=J.value,t=Math.max(0,Math.min(Y.value.start??0,e-1)),n=Math.max(t+1,Math.min(Y.value.end??e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),Y.value.start=t,Y.value.end=n,Vr.value.start=t,Vr.value.end=n,Dn.value&&Dn.value.setRangeValues(t,n)}let Ti=D(null);function Ei(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}lt(()=>{Ti.value&&cancelAnimationFrame(Ti.value),di(),ya(),_i()});async function Di({force:e=!1,publish:t=!1,transition:n=e&&t}={}){if(H.value.zoom.keepState&&!e&&ra.value&&(Y.value.start!==0||Y.value.end!==0)){wi();return}let r=!e,i=n?fi():null,a=n?mi():null;aa(r),n&&yi(i,a),await ot(),Ti.value&&cancelAnimationFrame(Ti.value),Ti.value=requestAnimationFrame(async()=>{await Ei(),aa(r),Ti.value=null,t&&(ui({start:Number(Y.value.start),end:Number(Y.value.end)}),N(`zoomReset`))})}let Oi=b(()=>Math.max(0,K.value.width/(Y.value.end-Y.value.start))),ki=b(()=>ie(Rr.value.map(e=>({...e,series:e.series.map(e=>e??0)}))).slice(Y.value.start,Y.value.end)),Ai=b(()=>F.value.length===q.value.length),ji=b(()=>{if(!H.value.zoom.minimap.show)return[];let e=q.value.filter(e=>Ai.value?!0:!F.value.includes(e.id)&&!e.standalone);if(e.length)return ie(e.map(e=>({...e,series:(e.series||[]).map(e=>e??0)})));let t=zr.value;if(!t.length)return[];let n=Math.max(...t.map(e=>e.series.length||0));return Array.from({length:n},(e,n)=>t.reduce((e,t)=>e+Math.abs(t.series[n]??0),0))}),Mi=b(()=>{if(!H.value.zoom.minimap.show)return[];let e=q.value.filter(e=>Ai.value?!0:!F.value.includes(e.id)&&!e.standalone),t=zr.value,n=e.length?[{name:``,series:ji.value,color:`#000000`,isVisible:!0}]:[],r=t.map(e=>({name:e.name||``,series:(e.series||[]).map(e=>e??0),color:e.color,isVisible:!0}));return n.concat(r)}),Ni=b(()=>ie(Rr.value.filter(e=>!F.value.includes(e.id)).map(e=>({...e,series:e.series.map((t,n)=>{let r=t??0;return e.signedSeries[n]===-1&&r>=0?-r:r})}))).slice(Y.value.start,Y.value.end)),Pi=b(()=>{let e=Rr.value.filter(e=>!F.value.includes(e.id));return{positive:ie(e.map(e=>({...e,series:e.series.slice(Y.value.start,Y.value.end).map(e=>(e??0)>=0?e??0:0)}))),negative:ie(e.map(e=>({...e,series:e.series.slice(Y.value.start,Y.value.end).map(e=>(e??0)<0?e??0:0)})))}}),Fi=b(()=>{let e=Math.max(0,Y.value.end-Y.value.start),t=Array(e).fill(0),n=Array(e).fill(0);return zr.value.forEach(r=>{for(let i=0;i<e;i+=1){let e=r.series[Y.value.start+i]??0;e>0&&(t[i]=Math.max(t[i],e)),e<0&&(n[i]=Math.min(n[i],e))}}),{positive:t,negative:n}}),Ii=b(()=>Ni.value.map((e,t)=>({value:e,sign:e>=0?1:-1})));function Li(){return{y0:zi.value?.[0]?.zero??K.value.bottom}}function Ri(e){let{y0:t}=Li(),n=B.value.totalValues,r=Math.max(2,n.fontSize*1.3+n.offsetY),i=e=>Math.min(Math.max(e,K.value.top-B.value.totalValues.fontSize*1.3),K.value.bottom+B.value.totalValues.fontSize*2);if((Ii.value?.[e]?.value??0)>=0||B.value.distributed){let n=1/0;for(let t of X.value||[]){let r=t?.series?.[e],i=t?.topY?.[e];(r??0)>0&&Number.isFinite(i)&&i<n&&(n=i)}return i((Number.isFinite(n)?n:t)-r-B.value.totalValues.offsetY)}{let a=-1/0;for(let t of X.value||[]){let n=t?.series?.[e],r=t?.topY?.[e];(n??0)<0&&Number.isFinite(r)&&r>a&&(a=r)}return i((Number.isFinite(a)?a:t)+r+n.fontSize*.7+B.value.totalValues.offsetY)}}let zi=b(()=>{let e=Math.max(...Pi.value.positive,0),t=Math.min(...Pi.value.negative,0),n=Math.max(...Fi.value.positive,0),r=Math.min(...Fi.value.negative,0),i=Math.max(e,n),a=Math.min(t,r),o=[-1/0,1/0,NaN,void 0,null].includes(a)?0:a,s=z.value.scale.scaleMin,c=z.value.scale.scaleMax,l=!B.value.distributed&&(s!==null||c!==null),u=s!==null&&!B.value.distributed?s:o>0?0:o,d=c!==null&&!B.value.distributed?c:i<0?0:i,f=l?pe(u,d,z.value.scale.ticks):_(u,d,z.value.scale.ticks),p=Math.abs(Number(f.min)||0),m=(Number(f.max)||0)+p,h=m===0||!Number.isFinite(m)?1:m,g=Array.isArray(f.ticks)&&f.ticks.length?f.ticks:[0],ee=K.value.bottom-K.value.height*(p/h);return g.map(e=>{let t=Number(e)||0,n=K.value.bottom-K.value.height*((t+p)/h);return{zero:ee,y:n,x:jr.value?Z.value.right+8:Z.value.left-8,value:t}})}),Bi=D([]),Vi=D(!1),Hi=D([]),Ui=0;_t(()=>{let e=++Ui;(async()=>{let t=await Ie({values:R.value.values,maxDatapoints:J.value,formatter:R.value.datetimeFormatter,start:Y.value.start,end:Y.value.end});e===Ui&&(Bi.value=t,Vi.value=!0)})()});let Wi=0;_t(()=>{let e=++Wi;(async()=>{let t=await Ie({values:R.value.values,maxDatapoints:J.value,formatter:R.value.datetimeFormatter,start:0,end:J.value});e===Wi&&(Hi.value=t)})()});let Gi=b(()=>{let e=Math.max(1,Math.floor(Number(R.value.modulo)||1)),t=(Bi.value||[]).map(e=>e?.text??``),n=(Hi.value||[]).map(e=>e?.text??``),r=Y.value.start??0,i=r>0||t.length<n.length;return ae({configuredModulo:e,visibleTexts:t,allTexts:n,startAbs:r,isZoomed:i})});function Ki(e){let t=R.value,n=Bi.value||[],r=Hi.value||[],i=Y.value.start??0,a=J.value,o=n.map(e=>e?.text??``),s=r.map(e=>e?.text??``),c=ne(!!t.showOnlyFirstAndLast,!!t.showOnlyAtModulo,Gi.value,o,s,i,e,a);if(!t.showFirstAndLast||t.showOnlyFirstAndLast||!c.length)return c;let l=c.length-1;return c.map((e,t)=>t!==0&&t!==l?e:{...e,text:o[t]??``})}let qi=b(()=>Ki($.value)),Ji=b(()=>Ki(null));gt(()=>[G.value.width,G.value.height,qn.value,I.value.style.fontFamily,z.value,R.value,B.value,Ji.value.map(e=>e?.text??``).join(`|`),M.dataset,Vi.value,Mn.value,F.value,W.value,Y.value.start,Y.value.end,Un.value,Hn.value,Bn.value,Vn.value],Fr,{flush:`post`,deep:!0});let Yi=D({months:[],shortMonths:[],days:[],shortDays:[]}),Xi=0;_t(()=>{let e=++Xi,t=R.value.datetimeFormatter;(async()=>{let n=await Fe(t.locale).catch(()=>Fe(`en`));e===Xi&&(Yi.value=n.data)})()});let Zi=b(()=>{let e=R.value.datetimeFormatter,t=Pe({useUTC:e.useUTC,locale:Yi.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{let r=R.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),Qi=b(()=>(R.value.values||[]).map((e,t)=>({text:Zi.value(t,H.value.zoom.timeFormat),absoluteIndex:t}))),$i=b(()=>(R.value.values||[]).map((e,t)=>({text:Zi.value(t,V.value.timeFormat),absoluteIndex:t}))),ea=b(()=>{if(!xn.value&&!cr.value)return[];let e=K.value.height,t=zi.value[0]?zi.value[0].zero:K.value.bottom,n=Y.value.start??0,r=Y.value.end??0,i=Math.max(1,r-n),a=Math.max(...Pi.value.positive,0),o=Math.min(...Pi.value.negative,0),s=Math.max(...Fi.value.positive,0),c=Math.min(...Fi.value.negative,0),l=Math.max(a,s),u=Math.min(o,c),{min:d,max:f}=!B.value.distributed&&(z.value.scale.scaleMax!==null||z.value.scale.scaleMin!==null)?pe(z.value.scale.scaleMin===null?u>0?0:u:z.value.scale.scaleMin,z.value.scale.scaleMax===null?l<0?0:l:z.value.scale.scaleMax,z.value.scale.ticks):_(z.value.scale.scaleMin===null?u>0?0:u:z.value.scale.scaleMin,z.value.scale.scaleMax===null?l<0?0:l:z.value.scale.scaleMax,z.value.scale.ticks),p=f+(d>=0?0:Math.abs(d))||1,m=Array(i).fill(0),h=Array(i).fill(0),g=e=>i<=1?K.value.left+K.value.width/2:K.value.left+e/(i-1)*K.value.width;return q.value.filter(e=>!F.value.includes(e.id)).map(r=>{let a=[],o=[],s=[],c=Array(i).fill(null),l=Array(i).fill(null);for(let u=0;u<i;u+=1){let i=n+u,d=r.series?.[i],f=r.signedSeries?.[i],g=d==null||Number.isNaN(d)?0:d,_=r.standalone?g/p:B.value.distributed?g/(ki.value[u]||1):g/p;if(g>=0){let n=e*Math.abs(_);if(r.standalone)c[u]=t,l[u]=t-n;else{let e=m[u],r=e+n;c[u]=t-e,l[u]=t-r,m[u]=r}}else{let n=e*Math.abs(_);if(r.standalone)c[u]=t,l[u]=t+n;else{let e=h[u],r=e+n;c[u]=t+e,l[u]=t+r,h[u]=r}}a.push(u),o.push(g),s.push(f??(g>=0?1:-1))}let u=a.map(e=>({x:g(e),y:l[e]})),d=u.map(e=>e.x),f=o.reduce((e,t)=>e+Math.abs(t||0),0),_=f===0?1:f,ee=o.map((e,t)=>{if(B.value.distributed&&!r.standalone){let n=a[t],r=ki.value[n]||1;return(e||0)/r}return(e||0)/_});return{...r,x:d,points:u,baseY:a.map(e=>c[e]),topY:a.map(e=>l[e]),series:o,signedSeries:s,proportions:ee,rel:a,fullSeries:Array.isArray(r.fullSeries)?r.fullSeries:r.series}})}),X=b(()=>{let e=e=>typeof e==`string`?e.replace(/^M\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*,?\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*/i,``).trim():``,t=Math.max(...Pi.value.positive,0),n=Math.min(...Pi.value.negative,0),r=Math.max(...Fi.value.positive,0),i=Math.min(...Fi.value.negative,0),a=Math.max(t,r),o=Math.min(n,i),s=!B.value.distributed&&(z.value.scale.scaleMax!==null||z.value.scale.scaleMin!==null)?pe(z.value.scale.scaleMin===null?o>0?0:o:z.value.scale.scaleMin,z.value.scale.scaleMax===null?a<0?0:a:z.value.scale.scaleMax,z.value.scale.ticks):_(z.value.scale.scaleMin===null?o>0?0:o:z.value.scale.scaleMin,z.value.scale.scaleMax===null?a<0?0:a:z.value.scale.scaleMax,z.value.scale.ticks),c=Number(s.min)||0,l=Number(s.max)||0,u=Math.abs(c),d=l+u||1,p=e=>{if(B.value.distributed){let t=Math.max(0,Math.min(1,e));return minimapH-minimapH*t}return clampY(minimapH-minimapH*(((e??0)+u)/d))};return ea.value.map(t=>{let n=t.x.length,r=Array.isArray(t.fullSeries)?t.fullSeries:t.series,i=({left:e=0,unitW:t})=>{let n=r.length;return!Number.isFinite(t)||t<=0||n<=0?[]:n===1?[e+t*.5]:r.map((n,r)=>e+r*t)},a=({minimapH:e})=>!Number.isFinite(e)||e<=0?[]:r.map(t=>p(t||0,e)),o=({minimapH:e})=>{if(!Number.isFinite(e)||e<=0)return[];let t=p(0,e);return r.map(()=>t)};if(n===0)return{...t,points:[],smoothPath:``,straightPath:``,smoothArea:``,straightArea:``,xMinimap:i,yMinimap:a,yMinimapBase:o};let s=t.x.map((e,n)=>({x:e,y:t.topY[n]})),c=t.x.map((e,n)=>({x:e,y:t.baseY[n]})),l=n>=2?f(s):`M${s[0].x},${s[0].y}`,u=n>=2?m(s):`M${s[0].x},${s[0].y}`,d=n>=2?`M${e(l)}`:l,h=n>=2?`M${e(u)}`:u,g=``,_=``;if(B.value.useArea&&n>=2){let t=f([...c].reverse()),n=m([...c].reverse()),r=c[c.length-1];g=`M${s[0].x},${s[0].y} ${e(l)} L${r.x},${r.y} ${e(t)} Z`,_=`M${s[0].x},${s[0].y} ${e(u)} L${r.x},${r.y} ${e(n)} Z`}return{...t,points:s,smoothPath:d,straightPath:h,smoothArea:g,straightArea:_,xMinimap:i,yMinimap:a,yMinimapBase:o}})}),ta=b(()=>$.value===null||$.value===void 0?null:{timeLabel:za($.value),absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ra.value,series:X.value,config:I.value}),na=D(!1),ra=D(!1);function ia(e,t=Y.value.start){let n=J.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function aa(e=!0){if(!na.value){na.value=!0;try{let{startIndex:t,endIndex:n,keepState:r}=H.value.zoom,i=r?Math.max(0,J.value):J.value;if(r&&i<=0)return;let a=t??0,o=n==null?i:Math.min(ia(n+1,a),i);ua.value=!0,Y.value.start=a,Y.value.end=o,Vr.value.start=a,Vr.value.end=o,wi(),ra.value=!0,e&&M.zoomState&&Si(M.zoomState)}finally{queueMicrotask(()=>{ua.value=!1}),na.value=!1}}}function oa(e){ai={...ai,...e},ii&&cancelAnimationFrame(ii),ii=requestAnimationFrame(()=>{let e={...Y.value,...ai};ai={},ii=null,Y.value=e,Vr.value={...e},wi(),ui({start:Number(Y.value.start),end:Number(Y.value.end)})})}function sa(e){if(na.value||ua.value)return;let t=Number(e);Number.isFinite(t)&&(N(`zoomStart`,{index:t,isZoom:t!==0}),t!==Y.value.start&&oa({start:t}))}function ca(e){if(na.value||ua.value)return;let t=ai.start===void 0?Y.value.start:ai.start,n=ia(Number(e),t);Number.isFinite(n)&&(N(`zoomEnd`,{index:n,isZoom:n!==J.value}),(n!==Y.value.end||ai.start!==void 0)&&oa({end:n}))}let Z=b(()=>({left:K.value.left,right:K.value.right,width:K.value.width})),la=b(()=>{let e=z.value.y.axisLabels,{prefix:t,suffix:r}=B.value.dataLabels;return zi.value.map(i=>String(oe(e.formatter,i.value,n({p:t,v:i.value,s:r,r:e.rounding}),{datapoint:i})??``)).join(`|`)});gt([la,()=>z.value.y.axisLabels.show,()=>z.value.y.axisLabels.fontSize,()=>z.value.y.axisLabels.bold,()=>z.value.y.position],()=>{z.value.y.axisLabels.show&&tr()},{flush:`post`});let ua=D(!1);gt([()=>M.zoomState,ra],([e,t])=>{t&&e&&Si(e,{transition:!0})},{deep:!0,immediate:!0});let da=b(()=>G.value.width),fa=b(()=>G.value.height);Ve({timeLabelsEls:Un,timeLabels:Bi,slicer:Y,configRef:I,rotationPath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:da,height:fa,rotation:R.value.autoRotate.angle});let pa=D(null);function ma(e){let t=U.value;if(!t)return null;if(t.createSVGPoint&&t.getScreenCTM){let n=t.createSVGPoint();n.x=e.clientX,n.y=e.clientY;let r=t.getScreenCTM();if(r){let e=n.matrixTransform(r.inverse());return{x:e.x,y:e.y,ok:!0}}}let n=t.getBoundingClientRect(),r=t.viewBox?.baseVal||{x:0,y:0,width:n.width,height:n.height},i=Math.min(n.width/r.width,n.height/r.height),a=r.width*i,o=r.height*i,s=(n.width-a)/2,c=(n.height-o)/2;return{x:(e.clientX-n.left-s)/i+r.x,y:(e.clientY-n.top-c)/i+r.y,ok:!0}}let ha=b(()=>!Hr.value||Zr.value==null||Qr.value==null?null:{x:Math.min(Zr.value,Qr.value),y:K.value.top,width:Math.abs(Qr.value-Zr.value),height:K.value.height}),ga=b(()=>ra.value?Number(Y.value.start)!==0||Number(Y.value.end)!==Number(J.value):!1);function _a(e){return Math.min(Math.max(e,K.value.left),K.value.right)}function va(){Aa&&=(cancelAnimationFrame(Aa),0),pa.value=null,nr.value=null,Yn.value=null,$.value=null,Va(!1,null)}function ya(e){let t=e?.pointerId==null?$r.value:e.pointerId;t!=null&&U.value?.hasPointerCapture?.(t)&&U.value.releasePointerCapture(t),Hr.value=!1,Zr.value=null,Qr.value=null,$r.value=null}function ba(){ei.value=!0,setTimeout(()=>{ei.value=!1},0)}function xa(e){if(!ri.value||!ga.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=ti.value,i=n===`touch`?450:350,a=n===`touch`?28:10,o=Math.hypot(e.clientX-r.x,e.clientY-r.y);return r.time>0&&r.pointerType===n&&t-r.time<=i&&o<=a?(ti.value={time:0,x:0,y:0,pointerType:null},ba(),ya(e),Di({force:!0,publish:!0}),!0):(ti.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function Sa(e){if(Q.value<=0)return null;if(Q.value===1||ja.value<=0)return 0;let t=(_a(e)-K.value.left)/ja.value;return Math.max(0,Math.min(Q.value-1,Math.round(t)))}function Ca(e,t){let n=Sa(e),r=Sa(t);if(n==null||r==null)return null;let i=Math.min(n,r),a=Math.max(n,r);return a<=i?null:{start:Number(Y.value.start)+i,end:Number(Y.value.start)+a+1}}function wa(e){let t=Ci(e,{transition:!0});return t?(N(`zoomStart`,{index:t.start,isZoom:t.start!==0}),N(`zoomEnd`,{index:t.end,isZoom:t.end!==J.value}),t):null}function Ta(){Ur.value=!0,U.value?.classList?.add(`vue-ui-stackline-chart-zoom-pointer-focus`)}function Ea(){Ur.value=!1,U.value?.classList?.remove(`vue-ui-stackline-chart-zoom-pointer-focus`)}function Da(e){if(!ri.value||rr.value||e.button!==void 0&&e.button!==0||$r.value!=null&&e.pointerId!==$r.value)return;let t=ma(e);if(!t)return;let{left:n,right:r,top:i,bottom:a}=K.value;t.x<n||t.x>r||t.y<i||t.y>a||Q.value<=1||(Ta(),U.value?.focus?.({preventScroll:!0}),va(),$r.value=e.pointerId,Hr.value=!0,Zr.value=_a(t.x),Qr.value=_a(t.x))}function Oa(e){if(!ri.value||!Hr.value||$r.value!=null&&e.pointerId!==$r.value)return;let t=ma(e);t&&(Qr.value=_a(t.x),Zr.value!=null&&Math.abs(Qr.value-Zr.value)>=2&&!U.value?.hasPointerCapture?.(e.pointerId)&&U.value?.setPointerCapture?.(e.pointerId))}function ka(e){if(!ri.value||!Hr.value||$r.value!=null&&e.pointerId!==$r.value)return;let t=ma(e);t&&(Qr.value=_a(t.x));let n=Zr.value,r=Qr.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,K.value.width*.01)){if(xa(e))return;ya(e);return}let i=Ca(Math.min(n,r),Math.max(n,r));i?(ya(e),wa(i)&&(ti.value={time:0,x:0,y:0,pointerType:null},va(),ba())):ya(e)}let Aa=0,Q=b(()=>Math.max(1,Y.value.end-Y.value.start)),ja=b(()=>Q.value>1?K.value.width/(Q.value-1):0);function Ma(e){return Q.value<=1?K.value.left+K.value.width/2:K.value.left+e*ja.value}function Na(e){if(Q.value<=1)return{x:K.value.left,width:K.value.width};let t=e===0?K.value.left:(Ma(e-1)+Ma(e))/2,n=e===Q.value-1?K.value.left+K.value.width:(Ma(e)+Ma(e+1))/2;return{x:t,width:Math.max(0,n-t)}}function Pa(e){rr.value||Hr.value||(Aa&&cancelAnimationFrame(Aa),Aa=requestAnimationFrame(()=>{Aa=0;let t=ma(e);if(!t||!U.value){La();return}let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a){La();return}let o=0;if(Q.value>1){let e=(t.x-n)/ja.value;o=Math.round(e)}else o=0;o<0&&(o=0),o>Q.value-1&&(o=Q.value-1),pa.value!==o&&(pa.value=o,Va(!0,o))}))}function Fa(e){if(ei.value){ei.value=!1;return}if(Hr.value)return;let t=ma(e);if(!t||!U.value)return;let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a)return;let o=0;if(Q.value>1){let e=(t.x-n)/ja.value;o=Math.round(e)}else o=0;o<0&&(o=0),o>Q.value-1&&(o=Q.value-1),Co({seriesIndex:o,datapoint:ho(o)}),Ia(o)}function Ia(e){let t=JSON.parse(JSON.stringify(X.value)).map(t=>({name:t.name,value:t.series[e]===0?0:t.series[e]||null,proportion:t.proportions[e]||null,color:t.color,id:t.id}));I.value.events.datapointClick&&I.value.events.datapointClick({datapoint:t,seriesIndex:e+Y.value.start}),N(`selectDatapoint`,{datapoint:t,period:Bi.value[e]})}gt(()=>[Y.value.start,Y.value.end,X.value.length],()=>{let e=Q.value;$.value!=null&&(e<=0?$.value=null:($.value<0&&($.value=0),$.value>e-1&&($.value=e-1)))});function La(){Aa&&=(cancelAnimationFrame(Aa),0),pa.value=null,Va(!1,null)}let $=D(null),Ra=b(()=>{let e=$.value,t=e==null?null:oi(e);return X.value.map(n=>({slotAbsoluteIndex:n.absoluteIndex,shape:n.shape||`circle`,name:n.name,color:n.color,value:e==null?null:n.series.find((t,n)=>n===e),sourceValue:t==null?null:n.seriesSource?.[t],comments:n.comments||[],id:n.id,standalone:!!n.standalone}))});function za(e){if(e==null||!V.value.showTimeLabel)return null;let t=Bi.value?.[e]?.text||null,n=$i.value?.[e]?.text||null,r=Hi.value?.[e]?.text||null;return V.value.useDefaultTimeFormat?t:n||r}let Ba=b(()=>{let e=V.value.customFormat,t=[...Ra.value].reverse(),i=t.filter(e=>!e.standalone),o=t.filter(e=>e.standalone),s=i.map(e=>e.value).filter(e=>d(e)&&e!==null).reduce((e,t)=>Math.abs(e)+Math.abs(t),0);if(a(e)&&ue(()=>e({absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ra.value,series:q.value,config:I.value})))return e({absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ra.value,series:q.value,config:I.value});let{showValue:c,showTotal:l,totalTranslation:f,showPercentage:p,borderColor:m,roundingValue:h,roundingPercentage:g}=V.value,_=e=>!e.shape||![`star`,`triangle`,`square`,`diamond`,`pentagon`,`hexagon`].includes(e.shape)?`<svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="${V.value.backgroundColor}" stroke-width="1" fill="${e.color}" /></svg>`:e.shape===`star`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><polygon stroke="${V.value.backgroundColor}" stroke-width="1" fill="${e.color}" points="${r({plot:{x:6,y:6},radius:5})}" /></svg>`:e.shape===`triangle`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:6,sides:3,rotation:.52}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`square`?`<svg viewBox="0 0 12 12" height="14" width="14"><path d="${u({plot:{x:6,y:6},radius:6,sides:4,rotation:.8}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`diamond`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:5,sides:4,rotation:0}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`pentagon`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:5,sides:5,rotation:.95}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:5,sides:6,rotation:0}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`,ee=(e,t)=>{let r=t?n({v:isNaN((e.value??0)/(s||1))?0:Math.abs(e.value??0)/(s||1)*100,s:`%`,r:g}):``,i=c&&t?`(`:``,a=c&&t?`)`:``;return`
|
|
2
|
+
<div style="display:flex;flex-direction:row;align-items:center;gap:4px">
|
|
3
|
+
<div style="width:20px;height:20px;display:flex;align-items:center;justify-content:center;">${_(e)}</div>
|
|
4
|
+
${e.name}${c||t?`:`:``}
|
|
5
|
+
${c?oe(B.value.dataLabels.formatter,e.sourceValue,n({p:B.value.dataLabels.prefix,v:e.sourceValue,s:B.value.dataLabels.suffix,r:h},{datapoint:e})):``} ${i}${r}${a}
|
|
6
|
+
</div>
|
|
7
|
+
`},v=``,te=za($.value);return te&&(v+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${m};padding-bottom:6px;margin-bottom:3px;">${te}</div>`),l&&i.length>1&&(v+=`<div class="vue-data-ui-tooltip-total" style="display:flex;flex-direction:row;align-items:center;gap:4px">
|
|
8
|
+
<span>${f}:</span>
|
|
9
|
+
<span>${oe(B.value.dataLabels.formatter,re(s),n({p:B.value.dataLabels.prefix,v:re(s),s:B.value.dataLabels.suffix,r:h}),{datapoint:{name:f,value:re(s)}})}</span>
|
|
10
|
+
</div>`),i.forEach(e=>{v+=ee(e,p)}),o.length&&(v+=`<div style="border-top:1px solid ${Rr.value.length?m:`transparent`}; margin:${Rr.value.length?`6px 0`:`0`};"></div>`,o.forEach(e=>{v+=ee(e,!1)})),`<div>${v}</div>`});function Va(e,t=null,n=`pointer`){if(Ai.value)return;Zn.value=n,Cn.value=e;let r=X.value.map(e=>({name:e.name,value:[null,void 0,NaN].includes(e.series[t])?null:e.series[t],color:e.color}));e?(Yn.value=t,$.value=t,Co({seriesIndex:t,datapoint:r}),I.value.events.datapointEnter&&I.value.events.datapointEnter({datapoint:r,seriesIndex:t+Y.value.start})):(Yn.value=null,$.value=null,N(`selectX`,{index:null,indexLabel:null,dataset:null}),I.value.events.datapointLeave&&I.value.events.datapointLeave({datapoint:r,seriesIndex:t+Y.value.start}))}function Ha(e,t){let n=JSON.parse(JSON.stringify(X.value)).map(e=>({name:e.name,value:e.series[t]===0?0:(e.signedSeries[t]===-1&&e.series[t]>=0?-e.series[t]:e.series[t])||null,proportion:e.proportions[t]||null,color:e.color,id:e.id}));N(`selectTimeLabel`,{datapoint:n,absoluteIndex:e.absoluteIndex,label:e.text})}function Ua(){F.value.length?F.value=[]:Ga.value.forEach(e=>{F.value.push(e.id)}),N(`selectLegend`,X.value)}function Wa(e){if(F.value.includes(e.id))F.value=F.value.filter(t=>t!==e.id);else{if(F.value.length===q.value.length-1)return;F.value.push(e.id)}N(`selectLegend`,X.value)}let Ga=b(()=>q.value.map(e=>({...e,opacity:F.value.includes(e.id)?.5:1,segregate:()=>Wa(e),isSegregated:F.value.includes(e.id)}))),Ka=b(()=>({cy:`stackline-legend`,backgroundColor:H.value.legend.backgroundColor,color:H.value.legend.color,fontSize:H.value.legend.fontSize,paddingBottom:12,fontWeight:H.value.legend.bold?`bold`:``}));function qa(e){return q.value.length?q.value.find(t=>t.name===e)||(kr.value&&console.warn(`VueUiStackline - Series name not found "${e}"`),null):(kr.value&&console.warn(`VueUiStackline - There are no series to show.`),null)}function Ja(e){let t=qa(e);t!==null&&F.value.includes(t.id)&&Wa({id:t.id})}function Ya(e){let t=qa(e);t!==null&&(F.value.includes(t.id)||Wa({id:t.id}))}let Xa=b(()=>{if(X.value.length===0)return{head:[],body:[],config:{},columnNames:[]};let e=X.value.map(({name:e,color:t})=>({label:e,color:t})),t=[];return qi.value.forEach(e=>{let n=e.absoluteIndex,r=[R.value.values?.[n]?e.text:n+1];q.value.forEach(e=>{let t=e.series?.[n],i=Number((t??0).toFixed(I.value.table.td.roundingValue));r.push(i)}),t.push(r)}),{head:e,body:t}});function Za(e=null){let t=[[H.value.title.text],[H.value.title.subtitle.text],[``]],n=[``,...Xa.value.head.map(e=>e.label)],r=Xa.value.body,a=t.concat([n]).concat(r),o=i(a);e?e(o):le({csvContent:o,title:H.value.title.text||`vue-ui-stackline`})}let Qa=b(()=>{let e=[``].concat(X.value.map(e=>e.name),`__SUM__`),t=[],n=Math.max(0,Y.value.end-Y.value.start);for(let e=0;e<n;e+=1){let n=oi(e),r=R.value.values?.[n]?Bi.value?.[e]?.text??n+1:n+1,i=X.value.map(t=>{let n=t.series?.[e]??0;return Number(n.toFixed(I.value.table.td.roundingValue))}),a=X.value.filter(e=>!e.standalone).map(t=>t.series?.[e]??0).reduce((e,t)=>e+t,0);t.push([r].concat(i,Number(a.toFixed(I.value.table.td.roundingValue))))}return{head:e,body:t,config:{th:{backgroundColor:I.value.table.th.backgroundColor,color:I.value.table.th.color,outline:I.value.table.th.outline},td:{backgroundColor:I.value.table.td.backgroundColor,color:I.value.table.td.color,outline:I.value.table.td.outline},breakpoint:I.value.table.responsiveBreakpoint},colNames:[I.value.table.columnNames.period].concat(X.value.map(e=>e.name),I.value.table.columnNames.total)}}),$a=b(()=>H.value.backgroundColor),eo=b(()=>H.value.legend),to=b(()=>H.value.title),{isCallbackImaging:no,isCallbackSvg:ro,generateSvg:io,onGenerateImage:ao}=De({svg:U,title:to,legend:eo,legendItems:Ga,backgroundColor:$a,getSvgCallback:()=>I.value.userOptions.callbacks.svg,generateImage:Cr});async function oo({scale:e=2}={}){if(!Sn.value)return;let{imageUri:t,base64:n}=await Te({domElement:Sn.value,base64:!0,img:!0,scale:e}),r=Sn.value.getBoundingClientRect(),i={width:r.width,height:r.height,aspectRatio:r.height?r.width/r.height:0},a=await ee(t,e)??i;return{imageUri:t,base64:n,title:H.value.title.text,...a}}let so=b(()=>ke({config:I,style:H,mutableConfig:W,dialog:gn,accordion:dn,isFullscreen:An,parent:Sn,maxWidth:800,isCursorPointer:or}));gt(()=>W.value.showTable,e=>Oe(e,I,Ln));function co(){W.value.showTable=!1,Rn.value&&Rn.value.setTableIconState(!1)}function lo(e){An.value=e,wn.value+=1}function uo(){W.value.showTable=!W.value.showTable}function fo(){W.value.dataLabels.show=!W.value.dataLabels.show}function po(){W.value.showTooltip=!W.value.showTooltip}function mo(){return X.value}function ho(e){let t=e??0,n=oi(t);return JSON.parse(JSON.stringify(X.value)).map(e=>{let r=e.series[t],i=e.signedSeries?.[t],a=r===0?0:(i===-1&&r>=0?-r:r)||null;return{name:e.name,absoluteIndex:e.absoluteIndex,value:a,proportion:e.proportions?.[t]||null,color:e.color,id:e.id,timeLabel:Hi.value?.[n]||null}})}let go=b(()=>Array(J.value).fill(0).map((e,t)=>ho(t)));gt(()=>M.selectedXIndex,e=>{if([null,void 0].includes(M.selectedXIndex)){$.value=null;return}let t=e-Y.value.start;t<0||e>=Y.value.end?$.value=null:$.value=t??null},{immediate:!0});let _o=b(()=>{if(B.value.distributed)return{min:-1,max:1};let e=Rr.value,t=zr.value,n=Math.max(1,...[...e,...t].map(e=>e.series?.length||0)),r=Array(n).fill(0),i=Array(n).fill(0);e.forEach(e=>{for(let t=0;t<n;t+=1){let n=e.series[t]??0;n>=0?r[t]+=n:i[t]+=n}});let a=Array(n).fill(0),o=Array(n).fill(0);t.forEach(e=>{for(let t=0;t<n;t+=1){let n=e.series[t]??0;n>0&&(a[t]=Math.max(a[t],n)),n<0&&(o[t]=Math.min(o[t],n))}});let s=Math.max(0,...r,...a),c=Math.min(0,...i,...o),l=z.value.scale.scaleMin,u=z.value.scale.scaleMax,d=z.value.scale.ticks,f=!B.value.distributed&&(l!==null||u!==null)?pe(l===null?c>0?0:c:l,u===null?s<0?0:s:u,d):_(l===null?c>0?0:c:l,u===null?s<0?0:s:u,d);return{min:Number(f.min)||0,max:Number(f.max)||0}});function vo({minimapH:e,unitW:t}){let n=e=>typeof e==`string`?e.replace(/^M\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*,?\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*/i,``).trim():``;if(!Number.isFinite(e)||e<=0||!Number.isFinite(t)||t<=0)return``;let r=X.value.filter(e=>!e.standalone),i=X.value.filter(e=>e.standalone),a=Math.max(0,...X.value.map(e=>Array.isArray(e.fullSeries)?e.fullSeries.length:e.series.length));if(a<=0)return``;let o=a===1?[t*.5]:Array.from({length:a},(e,n)=>n*t);if(B.value.distributed){let t=Array.from({length:a},(e,t)=>{let n=0;return r.forEach(e=>{let r=(Array.isArray(e.fullSeries)?e.fullSeries:e.series)?.[t];r!=null&&!Number.isNaN(r)&&(n+=Math.abs(r))}),n||1}),s=t=>e-e*Math.max(0,Math.min(1,t||0)),c=[],l=Array(a).fill(0);return r.forEach(e=>{let r=Array.isArray(e.fullSeries)?e.fullSeries:e.series,i=Array(a),u=Array(a);for(let e=0;e<a;e+=1){let n=r?.[e],a=n==null||Number.isNaN(n)?0:Math.abs(n)/t[e];u[e]=l[e],l[e]+=a,i[e]=l[e]}let d=i.map(s),p=u.map(s),h=o.map((e,t)=>({x:e,y:d[t]})),g=o.map((e,t)=>({x:e,y:p[t]})),_=f(h),ee=f([...g].reverse()),v=m(h),te=m([...g].reverse()),ne=g[g.length-1];if(B.value.useArea){let t=B.value.smooth?`M${h[0].x},${h[0].y} ${n(_)} L${ne.x},${ne.y} ${n(ee)} Z`:`M${h[0].x},${h[0].y} ${n(v)} L${ne.x},${ne.y} ${n(te)} Z`;c.push(`<path d="${t}"
|
|
11
|
+
fill="${bn.pattern?`url(#pattern_${P.value}_${e.absoluteIndex})`:(B.value.gradient.show,e.color)}"
|
|
12
|
+
opacity="${B.value.areaOpacity}"
|
|
13
|
+
stroke="none" />`)}let re=B.value.smooth?`M${h[0].x},${h[0].y} ${n(_)}`:`M${h[0].x},${h[0].y} ${n(v)}`;c.push(`<path d="${re}"
|
|
14
|
+
fill="none"
|
|
15
|
+
stroke="${e.color}"
|
|
16
|
+
stroke-width="${B.value.strokeWidth}"
|
|
17
|
+
stroke-linecap="round" />`)}),i.length&&i.forEach(e=>{let r=Array.isArray(e.fullSeries)?e.fullSeries:e.series,i=Array.from({length:a},(e,n)=>s(Math.abs(r?.[n]??0)/t[n])),l=o.map((e,t)=>({x:e,y:i[t]})),u=f(l),d=m(l),p=B.value.smooth?`M${l[0].x},${l[0].y} ${n(u)}`:`M${l[0].x},${l[0].y} ${n(d)}`;c.push(`<path d="${p}"
|
|
18
|
+
fill="none"
|
|
19
|
+
stroke="${e.color}"
|
|
20
|
+
stroke-width="${B.value.strokeWidth}"
|
|
21
|
+
stroke-linecap="round" />`)}),c.join(``)}let s=_o.value.min,c=_o.value.max,l=Math.abs(s),u=c+l||1,d=t=>Math.max(0,Math.min(e,t)),p=t=>d(e-e*(((t??0)+l)/u)),h=[];if(r.length){let e=Array(a).fill(0),t=Array(a).fill(0);r.forEach(r=>{let i=Array.isArray(r.fullSeries)?r.fullSeries:r.series,s=Array(a),c=Array(a);for(let n=0;n<a;n+=1){let r=i?.[n]??0;r>=0?(c[n]=e[n],e[n]+=r,s[n]=e[n]):(c[n]=t[n],t[n]+=r,s[n]=t[n])}let l=s.map(p),u=c.map(p),d=o.map((e,t)=>({x:e,y:l[t]})),g=o.map((e,t)=>({x:e,y:u[t]})),_=f(d),ee=f([...g].reverse()),v=m(d),te=m([...g].reverse()),ne=g[g.length-1];if(B.value.useArea){let e=B.value.smooth?`M${d[0].x},${d[0].y} ${n(_)} L${ne.x},${ne.y} ${n(ee)} Z`:`M${d[0].x},${d[0].y} ${n(v)} L${ne.x},${ne.y} ${n(te)} Z`;h.push(`<path d="${e}"
|
|
22
|
+
fill="${bn.pattern?`url(#pattern_${P.value}_${r.absoluteIndex})`:(B.value.gradient.show,r.color)}"
|
|
23
|
+
opacity="${B.value.areaOpacity}"
|
|
24
|
+
stroke="none" />`)}let re=B.value.smooth?`M${d[0].x},${d[0].y} ${n(_)}`:`M${d[0].x},${d[0].y} ${n(v)}`;h.push(`<path d="${re}"
|
|
25
|
+
fill="none"
|
|
26
|
+
stroke="${r.color}"
|
|
27
|
+
stroke-width="${B.value.strokeWidth}"
|
|
28
|
+
stroke-linecap="round" />`)})}return i.length&&i.forEach(e=>{let t=(Array.isArray(e.fullSeries)?e.fullSeries:e.series).map(p),r=o.map((e,n)=>({x:e,y:t[n]})),i=f(r),a=m(r),s=B.value.smooth?`M${r[0].x},${r[0].y} ${n(i)}`:`M${r[0].x},${r[0].y} ${n(a)}`;h.push(`<path d="${s}"
|
|
29
|
+
fill="none"
|
|
30
|
+
stroke="${e.color}"
|
|
31
|
+
stroke-width="${B.value.strokeWidth}"
|
|
32
|
+
stroke-linecap="round" />`)}),h.join(``)}function yo(e,t){let n=B.value,r=n.dataLabels;return n.showDistributedPercentage&&n.distributed?vr.value?t===0?!r.hideEmptyPercentages:Math.abs(t)*100>=r.hideUnderPercentage:!r.hideEmptyPercentages||Math.abs(t)>0:vr.value?(_r.value&&kr.value&&console.warn(`Vue Data UI - VueUiStackline - You cannot set both dataLabels.hideUnderPercentage and dataLabels.hideUnderValue. Note that dataLabels.hideUnderPercentage takes precedence in this case.`),Math.abs(e)>bo.value*r.hideUnderPercentage/100):_r.value?Math.abs(e)>=r.hideUnderValue:!r.hideEmptyValues||e!==0}let bo=b(()=>Math.max(...X.value.flatMap(e=>e.series)));function xo(e,t,r,i,a){let o=a===-1&&e>=0?-e:e;return oe(B.value.dataLabels.formatter,o,n({p:B.value.dataLabels.prefix,v:o,s:B.value.dataLabels.suffix,r:B.value.dataLabels.rounding}),{datapoint:t,seriesIndex:r,datapointIndex:i})}function So(e,t,r,i){return oe(B.value.dataLabels.formatter,e,n({v:isNaN(e)?0:e,s:`%`,r:B.value.dataLabels.rounding}),{datapoint:t,seriesIndex:r,datapointIndex:i})}function Co({seriesIndex:e,datapoint:t}){let n=Y.value.start+e;N(`selectX`,{dataset:t,index:n,indexLabel:R.value.values[n]})}async function wo(){N(`copyAlt`,{config:I.value,dataset:X.value}),I.value.userOptions.callbacks.altCopy?await Promise.resolve(I.value.userOptions.callbacks.altCopy({config:I.value,dataset:X.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}let To=D(!1);function Eo(){Yn.value=null,To.value=!0}function Do(){Ea(),Yn.value=null,Zn.value=`pointer`,Cn.value=!1,$.value=null,N(`selectX`,{index:null,indexLabel:null,dataset:null}),To.value=!1}function Oo(e){if(!U.value||rr.value||document.activeElement!==U.value||(Ea(),Ai.value)||!Q.value)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){if(ri.value&&(ga.value||Hr.value)){ya(),Di({force:!0,publish:!0});return}Yn.value=null,Zn.value=`pointer`,Cn.value=!1,$.value=null,N(`selectX`,{index:null,indexLabel:null,dataset:null});return}if(r){if(Yn.value===null)return;Ia(Yn.value);return}let a=Yn.value,o=pa.value,s=a!==null&&a>=0&&a<Q.value,c=o!==null&&o>=0&&o<Q.value;s?n?(a+=1,a>=Q.value&&(a=0)):t&&(--a,a<0&&(a=Q.value-1)):c?(a=n?o+1:o-1,a>=Q.value&&(a=0),a<0&&(a=Q.value-1)):a=n?0:Q.value-1,Yn.value=a,ko(a),Va(!0,a,`keyboard`)}function ko(e){if(!Number.isFinite(e)||!U.value)return;let t=K.value.left+e*ja.value,n=K.value.top+K.value.height/2,r=fe(t,n,U.value);r&&(Xn.value=r)}let Ao=b(()=>({headers:Qa.value?.colNames??[],rows:Qa.value?.body??[]}));return Se({getData:mo,getImage:oo,generatePdf:Sr,generateCsv:Za,generateImage:Cr,generateSvg:io,hideSeries:Ya,showSeries:Ja,toggleTable:uo,toggleLabels:fo,toggleTooltip:po,toggleAnnotator:ir,toggleFullscreen:lo,copyAlt:wo,resetZoom:()=>Di({force:!0,publish:!0}),setZoomState:Ci}),(t,r)=>(E(),C(`div`,{id:`stackline_${P.value}`,ref_key:`stacklineChart`,ref:Sn,class:T({"vue-data-ui-component":!0,"vue-ui-stackline":!0,"vue-data-ui-wrapper-fullscreen":An.value}),style:ct(`background:${H.value.backgroundColor};color:${H.value.color};font-family:${I.value.style.fontFamily}; position: relative; ${I.value.responsive?`height: 100%`:``}`),onMouseenter:mr,onMouseleave:hr},[w(`div`,{id:`chart-instructions-${P.value}`,class:`sr-only`},[w(`p`,null,pt(I.value.a11y.translations.keyboardNavigation),1)],8,bt),Ao.value?.rows?.length?(E(),x(Je,{key:0,uid:P.value,head:Ao.value.headers,body:Ao.value.rows,notice:I.value.a11y.translations.tableAvailable,caption:I.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):S(``,!0),L.value.buttons.annotator?(E(),x(A(pn),{key:1,svgRef:A(U),backgroundColor:H.value.backgroundColor,color:H.value.color,active:rr.value,isCursorPointer:or.value,palette:L.value.annotatorPalette,onClose:ir},et({_:2},[O(A(je),e=>({name:e,fn:j(n=>[k(t.$slots,e,st(it(A(Ae)(e,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):S(``,!0),k(t.$slots,`userConfig`,{},void 0,!0),wr.value?(E(),C(`div`,{key:2,ref_key:`noTitle`,ref:On,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):S(``,!0),H.value.title.text?(E(),C(`div`,{key:3,ref_key:`chartTitle`,ref:Tn,style:`width:100%;background:transparent;`},[(E(),x(Ee,{key:`title_${Nn.value}`,config:{title:{cy:`stackline-title`,...H.value.title},subtitle:{cy:`stackline-subtitle`,...H.value.title.subtitle}}},null,8,[`config`]))],512)):S(``,!0),w(`div`,{id:`legend-top-${P.value}`},null,8,xt),L.value.show&&xn.value&&(A(pr)||A(dr))?(E(),x(A(mn),{ref_key:`userOptionsRef`,ref:Rn,key:`user_option_${wn.value}`,backgroundColor:H.value.backgroundColor,color:H.value.color,isPrinting:A(br),isImaging:A(xr),uid:P.value,hasTooltip:V.value.show&&L.value.buttons.tooltip,hasPdf:L.value.buttons.pdf,hasImg:L.value.buttons.img,hasSvg:L.value.buttons.svg,hasXls:L.value.buttons.csv,hasTable:L.value.buttons.table,hasLabel:L.value.buttons.labels,hasFullscreen:L.value.buttons.fullscreen,hasAltCopy:L.value.buttons.altCopy,isFullscreen:An.value,chartElement:Sn.value,position:L.value.position,isTooltip:W.value.showTooltip,titles:{...L.value.buttonTitles},hasAnnotator:L.value.buttons.annotator,isAnnotation:rr.value,callbacks:L.value.callbacks,printScale:L.value.print.scale,tableDialog:I.value.table.useDialog,isCursorPointer:or.value,onToggleFullscreen:lo,onGeneratePdf:A(Sr),onGenerateCsv:Za,onGenerateImage:A(ao),onGenerateSvg:A(io),onToggleTable:uo,onToggleLabels:fo,onToggleTooltip:po,onToggleAnnotator:ir,onCopyAlt:wo,style:ct({visibility:A(pr)?A(dr)?`visible`:`hidden`:`visible`})},et({_:2},[O(A(Me)(t.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),e=>({name:e,fn:j(n=>[k(t.$slots,e,st(it(A(Ne)(e,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.chartElement.position.isTooltip.titles.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):S(``,!0),w(`div`,St,[(E(),C(`svg`,{ref_key:`svgRef`,ref:U,"aria-describedby":`chart-instructions-${P.value}`,xmlns:A(de),viewBox:`0 0 ${K.value.chartWidth<=0?10:K.value.chartWidth} ${K.value.chartHeight<=0?10:K.value.chartHeight}`,class:T({"vue-data-ui-loading":A(cr),"vue-data-ui-fullscreen--on":An.value,"vue-data-ui-fulscreen--off":!An.value,"vue-data-ui-no-transition":!A(ar)||A(Pr),"vue-ui-stackline-chart-zoom-pointer-focus":ri.value&&Ur.value}),style:ct({maxWidth:`100%`,visibility:A(Nr)?`visible`:`hidden`,overflow:`visible`,background:`transparent`,color:H.value.color,cursor:ri.value?Hr.value?`col-resize`:`crosshair`:void 0,touchAction:ri.value?`pan-y`:void 0,userSelect:ri.value?`none`:void 0}),role:`img`,"aria-live":`polite`,tabindex:`0`,preserveAspectRatio:`xMidYMid`,onMousemove:Pa,onMouseleave:La,onClick:Fa,onPointerdown:Da,onPointermove:Oa,onPointerup:ka,onPointercancel:ya,onFocus:Eo,onBlur:Do,onKeydown:Oo},[nt(A(hn)),k(t.$slots,`svg-underlayer`,{svg:{drawingArea:K.value,data:X.value,isPrintingImg:A(br)||A(xr)||A(no),isPrintingSvg:A(ro)}},void 0,!0),w(`defs`,null,[w(`clipPath`,{id:`vue_ui_stackline_zoom_clip_${P.value}`},[w(`rect`,{x:K.value.left,y:K.value.top,width:Math.max(0,K.value.width),height:Math.max(0,K.value.height)},null,8,Tt)],8,wt)]),(E(!0),C(y,null,O(Rr.value,e=>(E(),C(y,null,[t.$slots.pattern?(E(),C(`defs`,Et,[k(t.$slots,`pattern`,at({ref_for:!0},{seriesIndex:e.absoluteIndex,patternId:`pattern_${P.value}_${e.absoluteIndex}`}),void 0,!0)])):S(``,!0)],64))),256)),t.$slots[`chart-background`]?(E(),C(`foreignObject`,{key:0,x:Z.value.left,y:K.value.top,width:Z.value.width,height:K.value.height,style:{pointerEvents:`none`}},[k(t.$slots,`chart-background`,{},void 0,!0)],8,Dt)):S(``,!0),B.value.gradient.show?(E(),C(`defs`,Ot,[(E(!0),C(y,null,O(X.value,(e,t)=>(E(),x(Ge,{t:`linear`,id:`gradient_${e.id}`,key:`gradient_${e.id}_${t}`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,stops:[[`0%`,e.color,1],[`100%`,A(o)(e.color,B.value.gradient.intensity/100),1]]},null,8,[`id`,`stops`]))),128))])):S(``,!0),z.value.x.showHorizontalLines?(E(!0),C(y,{key:2},O(zi.value,(e,t)=>(E(),C(`line`,{x1:Z.value.left,x2:Z.value.right,y1:e.y,y2:e.y,stroke:z.value.x.linesColor,"stroke-width":z.value.x.linesThickness,"stroke-dasharray":z.value.x.linesStrokeDasharray,"stroke-linecap":`round`},null,8,kt))),256)):S(``,!0),z.value.y.showVerticalLines?(E(!0),C(y,{key:3},O(Y.value.end-Y.value.start,(e,t)=>(E(),C(`line`,{x1:Ma(t),x2:Ma(t),y1:K.value.top,y2:K.value.bottom,stroke:z.value.y.linesColor,"stroke-width":z.value.y.linesThickness,"stroke-dasharray":z.value.y.linesStrokeDasharray,"stroke-linecap":`round`},null,8,At))),256)):S(``,!0),z.value.x.showAxis?(E(),C(`line`,{key:4,x1:Z.value.left,x2:Z.value.right,y1:K.value.bottom,y2:K.value.bottom,stroke:z.value.x.axisColor,"stroke-width":z.value.x.axisThickness,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,jt)):S(``,!0),z.value.y.showAxis&&!B.value.distributed?(E(),C(`line`,{key:5,x1:jr.value?Z.value.right:Z.value.left,x2:jr.value?Z.value.right:Z.value.left,y1:K.value.top,y2:K.value.bottom,stroke:z.value.y.axisColor,"stroke-width":z.value.y.axisThickness,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Mt)):S(``,!0),z.value.x.axisName.show&&z.value.x.axisName.text?(E(),C(`text`,{key:6,ref_key:`xAxisLabel`,ref:Bn,x:K.value.left+K.value.width/2,y:K.value.chartHeight-3,"font-size":z.value.x.axisName.fontSize,fill:z.value.x.axisName.color,"font-weight":z.value.x.axisName.bold?`bold`:`normal`,"text-anchor":`middle`},pt(z.value.x.axisName.text),9,Nt)):S(``,!0),z.value.y.axisName.show&&z.value.y.axisName.text?(E(),C(`text`,{key:7,ref_key:`yAxisLabel`,ref:Vn,transform:`translate(${jr.value?K.value.chartWidth-z.value.y.axisName.fontSize/2-z.value.y.axisName.offsetX:z.value.y.axisName.fontSize+z.value.y.axisName.offsetX}, ${K.value.top+K.value.height/2}) rotate(-90)`,"font-size":z.value.y.axisName.fontSize,fill:z.value.y.axisName.color,"font-weight":z.value.y.axisName.bold?`bold`:`normal`,"text-anchor":`middle`},pt(z.value.y.axisName.text),9,Pt)):S(``,!0),z.value.frame.show?(E(),C(`rect`,{key:8,style:{pointerEvents:`none`,transition:`none`,animation:`none !important`},x:Z.value.left,y:K.value.top,width:Z.value.width,height:K.value.height,fill:`transparent`,stroke:z.value.frame.stroke,"stroke-width":z.value.frame.strokeWidth,"stroke-linecap":z.value.frame.strokeLinecap,"stroke-linejoin":z.value.frame.strokeLinejoin,"stroke-dasharray":z.value.frame.strokeDasharray},null,8,Ft)):S(``,!0),w(`g`,{"clip-path":xi.value},[w(`g`,{class:T([`vue-ui-stackline-zoom-geometry`,{"vue-ui-stackline-zoom-geometry--transitioning":Wr.value}]),style:ct(bi.value)},[(E(!0),C(y,null,O(X.value,e=>(E(),C(y,null,[B.value.useArea&&!e.standalone?(E(),C(`path`,{key:0,d:B.value.smooth?e.smoothArea:e.straightArea,fill:t.$slots.pattern?`url(#pattern_${P.value}_${e.absoluteIndex})`:B.value.gradient.show?`url(#gradient_${e.id})`:e.color,opacity:B.value.areaOpacity,class:T({"vue-data-ui-transition":A(ar)&&!A(Pr)})},null,10,Lt)):S(``,!0)],64))),256)),(E(!0),C(y,null,O(X.value,e=>(E(),C(`path`,{d:B.value.smooth?e.smoothPath:e.straightPath,stroke:B.value.path.useSerieColor?e.color:B.value.path.stroke,"stroke-width":B.value.strokeWidth,fill:`none`,"stroke-linecap":`round`,class:T({"vue-data-ui-transition":A(ar)&&!A(Pr)})},null,10,Rt))),256))],6)],8,It),z.value.y.axisLabels.show&&!B.value.distributed?(E(),C(`g`,{key:9,ref_key:`scaleLabels`,ref:Hn},[(E(!0),C(y,null,O(zi.value,(e,t)=>(E(),C(`line`,{key:`ytick_${t}`,class:T({"vue-data-ui-transition":A(ar)&&!A(Pr)}),x1:jr.value?Z.value.right:Z.value.left,x2:jr.value?Z.value.right+6:Z.value.left-6,y1:e.y,y2:e.y,stroke:z.value.x.axisColor,"stroke-width":1},null,10,zt))),128)),(E(!0),C(y,null,O(zi.value,(e,t)=>(E(),C(`text`,{class:T({"vue-data-ui-transition":A(ar)&&!A(Pr)}),transform:`translate(${e.x}, ${e.y+z.value.y.axisLabels.fontSize/3})`,"font-size":z.value.y.axisLabels.fontSize,"font-weight":z.value.y.axisLabels.bold?`bold`:`normal`,fill:z.value.y.axisLabels.color,"text-anchor":jr.value?`start`:`end`},pt(A(oe)(z.value.y.axisLabels.formatter,e.value,A(n)({p:B.value.dataLabels.prefix,v:e.value,s:B.value.dataLabels.suffix,r:z.value.y.axisLabels.rounding}),{datapoint:e})),11,Bt))),256))],512)):S(``,!0),R.value.show?(E(),C(`g`,{key:10,ref_key:`timeLabelsEls`,ref:Un},[t.$slots[`time-label`]?(E(),C(`g`,Vt,[(E(!0),C(y,null,O(qi.value,(e,n)=>(E(),C(`g`,null,[k(t.$slots,`time-label`,at({ref_for:!0},{x:K.value.left+Oi.value*n+Oi.value/2,y:K.value.bottom+z.value.x.timeLabels.fontSize*1.3+z.value.x.timeLabels.offsetY,fontSize:z.value.x.timeLabels.fontSize,fill:z.value.x.timeLabels.color,transform:`translate(${K.value.left+Oi.value*n+Oi.value/2}, ${K.value.bottom+R.value.fontSize*1.3+R.value.offsetY}), rotate(${R.value.rotation})`,absoluteIndex:e.absoluteIndex,content:e.text,textAnchor:z.value.x.timeLabels.rotation>0?`start`:z.value.x.timeLabels.rotation<0?`end`:`middle`,show:!0}),void 0,!0)]))),256))])):(E(),C(`g`,Ht,[(E(!0),C(y,null,O(qi.value,(e,t)=>(E(),C(`g`,null,[String(e.text).includes(`
|
|
33
|
+
`)?(E(),C(`text`,{key:t+`-multi`,"text-anchor":z.value.x.timeLabels.rotation>0?`start`:z.value.x.timeLabels.rotation<0?`end`:`middle`,"font-size":z.value.x.timeLabels.fontSize,fill:z.value.x.timeLabels.color,transform:`
|
|
34
|
+
translate(
|
|
35
|
+
${Ma(t)},
|
|
36
|
+
${K.value.bottom+R.value.fontSize*1.3+R.value.offsetY}
|
|
37
|
+
),
|
|
38
|
+
rotate(${R.value.rotation})
|
|
39
|
+
`,style:ct({cursor:or.value?`pointer`:`default`}),innerHTML:A(c)({content:String(e.text),fontSize:z.value.x.timeLabels.fontSize,fill:z.value.x.timeLabels.color,stroke:H.value.backgroundColor,x:0,y:0}),onClick:()=>Ha(e,t)},null,12,Wt)):(E(),C(`text`,{class:`vue-data-ui-time-label`,key:t,"text-anchor":z.value.x.timeLabels.rotation>0?`start`:z.value.x.timeLabels.rotation<0?`end`:`middle`,"font-size":z.value.x.timeLabels.fontSize,"font-weight":z.value.x.timeLabels.bold?`bold`:`normal`,fill:z.value.x.timeLabels.color,stroke:H.value.backgroundColor,"stroke-width":`3`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"paint-order":`stroke fill`,transform:`translate(${Ma(t)}, ${K.value.bottom+R.value.fontSize*1.3+R.value.offsetY}), rotate(${R.value.rotation})`,style:ct({cursor:or.value?`pointer`:`default`}),onClick:()=>Ha(e,t)},pt(e.text),13,Ut))]))),256))]))],512)):S(``,!0),(zn.value||![null,void 0].includes($.value))&&!H.value.highlighter.useLine?(E(!0),C(y,{key:11},O(Y.value.end-Y.value.start,(e,t)=>(E(),C(`g`,{key:`tooltip_trap_highlighter_${t}`},[w(`rect`,{x:Na(t).x,y:K.value.top,height:K.value.height,width:Na(t).width,fill:[nr.value,$.value].includes(t)?A(l)(H.value.highlighter.color,H.value.highlighter.opacity):`transparent`,style:{transition:`none !important`,animation:`none !important`}},null,8,Gt)]))),128)):S(``,!0),(zn.value||![null,void 0].includes($.value))&&H.value.highlighter.useLine?(E(),C(y,{key:12},[![null,void 0].includes($.value)||![null,void 0].includes(nr.value)?(E(),C(`g`,Kt,[w(`line`,{x1:Ma(($.value??nr.value)||0),x2:Ma(($.value??nr.value)||0),y1:A(re)(K.value.top),y2:A(re)(K.value.bottom),stroke:H.value.highlighter.color,"stroke-width":H.value.highlighter.lineWidth,"stroke-dasharray":H.value.highlighter.lineDasharray,"stroke-linecap":`round`,style:{transition:`none !important`,animation:`none !important`,"pointer-events":`none`}},null,8,qt)])):S(``,!0)],64)):S(``,!0),w(`g`,{"clip-path":xi.value},[w(`g`,{class:T([`vue-ui-stackline-zoom-geometry`,{"vue-ui-stackline-zoom-geometry--transitioning":Wr.value}]),style:ct(bi.value)},[(E(!0),C(y,null,O(X.value,e=>(E(),C(y,{key:`shp_sel_${e.id}`},[zn.value&&Y.value.end-Y.value.start>B.value.dot.hideAboveMaxSerieLength?(E(),C(`g`,Yt,[$.value==null?S(``,!0):(E(),C(y,{key:0},[e.rel.includes($.value)&&e.fullSeries?.[Y.value.start+$.value]!=null&&!Number.isNaN(e.fullSeries?.[Y.value.start+$.value])?(E(),x(He,{key:0,shape:[`triangle`,`square`,`diamond`,`pentagon`,`hexagon`,`star`].includes(e.shape)?e.shape:`circle`,color:B.value.dot.useSerieColor?e.color:B.value.dot.fill,plot:{x:A(te)(e.points[e.rel.indexOf($.value)].x),y:A(te)(e.points[e.rel.indexOf($.value)].y)},radius:B.value.dot.radius*1.3,stroke:B.value.dot.useSerieColor?B.value.dot.stroke:e.color,strokeWidth:B.value.dot.strokeWidth,still:A(cr),class:T({"vue-data-ui-transition":A(ar)&&!A(Pr)})},null,8,[`shape`,`color`,`plot`,`radius`,`stroke`,`strokeWidth`,`still`,`class`])):S(``,!0)],64))])):S(``,!0)],64))),128)),(E(!0),C(y,null,O(X.value,e=>(E(),C(y,{key:`shp_${e.id}`},[Y.value.end-Y.value.start<B.value.dot.hideAboveMaxSerieLength?(E(!0),C(y,{key:0},O(e.points,(t,n)=>(E(),C(`g`,{key:`shp_${e.id}_${Y.value.start+n}`},[e.fullSeries?.[Y.value.start+e.rel[n]]!=null&&!Number.isNaN(e.fullSeries?.[Y.value.start+e.rel[n]])?(E(),x(He,{key:0,shape:[`triangle`,`square`,`diamond`,`pentagon`,`hexagon`,`star`].includes(e.shape)?e.shape:`circle`,color:B.value.dot.useSerieColor?e.color:B.value.dot.fill,plot:{x:t.x,y:t.y},radius:zn.value&&$.value===e.rel[n]?B.value.dot.radius*1.3:B.value.dot.radius,stroke:B.value.dot.useSerieColor?B.value.dot.stroke:e.color,strokeWidth:B.value.dot.strokeWidth,still:A(cr),class:T({"vue-data-ui-transition":A(ar)&&!A(Pr)})},null,8,[`shape`,`color`,`plot`,`radius`,`stroke`,`strokeWidth`,`still`,`class`])):S(``,!0)]))),128)):S(``,!0)],64))),128))],6)],8,Jt),W.value.dataLabels.show&&B.value.dataLabels.hideAboveMaxSerieLength>Y.value.end-Y.value.start?(E(),C(y,{key:13},[(E(!0),C(y,null,O(X.value,(e,t)=>(E(),C(`g`,{key:`dl_${e.id}`},[(E(!0),C(y,null,O(e.points,(n,r)=>(E(),C(y,{key:`dp_${e.id}_${Y.value.start+r}`},[yo(e.series[r],e.proportions[r])?(E(),C(`text`,{key:0,class:T({"vue-data-ui-transition":A(ar)&&!A(Pr)}),transform:`translate(${n.x}, ${n.y+(e.series[r]>=0?-B.value.dataLabels.fontSize/2+B.value.dataLabels.offsetY:B.value.dataLabels.fontSize*1.2-B.value.dataLabels.offsetY)})`,"font-size":B.value.dataLabels.fontSize,fill:B.value.dataLabels.color,"font-weight":B.value.dataLabels.bold?`bold`:`normal`,"text-anchor":`middle`},pt(B.value.showDistributedPercentage&&B.value.distributed?So(e.proportions[r]*100,e,t,e.rel[r]):xo(e.series[r],e,t,e.rel[r],e.signedSeries[r])),11,Xt)):S(``,!0)],64))),128))]))),128)),B.value.totalValues.show&&X.value.length>1?(E(),C(`g`,{key:0,ref_key:`sumTop`,ref:Wn},[(E(!0),C(y,null,O(Ii.value,(e,t)=>(E(),C(y,{key:`total_l_${t+Y.value.start}`},[!B.value.dataLabels.hideEmptyValues||e.value!==0?(E(),C(`text`,{key:0,class:T({"vue-data-ui-transition":A(ar)&&!A(Pr)}),transform:`translate(${Ma(t)}, ${Ri(t)})`,"text-anchor":`middle`,"font-size":B.value.totalValues.fontSize,"font-weight":B.value.totalValues.bold?`bold`:`normal`,fill:B.value.totalValues.color},pt(xo(e.value,e,t,t,e.sign)),11,Zt)):S(``,!0)],64))),128))],512)):S(``,!0)],64)):S(``,!0),ha.value?(E(),C(`rect`,{key:14,x:ha.value.x,y:ha.value.y,width:ha.value.width,height:ha.value.height,fill:ni.value.selection.fill,"fill-opacity":ni.value.selection.fillOpacity,stroke:ni.value.selection.stroke,"stroke-opacity":ni.value.selection.strokeOpacity,"stroke-width":ni.value.selection.strokeWidth,"stroke-dasharray":ni.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`},null,8,Qt)):S(``,!0),si.value?(E(),C(`rect`,at({key:15},Lr.value,{"data-start":Y.value.start,"data-end":Y.value.end}),null,16,$t)):S(``,!0),k(t.$slots,`svg`,{svg:{drawingArea:K.value,data:X.value,isPrintingImg:A(br)||A(xr)||A(no),isPrintingSvg:A(ro)}},void 0,!0)],46,Ct)),t.$slots.hint?(E(),C(`div`,en,[k(t.$slots,`hint`,st(it({hint:I.value.a11y.translations.keyboardNavigation,isVisible:To.value})),void 0,!0)])):S(``,!0)]),t.$slots.watermark?(E(),C(`div`,tn,[k(t.$slots,`watermark`,st(it({isPrinting:A(br)||A(xr)||A(no)||A(ro)})),void 0,!0)])):S(``,!0),In.value&&(H.value.legend.show||t.$slots.legend)?(E(),x($e,{key:6,to:H.value.legend.position===`top`?`#legend-top-${P.value}`:`#legend-bottom-${P.value}`},[w(`div`,{ref_key:`chartLegend`,ref:En},[k(t.$slots,`legend`,{legend:Ga.value},()=>[H.value.legend.show?(E(),x(Ze,{key:0,legendSet:Ga.value,config:Ka.value,isCursorPointer:or.value,onClickMarker:r[0]||=({legend:e})=>e.segregate()},et({item:j(({legend:e})=>[A(cr)?S(``,!0):(E(),C(`div`,{key:0,onClick:t=>e.segregate(),style:ct(`opacity:${F.value.includes(e.id)?.5:1}`)},pt(e.name),13,nn))]),legendToggle:j(()=>[Ga.value.length>2&&H.value.legend.selectAllToggle.show&&!A(cr)?(E(),x(qe,{key:0,backgroundColor:H.value.legend.selectAllToggle.backgroundColor,color:H.value.legend.selectAllToggle.color,fontSize:H.value.legend.fontSize,checked:F.value.length>0,isCursorPointer:or.value,onToggle:Ua},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):S(``,!0)]),_:2},[t.$slots.pattern?{name:`legend-pattern`,fn:j(({legend:e,index:t})=>[nt(He,{shape:e.shape,radius:30,stroke:`none`,plot:{x:30,y:30},fill:`url(#pattern_${P.value}_${t})`},null,8,[`shape`,`fill`])]),key:`0`}:void 0]),1032,[`legendSet`,`config`,`isCursorPointer`])):S(``,!0)],!0)],512)],8,[`to`])):S(``,!0),xn.value&&L.value.buttons.table?(E(),x(dt(so.value.component),at({key:7},so.value.props,{ref_key:`tableUnit`,ref:Ln,onClose:co}),et({content:j(()=>[nt(A(fn),{colNames:Qa.value.colNames,head:Qa.value.head,body:Qa.value.body,config:Qa.value.config,title:I.value.table.useDialog?``:so.value.title,withCloseButton:!I.value.table.useDialog,isCursorPointer:or.value,onClose:co},{th:j(({th:e})=>[e===`__SUM__`?(E(),C(`div`,rn,[nt(A(un),{name:`sigma`,stroke:Qa.value.config.th.color,size:16},null,8,[`stroke`])])):(E(),C(`div`,an,pt(e),1))]),td:j(({td:e})=>[tt(pt(isNaN(Number(e))?e:A(n)({p:B.value.dataLabels.prefix,v:e,s:B.value.dataLabels.suffix,r:I.value.table.td.roundingValue})),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`])]),_:2},[I.value.table.useDialog?{name:`title`,fn:j(()=>[tt(pt(so.value.title),1)]),key:`0`}:void 0,I.value.table.useDialog?{name:`actions`,fn:j(()=>[w(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:r[1]||=e=>Za(L.value.callbacks.csv),style:ct({cursor:or.value?`pointer`:`default`})},[nt(A(un),{name:`fileCsv`,stroke:so.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):S(``,!0),H.value.zoom.show&&xn.value&&ra.value&&J.value>6?(E(),x(Ke,{key:8,ref_key:`chartSlicer`,ref:Dn,"data-dom-to-png-ignore-layout":``,allMinimaps:Mi.value,background:H.value.zoom.color,borderColor:H.value.backgroundColor,customFormat:H.value.zoom.customFormat,cutNullValues:!1,enableRangeHandles:H.value.zoom.enableRangeHandles,enableSelectionDrag:H.value.zoom.enableSelectionDrag,end:Y.value.end,focusOnDrag:H.value.zoom.focusOnDrag,focusRangeRatio:H.value.zoom.focusRangeRatio,fontSize:H.value.zoom.fontSize,immediate:!H.value.zoom.preview.enable,inputColor:H.value.zoom.color,isPreview:si.value,labelLeft:R.value.values[Y.value.start]?Bi.value?.[0]?.text??``:``,labelRight:R.value.values[Y.value.end-1]?Bi.value?.at(-1)?.text??``:``,max:Math.max(...e.dataset.map(e=>e.series.length)),min:0,minimap:ji.value,minimapCompact:H.value.zoom.minimap.compact,minimapFrameColor:H.value.zoom.minimap.frameColor,minimapIndicatorColor:H.value.zoom.minimap.indicatorColor,minimapMerged:!1,minimapSelectedColor:H.value.zoom.minimap.selectedColor,minimapSelectedColorOpacity:H.value.zoom.minimap.selectedColorOpacity,minimapSelectedIndex:$.value,minimapSelectionRadius:1,preciseLabels:Qi.value.length?Qi.value:Hi.value,refreshEndPoint:H.value.zoom.endIndex===null?Math.max(...e.dataset.map(e=>e.series.length)):H.value.zoom.endIndex+1,refreshStartPoint:H.value.zoom.startIndex===null?0:H.value.zoom.startIndex,selectColor:H.value.zoom.highlightColor,selectedSeries:go.value,smoothMinimap:!1,start:Y.value.start,textColor:H.value.color,timeLabels:Hi.value,usePreciseLabels:R.value.datetimeFormatter.enable&&!H.value.zoom.useDefaultFormat,valueEnd:Y.value.end,valueStart:Y.value.start,verticalHandles:H.value.zoom.minimap.verticalHandles,maxWidth:H.value.zoom.maxWidth,minimapLeftInsetRatio:K.value.chartWidth>0&&H.value.zoom.autoFit?K.value.left/K.value.chartWidth:null,minimapRightInsetRatio:K.value.chartWidth>0&&H.value.zoom.autoFit?(K.value.chartWidth-K.value.right)/K.value.chartWidth:null,isCursorPointer:or.value,additionalMinimapHeight:H.value.zoom.minimap.additionalHeight,handleType:H.value.zoom.minimap.handleType,handleIconColor:H.value.zoom.minimap.handleIconColor,handleBorderWidth:H.value.zoom.minimap.handleBorderWidth,handleBorderColor:H.value.zoom.minimap.handleBorderColor,handleFill:H.value.zoom.minimap.handleFill,handleWidth:H.value.zoom.minimap.handleWidth,"onUpdate:end":ca,"onUpdate:start":sa,onTrapMouse:Br,onReset:r[2]||=()=>Di({force:!0,publish:!0}),onFutureEnd:r[3]||=e=>ci(`end`,e),onFutureStart:r[4]||=e=>ci(`start`,e)},{"reset-action":j(({reset:e})=>[k(t.$slots,`reset-action`,st(it({reset:e})),void 0,!0)]),slotMap:j(({width:e,height:t,unitW:n})=>[w(`g`,{innerHTML:vo({minimapW:e,minimapH:t,unitW:n})},null,8,on)]),_:3},8,/* @__PURE__ */ `allMinimaps.background.borderColor.customFormat.enableRangeHandles.enableSelectionDrag.end.focusOnDrag.focusRangeRatio.fontSize.immediate.inputColor.isPreview.labelLeft.labelRight.max.minimap.minimapCompact.minimapFrameColor.minimapIndicatorColor.minimapSelectedColor.minimapSelectedColorOpacity.minimapSelectedIndex.preciseLabels.refreshEndPoint.refreshStartPoint.selectColor.selectedSeries.start.textColor.timeLabels.usePreciseLabels.valueEnd.valueStart.verticalHandles.maxWidth.minimapLeftInsetRatio.minimapRightInsetRatio.isCursorPointer.additionalMinimapHeight.handleType.handleIconColor.handleBorderWidth.handleBorderColor.handleFill.handleWidth`.split(`.`))):S(``,!0),w(`div`,{id:`legend-bottom-${P.value}`},null,8,sn),nt(A(ln),{teleportTo:V.value.teleportTo,show:W.value.showTooltip&&Cn.value,backgroundColor:V.value.backgroundColor,color:V.value.color,fontSize:V.value.fontSize,borderRadius:V.value.borderRadius,borderColor:V.value.borderColor,borderWidth:V.value.borderWidth,backgroundOpacity:V.value.backgroundOpacity,position:V.value.position,offsetX:V.value.offsetX,offsetY:V.value.offsetY,parent:Sn.value,content:Ba.value,isFullscreen:An.value,isCustom:V.value.customFormat&&typeof V.value.customFormat==`function`,smooth:V.value.smooth,backdropFilter:V.value.backdropFilter,smoothForce:V.value.smoothForce,smoothSnapThreshold:V.value.smoothSnapThreshold,isA11yMode:Zn.value===`keyboard`,a11yPosition:Xn.value},{"tooltip-before":j(()=>[k(t.$slots,`tooltip-before`,st(it({...ta.value})),void 0,!0)]),tooltip:j(()=>[k(t.$slots,`tooltip`,st(it({...ta.value})),void 0,!0)]),"tooltip-after":j(()=>[k(t.$slots,`tooltip-after`,st(it({...ta.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`]),t.$slots.source?(E(),C(`div`,{key:9,ref_key:`source`,ref:kn,dir:`auto`},[k(t.$slots,`source`,{},void 0,!0)],512)):S(``,!0),k(t.$slots,`skeleton`,{},()=>[A(cr)?(E(),x(ye,{key:0})):S(``,!0)],!0)],46,yt))}},[[`__scopeId`,`data-v-fcfae485`]]);export{vt as n,ln as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Dt as i,Ft as a,Ht as o,J as s,Q as c,S as ee,X as te,Zt as ne,_ as re,at as ie,b as ae,i as oe,in as se,nt as ce,pt as le,rn as ue,sn as de,t as fe,v as pe,w as me,x as he,yt as ge,zt as _e}from"./lib-rPeBMZrn.js";import{n as ve,t as ye}from"./BaseScanner-8NdoBs7B.js";import{n as be,t as xe}from"./useHints-BH9r_0Vd.js";import{t as Se}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as Ce}from"./resolveChartConfig-CIhClE5R.js";import{t as we}from"./chartImage-DPGnEuYM.js";import{n as Te}from"./Title-BliHuXfT.js";import{t as Ee}from"./useChartExport-BZts4KFb.js";import{n as De,t as Oe}from"./tableIntegration-CNoJ1CIY.js";import{n as ke,t as Ae}from"./annotationSlots-BRR85CqJ.js";import{n as je,t as Me}from"./userOptionsSlots-DYuo-E5m.js";import{t as Ne}from"./usePrinter-sVoTzet1.js";import{t as Pe}from"./useTransitions-ChGGrtrv.js";import{t as Fe}from"./useSvgLabelLayout-D1I8sQUi.js";import{t as Ie}from"./useTimeLabelCollider-BTybMUFi.js";import{t as Le}from"./Shape-CRe8woTu.js";import{t as Re}from"./useResponsive-CENUxfEL.js";import{t as ze}from"./DefGrad-DKMq1REY.js";import{t as Be}from"./A11yDataTable-DWNlWXzs.js";import{t as Ve}from"./useUserOptionState-CXlFnwPv.js";import{t as He}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ue}from"./vue_ui_strip_plot-CwMowrhT.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createSlots as We,createTextVNode as Ge,createVNode as Ke,defineAsyncComponent as h,guardReactiveProps as g,mergeProps as qe,nextTick as Je,normalizeClass as Ye,normalizeProps as _,normalizeStyle as v,onBeforeUnmount as Xe,onMounted as Ze,openBlock as y,ref as b,renderList as x,renderSlot as S,resolveDynamicComponent as Qe,shallowRef as $e,toDisplayString as C,toRefs as et,unref as w,watch as tt,withCtx as T}from"vue";var nt=/* @__PURE__ */ e({default:()=>Pt}),rt=[`id`],it=[`id`],at={style:{position:`relative`}},ot=[`xmlns`,`viewBox`,`aria-describedby`],st=[`x`,`y`,`width`,`height`],ct={key:1},lt={key:0},ut=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],dt={key:1},ft=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],pt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],mt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],ht=[`transform`,`fill`,`font-size`],gt=[`transform`,`font-size`,`fill`,`text-anchor`],_t=[`transform`,`font-size`,`fill`,`text-anchor`,`innerHTML`],vt=[`fill`,`font-size`,`transform`],yt=[`fill`,`font-size`,`x`,`y`],bt=[`x1`,`x2`,`y1`,`y2`,`stroke`],xt=[`cx`,`cy`,`fill`],St=[`cx`,`cy`,`fill`],Ct=[`d`,`fill`,`stroke`,`fill-opacity`,`stroke-opacity`,`stroke-width`,`onMouseenter`],wt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-opacity`,`stroke-width`],Tt=[`onMouseenter`],Et=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Dt=[`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`,`rx`],Ot=[`cx`,`cy`,`r`,`fill`,`stroke`],kt={key:1},At=[`x`,`y`,`font-size`,`fill`],jt={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`},Nt={style:{display:`flex`,"align-items":`center`}},Pt=/*#__PURE__*/ Se({__name:`vue-ui-strip-plot`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`copyAlt`],setup(e,{expose:Se,emit:nt}){let Pt=h(()=>import(`./Tooltip-C1q0Qoh7.js`)),Ft=h(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),It=h(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Lt=h(()=>import(`./DataTable-0Vv-aGHD.js`)),Rt=h(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),zt=h(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Bt=h(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),Vt=h(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),Ht=[`classic`,`scatter`,`violin`],{vue_ui_strip_plot:Ut}=t(),E=e,Wt=nt,Gt=u({get(){return!!E.dataset&&E.dataset.length},set(e){return e}}),Kt=b(te()),qt=b(0),Jt=b(!1),Yt=b(``),D=b(null),Xt=b(null),Zt=b(null),Qt=b(null),$t=b(!1),en=b(0),tn=b(0),nn=b(null),rn=b(null),an=b(null),on=b(null),sn=b(null),cn=b(null),O=b(null),ln=b(null),k=b(`pointer`),un=b({x:0,y:0}),dn=b(!1),A=b(xn()),j=u(()=>A.value.userOptions),M=u(()=>A.value.style.chart.tooltip),N=u(()=>A.value.style.chart.labels),P=u(()=>A.value.style.chart.violin),F=u(()=>A.value.style.chart.grid),I=u(()=>A.value.style.chart);be({config:()=>A.value,dataset:()=>E.dataset,component:`VueUiStripPlot`,rules:[xe.emptyArray,{test:e=>e.length>12,message:[`👀 The number of series is > 12. Consider:`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using multiple instances of the chart to display related series.`]}]});let{transitionEnabled:fn}=Pe({config:()=>A.value.transitions,dataset:()=>E.dataset}),pn=u(()=>Sn(A.value.type)),L=u(()=>A.value.userOptions.useCursorPointer),mn=u(()=>se({defaultConfig:{userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,padding:{top:24,left:24,right:24,bottom:24},grid:{stroke:`#6A6A6A`,horizontalGrid:{stroke:`#6A6A6A`},verticalGrid:{stroke:`#6A6A6A`}},plots:{stroke:`#6A6A6A`},labels:{bestPlotLabel:{show:!1},axis:{xLabel:``,yLabel:``},xAxisLabels:{show:!1},yAxisLabels:{show:!1}}}}},userConfig:A.value.skeletonConfig??{}})),{loading:hn,FINAL_DATASET:gn,manualLoading:_n}=ve({...et(E),FINAL_CONFIG:A,prepareConfig:xn,skeletonDataset:E.config?.skeletonDataset??[{name:`_`,color:`#DBDBDB`,plots:[{name:`_`,value:1},{name:`_`,value:2},{name:`_`,value:3}]},{name:`_`,color:`#C4C4C4`,plots:[{name:`_`,value:3},{name:`_`,value:5},{name:`_`,value:8}]},{name:`_`,color:`#ADADAD`,plots:[{name:`_`,value:8},{name:`_`,value:13},{name:`_`,value:21}]},{name:`_`,color:`#969696`,plots:[{name:`_`,value:21},{name:`_`,value:34},{name:`_`,value:55}]},{name:`_`,color:`#808080`,plots:[{name:`_`,value:55},{name:`_`,value:89},{name:`_`,value:144}]}],skeletonConfig:se({defaultConfig:A.value,userConfig:mn.value})}),{userOptionsVisible:vn,setUserOptionsVisibility:yn,keepUserOptionState:bn}=Ve({config:A.value}),{svgRef:R}=He({config:I.value.title});function xn(){return Ce(E.config,Ut,Ue)}function Sn(e){return Ht.includes(e)?e:`classic`}let Cn=ne(E.config);tt(()=>E.config,async(e,t)=>{let n=ne(e),r=n!==Cn;Cn=n;let i=xn();r?(hn.value||(A.value=i),vn.value=!A.value.userOptions.showOnChartHover,On(),en.value+=1,tn.value+=1,H.value.dataLabels.show=N.value.bestPlotLabel.show,H.value.showTable=A.value.table.show,H.value.showTooltip=M.value.show,A.value.responsive||(B.value=I.value.width,V.value=I.value.height,Rn.value=I.value.plots.radius)):(A.value.style.chart.tooltip=i.style.chart.tooltip,H.value.showTooltip=A.value.style.chart.tooltip.show)},{deep:!0}),tt(()=>E.dataset,e=>{Array.isArray(e)&&e.length>0&&(_n.value=!1)},{deep:!0});let z=$e(null),wn=$e(null),Tn=b(!1),En=0;Ze(()=>{On()});let Dn=u(()=>A.value.debug);function On(){_e(E.dataset)?(ie({componentName:`VueUiStripPlot`,type:`dataset`,debug:Dn.value}),_n.value=!0):E.dataset.forEach((e,t)=>{ge({datasetObject:e,requiredAttributes:[`name`,`plots`]}).forEach(e=>{Gt.value=!1,ie({componentName:`VueUiStripPlot`,type:`datasetSerieAttribute`,property:e,index:t,debug:Dn.value})}),e.plots&&e.plots.forEach((e,n)=>{ge({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{Gt.value=!1,ie({componentName:`VueUiStripPlot`,type:`datasetSerieAttribute`,property:e,index:`${t},${n}`,debug:Dn.value})})})}),_e(E.dataset)||(_n.value=A.value.loading),A.value.responsive&&(z.value&&(wn.value&&z.value.unobserve(wn.value),z.value.disconnect()),z.value=new ResizeObserver(()=>{let{width:e,height:t}=Re({chart:D.value,title:I.value.title.text?Xt.value:null,source:Zt.value,noTitle:Qt.value});cancelAnimationFrame(En),En=requestAnimationFrame(()=>{Ln.value=t,B.value=Math.max(.1,e),V.value=Math.max(.1,t-12),Tn.value=!0,A.value.responsiveProportionalSizing?Rn.value=ue({relator:Math.min(t,e),adjuster:600,source:I.value.plots.radius,threshold:6,fallback:6}):Rn.value=I.value.plots.radius})}),wn.value=D.value.parentNode,z.value.observe(wn.value)),$t.value=!0,setTimeout(()=>{Fn.value=!1},Jn.value*50)}Xe(()=>{cancelAnimationFrame(En),z.value&&(wn.value&&z.value.unobserve(wn.value),z.value.disconnect())});let{isPrinting:kn,isImaging:An,generatePdf:jn,generateImage:Mn}=Ne({elementId:`strip-plot_${Kt.value}`,fileName:I.value.title.text||`vue-ui-strip-plot`,options:A.value.userOptions.print}),Nn=u(()=>A.value.userOptions.show&&!I.value.title.text),Pn=u(()=>me(A.value.customPalette)),Fn=b(A.value.useCssAnimation),In=b({top:I.value.padding.top,bottom:I.value.padding.bottom,left:I.value.padding.left,right:I.value.padding.right}),B=b(I.value.width),V=b(I.value.height),Ln=b(I.value.height),Rn=b(I.value.plots.radius),H=b({showTable:A.value.table.show,dataLabels:{show:N.value.bestPlotLabel.show},showTooltip:M.value.show});tt(A,()=>{H.value={showTable:A.value.table.show,dataLabels:{show:N.value.bestPlotLabel.show},showTooltip:M.value.show},A.value.responsive||(B.value=I.value.width,V.value=I.value.height,Rn.value=I.value.plots.radius)},{immediate:!0});let U=u(()=>Math.min(Rn.value,G.value.stripWidth/2*.9));function W(e){return Number.isFinite(e)?Number(e.toFixed(2)):0}function zn(){return Math.max(0,(G.value.stripWidth/2-U.value*1.8)*.86)*Math.min(1,P.value.widthRatio)}let{metrics:Bn,ready:Vn,settling:Hn,update:Un}=Fe({svgRef:R,canMeasure:()=>!A.value.responsive||Tn.value,initialMetrics:{scaleLabelsWidth:0,yAxisLabelWidth:0,xAxisLabelHeight:0,timeLabelsHeight:0},measure:e=>({scaleLabelsWidth:e(cn.value).textWidth,yAxisLabelWidth:e(on.value).rotatedWidth,xAxisLabelHeight:e(an.value).height,timeLabelsHeight:e(sn.value).height})});function Wn(){let e=Bn.value.scaleLabelsWidth,t=Bn.value.yAxisLabelWidth;return e+t+(t?24:0)}let Gn=u(()=>Bn.value.xAxisLabelHeight+Bn.value.timeLabelsHeight+(an.value?N.value.axis.fontSize/3+12+N.value.axis.xLabelOffsetY:0)+(sn.value?12:0)),G=u(()=>{let e=Wn(),t=In.value.left+e+N.value.axis.yLabelOffsetX+5,n=B.value-In.value.right,r=Math.max(0,n-t),i=In.value.top+I.value.plots.radius+N.value.bestPlotLabel.fontSize,a=V.value-In.value.bottom-Gn.value,o=Math.max(0,a-i),s=Array.isArray(gn.value)?gn.value.length:0;return{left:t,right:n,top:i,bottom:a,width:r,height:o,stripWidth:s>0?r/s:0,absoluteHeight:V.value}});function Kn(e){return G.value.left+(e+1)*G.value.stripWidth-G.value.stripWidth/2}let qn=u(()=>gn.value.map((e,t)=>{let n=te();return{...e,id:n,color:e.color?ee(e.color):Pn.value[t]||o[t]||o[t%o.length],plots:e.plots.map((r,i)=>({...r,value:ae(r.value),parentId:n,parentName:e.name,parentIndex:t,plotIndex:i,color:e.color?ee(e.color):Pn.value[t]||o[t]||o[t%o.length],id:te()})).sort((e,t)=>e.value-t.value)}})),K=u(()=>(qn.value||[]).map((e,t)=>({...e,plots:e.plots.map(e=>({...e,x:Kn(t)}))}))),Jn=u(()=>Math.max(...K.value.map(e=>e.plots.length))),Yn=u(()=>{let e=K.value.flatMap(e=>e.plots.map(e=>e.value));return{max:Math.max(...e),min:Math.min(...e)}}),Xn=u(()=>{let e=F.value.scaleMin,t=F.value.scaleMax,n=Math.max(2,F.value.scaleSteps),r=Yn.value.min<0?Yn.value.min:0,i=Yn.value.max;if(e===null&&t===null)return re(r,i,n);if(e!==null&&t!==null)return pe(e,t,n);let a=re(e===null?r:e,t===null?i:t,n);return pe(e===null?a.min:e,t===null?a.max:t,n)});function q(e){let t=Xn.value.max-Xn.value.min;return t?G.value.bottom-(e-Xn.value.min)/t*G.value.height:G.value.bottom}let J=u(()=>(K.value||[]).map((e,t)=>{let n=e.plots.map(e=>({...e,y:q(e.value)})),r=pn.value===`classic`?n.map(()=>0):er(n);return{...e,plots:n.map((e,t)=>({...e,x:e.x+r[t]}))}})),Y=u(()=>pn.value===`violin`&&!!P.value?.boxPlot?.show);function Zn(e,t){if(!e.length)return 0;if(e.length===1)return e[0];let n=(e.length-1)*t,r=Math.floor(n),i=n-r,a=e[r+1];return a===void 0?e[r]:e[r]+i*(a-e[r])}let X=u(()=>Y.value?J.value.map((e,t)=>{let n=e.plots.map(e=>e.value).sort((e,t)=>e-t),r=Zn(n,.25),i=Zn(n,.5),a=Zn(n,.75),o=a-r,s=r-o*1.5,c=a+o*1.5,ee=n.find(e=>e>=s),te=n.slice().reverse().find(e=>e<=c),ne=Kn(t),re=Math.max(U.value*2.8,Math.min(zn()*.32,G.value.stripWidth*.12))*Math.min(1.5,P.value.boxPlot.widthRatio);return{id:e.id,boxPlotColor:P.value.boxPlot.useSerieColor?e.color:P.value.boxPlot.color,color:e.color,name:e.name,count:n.length,lowerAdjacent:ee??n[0],q1:r,median:i,q3:a,upperAdjacent:te??n[n.length-1],iqr:o,lowerFence:s,upperFence:c,centerX:ne,boxLeft:ne-re/2,boxWidth:re,q1Y:q(r),medianY:q(i),q3Y:q(a),lowerY:q(ee??n[0]),upperY:q(te??n[n.length-1])}}):[]),Qn=u(()=>[A.value.table.columnNames.series,P.value.tooltipLabels.lowerAdjacent,P.value.tooltipLabels.q1,P.value.tooltipLabels.median,P.value.tooltipLabels.q3,P.value.tooltipLabels.upperAdjacent,P.value.tooltipLabels.iqr,P.value.tooltipLabels.count]);function $n(e){return n({p:N.value.prefix,v:e,s:N.value.suffix,r:A.value.table.td.roundingValue})}function er(e){let t=pn.value===`violin`?Math.max(0,zn()-U.value*1.15):Math.max(0,G.value.stripWidth/2-U.value*1.5);if(!e.length||!t)return e.map(()=>0);let n=e.map(()=>0),r=U.value*2.1,i=Math.min(t,r),a=[0];for(let e=i;e<=t+i/2;e+=i)a.push(-Math.min(e,t)),a.push(Math.min(e,t));let o=[];return e.forEach((e,t)=>{let i=a.find(t=>o.every(n=>{let i=t-n.offset,a=e.y-n.y;return Math.hypot(i,a)>=r}))??0;n[t]=i,o.push({y:e.y,offset:i})}),n}let tr=u(()=>pn.value===`violin`?J.value.map((e,t)=>({id:e.id,color:P.value.useSerieColor?e.color:P.value.stroke,fill:P.value.useSerieColor?e.color:P.value.fill,path:nr(e.plots,t),connectors:rr(e.plots,t)})):[]);function nr(e,t){let n=zn();if(!e.length||!G.value.height||!n)return``;let r=Kn(t),i=e.map(e=>e.y),a=Z(i),o=ar({yValues:i,bandwidth:a});return o.length>1?o.map(e=>sr({yValues:e,centerX:r,maxWidth:ir({clusterLength:e.length,totalLength:i.length,maxWidth:n}),bandwidth:Z(e)})).join(` `):sr({yValues:i,centerX:r,maxWidth:n,bandwidth:a})}function rr(e,t){if(!e.length)return[];let n=Kn(t),r=e.map(e=>e.y),i=ar({yValues:r,bandwidth:Z(r)});return i.length<2?[]:i.slice(1).map((e,t)=>{let r=i[t],a=Z(r),o=Z(e),s=he(Math.max(...r)+a*2.35,G.value.top,G.value.bottom),c=he(Math.min(...e)-o*2.35,G.value.top,G.value.bottom);return{x:W(n),y1:W(s),y2:W(c)}})}function ir({clusterLength:e,totalLength:t,maxWidth:n}){let r=(e/t)**.6,i=e<=2?.72:1;return Math.max(U.value*2.2,n*he(r*i,.18,1))}function Z(e){let t=e.reduce((e,t)=>e+t,0)/Math.max(1,e.length),n=e.reduce((e,n)=>e+(n-t)**2,0)/Math.max(1,e.length),r=Math.sqrt(n),i=e.length<2?Math.max(U.value*2.6,G.value.height/48):U.value*2.1;return he(1.06*r*e.length**-.2,i,G.value.height/5)}function ar({yValues:e,bandwidth:t}){if(e.length<2)return[e];let n=[...e].sort((e,t)=>e-t),r=Math.max(t*1.45,U.value*5),i=[],a=[n[0]];for(let e=1;e<n.length;e+=1)Math.abs(n[e]-n[e-1])>r?(i.push(a),a=[n[e]]):a.push(n[e]);return i.push(a),or(i)}function or(e){return e.reduce((e,t)=>{let n=e[e.length-1];if(!n)return e.push(t),e;let r=Z(n),i=Z(t);return Math.max(...n)+r*2.35>=Math.min(...t)-i*2.35?n.push(...t):e.push(t),e},[])}function sr({yValues:e,centerX:t,maxWidth:n,bandwidth:r}){let i=he(Math.min(...e)-r*2.35,G.value.top,G.value.bottom),a=he(Math.max(...e)+r*2.35,G.value.top,G.value.bottom),o=Math.max(48,Math.min(120,Math.round((a-i)/Math.max(1,r/4)))),s=Array.from({length:o},(t,n)=>{let s=i+(a-i)*n/Math.max(1,o-1);return{y:s,density:e.reduce((e,t)=>{let n=(s-t)/r;return e+Math.exp(-.5*n*n)},0)}}),c=Math.max(...s.map(e=>e.density));if(!c)return``;let ee=s.map((e,t)=>{let r=t===0||t===s.length-1?0:e.density/c*n;return{y:W(e.y),width:W(r)}}),te=ee.map(e=>({x:W(t-e.width),y:e.y})),ne=ee.slice(0,-1).reverse().map(e=>({x:W(t+e.width),y:e.y}));return`${cr([...te,...ne])} Z`}function cr(e){if(!e.length)return``;if(e.length===1)return`M ${e[0].x} ${e[0].y}`;let t=`M ${e[0].x} ${e[0].y}`;for(let n=1;n<e.length-1;n+=1){let r=e[n],i=e[n+1],a=W((r.x+i.x)/2),o=W((r.y+i.y)/2);t+=` Q ${r.x} ${r.y} ${a} ${o}`}let n=e[e.length-1];return`${t} L ${n.x} ${n.y}`}let lr=u(()=>Xn.value.ticks.map(e=>({y:q(e),x1:G.value.left,x2:G.value.right,value:e}))),ur=b(null),Q=b(null);function dr({datapoint:e,seriesIndex:t}){k.value!==`keyboard`&&(Jt.value=!1,Q.value=null,A.value.events.datapointLeave&&A.value.events.datapointLeave({datapoint:e,seriesIndex:t}))}function fr({datapoint:e,seriesIndex:t}){Wt(`selectDatapoint`,e),A.value.events.datapointClick&&A.value.events.datapointClick({datapoint:e,seriesIndex:t})}function pr(e,t={}){return oe(N.value.formatter,e,n({p:N.value.prefix,v:e,s:N.value.suffix,r:M.value.roundingValue}),t)}function mr({datapoint:e,seriesIndex:t,triggerMode:n=`pointer`}){A.value.events.datapointEnter&&A.value.events.datapointEnter({datapoint:e,seriesIndex:t}),k.value=n,ur.value={datapoint:e,seriesIndex:t,config:A.value,series:qn.value},Jt.value=!0,Q.value=e;let r=M.value.customFormat;if(i(r)&&le(()=>r({seriesIndex:t,datapoint:e,series:qn.value,config:A.value})))Yt.value=r({seriesIndex:t,datapoint:e,series:qn.value,config:A.value});else{let n=``;n+=`<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="${I.value.plots.gradient.show?`url(#${e.parentId})`:e.color}"/></svg>${e.name}</div>`,n+=`<div>${pr(e.value,{datapoint:e,seriesIndex:t})}</div>`,Yt.value=`<div>${n}</div>`}}function hr(){k.value!==`keyboard`&&(Jt.value=!1,Q.value=null)}function gr({boxPlot:e,seriesIndex:t,triggerMode:n=`pointer`}){k.value=n,Q.value=null,Jt.value=!0,ur.value={boxPlot:e,seriesIndex:t,config:A.value,series:qn.value};let r=M.value.customFormat;if(i(r))try{let n={boxPlot:e,seriesIndex:t,series:qn.value,config:A.value};if(le(()=>r(n))){Yt.value=r(n);return}}catch{}let a=[[P.value.tooltipLabels.upperAdjacent,e.upperAdjacent],[P.value.tooltipLabels.q3,e.q3],[P.value.tooltipLabels.median,e.median],[P.value.tooltipLabels.q1,e.q1],[P.value.tooltipLabels.lowerAdjacent,e.lowerAdjacent],[P.value.tooltipLabels.iqr,e.iqr]],o=`<svg viewBox="0 0 12 12" height="14" width="14"><rect x="1" y="1" width="10" height="10" rx="2" stroke="none" fill="${e.color}"/></svg>`,s=a.map(([n,r])=>`<div style="display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:space-between;"><span>${n}</span><b>${pr(r,{boxPlot:e,seriesIndex:t})}</b></div>`).join(``);Yt.value=`<div style="min-width:160px;"><div style="display:flex;flex-direction:row;gap:6px;align-items:center;margin-bottom:6px;">${o}${e.name}</div>`+s+`<div style="display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:space-between;margin-top:6px;"><span>${P.value.tooltipLabels.count}</span><b>${e.count}</b></div></div>`}let _r=u(()=>({head:K.value.flatMap(e=>JSON.parse(JSON.stringify(e.plots)).sort((e,t)=>t.value-e.value).map(t=>({name:`${e.name} - ${t.name}`,color:t.color}))),body:K.value.flatMap(e=>JSON.parse(JSON.stringify(e.plots)).sort((e,t)=>t.value-e.value).map(e=>e.value))}));function vr(e=null){Je(()=>{let t=[],n=[A.value.table.columnNames.series,A.value.table.columnNames.value];Y.value?(n=Qn.value,t=X.value.map(e=>[[e.name],[e.lowerAdjacent],[e.q1],[e.median],[e.q3],[e.upperAdjacent],[e.iqr],[e.count]])):t=_r.value.head.map((e,t)=>[[e.name],[_r.value.body[t]]]);let i=[[I.value.title.text],[I.value.title.subtitle.text],n.map(e=>[e])].concat(t),a=r(i);e?e(a):ce({csvContent:a,title:I.value.title.text||`vue-ui-strip-plot`})})}let yr=u(()=>{if(Y.value){let e=Qn.value;return{colNames:e,head:e,body:X.value.map(e=>[{color:e.color,name:e.name},$n(e.lowerAdjacent),$n(e.q1),$n(e.median),$n(e.q3),$n(e.upperAdjacent),$n(e.iqr),e.count]),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}}}let e=[A.value.table.columnNames.series,A.value.table.columnNames.value],t=_r.value.head.map((e,t)=>{let r=n({p:N.value.prefix,v:_r.value.body[t],s:N.value.suffix,r:A.value.table.td.roundingValue});return[{color:e.color,name:e.name},r]}),r={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};return{colNames:[A.value.table.columnNames.series,A.value.table.columnNames.value],head:e,body:t,config:r}}),$=b(!1);function br(e){$.value=e,qt.value+=1}function xr(){return K.value}function Sr(){H.value.showTable=!H.value.showTable}function Cr(){H.value.dataLabels.show=!H.value.dataLabels.show}function wr(){H.value.showTooltip=!H.value.showTooltip}let Tr=b(!1);function Er(){Tr.value=!Tr.value}let Dr=we(D,()=>I.value.title.text),Or=u(()=>K.value.map(e=>e.name)),kr=b({start:0,end:K.value.length});Ie({timeLabelsEls:sn,timeLabels:Or,slicer:kr,configRef:A,rotationPath:[`style`,`chart`,`labels`,`xAxisLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`labels`,`xAxisLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:B,height:V,targetClass:`.vue-ui-strip-plot-category-name`,rotation:N.value.xAxisLabels.autoRotate.angle});let Ar=u(()=>Oe({config:A,style:I,mutableConfig:H,dialog:Vt,accordion:It,isFullscreen:$,parent:D,maxWidth:800,isCursorPointer:L}));tt(()=>H.value.showTable,e=>De(e,A,nn));function jr(){H.value.showTable=!1,rn.value&&rn.value.setTableIconState(!1)}let Mr=u(()=>I.value.backgroundColor),Nr=u(()=>I.value.title),{isCallbackImaging:Pr,isCallbackSvg:Fr,generateSvg:Ir,onGenerateImage:Lr}=Ee({svg:R,title:Nr,legend:null,legendItems:null,backgroundColor:Mr,getSvgCallback:()=>A.value.userOptions.callbacks.svg,generateImage:Mn});async function Rr(){Wt(`copyAlt`,{config:A.value,dataset:J.value}),A.value.userOptions.callbacks.altCopy?await Promise.resolve(A.value.userOptions.callbacks.altCopy({config:A.value,dataset:J.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function zr(){return J.value.length}function Br(e){return J.value[e]?.plots??[]}function Vr(e=O.value,t=ln.value){return!Number.isInteger(e)||!Number.isInteger(t)?null:Br(e)[t]??null}function Hr(){O.value=null,ln.value=null,k.value=`pointer`,Jt.value=!1,Q.value=null}function Ur(e){if(!e||!R.value)return;let t=R.value.getBoundingClientRect();un.value={x:t.left+e.x/B.value*t.width,y:t.top+e.y/V.value*t.height}}function Wr(e,t){let n=Vr(e,t);n&&(O.value=e,ln.value=t,k.value=`keyboard`,Ur(n),mr({datapoint:n,seriesIndex:e,triggerMode:`keyboard`}))}function Gr(){dn.value=!0,O.value=null,ln.value=null}function Kr(){dn.value=!1,Hr()}function qr(e){if(!R.value||Tr.value||document.activeElement!==R.value||!zr())return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`ArrowUp`,i=e.key===`ArrowDown`,a=e.key===`Enter`||e.key===` `,o=e.key===`Escape`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),o){Hr();return}let s=O.value,c=ln.value;if(s===null||c===null)s=0,c=0;else if(t||n){let e=zr();s=n?(s+1)%e:(s-1+e)%e;let t=Br(s);if(!t.length)return;c=Math.min(c,t.length-1)}else if(r||i){let e=Br(s);if(!e.length)return;c=r?(c+1)%e.length:(c-1+e.length)%e.length}if(a){let e=Vr();if(!e)return;fr({datapoint:e,seriesIndex:O.value})}else Wr(s,c)}let Jr=u(()=>({headers:yr.value?.colNames??[],rows:yr.value?.body?.map(e=>e.map(e=>e&&typeof e==`object`&&`name`in e?e.name:e))??[]}));return Se({getData:xr,getImage:Dr,generatePdf:jn,generateCsv:vr,generateImage:Mn,generateSvg:Ir,toggleTable:Sr,toggleLabels:Cr,toggleTooltip:wr,toggleAnnotator:Er,toggleFullscreen:br,copyAlt:Rr}),tt(()=>[B.value,V.value,N.value,I.value,A.value.style.fontFamily,E.dataset,Tn.value,cn.value,sn.value,an.value,on.value],Un,{flush:`post`,deep:!0}),(e,t)=>(y(),p(`div`,{ref_key:`stripPlotChart`,ref:D,class:Ye(`vue-data-ui-component vue-ui-strip-plot ${$.value?`vue-data-ui-wrapper-fullscreen`:``} ${A.value.useCssAnimation?``:`vue-ui-dna`}`),style:v(`font-family:${A.value.style.fontFamily};width:100%; text-align:center;background:${I.value.backgroundColor};${A.value.responsive?`height:100%`:``}`),id:`strip-plot_${Kt.value}`,onMouseenter:t[2]||=()=>w(yn)(!0),onMouseleave:t[3]||=()=>w(yn)(!1)},[m(`div`,{id:`chart-instructions-${Kt.value}`,class:`sr-only`},[m(`p`,null,C(A.value.a11y.translations.keyboardNavigation),1)],8,it),Jr.value?.rows?.length?(y(),d(Be,{key:0,uid:Kt.value,head:Jr.value.headers,body:Jr.value.rows,notice:A.value.a11y.translations.tableAvailable,caption:A.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),j.value.buttons.annotator?(y(),d(w(zt),{key:1,svgRef:w(R),backgroundColor:I.value.backgroundColor,color:I.value.color,active:Tr.value,isCursorPointer:L.value,palette:j.value.annotatorPalette,onClose:Er},We({_:2},[x(w(Ae),t=>({name:t,fn:T(n=>[S(e.$slots,t,_(g(w(ke)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),Nn.value?(y(),p(`div`,{key:2,ref_key:`noTitle`,ref:Qt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),I.value.title.text?(y(),p(`div`,{key:3,ref_key:`chartTitle`,ref:Xt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),d(Te,{key:`title_${en.value}`,config:{title:{cy:`donut-div-title`,...I.value.title},subtitle:{cy:`donut-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):f(``,!0),j.value.show&&Gt.value&&(w(bn)||w(vn))?(y(),d(w(Rt),{ref_key:`userOptionsRef`,ref:rn,key:`user_option_${qt.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:w(kn),isImaging:w(An),uid:Kt.value,hasTooltip:j.value.buttons.tooltip&&M.value.show,hasPdf:j.value.buttons.pdf,hasXls:j.value.buttons.csv,hasImg:j.value.buttons.img,hasSvg:j.value.buttons.svg,hasTable:j.value.buttons.table,hasLabel:j.value.buttons.labels&&A.value.type!==`violin`,hasFullscreen:j.value.buttons.fullscreen,hasAltCopy:j.value.buttons.altCopy,isTooltip:H.value.showTooltip,isFullscreen:$.value,titles:{...j.value.buttonTitles},chartElement:D.value,position:j.value.position,hasAnnotator:j.value.buttons.annotator,isAnnotation:Tr.value,callbacks:j.value.callbacks,printScale:j.value.print.scale,tableDialog:A.value.table.useDialog,isCursorPointer:L.value,onToggleFullscreen:br,onGeneratePdf:w(jn),onGenerateCsv:vr,onGenerateImage:w(Lr),onGenerateSvg:w(Ir),onToggleTable:Sr,onToggleLabels:Cr,onToggleTooltip:wr,onToggleAnnotator:Er,onCopyAlt:Rr,style:v({visibility:w(bn)?w(vn)?`visible`:`hidden`:`visible`})},We({_:2},[x(w(je)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:T(n=>[S(e.$slots,t,_(g(w(Me)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isTooltip.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):f(``,!0),m(`div`,at,[(y(),p(`svg`,{ref_key:`svgRef`,ref:R,xmlns:w(fe),class:Ye({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value,"vue-data-ui-no-transition":!w(fn)||w(Hn)}),viewBox:`0 0 ${B.value} ${V.value}`,style:v(`max-width:100%; overflow: visible; background:transparent;color:${I.value.color};;visibility:${w(Vn)?`visible`:`hidden`}`),"aria-describedby":`chart-instructions-${Kt.value}`,tabindex:`0`,onFocus:Gr,onBlur:Kr,onKeydown:qr},[Ke(w(Bt)),S(e.$slots,`svg-underlayer`,{svg:{...G.value,isPrintingImg:w(kn)||w(An)||w(Pr),isPrintingSvg:w(Fr),boxPlotSummaries:X.value,series:K.value}},void 0,!0),e.$slots[`chart-background`]?(y(),p(`foreignObject`,{key:0,x:G.value.left,y:G.value.top,width:Math.max(.1,G.value.width),height:Math.max(.1,G.value.height),style:{pointerEvents:`none`}},[S(e.$slots,`chart-background`,{},void 0,!0)],8,st)):f(``,!0),F.value.show?(y(),p(`g`,ct,[F.value.horizontalGrid.show?(y(),p(`g`,lt,[(y(!0),p(l,null,x(lr.value,e=>(y(),p(`line`,{x1:e.x1,x2:e.x2,y1:e.y,y2:e.y,stroke:F.value.horizontalGrid.stroke,"stroke-width":F.value.horizontalGrid.strokeWidth,"stroke-dasharray":F.value.horizontalGrid.strokeDasharray,"stroke-linecap":`round`},null,8,ut))),256))])):f(``,!0),F.value.verticalGrid.show?(y(),p(`g`,dt,[(y(!0),p(l,null,x(K.value,(e,t)=>(y(),p(`line`,{x1:G.value.left+(t+1)*G.value.stripWidth,x2:G.value.left+(t+1)*G.value.stripWidth,y1:G.value.top,y2:G.value.bottom,stroke:F.value.verticalGrid.stroke,"stroke-width":F.value.verticalGrid.strokeWidth,"stroke-dasharray":F.value.verticalGrid.strokeDasharray,"stroke-linecap":`round`},null,8,ft))),256))])):f(``,!0),m(`line`,{x1:G.value.left,x2:G.value.left,y1:G.value.top,y2:G.value.bottom,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,pt),m(`line`,{x1:G.value.left,x2:G.value.right,y1:G.value.bottom,y2:G.value.bottom,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,mt)])):f(``,!0),N.value.yAxisLabels.show?(y(),p(`g`,{key:2,ref_key:`scaleLabels`,ref:cn},[(y(!0),p(l,null,x(lr.value,(e,t)=>(y(),p(`text`,{class:Ye({"vue-data-ui-transition":w(fn)&&!w(Hn)}),key:`sl_${t}`,transform:`translate(${e.x1+N.value.yAxisLabels.offsetX-5}, ${e.y+N.value.yAxisLabels.fontSize/3})`,fill:N.value.yAxisLabels.color,"font-size":N.value.yAxisLabels.fontSize,"text-anchor":`end`},C(w(oe)(N.value.formatter,e.value,w(n)({p:N.value.prefix,v:e.value,s:N.value.suffix,r:N.value.yAxisLabels.rounding}),{datapoint:e,seriesIndex:t})),11,ht))),128))],512)):f(``,!0),N.value.xAxisLabels.show?(y(),p(`g`,{key:3,ref_key:`timeLabelsEls`,ref:sn},[(y(!0),p(l,null,x(Or.value,(e,t)=>(y(),p(`g`,null,[String(e).includes(`
|
|
2
|
+
`)?(y(),p(`text`,{key:1,class:`vue-ui-strip-plot-category-name`,transform:`translate(${G.value.left+(t+1)*G.value.stripWidth-G.value.stripWidth/2}, ${G.value.bottom+N.value.xAxisLabels.fontSize*2+N.value.xAxisLabels.offsetY}), rotate(${N.value.xAxisLabels.rotation})`,"font-size":N.value.xAxisLabels.fontSize,fill:N.value.xAxisLabels.color,"text-anchor":N.value.xAxisLabels.rotation>0?`start`:N.value.xAxisLabels.rotation<0?`end`:`middle`,innerHTML:w(s)({content:w(de)(String(e)),fontSize:N.value.xAxisLabels.fontSize,fill:N.value.xAxisLabels.color,x:0,y:0})},null,8,_t)):(y(),p(`text`,{key:0,class:`vue-ui-strip-plot-category-name`,transform:`translate(${G.value.left+(t+1)*G.value.stripWidth-G.value.stripWidth/2}, ${G.value.bottom+N.value.xAxisLabels.fontSize*2+N.value.xAxisLabels.offsetY}), rotate(${N.value.xAxisLabels.rotation})`,"font-size":N.value.xAxisLabels.fontSize,fill:N.value.xAxisLabels.color,"text-anchor":N.value.xAxisLabels.rotation>0?`start`:N.value.xAxisLabels.rotation<0?`end`:`middle`},C(String(e)),9,gt))]))),256))],512)):f(``,!0),N.value.axis.yLabel?(y(),p(`text`,{key:4,ref_key:`yAxisLabel`,ref:on,fill:N.value.axis.color,"font-size":N.value.axis.fontSize,transform:`translate(${N.value.axis.fontSize}, ${G.value.top+G.value.height/2}) rotate(-90)`,"text-anchor":`middle`},C(N.value.axis.yLabel),9,vt)):f(``,!0),N.value.axis.xLabel?(y(),p(`text`,{key:5,ref_key:`xAxisLabel`,ref:an,fill:N.value.axis.color,"font-size":N.value.axis.fontSize,x:G.value.left+G.value.width/2,y:V.value-N.value.axis.fontSize/3,"text-anchor":`middle`},C(N.value.axis.xLabel),9,yt)):f(``,!0),Q.value?(y(),p(l,{key:6},[m(`line`,{x1:G.value.left,x2:G.value.right,y1:Q.value.y,y2:Q.value.y,stroke:Q.value.color,"stroke-width":1,class:Ye({"select-circle":A.value.useCssAnimation})},null,10,bt),m(`circle`,{cx:G.value.left,cy:Q.value.y,r:3,fill:Q.value.color,class:Ye({"select-circle":A.value.useCssAnimation})},null,10,xt),m(`circle`,{cx:G.value.right,cy:Q.value.y,r:3,fill:Q.value.color,class:Ye({"select-circle":A.value.useCssAnimation})},null,10,St)],64)):f(``,!0),m(`defs`,null,[(y(!0),p(l,null,x(K.value,e=>(y(),d(ze,{t:`radial`,id:e.id,key:`r_${e.id}`,fy:`30%`,stops:[[`10%`,w(a)(e.color,I.value.plots.gradient.intensity/100),1],[`90%`,w(c)(e.color,.1),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`]))),128))]),(y(!0),p(l,null,x(tr.value,(e,n)=>(y(),p(l,{key:e.id},[e.path?(y(),p(`path`,{key:0,d:e.path,fill:e.fill,stroke:e.color,"fill-opacity":P.value.opacity,"stroke-opacity":P.value.strokeOpacity,"stroke-width":P.value.strokeWidth,style:v({pointerEvents:Y.value?`auto`:`none`,cursor:Y.value&&L.value?`pointer`:`default`}),onMouseenter:e=>Y.value&&X.value[n]&&gr({boxPlot:X.value[n],seriesIndex:n,triggerMode:`pointer`}),onMouseleave:t[0]||=e=>Y.value&&hr()},null,44,Ct)):f(``,!0),(y(!0),p(l,null,x(e.connectors,(t,n)=>(y(),p(`line`,{key:`violin_connector_${e.id}_${n}`,x1:t.x,x2:t.x,y1:t.y1,y2:t.y2,stroke:e.color,"stroke-opacity":P.value.strokeOpacity,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,style:{"pointer-events":`none`}},null,8,wt))),128))],64))),128)),(y(!0),p(l,null,x(X.value,(e,t)=>(y(),p(`g`,{key:`boxplot_${e.id}`,style:v({cursor:L.value?`pointer`:`default`}),onMouseenter:n=>gr({boxPlot:e,seriesIndex:t,triggerMode:`pointer`}),onMouseleave:hr},[m(`line`,{x1:e.centerX,x2:e.centerX,y1:e.upperY,y2:e.lowerY,stroke:w(c)(e.boxPlotColor,.2),"stroke-width":Math.max(1,P.value.strokeWidth),"stroke-linecap":`round`},null,8,Et),m(`rect`,{x:e.boxLeft,y:Math.min(e.q1Y,e.q3Y),width:e.boxWidth,height:Math.max(1,Math.abs(e.q3Y-e.q1Y)),fill:e.boxPlotColor,stroke:w(c)(e.boxPlotColor,.2),"stroke-width":Math.max(1,P.value.strokeWidth),rx:e.boxWidth/20},null,8,Dt),m(`circle`,{cx:e.boxLeft+e.boxWidth/2,cy:e.medianY,r:e.boxWidth/3*Math.min(1,P.value.boxPlot.medianCircleRadiusRatio),fill:P.value.boxPlot.medianCircleFill,stroke:w(c)(e.boxPlotColor,.2)},null,8,Ot)],44,Tt))),128)),(y(!0),p(l,null,x(J.value,(t,r)=>(y(),p(l,null,[Y.value?f(``,!0):(y(!0),p(l,{key:0},x(t.plots,(n,r)=>(y(),d(Le,qe({ref_for:!0},e.$attrs,{plot:{x:n.x,y:$t.value?n.y:G.value.top},radius:Q.value&&Q.value.id===n.id?U.value*1.5:U.value,shape:I.value.plots.shape,stroke:I.value.plots.stroke,strokeWidth:I.value.plots.strokeWidth,color:I.value.plots.gradient.show?`url(#${t.id})`:t.color,style:`transition: all 0.2s ease-in-out; opacity:${Q.value?Q.value.id===n.id?1:.2:I.value.plots.opacity};${Fn.value?`transition-delay:${r*50}ms`:``}`,class:{"vue-ui-strip-plot-animated":A.value.useCssAnimation&&Fn.value&&!w(hn),"vue-ui-strip-plot-select-circle":A.value.useCssAnimation&&!Fn.value},onMouseenter:e=>mr({datapoint:n,seriesIndex:r,triggerMode:`pointer`}),onMouseleave:e=>dr({datapoint:n,seriesIndex:r}),onClick:e=>fr({datapoint:n,seriesIndex:r})}),null,16,[`plot`,`radius`,`shape`,`stroke`,`strokeWidth`,`color`,`style`,`class`,`onMouseenter`,`onMouseleave`,`onClick`]))),256)),H.value.dataLabels.show&&!Y.value?(y(),p(`g`,kt,[(y(!0),p(l,null,x(t.plots,(e,r)=>(y(),p(l,null,[r===t.plots.length-1||Q.value&&Q.value.id===e.id&&!H.value.showTooltip?(y(),p(`text`,{key:0,x:e.x,y:e.y+N.value.bestPlotLabel.offsetY-U.value*(Q.value&&Q.value.id===e.id&&!H.value.showTooltip?2:1.5),"font-size":N.value.bestPlotLabel.fontSize,fill:N.value.bestPlotLabel.color,"text-anchor":`middle`,style:v(`opacity:${A.value.useCssAnimation?+!Fn.value:1};transition:opacity 0.2s ease-in;`)},C(e.name)+` `+C(N.value.bestPlotLabel.showValue?w(oe)(N.value.formatter,e.value,w(n)({p:`(${N.value.prefix}`,v:e.value,s:`${N.value.suffix})`,r:I.value.labels.bestPlotLabel.rounding}),{datapoint:e,seriesIndex:r}):``),13,At)):f(``,!0)],64))),256))])):f(``,!0)],64))),256)),S(e.$slots,`svg`,{svg:{...G.value,isPrintingImg:w(kn)||w(An)||w(Pr),isPrintingSvg:w(Fr),boxPlotSummaries:X.value,series:K.value}},void 0,!0)],46,ot)),e.$slots.hint?(y(),p(`div`,jt,[S(e.$slots,`hint`,_(g({hint:A.value.a11y.translations.keyboardNavigation,isVisible:dn.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(y(),p(`div`,Mt,[S(e.$slots,`watermark`,_(g({isPrinting:w(kn)||w(An)||w(Pr)||w(Fr)})),void 0,!0)])):f(``,!0),e.$slots.source?(y(),p(`div`,{key:6,ref_key:`source`,ref:Zt,dir:`auto`},[S(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),Ke(w(Pt),{teleportTo:M.value.teleportTo,show:H.value.showTooltip&&Jt.value,backgroundColor:M.value.backgroundColor,color:M.value.color,borderRadius:M.value.borderRadius,borderColor:M.value.borderColor,borderWidth:M.value.borderWidth,fontSize:M.value.fontSize,backgroundOpacity:M.value.backgroundOpacity,position:M.value.position,offsetX:M.value.offsetX,offsetY:M.value.offsetY,parent:D.value,content:Yt.value,isFullscreen:$.value,isCustom:w(i)(M.value.customFormat),smooth:M.value.smooth,backdropFilter:M.value.backdropFilter,smoothForce:M.value.smoothForce,smoothSnapThreshold:M.value.smoothSnapThreshold,isA11yMode:k.value===`keyboard`,a11yPosition:un.value},{"tooltip-before":T(()=>[S(e.$slots,`tooltip-before`,_(g({...ur.value})),void 0,!0)]),tooltip:T(()=>[S(e.$slots,`tooltip`,_(g({...ur.value})),void 0,!0)]),"tooltip-after":T(()=>[S(e.$slots,`tooltip-after`,_(g({...ur.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`]),Gt.value&&j.value.buttons.table?(y(),d(Qe(Ar.value.component),qe({key:7},Ar.value.props,{ref_key:`tableUnit`,ref:nn,onClose:jr}),We({content:T(()=>[(y(),d(w(Lt),{key:`table_${tn.value}`,colNames:yr.value.colNames,head:yr.value.head,body:yr.value.body,config:yr.value.config,title:A.value.table.useDialog?``:Ar.value.title,withCloseButton:!A.value.table.useDialog,isCursorPointer:L.value,onClose:jr},{th:T(({th:e})=>[m(`div`,Nt,C(e),1)]),td:T(({td:e})=>[Ge(C(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[A.value.table.useDialog?{name:`title`,fn:T(()=>[Ge(C(Ar.value.title),1)]),key:`0`}:void 0,A.value.table.useDialog?{name:`actions`,fn:T(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>vr(j.value.callbacks.csv),style:v({cursor:L.value?`pointer`:`default`})},[Ke(w(Ft),{name:`fileCsv`,stroke:Ar.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),S(e.$slots,`skeleton`,{},()=>[w(hn)?(y(),d(ye,{key:0})):f(``,!0)],!0)],46,rt))}},[[`__scopeId`,`data-v-1ee3f63b`]]);export{nt as n,Pt as t};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,C as r,D as i,Ft as a,Ht as o,Jt as ee,X as te,d as s,in as ne,nt as re,r as ie}from"./lib-rPeBMZrn.js";import{n as ae,t as oe}from"./useHints-BH9r_0Vd.js";import{t as se}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as c}from"./BaseIcon-Cm-IJ179.js";import{t as l}from"./vue-ui-xy-CFgFg11v.js";import{t as ce}from"./vue-ui-donut-CDryub1L.js";import{Fragment as u,computed as d,createBlock as le,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createTextVNode as h,createVNode as ue,defineAsyncComponent as de,nextTick as fe,normalizeClass as g,normalizeStyle as _,onMounted as pe,openBlock as v,ref as y,renderList as b,toDisplayString as x,unref as S,useCssVars as me,vModelSelect as he,vModelText as ge,watch as _e,withCtx as ve,withDirectives as ye,withKeys as be,withModifiers as xe}from"vue";var Se=/* @__PURE__ */ e({default:()=>dn}),Ce=[`innerHTML`],we=[`data-is-open`],Te={class:`vue-ui-table-export-hub-options`},Ee={class:`vue-ui-table-export-hub-option-wrapper`},De={class:`label`},Oe=[`innerHTML`],ke={class:`vue-ui-table-export-hub-option-wrapper`},Ae={class:`label`},je=[`innerHTML`],Me={class:`vue-ui-table-dialog-field`},Ne={class:`label vue-ui-table-dialog-input-label`,style:{width:`100%`}},Pe={style:{width:`fit-content`}},Fe={class:`vue-ui-table`},Ie={key:0},Le={key:0},Re={key:1},ze={key:0,style:{display:`flex`,"align-items":`center`,"justify-content":`flex-end`}},Be=[`innerHTML`],Ve={key:0,style:{"margin-left":`3px`}},He={key:0},Ue={class:`th-filter`},We={key:0,class:`th-date`},Ge={class:`date-wrapper--inputs`},Ke={class:`date-fieldset`},qe=[`for`],Je=[`id`,`onUpdate:modelValue`,`onInput`],Ye={class:`date-fieldset`},Xe=[`for`],Ze=[`id`,`onUpdate:modelValue`,`onInput`],Qe={class:`date-wrapper--button`},$e=[`onClick`],et=[`innerHTML`],tt=[`innerHTML`],nt=[`innerHTML`],rt=[`onClick`,`disabled`],it=[`placeholder`,`onUpdate:modelValue`,`name`],at=[`onClick`],ot=[`innerHTML`],st=[`innerHTML`],ct=[`innerHTML`],lt=[`onClick`,`innerHTML`],ut=[`innerHTML`],dt={key:5,class:`th-range-filter`},ft=[`for`],pt=[`id`,`max`,`min`,`onUpdate:modelValue`],mt=[`id`,`max`,`min`,`onUpdate:modelValue`],ht=[`for`],gt=[`onClick`,`disabled`],_t=[`id`],vt=[`onClick`],yt=[`onClick`,`onKeyup`],bt=[`innerHTML`,`onClick`,`onKeyup`],xt=[`data-row`],St=[`data-row`],Ct=[`data-row`,`onClick`,`onKeyup`,`id`],wt=[`innerHTML`],Tt={key:1},Et={key:2},Dt={key:5},Ot=[`innerHTML`],kt={key:0},At={style:{"margin-left":`12px`}},jt={class:`format-num`},Mt={style:{"margin-left":`12px`}},Nt={key:0,class:`format-num`},Pt={key:1,class:`format-num`},Ft={key:2},It={style:{"margin-left":`12px`}},Lt={key:0,class:`format-num`},Rt={key:1,class:`format-num`},zt={key:2},Bt={key:1,class:`vue-ui-table-paginator format-num`},Vt={key:2,class:`vue-ui-table-size-warning`},Ht=[`innerHTML`],Ut={key:4,class:`vue-ui-table-pagination format-num`},Wt=[`innerHTML`,`disabled`],Gt=[`disabled`],Kt={for:`pageScroller`,style:{"font-size":`14px`}},qt=[`max`,`value`],Jt={key:1},Yt=[`disabled`],Xt=[`innerHTML`,`disabled`],Zt={class:`vue-ui-table-chart-modal-options`},Qt=[`innerHTML`],$t=[`innerHTML`],en=[`innerHTML`],tn={style:{width:`100%`,height:`fit-content`}},nn={class:`vue-ui-table-fieldset`},rn={class:`vue-ui-table-fieldset-wrapper`},an=[`name`,`id`,`checked`,`onInput`],on=[`for`],sn=[`disabled`],cn=[`innerHTML`],ln={style:{width:`100%`,"margin-bottom":`12px`}},un={key:2,style:{width:`100%`,"margin-bottom":`32px`}},dn=/*#__PURE__*/ se({__name:`vue-ui-table`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},emits:[`page-change`],setup(e,{expose:se,emit:Se}){me(e=>({v6b779b9d:Ln.value,v71f90aa0:Rn.value,v82bf5584:Hn.value,bc0e3a90:zn.value,v4bc5be6a:Un.value,v542dfbf0:Wn.value,v5935dfae:Bn.value,v23648322:Vn.value,v98d33e98:Gn.value}));let dn=de(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),C=e,fn=Se,{vue_ui_table:pn}=t(),mn=te();y(null);let hn=y(null),gn=y(null),w=y({height:316,type:`bar`,width:512}),T=y({ASC:1,BAR:`bar`,DATE:`date`,DESC:-1,DONUT:`donut`,LINE:`line`,NUMERIC:`numeric`,PERCENTAGE:`percentage`,TEXT:`text`}),_n=y(100),vn=y(100);y(0),y(0),y(400),y(200);let yn=y({CELL:`smart-td-selected`,FIRST_TD:`smart-td-selected-first`,LAST_TD:`smart-td-selected-last`,ROW:`smart-td-selected-neighbor`}),bn=y(void 0),xn=y(void 0),E=y({col:void 0,rows:[]}),D=y(0),O=y(20),Sn=y(!1),Cn=y(!1),k=y({}),A=y({}),wn=y({}),j=y({}),M=y({}),N=y({}),P=y({}),F=y({}),I=y({}),Tn=y(C.config.rowsPerPage?C.config.rowsPerPage:25),En=y([.../* @__PURE__ */ new Set([10,25,50,100,250,500,C.config.rowsPerPage?C.config.rowsPerPage:25,C.dataset.body.length])].sort((e,t)=>e-t)),Dn=y(void 0),L=y(void 0),On=y(void 0),R=y(!1),kn=y(0),An=y(``),jn=y(``),z=y(!1),B=y(JSON.parse(JSON.stringify(C.dataset.body)).map((e,t)=>({...e,absoluteIndex:t}))),Mn=y(JSON.parse(JSON.stringify(C.dataset.body)).map((e,t)=>({...e,absoluteIndex:t}))),V=y(JSON.parse(JSON.stringify(C.dataset.header)).map((e,t)=>({average:Object.hasOwn(e,`average`)?e.average:!1,decimals:Object.hasOwn(e,`decimals`)?e.decimals:0,isMultiselect:Object.hasOwn(e,`isMultiselect`)?e.isMultiselect:!1,isPercentage:Object.hasOwn(e,`isPercentage`)?e.isPercentage:!1,isSearch:Object.hasOwn(e,`isSearch`)?e.isSearch:!1,isSort:Object.hasOwn(e,`isSort`)?e.isSort:!1,name:e.name,percentageTo:Object.hasOwn(e,`percentageTo`)?e.percentageTo:void 0,prefix:Object.hasOwn(e,`prefix`)?e.prefix:``,rangeFilter:Object.hasOwn(e,`rangeFilter`)?e.rangeFilter:!1,suffix:Object.hasOwn(e,`suffix`)?e.suffix:``,sum:Object.hasOwn(e,`sum`)?e.sum:!1,type:e.type,index:t}))),Nn=d(()=>hn.value?hn.value.getBoundingClientRect().height+3:3),H=d(()=>{if(!Object.keys(C.config||{}).length)return pn;let e=ne({defaultConfig:pn,userConfig:C.config});return r(e)}),U=d(()=>H.value.style.exportMenu),W=d(()=>H.value.style.title),G=d(()=>H.value.style.th),K=d(()=>H.value.style.inputs),Pn=d(()=>H.value.style.dropdowns),Fn=d(()=>H.value.style.closeButtons),q=d(()=>H.value.style.rows),J=d(()=>H.value.style.pagination),Y=d(()=>H.value.style.chart),In=d(()=>H.value.style);ae({config:()=>H.value,dataset:()=>C.dataset,component:`VueUiTable`,rules:[oe.noHint]});let X=d(()=>H.value.useCursorPointer),Ln=d(()=>G.value.buttons.cancel.inactive.backgroundColor),Rn=d(()=>G.value.buttons.cancel.inactive.color),zn=d(()=>G.value.buttons.cancel.active.backgroundColor),Bn=d(()=>G.value.buttons.filter.active.backgroundColor),Vn=d(()=>G.value.buttons.filter.active.color),Hn=d(()=>a(zn.value,.33)),Un=d(()=>ee(zn.value,33)),Wn=d(()=>a(Bn.value,.33)),Gn=d(()=>ee(Bn,33)),Kn=d(()=>[...V.value].filter(e=>e.type===T.value.DATE)),qn=d(()=>[``,...Kn.value.map(e=>e.name)]),Jn=d(()=>{let e=Kn.value.find(e=>e.name===An.value);return e?e.index:null}),Z=d(()=>{let e=[];if(B.value.length)for(let t=0;t<B.value.length;t+=Tn.value)e.push(B.value.slice(t,t+Tn.value));return e}),Yn=d(()=>Z.value[D.value]),Xn=d(()=>Jn.value==null?[]:Yn.value.map(e=>e.td[Jn.value])),Zn=d(()=>Object.keys(M.value).map(e=>({index:e,name:C.dataset.header[e].name,options:M.value[e]}))),Qn=d(()=>H.value.useChart&&E.value.rows.length>1),$n=d(()=>C.dataset.header.map(e=>e.type).includes(T.value.NUMERIC)),Q=d(()=>({arrowSort:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 9l4 -4l4 4m-4 -4v14" /><path d="M21 15l-4 4l-4 -4m4 4v-14" /></svg>`,bar:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 12m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M9 8m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M15 4m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M4 20l14 0" /></svg>`,chart:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 19l16 0" /><path d="M4 15l4 -6l4 2l4 -5l4 4" /></svg>`,chevronDown:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 9l6 6l6 -6" /></svg>`,chevronLeft:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value*1.6}" height="${O.value*1.6}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 6l-6 6l6 6" /></svg>`,chevronRight:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value*1.6}" height="${O.value*1.6}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 6l6 6l-6 6" /></svg>`,donut:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value*.8}" height="${O.value*.8}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 3v5m4 4h5" /><path d="M8.929 14.582l-3.429 2.918" /><path d="M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0" /><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" /></svg>`,export:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12.5 21h-7.5a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v7.5" /><path d="M3 10h18" /><path d="M10 3v18" /><path d="M16 19h6" /><path d="M19 16l3 3l-3 3" /></svg>`,fileDownload:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14 3v4a1 1 0 0 0 1 1h4" /><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z" /><path d="M12 17v-6" /><path d="M9.5 14.5l2.5 2.5l2.5 -2.5" /></svg>`,filter:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z" /></svg>`,move:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 9l3 3l-3 3" /><path d="M15 12h6" /><path d="M6 9l-3 3l3 3" /><path d="M3 12h6" /><path d="M9 18l3 3l3 -3" /><path d="M12 15v6" /><path d="M15 6l-3 -3l-3 3" /><path d="M12 3v6" /></svg>`,sort09:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /><path d="M17 3a2 2 0 0 1 2 2v3a2 2 0 1 1 -4 0v-3a2 2 0 0 1 2 -2z" /><path d="M17 16m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M19 16v3a2 2 0 0 1 -2 2h-1.5" /></svg>`,sort90:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /><path d="M17 14a2 2 0 0 1 2 2v3a2 2 0 1 1 -4 0v-3a2 2 0 0 1 2 -2z" /><path d="M17 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M19 5v3a2 2 0 0 1 -2 2h-1.5" /></svg>`,sortAZ:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 10v-5c0 -1.38 .62 -2 2 -2s2 .62 2 2v5m0 -3h-4" /><path d="M19 21h-4l4 -7h-4" /><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /></svg>`,sortZA:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 21v-5c0 -1.38 .62 -2 2 -2s2 .62 2 2v5m0 -3h-4" /><path d="M19 10h-4l4 -7h-4" /><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /></svg>`,sum:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>`,table:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" fill="white" d="M 10 2, 21 2, 21 21, 10 21Z"/><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14z" /><path d="M3 10h18" /><path d="M10 3v18" /></svg>`,warning:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value*.8}" height="${O.value*.8}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M10.24 3.957l-8.422 14.06a1.989 1.989 0 0 0 1.7 2.983h16.845a1.989 1.989 0 0 0 1.7 -2.983l-8.423 -14.06a1.989 1.989 0 0 0 -3.4 0z" /><path d="M12 9v4" /><path d="M12 17h.01" /></svg>`,grip:`<svg xmlns="http://www.w3.org/2000/svg" width="${O.value}" height="${O.value}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><path d="M5 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M5 15m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M12 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M12 15m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M19 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /><path d="M19 15m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /></svg>`})),er=d(()=>B.value.map(e=>e.td)),tr=d(()=>({sumPercentage:Number((E.value.rows.map(e=>e.value).reduce((e,t)=>e+t,0)*100).toFixed(C.dataset.header[E.value.col].decimals)).toLocaleString(),sumRegular:Number(E.value.rows.map(e=>e.value).reduce((e,t)=>e+t,0).toFixed(C.dataset.header[E.value.col].decimals)).toLocaleString(),averagePercentage:Number((E.value.rows.map(e=>e.value).reduce((e,t)=>e+t,0)/E.value.rows.length*100).toFixed(C.dataset.header[E.value.col].decimals)).toLocaleString(),averageRegular:Number((E.value.rows.map(e=>e.value).reduce((e,t)=>e+t,0)/E.value.rows.length).toFixed(C.dataset.header[E.value.col].decimals)).toLocaleString()})),nr=y({width:1e3,height:500});function rr({width:e,height:t}){nr.value={width:e,height:t}}let ir=d(()=>{if(!Qn.value)return[];let e=nr.value.height,t=nr.value.width,n=t/E.value.rows.length,r=Math.max(...E.value.rows.map(e=>e.value)),i=Math.min(...E.value.rows.map(e=>e.value)),o=C.dataset.header[E.value.col].isPercentage&&C.dataset.header[E.value.col].percentageTo,ee=w.value.type===T.value.DONUT&&L.value&&L.value.name,te=C.dataset.header[E.value.col].name+(o?` / ${C.dataset.header[N.value[E.value.col].referenceIndex].name}`:``)+(ee?` ${H.value.translations.by} ${L.value.name}`:``),ne=C.dataset.header[E.value.col].prefix,re=C.dataset.header[E.value.col].suffix,ae=[{name:te,series:E.value.rows.map(e=>e.value),type:`line`,useProgression:!0,smooth:Y.value.layout.line.smooth,color:Y.value.layout.line.stroke,useArea:Y.value.layout.line.useArea}],oe=[{name:te,series:E.value.rows.map(e=>e.value),type:`bar`,useProgression:!0,color:Y.value.layout.bar.fill}],se=Y.value.modal.backgroundColor,c=ie(se),l=C.dataset.header[E.value.col].decimals,ce={useCssAnimation:!1,chart:{width:t,height:e-250,backgroundColor:se,color:c,labels:{fontSize:18,prefix:ne,suffix:re},grid:{stroke:a(c,.5),labels:{color:c,xAxisLabels:{color:c,show:Xn.value.length,values:Xn.value,datetimeFormatter:Y.value.layout.datetimeFormatter,showOnlyAtModulo:Y.value.layout.timeLabels.showOnlyAtModulo,modulo:Y.value.layout.timeLabels.modulo}}},highlighter:{color:c},legend:{color:c,show:!1},title:{text:te,color:c,textAlign:`center`,fontSize:18},tooltip:{showTimeLabel:Xn.value.length,backgroundOpacity:30,color:c,backgroundColor:se,showPercentage:!1,roundingValue:l},userOptions:{buttons:{pdf:!1,csv:!1,table:!1,annotator:!1}},zoom:{show:Y.value.layout.zoom.show,autoFit:Y.value.layout.zoom.autoFit,focusOnDrag:!0,minimap:{show:!0}}},line:{labels:{show:!0,color:c,rounding:l},dot:{useSerieColor:!1,fill:Y.value.layout.line.plot.fill,strokeWidth:Y.value.layout.line.plot.strokeWidth}},bar:{useGradient:!1,border:{useSerieColor:!1,stroke:Y.value.layout.bar.stroke,strokeWidth:Y.value.layout.bar.strokeWidth},labels:{show:!0,color:c,rounding:l}}},u=i>=0?0:Math.abs(i),d=r+u,le=C.dataset.header[E.value.col].isPercentage,f=E.value.rows.map((t,r)=>({x:n*r+n/2,y:(1-(t.value+u)/d)*e,value:le?t.value*100:t.value,suffix:le?`%`:C.dataset.header[E.value.col].suffix?C.dataset.header[E.value.col].suffix:``,prefix:C.dataset.header[E.value.col].prefix?C.dataset.header[E.value.col].prefix:``,index:t.index,absoluteValue:le?Math.abs(t.value)*100:Math.abs(t.value)}));return{donutConfig:{useCssAnimation:!1,userOptions:{position:`left`,buttons:{pdf:!1,csv:!1,table:!1,annotator:!1}},style:{chart:{backgroundColor:se,color:c,layout:{curvedMarkers:!0,donut:{strokeWidth:64},labels:{dataLabels:{suffix:le?`%`:``,prefix:ne},value:{rounding:l},percentage:{color:c,rounding:l},name:{color:c},hollow:{average:{color:c,text:H.value.translations.average,value:{color:c}},total:{color:c,offsetY:-12,text:H.value.translations.total,value:{color:c,offsetY:-12}}}}},legend:{backgroundColor:se,color:c,roundingValue:l,roundingPercentage:l},padding:{left:12,right:12},title:{text:te,color:c,fontSize:18},tooltip:{backgroundOpacity:30,color:c,backgroundColor:se,roundingValue:l,roundingValue:l}}}},xyConfig:ce,xyDatasetLine:ae,xyDatasetBar:oe,progression:f.length>=2&&s(f)}});function ar(){let e=L.value.options.map((e,t)=>({name:e,color:o[t]||o[t%o.length],values:[Yn.value.filter((t,n)=>t.td[L.value.index]===e&&E.value.rows.map(e=>e.index).includes(n)).map(e=>e.td[E.value.col]).reduce((e,t)=>Math.abs(e)+Math.abs(t),0)],absoluteValue:Yn.value.filter((t,n)=>t.td[L.value.index]===e&&E.value.rows.map(e=>e.index).includes(n)).map(e=>e.td[E.value.col]).reduce((e,t)=>e+t,0)})).sort((e,t)=>t.value-e.value);bn.value=e,fe(()=>{w.value.type=T.value.DONUT,z.value=!1})}function or(e,t){return!A.value[e]&&(t.isSort||t.isSearch||t.isMultiselect||t.rangeFilter)&&![T.value.DATE].includes(t.type)}function sr(e=`all`){let t=C.dataset.header.map(e=>e.name),n=e===`all`?B.value.map(e=>e.td):Yn.value.map(e=>e.td),r=[t].concat(n),a=i(r);re({csvContent:a,title:jn.value})}function cr(){let e=document.getElementsByClassName(`th-dropdown`);e.length&&Array.from(e).forEach(e=>{e.dataset.isOpen=!1})}function lr(e,t){let n;clearTimeout(n),n=setTimeout(e,t)}function ur(){let e=document.getElementsByClassName(`tr_${mn}`);Array.from(e).forEach(e=>{Array.from(e.getElementsByTagName(`td`)).forEach(e=>{e.dataset.row===`even`?(e.style.background=q.value.even.backgroundColor,e.style.color=q.value.even.color):(e.style.background=q.value.odd.backgroundColor,e.style.color=q.value.odd.color)})}),Array.from(e).forEach(e=>e.dataset.selected=`false`),D.value>Z.value.length-1&&(D.value=Z.value.length-1),R.value=!1,bn.value=void 0,Dn.value=void 0,w.value.type=T.value.BAR,E.value={col:void 0,rows:[]},_n.value=100,vn.value=100}function dr(e,t){B.value=e.filter(e=>e.td[t]>=P.value[t].min&&e[t]<=P.value[t].max)}function fr(e,t){if(I.value[t]===T.value.ASC&&(e=e.sort((e,n)=>e[t]-n[t])),I.value[t]===T.value.DESC)e=e.sort((e,n)=>n[t]-e[t]);else return 0}function pr(){ur(),Object.keys(P.value).forEach(e=>{dr(B.value,e)}),Object.keys(I.value).forEach(e=>{fr(B.value,e)}),xn.value!==void 0&&fr(B.value,xn.value),C.dataset.header.forEach((e,t)=>{if(e.isPercentage){let e=N.value[t].referenceIndex,n=B.value.map(t=>t.td[e]).reduce((e,t)=>e+t,0);B.value.forEach(r=>{r.td[t]=r.td[e]/n})}}),D.value>Z.value.length-1&&(D.value=Z.value.length-1),[-1].includes(D.value)&&(D.value=0)}function mr(){B.value=Mn.value.filter(e=>{for(let t in F.value)if(!e.td[t].toUpperCase().includes(F.value[t].toUpperCase()))return!1;for(let t in M.value)if(!M.value[t].some(n=>n===e.td[t]))return!1;for(let t in k.value){let n=new Date(e.td[t]),r=new Date(k.value[t].from),i=new Date(k.value[t].to);if(n<r||n>i)return!1}return!0}),pr()}function hr(e){return er.value.map(t=>t[e]).map(e=>isNaN(Number(e))?0:e).reduce((e,t)=>e+t,0)/B.value.length}function gr(e){let t=C.dataset.body.map(t=>new Date(t.td[e])),n=new Date(Math.min(...t)),r=new Date(Math.max(...t)),i=n.getFullYear(),a=r.getFullYear(),o=String(n.getMonth()+1).padStart(2,`0`),ee=String(r.getMonth()+1).padStart(2,`0`),te=String(n.getDate()).padStart(2,`0`),s=String(r.getDate()).padStart(2,`0`);return{from:`${i}-${o}-${te}`,to:`${a}-${ee}-${s}`}}function $(e){return[...new Set(C.dataset.body.map(t=>t.td[e]))]}function _r(e){return er.value.map(t=>t[e]).map(e=>isNaN(Number(e))?0:e).reduce((e,t)=>e+t,0)}function vr(e){return e.includes(NaN)}function yr(e,t){return!M.value[t]||M.value[t].includes(e)}function br(e){return!isNaN(Number(String(e).replaceAll(`%`,``)))}function xr(e,t){let n=t.isSort,r=t.isSearch,i=t.isMultiselect&&M.value[e],a=t.rangeFilter,o=e=>{if(a&&P.value[e])return Math.round(P.value[e].min)===j.value[e].min&&Math.round(P.value[e].max)===j.value[e].max};if(n&&r&&i&&a)return[``,void 0].includes(F.value[e])&&[void 0].includes(I.value[e])&&M.value[e].length===$(e).length&&o(e);if(n&&r&&i)return[``,void 0].includes(F.value[e])&&[void 0].includes(I.value[e])&&M.value[e].length===$(e).length;if(n&&r&&a)return[``,void 0].includes(F.value[e])&&[void 0].includes(I.value[e])&&o(e);if(n&&r)return[``,void 0].includes(F.value[e])&&[void 0].includes(I.value[e]);if(n&&i&&a)return[void 0].includes(I.value[e])&&M.value[e].length===$(e).length&&o(e);if(n&&i)return[void 0].includes(I.value[e])&&M.value[e].length===$(e).length;if(r&&i&&a)return[``,void 0].includes(F.value[e])&&M.value[e].length===$(e).length&&o(e);if(r&&i)return[``,void 0].includes(F.value[e])&&M.value[e].length===$(e).length;if(r&&a)return[``,void 0].includes(F.value[e])&&o(e);if(r)return[``,void 0].includes(F.value[e]);if(n&&a)return[void 0].includes(I.value[e])&&o(e);if(n)return[void 0].includes(I.value[e]);if(i&&a)return M.value[e].length===$(e).length&&o(e);if(i)return M.value[e].length===$(e).length}function Sr(){return{totalPages:Z.value.length,itemsPerPage:Tn.value,currentPage:D.value,currentPageData:Yn.value.map(e=>e.td)}}se({getCurrentPageData:Sr});function Cr(){fn(`page-change`,Sr())}let wr=y(null);function Tr(e){if(ur(),e===`next`&&D.value<Z.value.length){if(D.value+1>Z.value.length-1)return;D.value+=1}else if(e===`previous`&&D.value>=1)--D.value;else{if(e-1<0||e>Z.value.length||e===`previous`)return;D.value=e-1}Cr(),wr.value&&wr.value.scrollTo({top:0,left:0,behavior:`smooth`})}function Er(e){e.preventDefault();let t=e.keyCode;if(![38,40,37,39].includes(t))return;let n=e.target.id.match(/cell_(\d+)_(\d+)_([0-9a-fA-F-]{36})/),r=parseInt(n[1]),i=parseInt(n[2]),a=document.getElementById(`cell_${r}_${i+1}_${mn}`),o=document.getElementById(`cell_${r}_${i-1}_${mn}`),ee=document.getElementById(`cell_${r+1}_${i}_${mn}`),te=document.getElementById(`cell_${r-1}_${i}_${mn}`),s;switch(!0){case t===39:s=a;break;case t===37:s=o;break;case t===38:s=te;break;case t===40:s=ee;break;default:return}s&&(s.focus(),s.scrollIntoView({behavior:`smooth`,block:`center`}))}function Dr(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e.charCodeAt(n);return t}async function Or(){return new Promise(e=>{let t=[];V.value.forEach((e,n)=>{if(e.isSearch&&Object.assign(F.value,{[n]:``}),e.isMultiselect&&Object.assign(M.value,{[n]:$(n)}),e.type===T.value.DATE&&(Object.assign(k.value,{[n]:gr(n)}),Object.assign(wn.value,{[n]:!1})),(e.isPercentage||e.percentageTo)&&Object.assign(N.value,{[n]:{reference:e.percentageTo,referenceIndex:C.dataset.header.map(e=>e.name).indexOf(e.percentageTo)}}),e.rangeFilter&&(Object.assign(P.value,{[n]:{min:Math.round(Math.min(...C.dataset.body.map(e=>e.td).map(e=>e[n]))),max:Math.round(Math.max(...C.dataset.body.map(e=>e.td).map(e=>e[n])))}}),Object.assign(j.value,{[n]:{min:Math.round(Math.min(...C.dataset.body.map(e=>e.td).map(e=>e[n]))),max:Math.round(Math.max(...C.dataset.body.map(e=>e.td).map(e=>e[n])))}})),e.isPercentage){let r=C.dataset.header.map(e=>e.name).indexOf(e.percentageTo),i=C.dataset.body.map(e=>e.td[r]).reduce((e,t)=>e+t,0);t.push([n,r,i])}e.type===T.value.NUMERIC&&!e.isPercentage&&Object.assign(A.value,{[n]:vr(C.dataset.body.map(e=>Number(e.td[n])))})}),B.value.forEach((e,n)=>{t.map(t=>{let[n,r,i]=t;e.td[n]=e.td[r]/i}),e.td.forEach((t,r)=>{C.dataset.header[r].type===T.value.TEXT&&C.dataset.header[r].isSearch&&(e[r]=Dr(t)),C.dataset.header[r].type===T.value.DATE&&(e[r]=new Date(t).getTime()),C.dataset.header[r].type===T.value.NUMERIC&&(e[r]=isNaN(Number(t))?r:t),Mn.value[n][r]=e[r]})}),e(!0)})}function kr(e,t){return new Promise((n,r)=>{e().then(e=>{try{n(t(e))}catch(e){r(e)}}).catch(e=>{r(e)})})}async function Ar(e){k.value[e]={from:gr(e).from,to:gr(e).to},wn.value[e]=!1,await fe(),mr()}function jr(e,t,n){let r=n.currentTarget;clearTimeout(gn.value),r.classList.add(`clicked`),gn.value=setTimeout(()=>{r.classList.remove(`clicked`)},200),xn.value=void 0,t.rangeFilter&&(P.value[e].min=j.value[e].min,P.value[e].max=j.value[e].max),t.isMultiselect?(M.value[e]=$(e),t.type===T.value.TEXT&&(I.value[e]=void 0),t.isSearch&&(F.value[e]=``)):t.type===T.value.NUMERIC?I.value[e]=void 0:t.type===T.value.TEXT?(I.value[e]=void 0,F.value[e]=``):t.type===T.value.DATE&&(I.value[e]=void 0),mr()}function Mr({td:e,rowIndex:t,colIndex:n,headerType:r,event:i}){if(r!==T.value.NUMERIC||isNaN(Number(e))){ur();return}E.value.col!==n&&ur();let a=i.currentTarget.parentNode;E.value.col=n,E.value.rows.map(e=>e.index).includes(t)?(a.dataset.selected=`false`,E.value.rows=E.value.rows.filter(e=>e.index!==t),i.currentTarget.classList.remove(yn.value.CELL),Array.from(a.children).forEach((e,t)=>{e.dataset.row===`even`?(e.style.background=q.value.even.backgroundColor,e.style.color=q.value.even.olor):(e.style.background=q.value.odd.backgroundColor,e.style.color=q.value.odd.color)}),i.currentTarget.dataset.row===`even`?(i.currentTarget.style.background=q.value.even.backgroundColor,i.currentTarget.style.color=q.value.even.color):(i.currentTarget.style.background=q.value.odd.backgroundColor,i.currentTarget.style.color=q.value.odd.color)):(a.dataset.selected=`true`,E.value.rows.push({index:t,value:e}),Array.from(a.children).forEach((e,t)=>{e.dataset.row===`even`?(e.style.background=q.value.even.selectedNeighbors.backgroundColor,e.style.color=q.value.even.selectedNeighbors.color):(e.style.background=q.value.odd.selectedNeighbors.backgroundColor,e.style.color=q.value.odd.selectedNeighbors.color)}),i.currentTarget.dataset.row===`odd`?(i.currentTarget.style.background=q.value.odd.selectedCell.backgroundColor,i.currentTarget.style.color=q.value.odd.selectedCell.color):(i.currentTarget.style.background=q.value.even.selectedCell.backgroundColor,i.currentTarget.style.color=q.value.even.selectedCell.color)),E.value.rows=E.value.rows.sort((e,t)=>e.index-t.index),w.value.type===T.value.DONUT&&E.value.rows.length>0&&ar()}function Nr(e){E.value.col===e?(Dn.value=void 0,ur()):(Yn.value.forEach((t,n)=>{Mr({td:t.td[e],rowIndex:n,colIndex:e,headerType:T.value.NUMERIC,event:{currentTarget:document.getElementById(`cell_${n}_${e}_${mn}`)}})}),Dn.value=e)}async function Pr(e,t){M.value[t].includes(e)?M.value[t]=M.value[t].filter(t=>t!==e):M.value[t].push(e),await fe(),mr()}function Fr(e){wn.value[e]=gr(e).from!==k.value[e].from||gr(e).to!==k.value[e].to}function Ir(e,t){xn.value=e;let n=t.currentTarget;clearTimeout(gn.value),n.classList.add(`clicked`),gn.value=setTimeout(()=>{n.classList.remove(`clicked`)},200),I.value[e]===1?I.value[e]=T.value.DESC:I.value[e]=T.value.ASC,pr()}function Lr(e,t,n){let r=n.currentTarget;clearTimeout(gn.value),r.classList.add(`clicked`),gn.value=setTimeout(()=>{r.classList.remove(`clicked`)},200);let i=document.getElementById(`th_dropdown_${e}`);i.dataset.isOpen===`false`?i.dataset.isOpen=`true`:i.dataset.isOpen=`false`}function Rr(e){ur(),!e||!e.target.value?D.value=0:D.value=Number(e.target.value),Cr()}let zr=y(null);pe(()=>{if(C.dataset.header.length===0)throw Error(`vue-ui-table error: missing header data.
|
|
2
|
+
Provide an array of objects of type:
|
|
3
|
+
{
|
|
4
|
+
name: string;
|
|
5
|
+
type: string; ('text' | 'numeric' | 'date')
|
|
6
|
+
average: boolean;
|
|
7
|
+
decimals: number | undefined;
|
|
8
|
+
sum: boolean;
|
|
9
|
+
isSort:boolean;
|
|
10
|
+
isSearch: boolean;
|
|
11
|
+
isMultiselect: boolean;
|
|
12
|
+
isPercentage: boolean;
|
|
13
|
+
percentageTo: string; (or '')
|
|
14
|
+
}`);if(C.dataset.body.length===0)throw Error(`vue-ui-table error: missing body data`);Cn.value=!0,kr(Or,async()=>{await fe(),Cn.value=!1}),document.addEventListener(`keydown`,e=>{let t=document.activeElement;(t&&Array.from(t.classList).includes(`td-focusable`)&&e.key.includes(`Arrow`)||e.code===`Space`)&&e.preventDefault()}),jn.value=U.value.filename,An.value=Kn.value[0]?.name??``}),_e(()=>C.dataset,e=>{Cn.value=!0,B.value=JSON.parse(JSON.stringify(e.body)).map((e,t)=>({...e,absoluteIndex:t})),Mn.value=JSON.parse(JSON.stringify(e.body)).map((e,t)=>({...e,absoluteIndex:t})),V.value=JSON.parse(JSON.stringify(e.header)).map((e,t)=>({average:Object.hasOwn(e,`average`)?e.average:!1,decimals:Object.hasOwn(e,`decimals`)?e.decimals:0,isMultiselect:Object.hasOwn(e,`isMultiselect`)?e.isMultiselect:!1,isPercentage:Object.hasOwn(e,`isPercentage`)?e.isPercentage:!1,isSearch:Object.hasOwn(e,`isSearch`)?e.isSearch:!1,isSort:Object.hasOwn(e,`isSort`)?e.isSort:!1,name:e.name,percentageTo:Object.hasOwn(e,`percentageTo`)?e.percentageTo:void 0,prefix:Object.hasOwn(e,`prefix`)?e.prefix:``,rangeFilter:Object.hasOwn(e,`rangeFilter`)?e.rangeFilter:!1,suffix:Object.hasOwn(e,`suffix`)?e.suffix:``,sum:Object.hasOwn(e,`sum`)?e.sum:!1,type:e.type,index:t})),E.value={col:void 0,rows:[]},Dn.value=void 0,Tn.value=C.config.rowsPerPage?C.config.rowsPerPage:25,N.value={},k.value={},wn.value={},A.value={},j.value={},P.value={},M.value={},F.value={},I.value={},R.value=!1,bn.value=void 0,L.value=void 0,On.value=void 0,z.value=!1,E.value.col=void 0,E.value.rows=[],kr(Or,async()=>{Rr(),await fe(),Cn.value=!1})},{immediate:!0,deep:!0});let Br=y(null);return _e(Sn,e=>{e&&Br.value&&Br.value.focus()}),_e(R,e=>{e?zr.value&&zr.value.open():zr.value&&zr.value.close()}),(t,r)=>(v(),p(`div`,{class:`vue-data-ui-component vue-ui-table-main`,style:_(`font-family: ${H.value.fontFamily}`)},[U.value.show?(v(),p(`div`,{key:0,class:`vue-ui-table-export-hub`,style:_({top:Nn.value+`px`})},[m(`button`,{onClick:r[0]||=e=>Sn.value=!Sn.value,innerHTML:Q.value.export,style:_(`background:${U.value.backgroundColor};color:${U.value.color};cursor:${X.value?`pointer`:`default`}`)},null,12,Ce),m(`div`,{class:`vue-ui-table-export-hub-dropdown`,"data-is-open":Sn.value||`false`,style:_(`background:${U.value.backgroundColor};color:${U.value.color}`)},[r[24]||=m(`b`,{class:`vue-ui-table-export-hub-title`},` Export `,-1),m(`button`,{class:`close-dropdown`,onClick:r[1]||=e=>Sn.value=!1,style:_(`background:${Fn.value.backgroundColor};color:${Fn.value.color};border-radius:${Fn.value.borderRadius}`)},` ✖ `,4),m(`div`,Te,[m(`div`,Ee,[m(`div`,De,x(H.value.translations.exportAllLabel)+` (`+x(B.value.length)+`) `,1),m(`button`,{id:`exportAll`,onClick:r[2]||=e=>sr(`all`),style:_(`background:${U.value.buttons.backgroundColor};color:${U.value.buttons.color};cursor:${X.value?`pointer`:`default`}`)},[m(`div`,{innerHTML:Q.value.fileDownload},null,8,Oe),m(`span`,null,x(H.value.translations.exportAllButton),1)],4)]),m(`div`,ke,[m(`div`,Ae,x(H.value.translations.exportPageLabel),1),m(`button`,{id:`exportPage`,onClick:r[3]||=e=>sr(`page`),style:_(`background:${U.value.buttons.backgroundColor};color:${U.value.buttons.color};cursor:${X.value?`pointer`:`default`}`)},[m(`div`,{innerHTML:Q.value.fileDownload},null,8,je),m(`span`,null,x(H.value.translations.exportPageButton),1)],4)]),m(`div`,Me,[m(`label`,Ne,[m(`span`,Pe,x(H.value.translations.filename),1),ye(m(`input`,{name:`filename`,ref_key:`filenameInputRef`,ref:Br,onKeydown:r[4]||=be(xe(()=>{},[`stop`]),[`space`]),pattern:`.*`,class:`vue-ui-table-dialog-input`,type:`text`,"onUpdate:modelValue":r[5]||=e=>jn.value=e},null,544),[[ge,jn.value]])]),jn.value?(v(),p(`button`,{key:0,class:`vue-ui-table-dialog-field-button`,onClick:r[6]||=e=>jn.value=``,style:_({cursor:X.value?`pointer`:`default`})},[ue(c,{name:`close`,stroke:U.value.color,size:18},null,8,[`stroke`])],4)):f(``,!0)])])],12,we)],4)):f(``,!0),m(`div`,{class:`vue-ui-table__wrapper`,style:_(`max-height:${H.value.maxHeight}px`),ref_key:`tableWrapper`,ref:wr},[m(`table`,Fe,[W.value.text?(v(),p(`caption`,{key:0,class:`vue-ui-table__caption`,ref_key:`tableCaption`,ref:hn,style:_({textAlign:W.value.textAlign,paddingLeft:W.value.paddingLeft+`px`,paddingRight:W.value.paddingRight+`px`,backgroundColor:W.value.backgroundColor,boxShadow:`${W.value.backgroundColor} -1px 0px 0px 0px`})},[m(`span`,{style:_({fontSize:W.value.fontSize+`px`,fontWeight:W.value.bold?`bold`:`normal`,color:W.value.color})},x(W.value.text),5),W.value.subtitle.text?(v(),p(u,{key:0},[r[25]||=m(`br`,null,null,-1),m(`span`,{style:_({fontSize:W.value.subtitle.fontSize,fontWeight:W.value.subtitle.bold?`bold`:`normal`,color:W.value.subtitle.color})},x(W.value.subtitle.text),5)],64)):f(``,!0)],4)):f(``,!0),m(`thead`,{id:`tableHead`,class:`vue-ui-table__head`,style:_({background:G.value.backgroundColor,boxShadow:`-1px 0 0 ${G.value.backgroundColor}`,top:Nn.value-3+`px`})},[m(`tr`,null,[r[26]||=m(`th`,{class:`invisible-cell`},null,-1),(v(!0),p(u,null,b(V.value,(e,t)=>(v(),p(`th`,{key:`thead_${t}`,style:_(`overflow: visible;background:${G.value.backgroundColor};color:${G.value.color};outline:${G.value.outline}`),class:g({"th-has-nan":A.value[t]})},[$n.value&&([T.value.TEXT,T.value.DATE].includes(e.type)||e.isPercentage)?(v(),p(`span`,Ie,[h(x(e.name)+` `,1),e.isPercentage?(v(),p(`span`,Le,` / `+x(e.percentageTo),1)):f(``,!0)])):(v(),p(`span`,Re,x(e.name),1))],6))),128))]),$n.value?(v(),p(u,{key:0},[m(`tr`,null,[r[27]||=m(`th`,{class:`invisible-cell`},null,-1),(v(!0),p(u,null,b(V.value,(e,t)=>(v(),p(`th`,{key:`thead_${t}`,class:g({"th-numeric":!0,"th-has-nan":A.value[t]}),style:_(`background:${G.value.backgroundColor};color:${G.value.color};outline:${G.value.outline}`)},[e.sum&&!A.value[t]?(v(),p(`span`,ze,[m(`span`,{innerHTML:Q.value.sum,style:{"margin-bottom":`-4px`,"margin-right":`3px`}},null,8,Be),h(` `+x(S(n)({p:e.prefix,v:Number(_r(t)),s:e.suffix,r:e.decimals}))+` `,1),N.value[t]&&e.percentageTo&&!e.isPercentage?(v(),p(`span`,Ve,` (`+x(isNaN(_r(t)/_r(N.value[t].referenceIndex))?`-`:S(n)({v:_r(t)/_r(N.value[t].referenceIndex)*100,s:`%`,r:e.decimals}))+`) `,1)):f(``,!0)])):f(``,!0)],6))),128))]),m(`tr`,null,[r[28]||=m(`th`,{class:`invisible-cell`},null,-1),(v(!0),p(u,null,b(V.value,(e,t)=>(v(),p(`th`,{key:`thead_${t}`,class:g({"th-numeric":!0,"th-has-nan":A.value[t]}),style:_(`background:${G.value.backgroundColor};color:${G.value.color};outline:${G.value.outline}`)},[e.average&&!A.value[t]?(v(),p(`span`,He,` ~ `+x(isNaN(hr(t))?``:S(n)({p:e.prefix,v:Number(hr(t)),s:e.suffix,r:e.decimals})),1)):f(``,!0)],6))),128))]),m(`tr`,null,[r[31]||=m(`th`,{class:`invisible-cell`},null,-1),(v(!0),p(u,null,b(V.value,(e,t)=>(v(),p(`th`,{key:`thead_${t}`,class:g({"th-has-nan":A.value[t]}),style:_(`background:${G.value.backgroundColor};color:${G.value.color};outline:${G.value.outline}`)},[m(`div`,Ue,[e.type===T.value.DATE&&k.value[t]?(v(),p(`div`,We,[m(`div`,Ge,[m(`div`,Ke,[m(`label`,{for:`from_${t}`},x(H.value.translations.from),9,qe),ye(m(`input`,{id:`from_${t}`,type:`date`,"onUpdate:modelValue":e=>k.value[t].from=e,onInput:e=>{mr(),Fr(t)},style:_(`background:${K.value.backgroundColor};color:${K.value.color};border:${K.value.border}`)},null,44,Je),[[ge,k.value[t].from]])]),m(`div`,Ye,[m(`label`,{for:`to_${t}`},x(H.value.translations.to),9,Xe),ye(m(`input`,{id:`to_${t}`,type:`date`,"onUpdate:modelValue":e=>k.value[t].to=e,onInput:e=>{mr(),Fr(t)},style:_(`background:${K.value.backgroundColor};color:${K.value.color};border:${K.value.border}`)},null,44,Ze),[[ge,k.value[t].to]])])]),m(`div`,Qe,[e.isSort?(v(),p(`button`,{key:0,onClick:e=>Ir(t,e),class:g({"th-button-active":[T.value.DESC,T.value.ASC].includes(I.value[t])}),style:_(`cursor:${X.value?`pointer`:`default`}; background:${[T.value.DESC,T.value.ASC].includes(I.value[t])?``:G.value.buttons.filter.inactive.backgroundColor};color:${[T.value.DESC,T.value.ASC].includes(I.value[t])?``:G.value.buttons.filter.inactive.color}`)},[I.value[t]===T.value.ASC?(v(),p(`span`,{key:0,innerHTML:[T.value.DATE].includes(e.type)?Q.value.sort09:Q.value.sortAZ},null,8,et)):I.value[t]===T.value.DESC?(v(),p(`span`,{key:1,innerHTML:[T.value.DATE].includes(e.type)?Q.value.sort90:Q.value.sortZA},null,8,tt)):(v(),p(`span`,{key:2,innerHTML:Q.value.arrowSort},null,8,nt))],14,$e)):f(``,!0),m(`button`,{onClick:n=>{Ar(t),jr(t,e,n)},disabled:!wn.value[t]&&xr(t,e),class:`th-reset`,style:_({cursor:X.value?`pointer`:`default`})},` ✖ `,12,rt)])])):f(``,!0),e.isSearch?ye((v(),p(`input`,{key:1,placeholder:H.value.translations.inputPlaceholder,"onUpdate:modelValue":e=>F.value[t]=e,onInput:r[7]||=e=>lr(mr,400),name:`search_${t}`,style:_(`background:${K.value.backgroundColor};color:${K.value.color};border:${K.value.border}`)},null,44,it)),[[ge,F.value[t]]]):f(``,!0),!A.value[t]&&e.isSort&&e.type!==T.value.DATE?(v(),p(`button`,{key:2,onClick:e=>Ir(t,e),class:g({"th-button-active":[T.value.DESC,T.value.ASC].includes(I.value[t])}),style:_(`cursor:${X.value?`pointer`:`default`};background:${[T.value.DESC,T.value.ASC].includes(I.value[t])?``:G.value.buttons.filter.inactive.backgroundColor};color:${[T.value.DESC,T.value.ASC].includes(I.value[t])?``:G.value.buttons.filter.inactive.color}`)},[I.value[t]===T.value.ASC?(v(),p(`span`,{key:0,innerHTML:[T.value.NUMERIC].includes(e.type)?Q.value.sort09:Q.value.sortZA},null,8,ot)):I.value[t]===T.value.DESC?(v(),p(`span`,{key:1,innerHTML:[T.value.NUMERIC].includes(e.type)?Q.value.sort90:Q.value.sortAZ},null,8,st)):(v(),p(`span`,{key:2,innerHTML:Q.value.arrowSort},null,8,ct))],14,at)):f(``,!0),e.isMultiselect?(v(),p(`button`,{key:3,onClick:n=>Lr(t,e,n),innerHTML:Q.value.filter,class:g({"th-button-active":M.value[t]&&M.value[t].length!==$(t).length}),style:_(`cursor:${X.value?`pointer`:`default`};background:${M.value[t]&&M.value[t].length!==$(t).length?``:G.value.buttons.filter.inactive.backgroundColor};color:${M.value[t]&&M.value[t].length!==$(t).length?``:G.value.buttons.filter.inactive.color}`)},null,14,lt)):f(``,!0),E.value.col===t&&Qn.value?(v(),p(`button`,{key:4,onClick:r[8]||=e=>R.value=!R.value,innerHTML:Q.value.chart,class:g({"th-button-active":R.value}),style:_(`cursor:${X.value?`pointer`:`default`};background:${R.value?``:G.value.buttons.filter.inactive.backgroundColor};color:${R.value?``:G.value.buttons.filter.inactive.color}`)},null,14,ut)):f(``,!0),e.rangeFilter&&P.value[t]&&!A.value[t]?(v(),p(`div`,dt,[m(`label`,{for:`rangeMin${t}`},[...r[29]||=[m(`span`,{style:{color:`grey`}},`ᒥ`,-1),h(` min `,-1),m(`span`,{style:{color:`grey`}},`ᒣ`,-1)]],8,ft),ye(m(`input`,{type:`number`,id:`rangeMin${t}`,max:j.value[t].max,min:j.value[t].min,"onUpdate:modelValue":e=>P.value[t].min=e,onInput:r[9]||=e=>lr(mr,400),style:_(`background:${K.value.backgroundColor};color:${K.value.color};border:${K.value.border}`)},null,44,pt),[[ge,P.value[t].min,void 0,{number:!0}]]),ye(m(`input`,{type:`number`,id:`rangeMax${t}`,max:j.value[t].max,min:j.value[t].min,"onUpdate:modelValue":e=>P.value[t].max=e,onInput:r[10]||=e=>lr(mr,400),style:_(`background:${K.value.backgroundColor};color:${K.value.color};border:${K.value.border}`)},null,44,mt),[[ge,P.value[t].max,void 0,{number:!0}]]),m(`label`,{for:`rangeMax${t}`},[...r[30]||=[m(`span`,{style:{color:`grey`}},`ᒪ`,-1),h(` max `,-1),m(`span`,{style:{color:`grey`}},`ᒧ`,-1)]],8,ht)])):f(``,!0),or(t,e)?(v(),p(`button`,{key:6,onClick:n=>jr(t,e,n),disabled:xr(t,e),class:`th-reset`,style:_({cursor:X.value?`pointer`:`default`})},` ✖ `,12,gt)):f(``,!0),e.isMultiselect?(v(),p(`div`,{key:7,class:`th-dropdown`,"data-is-open":`false`,id:`th_dropdown_${t}`,style:_(`background:${Pn.value.backgroundColor};color:${Pn.value.color}`)},[m(`button`,{class:`close-dropdown`,onClick:n=>Lr(t,e,n),style:_(`cursor:${X.value?`pointer`:`default`};background:${Fn.value.backgroundColor};color:${Fn.value.color}`)},` ✖ `,12,vt),(v(!0),p(u,null,b($(t),(e,n)=>(v(),p(`span`,{class:`th-option`,key:`th_option_${t}_${n}`,onClick:n=>Pr(e,t),onKeyup:[be(n=>Pr(e,t),[`enter`]),be(n=>Pr(e,t),[`space`])],style:_(`opacity:${yr(e,t)?1:.5}`),tabindex:`0`},[yr(e,t)?(v(),p(`span`,{key:0,style:_(`color:${Pn.value.icons.selected.color};margin-right:5px`),class:`th-icon-green`},x(Pn.value.icons.selected.unicode),5)):(v(),p(`span`,{key:1,style:_(`color:${Pn.value.icons.unselected.color};margin-right:5px`),class:`th-icon-red`},x(Pn.value.icons.unselected.unicode),5)),m(`span`,null,x(e),1)],44,yt))),128))],12,_t)):f(``,!0)])],6))),128))])],64)):f(``,!0),m(`tr`,null,[r[32]||=m(`th`,{class:`invisible-cell`},null,-1),(v(!0),p(u,null,b(V.value,(e,t)=>(v(),p(`th`,{key:`col_selector_${t}`,class:g({"vue-ui-table-col-selector":!A.value[t],"th-has-nan":A.value[t]}),style:_(`background:${t===Dn.value&&!A.value[t]?G.value.selected.backgroundColor:G.value.backgroundColor};color:${t===Dn.value&&!A.value[t]?G.value.selected.color:G.value.color};outline:${G.value.outline}`)},[A.value[t]?f(``,!0):(v(),p(`div`,{key:0,innerHTML:V.value[t].type===T.value.NUMERIC?Q.value.chevronDown:``,class:g({"col-selector":V.value[t].type===T.value.NUMERIC}),tabindex:`0`,style:_({cursor:X.value?`pointer`:`default`}),onClick:xe(e=>Nr(t),[`stop`]),onKeyup:be(e=>Nr(t),[`enter`])},null,46,bt))],6))),128))])],4),m(`tbody`,{onClick:cr,onKeydown:r[11]||=e=>Er(e)},[(v(!0),p(u,null,b(Yn.value,(t,r)=>(v(),p(`tr`,{key:`tbody_${r}`,"data-row":r%2==0?`odd`:`even`,class:g(`tr_${S(mn)}`),style:_(`${r%2==0?`background:${q.value.odd.backgroundColor};color:${q.value.odd.color}`:`background:${q.value.even.backgroundColor};color:${q.value.even.color}`}`)},[m(`td`,{class:`vue-ui-table-td-iteration`,"data-row":r%2==0?`odd`:`even`,style:_({outline:q.value.outline})},x(t.absoluteIndex+1),13,St),(v(!0),p(u,null,b(t.td,(i,a)=>(v(),p(`td`,{"data-row":r%2==0?`odd`:`even`,key:`td_${r}_${a}`,style:_(br(i)||e.dataset.header[a].type===T.value.DATE?`text-align:right;font-variant-numeric: tabular-nums;outline:${q.value.outline}`:`outline:${q.value.outline}`),onClick:t=>Mr({td:i,rowIndex:r,colIndex:a,headerType:e.dataset.header[a].type,event:t}),onKeyup:[be(t=>Mr({td:i,rowIndex:r,colIndex:a,headerType:e.dataset.header[a].type,event:t}),[`enter`]),be(t=>Mr({td:i,rowIndex:r,colIndex:a,headerType:e.dataset.header[a].type,event:t}),[`space`])],class:g({"td-numeric":e.dataset.header[a].type===T.value.NUMERIC,"td-focusable":!0,"td-has-nan":A.value[a]}),id:`cell_${r}_${a}_${S(mn)}`,tabindex:`0`},[t.meta&&t.meta.markerIndices.includes(a)&&t.meta.unicodeIcon?(v(),p(`span`,{key:0,style:_(`color:${t.meta.color};margin-right:3px`),innerHTML:t.meta.unicodeIcon},null,12,wt)):f(``,!0),e.dataset.header[a].type===T.value.DATE?(v(),p(`span`,Tt,x(e.dataset.header[a].prefix)+` `+x(new Date(i).toLocaleString().slice(0,10))+` `+x(e.dataset.header[a].suffix),1)):e.dataset.header[a].isPercentage?(v(),p(`span`,Et,x(S(n)({v:Number(i*100),s:`%`,r:e.dataset.header[a].decimals})),1)):N.value[a]&&e.dataset.header[a].percentageTo&&!e.dataset.header[a].isPercentage?(v(),p(`span`,{key:3,class:g({"td-nan":isNaN(Number(i))})},x(isNaN(Number(i))?`${i} is not ${T.value.NUMERIC}`:S(n)({p:e.dataset.header[a].prefix,v:Number(i),s:e.dataset.header[a].suffix,r:e.dataset.header[a].decimals}))+` (`+x(isNaN(Number(i))?``:S(n)({v:Number(i/_r(N.value[a].referenceIndex)*100),s:`%`,r:e.dataset.header[a].decimals}))+`) `,3)):e.dataset.header[a].type===T.value.NUMERIC?(v(),p(`span`,{key:4,class:g({"td-nan":isNaN(Number(i))})},x(isNaN(Number(i))?`${i} is not ${T.value.NUMERIC}`:S(n)({p:e.dataset.header[a].prefix,v:Number(i.toFixed(e.dataset.header[a].decimals)),s:e.dataset.header[a].suffix,r:e.dataset.header[a].decimals})),3)):(v(),p(`span`,Dt,x(e.dataset.header[a].prefix)+` `+x(i)+` `+x(e.dataset.header[a].suffix),1))],46,Ct))),128))],14,xt))),128))],32)])],4),m(`div`,{class:g({"td-selector-info":!0,"td-selector-info--active":E.value.col!==void 0&&E.value.rows.length}),style:_(`background:${In.value.infoBar.backgroundColor};color:${In.value.infoBar.color}`)},[E.value.col!==void 0&&E.value.rows.length?(v(),p(u,{key:0},[m(`div`,{innerHTML:Q.value.table,class:`td-selector-icon`},null,8,Ot),m(`span`,null,[m(`b`,null,[h(x(e.dataset.header[E.value.col].name)+` `,1),e.dataset.header[E.value.col].isPercentage?(v(),p(`span`,kt,` / `+x(e.dataset.header[N.value[E.value.col].referenceIndex].name),1)):f(``,!0)]),m(`span`,At,[h(x(H.value.translations.nb)+` : `,1),m(`b`,jt,x(E.value.rows.length),1)]),m(`span`,Mt,[h(x(H.value.translations.sum)+` : `,1),e.dataset.header[E.value.col].isPercentage?(v(),p(`b`,Nt,x(tr.value.sumPercentage),1)):(v(),p(`b`,Pt,x(e.dataset.header[E.value.col].prefix)+` `+x(tr.value.sumRegular)+` `+x(e.dataset.header[E.value.col].suffix),1)),e.dataset.header[E.value.col].isPercentage?(v(),p(`b`,Ft,`%`)):f(``,!0)]),m(`span`,It,[h(x(H.value.translations.average)+` : `,1),e.dataset.header[E.value.col].isPercentage?(v(),p(`b`,Lt,x(tr.value.averagePercentage),1)):(v(),p(`b`,Rt,x(e.dataset.header[E.value.col].prefix)+` `+x(tr.value.averageRegular)+` `+x(e.dataset.header[E.value.col].suffix),1)),e.dataset.header[E.value.col].isPercentage?(v(),p(`b`,zt,`%`)):f(``,!0)])]),m(`button`,{onClick:ur,class:`td-selector-info-reset`,style:_(`cursor:${X.value?`pointer`:`default`};background:${Fn.value.backgroundColor};color:${Fn.value.color};border-radius:${Fn.value.borderRadius}`)},` ✖ `,4)],64)):f(``,!0)],6),B.value.length>10?(v(),p(`div`,Bt,[h(x(H.value.translations.totalRows)+` : `+x(e.dataset.body.length)+` | `+x(H.value.translations.paginatorLabel)+` : `,1),B.value.length>10?ye((v(),p(`select`,{key:0,id:`paginatorSelector`,"onUpdate:modelValue":r[12]||=e=>Tn.value=e,onChange:r[13]||=e=>{ur(),Cr()},style:_(`background:${K.value.backgroundColor};color:${K.value.color};border:${K.value.border}`)},[(v(!0),p(u,null,b(En.value,(t,n)=>(v(),p(u,null,[B.value.length>t||e.dataset.body.length===t?(v(),p(`option`,{key:`paginator_option_${n}`},x(t),1)):f(``,!0)],64))),256))],36)),[[he,Tn.value,void 0,{number:!0}]]):f(``,!0)])):f(``,!0),Tn.value>=250?(v(),p(`div`,Vt,[m(`span`,{innerHTML:Q.value.warning},null,8,Ht),h(x(H.value.translations.sizeWarning),1)])):f(``,!0),Z.value.length>1&&Z.value.length<=10?(v(),p(`div`,{key:3,class:`vue-ui-table-navigation-indicator`,style:_(`background:${J.value.navigationIndicator.backgroundColor};width:calc(${D.value/(Z.value.length-1)*100}%)`)},null,4)):f(``,!0),Z.value.length>1?(v(),p(`div`,Ut,[m(`button`,{class:`vue-ui-table-navigation`,onClick:r[14]||=xe(e=>Tr(`previous`),[`stop`]),innerHTML:Q.value.chevronLeft,disabled:D.value===0,style:_(`cursor:${X.value?`pointer`:`default`};background:${J.value.buttons.backgroundColor};color:${J.value.buttons.color};opacity:${D.value===0?J.value.buttons.opacityDisabled:1}`)},null,12,Wt),Z.value.length>3?(v(),p(u,{key:0},[m(`button`,{class:`vue-ui-table-navigation`,onClick:r[15]||=xe(e=>Tr(1),[`stop`]),disabled:D.value===0,style:_(`cursor:${X.value?`pointer`:`default`};background:${J.value.buttons.backgroundColor};color:${J.value.buttons.color};opacity:${D.value===0?J.value.buttons.opacityDisabled:1}`)},` 1 `,12,Gt),Z.value.length>10?(v(),p(`div`,{key:0,class:`vue-ui-table-page-scroller-wrapper`,style:_({cursor:X.value?`pointer`:`default`})},[m(`label`,Kt,x(H.value.translations.page)+` `+x(D.value+1)+` / `+x(Z.value.length),1),m(`input`,{class:`vue-ui-table-page-scroller`,id:`pageScroller`,type:`range`,step:`1`,min:0,max:Z.value.length-1,onInput:r[16]||=e=>Rr(e),value:D.value,style:_(`background:${K.value.backgroundColor};color:${K.value.color};border:${K.value.border};accent-color:${K.value.accentColor}`)},null,44,qt)],4)):(v(),p(`span`,Jt,x(H.value.translations.page)+` `+x(D.value+1)+` / `+x(Z.value.length),1)),m(`button`,{class:`vue-ui-table-navigation`,onClick:r[17]||=xe(e=>Tr(Z.value.length),[`stop`]),disabled:D.value===Z.value.length-1,style:_(`cursor:${X.value?`pointer`:`default`};background:${J.value.buttons.backgroundColor};color:${J.value.buttons.color};opacity:${D.value===Z.value.length-1?J.value.buttons.opacityDisabled:1}`)},x(Z.value.length),13,Yt)],64)):(v(),p(u,{key:1},[h(x(H.value.translations.page)+` `+x(D.value+1)+` / `+x(Z.value.length),1)],64)),m(`button`,{class:`vue-ui-table-navigation`,onClick:r[18]||=xe(e=>Tr(`next`),[`stop`]),innerHTML:Q.value.chevronRight,disabled:D.value===Z.value.length-1,style:_(`cursor:${X.value?`pointer`:`default`};background:${J.value.buttons.backgroundColor};color:${J.value.buttons.color};opacity:${D.value===Z.value.length-1?J.value.buttons.opacityDisabled:1}`)},null,12,Xt)])):f(``,!0),ue(S(dn),{ref_key:`chartModal`,ref:zr,backgroundColor:Y.value.modal.backgroundColor,headerColor:Y.value.modal.color,color:Y.value.modal.color,forcedHeight:500,isCursorPointer:X.value,withPadding:``,withFullWidth:``,noLayerUpdate:``,onClose:r[23]||=e=>R.value=!1,onSize:rr},{before:ve(()=>[m(`div`,Zt,[Zn.value.length?(v(),p(`button`,{key:0,onClick:r[19]||=e=>z.value=!0,innerHTML:Q.value.donut,class:g({"is-active-chart":w.value.type===T.value.DONUT||z.value}),style:_(`cursor:${X.value?`pointer`:`default`};background:${w.value.type===T.value.DONUT||z.value?Y.value.modal.buttons.selected.backgroundColor:Y.value.modal.buttons.unselected.backgroundColor};color:${w.value.type===T.value.DONUT||z.value?Y.value.modal.buttons.selected.color:Y.value.modal.buttons.unselected.color}`)},null,14,Qt)):f(``,!0),m(`button`,{onClick:r[20]||=e=>{w.value.type=T.value.LINE,z.value=!1},innerHTML:Q.value.chart,class:g({"is-active-chart":w.value.type===T.value.LINE&&!z.value}),style:_(`cursor:${X.value?`pointer`:`default`};background:${w.value.type===T.value.LINE&&!z.value?Y.value.modal.buttons.selected.backgroundColor:Y.value.modal.buttons.unselected.backgroundColor};color:${w.value.type===T.value.LINE&&!z.value?Y.value.modal.buttons.selected.color:Y.value.modal.buttons.unselected.color}`)},null,14,$t),m(`button`,{onClick:r[21]||=e=>{w.value.type=T.value.BAR,z.value=!1},innerHTML:Q.value.bar,class:g({"is-active-chart":w.value.type===T.value.BAR&&!z.value}),style:_(`cursor:${X.value?`pointer`:`default`};background:${w.value.type===T.value.BAR&&!z.value?Y.value.modal.buttons.selected.backgroundColor:Y.value.modal.buttons.unselected.backgroundColor};color:${w.value.type===T.value.BAR&&!z.value?Y.value.modal.buttons.selected.color:Y.value.modal.buttons.unselected.color}`)},null,14,en)])]),content:ve(()=>[m(`div`,tn,[z.value&&Zn.value.length?(v(),p(`div`,{key:0,style:_(`background:${Y.value.modal.backgroundColor};color:${Y.value.modal.color}`)},[m(`fieldset`,nn,[m(`legend`,null,x(H.value.translations.chooseCategoryColumn),1),m(`div`,rn,[(v(!0),p(u,null,b(Zn.value,(e,t)=>(v(),p(`div`,{key:`donut_radio_${t}`,class:`vue-ui-table-fieldset-option`},[m(`input`,{type:`radio`,name:e.name,id:e.name,checked:L.value&&e.name===L.value.name,onInput:e=>L.value=Zn.value[t],style:_(`background:${K.value.backgroundColor};color:${K.value.color};border:${K.value.border};accent-color:${K.value.accentColor}`)},null,44,an),m(`label`,{for:e.name},x(e.name),9,on)]))),128))]),m(`button`,{class:`vue-ui-table-generate-donut`,disabled:!L.value,onClick:ar,style:_(`cursor:${X.value?`pointer`:`default`};background:${Y.value.modal.buttons.selected.backgroundColor};color:${Y.value.modal.buttons.selected.color}`)},[m(`div`,{style:{"margin-bottom":`-3px`},innerHTML:Q.value.donut},null,8,cn),h(` `+x(H.value.translations.makeDonut),1)],12,sn)])],4)):f(``,!0),[T.value.BAR,T.value.LINE].includes(w.value.type)&&!z.value?(v(),p(u,{key:1},[qn.value.length>1?(v(),p(`label`,{key:0,style:_({color:Y.value.modal.color})},[h(x(H.value.translations.xAxisLabels)+` `,1),ye(m(`select`,{"onUpdate:modelValue":r[22]||=e=>An.value=e},[(v(!0),p(u,null,b(qn.value,e=>(v(),p(`option`,null,x(e),1))),256))],512),[[he,An.value]])],4)):f(``,!0),m(`div`,ln,[w.value.type===T.value.LINE?(v(),le(l,{key:`chart_line_${kn.value}`,dataset:ir.value.xyDatasetLine,config:ir.value.xyConfig},null,8,[`dataset`,`config`])):f(``,!0),w.value.type===T.value.BAR?(v(),le(l,{key:`chart_bar_${kn.value}`,dataset:ir.value.xyDatasetBar,config:ir.value.xyConfig},null,8,[`dataset`,`config`])):f(``,!0)]),E.value.rows.length>=2?(v(),p(`div`,{key:1,class:`chart-trend`,style:_(`color:${Y.value.modal.color}`)},[r[33]||=m(`span`,null,`---`,-1),h(` Trend: `+x(S(n)({v:ir.value.progression.trend*100,s:`%`,r:1})),1)],4)):f(``,!0)],64)):f(``,!0),[T.value.DONUT].includes(w.value.type)&&!z.value?(v(),p(`div`,un,[ue(ce,{dataset:bn.value,config:ir.value.donutConfig},null,8,[`dataset`,`config`])])):f(``,!0)])]),_:1},8,[`backgroundColor`,`headerColor`,`color`,`isCursorPointer`])],4))}},[[`__scopeId`,`data-v-f35b07e9`]]);export{Se as n,dn as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{D as n,Tt as r,X as i,at as ee,m as a,nt as te,r as ne,zt as re}from"./lib-rPeBMZrn.js";import{n as ie,t as ae}from"./useHints-BH9r_0Vd.js";import{t as o}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as oe}from"./resolveChartConfig-CIhClE5R.js";import{n as se,t as ce}from"./userOptionsSlots-DYuo-E5m.js";import{t as le}from"./usePrinter-sVoTzet1.js";import{t as ue}from"./Shape-CRe8woTu.js";import{t as de}from"./useUserOptionState-CXlFnwPv.js";import{t as fe}from"./vue_ui_table_heatmap-vfeY6r97.js";import{Fragment as s,computed as c,createBlock as pe,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createSlots as me,createVNode as he,defineAsyncComponent as ge,guardReactiveProps as _e,mergeProps as f,nextTick as ve,normalizeClass as p,normalizeProps as ye,normalizeStyle as m,onMounted as h,openBlock as g,ref as _,renderList as v,renderSlot as y,unref as b,useCssVars as be,useSlots as xe,watch as x,withCtx as S}from"vue";var C=/* @__PURE__ */ e({default:()=>N}),w=[`id`],T={role:`cell`},E={role:`row`},D=[`data-cell`],O={key:0,style:{display:`flex`,"flex-direction":`row`,gap:`2px`,"align-items":`center`}},k=[`height`,`width`],A={key:0,role:`cell`,"data-cell":`sum`},j={key:1,role:`cell`,"data-cell":`average`},M={key:2,role:`cell`,"data-cell":`median`},Se={key:1,ref:`source`,dir:`auto`},N=/*#__PURE__*/ o({__name:`vue-ui-table-heatmap`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},setup(e,{expose:o}){be(e=>({v63f427d8:ke.value,v4016fab3:Oe.value}));let C=ge(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),{vue_ui_table_heatmap:N}=t(),P=e,F=_(i()),I=_(!1),L=_(null),R=_(!1),z=_(0),Ce=xe(),B=c({get:()=>G(),set:e=>e}),V=c(()=>B.value.debug);h(()=>{Ce[`chart-background`]&&V.value&&console.warn(`VueUiTableHeatmap does not support the #chart-background slot.`)}),ie({config:()=>B.value,dataset:()=>P.dataset,component:`VueUiTableHeatmap`,rules:[ae.emptyArray,{test:e=>e.length>31,message:[`👀 The number of series is > 31. Consider:`,``,`▶️ Using filters to let users choose a maximum number of series to display.`]},{test:e=>e.some(e=>e?.values&&e?.values.length>31),message:[`👀 Some series have a number of data points > 31. Consider:`,``,`▶️ Using filters to let users choose a maximum number of data points to display.`]}]});let{userOptionsVisible:H,setUserOptionsVisibility:U,keepUserOptionState:W}=de({config:B.value});function G(){return oe(P.config,N,fe)}x(()=>P.config,e=>{B.value=G(),H.value=!B.value.userOptions.showOnChartHover,Y()},{deep:!0});let{isPrinting:we,isImaging:Te,generatePdf:K,generateImage:q}=le({elementId:`table_heatmap_${F.value}`,fileName:`vue-ui-table-heatmap`,options:B.value.userOptions.print}),J=c(()=>B.value.table.responsiveBreakpoint),Ee=c(()=>!!P.dataset&&P.dataset.length);h(()=>{Y()});function Y(){re(P.dataset)&&ee({componentName:`VueUiTableHeatmap`,type:`dataset`,debug:V.value});let e=new ResizeObserver(e=>{e.forEach(e=>{I.value=e.contentRect.width<J.value})});L.value&&e.observe(L.value)}let X=c(()=>P.dataset.map(e=>{let t=e.values.map(e=>isNaN(e)?0:e),n=t.reduce((e,t)=>e+t,0);return{...e,values:t,serieExtremes:{max:Math.max(...t),min:Math.min(...t)},sum:n,average:n/t.length,median:a(t),displayValues:[e.name,...e.values],id:i()}})),Z=c(()=>{let e=X.value.flatMap(e=>e.values);return{min:Math.min(...e),max:Math.max(...e)}});function De(e,t){let n=B.value.style.heatmapColors.useIndividualScale;return r(B.value.style.heatmapColors.min,B.value.style.heatmapColors.max,n?t.min:Z.value.min,n?t.max:Z.value.max,e)}let Q=c(()=>X.value.map(e=>({...e,colors:e.displayValues.map(t=>isNaN(t)?B.value.style.backgroundColor:De(t,e.serieExtremes))}))),Oe=c(()=>B.value.style.backgroundColor),ke=c(()=>`${B.value.table.borderWidth}px`);function $(e=null){ve(()=>{let t=Q.value.map(e=>[[e.name],e.displayValues,[e.sum],[e.average],[e.median]]),r=[[[``],B.value.table.head.values,[`sum`],[`average`],[`median`]]].concat(t),i=n(r);e?e(i):te({csvContent:i,title:`vue-ui-table-heatmap`})})}function Ae(e){R.value=e,z.value+=1}return o({generatePdf:K,generateCsv:$,generateImage:q}),(e,t)=>(g(),u(`div`,{ref_key:`tableContainer`,ref:L,style:m(`width:100%; overflow-x:auto; container-type: inline-size;padding-top:${B.value.userOptions.show?`36px`:``}; ${R.value?`vue-data-ui-wrapper-fullscreen`:``}; position:relative;`),class:p({"vue-data-ui-component":!0,"vue-ui-responsive":I.value}),id:`table_heatmap_${F.value}`,onMouseenter:t[0]||=()=>b(U)(!0),onMouseleave:t[1]||=()=>b(U)(!1)},[B.value.userOptions.show&&Ee.value&&(b(W)||b(H))?(g(),pe(b(C),{ref:`details`,key:`user_option_${z.value}`,backgroundColor:B.value.style.backgroundColor,color:B.value.style.color,isPrinting:b(we),isImaging:b(Te),uid:F.value,hasPdf:B.value.userOptions.buttons.pdf,hasXls:B.value.userOptions.buttons.csv,hasImg:B.value.userOptions.buttons.img,hasFullscreen:B.value.userOptions.buttons.fullscreen,isFullscreen:R.value,titles:{...B.value.userOptions.buttonTitles},chartElement:L.value,position:B.value.userOptions.position,callbacks:B.value.userOptions.callbacks,printScale:B.value.userOptions.print.scale,onToggleFullscreen:Ae,onGeneratePdf:b(K),onGenerateCsv:$,onGenerateImage:b(q),style:m({visibility:b(W)?b(H)?`visible`:`hidden`:`visible`})},me({_:2},[v(b(se)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionFullscreen custom-menu-before custom-menu-after`),t=>({name:t,fn:S(n=>[y(e.$slots,t,ye(_e(b(ce)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isPrinting`,`isImaging`,`uid`,`hasPdf`,`hasXls`,`hasImg`,`hasFullscreen`,`isFullscreen`,`titles`,`chartElement`,`position`,`callbacks`,`printScale`,`onGeneratePdf`,`onGenerateImage`,`style`])):l(``,!0),d(`table`,{class:p({"vue-ui-table-heatmap":!0}),style:m(`width:100%;font-family:${B.value.style.fontFamily};background:${B.value.style.backgroundColor};`)},[d(`caption`,null,[y(e.$slots,`caption`,{},void 0,!0)]),d(`thead`,null,[d(`tr`,{role:`row`,style:m(`background:${B.value.table.head.backgroundColor};color:${B.value.table.head.color}`)},[(g(!0),u(s,null,v(B.value.table.head.values,(t,n)=>(g(),u(`th`,T,[y(e.$slots,`head`,f({ref_for:!0},{value:t,rowIndex:n,type:typeof t,isResponsive:I.value}),void 0,!0)]))),256))],4)]),d(`tbody`,null,[(g(!0),u(s,null,v(Q.value,(t,n)=>(g(),u(`tr`,E,[(g(!0),u(s,null,v(t.displayValues,(r,i)=>(g(),u(`td`,{role:`cell`,"data-cell":B.value.table.head.values[i]},[t.color&&i===0?(g(),u(`div`,O,[t.color?(g(),u(`svg`,{key:0,height:B.value.style.shapeSize,width:B.value.style.shapeSize,viewBox:`0 0 20 20`,style:{background:`none`,overflow:`visible`}},[he(ue,{plot:{x:10,y:10},color:t.color,radius:9,shape:t.shape||`circle`},null,8,[`color`,`shape`])],8,k)):l(``,!0),y(e.$slots,`rowTitle`,f({ref_for:!0},{value:r,rowIndex:n,colIndex:i,type:typeof r,isResponsive:I.value}),void 0,!0)])):(g(),u(s,{key:1},[i===0?y(e.$slots,`rowTitle`,f({ref_for:!0},{value:r,rowIndex:n,colIndex:i,type:typeof r,isResponsive:I.value}),void 0,!0,0):l(``,!0),i>0?y(e.$slots,`cell`,f({ref_for:!0},{value:r,rowIndex:n,colIndex:i,type:typeof r,isResponsive:I.value,color:t.colors[i],textColor:b(ne)(t.colors[i])}),void 0,!0,1):l(``,!0)],64))],8,D))),256)),B.value.table.showSum?(g(),u(`td`,A,[y(e.$slots,`sum`,f({ref_for:!0},{value:t.sum,rowIndex:n,isResponsive:I.value}),void 0,!0)])):l(``,!0),B.value.table.showAverage?(g(),u(`td`,j,[y(e.$slots,`average`,f({ref_for:!0},{value:t.average,rowIndex:n,isResponsive:I.value}),void 0,!0)])):l(``,!0),B.value.table.showMedian?(g(),u(`td`,M,[y(e.$slots,`median`,f({ref_for:!0},{value:t.median,rowIndex:n,isResponsive:I.value}),void 0,!0)])):l(``,!0)]))),256))])],4),e.$slots.source?(g(),u(`div`,Se,[y(e.$slots,`source`,{},void 0,!0)],512)):l(``,!0)],46,w))}},[[`__scopeId`,`data-v-89cef7a9`]]);export{C as n,N as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Ht as i,Jt as a,S as o,X as ee,at as s,i as te,m as ne,nt as re,w as ie,yt as ae,zt as oe}from"./lib-rPeBMZrn.js";import{n as se,t as ce}from"./useHints-BH9r_0Vd.js";import{t as le}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as ue}from"./resolveChartConfig-CIhClE5R.js";import{n as de,t as fe}from"./userOptionsSlots-DYuo-E5m.js";import{t as pe}from"./usePrinter-sVoTzet1.js";import{t as me}from"./useUserOptionState-CXlFnwPv.js";import{t as he}from"./vClickOutside-BxNzkY17.js";import{t as ge}from"./vue_ui_table_sparkline-Dlfbza49.js";import{Fragment as c,computed as l,createBlock as _e,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createSlots as ve,createVNode as p,defineAsyncComponent as ye,mergeProps as be,nextTick as xe,normalizeClass as Se,normalizeStyle as m,onBeforeUnmount as Ce,onMounted as we,openBlock as h,ref as g,renderList as _,renderSlot as Te,shallowRef as Ee,toDisplayString as v,unref as y,useCssVars as De,useSlots as Oe,watch as ke,withCtx as Ae,withDirectives as je}from"vue";var Me=/* @__PURE__ */ e({default:()=>b}),Ne=[`id`],Pe={style:{"z-index":`1`,"padding-right":`24px`}},Fe={key:0,style:{display:`flex`,flexDirection:`row`,alignItems:`center`}},Ie={key:0,style:{display:`flex`,flexDirection:`row`,alignItems:`center`}},Le=[`onClick`],Re=[`onClick`],ze=[`data-cell`],Be=[`data-cell`,`onPointerenter`],Ve=[`data-cell`],He=[`data-cell`],Ue=[`data-cell`],We=[`data-cell`],Ge={key:1,ref:`source`,dir:`auto`},b=/*#__PURE__*/ le({__name:`vue-ui-table-sparkline`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:le,emit:Me}){De(e=>({v5fe3988e:e.tdo}));let b=ye(()=>import(`./vue-ui-sparkline-Bp9J6x7z.js`).then(e=>e.n)),x=ye(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),Ke=ye(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),{vue_ui_table_sparkline:qe}=t(),S=e,Je=Me,C=g(ee()),Ye=g(0),w=g(0),T=g(null),Xe=Oe(),Ze=g(!1),E=l({get:()=>et(),set:e=>e}),D=l(()=>E.value.userOptions),O=l(()=>E.value.sparkline),k=l(()=>E.value.thead),A=l(()=>E.value.tbody),j=l(()=>E.value.title);we(()=>{Xe[`chart-background`]&&E.value.debug&&console.warn(`VueUiTableSparkline does not support the #chart-background slot.`)}),se({config:()=>E.value,dataset:()=>S.dataset,component:`VueUiTableSparkline`,rules:[ce.emptyArray,{test:e=>e.some(e=>e?.values&&e.values.length>500),message:[`👀 One or more series have > 500 datapoints. Consider if you really need this level of detail.`,``,`▶️ Use larger time scales, or aggregated values`]},{test:e=>e.some(e=>e?.values&&e.values.length>1095),message:[`👀 One or more series have > 1095 datapoints. Above this threshold, the dataset is computed through an LTTB algorithm, to preserve the shape of the data without increasing the number of datapoints.`,``,`▶️ If you need this level of detail, you can change config.downsample.threshold and set a higher value. Note that performance will be impacted.`]}]});let M=l(()=>E.value.userOptions.useCursorPointer),{userOptionsVisible:N,setUserOptionsVisibility:Qe,keepUserOptionState:$e}=me({config:E.value});function et(){return ue(S.config,qe,ge)}ke(()=>S.config,e=>{E.value=et(),N.value=!E.value.userOptions.showOnChartHover,st(),w.value+=1},{deep:!0}),ke(()=>S.dataset,e=>{W.value=U.value,w.value+=1},{deep:!0});let{isPrinting:tt,isImaging:nt,generatePdf:rt,generateImage:it}=pe({elementId:`table_${C.value}`,fileName:j.value.text||`vue-ui-table-sparkline`,options:E.value.userOptions.print}),at=l(()=>ie(E.value.customPalette)),P=g(null),F=g(!1),ot=l(()=>E.value.responsiveBreakpoint);we(()=>{st()});let I=g(E.value.colNames),L=Ee(null);function st(){oe(S.dataset)&&s({componentName:`VueUiTableSparkline`,type:`dataset`}),L.value&&L.value.disconnect(),L.value=new ResizeObserver(e=>{e.forEach(e=>{F.value=e.contentRect.width<ot.value})}),P.value&&L.value.observe(P.value),I.value=[];for(let e=0;e<mt.value;e+=1)I.value.push(E.value.colNames[e]||`col ${e}`)}Ce(()=>{L.value&&L.value.disconnect()});function R(e){if([null,void 0].includes(e))return null;let t=Number(e);return Number.isFinite(t)?t:null}function z(e){return typeof e==`number`&&Number.isFinite(e)}function ct(e=[]){return e.map(R).filter(z)}function B(e,t,n){let r=R(e),i=R(t),a=z(r),o=z(i);return a&&o?n===-1?r-i:i-r:a?-1:+!!o}function V(e,t,r={}){let i=R(e);return i===null?`-`:te(E.value.formatter,i,n({p:E.value.prefix,v:i,s:E.value.suffix,r:t}),r)}let H=l(()=>(S.dataset.forEach((e,t)=>{ae({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{s({componentName:`VueUiTableSparkline`,type:`datasetSerieAttribute`,property:e,index:t})})}),S.dataset.map((e,t)=>{let n=e.values||[],r=ct(n),a=r.length?r.reduce((e,t)=>e+t,0):null,ee=r.length?a/r.length:null,s=r.length?ne(r):null;return{...e,values:n,color:o(e.color)||at.value[t]||i[t]||i[t%i.length],sum:a,average:ee,median:s,sparklineDataset:n.map((e,t)=>({period:E.value.colNames[t]||`col ${t}`,value:R(e)}))}})));function lt(e){let t=(e[0]?.values||[]).map((t,n)=>e.map(e=>e?.values?.[n]??null)).map(e=>e.map((e,t)=>[e,t]).sort((e,t)=>B(e[0],t[0],1)).map(e=>e[1]));return e.map((e,n)=>({...e,values:e.values||[],orders:t[n]}))}let U=l(()=>lt(H.value)),W=g(U.value),ut=l(()=>Math.max(...W.value.map(e=>(e.values||[]).length))),dt=g(void 0),ft=g(!1),G=g(void 0),pt=g(1);function K(){ft.value=!1,G.value=void 0,X.value=void 0,pt.value=1,$.value.forEach(e=>e.state=1),Y.value={name:1,sum:1,average:1,median:1},W.value=U.value}function q(e,t,n){if([`name`,`sum`,`average`,`median`].includes(e.type)){ht(e.type,t,n);return}if(!bt(t))return;if(Z.value=t,X.value=void 0,![null,void 0].includes(G.value)&&t!==G.value&&(G.value=void 0,K()),$.value[t].state===n&&G.value===t){G.value=void 0,K();return}ft.value=!0,G.value=t;let r=U.value.map(e=>e.values?.[t]??null),i=n;$.value[t].state=i,pt.value=i,t===dt.value?dt.value=void 0:dt.value=t;let a=r.map((e,t)=>[t,e]).sort((e,t)=>B(e[1],t[1],i)).map(e=>e[0]).map(e=>U.value[e]);W.value=a,w.value+=1}let mt=l(()=>Math.max(...S.dataset.map(e=>(e.values||[]).length))),J=l(()=>{let e=I.value.map(e=>({type:`reg`,value:e}));if(!e.length)for(let t=0;t<mt.value;t+=1)e.push({type:`reg`,value:`col ${t+1}`});E.value.showTotal&&(e=[...e,{type:`sum`,value:E.value.translations.total}]);let t;return t=E.value.showAverage&&E.value.showMedian?[...e,{type:`average`,value:E.value.translations.average},{type:`median`,value:E.value.translations.median}]:E.value.showAverage&&!E.value.showMedian?[...e,{type:`average`,value:E.value.translations.average}]:!E.value.showAverage&&E.value.showMedian?[...e,{type:`median`,value:E.value.translations.median}]:e,E.value.showSparklines?[...t,{type:`chart`,value:E.value.translations.chart}]:t}),Y=g({name:1,sum:1,average:1,median:1}),X=g(void 0);function ht(e,t,n){if(!W.value||W.value.length===0||!xt(e))return;if(X.value!==e&&(X.value=void 0),![null,void 0].includes(G.value)&&t!==G.value&&K(),G.value=void 0,Y.value[e]===n&&X.value){X.value=void 0,K();return}X.value=e,ft.value=!0,Y.value[e]=n,[null,void 0].includes(t)||($.value[t].state=Y.value[e]);let r=Y.value[e],i=[...W.value].sort((t,n)=>{let i=t[e],a=n[e];return typeof i==`string`&&typeof a==`string`?r===-1?i.localeCompare(a):a.localeCompare(i):B(i,a,r)});W.value=i}let Z=g(void 0),Q=g(void 0);function gt({dataIndex:e,serieIndex:t}){Z.value=e,Q.value=t,T.value[e]&&!F.value&&T.value[e].scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`center`})}let _t=g(!1);function vt(e){_t.value=e,Ye.value+=1}function yt(e=null){xe(()=>{let t=[E.value.translations.serie].concat(J.value),n=H.value.map((e,t)=>[[e.name],e.values,[e.sum],[e.average],[e.median]]),i=[t].concat(n),a=r(i);e?e(a):re({csvContent:a,title:j.value.text||`vue-ui-table-sparkline`})})}function bt(e){return E.value.sortedDataColumnIndices.includes(e)}function xt(e){return e.type===`name`||e===`name`?E.value.sortedSeriesName:e.type===`sum`||e===`sum`?E.value.sortedSum:e.type===`average`||e===`average`?E.value.sortedAverage:e.type===`median`||e===`median`?E.value.sortedMedian:!1}function St(e,t,n){return[`sum`,`average`,`median`].includes(t.type)?X.value===t.type&&Y.value[t.type]===n?1:.3:e===G.value&&$.value[e].state===n?1:.3}function Ct(){E.value.resetSortOnClickOutside&&K()}let $=l({get:()=>J.value.map(e=>({state:1})),set:e=>e});function wt(e){e?.stage===`start`?Ze.value=!0:e?.stage===`end`?Ze.value=!1:it()}async function Tt(){Je(`copyAlt`,{config:E.value,dataset:H.value}),E.value.userOptions.callbacks.altCopy?await Promise.resolve(E.value.userOptions.callbacks.altCopy({config:E.value,dataset:H.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}return le({generatePdf:rt,generateImage:it,generateCsv:yt,restoreOrder:K,copyAlt:Tt}),(e,t)=>(h(),d(`div`,{ref_key:`tableContainer`,ref:P,class:Se({"vue-data-ui-component":!0,"vue-ui-table-sparkline":!0,"vue-ui-responsive":F.value}),style:{overflow:`hidden`},id:`table_${C.value}`,onMouseenter:t[3]||=()=>y(Qe)(!0),onMouseleave:t[4]||=()=>y(Qe)(!1)},[j.value.text?(h(),d(`div`,{key:0,class:`vue-ui-table-sparkline-caption`,style:m({backgroundColor:j.value.backgroundColor})},[f(`div`,{class:`atom-title`,style:m({fontSize:`${j.value.fontSize}px`,fontWeight:j.value.bold?`bold`:`normal`,color:j.value.color,textAlign:j.value.textAlign})},v(j.value.text),5),j.value.subtitle.text?(h(),d(`div`,{key:0,class:`atom-subtitle`,style:m({fontSize:`${j.value.subtitle.fontSize}px`,fontWeight:j.value.subtitle.bold?`bold`:`normal`,color:j.value.subtitle.color,textAlign:j.value.textAlign})},v(j.value.subtitle.text),5)):u(``,!0)],4)):u(``,!0),f(`div`,{style:{overflow:`auto`},onPointerleave:t[2]||=e=>{Q.value=void 0,Z.value=void 0}},[f(`table`,{class:`vue-ui-data-table`,style:m({fontFamily:E.value.fontFamily,position:`relative`})},[f(`thead`,Pe,[je((h(),d(`tr`,{role:`row`,class:`vue-ui-data-table__thead-row`,style:m({backgroundColor:k.value.backgroundColor,color:k.value.color})},[f(`th`,{role:`cell`,style:m({backgroundColor:k.value.backgroundColor,border:k.value.outline,textAlign:k.value.textAlign,fontWeight:k.value.bold?`bold`:`normal`}),class:`sticky-col-first`},[f(`div`,{style:m({display:`flex`,flexDirection:`row`,alignItems:`center`,gap:`3px`,justifyContent:k.value.textAlign})},[f(`span`,null,v(E.value.translations.serie),1),W.value.length>1&&E.value.sortedSeriesName?(h(),d(`div`,Fe,[f(`button`,{class:`vue-ui-table-sparkline-sorting-button vue-ui-table-sparkline-sorting-button-down`,onClick:t[0]||=e=>q({type:`name`},null,-1),style:m({cursor:M.value?`pointer`:`default`})},[p(y(x),{size:12,name:`arrowBottom`,stroke:k.value.color,style:m({opacity:X.value===`name`&&Y.value.name===-1?1:.3})},null,8,[`stroke`,`style`])],4),f(`button`,{class:`vue-ui-table-sparkline-sorting-button vue-ui-table-sparkline-sorting-button-up`,onClick:t[1]||=e=>q({type:`name`},null,1),style:m({cursor:M.value?`pointer`:`default`})},[p(y(x),{size:12,name:`arrowTop`,stroke:k.value.color,style:m({opacity:X.value===`name`&&Y.value.name===1?1:.3})},null,8,[`stroke`,`style`])],4)])):u(``,!0)],4)],4),(h(!0),d(c,null,_(J.value,(t,n)=>(h(),d(`th`,{role:`cell`,style:m({background:k.value.backgroundColor,border:k.value.outline,textAlign:k.value.textAlign,fontWeight:k.value.bold?`bold`:`normal`,minWidth:n===J.value.length-1?`${O.value.dimensions.width}px`:`48px`,paddingRight:n===J.value.length-1&&D.value.show?`36px`:``}),class:Se({"sticky-col":n===J.value.length-1&&E.value.showSparklines})},[f(`div`,{style:m({display:`flex`,flexDirection:`row`,alignItems:`center`,gap:`3px`,justifyContent:k.value.textAlign})},[f(`span`,null,v(t.value),1),W.value.length>1&&(bt(n)||xt(t))?(h(),d(`div`,Ie,[f(`button`,{class:`vue-ui-table-sparkline-sorting-button vue-ui-table-sparkline-sorting-button-down`,onClick:()=>q(t,n,-1),style:m({cursor:M.value?`pointer`:`default`})},[p(y(x),{size:12,name:`arrowBottom`,stroke:k.value.color,style:m({opacity:St(n,t,-1)})},null,8,[`stroke`,`style`])],12,Le),f(`button`,{class:`vue-ui-table-sparkline-sorting-button vue-ui-table-sparkline-sorting-button-up`,onClick:()=>q(t,n,1),style:m({cursor:M.value?`pointer`:`default`})},[p(y(x),{size:12,name:`arrowTop`,stroke:k.value.color,style:m({opacity:St(n,t,1)})},null,8,[`stroke`,`style`])],12,Re)])):u(``,!0)],4),D.value.show&&n===J.value.length-1&&(y($e)||y(N))?(h(),_e(y(Ke),{ref_for:!0,ref:`details`,key:`user_option_${Ye.value}`,backgroundColor:k.value.backgroundColor,color:k.value.color,isPrinting:y(tt),isImaging:y(nt),uid:C.value,hasPdf:D.value.buttons.pdf,hasXls:D.value.buttons.csv,hasImg:D.value.buttons.img,hasFullscreen:D.value.buttons.fullscreen,hasAltCopy:D.value.buttons.altCopy,isFullscreen:_t.value,titles:{...D.value.buttonTitles},chartElement:P.value,position:D.value.position,callbacks:D.value.callbacks,printScale:D.value.print.scale,isCursorPointer:M.value,onToggleFullscreen:vt,onGeneratePdf:y(rt),onGenerateImage:wt,onGenerateCsv:yt,onCopyAlt:Tt,style:m({visibility:y($e)?y(N)?`visible`:`hidden`:`visible`})},ve({_:2},[_(y(de)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionFullscreen optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:Ae(n=>[Te(e.$slots,t,be({ref_for:!0},y(fe)(t,n)),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isPrinting`,`isImaging`,`uid`,`hasPdf`,`hasXls`,`hasImg`,`hasFullscreen`,`hasAltCopy`,`isFullscreen`,`titles`,`chartElement`,`position`,`callbacks`,`printScale`,`isCursorPointer`,`onGeneratePdf`,`style`])):u(``,!0)],6))),256))],4)),[[y(he),Ct]])]),f(`tbody`,null,[(h(!0),d(c,null,_(W.value,(e,t)=>(h(),d(`tr`,{role:`row`,style:m({backgroundColor:A.value.backgroundColor,color:A.value.color}),class:Se({"vue-ui-data-table__tbody__row":!0,"vue-ui-data-table__tbody__row-even":t%2==0,"vue-ui-data-table__tbody__row-odd":t%2!=0})},[f(`td`,{role:`cell`,style:m({backgroundColor:A.value.backgroundColor,border:A.value.outline,fontSize:`${A.value.fontSize}px`,fontWeight:A.value.bold?`bold`:`normal`,textAlign:A.value.textAlign}),"data-cell":E.value.translations.serie,class:`vue-ui-data-table__tbody__td sticky-col-first`},[f(`div`,{dir:`auto`,style:m({display:`flex`,flexDirection:`row`,alignItems:`center`,gap:`6px`,justifyContent:A.value.textAlign})},[A.value.showColorMarker?(h(),d(`span`,{key:0,style:m({color:e.color})},`⬤`,4)):u(``,!0),f(`span`,null,v(e.name??`-`),1)],4)],12,ze),(h(!0),d(c,null,_(ut.value,(n,r)=>(h(),d(`td`,{dir:`auto`,role:`cell`,ref_for:!0,ref_key:`TD`,ref:T,style:m({border:A.value.outline,fontSize:`${A.value.fontSize}px`,fontWeight:A.value.bold?`bold`:`normal`,textAlign:A.value.textAlign,background:Z.value!==void 0&&r===Z.value?A.value.selectedColor.useSerieColor?y(a)(e.color,20):A.value.selectedColor.fallback:``}),"data-cell":J.value[r]?J.value[r].value:``,class:`vue-ui-data-table__tbody__td`,onPointerenter:e=>{Q.value=t,Z.value=r}},v(V(e.values[r],E.value.roundingValues,{datapoint:e,seriesIndex:t,datapointIndex:r})),45,Be))),256)),E.value.showTotal?(h(),d(`td`,{key:0,dir:`auto`,role:`cell`,style:m({border:A.value.outline,fontSize:`${A.value.fontSize}px`,fontWeight:A.value.bold?`bold`:`normal`,textAlign:A.value.textAlign}),"data-cell":E.value.translations.total,class:`vue-ui-data-table__tbody__td`},v(V(e.sum,E.value.roundingTotal,{datapoint:e.sum,seriesIndex:t})),13,Ve)):u(``,!0),E.value.showAverage?(h(),d(`td`,{key:1,dir:`auto`,role:`cell`,style:m({border:A.value.outline,fontSize:`${A.value.fontSize}px`,fontWeight:A.value.bold?`bold`:`normal`,textAlign:A.value.textAlign}),"data-cell":E.value.translations.average,class:`vue-ui-data-table__tbody__td`},v(V(e.average,E.value.roundingAverage,{datapoint:e.average,seriesIndex:t})),13,He)):u(``,!0),E.value.showMedian?(h(),d(`td`,{key:2,dir:`auto`,role:`cell`,style:m({border:A.value.outline,fontSize:`${A.value.fontSize}px`,fontWeight:A.value.bold?`bold`:`normal`,textAlign:A.value.textAlign}),"data-cell":E.value.translations.median,class:`vue-ui-data-table__tbody__td`},v(V(e.median,E.value.roundingMedian,{datapoint:e.median,seriesIndex:t})),13,Ue)):u(``,!0),E.value.showSparklines?(h(),d(`td`,{key:3,role:`cell`,"data-cell":E.value.translations.chart,style:m({border:A.value.outline,fontSize:`${A.value.fontSize}px`,fontWeight:A.value.bold?`bold`:`normal`,textAlign:A.value.textAlign,backgroundColor:A.value.backgroundColor,padding:`0`}),class:`vue-ui-data-table__tbody__td sticky-col`},[p(y(b),{onHoverIndex:({index:e})=>gt({dataIndex:e,serieIndex:t}),"height-ratio":O.value.dimensions.heightRatio,"forced-padding":30,dataset:e.sparklineDataset,showInfo:!1,selectedIndex:Z.value,config:{type:O.value.type,style:{backgroundColor:`transparent`,animation:{show:O.value.animation.show&&!y(tt)&&!y(nt),animationFrames:O.value.animation.animationFrames},padding:{right:12},line:{color:e.color,smooth:O.value.smooth,cutNullValues:O.value.cutNullValues,strokeWidth:O.value.strokeWidth},bar:{color:e.color},area:{color:e.color,opacity:O.value.showArea?16:0,useGradient:O.value.useGradient},verticalIndicator:{color:e.color},plot:{radius:9,stroke:A.value.backgroundColor,strokeWidth:3}}}},null,8,[`onHoverIndex`,`height-ratio`,`dataset`,`selectedIndex`,`config`])],12,We)):u(``,!0)],6))),256))])],4)],32),e.$slots.source?(h(),d(`div`,Ge,[Te(e.$slots,`source`,{},void 0,!0)],512)):u(``,!0)],42,Ne))}},[[`__scopeId`,`data-v-bb68c573`]]);export{Me as n,b as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Ht as r,Jt as i,S as a,X as ee,at as o,b as s,i as te,in as ne,t as re,w as ie,yt as ae,zt as oe}from"./lib-rPeBMZrn.js";import{n as se,t as ce}from"./BaseScanner-8NdoBs7B.js";import{n as le,t as ue}from"./useHints-BH9r_0Vd.js";import{t as de}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as fe}from"./resolveChartConfig-CIhClE5R.js";import{t as pe}from"./img-D4RQwASc.js";import{n as me}from"./Title-BliHuXfT.js";import{t as he}from"./useChartExport-BZts4KFb.js";import{n as ge,t as _e}from"./annotationSlots-BRR85CqJ.js";import{n as ve,t as ye}from"./userOptionsSlots-DYuo-E5m.js";import{t as be}from"./usePrinter-sVoTzet1.js";import{c as xe}from"./canvas-lib-22VpOI4_.js";import{t as Se}from"./useResponsive-CENUxfEL.js";import{t as Ce}from"./DefGrad-DKMq1REY.js";import{t as we}from"./useUserOptionState-CXlFnwPv.js";import{t as Te}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ee}from"./usePrefersMotion-XLHwega2.js";import{t as De}from"./useAutoSizeLabelsInsideViewbox-AIRF0PlD.js";import{t as Oe}from"./vue_ui_thermometer-CRijq6H6.js";import{Fragment as c,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createSlots as ke,createVNode as Ae,defineAsyncComponent as m,guardReactiveProps as h,normalizeClass as g,normalizeProps as _,normalizeStyle as je,onMounted as Me,openBlock as v,ref as y,renderList as b,renderSlot as x,toDisplayString as S,toRefs as Ne,unref as C,useCssVars as Pe,watch as Fe,withCtx as Ie}from"vue";var Le=/* @__PURE__ */ e({default:()=>w}),Re=[`id`],ze={key:1,ref:`noTitle`,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},Be=[`xmlns`,`viewBox`,`aria-labelledby`,`aria-describedby`],Ve=[`id`],He=[`id`],Ue=[`width`,`height`],We=[`id`],Ge=[`x`,`y`,`width`,`height`,`rx`,`ry`],Ke=[`clip-path`],qe=[`x`,`y`,`height`,`width`],Je=[`x`,`y`,`height`,`width`,`fill`],Ye=[`x1`,`x2`,`y1`,`y2`,`stroke-width`,`stroke`],Xe=[`x1`,`x2`,`y1`,`y2`,`stroke-width`,`stroke`],Ze=[`x1`,`x2`,`y1`,`y2`,`stroke-width`,`stroke`],Qe=[`x1`,`x2`,`y1`,`y2`,`stroke-width`,`stroke`],$e=[`x1`,`x2`,`y1`,`y2`,`stroke-width`,`stroke`],et=[`x1`,`x2`,`y1`,`y2`,`stroke-width`,`stroke`],tt=[`x1`,`x2`,`y1`,`y2`,`stroke-width`,`stroke`],nt=[`x1`,`x2`,`y1`,`y2`,`stroke-width`,`stroke`],rt=[`x`,`y`,`height`,`width`],it=[`aria-label`],at=[`x`,`y`,`height`],ot=[`y`,`x`,`fill`,`font-size`,`font-weight`],st={key:4,class:`vue-data-ui-watermark`},w=/*#__PURE__*/ de({__name:`vue-ui-thermometer`,props:{dataset:{type:Object,default(){return{}}},config:{type:Object,default(){return{}}}},emits:[`copyAlt`],setup(e,{expose:de,emit:Le}){Pe(e=>({fff55a2e:Mt.value,v6d4692c5:jt.value,v4e7414f2:At.value}));let w=m(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),ct=m(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),lt=m(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),{vue_ui_thermometer:ut}=t(),dt=Ee(),T=e,ft=Le,E=y(ee()),D=y(null),pt=y(0),mt=y(0),ht=y(null),gt=y(null),O=y(null),k=y(null),_t=l(()=>!!T.dataset&&Object.keys(T.dataset).length);Me(()=>{St()});let A=y(B()),j=l(()=>A.value.userOptions),M=l(()=>A.value.style.chart.graduations),N=l(()=>A.value.style.chart);le({config:()=>A.value,dataset:()=>T.dataset,component:`VueUiThermometer`,rules:[ue.noHint]});let vt=y(N.value.thermometer.width),P=y(N.value.height),F=y(N.value.width),yt=l(()=>A.value.userOptions.useCursorPointer),bt=l(()=>ne({defaultConfig:{userOptions:{show:!1},style:{chart:{animation:{use:!1},backgroundColor:`#99999930`,graduations:{stroke:`#6A6A6A`}}}},userConfig:A.value.skeletonConfig??{}})),{loading:I,FINAL_DATASET:L}=se({...Ne(T),FINAL_CONFIG:A,prepareConfig:B,skeletonDataset:T.config?.skeletonDataset??{value:0,from:-100,to:100,steps:20,colors:{from:`#A1A1A1`,to:`#CACACA`}},skeletonConfig:ne({defaultConfig:A.value,userConfig:bt.value})}),xt=l(()=>A.value.debug);function St(){if(oe(T.dataset)?o({componentName:`VueUiThermometer`,type:`dataset`,debug:xt.value}):ae({datasetObject:T.dataset,requiredAttributes:[`value`,`from`,`to`]}).forEach(e=>{o({componentName:`VueUiThermometer`,type:`datasetAttribute`,property:e,debug:xt.value})}),A.value.responsive){let e=xe(()=>{let{width:e,height:t}=Se({chart:D.value,title:A.value.style.title.text?ht.value:null,source:gt.value});requestAnimationFrame(()=>{P.value=Math.max(.1,t-12),F.value=e,Rt()})});O.value&&(k.value&&O.value.unobserve(k.value),O.value.disconnect()),O.value=new ResizeObserver(e),k.value=D.value,O.value.observe(k.value)}Rt()}let{userOptionsVisible:R,setUserOptionsVisibility:Ct,keepUserOptionState:wt}=we({config:A.value}),{svgRef:z}=Te({config:A.value.style.title});function B(){return fe(T.config,ut,Oe)}Fe(()=>T.config,e=>{A.value=B(),R.value=!A.value.userOptions.showOnChartHover,vt.value=N.value.thermometer.width,P.value=N.value.height,F.value=N.value.width,St(),mt.value+=1},{deep:!0});let{isPrinting:V,isImaging:H,generatePdf:Tt,generateImage:Et}=be({elementId:`thermometer__${E.value}`,fileName:A.value.style.title.text||`vue-ui-thermometer`,options:A.value.userOptions.print}),Dt=l(()=>A.value.userOptions.show&&!A.value.style.title.text),U=l(()=>ie(A.value.customPalette)),W=l(()=>L.value.steps||10);function G(e,t,n){let r=[],i=Ot(e),a=Ot(t);for(let e=0;e<n;e+=1){let t=K(i.red,a.red,e,n),ee=K(i.green,a.green,e,n),o=K(i.blue,a.blue,e,n),s=`#${q(t)}${q(ee)}${q(o)}`;r.push(s)}return r}function Ot(e){let t=e.slice(1);return{red:parseInt(t.slice(0,2),16),green:parseInt(t.slice(2,4),16),blue:parseInt(t.slice(4,6),16)}}function K(e,t,n,r){return Math.round(e+(t-e)*n/r)}function q(e){return e.toString(16).padStart(2,`0`)}let J=l(()=>{let e=Math.max(.1,F.value),t=Math.max(.1,P.value),n=N.value.padding;return{width:e,left:e/2-N.value.thermometer.width/2,right:e/2+N.value.thermometer.width/2,top:n.top,bottom:t-n.bottom-n.top,height:t,thermoHeight:t-n.top-n.bottom,thermoWidth:N.value.thermometer.width}}),kt=l(()=>J.value),Y=l(()=>{let e=s(L.value.from)<0?Math.abs(s(L.value.from)):s(L.value.from),t=s(L.value.to)<0?Math.abs(s(L.value.to)):s(L.value.to),n=0;return n=s(L.value.to)>0?e+t:e>t?e-t:t-e,(1-(Math.abs(s(L.value.from))+s(L.value.value))/n)*J.value.thermoHeight}),At=l(()=>`${Y.value}px`),jt=l(()=>`${J.value.thermoHeight}px`),Mt=l(()=>dt.value?`0ms`:`${N.value.animation.speedMs}ms`),Nt=l(()=>{if(L.value.colors){if(!L.value.colors.from)return G(U.value[0]||r[0],a(L.value.colors.to),W.value||10);if(!L.value.colors.to)return G(a(L.value.colors.from),U.value[1]||r[1],W.value||10)}else return G(U.value[1]||r[1],U.value[0]||r[0],W.value||10);return G(a(L.value.colors.from),a(L.value.colors.to),W.value||10)}),Pt=l(()=>{let e=[],t=0,n=J.value.thermoHeight;for(let r=0;r<n-1;r+=n/W.value)e.push({x:J.value.left,y:J.value.top+r,qYLess:J.value.top+r+n/W.value/4,halfY:J.value.top+r+n/W.value/2,qYMore:J.value.top+r+n/W.value/4*3,color:Nt.value[t],height:Math.max(.1,n/W.value)}),t+=1;return e}),X=y(!1);function Ft(e){X.value=e,pt.value+=1}let Z=y(!1);function It(){Z.value=!Z.value}async function Lt({scale:e=2}={}){if(!D.value)return;let{width:t,height:n}=D.value.getBoundingClientRect(),r=t/n,{imageUri:i,base64:a}=await pe({domElement:D.value,base64:!0,img:!0,scale:e});return{imageUri:i,base64:a,title:A.value.style.title.text,width:t,height:n,aspectRatio:r}}let Q=l({get:()=>N.value.label.fontSize,set:e=>e}),{autoSizeLabels:Rt}=De({svgRef:z,fontSize:N.value.label.fontSize,minFontSize:N.value.label.minFontSize,sizeRef:Q,labelClass:`.vue-ui-thermometer-label`}),zt=l(()=>N.value.backgroundColor),Bt=l(()=>A.value.style.title),{isCallbackImaging:Vt,isCallbackSvg:Ht,generateSvg:Ut,onGenerateImage:Wt}=he({svg:z,title:Bt,legend:null,legendItems:null,backgroundColor:zt,getSvgCallback:()=>A.value.userOptions.callbacks.svg,generateImage:Et});async function Gt(){ft(`copyAlt`,{config:A.value,dataset:L.value}),A.value.userOptions.callbacks.altCopy?await Promise.resolve(A.value.userOptions.callbacks.altCopy({config:A.value,dataset:L.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}let Kt=l(()=>`${E.value}-title`),qt=l(()=>`${E.value}-desc`),$=l(()=>te(N.value.label.formatter,L.value.value,n({p:N.value.label.prefix,v:L.value.value,s:N.value.label.suffix,r:N.value.label.rounding}),{datapoint:L.value})),Jt=l(()=>A.value.style.title.text||``),Yt=l(()=>{if(I.value)return`...`;let e=s(L.value.from),t=s(L.value.to);return`Thermometer value: ${$.value}. Range: ${e} to ${t}.`});return de({getImage:Lt,generatePdf:Tt,generateImage:Et,generateSvg:Ut,toggleAnnotator:It,toggleFullscreen:Ft,copyAlt:Gt}),(e,t)=>(v(),f(`div`,{ref_key:`thermoChart`,ref:D,class:g(`vue-data-ui-component vue-ui-thermometer ${X.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:je(`width:100%;background:${N.value.backgroundColor};color:${N.value.color};font-family:${A.value.style.fontFamily}`),id:`thermometer__${E.value}`,onMouseenter:t[0]||=()=>C(Ct)(!0),onMouseleave:t[1]||=()=>C(Ct)(!1)},[j.value.buttons.annotator?(v(),u(C(ct),{key:0,svgRef:C(z),backgroundColor:N.value.backgroundColor,color:N.value.color,active:Z.value,isCursorPointer:yt.value,palette:j.value.annotatorPalette,onClose:It},ke({_:2},[b(C(_e),t=>({name:t,fn:Ie(n=>[x(e.$slots,t,_(h(C(ge)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):d(``,!0),Dt.value?(v(),f(`div`,ze,null,512)):d(``,!0),A.value.style.title.text?(v(),f(`div`,{key:2,ref_key:`chartTitle`,ref:ht,style:`width:100%`},[(v(),u(me,{key:`title_${mt.value}`,config:{title:{cy:`thermometer-div-title`,...A.value.style.title},subtitle:{cy:`thermometer-div-subtitle`,...A.value.style.title.subtitle}}},null,8,[`config`]))],512)):d(``,!0),j.value.show&&_t.value&&(C(wt)||C(R))?(v(),u(C(lt),{ref:`details`,key:`user_options_${pt.value}`,backgroundColor:N.value.backgroundColor,color:N.value.color,isImaging:C(H),isPrinting:C(V),uid:E.value,hasPdf:j.value.buttons.pdf,hasImg:j.value.buttons.img,hasSvg:j.value.buttons.svg,hasFullscreen:j.value.buttons.fullscreen,hasAltCopy:j.value.buttons.altCopy,hasXls:!1,isFullscreen:X.value,titles:{...j.value.buttonTitles},chartElement:D.value,position:j.value.position,hasAnnotator:j.value.buttons.annotator,isAnnotation:Z.value,callbacks:j.value.callbacks,printScale:j.value.print.scale,isCursorPointer:yt.value,onToggleFullscreen:Ft,onGeneratePdf:C(Tt),onGenerateImage:C(Wt),onGenerateSvg:C(Ut),onToggleAnnotator:It,onCopyAlt:Gt,style:je({visibility:C(wt)?C(R)?`visible`:`hidden`:`visible`})},ke({_:2},[b(C(ve)(e.$slots,`menuIcon optionPdf optionImg optionSvg optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:Ie(n=>[x(e.$slots,t,_(h(C(ye)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isImaging`,`isPrinting`,`uid`,`hasPdf`,`hasImg`,`hasSvg`,`hasFullscreen`,`hasAltCopy`,`isFullscreen`,`titles`,`chartElement`,`position`,`hasAnnotator`,`isAnnotation`,`callbacks`,`printScale`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`onGenerateSvg`,`style`])):d(``,!0),(v(),f(`svg`,{ref_key:`svgRef`,ref:z,xmlns:C(re),class:g({"vue-data-ui-fullscreen--on":X.value,"vue-data-ui-fulscreen--off":!X.value}),width:`100%`,viewBox:`0 0 ${J.value.width} ${J.value.height}`,style:`background:transparent`,"aria-labelledby":Kt.value,"aria-describedby":qt.value},[p(`title`,{id:Kt.value},S(Jt.value),9,Ve),p(`desc`,{id:qt.value},S(Yt.value),9,He),Ae(C(w)),x(e.$slots,`svg-underlayer`,{svg:{...kt.value,isPrintingImg:C(V)||C(H)||C(Vt),isPrintingSvg:C(Ht)}},void 0,!0),e.$slots[`chart-background`]?(v(),f(`foreignObject`,{key:0,x:0,y:0,width:J.value.width,height:J.value.height,style:{pointerEvents:`none`}},[x(e.$slots,`chart-background`,{},void 0,!0)],8,Ue)):d(``,!0),p(`defs`,null,[p(`clipPath`,{id:`vueUiPill-${E.value}`,clipPathUnits:`userSpaceOnUse`},[p(`rect`,{x:J.value.left,y:J.value.top,width:J.value.thermoWidth,height:J.value.thermoHeight,rx:J.value.thermoWidth/2,ry:J.value.thermoWidth/2},null,8,Ge)],8,We),(v(!0),f(c,null,b(Pt.value,(e,t)=>(v(),u(Ce,{t:`linear`,id:`vueUiThermometerGradient_${t}_${E.value}`,key:`t_${t}_${E.value}`,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`,stops:[[`0%`,e.color,1],[`50%`,C(i)(e.color,100-M.value.gradient.intensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`]))),128))]),p(`g`,{"clip-path":`url(#vueUiPill-${E.value})`},[p(`rect`,{x:J.value.left,y:J.value.top,height:J.value.thermoHeight,width:J.value.thermoWidth,fill:`#FFFFFF`},null,8,qe),(v(!0),f(c,null,b(Pt.value,(e,t)=>(v(),f(`g`,{key:`graduation_${t}`},[p(`rect`,{x:e.x,y:e.y,height:e.height,width:J.value.thermoWidth,fill:M.value.gradient.show?`url(#vueUiThermometerGradient_${t}_${E.value})`:e.color,"shape-rendering":`crispEdges`},null,8,Je),M.value.show&&[`both`,`left`].includes(M.value.sides)?(v(),f(`line`,{key:0,x1:e.x,x2:e.x+10,y1:e.y,y2:e.y,"stroke-width":M.value.strokeWidth,stroke:M.value.stroke,"stroke-linecap":`round`},null,8,Ye)):d(``,!0),M.value.showIntermediate?(v(),f(c,{key:1},[M.value.show&&[`both`,`left`].includes(M.value.sides)?(v(),f(`line`,{key:0,x1:e.x,x2:e.x+5,y1:e.halfY,y2:e.halfY,"stroke-width":M.value.strokeWidth/2,stroke:M.value.stroke,"stroke-linecap":`round`},null,8,Xe)):d(``,!0),M.value.show&&[`both`,`left`].includes(M.value.sides)?(v(),f(`line`,{key:1,x1:e.x,x2:e.x+2.5,y1:e.qYLess,y2:e.qYLess,"stroke-width":M.value.strokeWidth/2,stroke:M.value.stroke,"stroke-linecap":`round`},null,8,Ze)):d(``,!0),M.value.show&&[`both`,`left`].includes(M.value.sides)?(v(),f(`line`,{key:2,x1:e.x,x2:e.x+2.5,y1:e.qYMore,y2:e.qYMore,"stroke-width":M.value.strokeWidth/2,stroke:M.value.stroke,"stroke-linecap":`round`},null,8,Qe)):d(``,!0)],64)):d(``,!0),M.value.show&&[`both`,`right`].includes(M.value.sides)?(v(),f(`line`,{key:2,x1:J.value.right,x2:J.value.right-10,y1:e.y,y2:e.y,"stroke-width":M.value.strokeWidth,stroke:M.value.stroke,"stroke-linecap":`round`},null,8,$e)):d(``,!0),M.value.showIntermediate?(v(),f(c,{key:3},[M.value.show&&[`both`,`right`].includes(M.value.sides)?(v(),f(`line`,{key:0,x1:J.value.right,x2:J.value.right-5,y1:e.halfY,y2:e.halfY,"stroke-width":M.value.strokeWidth/2,stroke:M.value.stroke,"stroke-linecap":`round`},null,8,et)):d(``,!0),M.value.show&&[`both`,`right`].includes(M.value.sides)?(v(),f(`line`,{key:1,x1:J.value.right,x2:J.value.right-2.5,y1:e.qYLess,y2:e.qYLess,"stroke-width":M.value.strokeWidth/2,stroke:M.value.stroke,"stroke-linecap":`round`},null,8,tt)):d(``,!0),M.value.show&&[`both`,`right`].includes(M.value.sides)?(v(),f(`line`,{key:2,x1:J.value.right,x2:J.value.right-2.5,y1:e.qYMore,y2:e.qYMore,"stroke-width":M.value.strokeWidth/2,stroke:M.value.stroke,"stroke-linecap":`round`},null,8,nt)):d(``,!0)],64)):d(``,!0)]))),128)),p(`rect`,{class:g({"vue-ui-thermometer-temperature":N.value.animation.use}),x:J.value.left,y:J.value.top,height:Y.value,width:J.value.thermoWidth,fill:`#FFFFFF66`},null,10,rt)],8,Ke),N.value.label.show?(v(),f(`g`,{key:1,role:`status`,"aria-live":`polite`,"aria-label":C(I)?`Loading data`:$.value},[C(I)?(v(),f(`rect`,{key:0,x:J.value.left-60,y:Y.value+J.value.top-Q.value/2,width:50,height:Q.value,fill:`#6A6A6A40`,rx:`3`},null,8,at)):(v(),f(`text`,{key:1,"aria-hidden":`true`,class:g({"vue-ui-thermometer-temperature-value":N.value.animation.use,"vue-ui-thermometer-label":!0}),y:Y.value+J.value.top+Q.value/3,x:J.value.left-10,"text-anchor":`end`,fill:N.value.label.color,"font-size":Q.value,"font-weight":N.value.label.bold?`bold`:`normal`},S($.value),11,ot))],8,it)):d(``,!0),x(e.$slots,`svg`,{svg:{...kt.value,isPrintingImg:C(V)||C(H)||C(Vt),isPrintingSvg:C(Ht)}},void 0,!0)],10,Be)),e.$slots.watermark?(v(),f(`div`,st,[x(e.$slots,`watermark`,_(h({isPrinting:C(V)||C(H)||C(Vt)||C(Ht)})),void 0,!0)])):d(``,!0),e.$slots.source?(v(),f(`div`,{key:5,ref_key:`source`,ref:gt,dir:`auto`},[x(e.$slots,`source`,{},void 0,!0)],512)):d(``,!0),x(e.$slots,`skeleton`,{},()=>[C(I)?(v(),u(ce,{key:0})):d(``,!0)],!0)],46,Re))}},[[`__scopeId`,`data-v-fec98266`]]);export{Le as n,w as t};
|