tdesign-react
Version:
TDesign Component for React
63 lines (59 loc) • 2.55 kB
JavaScript
/**
* tdesign v1.15.1
* (c) 2025 tdesign
* @license MIT
*/
import { _ as _defineProperty } from '../../_chunks/dep-cb0a3966.js';
import { useMemo } from 'react';
import useClassName from './useClassName.js';
import useCommonClassName from '../../hooks/useCommonClassName.js';
import '../../_chunks/dep-eca3a3de.js';
import '../../hooks/useConfig.js';
import '../../config-provider/ConfigContext.js';
import 'lodash-es';
import '../../locale/zh_CN.js';
import '../../_chunks/dep-e29214cb.js';
import 'dayjs';
import '../../_chunks/dep-3c9ab31a.js';
function formatCSSUnit(unit) {
if (!unit) return unit;
return isNaN(Number(unit)) ? unit : "".concat(unit, "px");
}
function useStyle(props) {
var className = props.className,
size = props.size,
bordered = props.bordered,
stripe = props.stripe,
hover = props.hover,
verticalAlign = props.verticalAlign,
height = props.height,
maxHeight = props.maxHeight,
tableContentWidth = props.tableContentWidth;
var _useClassName = useClassName(),
tableBaseClass = _useClassName.tableBaseClass,
tableAlignClasses = _useClassName.tableAlignClasses;
var _useCommonClassName = useCommonClassName(),
sizeClassNames = _useCommonClassName.sizeClassNames;
var tableClasses = useMemo(function () {
return [tableBaseClass.table, size !== "medium" && sizeClassNames[size], verticalAlign !== "middle" && tableAlignClasses[verticalAlign], _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, tableBaseClass.bordered, bordered), tableBaseClass.striped, stripe), tableBaseClass.hover, hover), tableBaseClass.loading, props.loading), tableBaseClass.affixedHeader, props.headerAffixedTop), tableBaseClass.rowspanAndColspan, props.rowspanAndColspan), className];
}, [className, bordered, hover, props.loading, props.headerAffixedTop, props.rowspanAndColspan, size, sizeClassNames, stripe, tableAlignClasses, tableBaseClass, verticalAlign]);
var tableContentStyles = useMemo(function () {
return {
height: formatCSSUnit(height),
maxHeight: formatCSSUnit(maxHeight)
};
}, [height, maxHeight]);
var tableElementStyles = useMemo(function () {
return {
width: formatCSSUnit(tableContentWidth)
};
}, [tableContentWidth]);
return {
tableClasses: tableClasses,
sizeClassNames: sizeClassNames,
tableElementStyles: tableElementStyles,
tableContentStyles: tableContentStyles
};
}
export { useStyle as default, formatCSSUnit };
//# sourceMappingURL=useStyle.js.map