tdesign-vue-next
Version:
TDesign Component for vue-next
70 lines (66 loc) • 2.84 kB
JavaScript
/**
* tdesign v1.11.5
* (c) 2025 tdesign
* @license MIT
*/
import { _ as _defineProperty } from '../../_chunks/dep-da95471f.mjs';
import { toRefs, computed } from 'vue';
import useClassName from './useClassName.mjs';
import useCommonClassName from '../../hooks/useCommonClassName.mjs';
import '../../hooks/useConfig.mjs';
import { useConfig } from '../../config-provider/hooks/useConfig.mjs';
import '../../_chunks/dep-4ed7019e.mjs';
import 'lodash-es';
import '../../config-provider/utils/context.mjs';
import '../../_chunks/dep-a5ae2f3f.mjs';
import '../../_chunks/dep-82d2a14f.mjs';
import '../../_chunks/dep-37fa6ccb.mjs';
import '../../_chunks/dep-7fb24b17.mjs';
function formatCSSUnit(unit) {
if (!unit) return unit;
return isNaN(Number(unit)) ? unit : "".concat(unit, "px");
}
function useStyle(props) {
var _toRefs = toRefs(props),
size = _toRefs.size,
bordered = _toRefs.bordered,
stripe = _toRefs.stripe,
hover = _toRefs.hover,
verticalAlign = _toRefs.verticalAlign,
height = _toRefs.height,
maxHeight = _toRefs.maxHeight,
tableContentWidth = _toRefs.tableContentWidth;
var _useClassName = useClassName(),
tableBaseClass = _useClassName.tableBaseClass,
tableAlignClasses = _useClassName.tableAlignClasses;
var _useCommonClassName = useCommonClassName(),
sizeClassNames = _useCommonClassName.sizeClassNames;
var _useConfig = useConfig("table", props.locale),
globalConfig = _useConfig.globalConfig;
var tableSize = computed(function () {
var _size$value;
return (_size$value = size.value) !== null && _size$value !== void 0 ? _size$value : globalConfig.value.size;
});
var tableClasses = computed(function () {
return [tableBaseClass.table, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, sizeClassNames[tableSize.value], tableSize.value !== "medium"), tableBaseClass.bordered, bordered.value), tableBaseClass.striped, stripe.value), tableBaseClass.hover, hover.value), tableBaseClass.loading, props.loading), tableBaseClass.affixedHeader, props.headerAffixedTop), tableBaseClass.rowspanAndColspan, props.rowspanAndColspan), tableAlignClasses[verticalAlign.value], verticalAlign.value !== "middle")];
});
var tableContentStyles = computed(function () {
return {
height: formatCSSUnit(height.value),
maxHeight: formatCSSUnit(maxHeight.value)
};
});
var tableElementStyles = computed(function () {
return {
width: formatCSSUnit(tableContentWidth.value)
};
});
return {
tableClasses: tableClasses,
sizeClassNames: sizeClassNames,
tableElementStyles: tableElementStyles,
tableContentStyles: tableContentStyles
};
}
export { useStyle as default, formatCSSUnit };
//# sourceMappingURL=useStyle.mjs.map