{"version":3,"file":"useRenderLabel.mjs","sources":["../../../../components/tree/hooks/useRenderLabel.tsx"],"sourcesContent":["import { isBoolean } from 'lodash-es';\nimport { usePrefixClass, TypeCreateElement, computed, TCheckBox, TypeVNode } from '../utils/adapt';\nimport { TypeTreeItemState } from '../types';\nimport { getTNode } from '../utils';\nimport useItemEvents from './useItemEvents';\n\n// 渲染节点文本与内容\nexport default function useRenderLabel(state: TypeTreeItemState) {\n  const classPrefix = usePrefixClass().value;\n  const componentName = usePrefixClass('tree').value;\n\n  const { handleChange } = useItemEvents(state);\n\n  const renderLabel = (h: TypeCreateElement): TypeVNode => {\n    const { node, treeScope } = state;\n    const { scopedSlots, treeProps = {} } = treeScope;\n    const { label, expandOnClickNode } = treeProps;\n    const checkProps = treeProps?.checkProps || {};\n\n    let labelNode = null;\n    if (label === true) {\n      if (scopedSlots?.label) {\n        labelNode = scopedSlots.label({\n          node: node?.getModel(),\n        });\n      } else {\n        labelNode = node.label || '';\n      }\n    } else {\n      labelNode = getTNode(label, {\n        createElement: h,\n        node,\n      });\n    }\n\n    const labelClasses = [\n      `${componentName}__label`,\n      {\n        [`${classPrefix}-is-active`]: node.isActivable() ? node.actived : false,\n      },\n    ];\n\n    const shouldStopLabelTrigger = computed(() => {\n      const isNormalBranchNode = Array.isArray(node.children) && node.children?.length > 0;\n      // 延迟加载子节点场景\n      const isLazyLoadChildBranchNode = isBoolean(node.children) && node.children;\n      const isBranchNode = isNormalBranchNode || isLazyLoadChildBranchNode;\n      return expandOnClickNode && isBranchNode;\n    });\n\n    if (node.vmCheckable) {\n      let checkboxDisabled = false;\n      if (node.vmIsLocked && !node.vmIsRest) {\n        checkboxDisabled = true;\n      }\n      if (node.isDisabled()) {\n        checkboxDisabled = true;\n      }\n\n      labelNode = (\n        <TCheckBox\n          class={labelClasses}\n          checked={node.checked}\n          indeterminate={node.indeterminate}\n          name={String(node.value)}\n          onChange={handleChange}\n          stopLabelTrigger={shouldStopLabelTrigger.value}\n          {...checkProps}\n          disabled={checkboxDisabled}\n          title={node.label}\n        >\n          {labelNode}\n        </TCheckBox>\n      );\n    } else {\n      const inner = <span style=\"position: relative\">{labelNode}</span>;\n      // 使用key是为了避免元素复用，从而顺利移除ripple指令\n      labelNode = node.isActivable() ? (\n        <span key=\"1\" ref=\"label\" class={labelClasses} title={node.label}>\n          {inner}\n        </span>\n      ) : (\n        <span key=\"2\" class={labelClasses} title={node.label}>\n          {inner}\n        </span>\n      );\n    }\n\n    return labelNode;\n  };\n\n  return {\n    renderLabel,\n  };\n}\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","useRenderLabel","state","classPrefix","usePrefixClass","value","componentName","_useItemEvents","useItemEvents","handleChange","renderLabel","h","node","treeScope","scopedSlots","_treeScope$treeProps","treeProps","label","expandOnClickNode","checkProps","labelNode","getModel","getTNode","createElement","labelClasses","concat","_defineProperty","isActivable","actived","shouldStopLabelTrigger","computed","_node$children","isNormalBranchNode","Array","isArray","children","length","isLazyLoadChildBranchNode","isBoolean","isBranchNode","vmCheckable","checkboxDisabled","vmIsLocked","vmIsRest","isDisabled","_labelNode","_createVNode","TCheckBox","_mergeProps","checked","indeterminate","String","_default","inner"],"mappings":"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"}