{"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      ref=\"listRef\"\n      :class-name=\"ns.b('virtual-list')\"\n      :data=\"flattenTree\"\n      :total=\"flattenTree.length\"\n      :height=\"height\"\n      :item-size=\"treeNodeSize\"\n      :perf-mode=\"perfMode\"\n      :scrollbar-always-on=\"scrollbarAlwaysOn\"\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=\"data[index].expanded\"\n          :show-checkbox=\"showCheckbox\"\n          :checked=\"isChecked(data[index])\"\n          :indeterminate=\"isIndeterminate(data[index])\"\n          :item-size=\"treeNodeSize\"\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          @drop=\"handleNodeDrop\"\n        />\n      </template>\n    </fixed-size-list>\n    <div v-else :class=\"ns.e('empty-block')\">\n      <slot name=\"empty\">\n        <span :class=\"ns.e('empty-text')\">\n          {{ emptyText ?? t('el.tree.emptyText') }}\n        </span>\n      </slot>\n    </div>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, getCurrentInstance, provide, useSlots } from 'vue'\nimport { useLocale, useNamespace } from '@hd-front-end/hooks'\nimport { formItemContextKey } from '@hd-front-end/components/form'\nimport { FixedSizeList } from '@hd-front-end/components/virtual-list'\nimport { useTree } from './composables/useTree'\nimport ElTreeNode from './tree-node.vue'\nimport { ROOT_TREE_INJECTION_KEY, treeEmits, treeProps } from './virtual-tree'\n\ndefineOptions({\n  name: 'ElTreeV2',\n})\n\nconst props = defineProps(treeProps)\nconst emit = defineEmits(treeEmits)\n\nconst slots = useSlots()\n\nconst treeNodeSize = computed(() => props.itemSize)\n\nprovide(ROOT_TREE_INJECTION_KEY, {\n  ctx: {\n    emit,\n    slots,\n  },\n  props,\n  instance: getCurrentInstance()!,\n})\nprovide(formItemContextKey, undefined)\nconst { t } = useLocale()\nconst ns = useNamespace('tree')\nconst {\n  flattenTree,\n  isNotEmpty,\n  listRef,\n  toggleExpand,\n  isIndeterminate,\n  isChecked,\n  isDisabled,\n  isCurrent,\n  isForceHiddenExpandIcon,\n  handleNodeClick,\n  handleNodeDrop,\n  handleNodeCheck,\n  // expose\n  toggleCheckbox,\n  getCurrentNode,\n  getCurrentKey,\n  setCurrentKey,\n  getCheckedKeys,\n  getCheckedNodes,\n  getHalfCheckedKeys,\n  getHalfCheckedNodes,\n  setChecked,\n  setCheckedKeys,\n  filter,\n  setData,\n  getNode,\n  expandNode,\n  collapseNode,\n  setExpandedKeys,\n  scrollToNode,\n  scrollTo,\n} = useTree(props, emit)\n\ndefineExpose({\n  toggleCheckbox,\n  getCurrentNode,\n  getCurrentKey,\n  setCurrentKey,\n  getCheckedKeys,\n  getCheckedNodes,\n  getHalfCheckedKeys,\n  getHalfCheckedNodes,\n  setChecked,\n  setCheckedKeys,\n  filter,\n  setData,\n  getNode,\n  expandNode,\n  collapseNode,\n  setExpandedKeys,\n  scrollToNode,\n  scrollTo,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","highlightCurrent","_createBlock","height","perfMode","scrollbarAlwaysOn","_withCtx","_normalizeStyle","showCheckbox","_renderSlot","_createElementVNode","emptyText"],"mappings":"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"}