@prosopo/procaptcha-react 2.9.97 → 2.9.98

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 (66) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +7 -7
  2. package/.turbo/turbo-build$colon$tsc.log +21 -21
  3. package/.turbo/turbo-build.log +8 -8
  4. package/CHANGELOG.md +24 -0
  5. package/dist/cjs/components/CaptchaComponent.cjs +4 -5
  6. package/dist/cjs/components/CaptchaWidget.cjs +4 -12
  7. package/dist/cjs/components/ProcaptchaWidget.cjs +8 -6
  8. package/dist/components/CaptchaComponent.d.ts.map +1 -1
  9. package/dist/components/CaptchaComponent.js +4 -5
  10. package/dist/components/CaptchaComponent.js.map +1 -1
  11. package/dist/components/CaptchaWidget.d.ts.map +1 -1
  12. package/dist/components/CaptchaWidget.js +4 -12
  13. package/dist/components/CaptchaWidget.js.map +1 -1
  14. package/dist/components/ProcaptchaWidget.d.ts.map +1 -1
  15. package/dist/components/ProcaptchaWidget.js +8 -6
  16. package/dist/components/ProcaptchaWidget.js.map +1 -1
  17. package/dist/tests/button.unit.test.d.ts +2 -0
  18. package/dist/tests/button.unit.test.d.ts.map +1 -0
  19. package/dist/tests/button.unit.test.js +113 -0
  20. package/dist/tests/button.unit.test.js.map +1 -0
  21. package/dist/tests/captchaComponent.unit.test.d.ts +2 -0
  22. package/dist/tests/captchaComponent.unit.test.d.ts.map +1 -0
  23. package/dist/tests/captchaComponent.unit.test.js +141 -0
  24. package/dist/tests/captchaComponent.unit.test.js.map +1 -0
  25. package/dist/tests/captchaWidget.unit.test.d.ts +2 -0
  26. package/dist/tests/captchaWidget.unit.test.d.ts.map +1 -0
  27. package/dist/tests/captchaWidget.unit.test.js +191 -0
  28. package/dist/tests/captchaWidget.unit.test.js.map +1 -0
  29. package/dist/tests/collector.unit.test.d.ts +2 -0
  30. package/dist/tests/collector.unit.test.d.ts.map +1 -0
  31. package/dist/tests/collector.unit.test.js +109 -0
  32. package/dist/tests/collector.unit.test.js.map +1 -0
  33. package/dist/tests/harness.d.ts +12 -0
  34. package/dist/tests/harness.d.ts.map +1 -0
  35. package/dist/tests/harness.js +69 -0
  36. package/dist/tests/harness.js.map +1 -0
  37. package/dist/tests/modal.unit.test.d.ts +2 -0
  38. package/dist/tests/modal.unit.test.d.ts.map +1 -0
  39. package/dist/tests/modal.unit.test.js +72 -0
  40. package/dist/tests/modal.unit.test.js.map +1 -0
  41. package/dist/tests/procaptcha.unit.test.d.ts +2 -0
  42. package/dist/tests/procaptcha.unit.test.d.ts.map +1 -0
  43. package/dist/tests/procaptcha.unit.test.js +57 -0
  44. package/dist/tests/procaptcha.unit.test.js.map +1 -0
  45. package/dist/tests/procaptchaReact.test-d.d.ts +2 -0
  46. package/dist/tests/procaptchaReact.test-d.d.ts.map +1 -0
  47. package/dist/tests/procaptchaReact.test-d.js +72 -0
  48. package/dist/tests/procaptchaReact.test-d.js.map +1 -0
  49. package/dist/tests/procaptchaWidget.unit.test.d.ts +2 -0
  50. package/dist/tests/procaptchaWidget.unit.test.d.ts.map +1 -0
  51. package/dist/tests/procaptchaWidget.unit.test.js +403 -0
  52. package/dist/tests/procaptchaWidget.unit.test.js.map +1 -0
  53. package/dist/tests/render.d.ts +23 -0
  54. package/dist/tests/render.d.ts.map +1 -0
  55. package/dist/tests/render.js +77 -0
  56. package/dist/tests/render.js.map +1 -0
  57. package/dist/tests/setup.d.ts +5 -0
  58. package/dist/tests/setup.d.ts.map +1 -0
  59. package/dist/tests/setup.js +3 -0
  60. package/dist/tests/setup.js.map +1 -0
  61. package/dist/tests/util.unit.test.d.ts +2 -0
  62. package/dist/tests/util.unit.test.d.ts.map +1 -0
  63. package/dist/tests/util.unit.test.js +84 -0
  64. package/dist/tests/util.unit.test.js.map +1 -0
  65. package/package.json +8 -4
  66. package/vite.test.config.ts +28 -0
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/procaptcha-react@2.9.97 build:cjs
2
+ > @prosopo/procaptcha-react@2.9.98 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -14,8 +14,8 @@ ViteCommonJSConfig: .
14
14
  '/home/runner/work/captcha/captcha/packages/procaptcha/tsconfig.json',
15
15
  '/home/runner/work/captcha/captcha/packages/datasets/tsconfig.json',
16
16
  '/home/runner/work/captcha/captcha/packages/api/tsconfig.json',
17
- '/home/runner/work/captcha/captcha/packages/procaptcha-common/tsconfig.json',
18
17
  '/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json',
