import '@das-fed/upf-ui/packages/components/tree-select/style.css';
import { ref as j, computed as k, watch as ye, nextTick as _, unref as a, onMounted as Ie, onBeforeUnmount as Be, defineComponent as Oe, useAttrs as Re, withDirectives as be, openBlock as q, createElementBlock as fe, normalizeClass as Ee, normalizeStyle as ge, createCommentVNode as Me, createVNode as ve, withCtx as x, withModifiers as he, mergeProps as pe, isRef as X, createTextVNode as Ae, toDisplayString as We, createElementVNode as Fe, createBlock as ke, createSlots as Se, renderSlot as N } from "vue";
import { withInstall as Ge } from "@das-fed/upf-utils/with-install/index";
import { ElPopover as ze } from "element-plus";
import "element-plus/es/components/popover/style/css";
import { currentLang as He, t as Ue } from "@das-fed/upf-web/packages/i18n/index";
import { DasSelect as qe } from "@das-fed/upf-ui/packages/components/select/index";
import { DasTreeV2 as Xe } from "@das-fed/upf-ui/packages/components/tree-v2/index";
import { DasTreeRef as Je, DasTree as Qe } from "@das-fed/upf-ui/packages/components/tree/index";
import { DasIconXiala as Ye } from "@das-fed/upf-ui/packages/icons/xiala/index";
import { vDasTooltip as Ze } from "@das-fed/upf-ui/packages/components/text-tooltip/index";
import { SizeWatcher as Ke } from "@das-fed/upf-utils/size-watcher";
import { flatTree as _e } from "@das-fed/upf-utils/common-tools";
import { vClickOutside as et } from "@das-fed/upf-utils/directive";
var ee = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function tt(e) {
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
function lt(e) {
  var d = typeof e;
  return e != null && (d == "object" || d == "function");
}
var Ve = lt, at = typeof ee == "object" && ee && ee.Object === Object && ee, rt = at, nt = rt, ot = typeof self == "object" && self && self.Object === Object && self, it = nt || ot || Function("return this")(), De = it, st = De, ut = function() {
  return st.Date.now();
}, dt = ut, ct = /\s/;
function ft(e) {
  for (var d = e.length; d-- && ct.test(e.charAt(d)); )
    ;
  return d;
}
var vt = ft, ht = vt, pt = /^\s+/;
function mt(e) {
  return e && e.slice(0, ht(e) + 1).replace(pt, "");
}
var yt = mt, bt = De, gt = bt.Symbol, je = gt, Ce = je, Ne = Object.prototype, kt = Ne.hasOwnProperty, St = Ne.toString, J = Ce ? Ce.toStringTag : void 0;
function Ct(e) {
  var d = kt.call(e, J), f = e[J];
  try {
    e[J] = void 0;
    var c = !0;
  } catch {
  }
  var m = St.call(e);
  return c && (d ? e[J] = f : delete e[J]), m;
}
var Tt = Ct, wt = Object.prototype, $t = wt.toString;
function xt(e) {
  return $t.call(e);
}
var Lt = xt, Te = je, Vt = Tt, Dt = Lt, jt = "[object Null]", Nt = "[object Undefined]", we = Te ? Te.toStringTag : void 0;
function Pt(e) {
  return e == null ? e === void 0 ? Nt : jt : we && we in Object(e) ? Vt(e) : Dt(e);
}
var It = Pt;
function Bt(e) {
  return e != null && typeof e == "object";
}
var Ot = Bt, Rt = It, Et = Ot, Mt = "[object Symbol]";
function At(e) {
  return typeof e == "symbol" || Et(e) && Rt(e) == Mt;
}
var Wt = At, Ft = yt, $e = Ve, Gt = Wt, xe = NaN, zt = /^[-+]0x[0-9a-f]+$/i, Ht = /^0b[01]+$/i, Ut = /^0o[0-7]+$/i, qt = parseInt;
function Xt(e) {
  if (typeof e == "number")
    return e;
  if (Gt(e))
    return xe;
  if ($e(e)) {
    var d = typeof e.valueOf == "function" ? e.valueOf() : e;
    e = $e(d) ? d + "" : d;
  }
  if (typeof e != "string")
    return e === 0 ? e : +e;
  e = Ft(e);
  var f = Ht.test(e);
  return f || Ut.test(e) ? qt(e.slice(2), f ? 2 : 8) : zt.test(e) ? xe : +e;
}
var Jt = Xt, Qt = Ve, me = dt, Le = Jt, Yt = "Expected a function", Zt = Math.max, Kt = Math.min;
function _t(e, d, f) {
  var c, m, w, y, h, v, L = 0, C = !1, b = !1, P = !0;
  if (typeof e != "function")
    throw new TypeError(Yt);
  d = Le(d) || 0, Qt(f) && (C = !!f.leading, b = "maxWait" in f, w = b ? Zt(Le(f.maxWait) || 0, d) : w, P = "trailing" in f ? !!f.trailing : P);
  function p(i) {
    var u = c, $ = m;
    return c = m = void 0, L = i, y = e.apply($, u), y;
  }
  function g(i) {
    return L = i, h = setTimeout(D, d), C ? p(i) : y;
  }
  function R(i) {
    var u = i - v, $ = i - L, O = d - u;
    return b ? Kt(O, w - $) : O;
  }
  function M(i) {
    var u = i - v, $ = i - L;
    return v === void 0 || u >= d || u < 0 || b && $ >= w;
  }
  function D() {
    var i = me();
    if (M(i))
      return B(i);
    h = setTimeout(D, R(i));
  }
  function B(i) {
    return h = void 0, P && c ? p(i) : (c = m = void 0, y);
  }
  function I() {
    h !== void 0 && clearTimeout(h), L = 0, c = v = m = h = void 0;
  }
  function A() {
    return h === void 0 ? y : B(me());
  }
  function S() {
    var i = me(), u = M(i);
    if (c = arguments, m = this, v = i, u) {
      if (h === void 0)
        return g(v);
      if (b)
        return clearTimeout(h), h = setTimeout(D, d), p(v);
    }
    return h === void 0 && (h = setTimeout(D, d)), y;
  }
  return S.cancel = I, S.flush = A, S;
}
var el = _t;
const tl = /* @__PURE__ */ tt(el), ll = (e) => /^[+-]?\d+(\.\d+)?(px|em|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|%)$/.test(e), te = (e) => typeof e == "string" && ll(e) ? e : e + "px", al = (e, d, f, c, m, w) => {
  const y = j(null), h = j(null), v = Je(), L = j(), C = j(!1), b = j(""), P = j(""), p = k(() => e.mode === "multiple" || e.mode === "tags"), g = {
    label: "name",
    children: "children",
    pathName: "pathName",
    disabled: "disabled",
    ...c.props ?? {}
  }, R = He.value === "zh-CN" ? "，" : ", ", M = (t) => {
    if (typeof t != "string") return !1;
    const o = t.trim();
    return o ? /^\d+$/.test(o) : !1;
  }, D = (t) => typeof t == "number" || M(t), B = (t) => typeof t != "string" ? !1 : t.trim() !== "", I = k({
    get: () => e.keyword || "",
    set: (t) => {
      d("update:keyword", t);
    }
  }), A = k({
    get: () => e.path,
    set: (t) => {
      d("update:path", t);
    }
  }), S = (t, o, s = []) => {
    for (let l = 0; l < t.length; l++) {
      const r = t[l], n = r[g.label];
      if (s.push(n), n === o) return s.join("/");
      if (r.children && r.children.length > 0) {
        const T = S(r[g.children], o, s);
        if (T) return T;
      }
      s.pop();
    }
    return null;
  }, i = k(() => {
    var s;
    let t = [], o = [];
    return m.value ? o = ((s = v.value) == null ? void 0 : s.lazyData) || [] : e.data && (o = _e(e.data, g.children) || []), o.length && (t = o.map((l) => ({
      ...l,
      [g.pathName]: l[g.pathName] ? l[g.pathName] : m.value ? l[g.label] : S(e.data, l[g.label])
    }))), t;
  }), u = k({
    get: () => {
      const t = e.modelValue;
      return t === "" || t === null || t === void 0 ? void 0 : (p.value || i.value.find((s) => (s == null ? void 0 : s[f.value]) === t), t);
    },
    set: (t) => {
      d("update:modelValue", t);
    }
  }), $ = j(""), O = j(!0), z = () => {
    var t;
    if (!e.showTextStrict || !m.value || e.parentLinkChildrenStrictly) return !0;
    if (i.value.length === 0) return B(e.modelValue);
    if (p.value) {
      if (!u.value || !((t = u.value) != null && t.length)) return !0;
      const o = i.value.map((n) => n[f.value]), s = Array.isArray(u.value) ? u.value : [], l = s.some((n) => B(n)), r = s.some((n) => D(n) && o.includes(n));
      return l || r;
    } else
      return !u.value || i.value.find((s) => s[f.value] === u.value) ? !0 : B(e.modelValue);
  };
  ye(
    () => [i.value, u.value],
    ([t, o]) => {
      if (O.value = !z(), !O.value)
        if (p.value)
          if (!Array.isArray(o) || !o.length)
            $.value = "";
          else {
            const l = (o ?? []).map((r) => {
              var T;
              const n = (T = t == null ? void 0 : t.find) == null ? void 0 : T.call(t, (G) => (G == null ? void 0 : G[f.value]) === r);
              return n ? e.showFullPath ? n == null ? void 0 : n[g.pathName] : n == null ? void 0 : n[g.label] : D(r) || r == null ? "" : String(r);
            }).filter((r) => !!r);
            $.value = l.join(R);
          }
        else if (!o)
          $.value = "";
        else {
          const s = t == null ? void 0 : t.find((l) => l[f.value] === o);
          s ? $.value = e.showFullPath ? s[g.pathName] : s[g.label] : $.value = e.modelValue === null || e.modelValue === void 0 ? "" : String(e.modelValue);
        }
    },
    { immediate: !0 }
  );
  const Q = k(() => ({
    height: e.poppverHeight ? te(e.poppverHeight) : void 0,
    maxHeight: e.poppverMaxHeight ? te(e.poppverMaxHeight) : void 0
  })), Y = () => {
    d("visible-change", !0);
  }, Z = () => {
    var t;
    I.value = "", (t = v.value) == null || t.searchClear(), d("visible-change", !1);
  }, le = tl(() => {
    e.disabled || e.isView || (C.value ? C.value = !1 : (document.body.click(), C.value = !0));
  }, 200), W = async () => {
    var o, s;
    await _();
    let t = [];
    if (p.value || (u.value || u.value === 0) && (m.value && D(u.value) && await ((o = v.value) == null ? void 0 : o.lazyDataNextTick(u.value)), t = i.value.filter((l) => l[f.value] === u.value)), p.value && (u.value || u.value.length)) {
      const r = (Array.isArray(u.value) ? u.value : []).filter((n) => D(n));
      m.value && r.length && await ((s = v.value) == null ? void 0 : s.lazyDataNextTick(r)), t = i.value.filter((n) => r.includes(n[f.value]));
    }
    d("change", u.value, t);
  }, F = j(!1), ae = async () => {
    C.value = !1, u.value = p.value ? [] : "", W(), F.value = !0;
  }, re = async (t) => {
    var s, l, r, n, T, G;
    if (F.value || !p.value) return;
    if (!i.value.find((V) => (V == null ? void 0 : V[f.value]) === t)) {
      W();
      return;
    }
    if (!m.value && !w.value) {
      let V = (l = (s = v.value) == null ? void 0 : s.treeRef) == null ? void 0 : l.getNode(t);
      V.checked = !1, (r = v.value) == null || r.childLinkParent(V, V.checked), (n = v.value) == null || n.parentLinkChild(V, V.checked);
    }
    if (m.value && e.parentLinkChildrenStrictly) {
      let V = i.value.find((U) => U[f.value] === t);
      if (V && ((T = v.value) != null && T.getGrandChildrenFn)) {
        const U = await v.value.getGrandChildrenFn(V);
        if (U && U.length) {
          const Pe = U.map((ce) => ce[f.value]);
          u.value && ((G = u.value) != null && G.length) && (u.value = u.value.filter((ce) => !Pe.includes(ce)));
        }
      }
    }
    W();
  }, ne = (t) => {
    if (!e.filter) return;
    const o = t && (t == null ? void 0 : t.trim());
    I.value = o, C.value || (C.value = !0);
  }, oe = () => {
    var t, o;
    p.value || (C.value = !1, e.filter && ((o = (t = h.value) == null ? void 0 : t.$select) == null || o.focus()));
  }, H = () => y != null && y.value && y.value.offsetWidth ? y.value.offsetWidth + "px" : "100%", E = () => {
    _(() => {
      b.value = e.width ? te(e.width) : H(), P.value = e.poppverWidth ? te(e.poppverWidth) : H();
    });
  }, ie = (t) => {
    var o;
    F.value && (F.value = !1), (o = h.value) == null || o.toChangeMaxCount(!0), d("focus", t);
  }, se = (t) => {
    d("blur", t);
  };
  ye(
    () => C.value,
    (t) => {
      var s, l;
      const o = (s = y.value) == null ? void 0 : s.querySelector(".ant-select-arrow>.das-icon");
      t ? o.style.transform = "rotate(180deg)" : o.style.transform = "", (l = h.value) == null || l.toChangeMaxCount(t), _(() => {
        var r, n, T;
        (T = (n = (r = a(L)) == null ? void 0 : r.popperRef) == null ? void 0 : n.popperInstanceRef) == null || T.update();
      });
    }
  );
  const K = j(null), ue = () => new Promise((t) => {
    const o = () => {
      var l;
      const s = (l = y.value) == null ? void 0 : l.querySelector(".ant-select-selector");
      if (s) return t(s);
      setTimeout(() => o(), 50);
    };
    o();
  }), de = (t) => {
    u.value = t;
  };
  return Ie(async () => {
    E();
    const t = await ue();
    t && (K.value = Ke((o) => {
      _(() => {
        var s, l, r;
        (r = (l = (s = a(L)) == null ? void 0 : s.popperRef) == null ? void 0 : l.popperInstanceRef) == null || r.update(), E();
      });
    }, t));
  }), Be(() => {
    var t;
    (t = K.value) == null || t.disconnect();
  }), {
    innerValue: u,
    popoverRef: L,
    dasTreeSelectRef: y,
    $tree: v,
    $select: h,
    innerKeyword: I,
    realWidth: b,
    realPoppverWidth: P,
    poppverContentStyle: Q,
    treePath: A,
    treeProps: g,
    selectOptions: i,
    currentLabel: $,
    poppverShow: Y,
    poppverHide: Z,
    treeChange: W,
    nodeChange: oe,
    deselect: re,
    selectSearch: ne,
    selectClear: ae,
    popoverVisible: C,
    selectMouseDown: le,
    resetDefaultVal: de,
    focus: ie,
    blur: se,
    checkselectOptionsData: z,
    textHide: O,
    showCheckbox: p
  };
}, rl = {
  key: 1,
  class: "das-tree-select__selct-text-content"
}, nl = {
  name: "DasTreeSelect",
  inheritAttrs: !1
}, ol = /* @__PURE__ */ Oe({
  ...nl,
  props: {
    data: { default: () => [] },
    mode: { default: void 0 },
    modelValue: { default: void 0 },
    showFullPath: { type: Boolean },
    showSelectDom: { type: Boolean, default: !0 },
    size: { default: "middle" },
    borderType: { default: "bordered" },
    placeholder: { default: "" },
    disabled: { type: Boolean, default: !1 },
    isView: { type: Boolean },
    errorMode: { default: "default" },
    error: { type: Boolean },
    errorLabel: {},
    selectAttrs: {},
    width: {},
    poppverWidth: {},
    poppverHeight: { default: 320 },
    poppverMaxHeight: {},
    filter: { type: Boolean, default: !0 },
    keyword: { default: "" },
    defaultExpandAll: { type: Boolean, default: !0 },
    checkStrictly: { type: Boolean, default: void 0 },
    path: {},
    load: {},
    batchLoad: {},
    search: {},
    parentLinkChildrenStrictly: { type: Boolean },
    getGrandChildren: {},
    childLinkParentStrictly: { type: Boolean },
    showTextStrict: { type: Boolean, default: !0 },
    virtual: { type: Boolean, default: !1 }
  },
  emits: ["update:modelValue", "update:path", "update:keyword", "change", "focus", "blur", "visible-change"],
  setup(e, { expose: d, emit: f }) {
    const c = e, m = f, w = Re(), y = k(() => c.placeholder || Ue("请选择")), h = k(() => w.nodeKey ?? w["node-key"] ?? "id"), v = k(() => c.load ?? void 0), L = k(() => c.search ?? void 0), C = k(() => c.getGrandChildren ?? void 0), b = k(() => w.lazy ?? !!v.value), P = k(() => b.value ? !1 : c.defaultExpandAll), p = k(() => c.selectAttrs ? c.selectAttrs : {}), g = k(() => !!(c.disabled || c.isView)), R = k(() => c.parentLinkChildrenStrictly || c.childLinkParentStrictly ? !0 : !!(c.checkStrictly ?? b.value)), M = {
      fn: () => {
        E.value = !1;
      }
    }, D = (l) => {
      l.key === "Enter" && l.stopPropagation();
    }, {
      dasTreeSelectRef: B,
      $tree: I,
      $select: A,
      innerValue: S,
      innerKeyword: i,
      realWidth: u,
      poppverContentStyle: $,
      realPoppverWidth: O,
      treeChange: z,
      nodeChange: Q,
      treePath: Y,
      treeProps: Z,
      selectOptions: le,
      currentLabel: W,
      popoverRef: F,
      deselect: ae,
      poppverShow: re,
      poppverHide: ne,
      selectSearch: oe,
      selectMouseDown: H,
      popoverVisible: E,
      resetDefaultVal: ie,
      selectClear: se,
      focus: K,
      blur: ue,
      textHide: de,
      checkselectOptionsData: t,
      showCheckbox: o
    } = al(c, m, h, w, b, R), s = k(() => p.value.isTooltip ? p.value.isTooltip && t() : p.value["is-tooltip"] ? p.value["is-tooltip"] && t() : t());
    return d({
      /** das-select */
      $select: A,
      /** das-tree */
      $tree: I,
      /** 设置默认值，当默认值为动态设置时使用(兼容老版本) */
      resetDefaultVal: ie
    }), (l, r) => be((q(), fe(
      "div",
      {
        ref_key: "dasTreeSelectRef",
        ref: B,
        class: Ee({ "das-ui-tree-select": !0, "is-lazy": b.value, "text-hide": a(de), "show-select": e.showSelectDom }),
        style: ge({ width: a(u) })
      },
      [
        Me(` 在使用 2.x 版本的element-UI时，里面的Popover气泡卡片组件，有自带的自动适应位置的功能；在 element plus 中，直接使用，已经无法自适应气泡弹窗的位置了；需要自行配置:fallback-placements="['bottom', 'top', 'right', 'left']" `),
        ve(a(ze), {
          ref_key: "popoverRef",
          ref: F,
          visible: a(E),
          "popper-class": "das-tree-select-popper",
          placement: "bottom-start",
          "show-arrow": !1,
          width: a(O),
          disabled: g.value,
          "fallback-placements": ["bottom", "top", "right", "left"],
          onShow: a(re),
          onHide: a(ne)
        }, {
          reference: x(() => [
            e.showSelectDom ? (q(), fe(
              "div",
              {
                key: 0,
                class: "das-tree-select__select-content",
                onMousedown: r[1] || (r[1] = he(
                  //@ts-ignore
                  (...n) => a(H) && a(H)(...n),
                  ["stop"]
                ))
              },
              [
                ve(a(qe), pe({
                  ref_key: "$select",
                  ref: A,
                  class: { "is-active": a(E) },
                  dropdownClassName: "das-tree-select-dropdown",
                  modelValue: a(S),
                  "onUpdate:modelValue": r[0] || (r[0] = (n) => X(S) ? S.value = n : null)
                }, p.value, {
                  searchValue: a(i),
                  options: a(le),
                  disabled: e.disabled,
                  isView: e.isView,
                  size: e.size,
                  mode: e.mode,
                  borderType: e.borderType,
                  placeholder: y.value,
                  "show-search": e.filter,
                  filterOption: e.filter,
                  width: a(u),
                  fieldNames: {
                    value: h.value,
                    label: e.showFullPath ? a(Z).pathName : a(Z).label
                  },
                  isTooltip: s.value,
                  errorMode: e.errorMode,
                  error: e.error,
                  errorLabel: e.errorLabel,
                  autoClearSearchValue: !1,
                  isExterControlCount: "",
                  onDeselect: a(ae),
                  onSearch: a(oe),
                  onInputKeyDown: D,
                  onFocus: a(K),
                  onBlur: a(ue),
                  onClear: a(se)
                }), {
                  suffixIcon: x(() => [
                    ve(a(Ye), {
                      size: "medium",
                      style: { transition: "transform 0.5s" },
                      iconColor: a(E) ? "#5582F3" : "currentColor"
                    }, null, 8, ["iconColor"])
                  ]),
                  _: 1
                  /* STABLE */
                }, 16, ["class", "modelValue", "searchValue", "options", "disabled", "isView", "size", "mode", "borderType", "placeholder", "show-search", "filterOption", "width", "fieldNames", "isTooltip", "errorMode", "error", "errorLabel", "onDeselect", "onSearch", "onFocus", "onBlur", "onClear"])
              ],
              32
              /* NEED_HYDRATION */
            )) : be((q(), fe("div", rl, [
              Ae(
                We(a(W)),
                1
                /* TEXT */
              )
            ])), [
              [a(Ze)]
            ])
          ]),
          default: x(() => [
            Fe(
              "div",
              {
                class: "das-tree-select__tree-content",
                style: ge(a($)),
                onClick: r[6] || (r[6] = he(() => {
                }, ["stop"])),
                onMousedown: r[7] || (r[7] = he(() => {
                }, ["stop"]))
              },
              [
                e.virtual ? (q(), ke(a(Xe), pe({
                  key: 1,
                  ref_key: "$tree",
                  ref: I
                }, a(w), {
                  data: e.data,
                  modelValue: a(S),
                  "onUpdate:modelValue": r[4] || (r[4] = (n) => X(S) ? S.value = n : null),
                  "filter-value": a(i),
                  "onUpdate:filterValue": r[5] || (r[5] = (n) => X(i) ? i.value = n : null),
                  "show-checkbox": a(o),
                  "is-filter": e.filter,
                  "show-filter-input": !1,
                  "filter-mode": "input",
                  lazy: b.value,
                  load: v.value,
                  "batch-load": c.batchLoad,
                  search: L.value,
                  path: a(Y),
                  "default-expand-all": P.value,
                  "check-strictly": b.value ? !0 : R.value,
                  parentLinkChildrenStrictly: e.parentLinkChildrenStrictly,
                  getGrandChildren: C.value,
                  childLinkParentStrictly: e.childLinkParentStrictly,
                  onChange: a(z),
                  onNodeChange: a(Q)
                }), Se({
                  default: x(({ node: n, data: T }) => [
                    N(l.$slots, "default", {
                      node: n,
                      data: T
                    })
                  ]),
                  _: 2
                  /* DYNAMIC */
                }, [
                  l.$slots.prefix ? {
                    name: "prefix",
                    fn: x(() => [
                      N(l.$slots, "prefix")
                    ]),
                    key: "0"
                  } : void 0,
                  l.$slots.suffix ? {
                    name: "suffix",
                    fn: x(() => [
                      N(l.$slots, "suffix")
                    ]),
                    key: "1"
                  } : void 0,
                  l.$slots.prepend ? {
                    name: "prepend",
                    fn: x(() => [
                      N(l.$slots, "prepend")
                    ]),
                    key: "2"
                  } : void 0,
                  l.$slots.append ? {
                    name: "append",
                    fn: x(() => [
                      N(l.$slots, "append")
                    ]),
                    key: "3"
                  } : void 0
                ]), 1040, ["data", "modelValue", "filter-value", "show-checkbox", "is-filter", "lazy", "load", "batch-load", "search", "path", "default-expand-all", "check-strictly", "parentLinkChildrenStrictly", "getGrandChildren", "childLinkParentStrictly", "onChange", "onNodeChange"])) : (q(), ke(a(Qe), pe({
                  key: 0,
                  ref_key: "$tree",
                  ref: I
                }, a(w), {
                  data: e.data,
                  modelValue: a(S),
                  "onUpdate:modelValue": r[2] || (r[2] = (n) => X(S) ? S.value = n : null),
                  "filter-value": a(i),
                  "onUpdate:filterValue": r[3] || (r[3] = (n) => X(i) ? i.value = n : null),
                  "show-checkbox": a(o),
                  "is-filter": e.filter,
                  "show-filter-input": !1,
                  "filter-mode": "input",
                  lazy: b.value,
                  load: v.value,
                  "batch-load": c.batchLoad,
                  search: L.value,
                  path: a(Y),
                  "default-expand-all": P.value,
                  "check-strictly": b.value ? !0 : R.value,
                  parentLinkChildrenStrictly: e.parentLinkChildrenStrictly,
                  getGrandChildren: C.value,
                  childLinkParentStrictly: e.childLinkParentStrictly,
                  onChange: a(z),
                  onNodeChange: a(Q)
                }), Se({
                  default: x(({ node: n, data: T }) => [
                    N(l.$slots, "default", {
                      node: n,
                      data: T
                    })
                  ]),
                  _: 2
                  /* DYNAMIC */
                }, [
                  l.$slots.prefix ? {
                    name: "prefix",
                    fn: x(() => [
                      N(l.$slots, "prefix")
                    ]),
                    key: "0"
                  } : void 0,
                  l.$slots.suffix ? {
                    name: "suffix",
                    fn: x(() => [
                      N(l.$slots, "suffix")
                    ]),
                    key: "1"
                  } : void 0,
                  l.$slots.prepend ? {
                    name: "prepend",
                    fn: x(() => [
                      N(l.$slots, "prepend")
                    ]),
                    key: "2"
                  } : void 0,
                  l.$slots.append ? {
                    name: "append",
                    fn: x(() => [
                      N(l.$slots, "append")
                    ]),
                    key: "3"
                  } : void 0
                ]), 1040, ["data", "modelValue", "filter-value", "show-checkbox", "is-filter", "lazy", "load", "batch-load", "search", "path", "default-expand-all", "check-strictly", "parentLinkChildrenStrictly", "getGrandChildren", "childLinkParentStrictly", "onChange", "onNodeChange"]))
              ],
              36
              /* STYLE, NEED_HYDRATION */
            )
          ]),
          _: 3
          /* FORWARDED */
        }, 8, ["visible", "width", "disabled", "onShow", "onHide"])
      ],
      6
      /* CLASS, STYLE */
    )), [
      [a(et), M]
    ]);
  }
}), kl = Ge(ol), Sl = () => j(null), Cl = { title: "tree-select 树选择" };
export {
  kl as DasTreeSelect,
  Sl as DasTreeSelectRef,
  Cl as default
};
