Nicola Sturgeon has insisted the SNP has a "cast-iron" mandate to hold another independence vote.

She warned Prime Minister Boris Johnson that he has "no right to block the democratic wishes of the people of Scotland".

Johnson told STV News earlier this week that he would defy any request for a second referendum if he returns to 10 Downing Street.

But launching the party's general election campaign at Dynamic Earth in Edinburgh, the First Minister said her intention remained to hold a second referendum on independence next year.

She said: "The SNP already has a cast-iron mandate for an independence referendum, based on our explicit manifesto pledge for the 2016 Holyrood election.

"The question must be to Boris Johnson and to Westminster: What gives you the right to block the democratic wishes of the people of Scotland?

"That is an undemocratic, untenable and unsustainable position."

She added that the Conservative Party had "ridden roughshod" over the Scottish Parliament.

"Scotland's vote to remain in the EU has been ignored," she said. "For the first time ever, the UK Government has chosen to legislate on devolved matters without the consent of Holyrood.

"With so-called 'moderate' Conservatives in full retreat and the hard-line Brexit ultras on the march, that is surely only a taste of what is to come."

But she said a vote for the SNP on December 12 is a vote to put Scotland's future "firmly in Scotland's hands".

She went on: "Westminster's priorities can be summed up in just three words - Brexit, Brexit, Brexit.

"A vote for the SNP, in contrast, is a vote to escape Brexit. A vote for the SNP is a vote to take Scotland's future out of the hands of Boris Johnson and a broken Westminster system."

The SNP earlier pledged to introduce a Bill to protect the NHS from any future trade deals with foreign nations, including the US.

Ms Sturgeon said: "We will fight tooth and nail any attempt to expose the national health service to a post-Brexit trade deal with Donald Trump.

"That's why after the election, SNP MPs will bring forward a new law - an NHS protection Bill - to explicitly protect the NHS in all four countries of the UK from becoming a bargaining chip in future trade deals.

"It would prevent companies from taking legal action through investment protection or investor-state dispute resolution mechanisms.

"It would ensure that confidential discounts for expensive medicines would not be at risk.

"And it would stipulate that, before any trade deal could come into force, the Scottish Parliament and the other devolved legislatures would need to give their explicit content."

The Scottish Conservatives said independence was the biggest risk to the future of the NHS.

The party's leader Jackson Carlaw said: "The NHS is our greatest national institution and we will never put it up for sale.

"The only risk to it comes from the SNP and its plan to break it up by taking Scotland out of the United Kingdom.

"The only protection it needs is from this incompetent SNP government which has set a waiting times guarantee that's never been met and has presided over the utter scandal of the new Sick Kids hospital in Edinburgh.

"Nicola Sturgeon has confirmed here, once again, that her only priority is to take Scotland back to another divisive independence referendum.

"With Jeremy Corbyn happy to do her bidding, it is only by voting Scottish Conservative that we can stop her.

"To stop Nicola Sturgeon getting her way and taking Scotland back to more division, you have to vote Scottish Conservative."

The Scottish Liberal Democrat's described the SNP's commitment to the EU as "skin deep".

Election chair Alex Cole-Hamilton MSP said: "They spent more money chasing one more vote for independence at the Shetland by-election than they did on the entire EU referendum campaign.

"If it advanced the cause of independence they would throw our EU membership under the bus like a shot."