18
+ '/home/runner/work/captcha/captcha/packages/procaptcha-common/tsconfig.json',
19
19
  '/home/runner/work/captcha/captcha/packages/widget-skeleton/tsconfig.json',
20
20
  '/home/runner/work/captcha/captcha/packages/account/tsconfig.json',
21
21
  '/home/runner/work/captcha/captcha/packages/fingerprint/tsconfig.json',
@@ -34,8 +34,8 @@ ViteCommonJSConfig: .
34
34
  '@prosopo/procaptcha',
35
35
  '@prosopo/datasets',
36
36
  '@prosopo/api',
37
- '@prosopo/procaptcha-common',
38
37
  '@prosopo/load-balancer',
38
+ '@prosopo/procaptcha-common',
39
39
  '@prosopo/widget-skeleton',
40
40
  '@prosopo/account',
41
41
  '@prosopo/fingerprint',
@@ -57,8 +57,8 @@ dist/cjs/util/index.cjs 0.50 kB │ gzip: 0.32 kB
57
57
  dist/cjs/_virtual/_rolldown/runtime.cjs 1.00 kB │ gzip: 0.50 kB
58
58
  dist/cjs/components/Modal.cjs 1.55 kB │ gzip: 0.79 kB
59
59
  dist/cjs/components/Button.cjs 2.33 kB │ gzip: 1.06 kB
60
- dist/cjs/components/CaptchaWidget.cjs 3.72 kB │ gzip: 1.44 kB
61
- dist/cjs/components/CaptchaComponent.cjs 6.04 kB │ gzip: 1.52 kB
62
- dist/cjs/components/ProcaptchaWidget.cjs 6.08 kB │ gzip: 1.81 kB
60
+ dist/cjs/components/CaptchaWidget.cjs 3.50 kB │ gzip: 1.40 kB
61
+ dist/cjs/components/CaptchaComponent.cjs 5.95 kB │ gzip: 1.50 kB
62
+ dist/cjs/components/ProcaptchaWidget.cjs 6.01 kB │ gzip: 1.79 kB
63
63
 
64
- ✓ built in 50ms
64
+ ✓ built in 60ms
@@ -1,8 +1,8 @@
1
1
 
2
- > @prosopo/procaptcha-react@2.9.97 build:tsc
2
+ > @prosopo/procaptcha-react@2.9.98 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 8:59:38 PM - Projects in this build:
5
+ 12:36:47 PM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * ../locale/tsconfig.json
8
8
  * ../util/tsconfig.json
@@ -22,41 +22,41 @@
22
22
  * ../procaptcha/tsconfig.json
23
23
  * tsconfig.json
24
24
 
25
- 8:59:38 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
25
+ 12:36:47 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/index.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
26
26
 
27
- 8:59:38 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
27
+ 12:36:47 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
28
28
 
29
- 8:59:38 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
29
+ 12:36:47 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
30
30
 
31
- 8:59:38 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
31
+ 12:36:47 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
32
32
 
33
- 8:59:38 PM - 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'
33
+ 12:36:47 PM - 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'
34
34
 
35
- 8:59:38 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/provider/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
35
+ 12:36:47 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/provider/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
36
36
 
37
- 8:59:38 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/tests/utils/batches.unit.test.ts' is older than output '../common/tsconfig.tsbuildinfo'
37
+ 12:36:47 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
38
38
 
39
- 8:59:38 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/mocks/data/captchas.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
39
+ 12:36:47 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/dataset.unit.test.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
40
40
 
41
- 8:59:38 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
41
+ 12:36:47 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/tests/apiHarness.ts' is older than output '../api/tsconfig.tsbuildinfo'
42
42
 
43
- 8:59:39 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/tests/providers.unit.test.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
43
+ 12:36:47 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/tests/providers.unit.test.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
44
44
 
45
- 8:59:39 PM - Project '../widget-skeleton/tsconfig.json' is up to date because newest input '../widget-skeleton/src/index.ts' is older than output '../widget-skeleton/tsconfig.tsbuildinfo'
45
+ 12:36:47 PM - Project '../widget-skeleton/tsconfig.json' is up to date because newest input '../widget-skeleton/src/webComponent/createWidget.ts' is older than output '../widget-skeleton/tsconfig.tsbuildinfo'
46
46
 
47
- 8:59:39 PM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/utils/browser.ts' is older than output '../fingerprintjs/tsconfig.tsbuildinfo'
47
+ 12:36:47 PM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/utils/browser.ts' is older than output '../fingerprintjs/tsconfig.tsbuildinfo'
48
48
 
49
- 8:59:39 PM - Project '../fingerprint/tsconfig.json' is up to date because newest input '../fingerprint/src/index.ts' is older than output '../fingerprint/tsconfig.tsbuildinfo'
49
+ 12:36:47 PM - Project '../fingerprint/tsconfig.json' is up to date because newest input '../fingerprint/src/index.ts' is older than output '../fingerprint/tsconfig.tsbuildinfo'
50
50
 
51
- 8:59:39 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
51
+ 12:36:47 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
52
52
 
53
- 8:59:39 PM - Project '../account/tsconfig.json' is up to date because newest input '../account/src/tests/cryptoWorker.unit.test.ts' is older than output '../account/tsconfig.tsbuildinfo'
53
+ 12:36:47 PM - Project '../account/tsconfig.json' is up to date because newest input '../account/src/custom.d.ts' is older than output '../account/tsconfig.tsbuildinfo'
54
54
 
