{"version":3,"file":"vue-recaptcha.es-74084d50.js","sources":["../../../node_modules/vue-recaptcha/dist/vue-recaptcha.es.js"],"sourcesContent":["import { defineComponent, ref, onMounted, h } from 'vue-demi';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nvar defer = function defer() {\n var state = false; // Resolved or not\n\n var callbacks = [];\n\n var resolve = function resolve() {\n if (state) {\n return;\n }\n\n state = true;\n\n for (var i = 0, len = callbacks.length; i < len; i++) {\n callbacks[i]();\n }\n };\n\n var then = function then(cb) {\n if (!state) {\n callbacks.push(cb);\n return;\n }\n\n cb();\n };\n\n var deferred = {\n resolved: function resolved() {\n return state;\n },\n resolve: resolve,\n promise: {\n then: then\n }\n };\n return deferred;\n};\n\nvar ownProp = Object.prototype.hasOwnProperty;\nfunction createRecaptcha() {\n var deferred = defer();\n return {\n notify: function notify() {\n deferred.resolve();\n },\n wait: function wait() {\n return deferred.promise;\n },\n render: function render(ele, options, cb) {\n this.wait().then(function () {\n cb(window.grecaptcha.render(ele, options));\n });\n },\n reset: function reset(widgetId) {\n if (typeof widgetId === 'undefined') {\n return;\n }\n\n this.assertLoaded();\n this.wait().then(function () {\n return window.grecaptcha.reset(widgetId);\n });\n },\n execute: function execute(widgetId) {\n if (typeof widgetId === 'undefined') {\n return;\n }\n\n this.assertLoaded();\n this.wait().then(function () {\n return window.grecaptcha.execute(widgetId);\n });\n },\n checkRecaptchaLoad: function checkRecaptchaLoad() {\n if (ownProp.call(window, 'grecaptcha') && ownProp.call(window.grecaptcha, 'render')) {\n this.notify();\n }\n },\n assertLoaded: function assertLoaded() {\n if (!deferred.resolved()) {\n throw new Error('ReCAPTCHA has not been loaded');\n }\n }\n };\n}\nvar recaptcha = createRecaptcha();\n\nif (typeof window !== 'undefined') {\n window.vueRecaptchaApiLoaded = recaptcha.notify;\n}\n\nvar Recaptcha = defineComponent({\n name: 'VueRecaptcha',\n props: {\n sitekey: {\n type: String,\n required: true\n },\n theme: {\n type: String\n },\n badge: {\n type: String\n },\n type: {\n type: String\n },\n size: {\n type: String\n },\n tabindex: {\n type: String\n },\n loadRecaptchaScript: {\n type: Boolean,\n \"default\": true\n },\n recaptchaScriptId: {\n type: String,\n \"default\": '__RECAPTCHA_SCRIPT'\n },\n recaptchaHost: {\n type: String,\n \"default\": 'www.google.com'\n },\n language: {\n type: String,\n \"default\": ''\n }\n },\n emits: ['render', 'verify', 'expired', 'error'],\n setup: function setup(props, _ref) {\n var slots = _ref.slots,\n emit = _ref.emit;\n var root = ref(null);\n var widgetId = ref(null);\n\n var emitVerify = function emitVerify(response) {\n emit('verify', response);\n };\n\n var emitExpired = function emitExpired() {\n emit('expired');\n };\n\n var emitError = function emitError() {\n emit('error');\n };\n\n onMounted(function () {\n recaptcha.checkRecaptchaLoad();\n\n if (props.loadRecaptchaScript) {\n if (!document.getElementById(props.recaptchaScriptId)) {\n // Note: vueRecaptchaApiLoaded load callback name is per the latest documentation\n var script = document.createElement('script');\n script.id = props.recaptchaScriptId;\n script.src = \"https://\" + props.recaptchaHost + \"/recaptcha/api.js?onload=vueRecaptchaApiLoaded&render=explicit&hl=\" + props.language;\n script.async = true;\n script.defer = true;\n document.head.appendChild(script);\n }\n }\n\n var opts = _extends({}, props, {\n callback: emitVerify,\n 'expired-callback': emitExpired,\n 'error-callback': emitError\n });\n\n var $root = root.value;\n var container = slots[\"default\"] ? $root.children[0] : $root;\n recaptcha.render(container, opts, function (id) {\n widgetId.value = id;\n emit('render', id);\n });\n });\n return {\n root: root,\n widgetId: widgetId,\n reset: function reset() {\n recaptcha.reset(widgetId.value);\n },\n execute: function execute() {\n recaptcha.execute(widgetId.value);\n }\n };\n },\n render: function render() {\n var defaultSlot = this.$slots[\"default\"];\n var defaultContent;\n\n if (typeof defaultSlot === 'function') {\n defaultContent = defaultSlot();\n } else {\n defaultContent = defaultSlot;\n }\n\n return h('div', {\n ref: 'root'\n }, defaultContent);\n }\n});\n\nexport { Recaptcha as VueRecaptcha };\n"],"names":["_extends","target","i","source","key","defer","state","callbacks","resolve","len","then","cb","deferred","ownProp","createRecaptcha","ele","options","widgetId","recaptcha","Recaptcha","defineComponent","props","_ref","slots","emit","root","ref","emitVerify","response","emitExpired","emitError","onMounted","script","opts","$root","container","id","defaultSlot","defaultContent","h"],"mappings":"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","x_google_ignoreList":[0]}