Twenty people have been killed and 26 injured in a mass shooting in the Texas city of El Paso.
Governor Greg Abbott described it as “one of the most deadly days in the history of Texas”.
The massacre happened at a Walmart store near the Cielo Vista Mall, a few miles from the US-Mexican border.
A 21-year-old man is in custody. Police said the suspect was a resident of the Dallas-area city of Allen, about 650 miles (1,046km) east of El Paso.
He has been named by US media as Patrick Crusius.
CCTV images said to be of the gunman and broadcast on US media show a man in a dark T-shirt wearing ear protectors and brandishing an assault-style rifle.
US President Donald Trump described the attack as “an act of cowardice”.
“I know that I stand with everyone in this country to condemn today’s hateful act. There are no reasons or excuses that will ever justify killing innocent people”, he wrote on Twitter.
The victims of the attack have not yet been named. However, Mexico’s President Manuel Lopez Obrador said three Mexicans were among those killed, Reuters news agency reports.
The attack came less than a week after a teenage gunman killed three people at a California food festival. The Texas shooting has been dubbed the eighth deadliest in modern US history.
“We as a state unite in support of these victims and their family members,” Mr Abbott said.
“We must do one thing today, one thing tomorrow and each and every day after this – we must unite.”
READ: OAU final year student drinks sniper, dies over low grades
The police and FBI are investigating whether an anonymous white nationalist “manifesto”, shared on an online forum, was written by the gunman. The document says the attack was targeted at the local Hispanic community.
What happened?
El Paso Police Chief Greg Allen said reports of an active shooter were received at 1039 local time (1639 GMT), and law enforcement officers were on the scene within six minutes.
The Walmart was full of shoppers buying back-to-school supplies at the time of the attack.
The 21 year old is the only suspect in custody over the attack, and police say no officers fired their weapons while arresting him.
Mr Allen said the ages of victims were “numerous” as he described the situation as “horrific”.
El Paso Police Department had earlier tweeted that blood donations were “needed urgently”.
Blood needed urgently. Multiple injured transported to various hospitals. Blood donation centers Vitalent Blood Services at 424 s Mesa Hills and 133 N Zaragoza
— EL PASO POLICE DEPT (@EPPOLICE) August 3, 2019
Kianna Long said she was at the Walmart with her husband when they heard gunfire.
“People were panicking and running, saying that there was a shooter,” Ms Long told Reuters news agency. “They were running close to the floor, people were dropping on the floor.”
Ms Long said she and her husband ran through a stock room before taking cover with other customers.
Another witness, Glendon Oakly, told CNN that he was in a sporting goods store inside the nearby shopping mall when a child ran inside “telling us there’s an active shooter at Walmart”.
Mr Oakly said no-one took the child’s claim seriously, but just minutes later he heard two gunshots.
“I just thought about getting the kids out of the way,” he said.