import { computed as P, ref as B, onMounted as Be, openBlock as n, createElementBlock as i, normalizeClass as ge, normalizeStyle as j, createVNode as _e, createCommentVNode as k, createBlock as ae, unref as h, createSlots as Ie, withCtx as I, renderSlot as S, normalizeProps as R, guardReactiveProps as Y, createElementVNode as r, Fragment as $, renderList as g, toDisplayString as M, createTextVNode as Le, nextTick as Oe, pushScopeId as We, popScopeId as Ge } from "vue";
import { u as Ve, c as me, t as Ae, a as Ue, p as J, b as Ee, d as T, o as He, e as K, g as ne, l as A, m as xe, f as D, X as Ze, h as Q, i as ee, j as be, k as L, n as te, q as qe, r as Xe } from "./index-CguVaFlt.js";
import { _ as Re } from "./Title-DbTGPg4G.js";
import { u as Ye, U as Je } from "./usePrinter-ClsMRVJG.js";
import Ke from "./vue-ui-skeleton-ChHLL5Hw.js";
import { D as Qe } from "./DataTable-BwHWRlRZ.js";
import et from "./vue-ui-accordion-w15FGKRN.js";
import { u as we } from "./useNestedProp-BbEbJmgv.js";
import { _ as tt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
const le = (U) => (We("data-v-06e93dd9"), U = U(), Ge(), U), lt = ["id"], ot = ["xmlns", "viewBox"], st = ["id"], at = ["stop-color"], nt = ["stop-color"], rt = ["id"], ut = ["stop-color"], it = ["stop-color"], dt = ["id"], ct = ["stop-color"], ht = ["stop-color"], vt = ["id"], ft = ["stop-color"], pt = ["stop-color"], yt = ["stop-color"], kt = { key: 0 }, $t = ["id"], gt = ["stop-color"], _t = ["stop-color"], mt = ["id"], xt = ["stop-color"], bt = ["stop-color"], wt = ["id"], Ct = ["stop-color"], Ft = ["stop-color"], Mt = ["id"], Pt = /* @__PURE__ */ le(() => /* @__PURE__ */ r("stop", {
  offset: "0%",
  "stop-color": "#FFFFFF"
}, null, -1)), Dt = /* @__PURE__ */ le(() => /* @__PURE__ */ r("stop", {
  offset: "100%",
  "stop-color": "#FFFFFF33"
}, null, -1)), jt = [
  Pt,
  Dt
], St = ["x", "y", "font-size", "font-weight", "fill"], Tt = ["x", "y"], zt = ["d", "stroke"], Nt = ["d", "stroke"], Bt = { key: 3 }, It = { key: 0 }, Lt = ["stroke-dasharray", "d", "stroke", "stroke-width"], Ot = ["stroke-dasharray", "d", "stroke", "stroke-width"], Wt = ["stroke-dasharray", "d", "stroke", "stroke-width"], Gt = ["stroke-dasharray", "d", "stroke", "stroke-width"], Vt = { key: 1 }, At = ["d", "stroke", "stroke-width", "fill"], Ut = ["d", "stroke", "stroke-width", "fill"], Et = ["d", "stroke", "stroke-width", "fill"], Ht = { key: 2 }, Zt = ["d", "fill", "onMouseenter", "onClick"], qt = ["d", "fill", "onMouseenter", "onClick"], Xt = ["d", "fill", "onMouseenter", "onClick"], Rt = ["d", "onMouseenter", "onClick"], Yt = ["d"], Jt = ["d", "stroke"], Kt = ["onClick"], Qt = ["stroke", "d"], el = ["cx", "cy", "fill", "stroke"], tl = ["x", "y", "width", "height"], ll = { key: 1 }, ol = ["d", "stroke"], sl = ["d", "fill", "stroke"], al = ["id"], nl = ["stop-color"], rl = /* @__PURE__ */ le(() => /* @__PURE__ */ r("stop", {
  offset: "77%",
  "stop-color": "#FFFFFF20"
}, null, -1)), ul = ["stop-color"], il = ["cx", "cy", "fill"], dl = ["cx", "cy", "fill"], cl = { key: 0 }, hl = ["text-anchor", "x", "y", "fill", "font-size"], vl = ["text-anchor", "x", "y", "fill", "font-size"], fl = { key: 2 }, pl = ["d", "fill", "stroke"], yl = { key: 4 }, kl = { key: 0 }, $l = ["stroke-dasharray", "d", "stroke", "stroke-width"], gl = ["stroke-dasharray", "d", "stroke", "stroke-width"], _l = ["stroke-dasharray", "d", "stroke", "stroke-width"], ml = ["stroke-dasharray", "d", "stroke", "stroke-width"], xl = ["d", "stroke", "stroke-width", "fill"], bl = ["d", "stroke", "stroke-width", "fill"], wl = { key: 1 }, Cl = ["onClick"], Fl = ["id"], Ml = ["stop-color"], Pl = ["stop-color"], Dl = ["id"], jl = ["stop-color"], Sl = ["stop-color"], Tl = ["stop-color"], zl = ["stop-color"], Nl = ["stop-color"], Bl = ["onMouseenter", "onClick", "d", "fill"], Il = ["onMouseenter", "onClick", "d"], Ll = ["onMouseenter", "onClick", "d", "fill"], Ol = ["onClick"], Wl = ["stroke", "d"], Gl = ["cx", "cy", "fill", "stroke"], Vl = ["x", "y", "width", "height"], Al = { key: 1 }, Ul = ["d", "stroke"], El = ["d", "fill", "stroke"], Hl = ["id"], Zl = ["stop-color"], ql = /* @__PURE__ */ le(() => /* @__PURE__ */ r("stop", {
  offset: "77%",
  "stop-color": "#FFFFFF20"
}, null, -1)), Xl = ["stop-color"], Rl = ["cx", "cy", "fill"], Yl = ["cx", "cy", "fill"], Jl = { key: 0 }, Kl = ["text-anchor", "x", "y", "fill", "font-size"], Ql = ["text-anchor", "x", "y", "fill", "font-size"], eo = { key: 2 }, to = ["d", "fill", "stroke"], lo = {
  key: 3,
  class: "vue-data-ui-watermark"
}, oo = ["innerHTML"], so = {
  __name: "vue-ui-3d-bar",
  props: {
    config: {
      type: Object,
      default() {
        return {};
      }
    },
    dataset: {
      type: Object,
      default() {
        return {};
      }
    }
  },
  emits: ["selectDatapoint"],
  setup(U, { expose: Ce, emit: H }) {
    const _ = U, { vue_ui_3d_bar: Fe } = Ve(), Z = P(() => !!_.dataset && Object.keys(_.dataset).length), x = B(me()), Me = B(null), re = B(null), O = B(!1), t = P(() => {
      const d = we({
        userConfig: _.config,
        defaultConfig: Fe
      });
      return d.theme ? {
        ...we({
          userConfig: Ae.vue_ui_3d_bar[d.theme] || _.config,
          defaultConfig: d
        }),
        customPalette: Ue[d.theme] || J
      } : d;
    }), { isPrinting: ue, isImaging: ie, generatePdf: de, generateImage: ce } = Ye({
      elementId: `3d_bar_${x.value}`,
      fileName: t.value.style.chart.title.text || "vue-ui-3d-bar"
    }), Pe = P(() => Ee(t.value.customPalette)), q = B({
      showTable: t.value.table.show
    }), C = P(() => _.dataset.series && _.dataset.series.length), o = P(() => ({
      height: t.value.style.chart.box.dimensions.height,
      width: t.value.style.chart.box.dimensions.width,
      absoluteWidth: t.value.style.chart.box.dimensions.width * (C.value ? 2 : 1),
      top: t.value.style.chart.box.dimensions.top,
      bottom: t.value.style.chart.box.dimensions.bottom,
      left: t.value.style.chart.box.dimensions.left,
      right: t.value.style.chart.box.dimensions.right,
      perspective: t.value.style.chart.box.dimensions.perspective
    })), w = P(() => {
      if (C.value) {
        const d = _.dataset.series.map((l) => l.value || 0).reduce((l, a) => l + a, 0), s = _.dataset.series.map((l, a) => ({
          ...l,
          id: me(),
          proportion: (l.value || 0) / d,
          color: T(l.color) || Pe.value[a] || J[a] || J[a % J.length],
          breakdown: l.breakdown ? l.breakdown.sort((u, y) => y.value - u.value) : null
        })).sort((l, a) => a.value - l.value), e = [];
        let c = 0;
        for (let l = 0; l < s.length; l += 1)
          e.push({
            ...s[l],
            fill: De(c, s[l].proportion, s[l].breakdown, s[l].color)
          }), c += s[l].proportion;
        return e;
      }
      return null;
    }), z = P(() => ({
      right: `M${o.value.width / 2},${o.value.top} ${o.value.width - o.value.right}, ${o.value.top + o.value.perspective} ${o.value.width - o.value.right},${o.value.height - o.value.bottom - o.value.perspective} ${o.value.width / 2},${o.value.height - o.value.bottom}`,
      left: `M${o.value.width / 2},${o.value.top} ${o.value.left},${o.value.top + o.value.perspective} ${o.value.left},${o.value.height - o.value.bottom - o.value.perspective} ${o.value.width / 2},${o.value.height - o.value.bottom}`,
      side: `M${o.value.width / 2},${o.value.height - o.value.bottom} ${o.value.width / 2},${o.value.top + o.value.perspective * 2}`,
      topSides: `M${o.value.left},${o.value.top + o.value.perspective} ${o.value.width / 2},${o.value.top + o.value.perspective * 2} ${o.value.width - o.value.right},${o.value.top + o.value.perspective}`,
      tubeTop: `M${o.value.left},${o.value.top + o.value.perspective} C ${o.value.left},${o.value.top - o.value.perspective / 3} ${o.value.width - o.value.right},${o.value.top - o.value.perspective / 3} ${o.value.width - o.value.right},${o.value.top + o.value.perspective} C ${o.value.width - o.value.right},${o.value.top + o.value.perspective * 2.3} ${o.value.left},${o.value.top + o.value.perspective * 2.3} ${o.value.left},${o.value.top + o.value.perspective}`,
      tubeLeft: `M${o.value.left},${o.value.top + o.value.perspective} ${o.value.left},${o.value.height - o.value.bottom - o.value.perspective}`,
      tubeRight: `M${o.value.width - o.value.right},${o.value.top + o.value.perspective} ${o.value.width - o.value.right},${o.value.height - o.value.bottom - o.value.perspective}`,
      tubeBottom: `M${o.value.width - o.value.right},${o.value.height - o.value.bottom - o.value.perspective} C ${o.value.width - o.value.right},${o.value.height} ${o.value.left},${o.value.height} ${o.value.left},${o.value.height - o.value.bottom - o.value.perspective}`
    })), G = B(t.value.style.chart.animation.use ? 0 : _.dataset.percentage);
    Be(() => {
      He(_.dataset) ? K({
        componentName: "VueUi3dBar",
        type: "dataset"
      }) : _.dataset.series ? _.dataset.series.forEach((l, a) => {
        ne({
          datasetObject: l,
          requiredAttributes: ["name", "value"]
        }).forEach((u) => {
          K({
            componentName: "VueUi3dBar",
            type: "datasetSerieAttribute",
            property: u,
            index: a
          });
        }), l.breakdown && l.breakdown.forEach((u, y) => {
          ne({
            datasetObject: u,
            requiredAttributes: ["name", "value"]
          }).forEach((m) => {
            K({
              componentName: "VueUi3dBar",
              type: "datasetSerieAttribute",
              property: m,
              index: `${a} - ${y}`
            });
          });
        });
      }) : ne({
        datasetObject: _.dataset,
        requiredAttributes: ["percentage"]
      }).forEach((l) => {
        K({
          componentName: "VueUi3dBar",
          type: "datasetAttribute",
          property: l
        });
      });
      let d = 0, s = t.value.style.chart.animation.speed, e = 5e-3 * t.value.style.chart.animation.acceleration;
      function c() {
        G.value += s + d, d += e, G.value < _.dataset.percentage ? requestAnimationFrame(c) : G.value = _.dataset.percentage;
      }
      t.value.style.chart.animation.use && (G.value = 0, c());
    });
    function De(d, s, e, c) {
      const l = o.value.height - o.value.bottom - o.value.top - o.value.perspective * 2, { width: a, height: u, bottom: y, right: m, left: f, perspective: p } = o.value, v = y + l * d, se = u - v - p - l * s / 2, Te = se > o.value.height / 2 ? "top" : "bottom", pe = 64, ze = !!e;
      let ye = null, ke = null;
      return ze && (e = e.map(($e, Ne) => ({
        ...$e,
        value: $e.value || 0,
        color: A(c, Ne / e.length)
      })), ye = xe(
        { series: e },
        a + o.value.absoluteWidth / 4 - 14,
        Te === "top" ? se - pe : se + pe,
        28,
        28,
        1.99999,
        2,
        1,
        360,
        105.25,
        14
      ), ke = xe(
        { series: e },
        a - m + 20,
        u - v - p - l * s / 2,
        6,
        6,
        1.99999,
        2,
        1,
        360,
        105.25,
        6
      )), {
        donut: ye,
        miniDonut: ke,
        sidePointer: {
          x: a - m,
          y: u - v - p - l * s / 2,
          topY: u - v - p - l * s,
          height: l * s
        },
        apexBottom: { y: u - v, x: a / 2 },
        apexTop: { y: u - v - l * s, x: a / 2 },
        right: `M${a / 2},${u - v} ${a / 2},${u - v - l * s} ${a - m},${u - v - p - l * s} ${a - m},${u - v - p}Z`,
        left: `M${a / 2},${u - v} ${a / 2},${u - v - l * s} ${f}, ${u - v - p - l * s} ${f},${u - v - p}Z`,
        liningTop: `M${f},${u - v - p - l * s} ${a / 2},${u - v - l * s} ${a - m},${u - v - p - l * s}`,
        liningTopShade: `M${f},${u - v - p - l * s - 0.5} ${a / 2},${u - v - l * s - 0.5} ${a - m},${u - v - p - l * s - 0.5}`,
        top: `M${a / 2},${u - v - l * s} ${f},${u - v - p - l * s} ${a / 2},${u - v - p * 2 - l * s} ${a - m},${u - v - p - l * s} Z`,
        tubeTop: `M${f},${u - v - l * s - p} C ${f},${u - v - l * s - p * 2.5} ${a - m},${u - v - l * s - p * 2.5} ${a - m},${u - v - l * s - p} C ${a - m},${u - v - l * s + p / 2} ${f},${u - v - l * s + p / 2} ${f},${u - v - l * s - p}`,
        bottomTubeTop: `M ${a - m - 0.5},${u - v - p} C ${a - m - 0.5},${u - v + p / 2} ${f},${u - v + p / 2} ${f + 0.5},${u - v - p}`,
        tubeBody: `M
        ${f},${u - v - l * s - p} 
        C ${f},${u - v - l * s + p / 2} 
        ${a - m},${u - v - l * s + p / 2} 
        ${a - m},${u - v - l * s - p} 
        L${a - m},${u - v - p}
        C 
        ${a - m},${u - v + p / 2}
        ${f},${u - v + p / 2}
        ${f},${u - v - p}Z`
      };
    }
    const E = P(() => {
      const d = G.value / 100, s = o.value.height - o.value.bottom - o.value.top - o.value.perspective * 2, { width: e, height: c, bottom: l, right: a, left: u, perspective: y } = o.value, f = l + s * 0;
      return {
        right: `M${e / 2},${c - f} ${e / 2},${c - f - s * d} ${e - a},${c - f - y - s * d} ${e - a},${c - f - y}Z`,
        left: `M${e / 2},${c - f} ${e / 2},${c - f - s * d} ${u}, ${c - f - y - s * d} ${u},${c - f - y}Z`,
        top: `M${e / 2},${c - f - s * d} ${u},${c - f - y - s * d} ${e / 2},${c - f - y * 2 - s * d} ${e - a},${c - f - y - s * d} Z`,
        tubeTop: `M${u},${c - f - s * d - y} C ${u},${c - f - s * d - y * 2.5} ${e - a},${c - f - s * d - y * 2.5} ${e - a},${c - f - s * d - y} C ${e - a},${c - f - s * d + y / 2} ${u},${c - f - s * d + y / 2} ${u},${c - f - s * d - y}`,
        tubeBody: `M
        ${u},${c - f - s * d - y} 
        C ${u},${c - f - s * d + y / 2} 
        ${e - a},${c - f - s * d + y / 2} 
        ${e - a},${c - f - s * d - y} 
        L${e - a},${c - y * 1.5}
        C 
        ${e - a},${c}
        ${u},${c}
        ${u},${c - f - y}Z`
      };
    }), b = B(null);
    function F(d, s = !1) {
      H("selectDatapoint", d), s || (b.value = d.id), s && O.value && (O.value = !1), s && !O.value && (O.value = !0);
    }
    function W() {
      O.value || (b.value = null);
    }
    function V(d, s, e = !1) {
      const c = _.dataset.series.map((u) => u.value || 0).reduce((u, y) => u + y, 0), l = isNaN(d.value / c) ? 0 : d.value / c * 100, a = isNaN(d.value / he(s)) ? 0 : d.value / he(s) * 100;
      return e ? a : l.toFixed(0) + "%";
    }
    function he(d) {
      return [...d].map((s) => s.value).reduce((s, e) => s + e, 0);
    }
    const oe = B(!1);
    function je(d) {
      oe.value = d;
    }
    function Se() {
      return C.value ? w.value : _.dataset.percentage;
    }
    const N = P(() => {
      if (C.value) {
        const d = w.value.flatMap((e) => e.breakdown && e.breakdown.length ? [{ name: e.name, color: e.color }, ...e.breakdown.map((c, l) => ({
          name: c.name,
          color: A(e.color, l / e.breakdown.length)
        }))] : {
          name: e.name,
          color: e.color
        }), s = w.value.flatMap((e) => e.breakdown && e.breakdown.length ? [e.value, ...e.breakdown.map((c) => c.value)] : e.value);
        return { head: d, body: s };
      } else
        return null;
    });
    function ve() {
      if (!C.value) {
        console.warn("VueUi3dBar : CSV download is only available in stack mode (providing dataset.series instead of dataset.percentage)");
        return;
      }
      Oe(() => {
        const d = w.value.map((l) => l.value).reduce((l, a) => l + a, 0), s = N.value.head.map((l, a) => [[
          l.name
        ], [N.value.body[a]], [isNaN(N.value.body[a] / d) ? "-" : N.value.body[a] / d * 100]]), e = [[t.value.style.chart.title.text], [t.value.style.chart.title.subtitle.text], [[""], ["val"], ["%"]]].concat(s), c = qe(e);
        Xe({ csvContent: c, title: t.value.style.chart.title.text || "vue-ui-3d-bar" });
      });
    }
    const X = P(() => {
      const d = w.value.map((a) => a.value).reduce((a, u) => a + u, 0), s = [
        ' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" 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>',
        D({ p: t.value.style.chart.legend.prefix, v: d, s: t.value.style.chart.legend.suffix, r: t.value.table.td.roundingValue }),
        "100%"
      ], e = N.value.head.map((a, u) => {
        const y = D({ p: t.value.style.chart.legend.prefix, v: N.value.body[u], s: t.value.style.chart.legend.suffix, r: t.value.table.td.roundingValue });
        return [
          {
            color: a.color,
            name: a.name
          },
          y,
          isNaN(N.value.body[u] / d) ? "-" : D({
            v: N.value.body[u] / d * 100,
            s: "%",
            r: t.value.table.td.roundingPercentage
          })
        ];
      }), c = {
        th: {
          backgroundColor: t.value.table.th.backgroundColor,
          color: t.value.table.th.color,
          outline: t.value.table.th.outline
        },
        td: {
          backgroundColor: t.value.table.td.backgroundColor,
          color: t.value.table.td.color,
          outline: t.value.table.td.outline
        },
        breakpoint: t.value.table.responsiveBreakpoint,
        shape: t.value.style.shape === "tube" ? "circle" : "square"
      };
      return {
        colNames: [
          t.value.table.columnNames.series,
          t.value.table.columnNames.value,
          t.value.table.columnNames.percentage
        ],
        head: s,
        body: e,
        config: c
      };
    });
    function fe() {
      q.value.showTable = !q.value.showTable;
    }
    return Ce({
      generateCsv: ve,
      generatePdf: de,
      generateImage: ce,
      getData: Se,
      toggleTable: fe
    }), (d, s) => (n(), i("div", {
      ref_key: "bar3dChart",
      ref: re,
      class: ge("vue-ui-3d-bar"),
      style: j(`font-family:${t.value.style.fontFamily};width:100%; text-align:center;background:${t.value.style.chart.backgroundColor}`),
      id: `3d_bar_${x.value}`
    }, [
      t.value.style.chart.title.text ? (n(), i("div", {
        key: 0,
        style: j(`width:100%;background:${t.value.style.chart.backgroundColor}`)
      }, [
        _e(Re, {
          config: {
            title: {
              cy: "3dBar-div-title",
              ...t.value.style.chart.title
            },
            subtitle: {
              cy: "3dBar-div-subtitle",
              ...t.value.style.chart.title.subtitle
            }
          }
        }, null, 8, ["config"])
      ], 4)) : k("", !0),
      t.value.userOptions.show && Z.value ? (n(), ae(Je, {
        key: 1,
        ref_key: "details",
        ref: Me,
        backgroundColor: t.value.style.chart.backgroundColor,
        color: t.value.style.chart.color,
        isPrinting: h(ue),
        isImaging: h(ie),
        uid: x.value,
        hasPdf: t.value.userOptions.buttons.pdf,
        hasTable: !!C.value && t.value.userOptions.buttons.table,
        hasXls: !!C.value && t.value.userOptions.buttons.csv,
        hasImg: t.value.userOptions.buttons.img,
        hasFullscreen: t.value.userOptions.buttons.fullscreen,
        titles: { ...t.value.userOptions.buttonTitles },
        chartElement: re.value,
        onToggleFullscreen: je,
        onGeneratePdf: h(de),
        onGenerateCsv: ve,
        onGenerateImage: h(ce),
        onToggleTable: fe
      }, Ie({ _: 2 }, [
        d.$slots.optionPdf ? {
          name: "optionPdf",
          fn: I(() => [
            S(d.$slots, "optionPdf", {}, void 0, !0)
          ]),
          key: "0"
        } : void 0,
        d.$slots.optionCsv ? {
          name: "optionCsv",
          fn: I(() => [
            S(d.$slots, "optionCsv", {}, void 0, !0)
          ]),
          key: "1"
        } : void 0,
        d.$slots.optionImg ? {
          name: "optionImg",
          fn: I(() => [
            S(d.$slots, "optionImg", {}, void 0, !0)
          ]),
          key: "2"
        } : void 0,
        d.$slots.optionTable ? {
          name: "optionTable",
          fn: I(() => [
            S(d.$slots, "optionTable", {}, void 0, !0)
          ]),
          key: "3"
        } : void 0,
        d.$slots.optionFullscreen ? {
          name: "optionFullscreen",
          fn: I(({ toggleFullscreen: e, isFullscreen: c }) => [
            S(d.$slots, "optionFullscreen", R(Y({ toggleFullscreen: e, isFullscreen: c })), void 0, !0)
          ]),
          key: "4"
        } : void 0
      ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasTable", "hasXls", "hasImg", "hasFullscreen", "titles", "chartElement", "onGeneratePdf", "onGenerateImage"])) : k("", !0),
      Z.value ? (n(), i("svg", {
        key: 2,
        xmlns: h(Ze),
        class: ge({ "vue-data-ui-fullscreen--on": oe.value, "vue-data-ui-fulscreen--off": !oe.value }),
        viewBox: `0 0 ${o.value.absoluteWidth} ${o.value.height}`,
        style: j(`max-width:100%; overflow: visible; background:${t.value.style.chart.backgroundColor};color:${t.value.style.chart.color}`)
      }, [
        r("defs", null, [
          r("radialGradient", {
            id: `gradient_top${x.value}`
          }, [
            r("stop", {
              offset: "0%",
              "stop-color": `${h(T)(t.value.style.chart.backgroundColor)}00`
            }, null, 8, at),
            r("stop", {
              offset: "100%",
              "stop-color": `${t.value.style.chart.bar.color}`
            }, null, 8, nt)
          ], 8, st),
          r("radialGradient", {
            id: `gradient_left${x.value}`
          }, [
            r("stop", {
              offset: "0%",
              "stop-color": `${h(T)(t.value.style.chart.backgroundColor)}00`
            }, null, 8, ut),
            r("stop", {
              offset: "100%",
              "stop-color": `${t.value.style.chart.bar.color}33`
            }, null, 8, it)
          ], 8, rt),
          r("radialGradient", {
            id: `gradient_right${x.value}`
          }, [
            r("stop", {
              offset: "0%",
              "stop-color": `${h(T)(t.value.style.chart.backgroundColor)}00`
            }, null, 8, ct),
            r("stop", {
              offset: "100%",
              "stop-color": `${t.value.style.chart.bar.color}33`
            }, null, 8, ht)
          ], 8, dt),
          r("linearGradient", {
            id: `gradient_tube_body${x.value}`,
            x1: "0%",
            y1: "0%",
            x2: "100%",
            y2: "0%"
          }, [
            r("stop", {
              offset: "0%",
              "stop-color": `${t.value.style.chart.bar.color}`
            }, null, 8, ft),
            r("stop", {
              offset: "75%",
              "stop-color": `${h(T)(t.value.style.chart.backgroundColor)}00`
            }, null, 8, pt),
            r("stop", {
              offset: "100%",
              "stop-color": `${t.value.style.chart.bar.color}66`
            }, null, 8, yt)
          ], 8, vt)
        ]),
        C.value ? (n(), i("defs", kt, [
          (n(!0), i($, null, g(w.value, (e) => (n(), i("radialGradient", {
            id: `grad_top_${e.id}`
          }, [
            r("stop", {
              offset: "0%",
              "stop-color": `${h(A)(e.color, 0.5)}DD`
            }, null, 8, gt),
            r("stop", {
              offset: "100%",
              "stop-color": `${e.color}`
            }, null, 8, _t)
          ], 8, $t))), 256)),
          (n(!0), i($, null, g(w.value, (e) => (n(), i("linearGradient", {
            id: `grad_left_${e.id}`
          }, [
            r("stop", {
              offset: "0%",
              "stop-color": `${e.color}DD`
            }, null, 8, xt),
            r("stop", {
              offset: "100%",
              "stop-color": `${h(Q)(e.color, 0.5)}FF`
            }, null, 8, bt)
          ], 8, mt))), 256)),
          (n(!0), i($, null, g(w.value, (e) => (n(), i("linearGradient", {
            id: `grad_right_${e.id}`
          }, [
            r("stop", {
              offset: "2%",
              "stop-color": `${h(A)(e.color, 0.5)}FF`
            }, null, 8, Ct),
            r("stop", {
              offset: "100%",
              "stop-color": `${e.color}DD`
            }, null, 8, Ft)
          ], 8, wt))), 256)),
          r("linearGradient", {
            x1: "0%",
            y1: "0%",
            x2: "0%",
            y2: "100%",
            id: `vertical_line_${x.value}`
          }, jt, 8, Mt)
        ])) : k("", !0),
        t.value.style.chart.dataLabel.show && ![null, void 0].includes(_.dataset.percentage) && [null, void 0].includes(_.dataset.series) ? (n(), i("text", {
          key: 1,
          x: o.value.width / 2,
          y: o.value.top - t.value.style.chart.dataLabel.fontSize / 2,
          "font-size": t.value.style.chart.dataLabel.fontSize,
          "font-weight": t.value.style.chart.dataLabel.bold ? "bold" : "normal",
          fill: t.value.style.chart.dataLabel.color,
          "text-anchor": "middle"
        }, M(h(D)({
          v: G.value,
          s: "%",
          r: t.value.style.chart.dataLabel.rounding
        })), 9, St)) : k("", !0),
        O.value ? (n(), i("g", {
          key: 2,
          onClick: s[0] || (s[0] = (e) => {
            O.value = !1, b.value = null;
          }),
          "data-html2canvas-ignore": "",
          style: { cursor: "pointer" }
        }, [
          r("rect", {
            x: o.value.width / 2 - 6,
            y: o.value.top - 20,
            height: 12,
            width: 12,
            fill: "transparent"
          }, null, 8, Tt),
          r("path", {
            d: `M${o.value.width / 2 - 6},${o.value.top - 20} ${o.value.width / 2 + 6},${o.value.top - 9}`,
            stroke: t.value.style.chart.color,
            "stroke-linecap": "round",
            "stroke-width": "1"
          }, null, 8, zt),
          r("path", {
            d: `M${o.value.width / 2 + 6},${o.value.top - 20} ${o.value.width / 2 - 6},${o.value.top - 9}`,
            stroke: t.value.style.chart.color,
            "stroke-linecap": "round",
            "stroke-width": "1"
          }, null, 8, Nt)
        ])) : k("", !0),
        !t.value.style.shape || t.value.style.shape === "bar" ? (n(), i("g", Bt, [
          C.value ? k("", !0) : (n(), i("g", It, [
            r("path", {
              "stroke-dasharray": t.value.style.chart.box.strokeDasharray,
              d: z.value.right,
              stroke: t.value.style.chart.box.stroke,
              "stroke-width": t.value.style.chart.box.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: "none"
            }, null, 8, Lt),
            r("path", {
              "stroke-dasharray": t.value.style.chart.box.strokeDasharray,
              d: z.value.left,
              stroke: t.value.style.chart.box.stroke,
              "stroke-width": t.value.style.chart.box.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: "none"
            }, null, 8, Ot),
            r("path", {
              "stroke-dasharray": t.value.style.chart.box.strokeDasharray,
              d: z.value.side,
              stroke: t.value.style.chart.box.stroke,
              "stroke-width": t.value.style.chart.box.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: "none"
            }, null, 8, Wt),
            r("path", {
              "stroke-dasharray": t.value.style.chart.box.strokeDasharray,
              d: z.value.topSides,
              stroke: t.value.style.chart.box.stroke,
              "stroke-width": t.value.style.chart.box.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: "none"
            }, null, 8, Gt)
          ])),
          C.value ? k("", !0) : (n(), i("g", Vt, [
            r("path", {
              d: E.value.right,
              stroke: t.value.style.chart.bar.stroke,
              "stroke-width": t.value.style.chart.bar.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: `url(#gradient_right${x.value})`
            }, null, 8, At),
            r("path", {
              d: E.value.left,
              stroke: t.value.style.chart.bar.stroke,
              "stroke-width": t.value.style.chart.bar.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: `url(#gradient_left${x.value})`
            }, null, 8, Ut),
            r("path", {
              d: E.value.top,
              stroke: t.value.style.chart.bar.stroke,
              "stroke-width": t.value.style.chart.bar.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: `url(#gradient_top${x.value})`
            }, null, 8, Et)
          ])),
          C.value ? (n(), i("g", Ht, [
            (n(!0), i($, null, g(w.value, (e, c) => (n(), i("g", {
              style: j(`opacity:${b.value ? b.value === e.id ? 1 : 0.3 : 1}`),
              class: "vue-ui-3d-bar-stack"
            }, [
              r("path", {
                d: e.fill.right,
                fill: `url(#grad_right_${e.id})`,
                onMouseenter: (l) => F(e),
                onClick: (l) => F(e, !0),
                onMouseout: W
              }, null, 40, Zt),
              r("path", {
                d: e.fill.left,
                fill: `url(#grad_left_${e.id})`,
                onMouseenter: (l) => F(e),
                onClick: (l) => F(e, !0),
                onMouseout: W
              }, null, 40, qt),
              r("path", {
                d: e.fill.top,
                fill: `url(#grad_top_${e.id})`,
                onMouseenter: (l) => F(e),
                onClick: (l) => F(e, !0),
                onMouseout: W
              }, null, 40, Xt),
              r("path", {
                d: e.fill.liningTop,
                stroke: "#FFFFFF",
                "stroke-width": "0.5",
                "stroke-linecap": "round",
                fill: "none",
                onMouseenter: (l) => F(e),
                onClick: (l) => F(e, !0),
                onMouseout: W
              }, null, 40, Rt),
              r("path", {
                d: `M ${e.fill.apexTop.x},${e.fill.apexTop.y} ${e.fill.apexBottom.x},${e.fill.apexBottom.y}`,
                stroke: "#FFFFFF",
                "stroke-width": "0.5",
                "stroke-linecap": "round"
              }, null, 8, Yt)
            ], 4))), 256)),
            (n(!0), i($, null, g(w.value, (e, c) => (n(), i("g", null, [
              c !== w.value.length - 1 ? (n(), i("path", {
                key: 0,
                d: e.fill.liningTopShade,
                stroke: t.value.style.chart.bar.shadeColor,
                "stroke-width": "0.5",
                "stroke-linecap": "round",
                fill: "none",
                style: { "pointer-events": "none" }
              }, null, 8, Jt)) : k("", !0)
            ]))), 256)),
            (n(!0), i($, null, g(w.value, (e, c) => (n(), i("g", {
              style: j(`opacity:${b.value ? b.value === e.id ? 1 : 0 : e.proportion * 100 > t.value.style.chart.legend.hideUnderPercentage ? 1 : 0}`),
              onClick: (l) => H("selectDatapoint", e)
            }, [
              r("path", {
                stroke: t.value.style.chart.color,
                "stroke-dasharray": "1",
                "stroke-width": "0.5",
                "stroke-linecap": "round",
                d: `M${e.fill.sidePointer.x},${e.fill.sidePointer.y} ${e.fill.sidePointer.x + 20},${e.fill.sidePointer.y}`
              }, null, 8, Qt),
              !e.fill.miniDonut || b.value ? (n(), i("circle", {
                key: 0,
                cx: e.fill.sidePointer.x + 20,
                cy: e.fill.sidePointer.y,
                r: 2,
                fill: e.color,
                stroke: t.value.style.chart.backgroundColor
              }, null, 8, el)) : k("", !0),
              (n(), i("foreignObject", {
                x: e.fill.sidePointer.x + 30,
                y: e.fill.sidePointer.y - t.value.style.chart.legend.fontSize,
                width: o.value.absoluteWidth / 2 - 12,
                height: t.value.style.chart.legend.fontSize * 2,
                style: { overflow: "visible", position: "relative" }
              }, [
                t.value.style.chart.legend.showDefault ? (n(), i("div", {
                  key: 0,
                  style: j(`height: 100%; width: 100%; display: flex; flex-direction: row; flex-wrap: wrap; align-items:center;justify-content: flex-start; font-size:${t.value.style.chart.legend.fontSize}px; text-align:left; line-height: ${t.value.style.chart.legend.fontSize}px; color:${t.value.style.chart.legend.color}`)
                }, M(e.name) + ": " + M(h(D)({ v: e.proportion * 100, s: "%", r: t.value.style.chart.legend.roundingPercentage })) + " (" + M(h(ee)(
                  t.value.style.chart.dataLabel.formatter,
                  e.value,
                  h(D)({
                    p: t.value.style.chart.legend.prefix,
                    v: e.value,
                    s: t.value.style.chart.legend.suffix,
                    r: t.value.style.chart.legend.roundingValue
                  }),
                  { datapoint: e, seriesIndex: c }
                )) + ") ", 5)) : k("", !0),
                S(d.$slots, "legend", R(Y({ datapoint: e, config: t.value, dataset: w.value })), void 0, !0)
              ], 8, tl)),
              e.fill.donut && b.value === e.id ? (n(), i("g", ll, [
                (n(!0), i($, null, g(e.fill.donut, (l, a) => (n(), i("g", null, [
                  V(l, e.fill.donut, !0) > 6 ? (n(), i("path", {
                    key: 0,
                    d: h(be)(l, { x: l.cx, y: l.cy }, 0, 8, !1, !0, 0.5),
                    stroke: l.color,
                    class: "vue-ui-donut-arc-path",
                    "stroke-width": "0.5",
                    "stroke-linecap": "round",
                    "stroke-linejoin": "round",
                    fill: "none"
                  }, null, 8, ol)) : k("", !0)
                ]))), 256)),
                (n(!0), i($, null, g(e.fill.donut, (l, a) => (n(), i("path", {
                  class: "vue-ui-donut-arc-path",
                  d: l.arcSlice,
                  fill: `${l.color}`,
                  stroke: t.value.style.chart.backgroundColor,
                  "stroke-width": 1
                }, null, 8, sl))), 256)),
                r("defs", null, [
                  r("radialGradient", {
                    id: `hollow_gradient_${x.value}`
                  }, [
                    r("stop", {
                      offset: "0%",
                      "stop-color": `${h(T)(t.value.style.chart.backgroundColor)}00`
                    }, null, 8, nl),
                    rl,
                    r("stop", {
                      offset: "100%",
                      "stop-color": `${h(T)(t.value.style.chart.backgroundColor)}00`
                    }, null, 8, ul)
                  ], 8, al)
                ]),
                (n(!0), i($, null, g(e.fill.donut, (l, a) => (n(), i("circle", {
                  class: "vue-ui-donut-arc-path",
                  cx: l.cx,
                  cy: l.cy,
                  r: 28,
                  fill: `url(#hollow_gradient_${x.value})`
                }, null, 8, il))), 256)),
                (n(!0), i($, null, g(e.fill.donut, (l, a) => (n(), i("circle", {
                  class: "vue-ui-donut-arc-path",
                  cx: l.cx,
                  cy: l.cy,
                  r: 14,
                  fill: t.value.style.chart.backgroundColor
                }, null, 8, dl))), 256)),
                (n(!0), i($, null, g(e.fill.donut, (l, a) => (n(), i("g", null, [
                  V(l, e.fill.donut, !0) > 6 ? (n(), i("g", cl, [
                    r("text", {
                      "text-anchor": h(L)(l, !0, 0).anchor,
                      x: h(L)(l, !0, 2).x,
                      y: h(te)(l, 12, 12),
                      fill: t.value.style.chart.legend.color,
                      "font-size": t.value.style.chart.legend.fontSize / 1.5
                    }, M(V(l, e.fill.donut)) + " (" + M(h(ee)(
                      t.value.style.chart.dataLabel.formatter,
                      l.value,
                      h(D)({
                        p: t.value.style.chart.legend.prefix,
                        v: l.value,
                        s: t.value.style.chart.legend.suffix,
                        r: t.value.style.chart.legend.roundingValue
                      }),
                      { datapoint: l, seriesIndex: a }
                    )) + ") ", 9, hl),
                    r("text", {
                      "text-anchor": h(L)(l).anchor,
                      x: h(L)(l, !0, 2).x,
                      y: h(te)(l, 12, 12) + t.value.style.chart.legend.fontSize / 1.5,
                      fill: t.value.style.chart.legend.color,
                      "font-size": t.value.style.chart.legend.fontSize / 1.5
                    }, M(l.name), 9, vl)
                  ])) : k("", !0)
                ]))), 256))
              ])) : k("", !0),
              e.fill.miniDonut && !b.value ? (n(), i("g", fl, [
                (n(!0), i($, null, g(e.fill.miniDonut, (l, a) => (n(), i("path", {
                  class: "vue-ui-donut-arc-path",
                  d: l.arcSlice,
                  fill: `${l.color}`,
                  stroke: t.value.style.chart.backgroundColor,
                  "stroke-width": 0.5
                }, null, 8, pl))), 256))
              ])) : k("", !0)
            ], 12, Kt))), 256))
          ])) : k("", !0)
        ])) : k("", !0),
        t.value.style.shape === "tube" ? (n(), i("g", yl, [
          C.value ? k("", !0) : (n(), i("g", kl, [
            r("path", {
              "stroke-dasharray": t.value.style.chart.box.strokeDasharray,
              d: z.value.tubeTop,
              stroke: t.value.style.chart.box.stroke,
              "stroke-width": t.value.style.chart.box.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: "none"
            }, null, 8, $l),
            r("path", {
              "stroke-dasharray": t.value.style.chart.box.strokeDasharray,
              d: z.value.tubeLeft,
              stroke: t.value.style.chart.box.stroke,
              "stroke-width": t.value.style.chart.box.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: "none"
            }, null, 8, gl),
            r("path", {
              "stroke-dasharray": t.value.style.chart.box.strokeDasharray,
              d: z.value.tubeRight,
              stroke: t.value.style.chart.box.stroke,
              "stroke-width": t.value.style.chart.box.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: "none"
            }, null, 8, _l),
            r("path", {
              "stroke-dasharray": t.value.style.chart.box.strokeDasharray,
              d: z.value.tubeBottom,
              stroke: t.value.style.chart.box.stroke,
              "stroke-width": t.value.style.chart.box.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: "none"
            }, null, 8, ml),
            r("path", {
              d: E.value.tubeTop,
              stroke: t.value.style.chart.bar.stroke,
              "stroke-width": t.value.style.chart.bar.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: `url(#gradient_top${x.value})`
            }, null, 8, xl),
            r("path", {
              d: E.value.tubeBody,
              stroke: t.value.style.chart.bar.stroke,
              "stroke-width": t.value.style.chart.bar.strokeWidth,
              "stroke-linejoin": "round",
              "stroke-linecap": "round",
              fill: `url(#gradient_tube_body${x.value})`
            }, null, 8, bl)
          ])),
          C.value ? (n(), i("g", wl, [
            (n(!0), i($, null, g(w.value, (e, c) => (n(), i("g", {
              style: j(`opacity:${b.value ? b.value === e.id ? 1 : 0.3 : 1}`),
              class: "vue-ui-3d-bar-stack",
              onClick: (l) => H("selectDatapoint", e)
            }, [
              r("defs", null, [
                r("radialGradient", {
                  id: `gradient_tube_top_${e.id}`,
                  fx: "10%",
                  cy: "55%"
                }, [
                  r("stop", {
                    offset: "0%",
                    "stop-color": `${h(A)(e.color, 0.5)}DD`
                  }, null, 8, Ml),
                  r("stop", {
                    offset: "100%",
                    "stop-color": `${h(Q)(e.color, 0.1)}DD`
                  }, null, 8, Pl)
                ], 8, Fl),
                r("linearGradient", {
                  id: `gradient_tube_body_${e.id}`,
                  x1: "0%",
                  y1: "0%",
                  x2: "100%",
                  y2: "0%"
                }, [
                  r("stop", {
                    offset: "0%",
                    "stop-color": `${e.color}`
                  }, null, 8, jl),
                  r("stop", {
                    offset: "10%",
                    "stop-color": `${h(Q)(e.color, 0.7)}FF`
                  }, null, 8, Sl),
                  r("stop", {
                    offset: "25%",
                    "stop-color": `${h(Q)(e.color, 0.5)}FF`
                  }, null, 8, Tl),
                  r("stop", {
                    offset: "75%",
                    "stop-color": `${e.color}DD`
                  }, null, 8, zl),
                  r("stop", {
                    offset: "100%",
                    "stop-color": `${h(A)(e.color, 0.7)}FF`
                  }, null, 8, Nl)
                ], 8, Dl)
              ]),
              r("path", {
                onMouseenter: (l) => F(e),
                onClick: (l) => F(e, !0),
                onMouseout: W,
                d: e.fill.tubeBody,
                stroke: "#FFFFFF",
                "stroke-width": 0.5,
                "stroke-linejoin": "round",
                "stroke-linecap": "round",
                fill: `url(#gradient_tube_body_${e.id})`
              }, null, 40, Bl),
              c > 0 ? (n(), i("path", {
                key: 0,
                onMouseenter: (l) => F(e),
                onClick: (l) => F(e, !0),
                onMouseout: W,
                d: e.fill.bottomTubeTop,
                stroke: "#000000",
                "stroke-width": 0.5,
                "stroke-linejoin": "round",
                "stroke-linecap": "round",
                fill: "none"
              }, null, 40, Il)) : k("", !0),
              r("path", {
                onMouseenter: (l) => F(e),
                onClick: (l) => F(e, !0),
                onMouseout: W,
                d: e.fill.tubeTop,
                stroke: "#FFFFFF",
                "stroke-width": 0.5,
                "stroke-linejoin": "round",
                "stroke-linecap": "round",
                fill: `url(#gradient_tube_top_${e.id})`
              }, null, 40, Ll)
            ], 12, Cl))), 256)),
            (n(!0), i($, null, g(w.value, (e, c) => (n(), i("g", {
              style: j(`opacity:${b.value ? b.value === e.id ? 1 : 0 : e.proportion * 100 > t.value.style.chart.legend.hideUnderPercentage ? 1 : 0}`),
              onClick: (l) => H("selectDatapoint", e)
            }, [
              r("path", {
                stroke: t.value.style.chart.color,
                "stroke-dasharray": "1",
                "stroke-width": "0.5",
                "stroke-linecap": "round",
                d: `M${e.fill.sidePointer.x},${e.fill.sidePointer.y} ${e.fill.sidePointer.x + 20},${e.fill.sidePointer.y}`
              }, null, 8, Wl),
              !e.fill.miniDonut || b.value ? (n(), i("circle", {
                key: 0,
                cx: e.fill.sidePointer.x + 20,
                cy: e.fill.sidePointer.y,
                r: 2,
                fill: e.color,
                stroke: t.value.style.chart.backgroundColor
              }, null, 8, Gl)) : k("", !0),
              (n(), i("foreignObject", {
                x: e.fill.sidePointer.x + 30,
                y: e.fill.sidePointer.y - t.value.style.chart.legend.fontSize,
                width: o.value.absoluteWidth / 2 - 12,
                height: t.value.style.chart.legend.fontSize * 2,
                style: { overflow: "visible", position: "relative" }
              }, [
                t.value.style.chart.legend.showDefault ? (n(), i("div", {
                  key: 0,
                  style: j(`height: 100%; width: 100%; display: flex; flex-direction: row; flex-wrap: wrap; align-items:center;justify-content: flex-start; font-size:${t.value.style.chart.legend.fontSize}px; text-align:left; line-height: ${t.value.style.chart.legend.fontSize}px; color:${t.value.style.chart.legend.color}`)
                }, M(e.name) + ": " + M(h(D)({ v: e.proportion * 100, s: "%", r: t.value.style.chart.legend.roundingPercentage })) + " (" + M(h(ee)(
                  t.value.style.chart.dataLabel.formatter,
                  e.value,
                  h(D)({
                    p: t.value.style.chart.legend.prefix,
                    v: e.value,
                    s: t.value.style.chart.legend.suffix,
                    r: t.value.style.chart.legend.roundingValue
                  }),
                  { datapoint: e, seriesIndex: c }
                )) + ") ", 5)) : k("", !0),
                S(d.$slots, "legend", R(Y({ datapoint: e, config: t.value, dataset: w.value })), void 0, !0)
              ], 8, Vl)),
              e.fill.donut && b.value === e.id ? (n(), i("g", Al, [
                (n(!0), i($, null, g(e.fill.donut, (l, a) => (n(), i("g", null, [
                  V(l, e.fill.donut, !0) > 6 ? (n(), i("path", {
                    key: 0,
                    d: h(be)(l, { x: l.cx, y: l.cy }, 0, 8, !1, !0, 0.5),
                    stroke: l.color,
                    class: "vue-ui-donut-arc-path",
                    "stroke-width": "0.5",
                    "stroke-linecap": "round",
                    "stroke-linejoin": "round",
                    fill: "none"
                  }, null, 8, Ul)) : k("", !0)
                ]))), 256)),
                (n(!0), i($, null, g(e.fill.donut, (l, a) => (n(), i("path", {
                  class: "vue-ui-donut-arc-path",
                  d: l.arcSlice,
                  fill: `${l.color}`,
                  stroke: t.value.style.chart.backgroundColor,
                  "stroke-width": 1
                }, null, 8, El))), 256)),
                r("defs", null, [
                  r("radialGradient", {
                    id: `hollow_gradient_${x.value}`
                  }, [
                    r("stop", {
                      offset: "0%",
                      "stop-color": `${h(T)(t.value.style.chart.backgroundColor)}00`
                    }, null, 8, Zl),
                    ql,
                    r("stop", {
                      offset: "100%",
                      "stop-color": `${h(T)(t.value.style.chart.backgroundColor)}00`
                    }, null, 8, Xl)
                  ], 8, Hl)
                ]),
                (n(!0), i($, null, g(e.fill.donut, (l, a) => (n(), i("circle", {
                  class: "vue-ui-donut-arc-path",
                  cx: l.cx,
                  cy: l.cy,
                  r: 28,
                  fill: `url(#hollow_gradient_${x.value})`
                }, null, 8, Rl))), 256)),
                (n(!0), i($, null, g(e.fill.donut, (l, a) => (n(), i("circle", {
                  class: "vue-ui-donut-arc-path",
                  cx: l.cx,
                  cy: l.cy,
                  r: 14,
                  fill: t.value.style.chart.backgroundColor
                }, null, 8, Yl))), 256)),
                (n(!0), i($, null, g(e.fill.donut, (l, a) => (n(), i("g", null, [
                  V(l, e.fill.donut, !0) > 6 ? (n(), i("g", Jl, [
                    r("text", {
                      "text-anchor": h(L)(l, !0, 0).anchor,
                      x: h(L)(l, !0, 2).x,
                      y: h(te)(l, 12, 12),
                      fill: t.value.style.chart.legend.color,
                      "font-size": t.value.style.chart.legend.fontSize / 1.5
                    }, M(V(l, e.fill.donut)) + " (" + M(h(ee)(
                      t.value.style.chart.dataLabel.formatter,
                      l.value,
                      h(D)({
                        p: t.value.style.chart.legend.prefix,
                        v: l.value,
                        s: t.value.style.chart.legend.suffix,
                        r: t.value.style.chart.legend.roundingValue
                      }),
                      { datapoint: l, seriesIndex: a }
                    )) + ") ", 9, Kl),
                    r("text", {
                      "text-anchor": h(L)(l).anchor,
                      x: h(L)(l, !0, 2).x,
                      y: h(te)(l, 12, 12) + t.value.style.chart.legend.fontSize / 1.5,
                      fill: t.value.style.chart.legend.color,
                      "font-size": t.value.style.chart.legend.fontSize / 1.5
                    }, M(l.name), 9, Ql)
                  ])) : k("", !0)
                ]))), 256))
              ])) : k("", !0),
              e.fill.miniDonut && !b.value ? (n(), i("g", eo, [
                (n(!0), i($, null, g(e.fill.miniDonut, (l, a) => (n(), i("path", {
                  class: "vue-ui-donut-arc-path",
                  d: l.arcSlice,
                  fill: `${l.color}`,
                  stroke: t.value.style.chart.backgroundColor,
                  "stroke-width": 0.5
                }, null, 8, to))), 256))
              ])) : k("", !0)
            ], 12, Ol))), 256))
          ])) : k("", !0)
        ])) : k("", !0),
        S(d.$slots, "svg", { svg: o.value }, void 0, !0)
      ], 14, ot)) : k("", !0),
      d.$slots.watermark ? (n(), i("div", lo, [
        S(d.$slots, "watermark", R(Y({ isPrinting: h(ue) || h(ie) })), void 0, !0)
      ])) : k("", !0),
      Z.value ? k("", !0) : (n(), ae(Ke, {
        key: 4,
        config: {
          type: "bar3d",
          style: {
            backgroundColor: t.value.style.chart.backgroundColor,
            bar3d: {
              color: "#CCCCCC"
            }
          }
        }
      }, null, 8, ["config"])),
      Z.value && C.value ? (n(), ae(et, {
        key: 5,
        hideDetails: "",
        config: {
          open: q.value.showTable,
          maxHeight: 1e4,
          body: {
            backgroundColor: t.value.style.chart.backgroundColor,
            color: t.value.style.chart.color
          },
          head: {
            backgroundColor: t.value.style.chart.backgroundColor,
            color: t.value.style.chart.color
          }
        }
      }, {
        content: I(() => [
          _e(Qe, {
            colNames: X.value.colNames,
            head: X.value.head,
            body: X.value.body,
            config: X.value.config,
            title: `${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text ? ` : ${t.value.style.chart.title.subtitle.text}` : ""}`,
            onClose: s[1] || (s[1] = (e) => q.value.showTable = !1)
          }, {
            th: I(({ th: e }) => [
              r("div", {
                innerHTML: e,
                style: { display: "flex", "align-items": "center" }
              }, null, 8, oo)
            ]),
            td: I(({ td: e }) => [
              Le(M(e.name || e), 1)
            ]),
            _: 1
          }, 8, ["colNames", "head", "body", "config", "title"])
        ]),
        _: 1
      }, 8, ["config"])) : k("", !0)
    ], 12, lt));
  }
}, po = /* @__PURE__ */ tt(so, [["__scopeId", "data-v-06e93dd9"]]);
export {
  po as default
};
