@zaptcha/widget 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,745 @@
1
+ /**
2
+ * <zero-captcha> — CAPTCHA Web Component with WASM Proof-of-Work
3
+ *
4
+ * Single self-contained file — no external assets, no bundler config needed.
5
+ * The WASM glue and binary are inlined at build time by scripts/build.js.
6
+ *
7
+ * Attributes:
8
+ * base-url="https://api.example.com" required — backend base URL
9
+ * config-id="AAAA" required — base64url-encoded u32
10
+ * worker-url="./worker.js" optional — external worker file
11
+ *
12
+ * CSS custom properties (set on a parent element):
13
+ * --zaptcha-bg, --zaptcha-border, --zaptcha-border-hover,
14
+ * --zaptcha-border-focus, --zaptcha-text, --zaptcha-text-muted,
15
+ * --zaptcha-accent, --zaptcha-success, --zaptcha-shadow, --zaptcha-radius
16
+ *
17
+ * Events:
18
+ * zaptcha-success → detail: { token: string }
19
+ * zaptcha-fail → detail: { reason: string }
20
+ * zaptcha-reset → detail: {}
21
+ * zaptcha-progress → detail: { index, nonce, total, pct }
22
+ *
23
+ * Methods:
24
+ * el.reset()
25
+ */
26
+
27
+ // ── Inlined at build time by scripts/build.js ─────────────────────────────
28
+ // No import.meta.url, no new URL(), no external file references.
29
+ // Safe for Vite dep optimizer, Webpack, Rollup, plain <script type="module">.
30
+
31
+ /** @type {string} WASM JS glue — full source of zaptcha.js */
32
+ const _WASM_GLUE_SRC = `/* @ts-self-types="./zaptcha.d.ts" */
33
+
34
+ /**
35
+ * @param {string} token
36
+ * @param {number} difficulty
37
+ * @param {number} challenge_count
38
+ * @param {number} salt_length
39
+ * @param {Function} progress_callback
40
+ * @returns {Uint32Array}
41
+ */
42
+ export function solve_challenge(token, difficulty, challenge_count, salt_length, progress_callback) {
43
+ const ptr0 = passStringToWasm0(token, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
44
+ const len0 = WASM_VECTOR_LEN;
45
+ const ret = wasm.solve_challenge(ptr0, len0, difficulty, challenge_count, salt_length, progress_callback);
46
+ var v2 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
47
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
48
+ return v2;
49
+ }
50
+
51
+ function __wbg_get_imports() {
52
+ const import0 = {
53
+ __proto__: null,
54
+ __wbg___wbindgen_throw_6ddd609b62940d55: function(arg0, arg1) {
55
+ throw new Error(getStringFromWasm0(arg0, arg1));
56
+ },
57
+ __wbg_call_dcc2662fa17a72cf: function() { return handleError(function (arg0, arg1, arg2, arg3) {
58
+ const ret = arg0.call(arg1, arg2, arg3);
59
+ return ret;
60
+ }, arguments); },
61
+ __wbindgen_cast_0000000000000001: function(arg0) {
62
+ // Cast intrinsic for \`F64 -> Externref\`.
63
+ const ret = arg0;
64
+ return ret;
65
+ },
66
+ __wbindgen_init_externref_table: function() {
67
+ const table = wasm.__wbindgen_externrefs;
68
+ const offset = table.grow(4);
69
+ table.set(0, undefined);
70
+ table.set(offset + 0, undefined);
71
+ table.set(offset + 1, null);
72
+ table.set(offset + 2, true);
73
+ table.set(offset + 3, false);
74
+ },
75
+ };
76
+ return {
77
+ __proto__: null,
78
+ "./zaptcha_bg.js": import0,
79
+ };
80
+ }
81
+
82
+ function addToExternrefTable0(obj) {
83
+ const idx = wasm.__externref_table_alloc();
84
+ wasm.__wbindgen_externrefs.set(idx, obj);
85
+ return idx;
86
+ }
87
+
88
+ function getArrayU32FromWasm0(ptr, len) {
89
+ ptr = ptr >>> 0;
90
+ return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
91
+ }
92
+
93
+ function getStringFromWasm0(ptr, len) {
94
+ ptr = ptr >>> 0;
95
+ return decodeText(ptr, len);
96
+ }
97
+
98
+ let cachedUint32ArrayMemory0 = null;
99
+ function getUint32ArrayMemory0() {
100
+ if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {
101
+ cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);
102
+ }
103
+ return cachedUint32ArrayMemory0;
104
+ }
105
+
106
+ let cachedUint8ArrayMemory0 = null;
107
+ function getUint8ArrayMemory0() {
108
+ if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
109
+ cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
110
+ }
111
+ return cachedUint8ArrayMemory0;
112
+ }
113
+
114
+ function handleError(f, args) {
115
+ try {
116
+ return f.apply(this, args);
117
+ } catch (e) {
118
+ const idx = addToExternrefTable0(e);
119
+ wasm.__wbindgen_exn_store(idx);
120
+ }
121
+ }
122
+
123
+ function passStringToWasm0(arg, malloc, realloc) {
124
+ if (realloc === undefined) {
125
+ const buf = cachedTextEncoder.encode(arg);
126
+ const ptr = malloc(buf.length, 1) >>> 0;
127
+ getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
128
+ WASM_VECTOR_LEN = buf.length;
129
+ return ptr;
130
+ }
131
+
132
+ let len = arg.length;
133
+ let ptr = malloc(len, 1) >>> 0;
134
+
135
+ const mem = getUint8ArrayMemory0();
136
+
137
+ let offset = 0;
138
+
139
+ for (; offset < len; offset++) {
140
+ const code = arg.charCodeAt(offset);
141
+ if (code > 0x7F) break;
142
+ mem[ptr + offset] = code;
143
+ }
144
+ if (offset !== len) {
145
+ if (offset !== 0) {
146
+ arg = arg.slice(offset);
147
+ }
148
+ ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
149
+ const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
150
+ const ret = cachedTextEncoder.encodeInto(arg, view);
151
+
152
+ offset += ret.written;
153
+ ptr = realloc(ptr, len, offset, 1) >>> 0;
154
+ }
155
+
156
+ WASM_VECTOR_LEN = offset;
157
+ return ptr;
158
+ }
159
+
160
+ let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
161
+ cachedTextDecoder.decode();
162
+ const MAX_SAFARI_DECODE_BYTES = 2146435072;
163
+ let numBytesDecoded = 0;
164
+ function decodeText(ptr, len) {
165
+ numBytesDecoded += len;
166
+ if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {
167
+ cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
168
+ cachedTextDecoder.decode();
169
+ numBytesDecoded = len;
170
+ }
171
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
172
+ }
173
+
174
+ const cachedTextEncoder = new TextEncoder();
175
+
176
+ if (!('encodeInto' in cachedTextEncoder)) {
177
+ cachedTextEncoder.encodeInto = function (arg, view) {
178
+ const buf = cachedTextEncoder.encode(arg);
179
+ view.set(buf);
180
+ return {
181
+ read: arg.length,
182
+ written: buf.length
183
+ };
184
+ };
185
+ }
186
+
187
+ let WASM_VECTOR_LEN = 0;
188
+
189
+ let wasmModule, wasm;
190
+ function __wbg_finalize_init(instance, module) {
191
+ wasm = instance.exports;
192
+ wasmModule = module;
193
+ cachedUint32ArrayMemory0 = null;
194
+ cachedUint8ArrayMemory0 = null;
195
+ wasm.__wbindgen_start();
196
+ return wasm;
197
+ }
198
+
199
+ async function __wbg_load(module, imports) {
200
+ if (typeof Response === 'function' && module instanceof Response) {
201
+ if (typeof WebAssembly.instantiateStreaming === 'function') {
202
+ try {
203
+ return await WebAssembly.instantiateStreaming(module, imports);
204
+ } catch (e) {
205
+ const validResponse = module.ok && expectedResponseType(module.type);
206
+
207
+ if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {
208
+ console.warn("\`WebAssembly.instantiateStreaming\` failed because your server does not serve Wasm with \`application/wasm\` MIME type. Falling back to \`WebAssembly.instantiate\` which is slower. Original error:\\n", e);
209
+
210
+ } else { throw e; }
211
+ }
212
+ }
213
+
214
+ const bytes = await module.arrayBuffer();
215
+ return await WebAssembly.instantiate(bytes, imports);
216
+ } else {
217
+ const instance = await WebAssembly.instantiate(module, imports);
218
+
219
+ if (instance instanceof WebAssembly.Instance) {
220
+ return { instance, module };
221
+ } else {
222
+ return instance;
223
+ }
224
+ }
225
+
226
+ function expectedResponseType(type) {
227
+ switch (type) {
228
+ case 'basic': case 'cors': case 'default': return true;
229
+ }
230
+ return false;
231
+ }
232
+ }
233
+
234
+ function initSync(module) {
235
+ if (wasm !== undefined) return wasm;
236
+
237
+
238
+ if (module !== undefined) {
239
+ if (Object.getPrototypeOf(module) === Object.prototype) {
240
+ ({module} = module)
241
+ } else {
242
+ console.warn('using deprecated parameters for \`initSync()\`; pass a single object instead')
243
+ }
244
+ }
245
+
246
+ const imports = __wbg_get_imports();
247
+ if (!(module instanceof WebAssembly.Module)) {
248
+ module = new WebAssembly.Module(module);
249
+ }
250
+ const instance = new WebAssembly.Instance(module, imports);
251
+ return __wbg_finalize_init(instance, module);
252
+ }
253
+
254
+ async function __wbg_init(module_or_path) {
255
+ if (wasm !== undefined) return wasm;
256
+
257
+
258
+ if (module_or_path !== undefined) {
259
+ if (Object.getPrototypeOf(module_or_path) === Object.prototype) {
260
+ ({module_or_path} = module_or_path)
261
+ } else {
262
+ console.warn('using deprecated parameters for the initialization function; pass a single object instead')
263
+ }
264
+ }
265
+
266
+ if (module_or_path === undefined) {
267
+ module_or_path = new URL('zaptcha_bg.wasm', import.meta.url);
268
+ }
269
+ const imports = __wbg_get_imports();
270
+
271
+ if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {
272
+ module_or_path = fetch(module_or_path);
273
+ }
274
+
275
+ const { instance, module } = await __wbg_load(await module_or_path, imports);
276
+
277
+ return __wbg_finalize_init(instance, module);
278
+ }
279
+
280
+ export { initSync, __wbg_init as default };
281
+ `;
282
+
283
+ /** @type {string} WASM binary — base64-encoded zaptcha_bg.wasm */
284
+ const _WASM_BIN_B64 = "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QfCYwABB6JjAADYCAEGEmcAAQfiYwAA2AgBB+JjAAEHwmMAANgIAQYyZwABBgJnAADYCAEGAmcAAQfiYwAA2AgBBlJnAAEGImcAANgIAQYiZwABBgJnAADYCAEGcmcAAQZCZwAA2AgBBkJnAAEGImcAANgIAQaSZwABBmJnAADYCAEGYmcAAQZCZwAA2AgBBrJnAAEGgmcAANgIAQaCZwABBmJnAADYCAEHkmMAAQQA2AgBBtJnAAEGomcAANgIAQaiZwABBoJnAADYCAEGwmcAAQaiZwAA2AgBBvJnAAEGwmcAANgIAQbiZwABBsJnAADYCAEHEmcAAQbiZwAA2AgBBwJnAAEG4mcAANgIAQcyZwABBwJnAADYCAEHImcAAQcCZwAA2AgBB1JnAAEHImcAANgIAQdCZwABByJnAADYCAEHcmcAAQdCZwAA2AgBB2JnAAEHQmcAANgIAQeSZwABB2JnAADYCAEHgmcAAQdiZwAA2AgBB7JnAAEHgmcAANgIAQeiZwABB4JnAADYCAEH0mcAAQeiZwAA2AgBB/JnAAEHwmcAANgIAQfCZwABB6JnAADYCAEGEmsAAQfiZwAA2AgBB+JnAAEHwmcAANgIAQYyawABBgJrAADYCAEGAmsAAQfiZwAA2AgBBlJrAAEGImsAANgIAQYiawABBgJrAADYCAEGcmsAAQZCawAA2AgBBkJrAAEGImsAANgIAQaSawABBmJrAADYCAEGYmsAAQZCawAA2AgBBrJrAAEGgmsAANgIAQaCawABBmJrAADYCAEG0msAAQaiawAA2AgBBqJrAAEGgmsAANgIAQbyawABBsJrAADYCAEGwmsAAQaiawAA2AgBBxJrAAEG4msAANgIAQbiawABBsJrAADYCAEHMmsAAQcCawAA2AgBBwJrAAEG4msAANgIAQdSawABByJrAADYCAEHImsAAQcCawAA2AgBB3JrAAEHQmsAANgIAQdCawABByJrAADYCAEHkmsAAQdiawAA2AgBB2JrAAEHQmsAANgIAQeyawABB4JrAADYCAEHgmsAAQdiawAA2AgBBhJvAACACNgIAQeiawABB4JrAADYCAEH8msAAIAFBKGsiADYCACACIABBAXI2AgQgACACakEoNgIEQZCbwABBgICAATYCAAwICyACIARNIAMgBEtyDQAgACgCDEUNAwtB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aiEAIAEgA2siAUGAm8AAKAIARgRAIAIoAgRBA3FBA0cNAUH4msAAIAA2AgAgAiACKAIEQX5xNgIEIAEgAEEBcjYCBCACIAA2AgAPCyABIAMQGQsCQAJAAkACQAJAAkACQCACKAIEIgNBAnFFBEAgAkGEm8AAKAIARg0CIAJBgJvAACgCAEYNAyACIANBeHEiAhAZIAEgACACaiIAQQFyNgIEIAAgAWogADYCACABQYCbwAAoAgBHDQFB+JrAACAANgIADwsgAiADQX5xNgIEIAEgAEEBcjYCBCAAIAFqIAA2AgALIABBgAJJDQJBHyECIAFCADcCECAAQf///wdNBEAgAEEmIABBCHZnIgJrdkEBcSACQQF0a0E+aiECCyABIAI2AhwgAkECdEHYl8AAaiEDQQEgAnQiBEH0msAAKAIAcQ0DIAMgATYCACABIAM2AhggASABNgIMIAEgATYCCEH0msAAQfSawAAoAgAgBHI2AgAMBAtBhJvAACABNgIAQfyawABB/JrAACgCACAAaiIANgIAIAEgAEEBcjYCBEGAm8AAKAIAIAFGBEBB+JrAAEEANgIAQYCbwABBADYCAAsgAEGQm8AAKAIAIgJNDQVBhJvAACgCACIARQ0FQfyawAAoAgAiA0EpSQ0EQdiYwAAhAQNAIAAgASgCACIFTwRAIAAgBSABKAIEakkNBgsgASgCCCEBDAALAAtBgJvAACABNgIAQfiawABB+JrAACgCACAAaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAPCwJAQfCawAAoAgAiAkEBIABBA3Z0IgNxRQRAQfCawAAgAiADcjYCACAAQfgBcUHomMAAaiIAIQIMAQsgAEH4AXEiAEHomMAAaiECIABB8JjAAGooAgAhAAsgAiABNgIIIAAgATYCDCABIAI2AgwgASAANgIIDwsCQAJAIAAgAygCACIDKAIEQXhxRgRAIAMhAgwBCyAAQRkgAkEBdmtBACACQR9HG3QhBANAIAMgBEEddkEEcWoiBSgCECICRQ0CIARBAXQhBCACIQMgAigCBEF4cSAARw0ACwsgAigCCCIAIAE2AgwgAiABNgIIIAFBADYCGCABIAI2AgwgASAANgIIDAELIAVBEGogATYCACABIAM2AhggASABNgIMIAEgATYCCAtBACEBQZibwABBmJvAACgC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AyACQRBqEBhFDQFBAQwCC0EBIAEoAgBBlpHAAEECIAEoAgQoAgwRAAANARogAyABEBgMAQsgAigCEEGZkcAAQQIgAigCFCgCDBEAAAshACADQQFqIQMgBEEBayIEDQALC0EBIQMgAEUEQCABKAIAQcSRwABBASABKAIEKAIMEQAAIQMLIAJBIGokACADC+cCAQV/AkAgAUHN/3tBECAAIABBEE0bIgBrTw0AIABBECABQQtqQXhxIAFBC0kbIgRqQQxqEAciAkUNACACQQhrIQECQCAAQQFrIgMgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIAIgA2pBACAAa3FBCGsiAiAAQQAgAiABa0EQTRtqIgAgAWsiAmshAyAGQQNxBEAgACADIAAoAgRBAXFyQQJyNgIEIAAgA2oiAyADKAIEQQFyNgIEIAUgAiAFKAIAQQFxckECcjYCACABIAJqIgMgAygCBEEBcjYCBCABIAIQDgwBCyABKAIAIQEgACADNgIEIAAgASACajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIARBEGpNDQAgACAEIAFBAXFyQQJyNgIEIAAgBGoiASACIARrIgRBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASAEEA4LIABBCGohAwsgAwvgAgEDfyMAQRBrIgMkAAJ/AkAgASgCCCICQYCAgBBxRQRAIAJBgICAIHENAUEDIQIgAC0AACIAIQQgAEEKTwRAIAMgACAAQeQAbiIEQeQAbGtB/wFxQQF0LwG6lEA7AAxBASECC0EAIAAgBBtFBEAgAkEBayICIANBC2pqIARBAXQtALuUQDoAAAsgAUEBQQAgA0ELaiACakEDIAJrEBIMAgsgAC0AACECQQMhAANAIAAgA2pBB2ogAkEPcUH0kMAAai0AADoAACACQf8BcSIEQQR2IQIgAEEBayEAIARBD0sNAAsgAUGEkcAAQQIgACADakEIakEDIABrEBIMAQsgAC0AACECQQMhAANAIAAgA2pBDGogAkEPcUGGkcAAai0AADoAACACQf8BcSIEQQR2IQIgAEEBayEAIARBD0sNAAsgAUGEkcAAQQIgACADakENakEDIABrEBILIANBEGokAAuCAwEEfyAAKAIMIQICQAJAAkAgAUGAAk8EQCAAKAIYIQMCQAJAIAAgAkYE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IAAgAUEBdEEBciACED0ACxgAIAEoAgAgASgCBCAAKAIAIAAoAgQQEQsWAgFvAX8gABADIQEQHCICIAEmASACCxQAIAAoAgAgASAAKAIEKAIMEQEACxAAIAEgACgCACAAKAIEEAsLFgBBtJvAACAANgIAQbCbwABBAToAAAsRAEGji8AAQSNBtIvAABA9AAsPACAAQaCRwAAgASACEBELDQAgAUGelMAAQRgQCwsMACAAIAEpAgA3AwALCQAgAEEANgIACwwAQYKWwABBMhABAAsLphcFAEGAgMAAC90MVXRmOEVycm9ydmFsaWRfdXBfdG9lcnJvcl9sZW5Gcm9tVXRmOEVycm9yYnl0ZXNlcnJvck5vbmVTb21lFnNsaWNlIGluZGV4IHN0YXJ0cyBhdCDADSBidXQgZW5kcyBhdCDAACBpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzIMASIGJ1dCB0aGUgaW5kZXggaXMgwAAScmFuZ2Ugc3RhcnQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAQcmFuZ2UgZW5kIGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEGFzc2VydGlvbiBgbGVmdCDAECByaWdodGAgZmFpbGVkOiDACQogIGxlZnQ6IMAJCiByaWdodDogwAAPQ2FwYWNpdHlFcnJvcjogwADAAjogwAAvaG9tZS91bXppLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Yvd2FzbS1iaW5kZ2VuLTAuMi4xMTQvc3JjL2V4dGVybnJlZi5ycwAvaG9tZS91bXppLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvYmFzZTY0LTAuMjIuMS9zcmMvZW5naW5lL2dlbmVyYWxfcHVycG9zZS9tb2QucnMAL2hvbWUvdW16aS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Jhc2U2NC0wLjIyLjEvc3JjL2VuZ2luZS9tb2QucnMAL3J1c3RjLzRhNGVmNDkzZTNhMTQ4OGM2ZTMyMTU3MDIzODA4NGIzODk0OGY2ZGIvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy9tb2QucnMAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuMTEvc3JjL2RsbWFsbG9jLnJzAC9ob21lL3VtemkvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9ibGFrZTMtMS44LjMvc3JjL2xpYi5ycwAmY29weV9mcm9tX3NsaWNlOiBzb3VyY2Ugc2xpY2UgbGVuZ3RoICjAKykgZG9lcyBub3QgbWF0Y2ggZGVzdGluYXRpb24gc2xpY2UgbGVuZ3RoICjAASkAGHRoZSBzdWJ0cmVlIHN0YXJ0aW5nIGF0IMASIGNvbnRhaW5zIGF0IG1vc3QgwA4gYnl0ZXMgKGZvdW5kIMABKQAAAAAqAAAAFAAAAAQAAAArAAAASW52YWxpZCBVVEY4NAIQAF8AAAB/AAAAJAAAAF0DEAAKAAAACwAAABUAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gWwAAAkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV////////////////////////////////////////////////////////////8+//80NTY3ODk6Ozw9/////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ/////z//GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Y2FwYWNpdHkgb3ZlcmZsb3eUAhAAUAAAABwAAAAFAAAAxAEQAG8AAACWAAAADQAAAMQBEABvAAAAlwAAAA0AAADEARAAbwAAAJoAAAANAAAAxAEQAG8AAACeAAAADQAAAMQBEABvAAAAnwAAAA0AAADEARAAbwAAAIgAAAArAAAAxAEQAG8A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";
285
+
286
+ // ── Decode base64 WASM binary to ArrayBuffer (done once at module load) ───
287
+
288
+ function _b64ToBuffer(b64) {
289
+ const bin = atob(b64);
290
+ const buf = new Uint8Array(bin.length);
291
+ for (let i = 0; i < bin.length; i++) buf[i] = bin.charCodeAt(i);
292
+ return buf.buffer;
293
+ }
294
+
295
+ // ── Inline worker source ──────────────────────────────────────────────────
296
+ //
297
+ // The worker receives:
298
+ // wasmGlueSrc — glue JS as a string (avoids any URL / MIME issue)
299
+ // wasmBin — WASM bytes as ArrayBuffer (transferred, no fetch needed)
300
+
301
+ const WORKER_SRC = `
302
+ let wasmModule = null;
303
+ let wasmReady = false;
304
+ let wasmGlueSrc = null;
305
+ let wasmBin = null; // ArrayBuffer
306
+
307
+ async function initWasm() {
308
+ if (wasmReady) return;
309
+ if (!wasmGlueSrc) throw new Error("WASM glue not provided");
310
+
311
+ // Re-wrap glue source as a blob: URL — always accepted by import()
312
+ const blob = new Blob([wasmGlueSrc], { type: "application/javascript" });
313
+ const glueUrl = URL.createObjectURL(blob);
314
+
315
+ try {
316
+ const mod = await import(glueUrl);
317
+ // Pass ArrayBuffer directly — glue skips URL resolution entirely
318
+ if (typeof mod.default === "function") await mod.default(wasmBin);
319
+ wasmModule = mod;
320
+ wasmReady = true;
321
+ } finally {
322
+ URL.revokeObjectURL(glueUrl);
323
+ }
324
+ }
325
+
326
+ async function runSolve(baseUrl, configId) {
327
+ await initWasm();
328
+
329
+ const challengeRes = await fetch(baseUrl + "/" + configId + "/challenge");
330
+ if (!challengeRes.ok) throw new Error("Challenge request failed: HTTP " + challengeRes.status);
331
+
332
+ const { token, challenge_count, salt_length, difficulty } = await challengeRes.json();
333
+
334
+ self.__zaptchaProgressCb = (index, nonce) => {
335
+ self.postMessage({ type: "progress", index, nonce, total: challenge_count });
336
+ };
337
+
338
+ let solutions;
339
+ try {
340
+ solutions = wasmModule.solve_challenge(
341
+ token, difficulty, challenge_count, salt_length, self.__zaptchaProgressCb,
342
+ );
343
+ } finally {
344
+ delete self.__zaptchaProgressCb;
345
+ }
346
+
347
+ const redeemRes = await fetch(baseUrl + "/" + configId + "/redeem", {
348
+ method: "POST",
349
+ headers: { "Content-Type": "application/json" },
350
+ body: JSON.stringify({ token, solutions: Array.from(solutions) }),
351
+ });
352
+ if (!redeemRes.ok) throw new Error("Redeem request failed: HTTP " + redeemRes.status);
353
+
354
+ const { message } = await redeemRes.json();
355
+ if (!message) throw new Error("Server did not return a token");
356
+ return message;
357
+ }
358
+
359
+ self.onmessage = async function ({ data }) {
360
+ if (data.type === "init") {
361
+ wasmGlueSrc = data.wasmGlueSrc;
362
+ wasmBin = data.wasmBin; // transferred ArrayBuffer
363
+ try {
364
+ await initWasm();
365
+ self.postMessage({ type: "ready" });
366
+ } catch (err) {
367
+ self.postMessage({ type: "fail", reason: err.message });
368
+ }
369
+ return;
370
+ }
371
+
372
+ if (data.type === "solve") {
373
+ try {
374
+ const token = await runSolve(data.baseUrl, data.configId);
375
+ self.postMessage({ type: "success", token });
376
+ } catch (err) {
377
+ self.postMessage({ type: "fail", reason: err.message });
378
+ }
379
+ }
380
+ };
381
+ `;
382
+
383
+ // ── Constructable stylesheet (one instance shared across all widgets) ─────
384
+
385
+ const _sheet = new CSSStyleSheet();
386
+ _sheet.replaceSync(`
387
+ :host {
388
+ display: block;
389
+ min-height: 48px;
390
+ width: fit-content;
391
+
392
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
393
+ -webkit-font-smoothing: antialiased;
394
+ -moz-osx-font-smoothing: grayscale;
395
+
396
+ --zap-bg: var(--zaptcha-bg, #ffffff);
397
+ --zap-border: var(--zaptcha-border, #e5e7eb);
398
+ --zap-border-hover: var(--zaptcha-border-hover, #d1d5db);
399
+ --zap-border-focus: var(--zaptcha-border-focus, #4f46e5);
400
+ --zap-text: var(--zaptcha-text, #374151);
401
+ --zap-text-muted: var(--zaptcha-text-muted, #9ca3af);
402
+ --zap-accent: var(--zaptcha-accent, #4f46e5);
403
+ --zap-success: var(--zaptcha-success, #10b981);
404
+ --zap-shadow: var(--zaptcha-shadow, 0 2px 6px rgba(0,0,0,0.04));
405
+ --zap-radius: var(--zaptcha-radius, 8px);
406
+ }
407
+
408
+ .widget {
409
+ background: var(--zap-bg);
410
+ border: 1px solid var(--zap-border);
411
+ border-radius: var(--zap-radius);
412
+ box-shadow: var(--zap-shadow);
413
+ width: 210px;
414
+ box-sizing: border-box;
415
+ transition: box-shadow 0.2s ease, border-color 0.2s ease;
416
+ }
417
+ .widget:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.06); }
418
+
419
+ .row {
420
+ display: flex;
421
+ align-items: center;
422
+ gap: 10px;
423
+ padding: 0 12px;
424
+ height: 48px;
425
+ cursor: pointer;
426
+ user-select: none;
427
+ box-sizing: border-box;
428
+ border-radius: var(--zap-radius);
429
+ outline: none;
430
+ }
431
+ .row:focus-visible {
432
+ box-shadow: 0 0 0 2px var(--zap-bg), 0 0 0 4px var(--zap-border-focus);
433
+ }
434
+ .row[aria-checked="true"] { cursor: default; }
435
+
436
+ .box {
437
+ width: 22px;
438
+ height: 22px;
439
+ flex-shrink: 0;
440
+ position: relative;
441
+ display: flex;
442
+ align-items: center;
443
+ justify-content: center;
444
+ }
445
+ .box-border {
446
+ position: absolute;
447
+ inset: 0;
448
+ border: 1.5px solid var(--zap-border);
449
+ border-radius: 4px;
450
+ background: var(--zap-bg);
451
+ transition: border-color 0.2s ease, background-color 0.2s ease;
452
+ }
453
+ .row:hover:not([aria-checked="true"]) .box-border {
454
+ border-color: var(--zap-border-hover);
455
+ }
456
+
457
+ .box.done .box-border { background: var(--zap-success); border-color: var(--zap-success); }
458
+ .box-tick { display: none; position: relative; z-index: 1; }
459
+ .box.done .box-tick { display: block; animation: zap-pop 0.3s cubic-bezier(0.175,0.885,0.32,1.275); }
460
+
461
+ @keyframes zap-pop {
462
+ 0% { transform: scale(0.5); opacity: 0; }
463
+ 100% { transform: scale(1); opacity: 1; }
464
+ }
465
+
466
+ .box-spinner { display: none; position: absolute; inset: 0; }
467
+ .box.spinning .box-border { border-color: transparent; background: transparent; }
468
+ .box.spinning .box-spinner {
469
+ display: flex; align-items: center; justify-content: center;
470
+ }
471
+ .box-spinner::after {
472
+ content: ''; display: block;
473
+ width: 18px; height: 18px;
474
+ border: 2px solid var(--zap-border);
475
+ border-top-color: var(--zap-accent);
476
+ border-radius: 50%;
477
+ animation: zap-spin 0.6s linear infinite;
478
+ }
479
+ @keyframes zap-spin { to { transform: rotate(360deg); } }
480
+
481
+ .label {
482
+ color: var(--zap-text); font-size: 13.5px; font-weight: 500;
483
+ flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
484
+ transition: color 0.2s ease;
485
+ }
486
+
487
+ .branding {
488
+ display: flex; flex-direction: column;
489
+ align-items: flex-end; justify-content: center;
490
+ flex-shrink: 0; gap: 1px;
491
+ }
492
+ .branding strong {
493
+ font-size: 9px; font-weight: 700;
494
+ letter-spacing: 0.05em; text-transform: uppercase;
495
+ color: var(--zap-text-muted);
496
+ }
497
+ .branding a {
498
+ font-size: 9px; color: var(--zap-text-muted);
499
+ text-decoration: none; transition: color 0.2s;
500
+ }
501
+ .branding a:hover { color: var(--zap-text); }
502
+ `);
503
+
504
+ // ── DOM template (parsed once, cloned per instance) ───────────────────────
505
+
506
+ const _template = document.createElement("template");
507
+ _template.innerHTML = `
508
+ <div class="widget" part="widget">
509
+ <div class="row" id="row" tabindex="0" role="checkbox"
510
+ aria-checked="false" aria-label="I'm not a robot">
511
+ <div class="box" id="box" part="checkbox">
512
+ <div class="box-border"></div>
513
+ <div class="box-spinner"></div>
514
+ <svg class="box-tick" width="12" height="9" viewBox="0 0 12 9" fill="none" aria-hidden="true">
515
+ <polyline points="1.5,4.5 4.5,7.5 10.5,1.5"
516
+ stroke="white" stroke-width="2"
517
+ stroke-linecap="round" stroke-linejoin="round"/>
518
+ </svg>
519
+ </div>
520
+ <span class="label" id="label" part="label">I'm not a robot</span>
521
+ <div class="branding" part="branding">
522
+ <strong>Zaptcha</strong>
523
+ <a href="#" tabindex="-1">Privacy</a>
524
+ </div>
525
+ </div>
526
+ </div>
527
+ `;
528
+
529
+ const LABELS = {
530
+ idle: "I'm not a robot",
531
+ solving: "Verifying\u2026",
532
+ done: "Verified",
533
+ error: "I'm not a robot",
534
+ };
535
+
536
+ // ── Component ─────────────────────────────────────────────────────────────
537
+
538
+ class ZeroCaptcha extends HTMLElement {
539
+
540
+ static get observedAttributes() { return []; }
541
+
542
+ constructor() {
543
+ super();
544
+
545
+ this._shadow = this.attachShadow({ mode: "open" });
546
+ this._shadow.adoptedStyleSheets = [_sheet];
547
+ this._shadow.appendChild(_template.content.cloneNode(true));
548
+
549
+ this._rowEl = this._shadow.getElementById("row");
550
+ this._boxEl = this._shadow.getElementById("box");
551
+ this._labelEl = this._shadow.getElementById("label");
552
+
553
+ this._worker = null;
554
+ this._blobUrl = null;
555
+
556
+ /** @type {"idle"|"solving"|"done"|"error"} */
557
+ this._state = "idle";
558
+ this._progress = { done: 0, total: 1 };
559
+
560
+ this._bindEvents();
561
+ }
562
+
563
+ connectedCallback() { this._startWorker(); }
564
+ disconnectedCallback() { this._destroyWorker(); }
565
+
566
+ // ── Public API ───────────────────────────────────────────────────────────
567
+
568
+ reset() {
569
+ this._destroyWorker();
570
+ this._state = "idle";
571
+ this._progress = { done: 0, total: 1 };
572
+ this._applyState();
573
+ this._startWorker();
574
+ this.dispatchEvent(new CustomEvent("zaptcha-reset", { bubbles: true, detail: {} }));
575
+ }
576
+
577
+ // ── State → DOM ──────────────────────────────────────────────────────────
578
+
579
+ _applyState() {
580
+ const s = this._state;
581
+ const isDone = s === "done";
582
+ const isSpin = s === "solving";
583
+
584
+ this._rowEl.setAttribute("aria-checked", String(isDone));
585
+ this._rowEl.setAttribute("aria-label", LABELS[s] ?? LABELS.idle);
586
+ this._rowEl.tabIndex = isDone ? -1 : 0;
587
+
588
+ this._boxEl.classList.toggle("spinning", isSpin);
589
+ this._boxEl.classList.toggle("done", isDone);
590
+
591
+ this._labelEl.textContent = LABELS[s] ?? LABELS.idle;
592
+ }
593
+
594
+ // ── Worker lifecycle ─────────────────────────────────────────────────────
595
+
596
+ _startWorker() {
597
+ console.debug("[zaptcha] _startWorker — glue length:", _WASM_GLUE_SRC.length, "| b64 length:", _WASM_BIN_B64.length);
598
+ try {
599
+ const externalUrl = this.getAttribute("worker-url");
600
+ if (externalUrl) {
601
+ this._worker = new Worker(externalUrl, { type: "module" });
602
+ } else {
603
+ const blob = new Blob([WORKER_SRC], { type: "text/javascript" });
604
+ this._blobUrl = URL.createObjectURL(blob);
605
+ this._worker = new Worker(this._blobUrl, { type: "module" });
606
+ }
607
+
608
+ this._worker.onmessage = (e) => this._onWorkerMsg(e.data);
609
+ this._worker.onerror = (e) => {
610
+ console.error("[zaptcha] worker onerror:", e.message, e);
611
+ this._onFail(`Worker error: ${e.message}`);
612
+ };
613
+
614
+ const wasmBin = _b64ToBuffer(_WASM_BIN_B64);
615
+ console.debug("[zaptcha] wasmBin byteLength:", wasmBin.byteLength);
616
+
617
+ this._worker.postMessage(
618
+ { type: "init", wasmGlueSrc: _WASM_GLUE_SRC, wasmBin },
619
+ [wasmBin],
620
+ );
621
+ } catch (err) {
622
+ console.error("[zaptcha] _startWorker catch:", err);
623
+ this._worker = null;
624
+ this._onFail(`Worker init failed: ${err.message}`);
625
+ }
626
+ }
627
+
628
+ _destroyWorker() {
629
+ this._worker?.terminate();
630
+ this._worker = null;
631
+ if (this._blobUrl) {
632
+ URL.revokeObjectURL(this._blobUrl);
633
+ this._blobUrl = null;
634
+ }
635
+ }
636
+
637
+ // ── Worker messages ──────────────────────────────────────────────────────
638
+
639
+ _onWorkerMsg(msg) {
640
+ console.debug("[zaptcha] worker msg:", msg.type, msg.type === "fail" ? msg.reason : "");
641
+ switch (msg.type) {
642
+ case "ready":
643
+ console.debug("[zaptcha] WASM ready ✓");
644
+ break;
645
+
646
+ case "progress":
647
+ this._progress.done = (msg.index ?? 0) + 1;
648
+ this._progress.total = msg.total ?? 1;
649
+ this.dispatchEvent(new CustomEvent("zaptcha-progress", {
650
+ bubbles: true, composed: true,
651
+ detail: {
652
+ index: msg.index, nonce: msg.nonce, total: msg.total,
653
+ pct: Math.round(((msg.index ?? 0) + 1) / (msg.total ?? 1) * 100),
654
+ },
655
+ }));
656
+ break;
657
+
658
+ case "success":
659
+ this._state = "done";
660
+ this._applyState();
661
+ this.dispatchEvent(new CustomEvent("zaptcha-success", {
662
+ bubbles: true, composed: true,
663
+ detail: { token: msg.token },
664
+ }));
665
+ break;
666
+
667
+ case "fail":
668
+ this._onFail(msg.reason || "Unknown error");
669
+ break;
670
+ }
671
+ }
672
+
673
+ // ── Events ───────────────────────────────────────────────────────────────
674
+
675
+ _bindEvents() {
676
+ this._rowEl.addEventListener("click", () => this._onRowClick());
677
+ this._rowEl.addEventListener("keydown", (e) => {
678
+ if (e.key === " " || e.key === "Enter") {
679
+ e.preventDefault();
680
+ this._onRowClick();
681
+ }
682
+ });
683
+ }
684
+
685
+ _onRowClick() {
686
+ if (this._state !== "idle") return;
687
+ this._startSolve();
688
+ }
689
+
690
+ _startSolve() {
691
+ this._state = "solving";
692
+ this._progress = { done: 0, total: 1 };
693
+ this._applyState();
694
+
695
+ if (!this._worker) { this._onFail("Worker unavailable"); return; }
696
+
697
+ const baseUrl = this.getAttribute("base-url") ?? "";
698
+ const configId = this.getAttribute("config-id") ?? "";
699
+
700
+ if (!baseUrl || !configId) {
701
+ this._onFail("Attributes base-url and config-id are required");
702
+ return;
703
+ }
704
+
705
+ this._worker.postMessage({ type: "solve", baseUrl, configId });
706
+ }
707
+
708
+ _onFail(reason) {
709
+ console.error("[zaptcha] fail:", reason);
710
+ this._state = "error";
711
+ this._applyState();
712
+ this.dispatchEvent(new CustomEvent("zaptcha-fail", {
713
+ bubbles: true, composed: true,
714
+ detail: { reason },
715
+ }));
716
+ setTimeout(() => this.reset(), 3000);
717
+ }
718
+ }
719
+
720
+ customElements.define("zero-captcha", ZeroCaptcha);
721
+
722
+ export default ZeroCaptcha;
723
+ export { ZeroCaptcha };
724
+
725
+ // ── Standalone worker factory ─────────────────────────────────────────────
726
+
727
+ export function createWorker() {
728
+ const blob = new Blob([WORKER_SRC], { type: "text/javascript" });
729
+ const blobUrl = URL.createObjectURL(blob);
730
+ const worker = new Worker(blobUrl, { type: "module" });
731
+
732
+ worker.addEventListener("message", function onReady(e) {
733
+ if (e.data?.type === "ready" || e.data?.type === "fail") {
734
+ URL.revokeObjectURL(blobUrl);
735
+ worker.removeEventListener("message", onReady);
736
+ }
737
+ });
738
+
739
+ const wasmBin = _b64ToBuffer(_WASM_BIN_B64);
740
+ worker.postMessage(
741
+ { type: "init", wasmGlueSrc: _WASM_GLUE_SRC, wasmBin },
742
+ [wasmBin],
743
+ );
744
+ return worker;
745
+ }