@prosopo/procaptcha-bundle 1.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const types = require("@prosopo/types");
5
- const procaptchaReact = require("@prosopo/procaptcha-react");
6
4
  const procaptchaFrictionless = require("@prosopo/procaptcha-frictionless");
7
5
  const procaptchaPow = require("@prosopo/procaptcha-pow");
6
+ const procaptchaReact = require("@prosopo/procaptcha-react");
7
+ const types = require("@prosopo/types");
8
8
  const util = require("@prosopo/util");
9
9
  const client = require("react-dom/client");
10
10
  const BUNDLE_NAME = "procaptcha.bundle.js";
@@ -40,11 +40,14 @@ const getParentForm = (element) => element.closest("form");
40
40
  const getWindowCallback = (callbackName) => {
41
41
  const fn = window[callbackName.replace("window.", "")];
42
42
  if (typeof fn !== "function") {
43
- throw new Error(`Callback ${callbackName} is not defined on the window object`);
43
+ throw new Error(
44
+ `Callback ${callbackName} is not defined on the window object`
45
+ );
44
46
  }
45
47
  return fn;
46
48
  };
47
49
  const handleOnHuman = (element, token) => {
50
+ removeProcaptchaResponse();
48
51
  const form = getParentForm(element);
49
52
  if (!form) {
50
53
  console.error("Parent form not found for the element:", element);
@@ -61,19 +64,32 @@ const validateTheme = (themeAttribute) => customThemeSet.has(themeAttribute) ? t
61
64
  const setValidChallengeLength = (renderOptions, element, config) => {
62
65
  const challengeValidLengthAttribute = renderOptions?.["challenge-valid-length"] || element.getAttribute("data-challenge-valid-length");
63
66
  if (challengeValidLengthAttribute) {
64
- config.captchas.image.solutionTimeout = parseInt(challengeValidLengthAttribute);
65
- config.captchas.pow.solutionTimeout = parseInt(challengeValidLengthAttribute);
67
+ config.captchas.image.solutionTimeout = Number.parseInt(
68
+ challengeValidLengthAttribute
69
+ );
70
+ config.captchas.pow.solutionTimeout = Number.parseInt(
71
+ challengeValidLengthAttribute
72
+ );
66
73
  }
67
74
  };
75
+ const removeProcaptchaResponse = () => {
76
+ const element = Array.from(
77
+ document.getElementsByName(types.ApiParams.procaptchaResponse)
78
+ );
79
+ element.map((el) => el.remove());
80
+ };
68
81
  const getDefaultCallbacks = (element) => ({
69
82
  onHuman: (token) => handleOnHuman(element, token),
70
83
  onChallengeExpired: () => {
84
+ removeProcaptchaResponse();
71
85
  console.log("Challenge expired");
72
86
  },
73
87
  onExpired: () => {
88
+ removeProcaptchaResponse();
74
89
  alert("Completed challenge has expired, please try again");
75
90
  },
76
91
  onError: (error) => {
92
+ removeProcaptchaResponse();
77
93
  console.error(error);
78
94
  },
79
95
  onClose: () => {
@@ -89,32 +105,64 @@ const setTheme = (renderOptions, element, config) => {
89
105
  };
90
106
  function setUserCallbacks(renderOptions, callbacks, element) {
91
107
  if (typeof renderOptions?.callback === "function") {
92
- callbacks.onHuman = renderOptions.callback;
108
+ const fn = renderOptions.callback;
109
+ callbacks.onHuman = (token) => {
110
+ handleOnHuman(element, token);
111
+ fn(token);
112
+ };
93
113
  } else {
94
114
  const callbackName = typeof renderOptions?.callback === "string" ? renderOptions?.callback : element.getAttribute("data-callback");
95
115
  if (callbackName)
96
- callbacks.onHuman = getWindowCallback(callbackName);
116
+ callbacks.onHuman = (token) => {
117
+ handleOnHuman(element, token);
118
+ const fn = getWindowCallback(callbackName);
119
+ fn(token);
120
+ };
97
121
  }
98
- if (typeof renderOptions?.["chalexpired-callback"] === "function") {
99
- callbacks.onChallengeExpired = renderOptions["chalexpired-callback"];
122
+ if (renderOptions && renderOptions["chalexpired-callback"] && typeof renderOptions["chalexpired-callback"] === "function") {
123
+ const fn = renderOptions["chalexpired-callback"];
124
+ callbacks.onChallengeExpired = () => {
125
+ removeProcaptchaResponse();
126
+ fn();
127
+ };
100
128
  } else {
101
129
  const chalExpiredCallbackName = typeof renderOptions?.["chalexpired-callback"] === "string" ? renderOptions?.["chalexpired-callback"] : element.getAttribute("data-chalexpired-callback");
102
130
  if (chalExpiredCallbackName)
103
- callbacks.onChallengeExpired = getWindowCallback(chalExpiredCallbackName);
131
+ callbacks.onChallengeExpired = () => {
132
+ const fn = getWindowCallback(chalExpiredCallbackName);
133
+ removeProcaptchaResponse();
134
+ fn();
135
+ };
104
136
  }
105
- if (typeof renderOptions?.["expired-callback"] === "function") {
106
- callbacks.onExpired = renderOptions["expired-callback"];
137
+ if (renderOptions && renderOptions["expired-callback"] && typeof renderOptions["expired-callback"] === "function") {
138
+ const fn = renderOptions["expired-callback"];
139
+ callbacks.onExpired = () => {
140
+ removeProcaptchaResponse();
141
+ fn();
142
+ };
107
143
  } else {
108
144
  const onExpiredCallbackName = typeof renderOptions?.["expired-callback"] === "string" ? renderOptions?.["expired-callback"] : element.getAttribute("data-expired-callback");
109
145
  if (onExpiredCallbackName)
110
- callbacks.onExpired = getWindowCallback(onExpiredCallbackName);
146
+ callbacks.onExpired = () => {
147
+ const fn = getWindowCallback(onExpiredCallbackName);
148
+ removeProcaptchaResponse();
149
+ fn();
150
+ };
111
151
  }
112
- if (typeof renderOptions?.["error-callback"] === "function") {
113
- callbacks.onError = renderOptions["error-callback"];
152
+ if (renderOptions && renderOptions?.["error-callback"] && typeof renderOptions["error-callback"] === "function") {
153
+ const fn = renderOptions["error-callback"];
154
+ callbacks.onError = () => {
155
+ removeProcaptchaResponse();
156
+ fn();
157
+ };
114
158
  } else {
115
159
  const errorCallbackName = typeof renderOptions?.["error-callback"] === "string" ? renderOptions?.["error-callback"] : element.getAttribute("data-error-callback");
116
160
  if (errorCallbackName)
117
- callbacks.onError = getWindowCallback(errorCallbackName);
161
+ callbacks.onError = () => {
162
+ const fn = getWindowCallback(errorCallbackName);
163
+ removeProcaptchaResponse();
164
+ fn();
165
+ };
118
166
  }
119
167
  if (typeof renderOptions?.["close-callback"] === "function") {
120
168
  callbacks.onClose = renderOptions["close-callback"];
@@ -134,26 +182,34 @@ function setUserCallbacks(renderOptions, callbacks, element) {
134
182
  }
135
183
  }
136
184
  const renderLogic = (elements, config, renderOptions) => {
137
- elements.forEach((element) => {
185
+ for (const element of elements) {
138
186
  const callbacks = getDefaultCallbacks(element);
139
187
  setUserCallbacks(renderOptions, callbacks, element);
140
188
  setTheme(renderOptions, element, config);
141
189
  setValidChallengeLength(renderOptions, element, config);
142
190
  switch (renderOptions?.captchaType) {
143
191
  case "pow":
144
- client.createRoot(element).render(/* @__PURE__ */ jsxRuntime.jsx(procaptchaPow.ProcaptchaPow, { config, callbacks }));
192
+ client.createRoot(element).render(
193
+ /* @__PURE__ */ jsxRuntime.jsx(procaptchaPow.ProcaptchaPow, { config, callbacks })
194
+ );
145
195
  break;
146
196
  case "frictionless":
147
- client.createRoot(element).render(/* @__PURE__ */ jsxRuntime.jsx(procaptchaFrictionless.ProcaptchaFrictionless, { config, callbacks }));
197
+ client.createRoot(element).render(
198
+ /* @__PURE__ */ jsxRuntime.jsx(procaptchaFrictionless.ProcaptchaFrictionless, { config, callbacks })
199
+ );
148
200
  break;
149
201
  default:
150
- client.createRoot(element).render(/* @__PURE__ */ jsxRuntime.jsx(procaptchaReact.Procaptcha, { config, callbacks }));
202
+ client.createRoot(element).render(
203
+ /* @__PURE__ */ jsxRuntime.jsx(procaptchaReact.Procaptcha, { config, callbacks })
204
+ );
151
205
  break;
152
206
  }
153
- });
207
+ }
154
208
  };
155
209
  const implicitRender = () => {
156
- const elements = Array.from(document.getElementsByClassName("procaptcha"));
210
+ const elements = Array.from(
211
+ document.getElementsByClassName("procaptcha")
212
+ );
157
213
  if (elements.length) {
158
214
  const siteKey = util.at(elements, 0).getAttribute("data-sitekey");
159
215
  if (!siteKey) {
@@ -161,7 +217,9 @@ const implicitRender = () => {
161
217
  return;
162
218
  }
163
219
  const features = Object.values(types.FeaturesEnum);
164
- const captchaType = features.find((feature) => feature === util.at(elements, 0).getAttribute("data-captcha-type")) || "frictionless";
220
+ const captchaType = features.find(
221
+ (feature) => feature === util.at(elements, 0).getAttribute("data-captcha-type")
222
+ ) || "frictionless";
165
223
  renderLogic(elements, getConfig(siteKey), { captchaType, siteKey });
166
224
  }
167
225
  };
package/dist/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
- import { Features, ProcaptchaToken } from '@prosopo/types';
1
+ import { type Features, type ProcaptchaToken } from "@prosopo/types";
2
2
  interface ProcaptchaRenderOptions {
3
3
  siteKey: string;
4
- theme?: 'light' | 'dark';
4
+ theme?: "light" | "dark";
5
5
  captchaType?: Features;
6
6
  callback?: string | ((token: ProcaptchaToken) => void);
7
- 'challenge-valid-length'?: string;
8
- 'chalexpired-callback'?: string | (() => void);
9
- 'expired-callback'?: string | (() => void);
10
- 'open-callback'?: string | (() => void);
11
- 'close-callback'?: string | (() => void);
12
- 'error-callback'?: string | (() => void);
7
+ "challenge-valid-length"?: string;
8
+ "chalexpired-callback"?: string | (() => void);
9
+ "expired-callback"?: string | (() => void);
10
+ "open-callback"?: string | (() => void);
11
+ "close-callback"?: string | (() => void);
12
+ "error-callback"?: string | (() => void);
13
13
  }
14
14
  export declare const render: (element: Element, renderOptions: ProcaptchaRenderOptions) => void;
15
15
  export default function ready(fn: () => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAaA,OAAO,EAGH,QAAQ,EAMR,eAAe,EAClB,MAAM,gBAAgB,CAAA;AAOvB,UAAU,uBAAuB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,CAAA;IACtD,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,sBAAsB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;IAC9C,kBAAkB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;IAC1C,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;IACvC,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;IACxC,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;CAC3C;AA+OD,eAAO,MAAM,MAAM,YAAa,OAAO,iBAAiB,uBAAuB,SAI9E,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,EAAE,MAAM,IAAI,QAQ3C;AAGD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,UAAU,EAAE;YAAE,KAAK,EAAE,OAAO,KAAK,CAAC;YAAC,MAAM,EAAE,OAAO,MAAM,CAAA;SAAE,CAAA;KAC7D;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAGL,KAAK,QAAQ,EAMb,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAIxB,UAAU,uBAAuB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,CAAC;IACvD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/C,kBAAkB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3C,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;CAC1C;AAoUD,eAAO,MAAM,MAAM,YACR,OAAO,iBACD,uBAAuB,SAKvC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,EAAE,MAAM,IAAI,QAQ3C;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,EAAE;YAAE,KAAK,EAAE,OAAO,KAAK,CAAC;YAAC,MAAM,EAAE,OAAO,MAAM,CAAA;SAAE,CAAC;KAC5D;CACF"}
package/dist/index.js CHANGED
@@ -1,26 +1,26 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { ApiParams, EnvironmentTypesSchema, FeaturesEnum, NetworkNamesSchema, ProcaptchaConfigSchema, } from '@prosopo/types';
3
- import { Procaptcha } from '@prosopo/procaptcha-react';
4
- import { ProcaptchaFrictionless } from '@prosopo/procaptcha-frictionless';
5
- import { ProcaptchaPow } from '@prosopo/procaptcha-pow';
6
- import { at } from '@prosopo/util';
7
- import { createRoot } from 'react-dom/client';
8
- const BUNDLE_NAME = 'procaptcha.bundle.js';
2
+ import { ProcaptchaFrictionless } from "@prosopo/procaptcha-frictionless";
3
+ import { ProcaptchaPow } from "@prosopo/procaptcha-pow";
4
+ import { Procaptcha } from "@prosopo/procaptcha-react";
5
+ import { ApiParams, EnvironmentTypesSchema, FeaturesEnum, NetworkNamesSchema, ProcaptchaConfigSchema, } from "@prosopo/types";
6
+ import { at } from "@prosopo/util";
7
+ import { createRoot } from "react-dom/client";
8
+ const BUNDLE_NAME = "procaptcha.bundle.js";
9
9
  const getProcaptchaScript = () => document.querySelector(`script[src*="${BUNDLE_NAME}"]`);
10
10
  const extractParams = (name) => {
11
11
  const script = getProcaptchaScript();
12
12
  if (script && script.src.indexOf(`${name}`) !== -1) {
13
- const params = new URLSearchParams(script.src.split('?')[1]);
13
+ const params = new URLSearchParams(script.src.split("?")[1]);
14
14
  return {
15
- onloadUrlCallback: params.get('onload') || undefined,
16
- renderExplicit: params.get('render') || undefined,
15
+ onloadUrlCallback: params.get("onload") || undefined,
16
+ renderExplicit: params.get("render") || undefined,
17
17
  };
18
18
  }
19
19
  return { onloadUrlCallback: undefined, renderExplicit: undefined };
20
20
  };
21
21
  const getConfig = (siteKey) => {
22
22
  if (!siteKey) {
23
- siteKey = process.env.PROSOPO_SITE_KEY || '';
23
+ siteKey = process.env.PROSOPO_SITE_KEY || "";
24
24
  }
25
25
  return ProcaptchaConfigSchema.parse({
26
26
  defaultEnvironment: process.env.PROSOPO_DEFAULT_ENVIRONMENT
@@ -29,160 +29,208 @@ const getConfig = (siteKey) => {
29
29
  defaultNetwork: process.env.PROSOPO_DEFAULT_NETWORK
30
30
  ? NetworkNamesSchema.parse(process.env.PROSOPO_DEFAULT_NETWORK)
31
31
  : NetworkNamesSchema.enum.development,
32
- userAccountAddress: '',
32
+ userAccountAddress: "",
33
33
  account: {
34
34
  address: siteKey,
35
35
  },
36
- serverUrl: process.env.PROSOPO_SERVER_URL || '',
37
- mongoAtlasUri: process.env.PROSOPO_MONGO_EVENTS_URI || '',
38
- devOnlyWatchEvents: process.env._DEV_ONLY_WATCH_EVENTS === 'true' || false,
36
+ serverUrl: process.env.PROSOPO_SERVER_URL || "",
37
+ mongoAtlasUri: process.env.PROSOPO_MONGO_EVENTS_URI || "",
38
+ devOnlyWatchEvents: process.env._DEV_ONLY_WATCH_EVENTS === "true" || false,
39
39
  });
40
40
  };
41
- const getParentForm = (element) => element.closest('form');
41
+ const getParentForm = (element) => element.closest("form");
42
42
  const getWindowCallback = (callbackName) => {
43
- const fn = window[callbackName.replace('window.', '')];
44
- if (typeof fn !== 'function') {
43
+ const fn = window[callbackName.replace("window.", "")];
44
+ if (typeof fn !== "function") {
45
45
  throw new Error(`Callback ${callbackName} is not defined on the window object`);
46
46
  }
47
47
  return fn;
48
48
  };
49
49
  const handleOnHuman = (element, token) => {
50
+ removeProcaptchaResponse();
50
51
  const form = getParentForm(element);
51
52
  if (!form) {
52
- console.error('Parent form not found for the element:', element);
53
+ console.error("Parent form not found for the element:", element);
53
54
  return;
54
55
  }
55
- const input = document.createElement('input');
56
- input.type = 'hidden';
56
+ const input = document.createElement("input");
57
+ input.type = "hidden";
57
58
  input.name = ApiParams.procaptchaResponse;
58
59
  input.value = token;
59
60
  form.appendChild(input);
60
61
  };
61
- const customThemeSet = new Set(['light', 'dark']);
62
- const validateTheme = (themeAttribute) => customThemeSet.has(themeAttribute) ? themeAttribute : 'light';
62
+ const customThemeSet = new Set(["light", "dark"]);
63
+ const validateTheme = (themeAttribute) => customThemeSet.has(themeAttribute)
64
+ ? themeAttribute
65
+ : "light";
63
66
  const setValidChallengeLength = (renderOptions, element, config) => {
64
- const challengeValidLengthAttribute = renderOptions?.['challenge-valid-length'] || element.getAttribute('data-challenge-valid-length');
67
+ const challengeValidLengthAttribute = renderOptions?.["challenge-valid-length"] ||
68
+ element.getAttribute("data-challenge-valid-length");
65
69
  if (challengeValidLengthAttribute) {
66
- config.captchas.image.solutionTimeout = parseInt(challengeValidLengthAttribute);
67
- config.captchas.pow.solutionTimeout = parseInt(challengeValidLengthAttribute);
70
+ config.captchas.image.solutionTimeout = Number.parseInt(challengeValidLengthAttribute);
71
+ config.captchas.pow.solutionTimeout = Number.parseInt(challengeValidLengthAttribute);
68
72
  }
69
73
  };
74
+ const removeProcaptchaResponse = () => {
75
+ const element = Array.from(document.getElementsByName(ApiParams.procaptchaResponse));
76
+ element.map((el) => el.remove());
77
+ };
70
78
  const getDefaultCallbacks = (element) => ({
71
79
  onHuman: (token) => handleOnHuman(element, token),
72
80
  onChallengeExpired: () => {
73
- console.log('Challenge expired');
81
+ removeProcaptchaResponse();
82
+ console.log("Challenge expired");
74
83
  },
75
84
  onExpired: () => {
76
- alert('Completed challenge has expired, please try again');
85
+ removeProcaptchaResponse();
86
+ alert("Completed challenge has expired, please try again");
77
87
  },
78
88
  onError: (error) => {
89
+ removeProcaptchaResponse();
79
90
  console.error(error);
80
91
  },
81
92
  onClose: () => {
82
- console.log('Challenge closed');
93
+ console.log("Challenge closed");
83
94
  },
84
95
  onOpen: () => {
85
- console.log('Challenge opened');
96
+ console.log("Challenge opened");
86
97
  },
87
98
  });
88
99
  const setTheme = (renderOptions, element, config) => {
89
- const themeAttribute = renderOptions?.theme || element.getAttribute('data-theme') || 'light';
100
+ const themeAttribute = renderOptions?.theme || element.getAttribute("data-theme") || "light";
90
101
  config.theme = validateTheme(themeAttribute);
91
102
  };
92
103
  function setUserCallbacks(renderOptions, callbacks, element) {
93
- if (typeof renderOptions?.callback === 'function') {
94
- callbacks.onHuman = renderOptions.callback;
104
+ if (typeof renderOptions?.callback === "function") {
105
+ const fn = renderOptions.callback;
106
+ callbacks.onHuman = (token) => {
107
+ handleOnHuman(element, token);
108
+ fn(token);
109
+ };
95
110
  }
96
111
  else {
97
- const callbackName = typeof renderOptions?.callback === 'string'
112
+ const callbackName = typeof renderOptions?.callback === "string"
98
113
  ? renderOptions?.callback
99
- : element.getAttribute('data-callback');
114
+ : element.getAttribute("data-callback");
100
115
  if (callbackName)
101
- callbacks.onHuman = getWindowCallback(callbackName);
116
+ callbacks.onHuman = (token) => {
117
+ handleOnHuman(element, token);
118
+ const fn = getWindowCallback(callbackName);
119
+ fn(token);
120
+ };
102
121
  }
103
- if (typeof renderOptions?.['chalexpired-callback'] === 'function') {
104
- callbacks.onChallengeExpired = renderOptions['chalexpired-callback'];
122
+ if (renderOptions &&
123
+ renderOptions["chalexpired-callback"] &&
124
+ typeof renderOptions["chalexpired-callback"] === "function") {
125
+ const fn = renderOptions["chalexpired-callback"];
126
+ callbacks.onChallengeExpired = () => {
127
+ removeProcaptchaResponse();
128
+ fn();
129
+ };
105
130
  }
106
131
  else {
107
- const chalExpiredCallbackName = typeof renderOptions?.['chalexpired-callback'] === 'string'
108
- ? renderOptions?.['chalexpired-callback']
109
- : element.getAttribute('data-chalexpired-callback');
132
+ const chalExpiredCallbackName = typeof renderOptions?.["chalexpired-callback"] === "string"
133
+ ? renderOptions?.["chalexpired-callback"]
134
+ : element.getAttribute("data-chalexpired-callback");
110
135
  if (chalExpiredCallbackName)
111
- callbacks.onChallengeExpired = getWindowCallback(chalExpiredCallbackName);
136
+ callbacks.onChallengeExpired = () => {
137
+ const fn = getWindowCallback(chalExpiredCallbackName);
138
+ removeProcaptchaResponse();
139
+ fn();
140
+ };
112
141
  }
113
- if (typeof renderOptions?.['expired-callback'] === 'function') {
114
- callbacks.onExpired = renderOptions['expired-callback'];
142
+ if (renderOptions &&
143
+ renderOptions["expired-callback"] &&
144
+ typeof renderOptions["expired-callback"] === "function") {
145
+ const fn = renderOptions["expired-callback"];
146
+ callbacks.onExpired = () => {
147
+ removeProcaptchaResponse();
148
+ fn();
149
+ };
115
150
  }
116
151
  else {
117
- const onExpiredCallbackName = typeof renderOptions?.['expired-callback'] === 'string'
118
- ? renderOptions?.['expired-callback']
119
- : element.getAttribute('data-expired-callback');
152
+ const onExpiredCallbackName = typeof renderOptions?.["expired-callback"] === "string"
153
+ ? renderOptions?.["expired-callback"]
154
+ : element.getAttribute("data-expired-callback");
120
155
  if (onExpiredCallbackName)
121
- callbacks.onExpired = getWindowCallback(onExpiredCallbackName);
156
+ callbacks.onExpired = () => {
157
+ const fn = getWindowCallback(onExpiredCallbackName);
158
+ removeProcaptchaResponse();
159
+ fn();
160
+ };
122
161
  }
123
- if (typeof renderOptions?.['error-callback'] === 'function') {
124
- callbacks.onError = renderOptions['error-callback'];
162
+ if (renderOptions &&
163
+ renderOptions?.["error-callback"] &&
164
+ typeof renderOptions["error-callback"] === "function") {
165
+ const fn = renderOptions["error-callback"];
166
+ callbacks.onError = () => {
167
+ removeProcaptchaResponse();
168
+ fn();
169
+ };
125
170
  }
126
171
  else {
127
- const errorCallbackName = typeof renderOptions?.['error-callback'] === 'string'
128
- ? renderOptions?.['error-callback']
129
- : element.getAttribute('data-error-callback');
172
+ const errorCallbackName = typeof renderOptions?.["error-callback"] === "string"
173
+ ? renderOptions?.["error-callback"]
174
+ : element.getAttribute("data-error-callback");
130
175
  if (errorCallbackName)
131
- callbacks.onError = getWindowCallback(errorCallbackName);
176
+ callbacks.onError = () => {
177
+ const fn = getWindowCallback(errorCallbackName);
178
+ removeProcaptchaResponse();
179
+ fn();
180
+ };
132
181
  }
133
- if (typeof renderOptions?.['close-callback'] === 'function') {
134
- callbacks.onClose = renderOptions['close-callback'];
182
+ if (typeof renderOptions?.["close-callback"] === "function") {
183
+ callbacks.onClose = renderOptions["close-callback"];
135
184
  }
136
185
  else {
137
- const onCloseCallbackName = typeof renderOptions?.['close-callback'] === 'string'
138
- ? renderOptions?.['close-callback']
139
- : element.getAttribute('data-close-callback');
186
+ const onCloseCallbackName = typeof renderOptions?.["close-callback"] === "string"
187
+ ? renderOptions?.["close-callback"]
188
+ : element.getAttribute("data-close-callback");
140
189
  if (onCloseCallbackName)
141
190
  callbacks.onClose = getWindowCallback(onCloseCallbackName);
142
191
  }
143
- if (renderOptions?.['open-callback']) {
144
- if (typeof renderOptions['open-callback'] === 'function') {
145
- callbacks.onOpen = renderOptions['open-callback'];
192
+ if (renderOptions?.["open-callback"]) {
193
+ if (typeof renderOptions["open-callback"] === "function") {
194
+ callbacks.onOpen = renderOptions["open-callback"];
146
195
  }
147
196
  else {
148
- const onOpenCallbackName = typeof renderOptions?.['open-callback'] === 'string'
149
- ? renderOptions?.['open-callback']
150
- : element.getAttribute('data-open-callback');
197
+ const onOpenCallbackName = typeof renderOptions?.["open-callback"] === "string"
198
+ ? renderOptions?.["open-callback"]
199
+ : element.getAttribute("data-open-callback");
151
200
  if (onOpenCallbackName)
152
201
  callbacks.onOpen = getWindowCallback(onOpenCallbackName);
153
202
  }
154
203
  }
155
204
  }
156
205
  const renderLogic = (elements, config, renderOptions) => {
157
- elements.forEach((element) => {
206
+ for (const element of elements) {
158
207
  const callbacks = getDefaultCallbacks(element);
159
208
  setUserCallbacks(renderOptions, callbacks, element);
160
209
  setTheme(renderOptions, element, config);
161
210
  setValidChallengeLength(renderOptions, element, config);
162
211
  switch (renderOptions?.captchaType) {
163
- case 'pow':
212
+ case "pow":
164
213
  createRoot(element).render(_jsx(ProcaptchaPow, { config: config, callbacks: callbacks }));
165
214
  break;
166
- case 'frictionless':
215
+ case "frictionless":
167
216
  createRoot(element).render(_jsx(ProcaptchaFrictionless, { config: config, callbacks: callbacks }));
168
217
  break;
169
218
  default:
170
219
  createRoot(element).render(_jsx(Procaptcha, { config: config, callbacks: callbacks }));
171
220
  break;
172
221
  }
173
- });
222
+ }
174
223
  };
175
224
  const implicitRender = () => {
176
- const elements = Array.from(document.getElementsByClassName('procaptcha'));
225
+ const elements = Array.from(document.getElementsByClassName("procaptcha"));
177
226
  if (elements.length) {
178
- const siteKey = at(elements, 0).getAttribute('data-sitekey');
227
+ const siteKey = at(elements, 0).getAttribute("data-sitekey");
179
228
  if (!siteKey) {
180
- console.error('No siteKey found');
229
+ console.error("No siteKey found");
181
230
  return;
182
231
  }
183
232
  const features = Object.values(FeaturesEnum);
184
- const captchaType = features.find((feature) => feature === at(elements, 0).getAttribute('data-captcha-type')) ||
185
- 'frictionless';
233
+ const captchaType = features.find((feature) => feature === at(elements, 0).getAttribute("data-captcha-type")) || "frictionless";
186
234
  renderLogic(elements, getConfig(siteKey), { captchaType, siteKey });
187
235
  }
188
236
  };
@@ -191,23 +239,23 @@ export const render = (element, renderOptions) => {
191
239
  renderLogic([element], getConfig(siteKey), renderOptions);
192
240
  };
193
241
  export default function ready(fn) {
194
- if (document && document.readyState !== 'loading') {
195
- console.log('document.readyState ready!');
242
+ if (document && document.readyState !== "loading") {
243
+ console.log("document.readyState ready!");
196
244
  fn();
197
245
  }
198
246
  else {
199
- console.log('DOMContentLoaded listener!');
200
- document.addEventListener('DOMContentLoaded', fn);
247
+ console.log("DOMContentLoaded listener!");
248
+ document.addEventListener("DOMContentLoaded", fn);
201
249
  }
202
250
  }
203
251
  window.procaptcha = { ready, render };
204
252
  const { onloadUrlCallback, renderExplicit } = extractParams(BUNDLE_NAME);
205
- if (renderExplicit !== 'explicit') {
253
+ if (renderExplicit !== "explicit") {
206
254
  ready(implicitRender);
207
255
  }
208
256
  if (onloadUrlCallback) {
209
257
  const onloadCallback = getWindowCallback(onloadUrlCallback);
210
- getProcaptchaScript()?.addEventListener('load', () => {
258
+ getProcaptchaScript()?.addEventListener("load", () => {
211
259
  ready(onloadCallback);
212
260
  });
213
261
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}