An MP is in a critical condition after she was shot and stabbed during an attack in her constituency.
Eyewitnesses said Jo Cox, 41, Labour MP for Batley and Spen, was left bleeding on the ground by her attacker. A man also suffered slight injuries.
A 52-year-old man was arrested near Market Street, Birstall, West Yorkshire Police said. The MP holds a weekly advice surgery nearby.
Ms Cox's assistant confirmed she had been attacked.
The MP was taken by ambulance to Leeds General Infirmary, where armed police are stationed outside.
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 41-year-old 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.
Jeremy Corbyn, the Labour leader, wrote he was "utterly shocked by the news of the attack" and the thoughts of the "whole Labour Party" were with Ms Cox.
David Cameron also tweeted to express his concern. "Our thoughts and prayers are with Jo and her family," he wrote.
Outside Leeds General Infirmary: Tom Airey, BBC News Online
As fans gathered in Millennium Square in Leeds to watch the England v Wales match, heads turned as an ambulance drove past accompanied by an unmarked police car.
At the nearby Leeds General Infirmary, six armed police officers stand guard near the Jubilee Wing.
The car park near the ambulance bays is busy with police vehicles, with additional security now on-site to advise members of the public attempting to park nearby.
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."
It has been announced the Vote Leave and Remain have suspended campaigning in the EU referendum in light of the attack.
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.
Are you in the area? Have you been affected? Did you witness the incident? You can share your experiences by emailing [email protected].
Please include a contact number if you are willing to speak to a BBC journalist. You can also contact us in the following ways:
- Whatsapp: +44 7525 900971
- Send pictures/video to [email protected]
- Upload your pictures / video here
- Tweet: @BBC_HaveYourSay
- Send an SMS or MMS to +44 7624 800 100