{"version":3,"file":"Tree.cjs","sources":["../../../../../../packages/components/tree/src/Tree.tsx"],"sourcesContent":["import type { DraggableConfig } from '@antdv/vue-components/vc-tree/src/Tree';\nimport type { ScrollTo } from '@antdv/vue-components/vc-virtual-list/src/List';\nimport type { SlotsType } from 'vue';\n\nimport type { TreeProps } from './props';\nimport type { SwitcherIconProps } from './utils/iconUtil';\nimport { HolderOutlined } from '@ant-design/icons-vue';\nimport { classNames, devWarning, filterEmpty, initDefaultProps, omit } from '@antdv/utils';\nimport { VcTree } from '@antdv/vue-components';\nimport { computed, defineComponent, ref, watchEffect } from 'vue';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport useStyle from '../style';\nimport { treeProps } from './props';\nimport dropIndicatorRender from './utils/dropIndicator';\nimport renderSwitcherIcon from './utils/iconUtil';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'ATree',\n  inheritAttrs: false,\n  props: initDefaultProps(treeProps(), {\n    checkable: false,\n    selectable: true,\n    showIcon: false,\n    blockNode: false,\n  }),\n\n  slots: Object as SlotsType<{\n    icon?: any\n    title?: any\n    switcherIcon?: any\n    titleRender?: any\n    default?: any\n    leafIcon?: any\n  }>,\n  setup(props, { attrs, expose, emit, slots }) {\n    devWarning(\n      !(props.treeData === undefined && slots.default),\n      '`children` of Tree is deprecated. Please use `treeData` instead.',\n    );\n    const { prefixCls, direction, virtual } = useConfigInject('tree', props);\n\n    // style\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n\n    const treeRef = ref();\n    const scrollTo: ScrollTo = (scroll) => {\n      treeRef.value?.scrollTo(scroll);\n    };\n    expose({\n      treeRef,\n      onNodeExpand: (...args) => {\n        treeRef.value?.onNodeExpand(...args);\n      },\n      scrollTo,\n      selectedKeys: computed(() => treeRef.value?.selectedKeys),\n      checkedKeys: computed(() => treeRef.value?.checkedKeys),\n      halfCheckedKeys: computed(() => treeRef.value?.halfCheckedKeys),\n      loadedKeys: computed(() => treeRef.value?.loadedKeys),\n      loadingKeys: computed(() => treeRef.value?.loadingKeys),\n      expandedKeys: computed(() => treeRef.value?.expandedKeys),\n    });\n\n    watchEffect(() => {\n      devWarning(\n        props.replaceFields === undefined,\n        'Tree',\n        '`replaceFields` is deprecated, please use fieldNames instead',\n      );\n    });\n\n    const handleCheck: TreeProps['onCheck'] = (checkedObjOrKeys, eventObj) => {\n      emit('update:checkedKeys', checkedObjOrKeys);\n      emit('check', checkedObjOrKeys, eventObj);\n    };\n    const handleExpand: TreeProps['onExpand'] = (expandedKeys, eventObj) => {\n      emit('update:expandedKeys', expandedKeys);\n      emit('expand', expandedKeys, eventObj);\n    };\n    const handleSelect: TreeProps['onSelect'] = (selectedKeys, eventObj) => {\n      emit('update:selectedKeys', selectedKeys);\n      emit('select', selectedKeys, eventObj);\n    };\n    return () => {\n      const {\n        showIcon,\n        showLine,\n        switcherIcon = slots.switcherIcon,\n        icon = slots.icon,\n        blockNode,\n        checkable,\n        selectable,\n        fieldNames = props.replaceFields,\n        motion = props.openAnimation,\n        itemHeight = 28,\n        onDoubleclick,\n        onDblclick,\n        draggable,\n      } = props as TreeProps;\n      const newProps = {\n        ...attrs,\n        ...omit(props, [\n          'onUpdate:checkedKeys',\n          'onUpdate:expandedKeys',\n          'onUpdate:selectedKeys',\n          'onDoubleclick',\n          'draggable',\n        ]),\n        showLine: Boolean(showLine),\n        dropIndicatorRender,\n        fieldNames,\n        icon,\n        itemHeight,\n      };\n      const children = slots.default ? filterEmpty(slots.default()) : undefined;\n      const draggableConfigFunc = () => {\n        if (!draggable)\n          return false;\n\n        let mergedDraggable: DraggableConfig = {};\n        switch (typeof draggable) {\n          case 'function':\n            mergedDraggable.nodeDraggable = draggable;\n            break;\n          case 'object':\n            mergedDraggable = { ...(draggable as DraggableConfig) };\n            break;\n          default:\n            break;\n          // Do nothing\n        }\n\n        if (mergedDraggable.icon !== false)\n          mergedDraggable.icon = mergedDraggable.icon || <HolderOutlined />;\n\n        return mergedDraggable;\n      };\n      const draggableConfig = draggableConfigFunc();\n      return wrapSSR(\n        <VcTree\n          {...newProps}\n          virtual={virtual.value}\n          motion={motion}\n          ref={treeRef}\n          prefixCls={prefixCls.value}\n          class={classNames(\n            {\n              [`${prefixCls.value}-icon-hide`]: !showIcon,\n              [`${prefixCls.value}-block-node`]: blockNode,\n              [`${prefixCls.value}-unselectable`]: !selectable,\n              [`${prefixCls.value}-rtl`]: direction.value === 'rtl',\n            },\n            attrs.class,\n            hashId.value,\n          )}\n          draggable={draggableConfig}\n          direction={direction.value}\n          checkable={checkable}\n          selectable={selectable}\n          switcherIcon={(nodeProps: SwitcherIconProps) =>\n            renderSwitcherIcon(prefixCls.value, switcherIcon, nodeProps, slots.leafIcon, showLine)}\n          onCheck={handleCheck}\n          onExpand={handleExpand}\n          onSelect={handleSelect}\n          onDblclick={onDblclick || onDoubleclick}\n          v-slots={{\n            ...slots,\n            checkable: () => <span class={`${prefixCls.value}-checkbox-inner`} />,\n          }}\n          children={children}\n        >\n        </VcTree>,\n      );\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","name","inheritAttrs","props","initDefaultProps","treeProps","checkable","selectable","showIcon","blockNode","slots","Object","setup","attrs","expose","emit","devWarning","treeData","undefined","default","prefixCls","direction","virtual","useConfigInject","wrapSSR","hashId","useStyle","treeRef","ref","scrollTo","scroll","value","onNodeExpand","args","selectedKeys","computed","checkedKeys","halfCheckedKeys","loadedKeys","loadingKeys","expandedKeys","watchEffect","replaceFields","handleCheck","checkedObjOrKeys","eventObj","handleExpand","handleSelect","showLine","switcherIcon","icon","fieldNames","motion","openAnimation","itemHeight","onDoubleclick","onDblclick","draggable","newProps","omit","Boolean","dropIndicatorRender","children","filterEmpty","draggableConfigFunc","mergedDraggable","nodeDraggable","_createVNode","HolderOutlined","draggableConfig","VcTree","classNames","class","nodeProps","renderSwitcherIcon","leafIcon"],"mappings":"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"}