UNPKG

vue-recaptcha

Version:

ReCAPTCHA vue component

63 lines (62 loc) 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useComponentV2 = useComponentV2; var _shared = require("@vueuse/shared"); var _vueDemi = require("vue-demi"); var _challengeV = require("./challenge-v2.cjs"); function useComponentV2(options, modelValue, emit) { const { root, state, widgetID, onError, onExpired, onVerify, reset, execute } = (0, _challengeV.useChallengeV2)({ options: options || {} }); const isExpired = (0, _vueDemi.computed)(() => state.value === _challengeV.RecaptchaV2State.Expired); const isError = (0, _vueDemi.computed)(() => state.value === _challengeV.RecaptchaV2State.Error); const isVerified = (0, _vueDemi.computed)(() => state.value === _challengeV.RecaptchaV2State.Verified); (0, _shared.whenever)(widgetID, id => { emit("load", id); emit("update:widgetId", id); }); (0, _vueDemi.watch)(modelValue, (res, old) => { if (!res && old && !isExpired.value) { callReset(); } }); onExpired(() => { emit("update:modelValue", null); emit("expired", widgetID.value); }); onError(err => { emit("error", err); }); onVerify(response => { emit("success", response); emit("update:modelValue", response); }); return { root, widgetID, state, isError, isExpired, isVerified, reset: callReset, execute }; function callReset() { reset(); resetState(); } function resetState() { emit("update:modelValue", null); } }