Leaders of the European Union have agreed on an unprecedented 1.82 trillion euro ($2.1 trillion) budget and coronavirus recovery fund at a time when the EU is tackling the most significant recession in its history.