recaptcha-v3-react
Advanced tools
Comparing version
@@ -1,1 +0,1 @@ | ||
module.exports=function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=1)}([function(e,t){e.exports=require("react")},function(e,t,n){var r=n(2).default,o=n(4).default;e.exports={ReCaptcha:r,loadReCaptcha:o}},function(e,t,n){"use strict";n.r(t);var a=n(0),u=n.n(a);n(3);function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d,y=function(){return"undefined"!=typeof window&&void 0!==window.grecaptcha},r=function(e){function o(e){var n,t,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),t=this,r=f(o).call(this,e),s(p(p(n=!r||"object"!==c(r)&&"function"!=typeof r?p(t):r)),"componentDidMount",function(){n.state.ready&&void 0!==n.execute&&n.execute()}),s(p(p(n)),"componentDidUpdate",function(e,t){n.state.ready&&!t.ready&&void 0!==n.execute&&n.execute()}),s(p(p(n)),"componentWillUnmount",function(){clearInterval(d)}),n.execute=n.execute.bind(p(p(n))),n.state={ready:y()},n.state.ready||(d=setInterval(n._updateReadyState.bind(p(p(n))),1e3)),n}var t,n,r;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(o,a["Component"]),t=o,(n=[{key:"execute",value:function(){var e=this.props,t=e.sitekey,n=e.verifyCallback,r=e.action;this.state.ready&&window.grecaptcha.execute(t,{action:r}).then(function(e){n(e)})}},{key:"_updateReadyState",value:function(){y()&&(this.setState(function(){return{ready:!0}}),clearInterval(d))}},{key:"render",value:function(){return this.state.ready?u.a.createElement("div",{id:this.props.elementID,"data-verifycallbackname":this.props.verifyCallbackName}):u.a.createElement("div",{id:this.props.elementID,className:"g-recaptcha"})}}])&&i(t.prototype,n),r&&i(t,r),o}();r.defaultProps={elementID:"g-recaptcha",verifyCallbackName:"verifyCallback"},t.default=r},function(e,t){e.exports=require("prop-types")},function(e,t,n){"use strict";n.r(t);t.default=function(e){var t=e.key,n=e.id,r=e.onSuccess,o=e.onError;if(!document.getElementById(n)){var a=document.createElement("script");a.id=n,a.async=!0,a.src="https://www.google.com/recaptcha/api.js?render=".concat(t),a.onload=function(){r()},a.onerror=function(e){o(e)},document.body.appendChild(a)}}}]); | ||
module.exports=function(n){var r={};function o(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}return o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=1)}([function(e,t){e.exports=require("react")},function(e,t,n){var r=n(2).default,o=n(4).default;e.exports={ReCaptcha:r,loadReCaptcha:o}},function(e,t,n){"use strict";n.r(t);var a,u=n(0),i=n.n(u);n(3);function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(){return"undefined"!=typeof window&&void 0!==window.grecaptcha}var r,o,y,b=function(e){function o(e){var t,n,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),n=this,(t=!(r=f(o).call(this,e))||"object"!==c(r)&&"function"!=typeof r?s(n):r)._updateReadyState=t._updateReadyState.bind(s(s(t))),t.execute=t.execute.bind(s(s(t))),t.state={ready:d()},t.state.ready||(a=setInterval(t._updateReadyState,1e3)),t}var t,n,r;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(o,u["Component"]),t=o,(n=[{key:"componentDidMount",value:function(){this.state.ready&&void 0!==this.execute&&this.execute()}},{key:"componentDidUpdate",value:function(e,t){this.state.ready&&!t.ready&&void 0!==this.execute&&this.execute()}},{key:"componentWillUnmount",value:function(){null!=a&&clearInterval(a)}},{key:"execute",value:function(){var e=this.props,t=e.sitekey,n=e.verifyCallback,r=e.action;this.state.ready&&"function"==typeof window.grecaptcha.execute&&window.grecaptcha.execute(t,{action:r}).then(function(e){n(e),clearInterval(a)})}},{key:"_updateReadyState",value:function(){d()&&this.setState(function(){return{ready:!0}})}},{key:"render",value:function(){return this.state.ready?i.a.createElement("div",{id:this.props.elementID,"data-verifycallbackname":this.props.verifyCallbackName}):i.a.createElement("div",{id:this.props.elementID,className:"g-recaptcha"})}}])&&l(t.prototype,n),r&&l(t,r),o}();y={elementID:"g-recaptcha",verifyCallbackName:"verifyCallback"},(o="defaultProps")in(r=b)?Object.defineProperty(r,o,{value:y,enumerable:!0,configurable:!0,writable:!0}):r[o]=y,t.default=b},function(e,t){e.exports=require("prop-types")},function(e,t,n){"use strict";n.r(t);t.default=function(e){var t=e.key,n=e.id,r=e.onSuccess,o=e.onError;if(!document.getElementById(n)){var a=document.createElement("script");a.id=n,a.async=!0,a.src="https://www.google.com/recaptcha/api.js?render=".concat(t),a.onload=function(){r()},a.onerror=function(e){o(e)},document.body.appendChild(a)}}}]); |
{ | ||
"name": "recaptcha-v3-react", | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"description": "This library helps to integrate google recaptcha into your react project easily. ", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
import React, { Component } from 'react' | ||
import PropTypes from 'prop-types' | ||
const propTypes = { | ||
elementID: PropTypes.string, | ||
verifyCallbackName: PropTypes.string, | ||
verifyCallback: PropTypes.func.isRequired, | ||
sitekey: PropTypes.string.isRequired, | ||
action: PropTypes.string.isRequired | ||
function isReady () { | ||
return typeof window !== 'undefined' && typeof window.grecaptcha !== 'undefined' | ||
} | ||
const defaultProps = { | ||
elementID: 'g-recaptcha', | ||
verifyCallbackName: 'verifyCallback' | ||
} | ||
let readyCheck | ||
const isReady = () => | ||
typeof window !== 'undefined' && | ||
typeof window.grecaptcha !== 'undefined' | ||
class ReCaptcha extends Component { | ||
static propTypes = { | ||
elementID: PropTypes.string, | ||
verifyCallbackName: PropTypes.string, | ||
verifyCallback: PropTypes.func.isRequired, | ||
sitekey: PropTypes.string.isRequired, | ||
action: PropTypes.string.isRequired | ||
} | ||
let readyCheck | ||
static defaultProps = { | ||
elementID: 'g-recaptcha', | ||
verifyCallbackName: 'verifyCallback' | ||
} | ||
class ReCaptcha extends Component { | ||
constructor (props) { | ||
super(props) | ||
this._updateReadyState = this._updateReadyState.bind(this) | ||
this.execute = this.execute.bind(this) | ||
@@ -34,7 +35,7 @@ | ||
if (!this.state.ready) { | ||
readyCheck = setInterval(this._updateReadyState.bind(this), 1000) | ||
readyCheck = setInterval(this._updateReadyState, 1000) | ||
} | ||
} | ||
componentDidMount = () => { | ||
componentDidMount () { | ||
if (this.state.ready) { | ||
@@ -47,3 +48,3 @@ if (typeof this.execute !== 'undefined') { | ||
componentDidUpdate = (_, prevState) => { | ||
componentDidUpdate (_, prevState) { | ||
if ( | ||
@@ -59,3 +60,4 @@ this.state.ready && | ||
componentWillUnmount = () => { | ||
componentWillUnmount () { | ||
readyCheck != null && | ||
clearInterval(readyCheck) | ||
@@ -71,6 +73,7 @@ } | ||
if (this.state.ready) { | ||
if (this.state.ready && typeof window.grecaptcha.execute === 'function') { | ||
window.grecaptcha.execute(sitekey, { action }) | ||
.then(token => { | ||
verifyCallback(token) | ||
clearInterval(readyCheck) | ||
}) | ||
@@ -82,5 +85,7 @@ } | ||
if (isReady()) { | ||
this.setState(() => ({ ready: true })) | ||
clearInterval(readyCheck) | ||
this.setState( | ||
() => ({ | ||
ready: true | ||
}) | ||
) | ||
} | ||
@@ -105,5 +110,2 @@ } | ||
ReCaptcha.propTypes = propTypes | ||
ReCaptcha.defaultProps = defaultProps | ||
export default ReCaptcha |
12639
1.7%155
2.65%