@prosopo/procaptcha-puzzle 2.12.3 → 2.13.0

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.
@@ -1,15 +1,36 @@
1
+ let _prosopo_locale = require("@prosopo/locale");
1
2
  let _prosopo_procaptcha_common = require("@prosopo/procaptcha-common");
2
3
  let react = require("react");
3
4
  let _emotion_react_jsx_runtime = require("@emotion/react/jsx-runtime");
4
5
  //#region src/components/PuzzleCanvas.tsx
5
6
  var CONTAINER_WIDTH = 300;
6
7
  var CONTAINER_HEIGHT = 200;
7
- var SHAKE_KEYFRAMES = `
8
+ var PIECE_CSS_CLASS = "prosopo-puzzle-piece";
9
+ var STEP_PX = 10;
10
+ var FINE_STEP_PX = 2;
11
+ var ANNOUNCE_DEBOUNCE_MS = 400;
12
+ var VISUALLY_HIDDEN = {
13
+ position: "absolute",
14
+ width: "1px",
15
+ height: "1px",
16
+ padding: 0,
17
+ margin: "-1px",
18
+ overflow: "hidden",
19
+ clip: "rect(0, 0, 0, 0)",
20
+ clipPath: "inset(50%)",
21
+ whiteSpace: "nowrap",
22
+ border: 0
23
+ };
24
+ var stylesheet = (focusRingColor) => `
8
25
  @keyframes prosopo-puzzle-shake {
9
26
  0%, 100% { transform: translateX(0); }
10
27
  10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }
11
28
  20%, 40%, 60%, 80% { transform: translateX(4px); }
12
29
  }
