An MP has died after she was shot and stabbed in a “horrific” assault in her constituency, police have said.
Jo Cox, Labour MP for Batley and Spen, was left bleeding on the ground after the attack in West Yorkshire. A 52-year-old man was arrested nearby.
One eyewitness told the BBC they heard her attacker shout “put Britain first” at least twice beforehand.
Tributes flooded in from politicians including David Cameron, Jeremy Corbyn and US Secretary of State John Kerry.
Mrs Cox’s husband Brendan said she would want people “to unite to fight against the hatred that killed her”.
Vote Leave and Remain have both suspended campaigning in the EU referendum in light of the attack.
Mrs Cox is the first sitting MP to be killed since 1990, when Ian Gow was the last in a string of politicians to die at the hands of Northern Irish terror groups.
The arrested man was named locally as Tommy Mair.
Labour leader Mr Corbyn said the country would be “in shock at the horrific murder”, describing the MP as a “much loved colleague”.
He added: “Jo died doing her public duty at the heart of our democracy, listening to and representing the people she was elected to serve.
“In the coming days, there will be questions to answer about how and why she died.
“But for now all our thoughts are with Jo’s husband Brendan and their two young children. They will grow up without their mum, but can be immensely proud of what she did, what she achieved and what she stood for.”
Cafe owner Clarke Rothwell, who witnessed the attack, said he heard a “loud popping noise that sounded like a balloon burst – a loud balloon”.
“When I looked round there’s a man stood there in his 50s with a white baseball cap on and a jacket with a gun, an old fashioned looking gun in his hand,” he said.
“He shot this lady once and then he shot her again, he fell to the floor, leant over shot her once more in the face area.
“Somebody tried to grab him, wrestling with him and then he wielded a knife, like a hunting knife, just started lunging at her with a knife half a dozen times. People were screaming and running from the area”.
Eyewitness Hithem Ben Abdallah, said the mother of two was left lying and bleeding on the pavement after the incident.
Mr Abdallah, 56, was in a cafe next door to the library shortly after 13:00 BST when he heard screaming and went outside.
“There was a guy who was being very brave and another guy with a white baseball cap who he was trying to control and the man in the baseball cap suddenly pulled a gun from his bag”.
After a brief scuffle, he said the man stepped back and the MP became involved.
Mr Abdallah said the weapon had “looked handmade” and a man who had been wrestling with the gunman continued even after seeing the gun.
He said: “The man stepped back with the gun and fired it and then he fired a second shot, as he was firing he was looking down at the ground.”
“He was kicking her as she was lying on the floor”, he said.
Her husband, Brendan, has since tweeted a picture of his wife standing by the side of the River Thames in London.
David Cameron also tweeted to express his condolences.
Mr Kerry said: “It is an assault on everybody who cares about and has faith in democracy.”
Leeds North East MP Fabian Hamilton said he had known Jo Cox since before she became an MP.
Mr Hamilton said: “And I’m just completely devastated, I know Birstall reasonably well, and I think we’re all totally shocked.”
Huddersfield MP Barry Sheerman said he was “absolutely stunned”.
“I was a mentor to her,” he said.
“She was the same age as my daughter. She was one of the real talents in parliament, people loved her in the constituency.”
Ms Cox, who was born in Batley, was elected in 2015.
She was educated at Heckmondwike Grammar School and graduated from Cambridge University in 1995.
A former head of policy for Oxfam, she also worked as an adviser to Sarah Brown and Baroness Kinnock.
Mark Goldring, Oxfam’s chief executive, said: ” Oxfam is deeply shocked to hear the news. Our thoughts and sympathies are with Jo and her family at this difficult time.”
Most MPs hold surgeries in their constituency to give people an opportunity to meet them and discuss matters of concern.
They are usually held once a week and advertised locally or online. An MP may take up an issue on a constituent’s behalf.