{"version":3,"file":"useTreeStyles.mjs","sources":["../../../../components/tree/hooks/useTreeStyles.ts"],"sourcesContent":["import { computed, TypeStyles, usePrefixClass } from '../utils/adapt';\nimport { TypeTreeState } from '../types';\n\nexport function formatCSSUnit(unit: string | number) {\n  if (!unit) return unit;\n  return isNaN(Number(unit)) ? unit : `${unit}px`;\n}\n\nexport default function useTreeStyles(state: TypeTreeState) {\n  const { props } = state;\n  const componentName = usePrefixClass('tree').value;\n  const classPrefix = usePrefixClass().value;\n  const { virtualConfig, isScrolling, refProps } = state;\n\n  const { height, maxHeight } = refProps;\n\n  const treeClasses = computed(() => {\n    const list: Array<string> = [componentName];\n    const { disabled, hover, transition, checkable, draggable, expandOnClickNode, scroll } = props;\n    if (disabled) {\n      list.push(`${classPrefix}-is-disabled`);\n    }\n    if (hover) {\n      list.push(`${componentName}--hoverable`);\n    }\n    if (checkable) {\n      list.push(`${componentName}--checkable`);\n    }\n    if (draggable) {\n      list.push(`${componentName}--draggable`);\n    }\n    if (transition) {\n      list.push(`${componentName}--transition`);\n    }\n    if (expandOnClickNode) {\n      list.push(`${componentName}--block-node`);\n    }\n\n    const isVirtual = virtualConfig?.isVirtualScroll.value;\n    if (isVirtual) {\n      list.push(`${componentName}__vscroll`);\n      if (isScrolling.value) {\n        list.push(`${componentName}--scrolling`);\n      }\n    } else if (scroll && scroll.type === 'lazy') {\n      list.push(`${componentName}__lazyload`);\n    }\n\n    return list;\n  });\n\n  const treeContentStyles = computed<TypeStyles>(() => ({\n    height: formatCSSUnit(height.value),\n    maxHeight: formatCSSUnit(maxHeight.value),\n    overflowY: formatCSSUnit(height.value) || formatCSSUnit(maxHeight.value) ? 'auto' : undefined,\n  }));\n\n  const scrollStyles = computed<TypeStyles>(() => {\n    // isVirtual 改为函数内取值，可接收属性的变动\n    const isVirtual = virtualConfig?.isVirtualScroll.value;\n    const translateY = isVirtual ? virtualConfig?.translateY.value : 0;\n    const transform = `translateY(${translateY}px)`;\n    const posStyle = {\n      transform,\n      '-ms-transform': transform,\n      '-moz-transform': transform,\n      '-webkit-transform': transform,\n    };\n    return posStyle;\n  });\n\n  const cursorStyles = computed<TypeStyles>(() => {\n    const isVirtual = virtualConfig?.isVirtualScroll.value;\n    const translateY = isVirtual ? virtualConfig?.translateY.value : 0;\n    const translate = `translate(0, ${translateY}px)`;\n    return {\n      transform: translate,\n      '-ms-transform': translate,\n      '-moz-transform': translate,\n      '-webkit-transform': translate,\n    };\n  });\n\n  return {\n    treeClasses,\n    treeContentStyles,\n    scrollStyles,\n    cursorStyles,\n  };\n}\n"],"names":["formatCSSUnit","unit","isNaN","Number","useTreeStyles","state","props","componentName","usePrefixClass","value","classPrefix","virtualConfig","isScrolling","refProps","height","maxHeight","treeClasses","computed","list","disabled","hover","transition","checkable","draggable","expandOnClickNode","scroll","push","concat","isVirtual","isVirtualScroll","type","treeContentStyles","overflowY","scrollStyles","translateY","transform","posStyle","cursorStyles","translate"],"mappings":"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"}