var w = Object.defineProperty;
var y = (p, i, e) => i in p ? w(p, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : p[i] = e;
var u = (p, i, e) => y(p, typeof i != "symbol" ? i + "" : i, e);
import { ref as c, onMounted as v } from "vue";
import * as g from "echarts";
/* empty css                                        */
/* empty css                                        */
import "../../../../Interaction/components/Tabs/index.mjs";
import "../../../../Interaction/components/Tabs-icon/index.mjs";
import "../../../../Interaction/components/Button/index.mjs";
import "../../../../Interaction/components/DatePicker/index.mjs";
import "../../../../Interaction/components/DatePickerRange/index.mjs";
import "../../../../Interaction/components/Switch/index.mjs";
import "../../../../Interaction/components/Input/index.mjs";
import "../../../../Interaction/components/Select/index.mjs";
import "../../../../Interaction/components/Slider/index.mjs";
import "../../../../Text/components/List/index.mjs";
import "../../../../Text/components/Text/index.mjs";
import "../../../../Text/components/TextDynamic/index.mjs";
import "../../../../Text/components/TableBasic/index.mjs";
import "../../../../Text/components/TableScroll/index.mjs";
import "../../../../Text/components/RowScroll/index.mjs";
import "../../../../Text/components/RealTime/index.mjs";
import "../../../../Text/components/OverNumber/index.mjs";
import "../../../../Text/components/CountDown/index.mjs";
import "../../../../Text/components/TextCarousel/index.mjs";
import "../../../../Media/components/Audio/index.mjs";
import "../../../../Media/components/Video/index.mjs";
import "../../../../Media/components/Carousel/index.mjs";
import "../../../../Media/components/Flv/index.mjs";
import "../../../../Media/components/Iframe/index.mjs";
import "../../../../Media/components/IframeCarousel/index.mjs";
import "../../../../Media/components/Image/index.mjs";
import "../../../../Media/components/ImageDynamic/index.mjs";
import "../../../../Media/components/M3u8/index.mjs";
import "../../../../Media/components/Wavesurfer/index.mjs";
import "../../../../Media/components/Weather/index.mjs";
import "../../../../Media/components/Qrcode/index.mjs";
import "../../../../Chart/components/bar/basic/index.mjs";
import "../../../../Chart/components/bar/animation/index.mjs";
import "../../../../Chart/components/bar/contrast/index.mjs";
import "../../../../Chart/components/bar/contrast2/index.mjs";
import "../../../../Chart/components/bar/contrast3/index.mjs";
import "../../../../Chart/components/bar/gradient-column-chart/index.mjs";
import "../../../../Chart/components/bar/horizontal/index.mjs";
import "../../../../Chart/components/bar/horizontal-stack/index.mjs";
import "../../../../Chart/components/bar/line-bar/index.mjs";
import "../../../../Chart/components/bar/line-bar2/index.mjs";
import "../../../../Chart/components/bar/loop/index.mjs";
import "../../../../Chart/components/bar/mini/index.mjs";
import "../../../../Chart/components/bar/polar/index.mjs";
import "../../../../Chart/components/bar/polar-stack/index.mjs";
import "../../../../Chart/components/bar/polar2/index.mjs";
import "../../../../Chart/components/bar/radius-circle/index.mjs";
import "../../../../Chart/components/bar/rank/index.mjs";
import "../../../../Chart/components/bar/segmented-progress/index.mjs";
import "../../../../Chart/components/bar/spire/index.mjs";
import "../../../../Chart/components/bar/stack/index.mjs";
import "../../../../Chart/components/bar/stack-line/index.mjs";
import "../../../../Chart/components/bar/stack2/index.mjs";
import "../../../../Chart/components/bar/stack3/index.mjs";
import "../../../../Chart/components/bar/staggered/index.mjs";
import "../../../../Chart/components/bar/three/index.mjs";
import "../../../../Chart/components/bar/waterfall/index.mjs";
import "../../../../Chart/components/bar/zebra/index.mjs";
import "../../../../Chart/components/line/area-gradient/index.mjs";
import "../../../../Chart/components/line/area-highlight/index.mjs";
import "../../../../Chart/components/line/area-highlight2/index.mjs";
import "../../../../Chart/components/line/basic/index.mjs";
import "../../../../Chart/components/line/bump/index.mjs";
import "../../../../Chart/components/line/dashed/index.mjs";
import "../../../../Chart/components/line/ladder/index.mjs";
import "../../../../Chart/components/line/logarithm/index.mjs";
import "../../../../Chart/components/line/multix/index.mjs";
import "../../../../Chart/components/line/polar-double/index.mjs";
import "../../../../Chart/components/line/rain-flow/index.mjs";
import "../../../../Chart/components/line/scale/index.mjs";
import "../../../../Chart/components/line/smooth/index.mjs";
import "../../../../Chart/components/line/smooth-area/index.mjs";
import "../../../../Chart/components/line/stack/index.mjs";
import "../../../../Chart/components/line/stack-area/index.mjs";
import "../../../../Chart/components/line/temp/index.mjs";
import "../../../../Chart/components/line/vertical/index.mjs";
import "../../../../Chart/components/map/basic/index.mjs";
import "../../../../Chart/components/map/bmap-basic/index.mjs";
import "../../../../Chart/components/map/bmap-heatmap/index.mjs";
import "../../../../Chart/components/map/bmap-rich/index.mjs";
import "../../../../Chart/components/map/customize/index.mjs";
import "../../../../Chart/components/map/lines/index.mjs";
import "../../../../Chart/components/map/scatter/index.mjs";
import "../../../../Chart/components/pie/3d/index.mjs";
import "../../../../Chart/components/pie/basic/index.mjs";
import "../../../../Chart/components/pie/basic2/index.mjs";
import "../../../../Chart/components/pie/customized/index.mjs";
import "../../../../Chart/components/pie/index/index.mjs";
import "../../../../Chart/components/pie/interval/index.mjs";
import "../../../../Chart/components/pie/legend-scroll/index.mjs";
import "../../../../Chart/components/pie/radius/index.mjs";
import "../../../../Chart/components/pie/rose/index.mjs";
import "../../../../Chart/components/pie/round/index.mjs";
import "../../../../Chart/components/pie/sunburst/index.mjs";
import "../../../../Chart/components/scatter/basic/index.mjs";
import "../../../../Chart/components/scatter/basic2/index.mjs";
import "../../../../Chart/components/scatter/bubble/index.mjs";
import "../../../../Chart/components/scatter/ripples/index.mjs";
import "../../../../Chart/components/other/candlestick-basic/index.mjs";
import "../../../../Chart/components/other/sunburst-basic/index.mjs";
import "../../../../Chart/components/other/sunburst-basic2/index.mjs";
import "../../../../Chart/components/other/sunburst-basic3/index.mjs";
import "../../../../Chart/components/other/sunburst-basic4/index.mjs";
import "../../../../Chart/components/other/sunburst-book/index.mjs";
import "../../../../Chart/components/other/sunburst-flavors/index.mjs";
import "../../../../Chart/components/other/sunburst-radius/index.mjs";
import "../../../../Chart/components/other/funnel/index.mjs";
import "../../../../Chart/components/other/funnel-contrast/index.mjs";
import "../../../../Chart/components/other/funnel-split/index.mjs";
import "../../../../Chart/components/other/funnel2/index.mjs";
import "../../../../Chart/components/other/force/index.mjs";
import "../../../../Chart/components/other/force2/index.mjs";
import "../../../../Chart/components/other/gauge/index.mjs";
import "../../../../Chart/components/other/gauge-grade/index.mjs";
import "../../../../Chart/components/other/gauge-stage/index.mjs";
import "../../../../Chart/components/other/graph-basic/index.mjs";
import "../../../../Chart/components/other/graph-basic2/index.mjs";
import "../../../../Chart/components/other/graph-calendar/index.mjs";
import "../../../../Chart/components/other/circular-graph/index.mjs";
import "../../../../Chart/components/other/heatmap/index.mjs";
import "../../../../Chart/components/other/liquidfill/index.mjs";
import "../../../../Chart/components/other/parallel-basic/index.mjs";
import "../../../../Chart/components/other/parallel-mul/index.mjs";
import "../../../../Chart/components/other/radar-stack/index.mjs";
import "../../../../Chart/components/other/tree/index.mjs";
import "../../../../Chart/components/other/tree-line/index.mjs";
import "../../../../Chart/components/other/word-cloud/index.mjs";
import "../../../../Chart/components/other/treemap/index.mjs";
import "../../../../Chart/components/other/treemap-basic/index.mjs";
import "../../../../Chart/components/other/label-gauge/index.mjs";
import "../../../../Chart/components/other/grid-percentage/index.mjs";
import "../../../../Chart/components/other/radar/index.mjs";
import "../../CustomComponentRender/index.mjs";
import "../../Graphical/index.mjs";
import "../../Svg/index.mjs";
import "../../ModelViewer/index.mjs";
import "../../VrVideo/index.mjs";
import "../../VrPhoto/index.mjs";
import "../../Babylon/index.mjs";
import "../index.mjs";
import "../../GSViewer/index.mjs";
import "../../../../Scene/components/Amap2d/index.mjs";
import "../../../../Scene/components/Amap3d/index.mjs";
import "../../../../Scene/components/Default/index.mjs";
import "../../../../Scene/components/Map2d/index.mjs";
import "../../../../Scene/components/Map3d/index.mjs";
import "../../../../Scene/components/UeIframe/index.mjs";
import "../../../../Scene/components/UeShj/index.mjs";
import "../../../../Scene/components/UnityIframe/index.mjs";
import "../../../../Scene/components/UnityWebgl/index.mjs";
import "../../../../Scene/components/Vr/index.mjs";
import "../../../../Scene/components/Earth/index.mjs";
import { SHJDatasourceV2 as E } from "../../../../../commons/plugins/datasource/index.mjs";
import { SHJParseEvent as h } from "../../../../../commons/plugins/event/index.mjs";
import "lodash";
const gi = (p, i, e) => {
  const s = c(), n = c(!1);
  class f {
    constructor() {
      u(this, "_iframe");
      this._iframe = s.value;
    }
    fastEval(t) {
      const o = this._iframe.contentWindow.document.getElementsByTagName("head")[0], r = this._iframe.contentWindow.document.createElement(
        "script"
      );
      r.setAttribute("type", "text/javascript");
      const m = this._iframe.contentWindow.document.createElement(
        "style"
      );
      m.innerHTML = `
            *{
                margin:0;
                padding:0;
            }
            body, html {
                height:100%;
                overflow: hidden;
                background-color: transparent;
            }
            #renderDom {
                width:100%;
                height:100%;
                background-color: transparent;
                outline: none !important;
            }
        `, r.innerHTML = `
        try {
            ${t};
        } catch(e) {
            handleException(e);
        }`, o.innerHTML = "", o.appendChild(m), o.appendChild(r);
    }
    async compileAndRunAsync(t) {
      try {
        if (t.includes("window.") || t.includes("parent.") || t.includes("top."))
          return;
        let o = "";
        n.value = !0;
        const r = this._iframe.contentWindow;
        let m = r.document.getElementById("renderDom");
        if (m || (m = r.document.createElement("div"), m.id = "renderDom", r.document.body.appendChild(m)), r.echarts = g, r.renderDom = m, !t) return;
        o += `
                    window.initFunction = async function() {
                        if (!window.myChart) {
                            window.myChart = echarts.init(renderDom, null, { renderer: 'svg' });
                        }
                        window.option;
                        ${t}
                        option && myChart.setOption(option, true); // 合并选项
                    }
                `;
        try {
          this.fastEval(o);
        } catch {
        }
        await r.initFunction(), n.value = !1;
      } catch {
        n.value = !1;
      }
    }
  }
  const d = (l) => {
    E.parse({
      sources: i,
      callback: ({ data: t }) => {
        try {
          h.parseEvents(e, "dataListener", t);
          const o = `var echartsData = ${JSON.stringify(t[0].data[0].echartsData)};`;
          a.value.compileAndRunAsync(o + `
` + l);
        } catch {
          h.parseEvents(e, "dataListener", null);
        }
      }
    });
  }, a = c();
  return v(() => {
    a.value = new f(), d(p.code);
  }), { iframeRef: s, loadingStatus: n, renderingComponent: a, initEcharts: d };
};
export {
  gi as useEcharts
};
