/**
 * ldesign v0.2.22
 * (c) 2022/12/7 16:21 built by swimly
 * @license MIT
 */

import { defineComponent, ref } from '@vue/composition-api';
import getConfigReceiverMixins, { getKeepAnimationMixins, getGlobalIconMixins } from '../config-provider/config-receiver.js';
import Ripple from '../../utils/ripple.js';
import useTreeItem from './hooks/useTreeItem.js';
import 'vue';
import 'lodash/mergeWith';
import '../config-provider/context.js';
import 'lodash/merge';
import '../../_chunks/dep-b4fd1955.js';
import '../../_chunks/dep-c68dc4b6.js';
import '../../config.js';
import '../../hooks/useConfig.js';
import '../config-provider/useConfig.js';
import './hooks/useItemEvents.js';
import './hooks/useRenderIcon.js';
import '@ldesign/icons-vue';
import '../../hooks/useGlobalIcon.js';
import '../loading/index.js';
import '../../utils/withInstall.js';
import 'lodash/capitalize';
import '../loading/loading.js';
import '../../utils/dom.js';
import 'raf';
import 'lodash/isString';
import '../../_chunks/dep-eaa95999.js';
import '../../_chunks/dep-102361be.js';
import '../../utils/easing.js';
import '../../utils/render-node.js';
import 'lodash';
import '../../utils/transfer-dom.js';
import '../../utils/mixins.js';
import '../loading/props.js';
import '../loading/icon/gradient.js';
import '../../_chunks/dep-aacc31a3.js';
import '../../_chunks/dep-1a6bca30.js';
import '../loading/plugin.js';
import './utils.js';
import 'lodash/camelCase';
import './hooks/useRenderLabel.js';
import '../checkbox/index.js';
import '../../utils/map-props.js';
import '../checkbox/group.js';
import '../../_chunks/dep-b0f1ed22.js';
import 'lodash/intersection';
import '../../utils/event.js';
import '../../utils/helper.js';
import '../checkbox/checkbox.js';
import '../checkbox/props.js';
import './hooks/useRenderLine.js';
import './hooks/useRenderOperations.js';
import './hooks/useDraggable.js';
import 'lodash/throttle';

const keepAnimationMixins = getKeepAnimationMixins();
const treeItemProps = {
  node: {
    type: Object
  },
  treeScope: {
    type: Object
  },
  expandOnClickNode: {
    type: Boolean
  }
};
var TreeItem = defineComponent({
  name: "LTreeItem",
  directives: {
    ripple: Ripple
  },
  props: treeItemProps,
  mixins: [getConfigReceiverMixins("tree"), keepAnimationMixins, getGlobalIconMixins()],
  inject: {
    onDrag: {
      default: void 0
    }
  },
  setup(props, context) {
    const root = ref(null);
    const {
      renderItemNode
    } = useTreeItem(props, context, root);
    return {
      root,
      renderItemNode
    };
  },
  render(h) {
    if (typeof this.renderItemNode === "function") return this.renderItemNode(h);
    return null;
  }
});

export { TreeItem as default, treeItemProps };
//# sourceMappingURL=tree-item.js.map
