import { useCssVars as It, computed as p, ref as g, watch as $t, onMounted as Bt, openBlock as a, createElementBlock as i, normalizeClass as K, unref as t, normalizeStyle as w, createBlock as G, createCommentVNode as h, createSlots as Rt, withCtx as k, renderSlot as v, normalizeProps as U, guardReactiveProps as H, createVNode as at, Fragment as A, renderList as O, createElementVNode as u, toDisplayString as b, withKeys as Et, createTextVNode as Gt, nextTick as Ut } from "vue";
import { u as Ht, o as Xt, e as Ct, c as nt, t as Dt, C as jt, g as Wt, N as it, X as Yt, G as ut, i as V, f as S, v as T, x as qt, y as Kt, q as Jt, r as Qt } from "./index-WrV3SAID.js";
import { _ as Zt } from "./Title-BR-xoRp4.js";
import { u as te, U as ee } from "./usePrinter-kVpf1iV8.js";
import { _ as le } from "./Tooltip-ho4JxRm-.js";
import oe from "./vue-ui-skeleton-Qec_XSRf.js";
import se from "./BaseIcon-MqKW8Nkx.js";
import ae from "./vue-ui-accordion-BQCDXXDs.js";
import { u as Lt } from "./useNestedProp-Cj0kHD7k.js";
import { _ as ne } from "./PackageVersion-1NslmM8M.js";
import { P as ie } from "./PenAndPaper-BF1ZRVm3.js";
import { u as ue } from "./useUserOptionState-BIvW1Kz7.js";
import { _ as re } from "./_plugin-vue_export-helper-CHgC5LLL.js";
const de = ["id"], ye = {
  key: 2,
  style: "width:100%;background:transparent"
}, ce = ["xmlns", "viewBox"], he = ["width", "height"], pe = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], ge = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], fe = ["font-size", "font-weight", "fill", "x", "y"], ve = ["x", "y", "width", "height", "onMouseover"], be = { key: 0 }, me = ["font-size", "fill", "x", "y", "font-weight"], xe = { key: 1 }, we = ["text-anchor", "font-size", "fill", "font-weight", "transform"], ke = { key: 2 }, _e = ["x", "y", "width", "height", "stroke", "stroke-width"], $e = { key: 3 }, Ce = ["id"], Le = ["stop-color"], Ae = ["stop-color"], Te = ["x", "y", "font-size", "fill"], ze = ["x", "y", "height", "rx", "fill"], Me = ["x", "y", "font-size", "fill"], Oe = ["stroke", "x1", "x2", "y1", "y2"], Se = ["fill", "d"], Ne = { key: 4 }, Fe = {
  id: "colorScaleHorizontal",
  x1: "0%",
  x2: "100%",
  y1: "0%",
  y2: "0%"
}, Ve = ["stop-color"], Pe = ["stop-color"], Ie = ["x", "y", "width", "height", "rx"], Be = ["x", "y", "font-size", "fill"], Re = ["x", "y", "font-size", "fill"], Ee = ["stroke", "x1", "x2", "y1", "y2"], Ge = ["fill", "d"], Ue = {
  key: 5,
  class: "vue-data-ui-watermark"
}, He = {
  key: 6,
  ref: "source",
  dir: "auto"
}, Xe = { class: "vue-ui-data-table" }, De = { key: 0 }, je = ["data-cell"], We = { style: { display: "flex", "align-items": "center", gap: "5px", "justify-content": "flex-end", width: "100%", "padding-right": "3px" } }, Ye = ["data-cell"], qe = { style: { display: "flex", "align-items": "center", gap: "5px", "justify-content": "flex-end", width: "100%", "padding-right": "3px" } }, Ke = {
  __name: "vue-ui-heatmap",
  props: {
    config: {
      type: Object,
      default() {
        return {};
      }
    },
    dataset: {
      type: Array,
      default() {
        return [];
      }
    }
  },
  setup(X, { expose: At }) {
    It((l) => ({
      "11b0c6cf": l.tdo
    }));
    const { vue_ui_heatmap: Tt } = Ht(), r = X, D = p(() => !!r.dataset && r.dataset.length);
    Xt(r.dataset) && Ct({
      componentName: "VueUiHeatmap",
      type: "dataset"
    });
    const P = g(nt()), j = g(null), zt = g(null), J = g(!1), Q = g(""), rt = g(void 0), I = g(null), dt = g(0), yt = g(null), Mt = g(null), ct = g(!1), ht = g(0), e = p({
      get: () => ft(),
      set: (l) => l
    }), { userOptionsVisible: Z, setUserOptionsVisibility: pt, keepUserOptionState: gt } = ue({ config: e.value });
    function ft() {
      const l = Lt({
        userConfig: r.config,
        defaultConfig: Tt
      });
      let o = {};
      return l.theme ? o = {
        ...Lt({
          userConfig: Dt.vue_ui_heatmap[l.theme] || r.config,
          defaultConfig: l
        })
      } : o = l, r.config && jt(r.config, "style.layout.dataLabels.xAxis.showOnlyAtModulo") ? o.style.layout.dataLabels.xAxis.showOnlyAtModulo = r.config.style.layout.dataLabels.xAxis.showOnlyAtModulo : o.style.layout.dataLabels.xAxis.showOnlyAtModulo = null, o;
    }
    $t(() => r.config, (l) => {
      e.value = ft(), Z.value = !e.value.showOnChartHover, tt(), ht.value += 1;
    }, { deep: !0 }), $t(() => r.dataset, () => {
      tt();
    }, { deep: !0 });
    const { isPrinting: vt, isImaging: bt, generatePdf: mt, generateImage: xt } = te({
      elementId: `heatmap__${P.value}`,
      fileName: e.value.style.title.text || "vue-ui-heatmap"
    }), Ot = p(() => e.value.userOptions.show && !e.value.style.title.text), _ = g({
      showTable: e.value.table.show,
      showTooltip: e.value.style.tooltip.show
    }), St = p(() => e.value.table.responsiveBreakpoint);
    function Nt() {
      new ResizeObserver((o) => {
        o.forEach((n) => {
          ct.value = n.contentRect.width < St.value;
        });
      }).observe(yt.value);
    }
    Bt(tt);
    function tt() {
      Nt();
    }
    const N = p(() => Math.max(...r.dataset.flatMap((l) => (l.values || []).length))), m = p(() => {
      const l = e.value.style.layout.padding.top + e.value.style.layout.padding.bottom + r.dataset.length * e.value.style.layout.cells.height, o = e.value.style.layout.padding.left + e.value.style.layout.padding.right + (N.value < r.dataset.length ? r.dataset.length : N.value) * e.value.style.layout.cells.height, n = l + (e.value.style.legend.show ? e.value.style.legend.position === "right" ? 0 : e.value.style.layout.cells.height * 2 : 0);
      return {
        height: l,
        heightWithLegend: n,
        width: o
      };
    }), W = p(() => e.value.style.legend.position), s = p(() => ({
      top: e.value.style.layout.padding.top,
      left: e.value.style.layout.padding.left,
      right: m.value.width - e.value.style.layout.padding.right - (W.value === "right" && e.value.style.legend.show ? 92 : 0),
      bottom: m.value.height - e.value.style.layout.padding.bottom,
      height: m.value.height - e.value.style.layout.padding.top - e.value.style.layout.padding.bottom,
      width: m.value.width - e.value.style.layout.padding.right - e.value.style.layout.padding.left - (W.value === "right" && e.value.style.legend.show ? 92 : 0)
    })), et = p(() => y.value.height * r.dataset.length), x = p(() => Math.max(...r.dataset.flatMap((l) => l.values))), z = p(() => Math.min(...r.dataset.flatMap((l) => l.values))), M = p(() => {
      const l = r.dataset.flatMap((n) => n.values);
      return l.reduce((n, d) => n + d, 0) / l.length;
    }), y = p(() => ({
      width: s.value.width / N.value,
      height: s.value.width / (N.value < r.dataset.length ? r.dataset.length : N.value)
    })), $ = p(() => {
      const l = e.value.style.layout.dataLabels.yAxis.values.length ? e.value.style.layout.dataLabels.yAxis.values : r.dataset.map((n) => n.name), o = e.value.style.layout.dataLabels.xAxis.values;
      return {
        yLabels: l,
        xLabels: o.slice(0, N.value)
      };
    }), Y = p(() => (r.dataset.forEach((l, o) => {
      Wt({
        datasetObject: l,
        requiredAttributes: ["values"]
      }).forEach((n) => {
        Ct({
          componentName: "VueUiHeatmap",
          type: "datasetSerieAttribute",
          property: "values",
          index: o
        });
      });
    }), r.dataset.map((l) => ({
      ...l,
      temperatures: (l.values || []).map((o, n) => o >= M.value ? {
        side: "up",
        color: it(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, z.value, x.value, o),
        ratio: Math.abs(Math.abs(o - M.value) / Math.abs(x.value - M.value)) > 1 ? 1 : Math.abs(Math.abs(o - M.value) / Math.abs(x.value - M.value)),
        value: o,
        yAxisName: l.name,
        xAxisName: $.value.xLabels[n],
        id: `vue-data-ui-heatmap-cell-${nt()}`
      } : {
        side: "down",
        ratio: Math.abs(1 - Math.abs(o) / Math.abs(M.value)) > 1 ? 1 : Math.abs(1 - Math.abs(o) / Math.abs(M.value)),
        color: it(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, z.value, x.value, o),
        value: o,
        yAxisName: l.name,
        xAxisName: $.value.xLabels[n],
        id: `vue-data-ui-heatmap-cell-${nt()}`
      })
    })))), C = g(null), B = g(null);
    function Ft(l, o, n, d) {
      I.value = { x: n, y: d };
      const { value: c, yAxisName: f, xAxisName: L, id: Pt } = l;
      rt.value = Pt, C.value = c, B.value = {
        datapoint: l,
        seriesIndex: o,
        series: Y.value,
        config: e.value
      }, J.value = !0;
      let ot = "";
      const st = e.value.style.tooltip.customFormat;
      qt(st) && Kt(() => st({
        datapoint: l,
        seriesIndex: o,
        series: Y.value,
        config: e.value
      })) ? Q.value = st({
        datapoint: l,
        seriesIndex: o,
        series: Y.value,
        config: e.value
      }) : (ot += `<div>${f} ${L ? `${L}` : ""}</div>`, ot += `<div style="margin-top:6px;padding-top:6px;border-top:1px solid ${e.value.style.tooltip.borderColor};font-weight:bold;display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:center"><span style="color:${it(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, z.value, x.value, c)}">⬤</span><span>${isNaN(c) ? "-" : V(
        e.value.style.layout.cells.value.formatter,
        c,
        S({
          p: e.value.style.layout.dataLabels.prefix,
          v: c,
          s: e.value.style.layout.dataLabels.suffix,
          r: e.value.style.tooltip.roundingValue
        }),
        { datapoint: l, seriesIndex: o }
      )}</span></div>`, Q.value = `<div style="font-size:${e.value.style.tooltip.fontSize}px">${ot}</div>`);
    }
    const R = p(() => s.value.top + et.value * (1 - C.value / x.value)), E = p(() => s.value.left + (m.value.width - s.value.left - e.value.style.layout.padding.right) * (C.value / x.value));
    p(() => {
      const l = r.dataset.map((n) => ({
        name: n.name
      })), o = r.dataset.map((n) => n.values);
      return { head: l, body: o };
    });
    function wt() {
      Ut(() => {
        const l = ["", ...r.dataset.map((c, f) => c.name)], o = [];
        for (let c = 0; c < $.value.xLabels.length; c += 1) {
          const f = [$.value.xLabels[c]];
          for (let L = 0; L < r.dataset.length; L += 1)
            f.push([r.dataset[L].values[c]]);
          o.push(f);
        }
        const n = [[e.value.style.title.text], [e.value.style.title.subtitle.text], [[""], [""], [""]]].concat([l]).concat(o), d = Jt(n);
        Qt({ csvContent: d, title: e.value.style.title.text || "vue-ui-heatmap" });
      });
    }
    const F = g(!1);
    function Vt(l) {
      F.value = l, dt.value += 1;
    }
    function kt() {
      _.value.showTable = !_.value.showTable;
    }
    function _t() {
      _.value.showTooltip = !_.value.showTooltip;
    }
    const q = g(!1);
    function lt() {
      q.value = !q.value;
    }
    return At({
      generatePdf: mt,
      generateCsv: wt,
      generateImage: xt,
      toggleTable: kt,
      toggleTooltip: _t,
      toggleAnnotator: lt
    }), (l, o) => (a(), i("div", {
      ref_key: "heatmapChart",
      ref: j,
      class: K(`vue-ui-heatmap ${t(F) ? "vue-data-ui-wrapper-fullscreen" : ""}`),
      style: w(`font-family:${t(e).style.fontFamily};width:100%; text-align:center;background:${t(e).style.backgroundColor}`),
      id: `heatmap__${t(P)}`,
      onMouseenter: o[3] || (o[3] = () => t(pt)(!0)),
      onMouseleave: o[4] || (o[4] = () => t(pt)(!1))
    }, [
      t(e).userOptions.buttons.annotator ? (a(), G(ie, {
        key: 0,
        parent: t(j),
        backgroundColor: t(e).style.backgroundColor,
        color: t(e).style.color,
        active: t(q),
        onClose: lt
      }, null, 8, ["parent", "backgroundColor", "color", "active"])) : h("", !0),
      t(Ot) ? (a(), i("div", {
        key: 1,
        ref_key: "noTitle",
        ref: Mt,
        class: "vue-data-ui-no-title-space",
        style: "height:36px; width: 100%;background:transparent"
      }, null, 512)) : h("", !0),
      t(e).style.title.text ? (a(), i("div", ye, [
        (a(), G(Zt, {
          key: `title_${t(ht)}`,
          config: {
            title: {
              cy: "heatmap-div-title",
              ...t(e).style.title
            },
            subtitle: {
              cy: "heatmap-div-subtitle",
              ...t(e).style.title.subtitle
            }
          }
        }, null, 8, ["config"]))
      ])) : h("", !0),
      t(e).userOptions.show && t(D) && (t(gt) || t(Z)) ? (a(), G(ee, {
        ref_key: "details",
        ref: zt,
        key: `user_options_${t(dt)}`,
        backgroundColor: t(e).style.backgroundColor,
        color: t(e).style.color,
        isImaging: t(bt),
        isPrinting: t(vt),
        uid: t(P),
        hasTooltip: t(e).userOptions.buttons.tooltip && t(e).style.tooltip.show,
        hasPdf: t(e).userOptions.buttons.pdf,
        hasImg: t(e).userOptions.buttons.img,
        hasXls: t(e).userOptions.buttons.csv,
        hasTable: t(e).userOptions.buttons.table,
        hasFullscreen: t(e).userOptions.buttons.fullscreen,
        isFullscreen: t(F),
        isTooltip: t(_).showTooltip,
        titles: { ...t(e).userOptions.buttonTitles },
        chartElement: t(j),
        position: t(e).userOptions.position,
        hasAnnotator: t(e).userOptions.buttons.annotator,
        isAnnotation: t(q),
        onToggleFullscreen: Vt,
        onGeneratePdf: t(mt),
        onGenerateCsv: wt,
        onGenerateImage: t(xt),
        onToggleTable: kt,
        onToggleTooltip: _t,
        onToggleAnnotator: lt,
        style: w({
          visibility: t(gt) ? t(Z) ? "visible" : "hidden" : "visible"
        })
      }, Rt({ _: 2 }, [
        l.$slots.optionTooltip ? {
          name: "optionTooltip",
          fn: k(() => [
            v(l.$slots, "optionTooltip", {}, void 0, !0)
          ]),
          key: "0"
        } : void 0,
        l.$slots.optionPdf ? {
          name: "optionPdf",
          fn: k(() => [
            v(l.$slots, "optionPdf", {}, void 0, !0)
          ]),
          key: "1"
        } : void 0,
        l.$slots.optionCsv ? {
          name: "optionCsv",
          fn: k(() => [
            v(l.$slots, "optionCsv", {}, void 0, !0)
          ]),
          key: "2"
        } : void 0,
        l.$slots.optionImg ? {
          name: "optionImg",
          fn: k(() => [
            v(l.$slots, "optionImg", {}, void 0, !0)
          ]),
          key: "3"
        } : void 0,
        l.$slots.optionTable ? {
          name: "optionTable",
          fn: k(() => [
            v(l.$slots, "optionTable", {}, void 0, !0)
          ]),
          key: "4"
        } : void 0,
        l.$slots.optionFullscreen ? {
          name: "optionFullscreen",
          fn: k(({ toggleFullscreen: n, isFullscreen: d }) => [
            v(l.$slots, "optionFullscreen", U(H({ toggleFullscreen: n, isFullscreen: d })), void 0, !0)
          ]),
          key: "5"
        } : void 0,
        l.$slots.optionAnnotator ? {
          name: "optionAnnotator",
          fn: k(({ toggleAnnotator: n, isAnnotator: d }) => [
            v(l.$slots, "optionAnnotator", U(H({ toggleAnnotator: n, isAnnotator: d })), void 0, !0)
          ]),
          key: "6"
        } : void 0
      ]), 1032, ["backgroundColor", "color", "isImaging", "isPrinting", "uid", "hasTooltip", "hasPdf", "hasImg", "hasXls", "hasTable", "hasFullscreen", "isFullscreen", "isTooltip", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "onGeneratePdf", "onGenerateImage", "style"])) : h("", !0),
      t(D) ? (a(), i("svg", {
        key: 4,
        xmlns: t(Yt),
        class: K({ "vue-data-ui-fullscreen--on": t(F), "vue-data-ui-fulscreen--off": !t(F) }),
        viewBox: `0 0 ${t(m).width} ${t(m).heightWithLegend}`,
        style: w(`max-width:100%;overflow:visible;background:transparent;color:${t(e).style.color}`)
      }, [
        at(ne),
        l.$slots["chart-background"] ? (a(), i("foreignObject", {
          key: 0,
          x: 0,
          y: 0,
          width: t(m).width,
          height: t(m).heightWithLegend,
          style: {
            pointerEvents: "none"
          }
        }, [
          v(l.$slots, "chart-background", {}, void 0, !0)
        ], 8, he)) : h("", !0),
        (a(!0), i(A, null, O(t(Y), (n, d) => (a(), i("g", null, [
          (a(!0), i(A, null, O(n.temperatures, (c, f) => (a(), i("g", null, [
            u("rect", {
              x: t(s).left + t(y).width * f + t(e).style.layout.cells.spacing / 2,
              y: t(s).top + t(y).height * d + t(e).style.layout.cells.spacing / 2,
              width: t(y).width - t(e).style.layout.cells.spacing,
              height: t(y).height - t(e).style.layout.cells.spacing,
              fill: t(e).style.layout.cells.colors.underlayer,
              stroke: t(e).style.backgroundColor,
              "stroke-width": t(e).style.layout.cells.spacing
            }, null, 8, pe),
            u("rect", {
              x: t(s).left + t(y).width * f + t(e).style.layout.cells.spacing / 2,
              y: t(s).top + t(y).height * d + t(e).style.layout.cells.spacing / 2,
              width: t(y).width - t(e).style.layout.cells.spacing,
              height: t(y).height - t(e).style.layout.cells.spacing,
              fill: c.color,
              stroke: t(e).style.backgroundColor,
              "stroke-width": t(e).style.layout.cells.spacing
            }, null, 8, ge),
            t(e).style.layout.cells.value.show ? (a(), i("text", {
              key: 0,
              "text-anchor": "middle",
              "font-size": t(e).style.layout.cells.value.fontSize,
              "font-weight": t(e).style.layout.cells.value.bold ? "bold" : "normal",
              fill: t(ut)(c.color),
              x: t(s).left + t(y).width * f + t(y).width / 2,
              y: t(s).top + t(y).height * d + t(y).height / 2 + t(e).style.layout.cells.value.fontSize / 3
            }, b(t(V)(
              t(e).style.layout.cells.value.formatter,
              c.value,
              t(S)({
                p: t(e).style.layout.dataLabels.prefix,
                v: c.value,
                s: t(e).style.layout.dataLabels.suffix,
                r: t(e).style.layout.cells.value.roundingValue
              }),
              { datapoint: c }
            )), 9, fe)) : h("", !0)
          ]))), 256)),
          (a(!0), i(A, null, O(n.temperatures, (c, f) => (a(), i("g", null, [
            u("rect", {
              x: t(s).left + t(y).width * f,
              y: t(s).top + t(y).height * d,
              width: t(y).width,
              height: t(y).height,
              fill: "transparent",
              stroke: "none",
              onMouseover: (L) => Ft(c, d, t(s).left + t(y).width * f, t(s).top + t(y).height * d),
              onMouseout: o[0] || (o[0] = (L) => {
                J.value = !1, rt.value = void 0, C.value = null, I.value = null;
              })
            }, null, 40, ve)
          ]))), 256)),
          t(e).style.layout.dataLabels.yAxis.show ? (a(), i("g", be, [
            u("text", {
              "font-size": t(e).style.layout.dataLabels.yAxis.fontSize,
              fill: t(e).style.layout.dataLabels.yAxis.color,
              x: t(s).left + t(e).style.layout.dataLabels.yAxis.offsetX - 6,
              y: t(s).top + t(y).height * d + t(y).height / 2 + t(e).style.layout.dataLabels.yAxis.fontSize / 3 + t(e).style.layout.dataLabels.yAxis.offsetY,
              "text-anchor": "end",
              "font-weight": t(e).style.layout.dataLabels.yAxis.bold ? "bold" : "normal"
            }, b(t($).yLabels[d]), 9, me)
          ])) : h("", !0)
        ]))), 256)),
        t(e).style.layout.dataLabels.xAxis.show ? (a(), i("g", xe, [
          (a(!0), i(A, null, O(t($).xLabels, (n, d) => (a(), i(A, null, [
            !t(e).style.layout.dataLabels.xAxis.showOnlyAtModulo || t(e).style.layout.dataLabels.xAxis.showOnlyAtModulo && d % t(e).style.layout.dataLabels.xAxis.showOnlyAtModulo === 0 ? (a(), i("text", {
              key: 0,
              "text-anchor": t(e).style.layout.dataLabels.xAxis.rotation === 0 ? "middle" : t(e).style.layout.dataLabels.xAxis.rotation < 0 ? "start" : "end",
              "font-size": t(e).style.layout.dataLabels.xAxis.fontSize,
              fill: t(e).style.layout.dataLabels.xAxis.color,
              "font-weight": t(e).style.layout.dataLabels.xAxis.bold ? "bold" : "normal",
              transform: `translate(${t(s).left + t(y).width / 2 + t(s).width / t($).xLabels.length * d + t(e).style.layout.dataLabels.xAxis.offsetX}, ${t(s).top + t(e).style.layout.dataLabels.xAxis.offsetY - 6}), rotate(${t(e).style.layout.dataLabels.xAxis.rotation})`
            }, b(n), 9, we)) : h("", !0)
          ], 64))), 256))
        ])) : h("", !0),
        t(I) ? (a(), i("g", ke, [
          u("rect", {
            style: { "pointer-events": "none" },
            x: t(I).x - t(e).style.layout.cells.selected.border / 2 + t(e).style.layout.cells.spacing,
            y: t(I).y - t(e).style.layout.cells.selected.border / 2 + t(e).style.layout.cells.spacing,
            width: t(y).width - t(e).style.layout.cells.spacing + t(e).style.layout.cells.selected.border - t(e).style.layout.cells.spacing,
            height: t(y).height - t(e).style.layout.cells.spacing + t(e).style.layout.cells.selected.border - t(e).style.layout.cells.spacing,
            fill: "transparent",
            stroke: t(e).style.layout.cells.selected.color,
            "stroke-width": t(e).style.layout.cells.selected.border,
            rx: 1
          }, null, 8, _e)
        ])) : h("", !0),
        t(e).style.legend.show && t(W) === "right" ? (a(), i("g", $e, [
          u("defs", null, [
            u("linearGradient", {
              id: `colorScaleVertical_${t(P)}`,
              x2: "0%",
              y2: "100%"
            }, [
              u("stop", {
                offset: "0%",
                "stop-color": t(e).style.layout.cells.colors.hot
              }, null, 8, Le),
              u("stop", {
                offset: "100%",
                "stop-color": t(e).style.layout.cells.colors.cold
              }, null, 8, Ae)
            ], 8, Ce)
          ]),
          u("text", {
            x: t(s).right + 36 + 18,
            y: t(s).top - t(e).style.legend.fontSize * 1.5,
            "text-anchor": "middle",
            "font-size": t(e).style.legend.fontSize * 2,
            fill: t(e).style.legend.color
          }, b(t(V)(
            t(e).style.layout.cells.value.formatter,
            t(T)(t(x)),
            t(S)({
              p: t(e).style.layout.dataLabels.prefix,
              v: t(T)(t(x)),
              s: t(e).style.layout.dataLabels.suffix,
              r: t(e).style.legend.roundingValue
            })
          )), 9, Te),
          u("rect", {
            x: t(s).right + 36,
            y: t(s).top,
            width: 36,
            height: t(et),
            rx: t(e).style.legend.scaleBorderRadius,
            fill: `url(#colorScaleVertical_${t(P)})`
          }, null, 8, ze),
          u("text", {
            x: t(s).right + 36 + 18,
            y: t(s).top + t(et) + t(e).style.legend.fontSize * 2.5,
            "text-anchor": "middle",
            "font-size": t(e).style.legend.fontSize * 2,
            fill: t(e).style.legend.color
          }, b(t(V)(
            t(e).style.layout.cells.value.formatter,
            t(T)(t(z)),
            t(S)({
              p: t(e).style.layout.dataLabels.prefix,
              v: t(T)(t(z)),
              s: t(e).style.layout.dataLabels.suffix,
              r: t(e).style.legend.roundingValue
            })
          )), 9, Me),
          t(C) !== null ? (a(), i("line", {
            key: 0,
            stroke: t(ut)(t(B).datapoint.color),
            "stroke-width": "2",
            x1: t(s).right + 36,
            x2: t(s).right + 72,
            y1: t(R),
            y2: t(R)
          }, null, 8, Oe)) : h("", !0),
          t(C) !== null ? (a(), i("path", {
            key: 1,
            fill: t(e).style.color,
            stroke: "none",
            d: `M ${t(s).right + 36},${t(R)} ${t(s).right + 26},${t(R) - 8} ${t(s).right + 26},${t(R) + 8}z`
          }, null, 8, Se)) : h("", !0)
        ])) : h("", !0),
        t(e).style.legend.show && t(W) === "bottom" ? (a(), i("g", Ne, [
          u("defs", null, [
            u("linearGradient", Fe, [
              u("stop", {
                offset: "0%",
                "stop-color": t(e).style.layout.cells.colors.cold
              }, null, 8, Ve),
              u("stop", {
                offset: "100%",
                "stop-color": t(e).style.layout.cells.colors.hot
              }, null, 8, Pe)
            ])
          ]),
          u("rect", {
            x: t(s).left,
            y: t(s).bottom + t(e).style.layout.cells.height,
            width: t(m).width - t(s).left - t(e).style.layout.padding.right,
            height: t(e).style.layout.cells.height,
            rx: t(e).style.legend.scaleBorderRadius > t(e).style.layout.cells.height / 2 ? t(e).style.layout.cells.height / 2 : t(e).style.legend.scaleBorderRadius,
            fill: "url(#colorScaleHorizontal)"
          }, null, 8, Ie),
          u("text", {
            x: t(s).left,
            y: t(s).bottom + t(e).style.layout.cells.height * 2 + t(e).style.legend.fontSize * 2,
            "text-anchor": "start",
            "font-size": t(e).style.legend.fontSize * 2,
            fill: t(e).style.legend.color
          }, b(t(V)(
            t(e).style.layout.cells.value.formatter,
            t(T)(t(z)),
            t(S)({
              p: t(e).style.layout.dataLabels.prefix,
              v: t(T)(t(z)),
              s: t(e).style.layout.dataLabels.suffix,
              r: t(e).style.legend.roundingValue
            })
          )), 9, Be),
          u("text", {
            x: t(s).right,
            y: t(s).bottom + t(e).style.layout.cells.height * 2 + t(e).style.legend.fontSize * 2,
            "text-anchor": "end",
            "font-size": t(e).style.legend.fontSize * 2,
            fill: t(e).style.legend.color
          }, b(t(V)(
            t(e).style.layout.cells.value.formatter,
            t(T)(t(x)),
            t(S)({
              p: t(e).style.layout.dataLabels.prefix,
              v: t(T)(t(x)),
              s: t(e).style.layout.dataLabels.suffix,
              r: t(e).style.legend.roundingValue
            })
          )), 9, Re),
          t(C) !== null ? (a(), i("line", {
            key: 0,
            stroke: t(ut)(t(B).datapoint.color),
            "stroke-width": "2",
            x1: t(E),
            x2: t(E),
            y1: t(s).bottom + t(e).style.layout.cells.height,
            y2: t(s).bottom + t(e).style.layout.cells.height * 2
          }, null, 8, Ee)) : h("", !0),
          t(C) !== null ? (a(), i("path", {
            key: 1,
            fill: t(e).style.color,
            stroke: "none",
            d: `M ${t(E)},${t(s).bottom + t(e).style.layout.cells.height} ${t(E) - 12},${t(s).bottom + t(e).style.layout.cells.height - 20} ${t(E) + 12},${t(s).bottom + t(e).style.layout.cells.height - 20}z`
          }, null, 8, Ge)) : h("", !0)
        ])) : h("", !0),
        v(l.$slots, "svg", { svg: t(m) }, void 0, !0)
      ], 14, ce)) : h("", !0),
      l.$slots.watermark ? (a(), i("div", Ue, [
        v(l.$slots, "watermark", U(H({ isPrinting: t(vt) || t(bt) })), void 0, !0)
      ])) : h("", !0),
      l.$slots.source ? (a(), i("div", He, [
        v(l.$slots, "source", {}, void 0, !0)
      ], 512)) : h("", !0),
      t(D) ? h("", !0) : (a(), G(oe, {
        key: 7,
        config: {
          type: "heatmap",
          style: {
            backgroundColor: t(e).style.backgroundColor,
            heatmap: {
              color: "#CCCCCC"
            }
          }
        }
      }, null, 8, ["config"])),
      at(le, {
        show: t(_).showTooltip && t(J),
        backgroundColor: t(e).style.tooltip.backgroundColor,
        color: t(e).style.tooltip.color,
        borderRadius: t(e).style.tooltip.borderRadius,
        borderColor: t(e).style.tooltip.borderColor,
        borderWidth: t(e).style.tooltip.borderWidth,
        fontSize: t(e).style.tooltip.fontSize,
        backgroundOpacity: t(e).style.tooltip.backgroundOpacity,
        position: t(e).style.tooltip.position,
        offsetY: t(e).style.tooltip.offsetY,
        parent: t(j),
        content: t(Q),
        isFullscreen: t(F),
        isCustom: t(e).style.tooltip.customFormat && typeof t(e).style.tooltip.customFormat == "function"
      }, {
        "tooltip-before": k(() => [
          v(l.$slots, "tooltip-before", U(H({ ...t(B) })), void 0, !0)
        ]),
        "tooltip-after": k(() => [
          v(l.$slots, "tooltip-after", U(H({ ...t(B) })), void 0, !0)
        ]),
        _: 3
      }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom"]),
      t(D) ? (a(), G(ae, {
        key: 8,
        hideDetails: "",
        config: {
          open: t(_).showTable,
          maxHeight: 1e4,
          body: {
            backgroundColor: t(e).style.backgroundColor,
            color: t(e).style.color
          },
          head: {
            backgroundColor: t(e).style.backgroundColor,
            color: t(e).style.color
          }
        }
      }, {
        content: k(() => [
          u("div", {
            ref_key: "tableContainer",
            ref: yt,
            class: "vue-ui-heatmap-table"
          }, [
            u("div", {
              style: "width:100%;overflow-x:auto;padding-top:36px;position:relative",
              class: K({ "vue-ui-responsive": t(ct) })
            }, [
              u("div", {
                role: "button",
                tabindex: "0",
                style: w(`width:32px; position: absolute; top: 0; left:4px; padding: 0 0px; display: flex; align-items:center;justify-content:center;height: 36px; width: 32px; cursor:pointer; background:${t(e).table.th.backgroundColor};`),
                onClick: o[1] || (o[1] = (n) => t(_).showTable = !1),
                onKeypress: o[2] || (o[2] = Et((n) => t(_).showTable = !1, ["enter"]))
              }, [
                at(se, {
                  name: "close",
                  stroke: t(e).table.th.color,
                  "stroke-width": 2
                }, null, 8, ["stroke"])
              ], 36),
              u("table", Xe, [
                u("caption", {
                  style: w(`backgroundColor:${t(e).table.th.backgroundColor};color:${t(e).table.th.color};outline:${t(e).table.th.outline}`)
                }, [
                  Gt(b(t(e).style.title.text) + " ", 1),
                  t(e).style.title.subtitle.text ? (a(), i("span", De, b(t(e).style.title.subtitle.text), 1)) : h("", !0)
                ], 4),
                u("thead", null, [
                  u("tr", {
                    role: "row",
                    style: w(`background:${t(e).table.th.backgroundColor};color:${t(e).table.th.color}`)
                  }, [
                    u("th", {
                      style: w(`outline:${t(e).table.th.outline};padding-right:6px`)
                    }, null, 4),
                    (a(!0), i(A, null, O(X.dataset, (n, d) => (a(), i("th", {
                      align: "right",
                      style: w(`outline:${t(e).table.th.outline};padding-right:6px`)
                    }, b(n.name), 5))), 256))
                  ], 4)
                ]),
                u("tbody", null, [
                  (a(!0), i(A, null, O(t($).xLabels, (n, d) => (a(), i("tr", {
                    role: "row",
                    class: K({ "vue-ui-data-table__tbody__row": !0, "vue-ui-data-table__tbody__row-even": d % 2 === 0, "vue-ui-data-table__tbody__row-odd": d % 2 !== 0 }),
                    style: w(`background:${t(e).table.td.backgroundColor};color:${t(e).table.td.color}`)
                  }, [
                    u("td", {
                      "data-cell": t(e).table.colNames.xAxis,
                      class: "vue-ui-data-table__tbody__td",
                      style: w(`outline:${t(e).table.td.outline}`)
                    }, [
                      u("div", We, b(n), 1)
                    ], 12, je),
                    (a(!0), i(A, null, O(X.dataset, (c, f) => (a(), i("td", {
                      class: "vue-ui-data-table__tbody__td",
                      "data-cell": X.dataset[f].name,
                      style: w(`outline:${t(e).table.td.outline}`)
                    }, [
                      u("div", qe, b(isNaN(c.values[d]) ? "-" : t(S)({ p: t(e).style.layout.dataLabels.prefix, v: c.values[d], s: t(e).style.layout.dataLabels.suffix, r: t(e).table.td.roundingValue })), 1)
                    ], 12, Ye))), 256))
                  ], 6))), 256))
                ])
              ])
            ], 2)
          ], 512)
        ]),
        _: 1
      }, 8, ["config"])) : h("", !0)
    ], 46, de));
  }
}, dl = /* @__PURE__ */ re(Ke, [["__scopeId", "data-v-a682835e"]]);
export {
  dl as default
};
