diff --git a/packages/features/data-table/components/DataTable.tsx b/packages/features/data-table/components/DataTable.tsx index 587cda4a4e..98680df8dd 100644 --- a/packages/features/data-table/components/DataTable.tsx +++ b/packages/features/data-table/components/DataTable.tsx @@ -400,7 +400,14 @@ function DataTableBody({ {...computedDataAttributes} data-index={virtualItem?.index} // needed for dynamic row height measurement data-state={row.getIsSelected() && "selected"} - onClick={() => onRowMouseclick && onRowMouseclick(row)} + onClick={(e) => { + if (!onRowMouseclick) return; + const target = e.target as Node | null; + const current = e.currentTarget as HTMLElement | null; + // Only invoke the handler when the event target is inside the row element. + if (!target || !current || !current.contains(target)) return; + onRowMouseclick(row); + }} style={{ display: "flex", ...(virtualItem && {