@prosopo/procaptcha-puzzle 2.10.39 → 2.10.41

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.
Files changed (59) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +13 -11
  2. package/.turbo/turbo-build$colon$tsc.log +19 -19
  3. package/.turbo/turbo-build.log +15 -12
  4. package/CHANGELOG.md +41 -0
  5. package/dist/_virtual/_rolldown/runtime.js +3 -0
  6. package/dist/cjs/components/ProcaptchaPuzzle.cjs +6 -9
  7. package/dist/cjs/components/ProcaptchaWidget.cjs +191 -213
  8. package/dist/cjs/components/PuzzleCanvas.cjs +228 -270
  9. package/dist/cjs/index.cjs +2 -4
  10. package/dist/cjs/services/Manager.cjs +209 -289
  11. package/dist/components/ProcaptchaPuzzle.js +6 -8
  12. package/dist/components/ProcaptchaWidget.d.ts.map +1 -1
  13. package/dist/components/ProcaptchaWidget.js +190 -212
  14. package/dist/components/ProcaptchaWidget.js.map +1 -1
  15. package/dist/components/PuzzleCanvas.js +229 -271
  16. package/dist/index.js +2 -4
  17. package/dist/services/Manager.d.ts.map +1 -1
  18. package/dist/services/Manager.js +205 -286
  19. package/dist/services/Manager.js.map +1 -1
  20. package/dist/tests/manager.unit.test.d.ts +2 -0
  21. package/dist/tests/manager.unit.test.d.ts.map +1 -0
  22. package/dist/tests/manager.unit.test.js +506 -0
  23. package/dist/tests/manager.unit.test.js.map +1 -0
  24. package/dist/tests/managerHarness.d.ts +20 -0
  25. package/dist/tests/managerHarness.d.ts.map +1 -0
  26. package/dist/tests/managerHarness.js +86 -0
  27. package/dist/tests/managerHarness.js.map +1 -0
  28. package/dist/tests/procaptchaPuzzle.test-d.d.ts +2 -0
  29. package/dist/tests/procaptchaPuzzle.test-d.d.ts.map +1 -0
  30. package/dist/tests/procaptchaPuzzle.test-d.js +97 -0
  31. package/dist/tests/procaptchaPuzzle.test-d.js.map +1 -0
  32. package/dist/tests/procaptchaPuzzle.unit.test.d.ts +2 -0
  33. package/dist/tests/procaptchaPuzzle.unit.test.d.ts.map +1 -0
  34. package/dist/tests/procaptchaPuzzle.unit.test.js +81 -0
  35. package/dist/tests/procaptchaPuzzle.unit.test.js.map +1 -0
  36. package/dist/tests/procaptchaWidget.unit.test.d.ts +2 -0
  37. package/dist/tests/procaptchaWidget.unit.test.d.ts.map +1 -0
  38. package/dist/tests/procaptchaWidget.unit.test.js +547 -0
  39. package/dist/tests/procaptchaWidget.unit.test.js.map +1 -0
  40. package/dist/tests/puzzleCanvas.unit.test.d.ts +2 -0
  41. package/dist/tests/puzzleCanvas.unit.test.d.ts.map +1 -0
  42. package/dist/tests/puzzleCanvas.unit.test.js +312 -0
  43. package/dist/tests/puzzleCanvas.unit.test.js.map +1 -0
  44. package/dist/tests/setup.d.ts +5 -0
  45. package/dist/tests/setup.d.ts.map +1 -0
  46. package/dist/tests/setup.js +3 -0
  47. package/dist/tests/setup.js.map +1 -0
  48. package/package.json +17 -12
  49. package/src/components/ProcaptchaWidget.tsx +17 -6
  50. package/src/services/Manager.ts +14 -10
  51. package/src/tests/manager.unit.test.ts +763 -0
  52. package/src/tests/managerHarness.ts +169 -0
  53. package/src/tests/procaptchaPuzzle.test-d.ts +191 -0
  54. package/src/tests/procaptchaPuzzle.unit.test.ts +123 -0
  55. package/src/tests/procaptchaWidget.unit.test.ts +789 -0
  56. package/src/tests/puzzleCanvas.unit.test.ts +418 -0
  57. package/src/tests/setup.ts +26 -0
  58. package/tsconfig.tsbuildinfo +1 -1
  59. package/vite.test.config.ts +27 -0
