Skip to content

Commit ac34389

Browse files
committed
Apply correct styles for cell hover reveal during cell edition
1 parent dea32fa commit ac34389

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

packages/mantine-react-table/src/components/body/MRT_TableBodyCell.tsx

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -192,15 +192,16 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
192192
};
193193

194194
const cellHoverRevealDivRef = useRef<any>(null);
195-
const [isCellContentOverflowing, setIsCellContentOverflowing] = useState(false);
195+
const [isCellContentOverflowing, setIsCellContentOverflowing] =
196+
useState(false);
196197

197198
useLayoutEffect(() => {
198199
const div = cellHoverRevealDivRef.current;
199200
if (div) {
200201
const isOverflow = div.scrollWidth > div.clientWidth;
201202
setIsCellContentOverflowing(isOverflow);
202203
}
203-
}, [tableCellProps.children]);
204+
}, [cell]);
204205

205206
const renderCellContent = () => {
206207
if (cell.getIsPlaceholder()) {
@@ -241,7 +242,6 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
241242

242243
return <MRT_TableBodyCellValue {...cellValueProps} />;
243244
};
244-
245245
return (
246246
<TableTd
247247
data-column-pinned={isColumnPinned || undefined}
@@ -288,6 +288,7 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
288288
isEditable &&
289289
['cell', 'table'].includes(editDisplayMode ?? '') &&
290290
columnDefType !== 'display' &&
291+
!isCellContentOverflowing &&
291292
classes['root-editable-hover'],
292293
columnDefType === 'data' && classes['root-data-col'],
293294
density === 'xs' && classes['root-nowrap'],
@@ -302,13 +303,15 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
302303
})}
303304
>
304305
<>
305-
{tableCellProps.children ?? (
306-
columnDef.enableCellHoverReveal ? (
306+
{tableCellProps.children ??
307+
(columnDef.enableCellHoverReveal ? (
307308
<div
308309
ref={cellHoverRevealDivRef}
309310
className={clsx(
310-
columnDef.enableCellHoverReveal && classes["cell-hover-reveal"],
311-
isCellContentOverflowing && classes['overflowing']
311+
columnDef.enableCellHoverReveal &&
312+
!(isCreating || isEditing) &&
313+
classes['cell-hover-reveal'],
314+
isCellContentOverflowing && classes['overflowing'],
312315
)}
313316
>
314317
{renderCellContent()}
@@ -323,8 +326,7 @@ export const MRT_TableBodyCell = <TData extends MRT_RowData>({
323326
<> ({row.subRows?.length})</>
324327
)}
325328
</>
326-
)
327-
)}
329+
))}
328330
</>
329331
</TableTd>
330332
);

0 commit comments

Comments
 (0)