{"version":3,"file":"useStyle.mjs","sources":["../../../../components/table/hooks/useStyle.ts"],"sourcesContent":["import { computed, toRefs } from 'vue';\nimport { TdBaseTableProps } from '../type';\nimport useClassName from './useClassName';\nimport { useConfig, useCommonClassName } from '@tdesign/shared-hooks';\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 useStyle(props: TdBaseTableProps) {\n  const { size, bordered, stripe, hover, verticalAlign, height, maxHeight, tableContentWidth } = toRefs(props);\n\n  const { tableBaseClass, tableAlignClasses } = useClassName();\n  const { SIZE } = useCommonClassName();\n  const { globalConfig } = useConfig('table', props.locale);\n  const tableSize = computed(() => size.value ?? globalConfig.value.size);\n\n  const tableClasses = computed(() => [\n    tableBaseClass.table,\n    {\n      [SIZE.value[tableSize.value]]: tableSize.value !== 'medium',\n      [tableBaseClass.bordered]: bordered.value,\n      [tableBaseClass.striped]: stripe.value,\n      [tableBaseClass.hover]: hover.value,\n      [tableBaseClass.loading]: props.loading,\n      [tableBaseClass.affixedHeader]: props.headerAffixedTop,\n      [tableBaseClass.rowspanAndColspan]: props.rowspanAndColspan,\n      [tableAlignClasses[verticalAlign.value]]: verticalAlign.value !== 'middle',\n    },\n  ]);\n\n  const tableContentStyles = computed(() => ({\n    height: formatCSSUnit(height.value),\n    maxHeight: formatCSSUnit(maxHeight.value),\n    overflowAnchor: 'none',\n  }));\n\n  const tableElementStyles = computed(() => ({\n    width: formatCSSUnit(tableContentWidth.value),\n  }));\n\n  return {\n    tableClasses,\n    sizeClassNames: SIZE.value,\n    tableElementStyles,\n    tableContentStyles,\n  };\n}\n"],"names":["formatCSSUnit","unit","isNaN","Number","useStyle","props","_toRefs","toRefs","size","bordered","stripe","hover","verticalAlign","height","maxHeight","tableContentWidth","_useClassName","useClassName","tableBaseClass","tableAlignClasses","_useCommonClassName","useCommonClassName","SIZE","_useConfig","useConfig","locale","globalConfig","tableSize","computed","_size$value","value","tableClasses","table","_defineProperty","striped","loading","affixedHeader","headerAffixedTop","rowspanAndColspan","tableContentStyles","overflowAnchor","tableElementStyles","width","sizeClassNames"],"mappings":"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"}