55
- 8:59:39 PM - Project '../procaptcha-common/tsconfig.json' is up to date because newest input '../procaptcha-common/src/tests/defaultEvents.test.ts' is older than output '../procaptcha-common/tsconfig.tsbuildinfo'
55
+ 12:36:47 PM - Project '../procaptcha-common/tsconfig.json' is up to date because newest input '../procaptcha-common/src/simdReadings.ts' is older than output '../procaptcha-common/tsconfig.tsbuildinfo'
56
56
 
57
- 8:59:39 PM - Project '../procaptcha/tsconfig.json' is up to date because newest input '../procaptcha/src/modules/Manager.ts' is older than output '../procaptcha/tsconfig.tsbuildinfo'
57
+ 12:36:47 PM - Project '../procaptcha/tsconfig.json' is up to date because newest input '../procaptcha/src/index.ts' is older than output '../procaptcha/tsconfig.tsbuildinfo'
58
58
 
59
- 8:59:39 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
59
+ 12:36:47 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
60
60
 
61
- 8:59:39 PM - Building project '/home/runner/work/captcha/captcha/packages/procaptcha-react/tsconfig.json'...
61
+ 12:36:47 PM - Building project '/home/runner/work/captcha/captcha/packages/procaptcha-react/tsconfig.json'...
62
62
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/procaptcha-react@2.9.97 build
2
+ > @prosopo/procaptcha-react@2.9.98 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/procaptcha-react@2.9.97 build:cross-env
6
+ > @prosopo/procaptcha-react@2.9.98 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -18,8 +18,8 @@ ViteEsmConfig: .
18
18
  '/home/runner/work/captcha/captcha/packages/procaptcha/tsconfig.json',
19
19
  '/home/runner/work/captcha/captcha/packages/datasets/tsconfig.json',
20
20
  '/home/runner/work/captcha/captcha/packages/api/tsconfig.json',
21
- '/home/runner/work/captcha/captcha/packages/procaptcha-common/tsconfig.json',
22
21
  '/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json',
22
+ '/home/runner/work/captcha/captcha/packages/procaptcha-common/tsconfig.json',
23
23
  '/home/runner/work/captcha/captcha/packages/widget-skeleton/tsconfig.json',
24
24
  '/home/runner/work/captcha/captcha/packages/account/tsconfig.json',
25
25
  '/home/runner/work/captcha/captcha/packages/fingerprint/tsconfig.json',
@@ -38,8 +38,8 @@ ViteEsmConfig: .
38
38
  '@prosopo/procaptcha',
39
39
  '@prosopo/datasets',
40
40
  '@prosopo/api',
41
- '@prosopo/procaptcha-common',
42
41
  '@prosopo/load-balancer',
42
+ '@prosopo/procaptcha-common',
43
43
  '@prosopo/widget-skeleton',
44
44
  '@prosopo/account',
45
45
  '@prosopo/fingerprint',
@@ -61,8 +61,8 @@ dist/components/Procaptcha.js 0.37 kB │ gzip: 0.24 kB
61
61
  dist/util/index.js 0.50 kB │ gzip: 0.33 kB
62
62
  dist/components/Modal.js 1.28 kB │ gzip: 0.70 kB
63
63
  dist/components/Button.js 2.19 kB │ gzip: 1.03 kB
64
- dist/components/CaptchaWidget.js 3.40 kB │ gzip: 1.41 kB
65
- dist/components/CaptchaComponent.js 5.11 kB │ gzip: 1.47 kB
66
- dist/components/ProcaptchaWidget.js 5.41 kB │ gzip: 1.77 kB
64
+ dist/components/CaptchaWidget.js 3.18 kB │ gzip: 1.36 kB
65
+ dist/components/CaptchaComponent.js 5.04 kB │ gzip: 1.45 kB
66
+ dist/components/ProcaptchaWidget.js 5.34 kB │ gzip: 1.75 kB
67
67
 
68
- ✓ built in 52ms
68
+ ✓ built in 53ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @prosopo/procaptcha-react
2
2
 
3
+ ## 2.9.98
4
+ ### Patch Changes
5
+
6
+ - 52a6d96: Add unit and type tests for the React image-captcha widget: the button, modal
7
+ portal, captcha grid and round component, the event collector, the lazy
8
+ boundary, and the widget itself (visible and invisible modes, honeypot,
9
+ autoStart, session invalidation, the procaptcha:execute event, language
10
+ handling and the checkbox flow). 174 tests, 98%+ statement, line and function
11
+ coverage.
12
+
13
+ Changes found while writing them:
14
+
15
+ - A failed `manager.start()` from a checkbox click left the loading spinner up
16
+ permanently, with no way back to the checkbox, and produced an unhandled
17
+ rejection.
18
+ - `CaptchaComponent` wrapped an out-of-range round index, silently rendering a
19
+ different round's images; it now rejects the index.
20
+ - Removed unreachable branches in `CaptchaWidget` and `ProcaptchaWidget` that
21
+ read touch coordinates off a React synthetic click, which never carries them.
22
+ This also removed the package's `any` and `@ts-ignore` uses: the image retry
23
+ counter now lives in a data attribute rather than an untyped property.
24
+ - Updated dependencies [cc022be]
25
+ - @prosopo/procaptcha@2.10.59
26
+
3
27
  ## 2.9.97
