import { defineComponent, useAttrs, resolveComponent, createBlock, openBlock, mergeProps, unref, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps } from 'vue';
import '../../../utils/index.mjs';
import { treeSelectProps } from './tree-select.mjs';
import { createNamespace } from '../../../utils/create-namespace.mjs';

"use strict";
var _sfc_main = /* @__PURE__ */ defineComponent({
  ...{ name: "LlTreeSelect" },
  __name: "tree-select",
  props: treeSelectProps,
  setup(__props) {
    const attrs = useAttrs();
    const bem = createNamespace("tree-select");
    return (_ctx, _cache) => {
      const _component_a_tree_select = resolveComponent("a-tree-select");
      return openBlock(), createBlock(_component_a_tree_select, mergeProps(unref(attrs), {
        class: [unref(bem).b(), unref(bem).is(_ctx.isGray ? "gray-tree-select" : "")],
        "tree-line": _ctx.treeLine && { showLeafIcon: _ctx.showLeafIcon }
      }), createSlots({
        _: 2
        /* DYNAMIC */
      }, [
        renderList(Object.keys(_ctx.$slots), (item) => {
          return {
            name: item,
            fn: withCtx((data) => [
              renderSlot(_ctx.$slots, item, normalizeProps(guardReactiveProps(data || {})))
            ])
          };
        })
      ]), 1040, ["class", "tree-line"]);
    };
  }
});

export { _sfc_main as default };
//# sourceMappingURL=tree-select.vue2.mjs.map
