UNPKG

ng-recaptchav3

Version:

Angular8 library to provide easy extraction for google recaptcha v3, invisible recaptcha and recaptcha v2

2 lines 3.84 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("rxjs")):"function"==typeof define&&define.amd?define("ng-recaptchav3",["exports","@angular/core","@angular/common","rxjs"],t):t((e=e||self)["ng-recaptchav3"]={},e.ng.core,e.ng.common,e.rxjs)}(this,(function(e,t,n,r){"use strict";var i=new t.InjectionToken("recaptcha-language"),a=function(){function e(t,i){this.platformId=t,this.language=i,this.init(),this.ready=n.isPlatformBrowser(this.platformId)?e.ready.asObservable():r.of()}return e.prototype.init=function(){if(!e.ready&&n.isPlatformBrowser(this.platformId)){window.ngRecaptchaLoaded=function(){e.ready.next(grecaptcha)},e.ready=new r.BehaviorSubject(null);var t=document.createElement("script");t.innerHTML="";var i=this.language?"&hl="+this.language:"";t.src="https://www.google.com/recaptcha/api.js?render=explicit&onload=ngRecaptchaLoaded"+i,t.async=!0,t.defer=!0,t.setAttribute("nonce",""),document.head.appendChild(t)}},e.ready=null,e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.PLATFORM_ID]}]},{type:String,decorators:[{type:t.Optional},{type:t.Inject,args:[i]}]}]},e}();var o=new t.InjectionToken("recaptcha-settings");var s=0,c=function(){function e(e,n,r,i){this.elementRef=e,this.loader=n,this.zone=r,this.id="ngrecaptcha-"+s++,this.resolved=new t.EventEmitter,i&&(this.siteKey=i.siteKey,this.theme=i.theme,this.type=i.type,this.size=i.size,this.badge=i.badge)}return e.prototype.ngAfterViewInit=function(){var e=this;this.subscription=this.loader.ready.subscribe((function(t){null!=t&&(e.grecaptcha=t,e.renderRecaptcha())}))},e.prototype.ngOnDestroy=function(){this.grecaptchaReset(),this.subscription&&this.subscription.unsubscribe()},e.prototype.execute=function(){"invisible"===this.size&&null!==this.widget&&(this.actionName?this.grecaptcha.execute(this.widget,{action:this.actionName}):this.grecaptcha.execute(this.widget))},e.prototype.reset=function(){null!==this.widget&&(this.grecaptcha.getResponse(this.widget)&&this.resolved.emit(null),this.grecaptchaReset())},e.prototype.expired=function(){this.resolved.emit(null)},e.prototype.captchaReponseCallback=function(e){this.resolved.emit(e)},e.prototype.grecaptchaReset=function(){var e=this;null!=this.widget&&this.zone.runOutsideAngular((function(){return e.grecaptcha.reset(e.widget)}))},e.prototype.renderRecaptcha=function(){var e=this;this.widget=this.grecaptcha.render(this.elementRef.nativeElement,{badge:this.badge,callback:function(t){e.zone.run((function(){return e.captchaReponseCallback(t)}))},"expired-callback":function(){e.zone.run((function(){return e.expired()}))},sitekey:this.siteKey,size:this.size,tabindex:this.tabIndex,theme:this.theme,type:this.type})},e.decorators=[{type:t.Component,args:[{exportAs:"reCaptcha",selector:"re-captcha",template:""}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:a},{type:t.NgZone},{type:void 0,decorators:[{type:t.Optional},{type:t.Inject,args:[o]}]}]},e.propDecorators={id:[{type:t.Input},{type:t.HostBinding,args:["attr.id"]}],siteKey:[{type:t.Input}],theme:[{type:t.Input}],type:[{type:t.Input}],size:[{type:t.Input}],tabIndex:[{type:t.Input}],badge:[{type:t.Input}],actionName:[{type:t.Input}],resolved:[{type:t.Output}]},e}();var p=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[c],exports:[c]}]}],e}(),u=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[a]}},e.decorators=[{type:t.NgModule,args:[{exports:[c],imports:[p]}]}],e}();e.RECAPTCHA_LANGUAGE=i,e.RECAPTCHA_SETTINGS=o,e.RecaptchaComponent=c,e.RecaptchaLoaderService=a,e.RecaptchaModule=u,e.ɵa=p,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=ng-recaptchav3.umd.min.js.map