UNPKG

@visitscotland/component-library

Version:
1 lines 2.62 kB
"use strict";(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[7171],{19552:function(e,t,n){n.d(t,{A:function(){return s}});var r=n(20641),a=n(50953);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c.apply(this,arguments)}var i,o,d,u=Object.prototype.hasOwnProperty,p=(i=!1,o=[],d={resolved:function(){return i},resolve:function(){if(!i){i=!0;for(var e=0,t=o.length;e<t;e++)o[e]()}},promise:{then:function(e){i?e():o.push(e)}}},{notify:function(){d.resolve()},wait:function(){return d.promise},render:function(e,t,n){this.wait().then((function(){n(window.grecaptcha.render(e,t))}))},reset:function(e){void 0!==e&&(this.assertLoaded(),this.wait().then((function(){return window.grecaptcha.reset(e)})))},execute:function(e){void 0!==e&&(this.assertLoaded(),this.wait().then((function(){return window.grecaptcha.execute(e)})))},checkRecaptchaLoad:function(){u.call(window,"grecaptcha")&&u.call(window.grecaptcha,"render")&&this.notify()},assertLoaded:function(){if(!d.resolved())throw new Error("ReCAPTCHA has not been loaded")}});"undefined"!=typeof window&&(window.vueRecaptchaApiLoaded=p.notify);var s=(0,r.pM)({name:"VueRecaptcha",props:{sitekey:{type:String,required:!0},theme:{type:String},badge:{type:String},type:{type:String},size:{type:String},tabindex:{type:String},loadRecaptchaScript:{type:Boolean,default:!0},recaptchaScriptId:{type:String,default:"__RECAPTCHA_SCRIPT"},recaptchaHost:{type:String,default:"www.google.com"},language:{type:String,default:""}},emits:["render","verify","expired","error"],setup:function(e,t){var n=t.slots,i=t.emit,o=(0,a.KR)(null),d=(0,a.KR)(null),u=function(e){i("verify",e)},s=function(){i("expired")},l=function(){i("error")};return(0,r.sV)((function(){if(p.checkRecaptchaLoad(),e.loadRecaptchaScript&&!document.getElementById(e.recaptchaScriptId)){var t=document.createElement("script");t.id=e.recaptchaScriptId,t.src="https://"+e.recaptchaHost+"/recaptcha/api.js?onload=vueRecaptchaApiLoaded&render=explicit&hl="+e.language,t.async=!0,t.defer=!0,document.head.appendChild(t)}var r=c({},e,{callback:u,"expired-callback":s,"error-callback":l}),a=o.value,f=n.default?a.children[0]:a;p.render(f,r,(function(e){d.value=e,i("render",e)}))})),{root:o,widgetId:d,reset:function(){p.reset(d.value)},execute:function(){p.execute(d.value)}}},render:function(){var e,t=this.$slots.default;return e="function"==typeof t?t():t,(0,r.h)("div",{ref:"root"},e)}})}}]);