import {Header, flexRender} from '@tanstack/react-table'; import classNames from 'classnames'; import {FC, CSSProperties} from 'react'; import css from '../index.module.css'; import {useSortable} from '@dnd-kit/sortable'; type Props = { header: Header, unknown>; useDiv?: boolean; }; const HeaderTh: FC = function ({header, useDiv}) { const {setNodeRef, attributes, listeners} = useSortable({ id: header.id, data: {header}, }); const style: CSSProperties = { width: header.getSize(), cursor: 'pointer', opacity: useDiv ? '0.5' : '1', }; if (useDiv) { return (
{header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}
e.stopPropagation()} className={classNames(css.resizer, { [css.resizing]: header.column.getIsResizing(), })} />
); } return ( {flexRender(header.column.columnDef.header, header.getContext())}
e.stopPropagation()} className={classNames(css.resizer, { [css.resizing]: header.column.getIsResizing(), })} /> ); }; export default HeaderTh;