@prosopo/procaptcha-puzzle 2.11.6 → 2.12.1
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.
- package/.turbo/turbo-build$colon$cjs.log +4 -4
- package/.turbo/turbo-build$colon$tsc.log +19 -19
- package/.turbo/turbo-build.log +6 -6
- package/CHANGELOG.md +37 -0
- package/dist/cjs/components/ProcaptchaWidget.cjs +35 -24
- package/dist/cjs/components/PuzzleCanvas.cjs +9 -15
- package/dist/components/ProcaptchaWidget.d.ts.map +1 -1
- package/dist/components/ProcaptchaWidget.js +35 -24
- package/dist/components/ProcaptchaWidget.js.map +1 -1
- package/dist/components/PuzzleCanvas.d.ts +5 -2
- package/dist/components/PuzzleCanvas.d.ts.map +1 -1
- package/dist/components/PuzzleCanvas.js +9 -15
- package/dist/components/PuzzleCanvas.js.map +1 -1
- package/dist/tests/procaptchaWidget.unit.test.js +22 -0
- package/dist/tests/procaptchaWidget.unit.test.js.map +1 -1
- package/package.json +7 -7
- package/src/components/ProcaptchaWidget.tsx +49 -38
- package/src/components/PuzzleCanvas.tsx +16 -27
- package/src/tests/procaptchaWidget.unit.test.ts +26 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/procaptcha-puzzle@2.
|
|
2
|
+
> @prosopo/procaptcha-puzzle@2.12.1 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -48,8 +48,8 @@ rendering chunks...
|
|
|
48
48
|
computing gzip size...
|
|
49
49
|
dist/cjs/index.cjs 0.22 kB │ gzip: 0.15 kB
|
|
50
50
|
dist/cjs/components/ProcaptchaPuzzle.cjs 0.52 kB │ gzip: 0.27 kB
|
|
51
|
-
dist/cjs/components/ProcaptchaWidget.cjs 7.
|
|
51
|
+
dist/cjs/components/ProcaptchaWidget.cjs 7.52 kB │ gzip: 2.06 kB
|
|
52
52
|
dist/cjs/services/Manager.cjs 9.03 kB │ gzip: 2.48 kB
|
|
53
|
-
dist/cjs/components/PuzzleCanvas.cjs 10.
|
|
53
|
+
dist/cjs/components/PuzzleCanvas.cjs 10.29 kB │ gzip: 2.96 kB
|
|
54
54
|
|
|
55
|
-
[32m✓ built in
|
|
55
|
+
[32m✓ built in 67ms[39m
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/procaptcha-puzzle@2.
|
|
2
|
+
> @prosopo/procaptcha-puzzle@2.12.1 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
11:41:01 AM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../locale/tsconfig.json
|
|
8
8
|
* ../util/tsconfig.json
|
|
@@ -20,37 +20,37 @@
|
|
|
20
20
|
* ../procaptcha-common/tsconfig.json
|
|
21
21
|
* tsconfig.json
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
11:41:01 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/vite/vite.backend.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
11:41:01 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
11:41:01 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
11:41:01 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
11:41:01 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
11:41:01 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
11:41:01 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
11:41:01 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/error.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
11:41:01 AM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
11:41:01 AM - Project '../widget-skeleton/tsconfig.json' is up to date because newest input '../widget-skeleton/src/theme.ts' is older than output '../widget-skeleton/tsconfig.tsbuildinfo'
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
11:41:01 AM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/utils/hashing.ts' is older than output '../fingerprintjs/tsconfig.tsbuildinfo'
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
11:41:01 AM - Project '../fingerprint/tsconfig.json' is up to date because newest input '../fingerprint/src/index.ts' is older than output '../fingerprint/tsconfig.tsbuildinfo'
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
11:41:01 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
11:41:01 AM - Project '../account/tsconfig.json' is up to date because newest input '../account/src/custom.d.ts' is older than output '../account/tsconfig.tsbuildinfo'
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
11:41:01 AM - Project '../procaptcha-common/tsconfig.json' is up to date because newest input '../procaptcha-common/src/tests/challengeSurfaceRender.unit.test.tsx' is older than output '../procaptcha-common/tsconfig.tsbuildinfo'
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
11:41:01 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
11:41:01 AM - Building project '/home/runner/work/captcha/captcha/packages/procaptcha-puzzle/tsconfig.json'...
|
|
56
56
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/procaptcha-puzzle@2.
|
|
2
|
+
> @prosopo/procaptcha-puzzle@2.12.1 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/procaptcha-puzzle@2.
|
|
6
|
+
> @prosopo/procaptcha-puzzle@2.12.1 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -26,6 +26,7 @@ ViteEsmConfig: .
|
|
|
26
26
|
]
|
|
27
27
|
}
|
|
28
28
|
{
|
|
29
|
+
[33mThe plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the [1mresolve.tsconfigPaths[22m option. You can remove the plugin and set [1mresolve.tsconfigPaths: true[22m in your Vite config instead.[39m
|
|
29
30
|
externals: [
|
|
30
31
|
'@prosopo/api',
|
|
31
32
|
'@prosopo/types',
|
|
@@ -43,7 +44,6 @@ ViteEsmConfig: .
|
|
|
43
44
|
'@prosopo/keyring'
|
|
44
45
|
]
|
|
45
46
|
}
|
|
46
|
-
[33mThe plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the [1mresolve.tsconfigPaths[22m option. You can remove the plugin and set [1mresolve.tsconfigPaths: true[22m in your Vite config instead.[39m
|
|
47
47
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
48
48
|
Bundle build started
|
|
49
49
|
[2K
|
|
@@ -53,8 +53,8 @@ computing gzip size...
|
|
|
53
53
|
dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
|
|
54
54
|
dist/index.js 0.14 kB │ gzip: 0.11 kB
|
|
55
55
|
dist/components/ProcaptchaPuzzle.js 0.38 kB │ gzip: 0.24 kB
|
|
56
|
-
dist/components/ProcaptchaWidget.js 6.
|
|
56
|
+
dist/components/ProcaptchaWidget.js 6.99 kB │ gzip: 2.05 kB
|
|
57
57
|
dist/services/Manager.js 8.49 kB │ gzip: 2.44 kB
|
|
58
|
-
dist/components/PuzzleCanvas.js 9.
|
|
58
|
+
dist/components/PuzzleCanvas.js 9.76 kB │ gzip: 2.93 kB
|
|
59
59
|
|
|
60
|
-
[32m✓ built in
|
|
60
|
+
[32m✓ built in 87ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# @prosopo/procaptcha-puzzle
|
|
2
2
|
|
|
3
|
+
## 2.12.1
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- Updated dependencies [929d99b]
|
|
7
|
+
- Updated dependencies [934fa5d]
|
|
8
|
+
- Updated dependencies [27f525e]
|
|
9
|
+
- Updated dependencies [af267c2]
|
|
10
|
+
- @prosopo/types@5.8.0
|
|
11
|
+
- @prosopo/api@4.2.0
|
|
12
|
+
- @prosopo/procaptcha-common@2.13.1
|
|
13
|
+
|
|
14
|
+
## 2.12.0
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- d288371: Let a site choose where a challenge opens, and which button triggers it.
|
|
18
|
+
|
|
19
|
+
- `placement: "popup" | "float"`, also `data-placement`. `popup` is the default and unchanged. `float` opens the challenge directly above the widget and keeps it pinned there as the page scrolls, leaves the page usable behind it, and dismisses on Escape or an outside click. An invisible widget always uses popup.
|
|
20
|
+
- `bind: "#selector"`, also `data-bind`. The matching host-page button triggers that one widget, in visible or invisible mode. The click's default action is prevented so a submit button does not post the form before a token exists.
|
|
21
|
+
- `execute(widgetId?)`. Called with no argument every widget responds, as before. Called with the id `render()` returns, only that widget runs. Implicitly rendered invisible buttons now trigger only their own widget.
|
|
22
|
+
|
|
23
|
+
Behaviour changes for existing widgets:
|
|
24
|
+
|
|
25
|
+
- Escape now closes the image and puzzle challenge in both placements. For the image captcha this runs the cancel path, which fires `onClose` and restarts frictionless.
|
|
26
|
+
- Image and puzzle now present on one shared `ChallengeSurface`. Both were already portalled to `document.body`, so neither moves in the page, but the markup around them changed: the outer layer keeps `prosopo-modalOuter` for the image captcha and also carries `prosopo-challenge-surface`, and a new `prosopo-challenge-content` element sits between it and `prosopo-modalInner`. A direct-child selector such as `.prosopo-modalOuter > .prosopo-modalInner` no longer matches, and the centring transform now lives on `prosopo-challenge-content` rather than on `prosopo-modalInner`.
|
|
27
|
+
|
|
28
|
+
`createConfig` takes a named options object.
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- Updated dependencies [6f57ee9]
|
|
33
|
+
- Updated dependencies [d288371]
|
|
34
|
+
- @prosopo/types@5.7.0
|
|
35
|
+
- @prosopo/util@3.3.9
|
|
36
|
+
- @prosopo/procaptcha-common@2.13.0
|
|
37
|
+
- @prosopo/api@4.1.6
|
|
38
|
+
- @prosopo/common@3.1.54
|
|
39
|
+
|
|
3
40
|
## 2.11.6
|
|
4
41
|
### Patch Changes
|
|
5
42
|
|
|
@@ -72,33 +72,35 @@ var Procaptcha = (props) => {
|
|
|
72
72
|
props.onSessionInvalidated
|
|
73
73
|
]);
|
|
74
74
|
(0, react.useEffect)(() => {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
setPuzzlePhase("dragging");
|
|
85
|
-
}
|
|
86
|
-
} catch (error) {
|
|
87
|
-
callbacks.onError?.(error instanceof Error ? error : new Error(String(error)));
|
|
88
|
-
} finally {
|
|
89
|
-
setLoading(false);
|
|
75
|
+
const handleExecuteEvent = async () => {
|
|
76
|
+
if (loading) return;
|
|
77
|
+
setLoading(true);
|
|
78
|
+
setShowRetry(false);
|
|
79
|
+
try {
|
|
80
|
+
const challenge = await manager.current.start();
|
|
81
|
+
if (challenge) {
|
|
82
|
+
setChallengeData(challenge);
|
|
83
|
+
setPuzzlePhase("dragging");
|
|
90
84
|
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
85
|
+
} catch (error) {
|
|
86
|
+
callbacks.onError?.(error instanceof Error ? error : new Error(String(error)));
|
|
87
|
+
} finally {
|
|
88
|
+
setLoading(false);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const container = props.container;
|
|
92
|
+
const invisible = config.mode === _prosopo_types.ModeEnum.invisible;
|
|
93
|
+
container?.addEventListener(PROCAPTCHA_EXECUTE_EVENT, handleExecuteEvent);
|
|
94
|
+
if (invisible) document.addEventListener(PROCAPTCHA_EXECUTE_EVENT, handleExecuteEvent);
|
|
95
|
+
return () => {
|
|
96
|
+
container?.removeEventListener(PROCAPTCHA_EXECUTE_EVENT, handleExecuteEvent);
|
|
97
|
+
if (invisible) document.removeEventListener(PROCAPTCHA_EXECUTE_EVENT, handleExecuteEvent);
|
|
98
|
+
};
|
|
98
99
|
}, [
|
|
99
100
|
config.mode,
|
|
100
101
|
callbacks.onError,
|
|
101
|
-
loading
|
|
102
|
+
loading,
|
|
103
|
+
props.container
|
|
102
104
|
]);
|
|
103
105
|
const handlePuzzleComplete = (0, react.useCallback)(async (finalX, finalY, puzzleEvents) => {
|
|
104
106
|
setPuzzlePhase("submitting");
|
|
@@ -133,6 +135,12 @@ var Procaptcha = (props) => {
|
|
|
133
135
|
setLoading(false);
|
|
134
136
|
}, [callbacks.onError]);
|
|
135
137
|
const isInvisible = config.mode === _prosopo_types.ModeEnum.invisible;
|
|
138
|
+
const handleDismiss = (0, react.useCallback)(() => {
|
|
139
|
+
setPuzzlePhase("checkbox");
|
|
140
|
+
setChallengeData(null);
|
|
141
|
+
setShowRetry(false);
|
|
142
|
+
setLoading(false);
|
|
143
|
+
}, []);
|
|
136
144
|
const showPuzzleOverlay = (puzzlePhase === "dragging" || puzzlePhase === "submitting") && challengeData;
|
|
137
145
|
return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsxs)(_emotion_react_jsx_runtime.Fragment, { children: [
|
|
138
146
|
frictionlessState?.hp && /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(_prosopo_procaptcha_common.Honeypot, {
|
|
@@ -148,7 +156,10 @@ var Procaptcha = (props) => {
|
|
|
148
156
|
onComplete: handlePuzzleComplete,
|
|
149
157
|
showRetry,
|
|
150
158
|
submitting: puzzlePhase === "submitting",
|
|
151
|
-
theme
|
|
159
|
+
theme,
|
|
160
|
+
placement: config.placement,
|
|
161
|
+
anchor: props.container,
|
|
162
|
+
onDismiss: handleDismiss
|
|
152
163
|
}),
|
|
153
164
|
!isInvisible && /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(_prosopo_procaptcha_common.Checkbox, {
|
|
154
165
|
checked: state.isHuman,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
let _prosopo_procaptcha_common = require("@prosopo/procaptcha-common");
|
|
1
2
|
let react = require("react");
|
|
2
|
-
let react_dom = require("react-dom");
|
|
3
3
|
let _emotion_react_jsx_runtime = require("@emotion/react/jsx-runtime");
|
|
4
4
|
//#region src/components/PuzzleCanvas.tsx
|
|
5
5
|
var CONTAINER_WIDTH = 300;
|
|
@@ -11,7 +11,7 @@ var SHAKE_KEYFRAMES = `
|
|
|
11
11
|
20%, 40%, 60%, 80% { transform: translateX(4px); }
|
|
12
12
|
}
|
|
13
13
|
`;
|
|
14
|
-
var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete, showRetry, submitting, theme }) => {
|
|
14
|
+
var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete, showRetry, submitting, theme, placement, anchor, onDismiss }) => {
|
|
15
15
|
const [posX, setPosX] = (0, react.useState)(originX);
|
|
16
16
|
const [posY, setPosY] = (0, react.useState)(originY);
|
|
17
17
|
const isDragging = (0, react.useRef)(false);
|
|
@@ -162,24 +162,18 @@ var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete
|
|
|
162
162
|
const brightness = dragging ? 1 - Math.min(.06, dragDistance * 8e-4) : 1;
|
|
163
163
|
const bgFilter = `hue-rotate(${hueShift.toFixed(2)}deg) saturate(${satBoost.toFixed(3)}) brightness(${brightness.toFixed(3)})`;
|
|
164
164
|
const bgTransform = `translate(${bgTranslateX.toFixed(2)}px, ${bgTranslateY.toFixed(2)}px) scale(${bgScale.toFixed(3)})`;
|
|
165
|
-
return
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
alignItems: "center",
|
|
172
|
-
justifyContent: "center",
|
|
173
|
-
backgroundColor: visible ? "rgba(0, 0, 0, 0.4)" : "rgba(0, 0, 0, 0)",
|
|
174
|
-
transition: "background-color 0.3s ease"
|
|
175
|
-
},
|
|
165
|
+
return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsxs)(_prosopo_procaptcha_common.ChallengeSurface, {
|
|
166
|
+
show: true,
|
|
167
|
+
placement,
|
|
168
|
+
anchor,
|
|
169
|
+
onDismiss,
|
|
170
|
+
scrim: visible ? "dim" : "none",
|
|
176
171
|
children: [/* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("style", { children: SHAKE_KEYFRAMES }), /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsxs)("div", {
|
|
177
172
|
style: {
|
|
178
173
|
display: "flex",
|
|
179
174
|
flexDirection: "column",
|
|
180
175
|
alignItems: "center",
|
|
181
176
|
gap: "0",
|
|
182
|
-
zIndex: 2147483647,
|
|
183
177
|
opacity: visible ? 1 : 0,
|
|
184
178
|
transform: visible ? "scale(1)" : "scale(0.9)",
|
|
185
179
|
transition: "opacity 0.3s ease, transform 0.3s ease",
|
|
@@ -323,7 +317,7 @@ var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete
|
|
|
323
317
|
})]
|
|
324
318
|
})]
|
|
325
319
|
})]
|
|
326
|
-
})
|
|
320
|
+
});
|
|
327
321
|
};
|
|
328
322
|
//#endregion
|
|
329
323
|
exports.PuzzleCanvas = PuzzleCanvas;
|
|
@@ -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,
|
|
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"}
|
|
@@ -73,33 +73,35 @@ var Procaptcha = (props) => {
|
|
|
73
73
|
props.onSessionInvalidated
|
|
74
74
|
]);
|
|
75
75
|
useEffect(() => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
setPuzzlePhase("dragging");
|
|
86
|
-
}
|
|
87
|
-
} catch (error) {
|
|
88
|
-
callbacks.onError?.(error instanceof Error ? error : new Error(String(error)));
|
|
89
|
-
} finally {
|
|
90
|
-
setLoading(false);
|
|
76
|
+
const handleExecuteEvent = async () => {
|
|
77
|
+
if (loading) return;
|
|
78
|
+
setLoading(true);
|
|
79
|
+
setShowRetry(false);
|
|
80
|
+
try {
|
|
81
|
+
const challenge = await manager.current.start();
|
|
82
|
+
if (challenge) {
|
|
83
|
+
setChallengeData(challenge);
|
|
84
|
+
setPuzzlePhase("dragging");
|
|
91
85
|
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
86
|
+
} catch (error) {
|
|
87
|
+
callbacks.onError?.(error instanceof Error ? error : new Error(String(error)));
|
|
88
|
+
} finally {
|
|
89
|
+
setLoading(false);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
const container = props.container;
|
|
93
|
+
const invisible = config.mode === ModeEnum.invisible;
|
|
94
|
+
container?.addEventListener(PROCAPTCHA_EXECUTE_EVENT, handleExecuteEvent);
|
|
95
|
+
if (invisible) document.addEventListener(PROCAPTCHA_EXECUTE_EVENT, handleExecuteEvent);
|
|
96
|
+
return () => {
|
|
97
|
+
container?.removeEventListener(PROCAPTCHA_EXECUTE_EVENT, handleExecuteEvent);
|
|
98
|
+
if (invisible) document.removeEventListener(PROCAPTCHA_EXECUTE_EVENT, handleExecuteEvent);
|
|
99
|
+
};
|
|
99
100
|
}, [
|
|
100
101
|
config.mode,
|
|
101
102
|
callbacks.onError,
|
|
102
|
-
loading
|
|
103
|
+
loading,
|
|
104
|
+
props.container
|
|
103
105
|
]);
|
|
104
106
|
const handlePuzzleComplete = useCallback(async (finalX, finalY, puzzleEvents) => {
|
|
105
107
|
setPuzzlePhase("submitting");
|
|
@@ -134,6 +136,12 @@ var Procaptcha = (props) => {
|
|
|
134
136
|
setLoading(false);
|
|
135
137
|
}, [callbacks.onError]);
|
|
136
138
|
const isInvisible = config.mode === ModeEnum.invisible;
|
|
139
|
+
const handleDismiss = useCallback(() => {
|
|
140
|
+
setPuzzlePhase("checkbox");
|
|
141
|
+
setChallengeData(null);
|
|
142
|
+
setShowRetry(false);
|
|
143
|
+
setLoading(false);
|
|
144
|
+
}, []);
|
|
137
145
|
const showPuzzleOverlay = (puzzlePhase === "dragging" || puzzlePhase === "submitting") && challengeData;
|
|
138
146
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
139
147
|
frictionlessState?.hp && /* @__PURE__ */ jsx(Honeypot, {
|
|
@@ -149,7 +157,10 @@ var Procaptcha = (props) => {
|
|
|
149
157
|
onComplete: handlePuzzleComplete,
|
|
150
158
|
showRetry,
|
|
151
159
|
submitting: puzzlePhase === "submitting",
|
|
152
|
-
theme
|
|
160
|
+
theme,
|
|
161
|
+
placement: config.placement,
|
|
162
|
+
anchor: props.container,
|
|
163
|
+
onDismiss: handleDismiss
|
|
153
164
|
}),
|
|
154
165
|
!isInvisible && /* @__PURE__ */ jsx(Checkbox, {
|
|
155
166
|
checked: state.isHuman,
|
|
@@ -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,4 +1,4 @@
|
|
|
1
|
-
import type { PuzzleEvent } from "@prosopo/types";
|
|
1
|
+
import type { PlacementType, PuzzleEvent } from "@prosopo/types";
|
|
2
2
|
import type { Theme } from "@prosopo/widget-skeleton";
|
|
3
3
|
interface PuzzleCanvasProps {
|
|
4
4
|
originX: number;
|
|
@@ -10,7 +10,10 @@ interface PuzzleCanvasProps {
|
|
|
10
10
|
showRetry: boolean;
|
|
11
11
|
submitting: boolean;
|
|
12
12
|
theme: Theme;
|
|
13
|
+
placement?: PlacementType;
|
|
14
|
+
anchor?: HTMLElement | null;
|
|
15
|
+
onDismiss?: () => void;
|
|
13
16
|
}
|
|
14
|
-
export declare const PuzzleCanvas: ({ originX, originY, background, piece, pieceSize, onComplete, showRetry, submitting, theme, }: PuzzleCanvasProps) => import("react").
|
|
17
|
+
export declare const PuzzleCanvas: ({ originX, originY, background, piece, pieceSize, onComplete, showRetry, submitting, theme, placement, anchor, onDismiss, }: PuzzleCanvasProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
15
18
|
export {};
|
|
16
19
|
//# sourceMappingURL=PuzzleCanvas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuzzleCanvas.d.ts","sourceRoot":"","sources":["../../src/components/PuzzleCanvas.tsx"],"names":[],"mappings":"
|
|
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,5 +1,5 @@
|
|
|
1
|
+
import { ChallengeSurface } from "@prosopo/procaptcha-common";
|
|
1
2
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
2
|
-
import { createPortal } from "react-dom";
|
|
3
3
|
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
4
4
|
//#region src/components/PuzzleCanvas.tsx
|
|
5
5
|
var CONTAINER_WIDTH = 300;
|
|
@@ -11,7 +11,7 @@ var SHAKE_KEYFRAMES = `
|
|
|
11
11
|
20%, 40%, 60%, 80% { transform: translateX(4px); }
|
|
12
12
|
}
|
|
13
13
|
`;
|
|
14
|
-
var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete, showRetry, submitting, theme }) => {
|
|
14
|
+
var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete, showRetry, submitting, theme, placement, anchor, onDismiss }) => {
|
|
15
15
|
const [posX, setPosX] = useState(originX);
|
|
16
16
|
const [posY, setPosY] = useState(originY);
|
|
17
17
|
const isDragging = useRef(false);
|
|
@@ -162,24 +162,18 @@ var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete
|
|
|
162
162
|
const brightness = dragging ? 1 - Math.min(.06, dragDistance * 8e-4) : 1;
|
|
163
163
|
const bgFilter = `hue-rotate(${hueShift.toFixed(2)}deg) saturate(${satBoost.toFixed(3)}) brightness(${brightness.toFixed(3)})`;
|
|
164
164
|
const bgTransform = `translate(${bgTranslateX.toFixed(2)}px, ${bgTranslateY.toFixed(2)}px) scale(${bgScale.toFixed(3)})`;
|
|
165
|
-
return
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
alignItems: "center",
|
|
172
|
-
justifyContent: "center",
|
|
173
|
-
backgroundColor: visible ? "rgba(0, 0, 0, 0.4)" : "rgba(0, 0, 0, 0)",
|
|
174
|
-
transition: "background-color 0.3s ease"
|
|
175
|
-
},
|
|
165
|
+
return /* @__PURE__ */ jsxs(ChallengeSurface, {
|
|
166
|
+
show: true,
|
|
167
|
+
placement,
|
|
168
|
+
anchor,
|
|
169
|
+
onDismiss,
|
|
170
|
+
scrim: visible ? "dim" : "none",
|
|
176
171
|
children: [/* @__PURE__ */ jsx("style", { children: SHAKE_KEYFRAMES }), /* @__PURE__ */ jsxs("div", {
|
|
177
172
|
style: {
|
|
178
173
|
display: "flex",
|
|
179
174
|
flexDirection: "column",
|
|
180
175
|
alignItems: "center",
|
|
181
176
|
gap: "0",
|
|
182
|
-
zIndex: 2147483647,
|
|
183
177
|
opacity: visible ? 1 : 0,
|
|
184
178
|
transform: visible ? "scale(1)" : "scale(0.9)",
|
|
185
179
|
transition: "opacity 0.3s ease, transform 0.3s ease",
|
|
@@ -323,7 +317,7 @@ var PuzzleCanvas = ({ originX, originY, background, piece, pieceSize, onComplete
|
|
|
323
317
|
})]
|
|
324
318
|
})]
|
|
325
319
|
})]
|
|
326
|
-
})
|
|
320
|
+
});
|
|
327
321
|
};
|
|
328
322
|
//#endregion
|
|
329
323
|
export { PuzzleCanvas };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PuzzleCanvas.js","sourceRoot":"","sources":["../../src/components/PuzzleCanvas.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PuzzleCanvas.js","sourceRoot":"","sources":["../../src/components/PuzzleCanvas.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAwBjE,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,MAAM,eAAe,GAAG;;;;;;CAMvB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,UAAU,EACV,KAAK,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,EACV,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAS,GACU,EAAE,EAAE;IACvB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,OAAO,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,OAAO,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAK1C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,CAAgB,EAAE,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,MAAM,CAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAG9C,SAAS,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAGvB,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,EAAE,CAAC,CAAC;IAGP,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;YACvD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IACjB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,KAAK,GAAG,WAAW,CACxB,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAU,EAAE;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC,EACD,EAAE,CACF,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAA6B,EAAE;QACrE,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC1D,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GAAG,WAAW,CAClC,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE;QACpC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,CACjB,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,EACjD,CAAC,EACD,eAAe,CACf,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,CACjB,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,EACjD,CAAC,EACD,gBAAgB,CAChB,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC;QAEd,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC,EACD,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAC3B,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAC3B,WAAW,CAAC,KAAK,CAAC,CAAC;QAEnB,MAAM,aAAa,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAEjD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnC,MAAM,eAAe,GAAG,WAAW,CAClC,CAAC,KAAiB,EAAE,EAAE;QACrB,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC,EACD,CAAC,eAAe,CAAC,CACjB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAClC,CAAC,KAAiB,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACX,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC,EACD,CAAC,eAAe,CAAC,CACjB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,cAAc,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,cAAc,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAEtD,OAAO,GAAG,EAAE;YACX,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3D,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC1D,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IAEtE,MAAM,oBAAoB,GAAG,WAAW,CACvC,CAAC,KAAuC,EAAE,EAAE;QAC3C,IAAI,UAAU;YAAE,OAAO;QACvB,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,SAAS,CAAC,OAAO,GAAG;YACnB,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI;YAC3C,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI;SAC3C,CAAC;IACH,CAAC,EACD,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAC5C,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CACxC,CAAC,KAAuC,EAAE,EAAE;QAC3C,IAAI,UAAU;YAAE,OAAO;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACX,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;YAC1B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;YAC7C,SAAS,CAAC,OAAO,GAAG;gBACnB,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI;gBAC3C,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI;aAC3C,CAAC;QACH,CAAC;IACF,CAAC,EACD,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAC5C,CAAC;IAEF,MAAM,eAAe,GAAG,SAAS;QAChC,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,8BAA8B,CAAC;IAElC,MAAM,iBAAiB,GAAG,SAAS;QAClC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;QAC1B,CAAC,CAAC,aAAa,CAAC;IAEjB,MAAM,eAAe,GAAG,SAAS;QAChC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;QAC1B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;IAI3B,MAAM,YAAY,GAAG,2BAA2B,KAAK,CAAC,OAAO,CAAC,OAAO,QAAQ,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,SAAS,KAAK,CAAC,OAAO,CAAC,OAAO,QAAQ,CAAC;IASvJ,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,IAAI,CAAC;IAC7B,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,cAAc,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/H,MAAM,WAAW,GAAG,aAAa,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAEzH,OAAO,CACN,MAAC,gBAAgB,IAChB,IAAI,QACJ,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,aAG/B,0BAAQ,eAAe,GAAS,EAEhC,eACC,KAAK,EAAE;oBACN,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;oBACvB,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;oBAC9C,UAAU,EAAE,wCAAwC;oBACpD,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,MAAM;iBAC9D,aAGD,cACC,KAAK,EAAE;4BACN,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;4BACtC,YAAY,EAAE,eAAe;4BAC7B,OAAO,EAAE,WAAW;4BACpB,KAAK,EAAE,GAAG,eAAe,IAAI;4BAC7B,SAAS,EAAE,YAAY;4BACvB,SAAS,EAAE,QAAQ;4BACnB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;4BACjC,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,GAAG;4BACf,KAAK,EAAE,eAAe;4BACtB,YAAY,EAAE,aAAa,iBAAiB,EAAE;4BAC9C,UAAU,EAAE,yCAAyC;yBACrD,YAEA,eAAe,GACX,EAGN,eACC,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE;4BACN,QAAQ,EAAE,UAAU;4BACpB,KAAK,EAAE,GAAG,eAAe,IAAI;4BAC7B,MAAM,EAAE,GAAG,gBAAgB,IAAI;4BAC/B,UAAU,EAAE,YAAY;4BACxB,YAAY,EAAE,eAAe;4BAC7B,QAAQ,EAAE,QAAQ;4BAClB,UAAU,EAAE,MAAM;4BAClB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BAC7B,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;4BAC3C,UAAU,EAAE,mBAAmB;yBAC/B,aAWD,cACC,KAAK,EAAE;oCACN,QAAQ,EAAE,UAAU;oCAGpB,IAAI,EAAE,IAAI,eAAe,IAAI;oCAC7B,GAAG,EAAE,IAAI,gBAAgB,IAAI;oCAC7B,KAAK,EAAE,GAAG,eAAe,GAAG,CAAC,IAAI;oCACjC,MAAM,EAAE,GAAG,gBAAgB,GAAG,CAAC,IAAI;oCACnC,aAAa,EAAE,MAAM;oCACrB,UAAU,EAAE,MAAM;oCAClB,SAAS,EAAE,WAAW;oCACtB,eAAe,EAAE,eAAe;oCAChC,MAAM,EAAE,QAAQ;oCAChB,UAAU,EAAE,QAAQ;wCACnB,CAAC,CAAC,MAAM;wCACR,CAAC,CAAC,mEAAmE;oCACtE,UAAU,EAAE,mBAAmB;iCAC/B,YAEA;oCAEA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oCACd,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oCACb,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oCACd,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oCACb,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oCACZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oCACb,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oCACd,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oCACb,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iCACd,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;oCAC5B,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;oCAC5B,OAAO,CACN,cAEC,GAAG,EAAE,UAAU,EACf,GAAG,EAAC,EAAE,EACN,SAAS,EAAE,KAAK,EAChB,KAAK,EAAE;4CACN,QAAQ,EAAE,UAAU;4CACpB,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,eAAe,IAAI;4CACzC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,gBAAgB,IAAI;4CACzC,KAAK,EAAE,GAAG,eAAe,IAAI;4CAC7B,MAAM,EAAE,GAAG,gBAAgB,IAAI;4CAC/B,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG;4CAChC,aAAa,EAAE,MAAM;4CACrB,UAAU,EAAE,MAAM;yCAClB,IAbI,GAAG,CAcP,CACF,CAAC;gCACH,CAAC,CAAC,GACG,EAEN,iBAUK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI;oCAC7C,SAAS,EAAE,sBAAsB;iCACjC,CAAC,EACF,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,qBAAqB,EACnC,KAAK,EAAE;oCACN,QAAQ,EAAE,UAAU;oCACpB,IAAI,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,IAAI;oCACjC,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,IAAI;oCAChC,KAAK,EAAE,GAAG,SAAS,IAAI;oCACvB,MAAM,EAAE,GAAG,SAAS,IAAI;oCACxB,eAAe,EAAE,OAAO,KAAK,GAAG;oCAChC,cAAc,EAAE,WAAW;oCAK3B,WAAW,EAAE,MAAM;oCACnB,MAAM,EAAE,UAAU;wCACjB,CAAC,CAAC,SAAS;wCACX,CAAC,CAAC,UAAU,CAAC,OAAO;4CACnB,CAAC,CAAC,UAAU;4CACZ,CAAC,CAAC,MAAM;oCACV,MAAM,EAAE,UAAU,CAAC,OAAO;wCACzB,CAAC,CAAC,6CAA6C;wCAC/C,CAAC,CAAC,4CAA4C;oCAC/C,UAAU,EAAE,UAAU,CAAC,OAAO;wCAC7B,CAAC,CAAC,MAAM;wCACR,CAAC,CAAC,iDAAiD;iCACpD,GACA,IACG,IACD,IACY,CACnB,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -439,6 +439,28 @@ describe("invisible mode", () => {
|
|
|
439
439
|
await execute();
|
|
440
440
|
expect(mocks.start).not.toHaveBeenCalled();
|
|
441
441
|
});
|
|
442
|
+
test("a targeted execute on the container runs a visible widget", async () => {
|
|
443
|
+
const target = document.createElement("div");
|
|
444
|
+
render(props({ container: target }));
|
|
445
|
+
await act(async () => {
|
|
446
|
+
target.dispatchEvent(new Event("procaptcha:execute"));
|
|
447
|
+
await Promise.resolve();
|
|
448
|
+
});
|
|
449
|
+
expect(mocks.start).toHaveBeenCalledTimes(1);
|
|
450
|
+
expect(canvas()).not.toBeNull();
|
|
451
|
+
});
|
|
452
|
+
test("a targeted execute on the container runs an invisible widget", async () => {
|
|
453
|
+
const target = document.createElement("div");
|
|
454
|
+
render(props({
|
|
455
|
+
config: config({ mode: ModeEnum.invisible }),
|
|
456
|
+
container: target,
|
|
457
|
+
}));
|
|
458
|
+
await act(async () => {
|
|
459
|
+
target.dispatchEvent(new Event("procaptcha:execute"));
|
|
460
|
+
await Promise.resolve();
|
|
461
|
+
});
|
|
462
|
+
expect(mocks.start).toHaveBeenCalledTimes(1);
|
|
463
|
+
});
|
|
442
464
|
test("an execute that yields no challenge shows no puzzle", async () => {
|
|
443
465
|
mocks.start.mockResolvedValue(undefined);
|
|
444
466
|
render(props({ config: config({ mode: ModeEnum.invisible }) }));
|