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 { InteractEventOn } from "../../../../../enums/eventEnum.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 "../../../../../api/axios.mjs";
import "../../../../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/merge.mjs";
import "../../../../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/pick.mjs";
import "../../../../../../node_modules/.pnpm/echarts@5.4.3/node_modules/echarts/index.mjs";
import "../../../../../store/modules/langStore/langStore.mjs";
import { useChartInteract } from "../../../../../hooks/useChartInteract.hook.mjs";
import { ComponentInteractParamsEnum } from "./interact.mjs";
import { defineComponent, watch, resolveComponent, openBlock, createElementBlock, createVNode } from "../../../../../../node_modules/.pnpm/@vue_runtime-core@3.3.4/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.mjs";
import { toRefs, shallowReactive, unref } from "../../../../../../node_modules/.pnpm/@vue_reactivity@3.3.4/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.mjs";
import { normalizeStyle } 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 option = shallowReactive({
      value: {
        pageValue: props.chartConfig.option.pageValue,
        dataset: props.chartConfig.option.dataset,
        sizeValue: props.chartConfig.option.sizeValue,
        pageSize: props.chartConfig.option.pageSize
      }
    });
    const onChange = (v, v2) => {
      if (v == void 0)
        return;
      useChartInteract(
        props.chartConfig,
        useChartEditStore,
        {
          [ComponentInteractParamsEnum.DATA]: v,
          [ComponentInteractParamsEnum.DATA2]: v2
        },
        InteractEventOn.CHANGE
      );
    };
    watch(
      () => props.chartConfig.option,
      (newData) => {
        option.value = newData;
        onChange(newData.pageValue, newData.pageSize);
      },
      {
        immediate: true,
        deep: true
      }
    );
    return (_ctx, _cache) => {
      const _component_n_pagination = resolveComponent("n-pagination");
      return openBlock(), createElementBlock("div", null, [
        createVNode(_component_n_pagination, {
          "onOnUpdate:page": onChange,
          style: normalizeStyle(`width:${unref(w)}px;`),
          page: unref(option).value.pageValue,
          "onUpdate:page": _cache[0] || (_cache[0] = ($event) => unref(option).value.pageValue = $event),
          "page-count": unref(option).value.dataset,
          "page-slot": 7,
          "show-size-picker": "",
          "page-sizes": unref(option).value.sizeValue,
          "page-size": unref(option).value.pageSize,
          "onUpdate:pageSize": _cache[1] || (_cache[1] = ($event) => unref(option).value.pageSize = $event)
        }, null, 8, ["style", "page", "page-count", "page-sizes", "page-size"])
      ]);
    };
  }
});
export {
  _sfc_main as default
};
