|  |  | @ -25,7 +25,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |     <div class="space-y-3 mt-5"> |  |  |  |     <div class="space-y-3 mt-5"> | 
			
		
	
		
		
			
				
					
					|  |  |  |       <a |  |  |  |       <a | 
			
		
	
		
		
			
				
					
					|  |  |  |         v-if="completedButton.url" |  |  |  |         v-if="completedButton.url" | 
			
		
	
		
		
			
				
					
					|  |  |  |         :href="sanitizeHref(completedButton.url)" |  |  |  |         :href="sanitizeUrl(completedButton.url)" | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         rel="noopener noreferrer nofollow" |  |  |  |         rel="noopener noreferrer nofollow" | 
			
		
	
		
		
			
				
					
					|  |  |  |         class="white-button flex items-center w-full completed-form-completed-button" |  |  |  |         class="white-button flex items-center w-full completed-form-completed-button" | 
			
		
	
		
		
			
				
					
					|  |  |  |       > |  |  |  |       > | 
			
		
	
	
		
		
			
				
					|  |  | @ -102,6 +102,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | <script> |  |  |  | <script> | 
			
		
	
		
		
			
				
					
					|  |  |  | import { IconCircleCheck, IconBrandGithub, IconMail, IconDownload, IconInnerShadowTop, IconLogin } from '@tabler/icons-vue' |  |  |  | import { IconCircleCheck, IconBrandGithub, IconMail, IconDownload, IconInnerShadowTop, IconLogin } from '@tabler/icons-vue' | 
			
		
	
		
		
			
				
					
					|  |  |  | import MarkdownContent from './markdown_content' |  |  |  | import MarkdownContent from './markdown_content' | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import { sanitizeUrl } from '@braintree/sanitize-url' | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | export default { |  |  |  | export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |   name: 'FormCompleted', |  |  |  |   name: 'FormCompleted', | 
			
		
	
	
		
		
			
				
					|  |  | @ -198,6 +199,7 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |     }) |  |  |  |     }) | 
			
		
	
		
		
			
				
					
					|  |  |  |   }, |  |  |  |   }, | 
			
		
	
		
		
			
				
					
					|  |  |  |   methods: { |  |  |  |   methods: { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     sanitizeUrl, | 
			
		
	
		
		
			
				
					
					|  |  |  |     sendCopyToEmail () { |  |  |  |     sendCopyToEmail () { | 
			
		
	
		
		
			
				
					
					|  |  |  |       this.isSendingCopy = true |  |  |  |       this.isSendingCopy = true | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -252,11 +254,6 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |         this.isDownloading = false |  |  |  |         this.isDownloading = false | 
			
		
	
		
		
			
				
					
					|  |  |  |       }) |  |  |  |       }) | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |     sanitizeHref (href) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (href && href.trim().match(/^((?:https?:\/\/)|\/)/)) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         return href.replace(/javascript:/g, '') |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     }, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     downloadSafariIos (urls) { |  |  |  |     downloadSafariIos (urls) { | 
			
		
	
		
		
			
				
					
					|  |  |  |       const fileRequests = urls.map((url) => { |  |  |  |       const fileRequests = urls.map((url) => { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return fetch(url).then(async (resp) => { |  |  |  |         return fetch(url).then(async (resp) => { | 
			
		
	
	
		
		
			
				
					|  |  | 
 |