@prosopo/procaptcha-react 2.9.21 → 2.9.66

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 (41) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +9 -13
  2. package/.turbo/turbo-build$colon$tsc.log +62 -0
  3. package/.turbo/turbo-build.log +14 -14
  4. package/CHANGELOG.md +453 -0
  5. package/README.md +34 -84
  6. package/dist/cjs/components/ProcaptchaWidget.cjs +24 -16
  7. package/dist/components/Button.d.ts +11 -0
  8. package/dist/components/Button.d.ts.map +1 -0
  9. package/dist/components/Button.js.map +1 -0
  10. package/dist/components/CaptchaComponent.d.ts +15 -0
  11. package/dist/components/CaptchaComponent.d.ts.map +1 -0
  12. package/dist/components/CaptchaComponent.js.map +1 -0
  13. package/dist/components/CaptchaWidget.d.ts +9 -0
  14. package/dist/components/CaptchaWidget.d.ts.map +1 -0
  15. package/dist/components/CaptchaWidget.js.map +1 -0
  16. package/dist/components/Modal.d.ts +8 -0
  17. package/dist/components/Modal.d.ts.map +1 -0
  18. package/dist/components/Modal.js.map +1 -0
  19. package/dist/components/Procaptcha.d.ts +14 -0
  20. package/dist/components/Procaptcha.d.ts.map +1 -0
  21. package/dist/components/Procaptcha.js.map +1 -0
  22. package/dist/components/ProcaptchaWidget.d.ts +4 -0
  23. package/dist/components/ProcaptchaWidget.d.ts.map +1 -0
  24. package/dist/components/ProcaptchaWidget.js +26 -18
  25. package/dist/components/ProcaptchaWidget.js.map +1 -0
  26. package/dist/components/collector.d.ts +9 -0
  27. package/dist/components/collector.d.ts.map +1 -0
  28. package/dist/components/collector.js +26 -0
  29. package/dist/components/collector.js.map +1 -0
  30. package/dist/components/index.d.ts +6 -0
  31. package/dist/components/index.d.ts.map +1 -0
  32. package/dist/components/index.js.map +1 -0
  33. package/dist/index.d.ts +3 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/util/index.d.ts +9 -0
  37. package/dist/util/index.d.ts.map +1 -0
  38. package/dist/util/index.js.map +1 -0
  39. package/package.json +13 -11
  40. package/vite.cjs.config.ts +1 -1
  41. package/vite.esm.config.ts +1 -1
package/README.md CHANGED
@@ -1,121 +1,71 @@
1
1
  # Prosopo Procaptcha React Component Library
2
2
 
