{"version":3,"file":"tree.mjs","sources":["../../../../../../packages/components/tree-v2/src/tree.vue"],"sourcesContent":["<template>\n  <div\n    :class=\"[ns.b(), { [ns.m('highlight-current')]: highlightCurrent }]\"\n    role=\"tree\"\n  >\n    <fixed-size-list\n      v-if=\"isNotEmpty\"\n      :class-name=\"ns.b('virtual-list')\"\n      :data=\"flattenTree\"\n      :total=\"flattenTree.length\"\n      :height=\"height\"\n      :item-size=\"itemSize\"\n      :perf-mode=\"perfMode\"\n    >\n      <template #default=\"{ data, index, style }\">\n        <el-tree-node\n          :key=\"data[index].key\"\n          :style=\"style\"\n          :node=\"data[index]\"\n          :expanded=\"isExpanded(data[index])\"\n          :show-checkbox=\"showCheckbox\"\n          :checked=\"isChecked(data[index])\"\n          :indeterminate=\"isIndeterminate(data[index])\"\n          :disabled=\"isDisabled(data[index])\"\n          :current=\"isCurrent(data[index])\"\n          :hidden-expand-icon=\"isForceHiddenExpandIcon(data[index])\"\n          @click=\"handleNodeClick\"\n          @toggle=\"toggleExpand\"\n          @check=\"handleNodeCheck\"\n        />\n      </template>\n    </fixed-size-list>\n    <div v-else :class=\"ns.e('empty-block')\">\n      <span :class=\"ns.e('empty-text')\">{{\n        emptyText ?? t('el.tree.emptyText')\n      }}</span>\n    </div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance, provide } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { FixedSizeList } from '@element-plus/components/virtual-list'\nimport { useTree } from './composables/useTree'\nimport ElTreeNode from './tree-node.vue'\nimport { ROOT_TREE_INJECTION_KEY, treeEmits, treeProps } from './virtual-tree'\nimport type { TreeProps } from './types'\n\nexport default defineComponent({\n  name: 'ElTreeV2',\n  components: {\n    ElTreeNode,\n    FixedSizeList,\n  },\n  props: treeProps,\n  emits: treeEmits,\n  setup(props: TreeProps, ctx) {\n    provide(ROOT_TREE_INJECTION_KEY, {\n      ctx,\n      props,\n      instance: getCurrentInstance(),\n    })\n    const { t } = useLocale()\n    const ns = useNamespace('tree')\n    const {\n      flattenTree,\n      isNotEmpty,\n      toggleExpand,\n      isExpanded,\n      isIndeterminate,\n      isChecked,\n      isDisabled,\n      isCurrent,\n      isForceHiddenExpandIcon,\n      toggleCheckbox,\n      handleNodeClick,\n      handleNodeCheck,\n      // expose\n      getCurrentNode,\n      getCurrentKey,\n      setCurrentKey,\n      getCheckedKeys,\n      getCheckedNodes,\n      getHalfCheckedKeys,\n      getHalfCheckedNodes,\n      setChecked,\n      setCheckedKeys,\n      filter,\n      setData,\n    } = useTree(props, ctx.emit)\n\n    ctx.expose({\n      getCurrentNode,\n      getCurrentKey,\n      setCurrentKey,\n      getCheckedKeys,\n      getCheckedNodes,\n      getHalfCheckedKeys,\n      getHalfCheckedNodes,\n      setChecked,\n      setCheckedKeys,\n      filter,\n      setData,\n    })\n\n    return {\n      t,\n      ns,\n      flattenTree,\n      itemSize: 26,\n      isNotEmpty,\n      toggleExpand,\n      toggleCheckbox,\n      isExpanded,\n      isIndeterminate,\n      isChecked,\n      isDisabled,\n      isCurrent,\n      isForceHiddenExpandIcon,\n      handleNodeClick,\n      handleNodeCheck,\n    }\n  },\n})\n</script>\n"],"names":["_resolveComponent","_createElementBlock","_normalizeClass","_openBlock","_createBlock","_withCtx","_normalizeStyle","_createElementVNode","_toDisplayString"],"mappings":"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"}