import "../../../../../../node_modules/.pnpm/vue@3.3.4/node_modules/vue/dist/vue.runtime.esm-bundler.mjs";
import { useChartEditStore } from "../../../../../store/modules/chartEditStore/chartEditStore.mjs";
import "../../../../../store/modules/designStore/designStore.mjs";
import "../../../../../settings/designSetting.mjs";
import "../../../../../../node_modules/.pnpm/screenfull@6.0.2/node_modules/screenfull/index.mjs";
import "../../../../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.mjs";
import "../../../../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.mjs";
import "../../../../../../node_modules/.pnpm/html2canvas@1.4.1/node_modules/html2canvas/dist/html2canvas.esm.mjs";
import "../../../../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseClone.mjs";
import "../../../../../../node_modules/.pnpm/crypto-js@4.1.1/node_modules/crypto-js/index.mjs";
import "../../../../../enums/pageEnum.mjs";
import "../../../../../router/index.mjs";
import "../../../../../../node_modules/.pnpm/vue3-lazyload@0.2.5-beta_a6dezdz3je235ci4e3tu4rayna/node_modules/vue3-lazyload/dist/vue3-lazyload.esm.mjs";
import "../../../../../components/GoSkeleton/index.vue.mjs";
import "../../../../../components/GoLoading/index.mjs";
import { useChartDataFetch } from "../../../../../hooks/useChartDataFetch.hook.mjs";
import "../../../../../api/axios.mjs";
import "../../../../../../node_modules/.pnpm/echarts@5.4.3/node_modules/echarts/index.mjs";
import "../../../../../store/modules/langStore/langStore.mjs";
import { defineComponent, watch, resolveComponent, openBlock, createBlock, withCtx, createElementVNode as createBaseVNode, createVNode } from "../../../../../../node_modules/.pnpm/@vue_runtime-core@3.3.4/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.mjs";
import { reactive, toRefs, unref } from "../../../../../../node_modules/.pnpm/@vue_reactivity@3.3.4/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.mjs";
import { normalizeStyle, toDisplayString } from "../../../../../../node_modules/.pnpm/@vue_shared@3.3.4/node_modules/@vue/shared/dist/shared.esm-bundler.mjs";
const _sfc_main = /* @__PURE__ */ defineComponent({
  __name: "index",
  props: {
    chartConfig: {
      type: Object,
      required: true
    }
  },
  setup(__props) {
    const props = __props;
    const option = reactive({
      from: 0,
      dataset: 0
    });
    toRefs(props.chartConfig.attr);
    let { dur, showSeparator, prefixText, prefixColor, suffixText, suffixColor, precision, numberSize, numberColor } = toRefs(props.chartConfig.option);
    const updateNumber = (newData) => {
      option.from = option.dataset;
      option.dataset = newData;
    };
    watch(
      () => props.chartConfig.option.from,
      () => {
        option.from = props.chartConfig.option.from;
      },
      { immediate: true }
    );
    watch(
      () => props.chartConfig.option.dataset,
      () => {
        option.dataset = props.chartConfig.option.dataset;
      },
      {
        immediate: true,
        deep: false
      }
    );
    useChartDataFetch(props.chartConfig, useChartEditStore, updateNumber);
    return (_ctx, _cache) => {
      const _component_n_number_animation = resolveComponent("n-number-animation");
      const _component_n_statistic = resolveComponent("n-statistic");
      return openBlock(), createBlock(_component_n_statistic, {
        "tabular-nums": "",
        class: "go-decorates-number"
      }, {
        prefix: withCtx(() => [
          createBaseVNode("span", {
            style: normalizeStyle(`color:${unref(prefixColor)};font-size:${unref(numberSize)}px`)
          }, toDisplayString(unref(prefixText)), 5)
        ]),
        suffix: withCtx(() => [
          createBaseVNode("span", {
            style: normalizeStyle(`color:${unref(suffixColor)};font-size:${unref(numberSize)}px`)
          }, toDisplayString(unref(suffixText)), 5)
        ]),
        default: withCtx(() => [
          createBaseVNode("span", {
            style: normalizeStyle(`color:${unref(numberColor)};font-size:${unref(numberSize)}px`)
          }, [
            createVNode(_component_n_number_animation, {
              from: option.from,
              to: option.dataset,
              duration: unref(dur) * 1e3,
              "show-separator": unref(showSeparator),
              precision: unref(precision)
            }, null, 8, ["from", "to", "duration", "show-separator", "precision"])
          ], 4)
        ]),
        _: 1
      });
    };
  }
});
export {
  _sfc_main as default
};