4
28
  ### Patch Changes
5
29
 
@@ -10,12 +10,11 @@ let _prosopo_util = require("@prosopo/util");
10
10
  //#region src/components/CaptchaComponent.tsx
11
11
  var CaptchaComponent = ({ challenge, index, solutions, onSubmit, onCancel, onClick, onNext, onReload, themeColor }) => {
12
12
  const { t } = (0, _prosopo_locale.useTranslation)();
13
- const captcha = challenge.captchas ? (0, _prosopo_util.at)(challenge.captchas, index) : null;
14
- const solution = solutions ? (0, _prosopo_util.at)(solutions, index) : [];
13
+ const captcha = (0, _prosopo_util.at)(challenge.captchas, index, { noWrap: true });
14
+ const solution = (0, _prosopo_util.at)(solutions, index, { noWrap: true });
15
15
  const theme = (0, react.useMemo)(() => themeColor === "light" ? _prosopo_widget_skeleton.lightTheme : _prosopo_widget_skeleton.darkTheme, [themeColor]);
16
16
  const doubleSpacing = `${theme.spacing.unit * 2}px`;
17
17
  const fullSpacing = `${theme.spacing.unit}px`;
18
- `${theme.spacing.half}`;
19
18
  return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(react.Suspense, {
20
19
  fallback: /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("div", { children: "Loading..." }),
21
20
  children: /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("div", {
@@ -72,7 +71,7 @@ var CaptchaComponent = ({ challenge, index, solutions, onSubmit, onCancel, onCli
72
71
  t("WIDGET.SELECT_ALL"),
73
72
  ":",
74
73
  "\xA0",
75
- /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("span", { children: `${(0, _prosopo_util.at)(challenge.captchas, index).target} ` })
74
+ /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("span", { children: `${captcha.target} ` })
76
75
  ]
77
76
  }), /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("p", {
78
77
  style: {
@@ -89,7 +88,7 @@ var CaptchaComponent = ({ challenge, index, solutions, onSubmit, onCancel, onCli
89
88
  /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("div", {
90
89
  ...require_index.default({ dev: { cy: `captcha-${index}` } }),
91
90
  style: { overflow: "hidden" },
92
- children: captcha && /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(require_CaptchaWidget.CaptchaWidget, {
91
+ children: /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(require_CaptchaWidget.CaptchaWidget, {
93
92
  challenge: captcha,
94
93
  solution,
95
94
  onClick,
@@ -11,7 +11,6 @@ var CaptchaWidget = ({ challenge, solution, onClick, themeColor }) => {
11
11
  const items = challenge.items;
12
12
  const theme = (0, react.useMemo)(() => themeColor === "light" ? _prosopo_widget_skeleton.lightTheme : _prosopo_widget_skeleton.darkTheme, [themeColor]);
13
13
  const fullSpacing = `${theme.spacing.unit}px`;
14
- `${theme.spacing.half}`;
15
14
  return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("div", {
16
15
  style: {
17
16
  width: "100%",
@@ -43,15 +42,7 @@ var CaptchaWidget = ({ challenge, solution, onClick, themeColor }) => {
43
42
  },
44
43
  onClick: (e) => {
45
44
  if (!e.isTrusted) return;
46
- if ("touches" in e && e.touches.length > 0 && e.touches[0]) {
47
- onClick(hash, e.touches[0].clientX, e.touches[0].clientY);
48
- return;
49
- }
50
- if ("clientX" in e && "clientY" in e) {
51
- onClick(hash, e.clientX, e.clientY);
52
- return;
53
- }
54
- onClick(hash, 0, 0);
45
+ onClick(hash, e.clientX, e.clientY);
55
46
  },
56
47
  children: [/* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("img", {
57
48
  style: {
@@ -69,8 +60,9 @@ var CaptchaWidget = ({ challenge, solution, onClick, themeColor }) => {
69
60
  alt: `Captcha image ${index + 1}`,
70
61
  onError: (e) => {
71
62
  const target = e.currentTarget;
72
- target._retryCount = (target._retryCount || 0) + 1;
73
- if (target._retryCount <= 3) target.src = `${item.data}?retry=${Date.now()}`;
63
+ const retryCount = Number(target.dataset.retryCount ?? "0") + 1;
64
+ target.dataset.retryCount = String(retryCount);
65
+ if (retryCount <= 3) target.src = `${item.data}?retry=${Date.now()}`;
74
66
  }
75
67
  }), /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("div", {
76
68
  style: {
@@ -119,10 +119,7 @@ var ProcaptchaWidget = (props) => {
119
119
  let x = 0;
120
120
  let y = 0;
121
121
  const nativeEvent = event.nativeEvent;
122
- if ("touches" in nativeEvent && nativeEvent.touches.length > 0 && nativeEvent.touches[0]) {
123
- x = nativeEvent.touches[0].clientX;
124
- y = nativeEvent.touches[0].clientY;
125
- } else if ("clientX" in nativeEvent && "clientY" in nativeEvent) {
122
+ if ("clientX" in nativeEvent && "clientY" in nativeEvent) {
126
123
  x = nativeEvent.clientX;
127
124
  y = nativeEvent.clientY;
128
125
  }
@@ -130,8 +127,13 @@ var ProcaptchaWidget = (props) => {
130
127
  x,
131
128
  y
132
129
  };
133
- await manager.current.start(x, y);
134
- setLoading(false);
130
+ try {
131
+ await manager.current.start(x, y);
132
+ } catch (error) {
133
+ console.error("Error starting verification:", error);
134
+ } finally {
135
+ setLoading(false);
136
+ }
135
137
  },
136
138
  checked: state.isHuman,
137
139
  labelText: isTranslationReady ? t("WIDGET.I_AM_HUMAN") : "",
@@ -1 +1 @@
1
- {"version":3,"file":"CaptchaComponent.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQ1D,MAAM,WAAW,qBAAqB;IACrC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAED,QAAA,MAAM,gBAAgB,gGAUnB,qBAAqB,qDAqLvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"CaptchaComponent.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQ1D,MAAM,WAAW,qBAAqB;IACrC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAED,QAAA,MAAM,gBAAgB,gGAUnB,qBAAqB,qDAsLvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -10,12 +10,11 @@ import { at } from "@prosopo/util";
10
10
  //#region src/components/CaptchaComponent.tsx
11
11
  var CaptchaComponent = ({ challenge, index, solutions, onSubmit, onCancel, onClick, onNext, onReload, themeColor }) => {
12
12
  const { t } = useTranslation();
13
- const captcha = challenge.captchas ? at(challenge.captchas, index) : null;
14
- const solution = solutions ? at(solutions, index) : [];
13
+ const captcha = at(challenge.captchas, index, { noWrap: true });
14
+ const solution = at(solutions, index, { noWrap: true });
15
15
  const theme = useMemo(() => themeColor === "light" ? lightTheme : darkTheme, [themeColor]);
16
16
  const doubleSpacing = `${theme.spacing.unit * 2}px`;
17
17
  const fullSpacing = `${theme.spacing.unit}px`;
18
- `${theme.spacing.half}`;
19
18
  return /* @__PURE__ */ jsx(Suspense, {
20
19
  fallback: /* @__PURE__ */ jsx("div", { children: "Loading..." }),
21
20
  children: /* @__PURE__ */ jsx("div", {
@@ -72,7 +71,7 @@ var CaptchaComponent = ({ challenge, index, solutions, onSubmit, onCancel, onCli
72
71
  t("WIDGET.SELECT_ALL"),
73
72
  ":",
74
73
  "\xA0",
75
- /* @__PURE__ */ jsx("span", { children: `${at(challenge.captchas, index).target} ` })
74
+ /* @__PURE__ */ jsx("span", { children: `${captcha.target} ` })
76
75
  ]
77
76
  }), /* @__PURE__ */ jsx("p", {
78
77
  style: {
@@ -89,7 +88,7 @@ var CaptchaComponent = ({ challenge, index, solutions, onSubmit, onCancel, onCli
89
88
  /* @__PURE__ */ jsx("div", {
90
89
  ...addDataAttr({ dev: { cy: `captcha-${index}` } }),
91
90
  style: { overflow: "hidden" },
92
- children: captcha && /* @__PURE__ */ jsx(CaptchaWidget, {
91
+ children: /* @__PURE__ */ jsx(CaptchaWidget, {
93
92
  challenge: captcha,
94
93
  solution,
95
94
  onClick,
@@ -1 +1 @@
1
- {"version":3,"file":"CaptchaComponent.js","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAcnD,MAAM,gBAAgB,GAAG,CAAC,EACzB,SAAS,EACT,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,UAAU,GACa,EAAE,EAAE;IAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,MAAM,KAAK,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,EACvD,CAAC,UAAU,CAAC,CACZ,CAAC;IACF,MAAM,aAAa,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;IACpD,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAC9C,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAE9C,OAAO,CACN,KAAC,QAAQ,IAAC,QAAQ,EAAE,uCAAqB,YACxC,cACC,KAAK,EAAE;gBAEN,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,MAAM;gBACjB,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,QAAQ;gBACvB,MAAM,EAAE,mBAAmB;gBAC3B,SAAS,EAAE,sCAAsC;gBACjD,YAAY,EAAE,KAAK;gBACnB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;gBACjD,UAAU,EAAE,MAAM;gBAClB,WAAW,EAAE,MAAM;gBACnB,kBAAkB,EAAE,MAAM;aAC1B,YAED,eACC,KAAK,EAAE;oBACN,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;oBACjD,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;oBACvB,QAAQ,EAAE,OAAO;oBACjB,UAAU,EAAE,WAAW;oBACvB,WAAW,EAAE,WAAW;oBACxB,cAAc,EAAE,QAAQ;iBACxB,aAED,cACC,KAAK,EAAE;4BACN,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,KAAK,EAAE,MAAM;yBACb,YAED,cACC,KAAK,EAAE;gCACN,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;gCAC3C,KAAK,EAAE,MAAM;gCACb,SAAS,EAAE,WAAW;6BACtB,YAED,eACC,KAAK,EAAE;oCACN,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI;oCAClC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;iCACjC,aAED,aACC,KAAK,EAAE;4CACN,KAAK,EAAE,SAAS;4CAChB,UAAU,EAAE,GAAG;4CACf,UAAU,EAAE,GAAG;yCACf,aAEA,CAAC,CAAC,mBAAmB,CAAC,EACtB,GAAG,YAEJ,yBAAO,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,GAAQ,IACtD,EACJ,YACC,KAAK,EAAE;4CACN,KAAK,EAAE,SAAS;4CAChB,UAAU,EAAE,GAAG;4CACf,UAAU,EAAE,GAAG;4CACf,QAAQ,EAAE,QAAQ;yCAClB,YAEA,CAAC,CAAC,2BAA2B,CAAC,GAC5B,IACC,GACD,GACD,EACN,iBACK,WAAW,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,WAAW,KAAK,EAAE,EAAE,EAAE,CAAC,EACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAE5B,OAAO,IAAI,CACX,KAAC,aAAa,IACb,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,GACrB,CACF,GACI,EACN,cACC,KAAK,EAAE;4BACN,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,cAAc,EAAE,eAAe;4BAC/B,UAAU,EAAE,IAAI;4BAChB,OAAO,EAAE,GAAG,WAAW,MAAM,aAAa,IAAI;yBAC9C,YAED,eACC,KAAK,EAAE;gCAEN,KAAK,EAAE,MAAM;gCACb,MAAM,EAAE,MAAM;gCAEd,OAAO,EAAE,MAAM;gCACf,aAAa,EAAE,KAAK;gCACpB,cAAc,EAAE,eAAe;gCAC/B,GAAG,EAAE,MAAM;6BACX,aAED,cACC,KAAK,EAAE;wCACN,QAAQ,EAAE,UAAU;wCACpB,QAAQ,EAAE,CAAC;wCAEX,SAAS,EAAE,sBAAsB;qCACjC,YAED,KAAC,MAAM,IACN,UAAU,EAAE,UAAU,EACtB,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,gBACZ,CAAC,CAAC,eAAe,CAAC,GAC7B,GACG,EACN,cACC,KAAK,EAAE;wCACN,QAAQ,EAAE,UAAU;wCACpB,QAAQ,EAAE,CAAC;wCAEX,SAAS,EAAE,sBAAsB;qCACjC,YAED,KAAC,YAAY,IAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAI,GACvD,EACN,cACC,KAAK,EAAE;wCACN,QAAQ,EAAE,UAAU;wCACpB,QAAQ,EAAE,CAAC;wCAEX,SAAS,EAAE,sBAAsB;qCACjC,YAED,KAAC,MAAM,IACN,UAAU,EAAE,UAAU,EACtB,UAAU,EAAC,MAAM,EACjB,IAAI,EACH,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;4CACpC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;4CAClB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAEtB,OAAO,EACN,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,gBAGzD,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;4CACpC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;4CAClB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,aAEb,aAAa,GACrB,GACG,IACD,GACD,IACD,GACD,GACI,CACX,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"CaptchaComponent.js","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaWidget.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAM9C,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAYD,eAAO,MAAM,aAAa,kDAKvB,kBAAkB,qDAwIpB,CAAC"}
1
+ {"version":3,"file":"CaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaWidget.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,gBAAgB,CAAC;AAM1D,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAcD,eAAO,MAAM,aAAa,kDAKvB,kBAAkB,qDAqIpB,CAAC"}
@@ -11,7 +11,6 @@ var CaptchaWidget = ({ challenge, solution, onClick, themeColor }) => {
11
11
  const items = challenge.items;
12
12
  const theme = useMemo(() => themeColor === "light" ? lightTheme : darkTheme, [themeColor]);
13
13
  const fullSpacing = `${theme.spacing.unit}px`;
14
- `${theme.spacing.half}`;
15
14
  return /* @__PURE__ */ jsx("div", {
16
15
  style: {
17
16
  width: "100%",
@@ -43,15 +42,7 @@ var CaptchaWidget = ({ challenge, solution, onClick, themeColor }) => {
43
42
  },
44
43
  onClick: (e) => {
45
44
  if (!e.isTrusted) return;
46
- if ("touches" in e && e.touches.length > 0 && e.touches[0]) {
47
- onClick(hash, e.touches[0].clientX, e.touches[0].clientY);
48
- return;
49
- }
50
- if ("clientX" in e && "clientY" in e) {
51
- onClick(hash, e.clientX, e.clientY);
52
- return;
53
- }
54
- onClick(hash, 0, 0);
45
+ onClick(hash, e.clientX, e.clientY);
55
46
  },
56
47
  children: [/* @__PURE__ */ jsx("img", {
57
48
  style: {
@@ -69,8 +60,9 @@ var CaptchaWidget = ({ challenge, solution, onClick, themeColor }) => {
69
60
  alt: `Captcha image ${index + 1}`,
70
61
  onError: (e) => {
71
62
  const target = e.currentTarget;
72
- target._retryCount = (target._retryCount || 0) + 1;
73
- if (target._retryCount <= 3) target.src = `${item.data}?retry=${Date.now()}`;
63
+ const retryCount = Number(target.dataset.retryCount ?? "0") + 1;
64
+ target.dataset.retryCount = String(retryCount);
65
+ if (retryCount <= 3) target.src = `${item.data}?retry=${Date.now()}`;
74
66
  }
75
67
  }), /* @__PURE__ */ jsx("div", {
76
68
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"CaptchaWidget.js","sourceRoot":"","sources":["../../src/components/CaptchaWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaptchaWidget.js","sourceRoot":"","sources":["../../src/components/CaptchaWidget.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProcaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAS9E,QAAA,MAAM,gBAAgB,UAAW,eAAe,qDAgM/C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"ProcaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAS9E,QAAA,MAAM,gBAAgB,UAAW,eAAe,qDAuM/C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -120,10 +120,7 @@ var ProcaptchaWidget = (props) => {
120
120
  let x = 0;
121
121
  let y = 0;
122
122
  const nativeEvent = event.nativeEvent;
123
- if ("touches" in nativeEvent && nativeEvent.touches.length > 0 && nativeEvent.touches[0]) {
124
- x = nativeEvent.touches[0].clientX;
125
- y = nativeEvent.touches[0].clientY;
126
- } else if ("clientX" in nativeEvent && "clientY" in nativeEvent) {
123
+ if ("clientX" in nativeEvent && "clientY" in nativeEvent) {
127
124
  x = nativeEvent.clientX;
128
125
  y = nativeEvent.clientY;
129
126
  }
@@ -131,8 +128,13 @@ var ProcaptchaWidget = (props) => {
131
128
  x,
132
129
  y
133
130
  };
134
- await manager.current.start(x, y);
135
- setLoading(false);
131
+ try {
132
+ await manager.current.start(x, y);
133
+ } catch (error) {
134
+ console.error("Error starting verification:", error);
135
+ } finally {
136
+ setLoading(false);
137
+ }
136
138
  },
137
139
  checked: state.isHuman,
138
140
  labelText: isTranslationReady ? t("WIDGET.I_AM_HUMAN") : "",
@@ -1 +1 @@
1
- {"version":3,"file":"ProcaptchaWidget.js","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EACN,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAwB,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AAEtD,MAAM,gBAAgB,GAAG,CAAC,KAAsB,EAAE,EAAE;IACnD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAO7C,MAAM,OAAO,GAAG,MAAM,CACrB,OAAO,CACN,MAAM,EACN,KAAK,EACL,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,SAAS,CACvC,CACD,CAAC;IAGF,MAAM,aAAa,GAAG,MAAM,CAAkC,IAAI,CAAC,CAAC;IACpE,MAAM,0BAA0B,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC7B,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvC,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO;QACR,CAAC;QAKD,KAAK,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,OAAO;QAC7B,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;QACjC,aAAa,CAAC,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC;QACvC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACzD,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACvB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CACvB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO;QACzB,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,0BAA0B;YAAE,OAAO;QAC3D,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC;YACvE,0BAA0B,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC;YACrC,KAAK,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO;QACR,CAAC;QACD,IAAI,iBAAiB,EAAE,CAAC;YACvB,UAAU,CAAC,GAAG,EAAE;gBACf,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;QACT,CAAC;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAGjE,SAAS,CAAC,GAAG,EAAE;QAEd,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,EAAE;YAE3C,WAAW,CAAC;gBACX,SAAS,EAAE,IAAI;aACf,CAAC,CAAC;YAGH,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;gBAClE,IAAI,CAAC;oBACJ,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACzB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACtD,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAC;QAGxE,OAAO,GAAG,EAAE;YACX,QAAQ,CAAC,mBAAmB,CAC3B,wBAAwB,EACxB,kBAAkB,CAClB,CAAC;QACH,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CACxC,KAAC,QAAQ,IAAC,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,GAAI,CAC/D,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,CACN,8BACE,QAAQ,EACT,KAAC,KAAK,IAAC,IAAI,EAAE,KAAK,CAAC,SAAS,YAC1B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAClB,KAAC,gBAAgB,IAChB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAChC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAChC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAC/B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,EACjC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAChC,UAAU,EAAE,MAAM,CAAC,KAAK,IAAI,OAAO,GAClC,CACF,CAAC,CAAC,CAAC,IAAI,GACD,IACN,CACH,CAAC;IACH,CAAC;IAED,OAAO,CACN,eAAK,SAAS,EAAE,eAAe,aAC7B,QAAQ,EACT,KAAC,KAAK,IAAC,IAAI,EAAE,KAAK,CAAC,SAAS,YAC1B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAClB,KAAC,gBAAgB,IAChB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAChC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAChC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAC/B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,EACjC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAChC,UAAU,EAAE,MAAM,CAAC,KAAK,IAAI,OAAO,GAClC,CACF,CAAC,CAAC,CAAC,CACH,8CAA4B,CAC5B,GACM,EACR,KAAC,cAAc,IAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,GAAI,EACzD,KAAC,QAAQ,IACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,EAAE,KAA0C,EAAE,EAAE;oBAC9D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBACtB,OAAO;oBACR,CAAC;oBAED,IAAI,OAAO,EAAE,CAAC;wBACb,OAAO;oBACR,CAAC;oBACD,UAAU,CAAC,IAAI,CAAC,CAAC;oBAEjB,IAAI,CAAC,GAAG,CAAC,CAAC;oBACV,IAAI,CAAC,GAAG,CAAC,CAAC;oBACV,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;oBACtC,IACC,SAAS,IAAI,WAAW;wBACxB,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;wBAC9B,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EACrB,CAAC;wBACF,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;wBACnC,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACpC,CAAC;yBAAM,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;wBACjE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;wBACxB,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;oBACzB,CAAC;oBAED,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;oBACjC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC,EACD,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,EAC3D,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,gBAChB,gBAAgB,EAC3B,OAAO,EAAE,OAAO,GACf,IACG,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"ProcaptchaWidget.js","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=button.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.unit.test.d.ts","sourceRoot":"","sources":["../../src/tests/button.unit.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,113 @@
1
+ import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
+ import { darkTheme, lightTheme } from "@prosopo/widget-skeleton";
3
+ import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
4
+ import Button from "../components/Button.js";
5
+ import { asRgb, fire, fireAndReturn, mount } from "./render.js";
6
+ let mounted;
7
+ const onClick = vi.fn();
8
+ const render = (props = {}) => {
9
+ mounted.render(_jsx(Button, { themeColor: props.themeColor ?? "light", buttonType: props.buttonType ?? "next", text: props.text ?? "Next", onClick: onClick }));
10
+ const button = mounted.container.querySelector("button");
11
+ if (!button)
12
+ throw new Error("expected a button to be rendered");
13
+ return button;
14
+ };
15
+ beforeEach(() => {
16
+ vi.clearAllMocks();
17
+ process.env.NODE_ENV = "test";
18
+ mounted = mount();
19
+ });
20
+ afterEach(() => {
21
+ mounted.unmount();
22
+ });
23
+ describe("what the button renders", () => {
24
+ test("shows its text and labels itself with it", () => {
25
+ const button = render({ text: "Submit" });
26
+ expect(button.textContent).toBe("Submit");
27
+ expect(button.getAttribute("aria-label")).toBe("Submit");
28
+ });
29
+ test("renders an empty label without falling over", () => {
30
+ const button = render({ text: "" });
31
+ expect(button.textContent).toBe("");
32
+ });
33
+ test("carries the test hook naming its role", () => {
34
+ const button = render({ buttonType: "cancel" });
35
+ expect(button.getAttribute("data-cy")).toBe("button-cancel");
36
+ });
37
+ test("drops the test hook in a production build", () => {
38
+ process.env.NODE_ENV = "production";
39
+ const button = render({ buttonType: "cancel" });
40
+ expect(button.getAttribute("data-cy")).toBeNull();
41
+ });
42
+ });
43
+ describe("theming", () => {
44
+ test("a light button takes its border from the light theme", () => {
45
+ const button = render({ themeColor: "light" });
46
+ expect(button.style.borderColor).toBe(asRgb(lightTheme.palette.grey[500]));
47
+ });
48
+ test("a dark button takes its border from the dark theme", () => {
49
+ const button = render({ themeColor: "dark" });
50
+ expect(button.style.borderColor).toBe(asRgb(darkTheme.palette.grey[500]));
51
+ });
52
+ test("a cancel button is transparent until it is hovered", () => {
53
+ const button = render({ buttonType: "cancel" });
54
+ expect(button.style.backgroundColor).toBe("transparent");
55
+ });
56
+ test("a next button is filled with the background colour", () => {
57
+ const button = render({ buttonType: "next" });
58
+ expect(button.style.backgroundColor).toBe(asRgb(lightTheme.palette.background.default));
59
+ });
60
+ test("hovering a cancel button reveals the grey fill", () => {
61
+ const button = render({ buttonType: "cancel" });
62
+ fire(button, "mouseover");
63
+ expect(button.style.backgroundColor).toBe(asRgb(lightTheme.palette.grey[600]));
64
+ });
65
+ test("hovering a next button reveals the primary fill", () => {
66
+ const button = render({ buttonType: "next" });
67
+ fire(button, "mouseover");
68
+ expect(button.style.backgroundColor).toBe(asRgb(lightTheme.palette.primary.main));
69
+ });
70
+ test("leaving the button puts the resting fill back", () => {
71
+ const button = render({ buttonType: "next" });
72
+ fire(button, "mouseover");
73
+ fire(button, "mouseout");
74
+ expect(button.style.backgroundColor).toBe(asRgb(lightTheme.palette.background.default));
75
+ });
76
+ test("hover switches the text to the contrast colour", () => {
77
+ const button = render();
78
+ expect(button.style.color).toBe(asRgb(lightTheme.palette.background.contrastText));
79
+ fire(button, "mouseover");
80
+ expect(button.style.color).toBe(asRgb(lightTheme.palette.primary.contrastText));
81
+ });
82
+ test("re-rendering with the same theme keeps the styling stable", () => {
83
+ const button = render({ themeColor: "dark" });
84
+ const before = button.getAttribute("style");
85
+ render({ themeColor: "dark" });
86
+ expect(button.getAttribute("style")).toBe(before);
87
+ });
88
+ });
89
+ describe("clicking", () => {
90
+ test("a real click calls the handler", () => {
91
+ fire(render(), "click");
92
+ expect(onClick).toHaveBeenCalledTimes(1);
93
+ });
94
+ test("a synthetic click is ignored", () => {
95
+ fire(render(), "click", { trusted: false });
96
+ expect(onClick).not.toHaveBeenCalled();
97
+ });
98
+ test("a real click does not submit the surrounding form", () => {
99
+ const event = fireAndReturn(render(), "click");
100
+ expect(event.defaultPrevented).toBe(true);
101
+ });
102
+ test("an ignored click leaves the event alone", () => {
103
+ const event = fireAndReturn(render(), "click", { trusted: false });
104
+ expect(event.defaultPrevented).toBe(false);
105
+ });
106
+ test("every click is reported, not just the first", () => {
107
+ const button = render();
108
+ fire(button, "click");
109
+ fire(button, "click");
110
+ expect(onClick).toHaveBeenCalledTimes(2);
111
+ });
112
+ });
113
+ //# sourceMappingURL=button.unit.test.js.map