import { defineComponent as b, computed as s, ref as m, onMounted as S, nextTick as h, onBeforeUnmount as k, createBlock as U, openBlock as g, unref as w, normalizeStyle as F } from "vue";
import $ from "vue-countup-v3";
import { Odometer as I } from "odometer_countup";
import { nanoid as v } from "nanoid";
/* 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 "../List/index.mjs";
import "../Text/index.mjs";
import "../TextDynamic/index.mjs";
import "../TableBasic/index.mjs";
import "../TableScroll/index.mjs";
import "../RowScroll/index.mjs";
import "../RealTime/index.mjs";
import "./index.mjs";
import "../CountDown/index.mjs";
import "../TextCarousel/index.mjs";
import "../../../Media/components/Audio/index.mjs";
import "../../../Media/components/Video/index.mjs";
import "../../../Media/components/VideoDynamic/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 "../../../Commons/components/CustomComponentRender/index.mjs";
import "../../../Commons/components/Graphical/index.mjs";
import "../../../Commons/components/Svg/index.mjs";
import "../../../Commons/components/ModelViewer/index.mjs";
import "../../../Commons/components/VrVideo/index.mjs";
import "../../../Commons/components/VrPhoto/index.mjs";
import "../../../Commons/components/Babylon/index.mjs";
import "../../../Commons/components/Echarts/index.mjs";
import "../../../Commons/components/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 V } from "../../../../commons/plugins/datasource/index.mjs";
import { SHJParseEvent as c } from "../../../../commons/plugins/event/index.mjs";
import "lodash";
import { upgradeOverNumber as E } from "./version.mjs";
import { useWatch as M } from "./hooks/useWatch.mjs";
import { Utils as D } from "../../../../commons/utils/utils.mjs";
const O = b({ name: "ShjOverNumber" }), jo = /* @__PURE__ */ b({
  ...O,
  props: {
    option: {},
    sources: {},
    useEvents: {}
  },
  setup(r, { expose: x }) {
    const t = s(() => E(r.option)), a = m(t.value.base.countUp.startVal), n = m(v()), o = m(0), l = m(), e = m(), i = () => {
      V.parse({
        sources: r.sources,
        callback: ({ data: p }) => {
          try {
            c.parseEvents(r.useEvents, "dataListener", p), n.value = v(), o.value = Number(p[0].data[0].value), l.value = {
              startVal: a.value,
              separator: t.value.base.countUp.separator,
              decimal: t.value.base.countUp.decimal,
              decimalPlaces: t.value.base.countUp.decimalPlaces,
              duration: t.value.base.countUp.duration,
              prefix: t.value.base.countUp.prefix,
              suffix: t.value.base.countUp.suffix
            }, t.value.base.countUp.isOdometer && (l.value.plugin = new I({
              duration: t.value.base.countUp.duration,
              lastDigitDelay: 0
            })), a.value = o.value, t.value.base.countUp.isImitate ? f() : e.value && clearInterval(e.value);
          } catch {
            c.parseEvents(r.useEvents, "dataListener", null);
          }
        }
      });
    }, d = () => {
    }, f = () => {
      e.value && clearInterval(e.value);
      const p = t.value.base.countUp.isOdometer ? Math.floor(Math.random() * 6) + 5 : Math.floor(Math.random() * 4) + 3;
      e.value = setInterval(() => {
        a.value = o.value, l.value.startVal = a.value;
        const u = Number(
          (Math.random() * 10).toFixed(t.value.base.countUp.decimalPlaces)
        );
        u > 3 ? o.value += u : o.value -= u;
      }, p * 1e3);
    };
    S(() => {
      h(() => {
        i();
      });
    });
    const y = s(() => (t.value.base.textStyle.fontFamily && D.installFont(t.value.base.textStyle.fontFamily), t.value.base.textStyle.fontFamily));
    return k(() => {
      e.value && clearInterval(e.value);
    }), M({ option: t.value, sources: r.sources }, i), x({
      refresh: () => i(),
      refreshView: () => i(),
      refreshData: () => i()
    }), (p, u) => (g(), U(w($), {
      key: n.value,
      class: "over-number",
      "end-val": o.value,
      options: l.value,
      loop: t.value.base.countUp.loop,
      delay: t.value.base.countUp.delay,
      style: F({
        "-webkit-text-stroke-width": `${t.value.base.textStyle["-webkit-text-stroke-width"]}px`,
        fontFamily: y.value,
        color: t.value.base.textStyle.color.includes("linear-gradient") ? "transparent" : t.value.base.textStyle.color,
        "background-image": t.value.base.textStyle.color.includes(
          "linear-gradient"
        ) ? t.value.base.textStyle.color : "none",
        "-webkit-background-clip": t.value.base.textStyle.color.includes(
          "linear-gradient"
        ) ? "text" : "",
        letterSpacing: `${t.value.base.textStyle.letterSpacing}px`,
        fontSize: `${t.value.base.textStyle.fontSize}px`,
        lineHeight: `${t.value.base.textStyle.lineHeight}px`,
        fontStyle: t.value.base.textStyle.fontStyle,
        "-webkit-text-stroke-color": t.value.base.textStyle["-webkit-text-stroke-color"],
        textShadow: t.value.base.textStyle.textShadow.show ? `${t.value.base.textStyle.textShadow.x}px ${t.value.base.textStyle.textShadow.y}px ${t.value.base.textStyle.textShadow.value}px ${t.value.base.textStyle.textShadow.color}` : "",
        justifyContent: t.value.base.textStyle.justifyContent,
        alignItems: t.value.base.textStyle.alignItems
      }),
      onFinished: d
    }, null, 8, ["end-val", "options", "loop", "delay", "style"]));
  }
});
export {
  jo as default
};