@@ -1,215 +1,193 @@
1
- import { jsxs, Fragment, jsx } from "@emotion/react/jsx-runtime";
2
- import { useTranslation, loadI18next } from "@prosopo/locale";
3
- import { useProcaptcha, buildUpdateState, Honeypot, Checkbox } from "@prosopo/procaptcha-common";
4
- import { ModeEnum } from "@prosopo/types";
5
- import { lightTheme, darkTheme } from "@prosopo/widget-skeleton";
6
- import { useState, useRef, useEffect, useCallback } from "react";
1
+ import "../_virtual/_rolldown/runtime.js";
7
2
  import { Manager } from "../services/Manager.js";
8
3
  import { PuzzleCanvas } from "./PuzzleCanvas.js";
9
- const PROCAPTCHA_EXECUTE_EVENT = "procaptcha:execute";
10
- const Procaptcha = (props) => {
11
- const { t, ready: isTranslationReady } = useTranslation();
12
- const config = props.config;
13
- const i18n = props.i18n;
14
- const theme = "light" === config.theme ? lightTheme : darkTheme;
15
- const frictionlessState = props.frictionlessState;
16
- const callbacks = props.callbacks || {};
17
- const [state, _updateState] = useProcaptcha(useState, useRef);
18
- const [loading, setLoading] = useState(false);
19
- const [puzzlePhase, setPuzzlePhase] = useState("checkbox");
20
- const [challengeData, setChallengeData] = useState(null);
21
- const [showRetry, setShowRetry] = useState(false);
22
- const updateState = buildUpdateState(state, _updateState);
23
- const hpRef = useRef(null);
24
- const manager = useRef(
25
- Manager(
26
- config,
27
- state,
28
- updateState,
29
- callbacks,
30
- frictionlessState,
31
- () => hpRef.current?.value || void 0
32
- )
33
- );
34
- const lastCoordsRef = useRef(null);
35
- const sessionInvalidatedFiredRef = useRef(false);
36
- useEffect(() => {
37
- if (!config.language) return;
38
- if (i18n) {
39
- if (i18n.language !== config.language) {
40
- void i18n.changeLanguage(config.language);
41
- }
42
- return;
43
- }
44
- void loadI18next(false, config.language);
45
- }, [i18n, config.language]);
46
- useEffect(() => {
47
- if (!props.autoStart) return;
48
- setLoading(true);
49
- setShowRetry(false);
50
- const coords = props.startCoords;
51
- lastCoordsRef.current = coords ?? null;
52
- manager.current.start(coords?.x ?? 0, coords?.y ?? 0).then(
53
- (challenge) => {
54
- if (challenge) {
55
- setChallengeData(challenge);
56
- setPuzzlePhase("dragging");
57
- }
58
- setLoading(false);
59
- },
60
- () => setLoading(false)
61
- );
62
- }, [props.autoStart, props.startCoords]);
63
- useEffect(() => {
64
- if (!state.error) return void 0;
65
- setLoading(false);
66
- setPuzzlePhase("checkbox");
67
- setChallengeData(null);
68
- setShowRetry(false);
69
- if (state.error.key !== "CAPTCHA.NO_SESSION_FOUND") return void 0;
70
- if (props.onSessionInvalidated && !sessionInvalidatedFiredRef.current) {
71
- sessionInvalidatedFiredRef.current = true;
72
- const coords = lastCoordsRef.current;
73
- props.onSessionInvalidated(coords?.x, coords?.y);
74
- return void 0;
75
- }
76
- if (frictionlessState) {
77
- const timer = setTimeout(() => {
78
- frictionlessState.restart();
79
- }, 100);
80
- return () => clearTimeout(timer);
81
- }
82
- return void 0;
83
- }, [state.error, frictionlessState, props.onSessionInvalidated]);
84
- useEffect(() => {
85
- if (config.mode === ModeEnum.invisible) {
86
- const handleExecuteEvent = async () => {
87
- if (loading) {
88
- return;
89
- }
90
- setLoading(true);
91
- setShowRetry(false);
92
- try {
93
- const challenge = await manager.current.start();
94
- if (challenge) {
95
- setChallengeData(challenge);
96
- setPuzzlePhase("dragging");
97
- }
98
- } catch (error) {
99
- callbacks.onError?.(
100
- error instanceof Error ? error : new Error(String(error))
101
- );
102
- } finally {
103
- setLoading(false);
104
- }
105
- };
106
- document.addEventListener(PROCAPTCHA_EXECUTE_EVENT, handleExecuteEvent);
107
- return () => {
108
- document.removeEventListener(
109
- PROCAPTCHA_EXECUTE_EVENT,
110
- handleExecuteEvent
111
- );
112
- };
113
- }
114
- return () => {
115
- };
116
- }, [config.mode, callbacks.onError, loading]);
117
- const handlePuzzleComplete = useCallback(
118
- async (finalX, finalY, puzzleEvents) => {
119
- setPuzzlePhase("submitting");
120
- let verified = false;
121
- try {
122
- verified = await manager.current.submitSolution(
123
- finalX,
124
- finalY,
125
- puzzleEvents
126
- );
127
- } catch (error) {
128
- callbacks.onError?.(
129
- error instanceof Error ? error : new Error(String(error))
130
- );
131
- }
132
- if (verified) {
133
- setPuzzlePhase("checkbox");
134
- setChallengeData(null);
135
- setShowRetry(false);
136
- setLoading(false);
137
- return;
138
- }
139
- setShowRetry(true);
140
- setPuzzlePhase("dragging");
141
- try {
142
- const newChallenge = await manager.current.start();
143
- if (newChallenge) {
144
- setChallengeData(newChallenge);
145
- } else {
146
- setPuzzlePhase("checkbox");
147
- setChallengeData(null);
148
- setShowRetry(false);
149
- }
150
- } catch {
151
- setPuzzlePhase("checkbox");
152
- setChallengeData(null);
153
- setShowRetry(false);
154
- }
155
- setLoading(false);
156
- },
157
- [callbacks.onError]
158
- );
159
- const isInvisible = config.mode === ModeEnum.invisible;
160
- const showPuzzleOverlay = (puzzlePhase === "dragging" || puzzlePhase === "submitting") && challengeData;
161
- return /* @__PURE__ */ jsxs(Fragment, { children: [
162
- frictionlessState?.hp && /* @__PURE__ */ jsx(Honeypot, { ref: hpRef, encodedQuestion: frictionlessState.hp }),
163
- showPuzzleOverlay && /* @__PURE__ */ jsx(
164
- PuzzleCanvas,
165
- {
166
- originX: challengeData.originX,
167
- originY: challengeData.originY,
168
- targetX: challengeData.targetX,
169
- targetY: challengeData.targetY,
170
- onComplete: handlePuzzleComplete,
171
- showRetry,
172
- submitting: puzzlePhase === "submitting"
173
- }
174
- ),
175
- !isInvisible && /* @__PURE__ */ jsx(
176
- Checkbox,
177
- {
178
- checked: state.isHuman,
179
- theme,
180
- onChange: async (event) => {
181
- if (loading) {
182
- return;
183
- }
184
- setLoading(true);
185
- setShowRetry(false);
186
- let x = 0;
187
- let y = 0;
188
- const mouseOrTouchEvent = event.nativeEvent;
189
- if (!mouseOrTouchEvent.isTrusted) {
190
- } else if ("touches" in mouseOrTouchEvent && mouseOrTouchEvent.touches.length > 0 && mouseOrTouchEvent.touches[0]) {
191
- x = mouseOrTouchEvent.touches[0].clientX;
192
- y = mouseOrTouchEvent.touches[0].clientY;
193
- } else if ("clientX" in mouseOrTouchEvent && "clientY" in mouseOrTouchEvent) {
194
- x = mouseOrTouchEvent.clientX;
195
- y = mouseOrTouchEvent.clientY;
196
- }
197
- lastCoordsRef.current = { x, y };
198
- const challenge = await manager.current.start(x, y);
199
- if (challenge) {
200
- setChallengeData(challenge);
201
- setPuzzlePhase("dragging");
202
- }
203
- setLoading(false);
204
- },
205
- labelText: isTranslationReady ? t("WIDGET.I_AM_HUMAN") : "",
206
- error: state.error?.message,
207
- "aria-label": "human checkbox",
208
- loading: loading || puzzlePhase === "submitting"
209
- }
210
- )
211
- ] });
212
- };
213
- export {
214
- Procaptcha as default
4
+ import { loadI18next, useTranslation } from "@prosopo/locale";
5
+ import { Checkbox, Honeypot, buildUpdateState, useProcaptcha } from "@prosopo/procaptcha-common";
6
+ import { ModeEnum } from "@prosopo/types";
7
+ import { darkTheme, lightTheme } from "@prosopo/widget-skeleton";
8
+ import { useCallback, useEffect, useRef, useState } from "react";
9
+ import { Fragment, jsx, jsxs } from "@emotion/react/jsx-runtime";
10
+ //#region src/components/ProcaptchaWidget.tsx
11
+ var PROCAPTCHA_EXECUTE_EVENT = "procaptcha:execute";
12
+ var Procaptcha = (props) => {
13
+ const { t, ready: isTranslationReady } = useTranslation();
14
+ const config = props.config;
15
+ const i18n = props.i18n;
16
+ const theme = "light" === config.theme ? lightTheme : darkTheme;
17
+ const frictionlessState = props.frictionlessState;
18
+ const callbacks = props.callbacks || {};
19
+ const [state, _updateState] = useProcaptcha(useState, useRef);
20
+ const [loading, setLoading] = useState(false);
21
+ const [puzzlePhase, setPuzzlePhase] = useState("checkbox");
22
+ const [challengeData, setChallengeData] = useState(null);
23
+ const [showRetry, setShowRetry] = useState(false);
24
+ const updateState = buildUpdateState(state, _updateState);
25
+ const hpRef = useRef(null);
26
+ const manager = useRef(Manager(config, state, updateState, callbacks, frictionlessState, () => hpRef.current?.value || void 0));
27
+ const lastCoordsRef = useRef(null);
28
+ const sessionInvalidatedFiredRef = useRef(false);
29
+ useEffect(() => {
30
+ if (!config.language) return;
31
+ if (i18n) {
32
+ if (i18n.language !== config.language) i18n.changeLanguage(config.language);
33
+ return;
34
+ }
35
+ loadI18next(false, config.language);
36
+ }, [i18n, config.language]);
37
+ useEffect(() => {
38
+ if (!props.autoStart) return;
39
+ setLoading(true);
40
+ setShowRetry(false);
41
+ const coords = props.startCoords;
42
+ lastCoordsRef.current = coords ?? null;
43
+ manager.current.start(coords?.x ?? 0, coords?.y ?? 0).then((challenge) => {
44
+ if (challenge) {
45
+ setChallengeData(challenge);
46
+ setPuzzlePhase("dragging");
47
+ }
48
+ setLoading(false);
49
+ }, () => setLoading(false));
50
+ }, [props.autoStart, props.startCoords]);
51
+ useEffect(() => {
52
+ if (!state.error) return void 0;
53
+ setLoading(false);
54
+ setPuzzlePhase("checkbox");
55
+ setChallengeData(null);
56
+ setShowRetry(false);
57
+ if (state.error.key !== "CAPTCHA.NO_SESSION_FOUND") return void 0;
58
+ if (props.onSessionInvalidated && !sessionInvalidatedFiredRef.current) {
59
+ sessionInvalidatedFiredRef.current = true;
60
+ const coords = lastCoordsRef.current;
61
+ props.onSessionInvalidated(coords?.x, coords?.y);
62
+ return;
63
+ }
64
+ if (frictionlessState) {
65
+ const timer = setTimeout(() => {
66
+ frictionlessState.restart();
67
+ }, 100);
68
+ return () => clearTimeout(timer);
69
+ }
70
+ }, [
71
+ state.error,
72
+ frictionlessState,
73
+ props.onSessionInvalidated
74
+ ]);
75
+ useEffect(() => {
76
+ if (config.mode === ModeEnum.invisible) {
77
+ const handleExecuteEvent = async () => {
78
+ if (loading) return;
79
+ setLoading(true);
80
+ setShowRetry(false);
81
+ try {
82
+ const challenge = await manager.current.start();
83
+ if (challenge) {
84
+ setChallengeData(challenge);
85
+ setPuzzlePhase("dragging");
86
+ }
87
+ } catch (error) {
88
+ callbacks.onError?.(error instanceof Error ? error : new Error(String(error)));
89
+ } finally {
90
+ setLoading(false);
91
+ }
92
+ };
93
+ document.addEventListener(PROCAPTCHA_EXECUTE_EVENT, handleExecuteEvent);
94
+ return () => {
95
+ document.removeEventListener(PROCAPTCHA_EXECUTE_EVENT, handleExecuteEvent);
96
+ };
97
+ }
98
+ return () => {};
99
+ }, [
100
+ config.mode,
101
+ callbacks.onError,
102
+ loading
103
+ ]);
104
+ const handlePuzzleComplete = useCallback(async (finalX, finalY, puzzleEvents) => {
105
+ setPuzzlePhase("submitting");
106
+ let verified = false;
107
+ try {
108
+ verified = await manager.current.submitSolution(finalX, finalY, puzzleEvents);
109
+ } catch (error) {
110
+ callbacks.onError?.(error instanceof Error ? error : new Error(String(error)));
111
+ }
112
+ if (verified) {
113
+ setPuzzlePhase("checkbox");
114
+ setChallengeData(null);
115
+ setShowRetry(false);
116
+ setLoading(false);
117
+ return;
118
+ }
119
+ setShowRetry(true);
120
+ setPuzzlePhase("dragging");
121
+ try {
122
+ const newChallenge = await manager.current.start();
123
+ if (newChallenge) setChallengeData(newChallenge);
124
+ else {
125
+ setPuzzlePhase("checkbox");
126
+ setChallengeData(null);
127
+ setShowRetry(false);
128
+ }
129
+ } catch {
130
+ setPuzzlePhase("checkbox");
131
+ setChallengeData(null);
132
+ setShowRetry(false);
133
+ }
134
+ setLoading(false);
135
+ }, [callbacks.onError]);
136
+ const isInvisible = config.mode === ModeEnum.invisible;
137
+ const showPuzzleOverlay = (puzzlePhase === "dragging" || puzzlePhase === "submitting") && challengeData;
138
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
139
+ frictionlessState?.hp && /* @__PURE__ */ jsx(Honeypot, {
140
+ ref: hpRef,
141
+ encodedQuestion: frictionlessState.hp
142
+ }),
143
+ showPuzzleOverlay && /* @__PURE__ */ jsx(PuzzleCanvas, {
144
+ originX: challengeData.originX,
145
+ originY: challengeData.originY,
146
+ targetX: challengeData.targetX,
147
+ targetY: challengeData.targetY,
148
+ onComplete: handlePuzzleComplete,
149
+ showRetry,
150
+ submitting: puzzlePhase === "submitting"
151
+ }),
152
+ !isInvisible && /* @__PURE__ */ jsx(Checkbox, {
153
+ checked: state.isHuman,
154
+ theme,
155
+ onChange: async (event) => {
156
+ if (loading) return;
157
+ setLoading(true);
158
+ setShowRetry(false);
159
+ let x = 0;
160
+ let y = 0;
161
+ const mouseOrTouchEvent = event.nativeEvent;
162
+ if (!mouseOrTouchEvent.isTrusted) {} else if ("touches" in mouseOrTouchEvent && mouseOrTouchEvent.touches.length > 0 && mouseOrTouchEvent.touches[0]) {
163
+ x = mouseOrTouchEvent.touches[0].clientX;
164
+ y = mouseOrTouchEvent.touches[0].clientY;
165
+ } else if ("clientX" in mouseOrTouchEvent && "clientY" in mouseOrTouchEvent) {
166
+ x = mouseOrTouchEvent.clientX;
167
+ y = mouseOrTouchEvent.clientY;
168
+ }
169
+ lastCoordsRef.current = {
170
+ x,
171
+ y
172
+ };
173
+ try {
174
+ const challenge = await manager.current.start(x, y);
175
+ if (challenge) {
176
+ setChallengeData(challenge);
177
+ setPuzzlePhase("dragging");
178
+ }
179
+ } catch (error) {
180
+ callbacks.onError?.(error instanceof Error ? error : new Error(String(error)));
181
+ } finally {
182
+ setLoading(false);
183
+ }
184
+ },
185
+ labelText: isTranslationReady ? t("WIDGET.I_AM_HUMAN") : "",
186
+ error: state.error?.message,
187
+ "aria-label": "human checkbox",
188
+ loading: loading || puzzlePhase === "submitting"
189
+ })
190
+ ] });
215
191
  };
192
+ //#endregion
193
+ export { Procaptcha as default };
@@ -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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"}