30
+ .${PIECE_CSS_CLASS}:focus-visible {
31
+ outline: 3px solid ${focusRingColor};
32
+ outline-offset: 2px;
33
+ }
13
34
  `;
14
35
  var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete, showRetry, submitting, theme, placement, anchor, onDismiss }) => {
15
36
  const [posX, setPosX] = (0, react.useState)(originX);
@@ -24,9 +45,17 @@ var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete
24
45
  });
25
46
  const [visible, setVisible] = (0, react.useState)(false);
26
47
  const [shaking, setShaking] = (0, react.useState)(false);
48
+ const { t } = (0, _prosopo_locale.useTranslation)();
49
+ const baseId = (0, react.useId)();
50
+ const instructionId = `${baseId}-instruction`;
51
+ const keyboardHintId = `${baseId}-keyboard-hint`;
52
+ const keyboardDragging = (0, react.useRef)(false);
53
+ const [announcement, setAnnouncement] = (0, react.useState)("");
54
+ const announceTimer = (0, react.useRef)(null);
27
55
  (0, react.useEffect)(() => {
28
56
  setPosX(originX);
29
57
  setPosY(originY);
58
+ keyboardDragging.current = false;
30
59
  }, [originX, originY]);
31
60
  (0, react.useEffect)(() => {
32
61
  const frame = requestAnimationFrame(() => setVisible(true));
@@ -43,6 +72,25 @@ var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete
43
72
  const clamp = (0, react.useCallback)((value, min, max) => {
44
73
  return Math.max(min, Math.min(max, value));
45
74
  }, []);
75
+ const announce = (0, react.useCallback)((message, delayMs = 0) => {
76
+ if (announceTimer.current) {
77
+ clearTimeout(announceTimer.current);
78
+ announceTimer.current = null;
79
+ }
80
+ if (delayMs === 0) {
81
+ setAnnouncement(message);
82
+ return;
83
+ }
84
+ announceTimer.current = setTimeout(() => setAnnouncement(message), delayMs);
85
+ }, []);
86
+ (0, react.useEffect)(() => () => {
87
+ if (announceTimer.current) clearTimeout(announceTimer.current);
88
+ }, []);
89
+ const describePosition = (0, react.useCallback)((x, y) => t("WIDGET.PUZZLE.POSITION", {
90
+ defaultValue: "{{x}} percent across, {{y}} percent down",
91
+ x: Math.round(x / CONTAINER_WIDTH * 100),
92
+ y: Math.round(y / CONTAINER_HEIGHT * 100)
93
+ }), [t]);
46
94
  const getContainerOffset = (0, react.useCallback)(() => {
47
95
  if (containerRef.current) {
48
96
  const rect = containerRef.current.getBoundingClientRect();
@@ -69,15 +117,17 @@ var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete
69
117
  t: Date.now()
70
118
  });
71
119
  }, [clamp, getContainerOffset]);
120
+ const complete = (0, react.useCallback)((finalX, finalY) => {
121
+ onComplete(finalX, finalY, [...puzzleEvents.current]);
122
+ }, [onComplete]);
72
123
  const handleEndEvent = (0, react.useCallback)(() => {
73
124
  if (!isDragging.current) return;
74
125
  isDragging.current = false;
75
126
  setDragging(false);
76
- const currentEvents = [...puzzleEvents.current];
77
- const lastEvent = currentEvents[currentEvents.length - 1];
78
- onComplete(lastEvent ? lastEvent.x : originX, lastEvent ? lastEvent.y : originY, currentEvents);
127
+ const lastEvent = puzzleEvents.current[puzzleEvents.current.length - 1];
128
+ complete(lastEvent ? lastEvent.x : originX, lastEvent ? lastEvent.y : originY);
79
129
  }, [
80
- onComplete,
130
+ complete,
81
131
  originX,
82
132
  originY
83
133
  ]);
@@ -114,6 +164,7 @@ var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete
114
164
  const handlePieceMouseDown = (0, react.useCallback)((event) => {
115
165
  if (submitting) return;
116
166
  isDragging.current = true;
167
+ keyboardDragging.current = false;
117
168
  setDragging(true);
118
169
  puzzleEvents.current = [];
119
170
  const containerOffset = getContainerOffset();
@@ -132,6 +183,7 @@ var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete
132
183
  const touch = event.touches[0];
133
184
  if (touch) {
134
185
  isDragging.current = true;
186
+ keyboardDragging.current = false;
135
187
  setDragging(true);
136
188
  puzzleEvents.current = [];
137
189
  const containerOffset = getContainerOffset();
@@ -146,7 +198,84 @@ var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete
146
198
  posY,
147
199
  submitting
148
200
  ]);
149
- const instructionText = showRetry ? "Not quite — try again" : "Drag the piece to the target";
201
+ const moveByKeyboard = (0, react.useCallback)((deltaX, deltaY) => {
202
+ if (!keyboardDragging.current) {
203
+ keyboardDragging.current = true;
204
+ puzzleEvents.current = [];
205
+ }
206
+ const nextX = clamp(posX + deltaX, 0, CONTAINER_WIDTH);
207
+ const nextY = clamp(posY + deltaY, 0, CONTAINER_HEIGHT);
208
+ setPosX(nextX);
209
+ setPosY(nextY);
210
+ puzzleEvents.current.push({
211
+ x: nextX,
212
+ y: nextY,
213
+ t: Date.now()
214
+ });
215
+ announce(describePosition(nextX, nextY), ANNOUNCE_DEBOUNCE_MS);
216
+ }, [
217
+ announce,
218
+ clamp,
219
+ describePosition,
220
+ posX,
221
+ posY
222
+ ]);
223
+ const handlePieceKeyDown = (0, react.useCallback)((event) => {
224
+ if (submitting) return;
225
+ if (!(0, _prosopo_procaptcha_common.isEventTrusted)(event)) return;
226
+ const step = event.shiftKey ? FINE_STEP_PX : STEP_PX;
227
+ const move = {
228
+ ArrowLeft: [-step, 0],
229
+ ArrowRight: [step, 0],
230
+ ArrowUp: [0, -step],
231
+ ArrowDown: [0, step],
232
+ Home: [originX - posX, originY - posY]
233
+ }[event.key];
234
+ if (move) {
235
+ event.preventDefault();
236
+ moveByKeyboard(move[0], move[1]);
237
+ return;
238
+ }
239
+ if (event.key === "Enter" || event.key === " ") {
240
+ event.preventDefault();
241
+ keyboardDragging.current = false;
242
+ complete(posX, posY);
243
+ }
244
+ }, [
245
+ complete,
246
+ moveByKeyboard,
247
+ originX,
248
+ originY,
249
+ posX,
250
+ posY,
251
+ submitting
252
+ ]);
253
+ const handlePieceFocus = (0, react.useCallback)(() => {
254
+ announce(describePosition(posX, posY));
255
+ }, [
256
+ announce,
257
+ describePosition,
258
+ posX,
259
+ posY
260
+ ]);
261
+ const instructionText = showRetry ? t("WIDGET.PUZZLE.RETRY", { defaultValue: "Not quite — try again" }) : t("WIDGET.PUZZLE.DRAG", { defaultValue: "Drag the piece to the target" });
262
+ const keyboardHintText = t("WIDGET.PUZZLE.KEYBOARD_HINT", { defaultValue: "Use the arrow keys to move the piece, holding shift for smaller steps. Press Enter to submit it, Home to put it back at the start, or Escape to cancel." });
263
+ (0, react.useEffect)(() => {
264
+ if (!submitting) return;
265
+ announce(t("WIDGET.PUZZLE.CHECKING", { defaultValue: "Checking your answer" }));
266
+ }, [
267
+ submitting,
268
+ announce,
269
+ t
270
+ ]);
271
+ (0, react.useEffect)(() => {
272
+ if (!showRetry) return;
273
+ announce(t("WIDGET.PUZZLE.RETRY_ANNOUNCEMENT", { defaultValue: "Not quite. A new puzzle has loaded and the piece is back at the start." }));
274
+ }, [
275
+ showRetry,
276
+ announce,
277
+ t
278
+ ]);
150
279
  const headerBorderColor = showRetry ? theme.palette.error.main : "transparent";
151
280
  const headerTextColor = showRetry ? theme.palette.error.main : theme.palette.onSurface;
152
281
  const puzzleAreaBg = `linear-gradient(135deg, ${theme.palette.surface} 0%, ${theme.palette.primaryContainer.main} 50%, ${theme.palette.surface} 100%)`;
@@ -168,155 +297,179 @@ var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete
168
297
  anchor,
169
298
  onDismiss,
170
299
  scrim: visible ? "dim" : "none",
171
- children: [/* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("style", { children: SHAKE_KEYFRAMES }), /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsxs)("div", {
172
- style: {
173
- display: "flex",
174
- flexDirection: "column",
175
- alignItems: "center",
176
- gap: "0",
177
- opacity: visible ? 1 : 0,
178
- transform: visible ? "scale(1)" : "scale(0.9)",
179
- transition: "opacity 0.3s ease, transform 0.3s ease",
180
- animation: shaking ? "prosopo-puzzle-shake 0.5s ease" : "none"
181
- },
182
- children: [/* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("div", {
300
+ dialogLabel: t("WIDGET.PUZZLE.DIALOG_LABEL", { defaultValue: "Puzzle challenge" }),
301
+ children: [
302
+ /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("style", { children: stylesheet(theme.palette.primary.main) }),
303
+ /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("output", {
304
+ "aria-live": "polite",
305
+ "aria-atomic": "true",
306
+ style: VISUALLY_HIDDEN,
307
+ children: announcement
308
+ }),
309
+ /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("div", {
310
+ id: keyboardHintId,
311
+ style: VISUALLY_HIDDEN,
312
+ children: keyboardHintText
313
+ }),
314
+ /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsxs)("div", {
183
315
  style: {
184
- backgroundColor: theme.palette.surface,
185
- borderRadius: "20px 20px 0 0",
186
- padding: "12px 20px",
187
- width: `${CONTAINER_WIDTH}px`,
188
- boxSizing: "border-box",
189
- textAlign: "center",
190
- fontFamily: theme.font.fontFamily,
191
- fontSize: "14px",
192
- fontWeight: 500,
193
- color: headerTextColor,
194
- borderBottom: `2px solid ${headerBorderColor}`,
195
- transition: "color 0.3s ease, border-color 0.3s ease"
196
- },
197
- children: instructionText
198
- }), /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsxs)("div", {
199
- ref: containerRef,
200
- style: {
201
- position: "relative",
202
- width: `${CONTAINER_WIDTH}px`,
203
- height: `${CONTAINER_HEIGHT}px`,
204
- background: puzzleAreaBg,
205
- borderRadius: "0 0 20px 20px",
206
- overflow: "hidden",
207
- userSelect: "none",
208
- opacity: submitting ? .6 : 1,
209
- pointerEvents: submitting ? "none" : "auto",
210
- transition: "opacity 0.2s ease"
316
+ display: "flex",
317
+ flexDirection: "column",
318
+ alignItems: "center",
319
+ gap: "0",
320
+ opacity: visible ? 1 : 0,
321
+ transform: visible ? "scale(1)" : "scale(0.9)",
322
+ transition: "opacity 0.3s ease, transform 0.3s ease",
323
+ animation: shaking ? "prosopo-puzzle-shake 0.5s ease" : "none"
211
324
  },
212
325
  children: [/* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("div", {
326
+ id: instructionId,
213
327
  style: {
214
- position: "absolute",
215
- left: `-${CONTAINER_WIDTH}px`,
216
- top: `-${CONTAINER_HEIGHT}px`,
217
- width: `${CONTAINER_WIDTH * 3}px`,
218
- height: `${CONTAINER_HEIGHT * 3}px`,
219
- pointerEvents: "none",
220
- userSelect: "none",
221
- transform: bgTransform,
222
- transformOrigin: "center center",
223
- filter: bgFilter,
224
- transition: dragging ? "none" : "transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), filter 0.35s ease",
225
- willChange: "transform, filter"
328
+ backgroundColor: theme.palette.surface,
329
+ borderRadius: "20px 20px 0 0",
330
+ padding: "12px 20px",
331
+ width: `${CONTAINER_WIDTH}px`,
332
+ boxSizing: "border-box",
333
+ textAlign: "center",
334
+ fontFamily: theme.font.fontFamily,
335
+ fontSize: "14px",
336
+ fontWeight: 500,
337
+ color: headerTextColor,
338
+ borderBottom: `2px solid ${headerBorderColor}`,
339
+ transition: "color 0.3s ease, border-color 0.3s ease"
226
340
  },
227
- children: [
228
- [
229
- 0,
230
- 0,
231
- -1,
232
- -1
233
- ],
234
- [
235
- 1,
236
- 0,
237
- 1,
238
- -1
239
- ],
240
- [
241
- 2,
242
- 0,
243
- -1,
244
- -1
245
- ],
246
- [
247
- 0,
248
- 1,
249
- -1,
250
- 1
251
- ],
252
- [
253
- 1,
254
- 1,
255
- 1,
256
- 1
257
- ],
258
- [
259
- 2,
260
- 1,
261
- -1,
262
- 1
263
- ],
264
- [
265
- 0,
266
- 2,
267
- -1,
268
- -1
269
- ],
270
- [
271
- 1,
272
- 2,
273
- 1,
274
- -1
275
- ],
276
- [
277
- 2,
278
- 2,
279
- -1,
280
- -1
281
- ]
282
- ].map(([col, row, sx, sy]) => {
283
- const key = `${col}-${row}`;
284
- return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("img", {
285
- src: background,
286
- alt: "",
287
- draggable: false,
288
- style: {
289
- position: "absolute",
290
- left: `${(col ?? 0) * CONTAINER_WIDTH}px`,
291
- top: `${(row ?? 0) * CONTAINER_HEIGHT}px`,
292
- width: `${CONTAINER_WIDTH}px`,
293
- height: `${CONTAINER_HEIGHT}px`,
294
- transform: `scale(${sx}, ${sy})`,
295
- pointerEvents: "none",
296
- userSelect: "none"
297
- }
298
- }, key);
299
- })
300
- }), /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("div", {
301
- ...process.env.NODE_ENV !== "production" && { "data-cy": "prosopo-puzzle-piece" },
302
- onMouseDown: handlePieceMouseDown,
303
- onTouchStart: handlePieceTouchStart,
341
+ children: instructionText
342
+ }), /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsxs)("div", {
343
+ ref: containerRef,
304
344
  style: {
305
- position: "absolute",
306
- left: `${posX - pieceSize / 2}px`,
307
- top: `${posY - pieceSize / 2}px`,
308
- width: `${pieceSize}px`,
309
- height: `${pieceSize}px`,
310
- backgroundImage: `url(${piece})`,
311
- backgroundSize: "100% 100%",
312
- touchAction: "none",
313
- cursor: submitting ? "default" : isDragging.current ? "grabbing" : "grab",
314
- filter: isDragging.current ? "drop-shadow(0 4px 10px rgba(0, 0, 0, 0.45))" : "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.35))",
315
- transition: isDragging.current ? "none" : "filter 0.2s ease, left 0.3s ease, top 0.3s ease"
316
- }
345
+ position: "relative",
346
+ width: `${CONTAINER_WIDTH}px`,
347
+ height: `${CONTAINER_HEIGHT}px`,
348
+ background: puzzleAreaBg,
349
+ borderRadius: "0 0 20px 20px",
350
+ overflow: "hidden",
351
+ userSelect: "none",
352
+ opacity: submitting ? .6 : 1,
353
+ pointerEvents: submitting ? "none" : "auto",
354
+ transition: "opacity 0.2s ease"
355
+ },
356
+ children: [/* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("div", {
357
+ style: {
358
+ position: "absolute",
359
+ left: `-${CONTAINER_WIDTH}px`,
360
+ top: `-${CONTAINER_HEIGHT}px`,
361
+ width: `${CONTAINER_WIDTH * 3}px`,
362
+ height: `${CONTAINER_HEIGHT * 3}px`,
363
+ pointerEvents: "none",
364
+ userSelect: "none",
365
+ transform: bgTransform,
366
+ transformOrigin: "center center",
367
+ filter: bgFilter,
368
+ transition: dragging ? "none" : "transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), filter 0.35s ease",
369
+ willChange: "transform, filter"
370
+ },
371
+ children: [
372
+ [
373
+ 0,
374
+ 0,
375
+ -1,
376
+ -1
377
+ ],
378
+ [
379
+ 1,
380
+ 0,
381
+ 1,
382
+ -1
383
+ ],
384
+ [
385
+ 2,
386
+ 0,
387
+ -1,
388
+ -1
389
+ ],
390
+ [
391
+ 0,
392
+ 1,
393
+ -1,
394
+ 1
395
+ ],
396
+ [
397
+ 1,
398
+ 1,
399
+ 1,
400
+ 1
401
+ ],
402
+ [
403
+ 2,
404
+ 1,
405
+ -1,
406
+ 1
407
+ ],
408
+ [
409
+ 0,
410
+ 2,
411
+ -1,
412
+ -1
413
+ ],
414
+ [
415
+ 1,
416
+ 2,
417
+ 1,
418
+ -1
419
+ ],
420
+ [
421
+ 2,
422
+ 2,
423
+ -1,
424
+ -1
425
+ ]
426
+ ].map(([col, row, sx, sy]) => {
427
+ const key = `${col}-${row}`;
428
+ return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("img", {
429
+ src: background,
430
+ alt: "",
431
+ draggable: false,
432
+ style: {
433
+ position: "absolute",
434
+ left: `${(col ?? 0) * CONTAINER_WIDTH}px`,
435
+ top: `${(row ?? 0) * CONTAINER_HEIGHT}px`,
436
+ width: `${CONTAINER_WIDTH}px`,
437
+ height: `${CONTAINER_HEIGHT}px`,
438
+ transform: `scale(${sx}, ${sy})`,
439
+ pointerEvents: "none",
440
+ userSelect: "none"
441
+ }
442
+ }, key);
443
+ })
444
+ }), /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("div", {
445
+ ...process.env.NODE_ENV !== "production" && { "data-cy": "prosopo-puzzle-piece" },
446
+ className: PIECE_CSS_CLASS,
447
+ role: "application",
448
+ "aria-roledescription": t("WIDGET.PUZZLE.PIECE_ROLE", { defaultValue: "draggable puzzle piece" }),
449
+ "aria-label": t("WIDGET.PUZZLE.PIECE_LABEL", { defaultValue: "Puzzle piece" }),
450
+ "aria-describedby": `${instructionId} ${keyboardHintId}`,
451
+ tabIndex: submitting ? -1 : 0,
452
+ onFocus: handlePieceFocus,
453
+ onKeyDown: handlePieceKeyDown,
454
+ onMouseDown: handlePieceMouseDown,
455
+ onTouchStart: handlePieceTouchStart,
456
+ style: {
457
+ position: "absolute",
458
+ left: `${posX - pieceSize / 2}px`,
459
+ top: `${posY - pieceSize / 2}px`,
460
+ width: `${pieceSize}px`,
461
+ height: `${pieceSize}px`,
462
+ backgroundImage: `url(${piece})`,
463
+ backgroundSize: "100% 100%",
464
+ touchAction: "none",
465
+ cursor: submitting ? "default" : isDragging.current ? "grabbing" : "grab",
466
+ filter: isDragging.current ? "drop-shadow(0 4px 10px rgba(0, 0, 0, 0.45))" : "drop-shadow(0 2px 5px rgba(0, 0, 0, 0.35))",
467
+ transition: isDragging.current ? "none" : "filter 0.2s ease, left 0.3s ease, top 0.3s ease"
468
+ }
469
+ })]
317
470
  })]
318
- })]
319
- })]
471
+ })
472
+ ]
320
473
  });
321
474
  };
322
475
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ProcaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAGN,KAAK,eAAe,EAEpB,MAAM,gBAAgB,CAAC;AAWxB,QAAA,MAAM,UAAU,UAAW,eAAe,qDAyRzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ProcaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAGN,KAAK,eAAe,EAEpB,MAAM,gBAAgB,CAAC;AAWxB,QAAA,MAAM,UAAU,UAAW,eAAe,qDA4RzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -198,6 +198,7 @@ var Procaptcha = (props) => {
198
198
  labelText: isTranslationReady ? t("WIDGET.I_AM_HUMAN") : "",
199
199
  error: state.error?.message,
200
200
  "aria-label": "human checkbox",
201
+ loadingText: t("WIDGET.CHECKING", { defaultValue: "Checking that you are human" }),
201
202
  loading: loading || puzzlePhase === "submitting"
202
203
  })
203
204
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"ProcaptchaWidget.js","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProcaptchaWidget.js","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PuzzleCanvas.d.ts","sourceRoot":"","sources":["../../src/components/PuzzleCanvas.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGtD,UAAU,iBAAiB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAEhB,UAAU,EAAE,MAAM,CAAC;IAEnB,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,WAAW,EAAE,KACvB,IAAI,CAAC;IACV,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAaD,eAAO,MAAM,YAAY,gIAatB,iBAAiB,qDAkXnB,CAAC"}
1
+ {"version":3,"file":"PuzzleCanvas.d.ts","sourceRoot":"","sources":["../../src/components/PuzzleCanvas.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAUtD,UAAU,iBAAiB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAEhB,UAAU,EAAE,MAAM,CAAC;IAEnB,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,WAAW,EAAE,KACvB,IAAI,CAAC;IACV,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AA4CD,eAAO,MAAM,YAAY,gIAatB,iBAAiB,qDAqhBnB,CAAC"}