3
- React components for integrating the Prosopo [procaptcha](https://github.com/prosopo/procaptcha) into a React app.
3
+ React components for integrating [Prosopo Procaptcha](https://prosopo.io) into a React app.
4
4
 
5
- Prosopo is a distributed human verification service that can be used to stop bots from interacting with your apps.
6
- Sign up to be a network [beta tester](https://prosopo.io/#signup).
5
+ Procaptcha is a drop-in replacement for reCAPTCHA, hCaptcha, and Cloudflare Turnstile that protects user privacy and collects zero data. [Sign up for free](https://prosopo.io/register) to get your site key.
7
6
 
8
7
  ## Installation
9
8
 
10
- You can install this library with:
11
-
12
9
  ```bash
13
10
  npm install @prosopo/procaptcha-react --save
14
11
  ```
15
12
 
16
13
  ## Basic Usage
17
14
 
18
- See the [client example](https://github.com/prosopo/client-example) for a minimal example of these components being used
19
- in a frontend app.
15
+ ```tsx
16
+ import { Procaptcha } from "@prosopo/procaptcha-react"
20
17
 
21
- ```jsx
22
- <Procaptcha config={config} callbacks={{ onError, onHuman, onExpired }} />
18
+ <Procaptcha config={config} callbacks={{ onHuman, onError, onExpired }} />
23
19
  ```
24
20
 
25
- ### Callbacks
21
+ See the [client example](https://github.com/prosopo/captcha/tree/main/demos/client-example) for a working demo.
26
22
 
27
- `ProcaptchaEvents` are passed to the captcha component at creation.
23
+ ### Callbacks
28
24
 
29
- The captcha event callbacks are defined as follows:
25
+ All callbacks are optional via `ProcaptchaCallbacks`:
30
26
 
31
- ```typescript
32
- /**
33
- * A list of all events which can occur during the Procaptcha process.
34
- */
35
- export interface ProcaptchaEvents {
36
- onError: (error: Error) => void
37
- onHuman: (output: ProcaptchaOutput) => void
38
- onExtensionNotFound: () => void
39
- onExpired: () => void
40
- onFailed: () => void
41
- }
42
- ```
27
+ | Callback | Description |
28
+ | ---------------------- | --------------------------------------------------------------- |
29
+ | `onHuman` | Called when the user passes the challenge. Receives a token. |
30
+ | `onError` | Called when an error occurs. Receives an `Error` object. |
31
+ | `onExpired` | Called when the challenge expires (user took too long). |
32
+ | `onFailed` | Called when the user fails the challenge. |
33
+ | `onClose` | Called when the challenge modal is closed. |
34
+ | `onOpen` | Called when the challenge modal is opened. |
35
+ | `onReset` | Called when the challenge is reset. |
36
+ | `onExtensionNotFound` | Called when a required browser extension is not found. |
43
37
 
44
38
  ### onHuman
45
39
 
46
- The `onHuman` callback is called when the user has successfully completed the captcha challenge. The `ProcaptchaOutput`
47
- object contains the following fields:
48
-
49
- | Key | Type | Description |
50
- | ------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------- |
51
- | commitmentId | string | The commitment ID of the captcha challenge. This is used to verify the user's response on-chain. |
52
- | providerUrl | string | The URL of the provider that the user used to solve the captcha challenge. |
53
- | dapp | string | The SITE_KEY of your application / website |
54
- | user | string | The user's account address |
55
- | blockNumber | number | The block number of the captcha challenge. This is used to verify that the contacted provider was randomly selected on-chain. |
56
-
57
- ### onError
58
-
59
- The `onError` callback is called when an error occurs during the captcha process. The `Error` object is a standard
60
- JavaScript error.
61
-
62
- ### onExpired
40
+ The `onHuman` callback receives a `ProcaptchaToken` (a hex-encoded string) that should be sent to your backend for server-side verification.
63
41
 
64
- The `onExpired` callback is called when the captcha challenge has expired. This can occur if the user takes too long to
65
- complete the challenge.
42
+ ## Config
66
43
 
67
- ### onFailed
68
-
69
- The `onFailed` callback is called when the user has failed the captcha challenge. This can occur if the user answers the
70
- challenge incorrectly.
71
-
72
- ## Add the Procaptcha Widget to your Web page using a React Component
73
-
74
- You can see Procaptcha being used as a React component in
75
- our [React Demo](https://github.com/prosopo/captcha/blob/main/demos/client-example/src/App.tsx).
76
-
77
- The Procaptcha component is called as follows:
78
-
79
- ```tsx
80
- <Procaptcha config={config} callbacks={{ onError, onHuman, onExpired }} />
81
- ```
82
-
83
- A config object is required and must contain your SITE_KEY. The callbacks are optional and can be used to handle the
84
- various Procaptcha events. The following config demonstrates the `PROSOPO_SITE_KEY` variable being pulled from
85
- environment variables.
44
+ The config requires your site key. All other fields are optional.
86
45
 
87
46
  ```tsx
88
47
  const config: ProcaptchaClientConfigInput = {
89
48
  account: {
90
49
  address: process.env.PROSOPO_SITE_KEY || undefined,
91
50
  },
92
- web2: 'true',
93
- dappName: 'client-example',
94
- defaultEnvironment: 'rococo',
95
- networks: {
96
- rococo: {
97
- endpoint: 'wss://rococo-contracts-rpc.polkadot.io:443',
98
- contract: {
99
- address: '5HiVWQhJrysNcFNEWf2crArKht16zrhro3FcekVWocyQjx5u',
100
- name: 'prosopo',
101
- },
102
- },
103
- },
51
+ web2: true,
52
+ dappName: "my-app",
104
53
  solutionThreshold: 80,
105
54
  }
106
55
  ```
107
56
 
108
57
  ### Config Options
109
58
 
110
- | Key | Type | Description |
111
- | ------------------ | ------ | --------------------------------------------------------------------------------------- |
112
- | account | string | The SITE_KEY you received when you signed up |
113
- | web2 | string | Set to `true` to enable web2 support |
114
- | dappName | string | The name of your application / website |
115
- | defaultEnvironment | string | The default environment to use - set to `rococo` |
116
- | networks | object | The networks your application supports - copy paste this from the config above |
117
- | solutionThreshold | number | The percentage of captcha that a user must have answered correctly to identify as human |
59
+ | Key | Type | Default | Description |
60
+ | ----------------- | ------- | -------------------- | -------------------------------------------------------------- |
61
+ | account.address | string | (required) | The site key you received when you signed up |
62
+ | web2 | boolean | `true` | Set to `true` for standard web usage |
63
+ | dappName | string | `"ProsopoClientDapp"`| The name of your application |
64
+ | solutionThreshold | number | `80` | Percentage of correct answers required to pass (0-100) |
65
+ | theme | string | `"light"` | `"light"` or `"dark"` |
66
+ | mode | string | `"visible"` | `"visible"` or `"invisible"` |
67
+ | language | string | (auto) | Language override |
118
68
 
119
- ## Verify the User Response Server Side
69
+ ## Server-side Verification
120
70
 
121
- Please see the main [README](https://github.com/prosopo/captcha/blob/main/README.md) for instructions on how to implement the server side of Procaptcha.
71
+ Use the [@prosopo/server](https://github.com/prosopo/captcha/tree/main/packages/server) package to verify the token on your backend. See the [docs](https://docs.prosopo.io) for full integration instructions.
@@ -17,12 +17,14 @@ const ProcaptchaWidget = (props) => {
17
17
  const callbacks = props.callbacks || {};
18
18
  const [state, updateState] = procaptchaCommon.useProcaptcha(React.useState, React.useRef);
19
19
  const [loading, setLoading] = React.useState(false);
20
+ const hpRef = React.useRef(null);
20
21
  const manager = procaptcha.Manager(
21
22
  config,
22
23
  state,
23
24
  updateState,
24
25
  callbacks,
25
- frictionlessState
26
+ frictionlessState,
27
+ () => hpRef.current?.value || void 0
26
28
  );
27
29
  const theme = "light" === props.config.theme ? widgetSkeleton.lightTheme : widgetSkeleton.darkTheme;
28
30
  React.useEffect(() => {
@@ -45,7 +47,7 @@ const ProcaptchaWidget = (props) => {
45
47
  if (state.error.key === "CAPTCHA.NO_SESSION_FOUND" && frictionlessState) {
46
48
  setTimeout(() => {
47
49
  frictionlessState.restart();
48
- }, 3e3);
50
+ }, 100);
49
51
  }
50
52
  }
51
53
  }, [state.error, frictionlessState]);
@@ -71,23 +73,28 @@ const ProcaptchaWidget = (props) => {
71
73
  );
72
74
  };
73
75
  }, [manager, state.challenge, updateState]);
76
+ const honeypot = frictionlessState?.hp ? /* @__PURE__ */ jsxRuntime.jsx(procaptchaCommon.Honeypot, { ref: hpRef, encodedQuestion: frictionlessState.hp }) : null;
74
77
  if (config.mode === "invisible") {
75
- return /* @__PURE__ */ jsxRuntime.jsx(Modal, { show: state.showModal, children: state.challenge ? /* @__PURE__ */ jsxRuntime.jsx(
76
- CaptchaComponent,
77
- {
78
- challenge: state.challenge,
79
- index: state.index,
80
- solutions: state.solutions,
81
- onSubmit: manager.submit,
82
- onCancel: manager.cancel,
83
- onClick: manager.select,
84
- onNext: manager.nextRound,
85
- onReload: manager.reload,
86
- themeColor: config.theme ?? "light"
87
- }
88
- ) : null });
78
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
79
+ honeypot,
80
+ /* @__PURE__ */ jsxRuntime.jsx(Modal, { show: state.showModal, children: state.challenge ? /* @__PURE__ */ jsxRuntime.jsx(
81
+ CaptchaComponent,
82
+ {
83
+ challenge: state.challenge,
84
+ index: state.index,
85
+ solutions: state.solutions,
86
+ onSubmit: manager.submit,
87
+ onCancel: manager.cancel,
88
+ onClick: manager.select,
89
+ onNext: manager.nextRound,
90
+ onReload: manager.reload,
91
+ themeColor: config.theme ?? "light"
92
+ }
93
+ ) : null })
94
+ ] });
89
95
  }
90
96
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "image-captcha", children: [
97
+ honeypot,
91
98
  /* @__PURE__ */ jsxRuntime.jsx(Modal, { show: state.showModal, children: state.challenge ? /* @__PURE__ */ jsxRuntime.jsx(
92
99
  CaptchaComponent,
93
100
  {
@@ -102,6 +109,7 @@ const ProcaptchaWidget = (props) => {
102
109
  themeColor: config.theme ?? "light"
103
110
  }
104
111
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: "No challenge set." }) }),
112
+ /* @__PURE__ */ jsxRuntime.jsx(procaptchaCommon.TestModeBanner, { siteKey: config.account.address ?? "" }),
105
113
  /* @__PURE__ */ jsxRuntime.jsx(
106
114
  procaptchaCommon.Checkbox,
107
115
  {
@@ -0,0 +1,11 @@
1
+ import type React from "react";
2
+ import { type ButtonHTMLAttributes } from "react";
3
+ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
+ themeColor: "light" | "dark";
5
+ buttonType: "cancel" | "next";
6
+ onClick: () => void;
7
+ text: string;
8
+ }
9
+ declare const Button: React.FC<ButtonProps>;
10
+ export default Button;
11
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACN,KAAK,oBAAoB,EAIzB,MAAM,OAAO,CAAC;AAGf,UAAU,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACpE,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACb;AA4BD,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAsDjC,CAAC;AACF,eAAe,MAAM,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { CaptchaResponseBody } from "@prosopo/types";
2
+ export interface CaptchaComponentProps {
3
+ challenge: CaptchaResponseBody;
4
+ index: number;
5
+ solutions: [string, number, number][][];
6
+ onSubmit: () => void;
7
+ onCancel: () => void;
8
+ onClick: (hash: string, x?: number, y?: number) => void;
9
+ onNext: () => void;
10
+ onReload: () => void;
11
+ themeColor: "light" | "dark";
12
+ }
13
+ declare const CaptchaComponent: ({ challenge, index, solutions, onSubmit, onCancel, onClick, onNext, onReload, themeColor, }: CaptchaComponentProps) => import("@emotion/react/jsx-runtime").JSX.Element;
14
+ export default CaptchaComponent;
15
+ //# sourceMappingURL=CaptchaComponent.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CaptchaComponent.js","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Captcha } from "@prosopo/types";
2
+ export interface CaptchaWidgetProps {
3
+ challenge: Captcha;
4
+ solution: [string, number, number][];
5
+ onClick: (hash: string, x: number, y: number) => void;
6
+ themeColor: "light" | "dark";
7
+ }
8
+ export declare const CaptchaWidget: ({ challenge, solution, onClick, themeColor, }: CaptchaWidgetProps) => import("@emotion/react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=CaptchaWidget.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CaptchaWidget.js","sourceRoot":"","sources":["../../src/components/CaptchaWidget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ type ModalProps = {
3
+ show: boolean;
4
+ children: React.ReactNode;
5
+ };
6
+ declare const ModalComponent: React.MemoExoticComponent<(props: ModalProps) => React.ReactPortal>;
7
+ export default ModalComponent;
8
+ //# sourceMappingURL=Modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../src/components/Modal.tsx"],"names":[],"mappings":"AAeA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,KAAK,UAAU,GAAG;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAuBF,QAAA,MAAM,cAAc,oCAAsB,UAAU,uBAqBlD,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/components/Modal.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAA6B,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAMzC,MAAM,gBAAgB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;CAmB3B,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAiB,EAAE,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,gBAAgB,GAAkB;QACvC,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,CAAC;QACR,OAAO;QACP,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,OAAO;KAClB,CAAC;IAEF,OAAO,YAAY,CAClB,cAAK,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,gBAAgB,YAC1D,cAAK,SAAS,EAAC,oBAAoB,EAAC,GAAG,EAAE,gBAAgB,YACvD,QAAQ,GACJ,GACD,EACN,QAAQ,CAAC,IAAI,CACb,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Ti18n } from "@prosopo/locale";
2
+ import type { FrictionlessState, ProcaptchaCallbacks, ProcaptchaClientConfigInput } from "@prosopo/types";
3
+ import { type LazyExoticComponent } from "react";
4
+ import type { ReactElement } from "react";
5
+ declare const ProcaptchaWidget: LazyExoticComponent<(props: {
6
+ config: ProcaptchaClientConfigInput;
7
+ callbacks: ProcaptchaCallbacks;
8
+ frictionlessState?: FrictionlessState;
9
+ i18n: Ti18n;
10
+ }) => ReactElement>;
11
+ type ProcaptchaProps = React.ComponentProps<typeof ProcaptchaWidget>;
12
+ declare const Procaptcha: (props: ProcaptchaProps) => import("@emotion/react/jsx-runtime").JSX.Element;
13
+ export default Procaptcha;
14
+ //# sourceMappingURL=Procaptcha.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Procaptcha.d.ts","sourceRoot":"","sources":["../../src/components/Procaptcha.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EACX,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,mBAAmB,EAAkB,MAAM,OAAO,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,QAAA,MAAM,gBAAgB,EAAE,mBAAmB,CAC1C,CAAC,KAAK,EAAE;IACP,MAAM,EAAE,2BAA2B,CAAC;IACpC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,IAAI,EAAE,KAAK,CAAC;CACZ,KAAK,YAAY,CACkC,CAAC;AACtD,KAAK,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAErE,QAAA,MAAM,UAAU,UAAW,eAAe,qDAIzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Procaptcha.js","sourceRoot":"","sources":["../../src/components/Procaptcha.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAA4B,QAAQ,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAIjE,MAAM,gBAAgB,GAOlB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAGtD,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE,CAAC,CAC9C,KAAC,QAAQ,cACR,KAAC,gBAAgB,OAAK,KAAK,GAAI,GACrB,CACX,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type ProcaptchaProps } from "@prosopo/types";
2
+ declare const ProcaptchaWidget: (props: ProcaptchaProps) => import("@emotion/react/jsx-runtime").JSX.Element;
3
+ export default ProcaptchaWidget;
4
+ //# sourceMappingURL=ProcaptchaWidget.d.ts.map
@@ -0,0 +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,qDAkJ/C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,7 +1,7 @@
1
- import { jsx, jsxs } from "@emotion/react/jsx-runtime";
1
+ import { jsx, jsxs, Fragment } from "@emotion/react/jsx-runtime";
2
2
  import { useTranslation, loadI18next } from "@prosopo/locale";
3
3
  import { Manager } from "@prosopo/procaptcha";
4
- import { useProcaptcha, Checkbox } from "@prosopo/procaptcha-common";
4
+ import { useProcaptcha, Honeypot, TestModeBanner, Checkbox } from "@prosopo/procaptcha-common";
5
5
  import { ProcaptchaConfigSchema } from "@prosopo/types";
6
6
  import { lightTheme, darkTheme } from "@prosopo/widget-skeleton";
7
7
  import { useState, useRef, useEffect } from "react";
@@ -16,12 +16,14 @@ const ProcaptchaWidget = (props) => {
16
16
  const callbacks = props.callbacks || {};
17
17
  const [state, updateState] = useProcaptcha(useState, useRef);
18
18
  const [loading, setLoading] = useState(false);
19
+ const hpRef = useRef(null);
19
20
  const manager = Manager(
20
21
  config,
21
22
  state,
22
23
  updateState,
23
24
  callbacks,
24
- frictionlessState
25
+ frictionlessState,
26
+ () => hpRef.current?.value || void 0
25
27
  );
26
28
  const theme = "light" === props.config.theme ? lightTheme : darkTheme;
27
29
  useEffect(() => {
@@ -44,7 +46,7 @@ const ProcaptchaWidget = (props) => {
44
46
  if (state.error.key === "CAPTCHA.NO_SESSION_FOUND" && frictionlessState) {
45
47
  setTimeout(() => {
46
48
  frictionlessState.restart();
47
- }, 3e3);
49
+ }, 100);
48
50
  }
49
51
  }
50
52
  }, [state.error, frictionlessState]);
@@ -70,23 +72,28 @@ const ProcaptchaWidget = (props) => {
70
72
  );
71
73
  };
72
74
  }, [manager, state.challenge, updateState]);
75
+ const honeypot = frictionlessState?.hp ? /* @__PURE__ */ jsx(Honeypot, { ref: hpRef, encodedQuestion: frictionlessState.hp }) : null;
73
76
  if (config.mode === "invisible") {
74
- return /* @__PURE__ */ jsx(ModalComponent, { show: state.showModal, children: state.challenge ? /* @__PURE__ */ jsx(
75
- CaptchaComponent,
76
- {
77
- challenge: state.challenge,
78
- index: state.index,
79
- solutions: state.solutions,
80
- onSubmit: manager.submit,
81
- onCancel: manager.cancel,
82
- onClick: manager.select,
83
- onNext: manager.nextRound,
84
- onReload: manager.reload,
85
- themeColor: config.theme ?? "light"
86
- }
87
- ) : null });
77
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
78
+ honeypot,
79
+ /* @__PURE__ */ jsx(ModalComponent, { show: state.showModal, children: state.challenge ? /* @__PURE__ */ jsx(
80
+ CaptchaComponent,
81
+ {
82
+ challenge: state.challenge,
83
+ index: state.index,
84
+ solutions: state.solutions,
85
+ onSubmit: manager.submit,
86
+ onCancel: manager.cancel,
87
+ onClick: manager.select,
88
+ onNext: manager.nextRound,
89
+ onReload: manager.reload,
90
+ themeColor: config.theme ?? "light"
91
+ }
92
+ ) : null })
93
+ ] });
88
94
  }
89
95
  return /* @__PURE__ */ jsxs("div", { className: "image-captcha", children: [
96
+ honeypot,
90
97
  /* @__PURE__ */ jsx(ModalComponent, { show: state.showModal, children: state.challenge ? /* @__PURE__ */ jsx(
91
98
  CaptchaComponent,
92
99
  {
@@ -101,6 +108,7 @@ const ProcaptchaWidget = (props) => {
101
108
  themeColor: config.theme ?? "light"
102
109
  }
103
110
  ) : /* @__PURE__ */ jsx("div", { children: "No challenge set." }) }),
111
+ /* @__PURE__ */ jsx(TestModeBanner, { siteKey: config.account.address ?? "" }),
104
112
  /* @__PURE__ */ jsx(
105
113
  Checkbox,
106
114
  {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcaptchaWidget.js","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Account, StoredEvents } from "@prosopo/types";
2
+ type CollectorProps = {
3
+ onProcessData: (data: StoredEvents) => void;
4
+ sendData: boolean;
5
+ account: Account | undefined;
6
+ };
7
+ declare const Collector: ({ onProcessData, sendData, account }: CollectorProps) => import("@emotion/react/jsx-runtime").JSX.Element;
8
+ export default Collector;
9
+ //# sourceMappingURL=collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/components/collector.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,OAAO,EAIP,YAAY,EACZ,MAAM,gBAAgB,CAAC;AAGxB,KAAK,cAAc,GAAG;IACrB,aAAa,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,SAAS,yCAA0C,cAAc,qDAgCtE,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
+ import { startCollector } from "@prosopo/procaptcha";
3
+ import { useEffect, useRef, useState } from "react";
4
+ const Collector = ({ onProcessData, sendData, account }) => {
5
+ const [mouseEvents, setStoredMouseEvents] = useState([]);
6
+ const [touchEvents, setStoredTouchEvents] = useState([]);
7
+ const [keyboardEvents, setStoredKeyboardEvents] = useState([]);
8
+ const ref = useRef(null);
9
+ useEffect(() => {
10
+ if (ref?.current) {
11
+ startCollector(setStoredMouseEvents, setStoredTouchEvents, setStoredKeyboardEvents, ref.current);
12
+ }
13
+ }, []);
14
+ useEffect(() => {
15
+ const userEvents = {
16
+ mouseEvents,
17
+ touchEvents,
18
+ keyboardEvents,
19
+ };
20
+ if (account)
21
+ onProcessData(userEvents);
22
+ }, [onProcessData, account]);
23
+ return _jsx("div", { ref: ref });
24
+ };
25
+ export default Collector;
26
+ //# sourceMappingURL=collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../src/components/collector.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQrD,OAAO,EAAyB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQ3E,MAAM,SAAS,GAAG,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAkB,EAAE,EAAE;IAC1E,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAC;IAC9E,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAC;IAC9E,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAExD,EAAE,CAAC,CAAC;IAEN,MAAM,GAAG,GACR,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;YAClB,cAAc,CACb,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,GAAG,CAAC,OAAO,CACX,CAAC;QACH,CAAC;IACF,CAAC,EAAE,EAAE,CAAC,CAAC;IAGP,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,UAAU,GAAG;YAClB,WAAW;YACX,WAAW;YACX,cAAc;SACd,CAAC;QACF,IAAI,OAAO;YAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7B,OAAO,cAAK,GAAG,EAAE,GAAG,GAAI,CAAC;AAC1B,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./CaptchaWidget.js";
2
+ export * from "./CaptchaComponent.js";
3
+ export { default as ProcaptchaWidget } from "./ProcaptchaWidget.js";
4
+ export { default as Procaptcha } from "./Procaptcha.js";
5
+ export * from "./Procaptcha.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAaA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAaA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./components/index.js";
2
+ export * from "./util/index.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export default function addDataAttr({ general, dev, }: {
2
+ general?: {
3
+ [key: string]: string;
4
+ };
5
+ dev?: {
6
+ [key: string]: string;
7
+ };
8
+ }): {};
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EACnC,OAAO,EACP,GAAG,GACH,EAAE;IACF,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpC,GAAG,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAChC,MAOA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAaA,SAAS,qBAAqB,CAAC,OAAkC,EAAE;IAClE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAE9B,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAC3D,EAAE,CACF,CAAC;AACH,CAAC;AAOD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EACnC,OAAO,EACP,GAAG,GAIH;IACA,OAAO;QACN,GAAG,qBAAqB,CAAC,OAAO,CAAC;QACjC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YACxC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC;YAC5B,CAAC,CAAC,EAAE,CAAC;KACN,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/procaptcha-react",
3
- "version": "2.9.21",
3
+ "version": "2.9.66",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/index.js",
@@ -21,26 +21,27 @@
21
21
  "source": "./src/index.ts",
22
22
  "scripts": {
23
23
  "clean": "del-cli --verbose dist tsconfig.tsbuildinfo",
24
- "build": "NODE_ENV=${NODE_ENV:-development}; vite build --config vite.esm.config.ts --mode $NODE_ENV",
24
+ "build": "npm run build:cross-env -- --mode ${NODE_ENV:-development}",
25
+ "build:cross-env": "vite build --config vite.esm.config.ts",
25
26
  "build:tsc": "tsc --build --verbose",
26
27
  "build:cjs": "NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV",
27
28
  "typecheck": "tsc --project tsconfig.types.json"
28
29
  },
29
30
  "browserslist": ["> 0.5%, last 2 versions, not dead"],
30
31
  "dependencies": {
31
- "@prosopo/common": "3.1.26",
32
- "@prosopo/locale": "3.1.26",
33
- "@prosopo/procaptcha": "2.9.21",
34
- "@prosopo/procaptcha-common": "2.9.19",
35
- "@prosopo/types": "3.6.4",
36
- "@prosopo/util": "3.2.4",
37
- "@prosopo/widget-skeleton": "2.7.12",
32
+ "@prosopo/common": "3.1.38",
33
+ "@prosopo/locale": "3.2.4",
34
+ "@prosopo/procaptcha": "2.10.27",
35
+ "@prosopo/procaptcha-common": "2.10.17",
36
+ "@prosopo/types": "4.3.0",
37
+ "@prosopo/util": "3.2.15",
38
+ "@prosopo/widget-skeleton": "2.8.3",
38
39
  "csstype": "3.1.3",
39
40
  "react": "18.3.1",
40
41
  "react-dom": "18.3.1"
41
42
  },
42
43
  "devDependencies": {
43
- "@prosopo/config": "3.1.26",
44
+ "@prosopo/config": "3.3.1",
44
45
  "@emotion/react": "11.11.1",
45
46
  "@types/node": "22.10.2",
46
47
  "@types/react-dom": "18.3.1",
@@ -56,7 +57,8 @@
56
57
  },
57
58
  "repository": {
58
59
  "type": "git",
59
- "url": "git+https://github.com/prosopo/captcha.git"
60
+ "url": "git+https://github.com/prosopo/captcha.git",
61
+ "directory": "packages/procaptcha-react"
60
62
  },
61
63
  "bugs": {
62
64
  "url": "https://github.com/prosopo/captcha/issues"