element-plus
Version:
A Component Library for Vue 3
41 lines (38 loc) • 1.19 kB
JavaScript
import '../../../../hooks/index.mjs';
import { getFixedColumnsClass, getFixedColumnOffset, ensurePosition } from '../util.mjs';
import useMapState from './mapState-helper.mjs';
import { useNamespace } from '../../../../hooks/use-namespace/index.mjs';
function useStyle(props) {
const { columns } = useMapState();
const ns = useNamespace("table");
const getCellClasses = (columns2, cellIndex) => {
const column = columns2[cellIndex];
const classes = [
ns.e("cell"),
column.id,
column.align,
column.labelClassName,
...getFixedColumnsClass(ns.b(), cellIndex, column.fixed, props.store)
];
if (column.className) {
classes.push(column.className);
}
if (!column.children) {
classes.push(ns.is("leaf"));
}
return classes;
};
const getCellStyles = (column, cellIndex) => {
const fixedStyle = getFixedColumnOffset(cellIndex, column.fixed, props.store);
ensurePosition(fixedStyle, "left");
ensurePosition(fixedStyle, "right");
return fixedStyle;
};
return {
getCellClasses,
getCellStyles,
columns
};
}
export { useStyle as default };
//# sourceMappingURL=style-helper.mjs.map