import "../../../../../../node_modules/.pnpm/vue@3.3.4/node_modules/vue/dist/vue.runtime.esm-bundler.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 { toNumber } from "../../../../../utils/type.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 { useChartEditStore } from "../../../../../store/modules/chartEditStore/chartEditStore.mjs";
import { option } from "./config.mjs";
import { toRefs, shallowReactive, unref } from "../../../../../../node_modules/.pnpm/@vue_reactivity@3.3.4/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.mjs";
import { defineComponent, watch, resolveComponent, openBlock, createBlock, withCtx, createVNode, createTextVNode } from "../../../../../../node_modules/.pnpm/@vue_runtime-core@3.3.4/node_modules/@vue/runtime-core/dist/runtime-core.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 { w, h } = toRefs(props.chartConfig.attr);
    const {
      type,
      unit,
      color,
      processing,
      railColor,
      indicatorTextColor,
      indicatorPlacement,
      indicatorTextSize,
      offsetDegree,
      dataset
    } = toRefs(props.chartConfig.option);
    const option$1 = shallowReactive({
      dataset: option.dataset
    });
    watch(
      () => props.chartConfig.option.dataset,
      (newData) => {
        try {
          option$1.dataset = toNumber(newData, 2);
        } catch (error) {
          console.log(error);
        }
      },
      {
        deep: false
      }
    );
    useChartDataFetch(props.chartConfig, useChartEditStore, (newData) => {
      option$1.dataset = toNumber(newData, 2);
    });
    return (_ctx, _cache) => {
      const _component_n_text = resolveComponent("n-text");
      const _component_n_progress = resolveComponent("n-progress");
      return openBlock(), createBlock(_component_n_progress, {
        type: unref(type),
        height: unref(h),
        processing: unref(processing),
        percentage: unref(dataset),
        "indicator-placement": unref(indicatorPlacement),
        color: unref(color),
        "rail-color": unref(railColor),
        "offset-degree": unref(offsetDegree)
      }, {
        default: withCtx(() => [
          createVNode(_component_n_text, {
            style: normalizeStyle({
              color: unref(indicatorTextColor),
              fontSize: `${unref(indicatorTextSize)}px`
            })
          }, {
            default: withCtx(() => [
              createTextVNode(toDisplayString(unref(dataset)) + " " + toDisplayString(unref(unit)), 1)
            ]),
            _: 1
          }, 8, ["style"])
        ]),
        _: 1
      }, 8, ["type", "height", "processing", "percentage", "indicator-placement", "color", "rail-color", "offset-degree"]);
    };
  }
});
export {
  _sfc_main as default
};
