import { defineComponent as f, computed as w, ref as S, onMounted as V, nextTick as k, createElementBlock as m, openBlock as l, normalizeStyle as _, normalizeClass as C, withDirectives as D, createElementVNode as a, vModelCheckbox as E, createCommentVNode as u, createVNode as c } from "vue";
/* empty css                                     */
/* empty css                                     */
import "../Tabs/index.mjs";
import "../Tabs-icon/index.mjs";
import "../Button/index.mjs";
import "../DatePicker/index.mjs";
import "../DatePickerRange/index.mjs";
import "./index.mjs";
import "../Input/index.mjs";
import "../Select/index.mjs";
import "../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 "../../../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 "lodash";
import { SHJParseEvent as v } from "../../../../commons/plugins/event/index.mjs";
import "../../../../commons/plugins/datasource/utils/request.mjs";
import "mqtt";
import "nanoid";
import { upgradeSwitch as g } from "./version.mjs";
import { useWatch as T } from "./hooks/useWatch.mjs";
import d from "../../../../commons/components/Text.vue.mjs";
const z = ["true-value", "false-value"], b = {
  key: 0,
  class: "on"
}, B = {
  key: 1,
  class: "off"
}, N = f({ name: "ShjSwitch" }), Ri = /* @__PURE__ */ f({
  ...N,
  props: {
    option: {},
    sources: {},
    useEvents: {}
  },
  emits: ["on-change", "on-open", "on-close"],
  setup(e, { expose: x, emit: h }) {
    const t = w(() => g(e.option)), i = S(!1), s = h, y = () => {
      i.value = !i.value;
      const p = i.value ? "open" : "close", o = i.value ? t.value.default.trueValue : t.value.default.falseValue;
      s("on-change", o), v.parseEvents(e.useEvents, "on-change", {
        data: o
      }), s(`on-${p}`, o), v.parseEvents(e.useEvents, `on-${p}`, {
        data: o
      });
    }, r = () => {
      i.value = t.value.default.defaultValue === t.value.default.trueValue;
    };
    return V(() => {
      k(() => {
        r();
      });
    }), T({ option: t.value }, r), x({
      refresh: () => r(),
      refreshView: () => r(),
      refreshData: () => r()
    }), (p, o) => (l(), m("div", {
      class: C(["switch", {
        "is-checked": i.value
      }]),
      style: _({
        "--switch-on-color": t.value.style.onColor,
        "--switch-off-color": t.value.style.offColor,
        "--switch-min-width": t.value.style.minWidth + "px",
        "--switch-core-size": t.value.style.coreSize + "px",
        "--switch-core-border-radius": t.value.style.coreBorderRadius + "px",
        "--switch-action-size": t.value.style.actionSize + "px",
        "--switch-action-border-radius": t.value.style.actionBorderRadius + "px",
        "--switch-action-background-color": t.value.style.actionBackgroundColor
      })
    }, [
      D(a("input", {
        "onUpdate:modelValue": o[0] || (o[0] = (n) => i.value = n),
        class: "switch__input",
        type: "checkbox",
        "true-value": t.value.default.trueValue,
        "false-value": t.value.default.falseValue
      }, null, 8, z), [
        [E, i.value]
      ]),
      a("span", {
        class: "switch__core",
        onClick: o[1] || (o[1] = (n) => y())
      }, [
        i.value && t.value.textDescription ? (l(), m("div", b, [
          c(d, {
            text: t.value.textDescription.onText.value,
            textStyle: t.value.textDescription.onText.textStyle
          }, null, 8, ["text", "textStyle"])
        ])) : u("", !0),
        o[2] || (o[2] = a("div", { class: "switch__action" }, null, -1)),
        !i.value && t.value.textDescription ? (l(), m("div", B, [
          c(d, {
            text: t.value.textDescription.offText.value,
            textStyle: t.value.textDescription.offText.textStyle
          }, null, 8, ["text", "textStyle"])
        ])) : u("", !0)
      ])
    ], 6));
  }
});
export {
  Ri as default
};
