UNPKG

altcha

Version:

Privacy-first CAPTCHA widget, compliant with global regulations (GDPR/HIPAA/CCPA/LGDP/DPDPA/PIPL) and WCAG accessible. No tracking, self-verifying.

128 lines (127 loc) 3.94 kB
const l = () => { }; function b(e, r) { return e != e ? r == r : e !== r || e !== null && typeof e == "object" || typeof e == "function"; } let u = !1; function h(e) { var r = u; try { return u = !0, e(); } finally { u = r; } } function p(e, r, a) { if (e == null) return r(void 0), l; const o = h( () => e.subscribe( r, // @ts-expect-error a ) ); return o.unsubscribe ? () => o.unsubscribe() : o; } const n = []; function v(e, r = l) { let a = null; const o = /* @__PURE__ */ new Set(); function s(t) { if (b(e, t) && (e = t, a)) { const c = !n.length; for (const i of o) i[1](), n.push(i, e); if (c) { for (let i = 0; i < n.length; i += 2) n[i][0](n[i + 1]); n.length = 0; } } } function d(t) { s(t( /** @type {T} */ e )); } function g(t, c = l) { const i = [t, c]; return o.add(i), o.size === 1 && (a = r(s, d) || l), t( /** @type {T} */ e ), () => { o.delete(i), o.size === 0 && a && (a(), a = null); }; } return { set: s, update: d, subscribe: g }; } function f(e) { let r; return p(e, (a) => r = a)(), r; } globalThis.altchaPlugins = globalThis.altchaPlugins || []; globalThis.altchaI18n = globalThis.altchaI18n || { get: (e) => f(globalThis.altchaI18n.store)[e], set: (e, r) => { Object.assign(f(globalThis.altchaI18n.store), { [e]: r }), globalThis.altchaI18n.store.set(f(globalThis.altchaI18n.store)); }, store: v({}) }; const V = { ariaLinkLabel: "Visitez Altcha.org", enterCode: "Entrez le code", enterCodeAria: "Entrez le code que vous entendez. Appuyez sur la barre d'espace pour écouter l'audio.", error: "Échec de la vérification. Réessayez plus tard.", expired: "La vérification a expiré. Réessayez.", verificationRequired: "Vérification requise !", footer: 'Protégé par <a href="https://altcha.org/" target="_blank" aria-label="Visitez Altcha.org">ALTCHA</a>', getAudioChallenge: "Obtenir un défi audio", label: "Pas un robot", loading: "Chargement...", reload: "Recharger", verify: "Vérifier", verified: "Vérifié", verifying: "Vérification en cours...", waitAlert: "Vérification en cours... veuillez patienter." }; globalThis.altchaI18n.set("fr-ca", V); const A = { ariaLinkLabel: "Visitar Altcha.org", enterCode: "Ingresa el código", enterCodeAria: "Ingresa el código que escuchas. Presiona Espacio para reproducir el audio.", error: "Falló la verificación. Por favor vuelve a intentarlo más tarde.", expired: "La verificación expiró. Por favor inténtalo de nuevo.", verificationRequired: "¡Verificación requerida!", footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>', getAudioChallenge: "Obtener un reto de audio", label: "No soy un robot", loading: "Cargando...", reload: "Volver a cargar", verify: "Verificar", verified: "Verificado", verifying: "Verificando...", waitAlert: "Verificando... por favor espera." }; globalThis.altchaI18n.set("es-419", A); const C = { ariaLinkLabel: "Visitar Altcha.org", enterCode: "Digite o código", enterCodeAria: "Digite o código que você ouve. Pressione Espaço para reproduzir o áudio.", error: "Falha na verificação. Por favor, tente novamente mais tarde.", expired: "Verificação expirada. Por favor, tente novamente.", verificationRequired: "Verificação necessária!", footer: 'Protegido por <a href="https://altcha.org/" target="_blank" aria-label="Visitar Altcha.org">ALTCHA</a>', getAudioChallenge: "Obter desafio de áudio", label: "Eu não sou um robô", loading: "Carregando...", reload: "Recarregar", verify: "Verificar", verified: "Verificado", verifying: "Verificando...", waitAlert: "Verificando... por favor aguarde." }; globalThis.altchaI18n.set("pt-br", C);