US President Donald Trump will impose tariffs on Saturday of 25% on Mexico, 25% on Canada and 10% on China, says the White House.