import { defineComponent as k, ref as v, onMounted as M, createBlock as O, openBlock as u, unref as m, withCtx as C, createElementVNode as p, createElementBlock as w, Fragment as D, renderList as $, normalizeStyle as s, createVNode as g } from "vue";
import { Vue3SeamlessScroll as B } from "vue3-seamless-scroll";
import { useListWatch as N } from "./hooks/useListWatch.mjs";
import "../../text-text-basic/index.mjs";
import "../../text-table-basic/index.mjs";
import "../../chart-other-gauge/index.mjs";
import "../../chart-other-gauge-stage/index.mjs";
import "../../chart-other-gauge-grade/index.mjs";
import "../../chart-other-word-cloud/index.mjs";
import "../../chart-other-liquidfill/index.mjs";
import "../../chart-other-funnel/index.mjs";
import "../../chart-other-force/index.mjs";
import "../../chart-other-radar/index.mjs";
import "../../chart-other-funnel-split/index.mjs";
import "../../chart-other-funnel-contrast/index.mjs";
import "../../chart-other-candlestick-basic/index.mjs";
import "../../chart-other-candlestick-shanghai/index.mjs";
import "../../chart-other-candlestick-demo/index.mjs";
import "../../chart-other-heatmap/index.mjs";
import "../../chart-other-force2/index.mjs";
import "../../chart-other-graph-basic/index.mjs";
import "../../chart-other-graph-basic2/index.mjs";
import "../../chart-other-graph-calendar/index.mjs";
import "../../chart-other-tree-line/index.mjs";
import "../../chart-other-treemap-basic/index.mjs";
import "../../chart-other-sunburst-basic/index.mjs";
import "../../chart-other-sunburst-basic2/index.mjs";
import "../../chart-other-sunburst-basic3/index.mjs";
import "../../chart-other-sunburst-basic4/index.mjs";
import "../../chart-other-sunburst-book/index.mjs";
import "../../chart-other-sunburst-radius/index.mjs";
import "../../chart-other-sunburst-flavors/index.mjs";
import "../../chart-other-parallel-basic/index.mjs";
import "../../chart-other-parallel-mul/index.mjs";
import "../../chart-other-circular-graph/index.mjs";
import "../../map-earth-basic/index.mjs";
import "../../map-earth-cool-tech/index.mjs";
import "../../map-earth-particle/index.mjs";
import "../../map-earth-hacker/index.mjs";
import "../../map-earth-fly-line/index.mjs";
import "../../chart-other-grid-percentage/index.mjs";
import "../../chart-other-radar-stack/index.mjs";
import "../../chart-other-funnel2/index.mjs";
import "../../chart-other-label-gauge/index.mjs";
import "../../chart-other-theme-river/index.mjs";
import "../../chart-other-tree/index.mjs";
import "../../chart-other-treemap/index.mjs";
import "../../commons-product-model/index.mjs";
import "../../commons-vr-photo/index.mjs";
import "../../commons-vr-video/index.mjs";
import "../../commons-three-loader/index.mjs";
import "../../commons-three-loader3/index.mjs";
import "../../commons-loop-iterator/index.mjs";
import "../../commons-gaussian-splatting-view/index.mjs";
import "../../commons-babylon/index.mjs";
import "../../commons-svg/index.mjs";
import "../../commons-weather/index.mjs";
import "../../commons-weather-dynamic/index.mjs";
import "../../media-wavesurfer/index.mjs";
import "../../interaction-tabs/index.mjs";
import "../../interaction-tabs2/index.mjs";
import "../../interaction-button/index.mjs";
import "../../interaction-button-image/index.mjs";
import "../../interaction-select/index.mjs";
import "../../interaction-input/index.mjs";
import "../../interaction-radio/index.mjs";
import "../../interaction-slider/index.mjs";
import "../../interaction-switch/index.mjs";
import "../../interaction-data-picker/index.mjs";
import "../../interaction-button-refresh/index.mjs";
import "../../media-image/index.mjs";
import "../../text-title/index.mjs";
import "../../commons-qrcode/index.mjs";
import "../../media-video/index.mjs";
import "../../media-audio/index.mjs";
import "../../text-real-time/index.mjs";
import "../../media-carousel/index.mjs";
import "../../media-carousel-slides/index.mjs";
import "../../media-iframe-carousel/index.mjs";
import "../../media-iframe/index.mjs";
import "../../media-m3u8/index.mjs";
import "../../media-m3u8-dynamic/index.mjs";
import "../../media-audio-dynamic/index.mjs";
import "../../media-video-dynamic/index.mjs";
import "../../media-image-dynamic/index.mjs";
import "../../media-iframe-dynamic/index.mjs";
import "../../media-flv/index.mjs";
import "../../commons-echarts/index.mjs";
import "../../text-over-number/index.mjs";
import "../../text-table-scroll/index.mjs";
import "../../text-carousel/index.mjs";
import "../../text-row-scroll/index.mjs";
import "../../text-text-dynamic/index.mjs";
import "../../text-count-down/index.mjs";
import "../../graphical-circle/index.mjs";
import "../../graphical-diamond/index.mjs";
import "../../graphical-hexagon/index.mjs";
import "../../graphical-isosceles-triangle/index.mjs";
import "../../graphical-pentagon/index.mjs";
import "../../graphical-rect/index.mjs";
import "../../graphical-right-triangle/index.mjs";
import "../../scene-map3d/index.mjs";
import "../../scene-amap2d/index.mjs";
import "../../scene-amap3d/index.mjs";
import "../../scene-vr/index.mjs";
import "../../scene-unity-iframe/index.mjs";
import "../../scene-unity-webgl/index.mjs";
import "../../scene-ue-iframe/index.mjs";
import "../../scene-ue-shj/index.mjs";
import "../../scene-default/index.mjs";
import "../../interaction/tabs/index.mjs";
import "../../interaction/tabs-icon/index.mjs";
import "../../interaction/button/index.mjs";
import "../../interaction/date-picker/src/date-picker/index.mjs";
import "../../interaction/date-picker/src/date-picker-range/index.mjs";
import "./index.mjs";
import "../../chart/src/bar/basic/index.mjs";
import "../../chart/src/bar/animation/index.mjs";
import "../../chart/src/bar/contrast/index.mjs";
import "../../chart/src/bar/contrast2/index.mjs";
import "../../chart/src/bar/contrast3/index.mjs";
import "../../chart/src/bar/gradient-column-chart/index.mjs";
import "../../chart/src/bar/horizontal/index.mjs";
import "../../chart/src/bar/horizontal-stack/index.mjs";
import "../../chart/src/bar/line-bar/index.mjs";
import "../../chart/src/bar/line-bar2/index.mjs";
import "../../chart/src/bar/loop/index.mjs";
import "../../chart/src/bar/mini/index.mjs";
import "../../chart/src/bar/polar/index.mjs";
import "../../chart/src/bar/polar-stack/index.mjs";
import "../../chart/src/bar/polar2/index.mjs";
import "../../chart/src/bar/radius-circle/index.mjs";
import "../../chart/src/bar/rank/index.mjs";
import "../../chart/src/bar/segmented-progress/index.mjs";
import "../../chart/src/bar/spire/index.mjs";
import "../../chart/src/bar/stack/index.mjs";
import "../../chart/src/bar/stack-line/index.mjs";
import "../../chart/src/bar/stack2/index.mjs";
import "../../chart/src/bar/stack3/index.mjs";
import "../../chart/src/bar/staggered/index.mjs";
import "../../chart/src/bar/three/index.mjs";
import "../../chart/src/bar/waterfall/index.mjs";
import "../../chart/src/bar/zebra/index.mjs";
import "../../chart/src/line/area-gradient/index.mjs";
import "../../chart/src/line/area-highlight/index.mjs";
import "../../chart/src/line/area-highlight2/index.mjs";
import "../../chart/src/line/basic/index.mjs";
import "../../chart/src/line/bump/index.mjs";
import "../../chart/src/line/dashed/index.mjs";
import "../../chart/src/line/ladder/index.mjs";
import "../../chart/src/line/logarithm/index.mjs";
import "../../chart/src/line/multix/index.mjs";
import "../../chart/src/line/polar-double/index.mjs";
import "../../chart/src/line/rain-flow/index.mjs";
import "../../chart/src/line/scale/index.mjs";
import "../../chart/src/line/smooth/index.mjs";
import "../../chart/src/line/smooth-area/index.mjs";
import "../../chart/src/line/stack/index.mjs";
import "../../chart/src/line/stack-area/index.mjs";
import "../../chart/src/line/temp/index.mjs";
import "../../chart/src/line/vertical/index.mjs";
import "../../chart/src/map/basic/index.mjs";
import "../../chart/src/map/bmap-basic/index.mjs";
import "../../chart/src/map/bmap-heatmap/index.mjs";
import "../../chart/src/map/bmap-rich/index.mjs";
import "../../chart/src/map/customize/index.mjs";
import "../../chart/src/map/lines/index.mjs";
import "../../chart/src/map/scatter/index.mjs";
import "../../chart/src/pie/3d/index.mjs";
import "../../chart/src/pie/basic/index.mjs";
import "../../chart/src/pie/basic2/index.mjs";
import "../../chart/src/pie/customized/index.mjs";
import "../../chart/src/pie/index/index.mjs";
import "../../chart/src/pie/interval/index.mjs";
import "../../chart/src/pie/legend-scroll/index.mjs";
import "../../chart/src/pie/radius/index.mjs";
import "../../chart/src/pie/rose/index.mjs";
import "../../chart/src/pie/round/index.mjs";
import "../../chart/src/pie/sunburst/index.mjs";
import "../../chart/src/scatter/basic/index.mjs";
import "../../chart/src/scatter/basic2/index.mjs";
import "../../chart/src/scatter/bubble/index.mjs";
import "../../chart/src/scatter/ripples/index.mjs";
import "../../commons/custom-component-render/index.mjs";
import "../../hj-componets/zv-hj-tree-list/index.mjs";
import "../../hj-componets/zv-hj-model-resource/index.mjs";
import "../../hj-componets/zv-hj-one-map-config/index.mjs";
import "../../hj-componets/zv-hj-video-control/index.mjs";
import "../../hj-componets/zv-hj-video-page/index.mjs";
import "../../hj-componets/zv-hj-password-input/index.mjs";
import "../../hj-componets/zv-hj-carousel/index.mjs";
import "../../hj-componets/zv-hj-video-monitor/index.mjs";
import "../../hj-componets/zv-hj-scene-amap2d/index.mjs";
import "../../hj-componets/zv-hj-scene-amap3d/index.mjs";
import "../../hj-componets/zv-hj-person-face/index.mjs";
import "../../hj-componets/zv-hj-resource-type-phone/index.mjs";
import "../../hj-componets/zv-hj-tree-list-phone/index.mjs";
import "../../hj-componets/zv-hj-video-page-phone/index.mjs";
import "../../hj-componets/zv-hj-model-resource-phone/index.mjs";
import "../../hj-componets/zv-hj-bottom-suspend/index.mjs";
import "../../hj-componets/zv-hj-pagination/index.mjs";
import "../../hj-componets/zv-hj-password-input-phone/index.mjs";
/* empty css                           */
/* empty css                                  */
import { SHJDatasourceV2 as R } from "../../../plugins/datasource/index.mjs";
import { SHJParseEvent as d } from "../../../plugins/event/index.mjs";
import "lodash";
import { Utils as n } from "../../../commons/utils/utils.mjs";
import b from "../../../commons/components/text.vue.mjs";
const H = { class: "list-wrap flex flex-direction-column gap-10px margin-top-10px" }, J = ["onClick", "onMouseenter", "onMouseout"], L = ["src"], U = k({ name: "shj-list" }), Nr = /* @__PURE__ */ k({
  ...U,
  props: {
    option: {},
    sources: {},
    useEvents: {},
    uuid: {}
  },
  emits: ["on-click-row", "on-mouseenter-row", "on-mouseout-row"],
  setup(y, { expose: x, emit: j }) {
    const r = y, a = j, h = v(r.option.scroll.start), e = v([]), l = () => {
      R.parse({
        tId: r.uuid,
        sources: r.sources,
        callback: ({ data: t }) => {
          if (!t) {
            e.value = [];
            return;
          }
          t[0] && t[0].data ? e.value = t[0].data : e.value = [];
        }
      });
    }, E = (t, i) => {
      const o = { row: t, rowIndex: i };
      a("on-click-row", o), d.parseEvents(r.useEvents, "on-click-row", o);
    }, S = (t, i) => {
      const o = { row: t, rowIndex: i };
      a("on-mouseenter-row", o), d.parseEvents(r.useEvents, "on-mouseenter-row", o);
    }, V = (t, i) => {
      const o = { row: t, rowIndex: i };
      a("on-mouseout-row", o), d.parseEvents(r.useEvents, "on-mouseout-row", o);
    };
    return M(() => l()), N(r, l), x({
      refresh: () => l(),
      refreshView: () => {
      },
      // 刷新视图 无需刷新
      refreshData: () => l()
    }), (t, i) => (u(), O(m(B), {
      modelValue: h.value,
      "onUpdate:modelValue": i[0] || (i[0] = (o) => h.value = o),
      direction: t.option.scroll.direction,
      list: e.value,
      "is-watch": "",
      step: t.option.scroll.step,
      hover: t.option.scroll.hover,
      "limit-scroll-num": t.option.scroll.limitScrollNum,
      "single-height": t.option.scroll.isSingle ? t.option.css.item.height : 0,
      "single-wait-time": t.option.scroll.singleWaitTime,
      class: "list-container overflow-hidden"
    }, {
      default: C(() => [
        p("div", H, [
          (u(!0), w(D, null, $(e.value, (o, c) => (u(), w("div", {
            key: c,
            class: "list-item flex gap-10px align-items-center padding-4px height-60px background-color-black overflow-hidden",
            style: s(m(n).json2cssObject(t.option.css.item)),
            onClick: (f) => E(o, c),
            onMouseenter: (f) => S(o, c),
            onMouseout: (f) => V(o, c)
          }, [
            p("div", {
              class: "item-thumbnail width-50px height-50px flex-none background-color-blue overflow-hidden",
              style: s(m(n).json2cssObject(t.option.css.item.thumbnail))
            }, [
              p("img", {
                referrerpolicy: "no-referrer",
                class: "width-100 height-100 object-fit-cover",
                src: o.thumbnail
              }, null, 8, L)
            ], 4),
            p("div", {
              class: "item-container flex flex-direction-column gap-2px",
              style: s(m(n).json2cssObject(t.option.css.item.container))
            }, [
              p("div", {
                class: "item-title width-100 flex-none",
                style: s(m(n).json2cssObject(t.option.css.item.container.title))
              }, [
                g(b, {
                  "text-style": t.option.css.item.container.title.textStyle,
                  text: o.title
                }, null, 8, ["text-style", "text"])
              ], 4),
              p("div", {
                class: "item-description flex-none",
                style: s(m(n).json2cssObject(t.option.css.item.container.description))
              }, [
                g(b, {
                  "text-style": t.option.css.item.container.description.textStyle,
                  text: o.description
                }, null, 8, ["text-style", "text"])
              ], 4)
            ], 4)
          ], 44, J))), 128))
        ])
      ]),
      _: 1
    }, 8, ["modelValue", "direction", "list", "step", "hover", "limit-scroll-num", "single-height", "single-wait-time"]));
  }
});
export {
  Nr as default
};
