@prosopo/procaptcha-bundle 2.0.3 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/index.d.ts +12 -0
  2. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/index.d.ts.map +1 -0
  3. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/index.js +71 -0
  4. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/index.js.map +1 -0
  5. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/tests/captchaType.test.d.ts +2 -0
  6. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/tests/captchaType.test.d.ts.map +1 -0
  7. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/tests/captchaType.test.js +36 -0
  8. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/tests/captchaType.test.js.map +1 -0
  9. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/tests/config.test.d.ts +2 -0
  10. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/tests/config.test.d.ts.map +1 -0
  11. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/tests/config.test.js +69 -0
  12. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/tests/config.test.js.map +1 -0
  13. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/captchaType.d.ts +2 -0
  14. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/captchaType.d.ts.map +1 -0
  15. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/captchaType.js +8 -0
  16. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/captchaType.js.map +1 -0
  17. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/config.d.ts +8 -0
  18. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/config.d.ts.map +1 -0
  19. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/config.js +31 -0
  20. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/config.js.map +1 -0
  21. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/defaultCallbacks.d.ts +19 -0
  22. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/defaultCallbacks.d.ts.map +1 -0
  23. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/defaultCallbacks.js +147 -0
  24. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/defaultCallbacks.js.map +1 -0
  25. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/form.d.ts +2 -0
  26. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/form.d.ts.map +1 -0
  27. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/form.js +2 -0
  28. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/form.js.map +1 -0
  29. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/language.d.ts +3 -0
  30. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/language.d.ts.map +1 -0
  31. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/language.js +17 -0
  32. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/language.js.map +1 -0
  33. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/theme.d.ts +3 -0
  34. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/theme.d.ts.map +1 -0
  35. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/theme.js +9 -0
  36. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/theme.js.map +1 -0
  37. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/timeout.d.ts +3 -0
  38. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/timeout.d.ts.map +1 -0
  39. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/timeout.js +9 -0
  40. package/.rollup.cache/home/chris/dev/prosopo/captcha-private/captcha/packages/procaptcha-bundle/dist/bundle/util/timeout.js.map +1 -0
  41. package/dist/bundle/ProcaptchaWidget-BJTWbWXX.js +157 -0
  42. package/dist/bundle/ProcaptchaWidget-CyCdGVAQ.js +624 -0
  43. package/dist/bundle/index-DkYajG2c.js +19015 -0
  44. package/dist/bundle/index.d.ts +1 -14
  45. package/dist/bundle/index.d.ts.map +1 -1
  46. package/dist/bundle/procaptcha.bundle.js +1 -1
  47. package/dist/bundle/tests/captchaType.test.d.ts +2 -0
  48. package/dist/bundle/tests/captchaType.test.d.ts.map +1 -0
  49. package/dist/bundle/tests/config.test.d.ts +2 -0
  50. package/dist/bundle/tests/config.test.d.ts.map +1 -0
  51. package/dist/bundle/util/captchaType.d.ts +2 -0
  52. package/dist/bundle/util/captchaType.d.ts.map +1 -0
  53. package/dist/bundle/util/config.d.ts +8 -0
  54. package/dist/bundle/util/config.d.ts.map +1 -0
  55. package/dist/bundle/util/defaultCallbacks.d.ts +19 -0
  56. package/dist/bundle/util/defaultCallbacks.d.ts.map +1 -0
  57. package/dist/bundle/util/form.d.ts +2 -0
  58. package/dist/bundle/util/form.d.ts.map +1 -0
  59. package/dist/bundle/util/language.d.ts +3 -0
  60. package/dist/bundle/util/language.d.ts.map +1 -0
  61. package/dist/bundle/util/theme.d.ts +3 -0
  62. package/dist/bundle/util/theme.d.ts.map +1 -0
  63. package/dist/bundle/util/timeout.d.ts +3 -0
  64. package/dist/bundle/util/timeout.d.ts.map +1 -0
  65. package/dist/bundle/{utils-Cpz4o_0n.js → utils-CAk_TqSc.js} +9596 -11830
  66. package/dist/cjs/index.cjs +43 -200
  67. package/dist/cjs/util/captchaType.cjs +12 -0
  68. package/dist/cjs/util/config.cjs +33 -0
  69. package/dist/cjs/util/defaultCallbacks.cjs +134 -0
  70. package/dist/cjs/util/form.cjs +4 -0
  71. package/dist/cjs/util/language.cjs +18 -0
  72. package/dist/cjs/util/theme.cjs +9 -0
  73. package/dist/cjs/util/timeout.cjs +14 -0
  74. package/dist/index.d.ts +1 -14
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +18 -206
  77. package/dist/index.js.map +1 -1
  78. package/dist/tests/captchaType.test.d.ts +2 -0
  79. package/dist/tests/captchaType.test.d.ts.map +1 -0
  80. package/dist/tests/captchaType.test.js +36 -0
  81. package/dist/tests/captchaType.test.js.map +1 -0
  82. package/dist/tests/config.test.d.ts +2 -0
  83. package/dist/tests/config.test.d.ts.map +1 -0
  84. package/dist/tests/config.test.js +69 -0
  85. package/dist/tests/config.test.js.map +1 -0
  86. package/dist/util/captchaType.d.ts +3 -0
  87. package/dist/util/captchaType.d.ts.map +1 -0
  88. package/dist/util/captchaType.js +8 -0
  89. package/dist/util/captchaType.js.map +1 -0
  90. package/dist/util/config.d.ts +8 -0
  91. package/dist/util/config.d.ts.map +1 -0
  92. package/dist/util/config.js +31 -0
  93. package/dist/util/config.js.map +1 -0
  94. package/dist/util/defaultCallbacks.d.ts +19 -0
  95. package/dist/util/defaultCallbacks.d.ts.map +1 -0
  96. package/dist/util/defaultCallbacks.js +147 -0
  97. package/dist/util/defaultCallbacks.js.map +1 -0
  98. package/dist/util/form.d.ts +2 -0
  99. package/dist/util/form.d.ts.map +1 -0
  100. package/dist/util/form.js +2 -0
  101. package/dist/util/form.js.map +1 -0
  102. package/dist/util/language.d.ts +3 -0
  103. package/dist/util/language.d.ts.map +1 -0
  104. package/dist/util/language.js +17 -0
  105. package/dist/util/language.js.map +1 -0
  106. package/dist/util/theme.d.ts +3 -0
  107. package/dist/util/theme.d.ts.map +1 -0
  108. package/dist/util/theme.js +9 -0
  109. package/dist/util/theme.js.map +1 -0
  110. package/dist/util/timeout.d.ts +3 -0
  111. package/dist/util/timeout.d.ts.map +1 -0
  112. package/dist/util/timeout.js +9 -0
  113. package/dist/util/timeout.js.map +1 -0
  114. package/package.json +65 -59
  115. package/stats.html +1 -1
  116. package/vite.config.ts +24 -24
  117. package/vite.config.ts.timestamp-1717674816132-b375b28e04de9.mjs +56 -0
  118. package/vite.config.ts.timestamp-1723148478701-50a086cc53355.mjs +56 -0
  119. package/vite.test.config.ts +34 -0
  120. package/.rollup.cache/home/runner/work/captcha/captcha/packages/procaptcha-bundle/dist/bundle/index.d.ts +0 -25
  121. package/.rollup.cache/home/runner/work/captcha/captcha/packages/procaptcha-bundle/dist/bundle/index.d.ts.map +0 -1
  122. package/.rollup.cache/home/runner/work/captcha/captcha/packages/procaptcha-bundle/dist/bundle/index.js +0 -259
  123. package/.rollup.cache/home/runner/work/captcha/captcha/packages/procaptcha-bundle/dist/bundle/index.js.map +0 -1
  124. package/dist/bundle/ProcaptchaWidget-BzBkw8-_.js +0 -775
  125. package/dist/bundle/ProcaptchaWidget-nO3NsM0R.js +0 -155
  126. package/dist/bundle/index-DsnIPyZG.js +0 -14976
package/vite.config.ts CHANGED
@@ -14,8 +14,8 @@
14
14
 
15
15
  import * as fs from "node:fs";
16
16
  import * as path from "node:path";
17
- import { loadEnv } from "@prosopo/dotenv";
18
17
  import { ViteFrontendConfig } from "@prosopo/config";
18
+ import { loadEnv } from "@prosopo/dotenv";
19
19
  import { defineConfig } from "vite";
20
20
 
21
21
  // load env using our util because vite loadEnv is not working for .env.development
@@ -30,36 +30,36 @@ const bundleName = "procaptcha";
30
30
  const packageName = "@prosopo/procaptcha-bundle";
31
31
  const entry = "./src/index.tsx";
32
32
  const copyOptions = copyTo
33
- ? {
34
- srcDir: "./dist/bundle",
35
- destDir: copyTo,
36
- }
37
- : undefined;
33
+ ? {
34
+ srcDir: "./dist/bundle",
35
+ destDir: copyTo,
36
+ }
37
+ : undefined;
38
38
  const tsConfigPaths = [path.resolve("./tsconfig.json")];
39
39
  const packagesDir = path.resolve("..");
40
40
  const workspaceRoot = path.resolve("../../");
41
41
  // Get all folders in packagesDir
42
42
  const packages = fs
43
- .readdirSync(packagesDir)
44
- .filter((f) => fs.statSync(path.join(packagesDir, f)).isDirectory());
43
+ .readdirSync(packagesDir)
44
+ .filter((f) => fs.statSync(path.join(packagesDir, f)).isDirectory());
45
45
  for (const packageName of packages) {
46
- // Add the tsconfig for each package to tsConfigPaths
47
- tsConfigPaths.push(path.resolve(`../${packageName}/tsconfig.json`));
46
+ // Add the tsconfig for each package to tsConfigPaths
47
+ tsConfigPaths.push(path.resolve(`../${packageName}/tsconfig.json`));
48
48
  }
49
49
  // Merge with generic frontend config
50
50
  export default defineConfig(async ({ command, mode }) => {
51
- const frontendConfig = await ViteFrontendConfig(
52
- packageName,
53
- bundleName,
54
- path.resolve(),
55
- entry,
56
- command,
57
- mode,
58
- copyOptions,
59
- tsConfigPaths,
60
- workspaceRoot,
61
- );
62
- return {
63
- ...frontendConfig,
64
- };
51
+ const frontendConfig = await ViteFrontendConfig(
52
+ packageName,
53
+ bundleName,
54
+ path.resolve(),
55
+ entry,
56
+ command,
57
+ mode,
58
+ copyOptions,
59
+ tsConfigPaths,
60
+ workspaceRoot,
61
+ );
62
+ return {
63
+ ...frontendConfig,
64
+ };
65
65
  });
@@ -0,0 +1,56 @@
1
+ // Copyright 2021-2024 Prosopo (UK) Ltd.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ // vite.config.ts
15
+ import * as fs from "fs";
16
+ import * as path from "path";
17
+ import { ViteFrontendConfig } from "file:///home/chris/dev/prosopo/captcha-private/captcha/dev/config/dist/index.js";
18
+ import { defineConfig } from "file:///home/chris/dev/prosopo/captcha-private/node_modules/vite/dist/node/index.js";
19
+ import { loadEnv } from "file:///home/chris/dev/prosopo/captcha-private/captcha/packages/cli/dist/index.js";
20
+ loadEnv();
21
+ process.env.TS_NODE_PROJECT = path.resolve("./tsconfig.json");
22
+ var copyTo = ["../../demos/client-bundle-example/src/assets"];
23
+ var bundleName = "procaptcha";
24
+ var packageName = "@prosopo/procaptcha-bundle";
25
+ var entry = "./src/index.tsx";
26
+ var copyOptions = copyTo ? {
27
+ srcDir: "./dist/bundle",
28
+ destDir: copyTo
29
+ } : void 0;
30
+ var tsConfigPaths = [path.resolve("./tsconfig.json")];
31
+ var packagesDir = path.resolve("..");
32
+ var workspaceRoot = path.resolve("../../");
33
+ var packages = fs.readdirSync(packagesDir).filter((f) => fs.statSync(path.join(packagesDir, f)).isDirectory());
34
+ for (const packageName2 of packages) {
35
+ tsConfigPaths.push(path.resolve(`../${packageName2}/tsconfig.json`));
36
+ }
37
+ var vite_config_default = defineConfig(async ({ command, mode }) => {
38
+ const frontendConfig = await ViteFrontendConfig(
39
+ packageName,
40
+ bundleName,
41
+ path.resolve(),
42
+ entry,
43
+ command,
44
+ mode,
45
+ copyOptions,
46
+ tsConfigPaths,
47
+ workspaceRoot
48
+ );
49
+ return {
50
+ ...frontendConfig
51
+ };
52
+ });
53
+ export {
54
+ vite_config_default as default
55
+ };
56
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS9jaHJpcy9kZXYvcHJvc29wby9jYXB0Y2hhLXByaXZhdGUvY2FwdGNoYS9wYWNrYWdlcy9wcm9jYXB0Y2hhLWJ1bmRsZVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL2hvbWUvY2hyaXMvZGV2L3Byb3NvcG8vY2FwdGNoYS1wcml2YXRlL2NhcHRjaGEvcGFja2FnZXMvcHJvY2FwdGNoYS1idW5kbGUvdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL2hvbWUvY2hyaXMvZGV2L3Byb3NvcG8vY2FwdGNoYS1wcml2YXRlL2NhcHRjaGEvcGFja2FnZXMvcHJvY2FwdGNoYS1idW5kbGUvdml0ZS5jb25maWcudHNcIjsvLyBDb3B5cmlnaHQgMjAyMS0yMDI0IFByb3NvcG8gKFVLKSBMdGQuXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbi8vIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbi8vIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbi8vXG4vLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4vLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4vLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbi8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbi8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgeyBWaXRlRnJvbnRlbmRDb25maWcgfSBmcm9tICdAcHJvc29wby9jb25maWcnXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHsgbG9hZEVudiB9IGZyb20gJ0Bwcm9zb3BvL2NsaSdcbi8vIGxvYWQgZW52IHVzaW5nIG91ciB1dGlsIGJlY2F1c2Ugdml0ZSBsb2FkRW52IGlzIG5vdCB3b3JraW5nIGZvciAuZW52LmRldmVsb3BtZW50XG5sb2FkRW52KClcblxuLy8gVml0ZSBkb2Vzbid0IGZpbmQgdGhlIHRzY29uZmlnIGZvciBzb21lIHJlYXNvblxucHJvY2Vzcy5lbnYuVFNfTk9ERV9QUk9KRUNUID0gcGF0aC5yZXNvbHZlKCcuL3RzY29uZmlnLmpzb24nKVxuXG4vLyBQYWNrYWdlIHNwZWNpZmljIGNvbmZpZ1xuY29uc3QgY29weVRvID0gWycuLi8uLi9kZW1vcy9jbGllbnQtYnVuZGxlLWV4YW1wbGUvc3JjL2Fzc2V0cyddXG5jb25zdCBidW5kbGVOYW1lID0gJ3Byb2NhcHRjaGEnXG5jb25zdCBwYWNrYWdlTmFtZSA9ICdAcHJvc29wby9wcm9jYXB0Y2hhLWJ1bmRsZSdcbmNvbnN0IGVudHJ5ID0gJy4vc3JjL2luZGV4LnRzeCdcbmNvbnN0IGNvcHlPcHRpb25zID0gY29weVRvXG4gICAgPyB7XG4gICAgICAgICAgc3JjRGlyOiAnLi9kaXN0L2J1bmRsZScsXG4gICAgICAgICAgZGVzdERpcjogY29weVRvLFxuICAgICAgfVxuICAgIDogdW5kZWZpbmVkXG5jb25zdCB0c0NvbmZpZ1BhdGhzID0gW3BhdGgucmVzb2x2ZSgnLi90c2NvbmZpZy5qc29uJyldXG5jb25zdCBwYWNrYWdlc0RpciA9IHBhdGgucmVzb2x2ZSgnLi4nKVxuY29uc3Qgd29ya3NwYWNlUm9vdCA9IHBhdGgucmVzb2x2ZSgnLi4vLi4vJylcbi8vIEdldCBhbGwgZm9sZGVycyBpbiBwYWNrYWdlc0RpclxuY29uc3QgcGFja2FnZXMgPSBmcy5yZWFkZGlyU3luYyhwYWNrYWdlc0RpcikuZmlsdGVyKChmKSA9PiBmcy5zdGF0U3luYyhwYXRoLmpvaW4ocGFja2FnZXNEaXIsIGYpKS5pc0RpcmVjdG9yeSgpKVxuZm9yIChjb25zdCBwYWNrYWdlTmFtZSBvZiBwYWNrYWdlcykge1xuICAgIC8vIEFkZCB0aGUgdHNjb25maWcgZm9yIGVhY2ggcGFja2FnZSB0byB0c0NvbmZpZ1BhdGhzXG4gICAgdHNDb25maWdQYXRocy5wdXNoKHBhdGgucmVzb2x2ZShgLi4vJHtwYWNrYWdlTmFtZX0vdHNjb25maWcuanNvbmApKVxufVxuLy8gTWVyZ2Ugd2l0aCBnZW5lcmljIGZyb250ZW5kIGNvbmZpZ1xuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKGFzeW5jICh7IGNvbW1hbmQsIG1vZGUgfSkgPT4ge1xuICAgIGNvbnN0IGZyb250ZW5kQ29uZmlnID0gYXdhaXQgVml0ZUZyb250ZW5kQ29uZmlnKFxuICAgICAgICBwYWNrYWdlTmFtZSxcbiAgICAgICAgYnVuZGxlTmFtZSxcbiAgICAgICAgcGF0aC5yZXNvbHZlKCksXG4gICAgICAgIGVudHJ5LFxuICAgICAgICBjb21tYW5kLFxuICAgICAgICBtb2RlLFxuICAgICAgICBjb3B5T3B0aW9ucyxcbiAgICAgICAgdHNDb25maWdQYXRocyxcbiAgICAgICAgd29ya3NwYWNlUm9vdFxuICAgIClcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5mcm9udGVuZENvbmZpZyxcbiAgICB9XG59KVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQWFBLFlBQVksUUFBUTtBQUNwQixZQUFZLFVBQVU7QUFDdEIsU0FBUywwQkFBMEI7QUFDbkMsU0FBUyxvQkFBb0I7QUFDN0IsU0FBUyxlQUFlO0FBRXhCLFFBQVE7QUFHUixRQUFRLElBQUksa0JBQXVCLGFBQVEsaUJBQWlCO0FBRzVELElBQU0sU0FBUyxDQUFDLDhDQUE4QztBQUM5RCxJQUFNLGFBQWE7QUFDbkIsSUFBTSxjQUFjO0FBQ3BCLElBQU0sUUFBUTtBQUNkLElBQU0sY0FBYyxTQUNkO0FBQUEsRUFDSSxRQUFRO0FBQUEsRUFDUixTQUFTO0FBQ2IsSUFDQTtBQUNOLElBQU0sZ0JBQWdCLENBQU0sYUFBUSxpQkFBaUIsQ0FBQztBQUN0RCxJQUFNLGNBQW1CLGFBQVEsSUFBSTtBQUNyQyxJQUFNLGdCQUFxQixhQUFRLFFBQVE7QUFFM0MsSUFBTSxXQUFjLGVBQVksV0FBVyxFQUFFLE9BQU8sQ0FBQyxNQUFTLFlBQWMsVUFBSyxhQUFhLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQztBQUMvRyxXQUFXQSxnQkFBZSxVQUFVO0FBRWhDLGdCQUFjLEtBQVUsYUFBUSxNQUFNQSxZQUFXLGdCQUFnQixDQUFDO0FBQ3RFO0FBRUEsSUFBTyxzQkFBUSxhQUFhLE9BQU8sRUFBRSxTQUFTLEtBQUssTUFBTTtBQUNyRCxRQUFNLGlCQUFpQixNQUFNO0FBQUEsSUFDekI7QUFBQSxJQUNBO0FBQUEsSUFDSyxhQUFRO0FBQUEsSUFDYjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDSjtBQUNBLFNBQU87QUFBQSxJQUNILEdBQUc7QUFBQSxFQUNQO0FBQ0osQ0FBQzsiLAogICJuYW1lcyI6IFsicGFja2FnZU5hbWUiXQp9Cg==
@@ -0,0 +1,56 @@
1
+ // Copyright 2021-2024 Prosopo (UK) Ltd.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ // vite.config.ts
15
+ import * as fs from "fs";
16
+ import * as path from "path";
17
+ import { ViteFrontendConfig } from "file:///home/chris/dev/prosopo/captcha-private/captcha/dev/config/dist/index.js";
18
+ import { defineConfig } from "file:///home/chris/dev/prosopo/captcha-private/node_modules/vite/dist/node/index.js";
19
+ import { loadEnv } from "file:///home/chris/dev/prosopo/captcha-private/captcha/packages/cli/dist/index.js";
20
+ loadEnv();
21
+ process.env.TS_NODE_PROJECT = path.resolve("./tsconfig.json");
22
+ var copyTo = ["../../demos/client-bundle-example/src/assets"];
23
+ var bundleName = "procaptcha";
24
+ var packageName = "@prosopo/procaptcha-bundle";
25
+ var entry = "./src/index.tsx";
26
+ var copyOptions = copyTo ? {
27
+ srcDir: "./dist/bundle",
28
+ destDir: copyTo
29
+ } : void 0;
30
+ var tsConfigPaths = [path.resolve("./tsconfig.json")];
31
+ var packagesDir = path.resolve("..");
32
+ var workspaceRoot = path.resolve("../../");
33
+ var packages = fs.readdirSync(packagesDir).filter((f) => fs.statSync(path.join(packagesDir, f)).isDirectory());
34
+ for (const packageName2 of packages) {
35
+ tsConfigPaths.push(path.resolve(`../${packageName2}/tsconfig.json`));
36
+ }
37
+ var vite_config_default = defineConfig(async ({ command, mode }) => {
38
+ const frontendConfig = await ViteFrontendConfig(
39
+ packageName,
40
+ bundleName,
41
+ path.resolve(),
42
+ entry,
43
+ command,
44
+ mode,
45
+ copyOptions,
46
+ tsConfigPaths,
47
+ workspaceRoot
48
+ );
49
+ return {
50
+ ...frontendConfig
51
+ };
52
+ });
53
+ export {
54
+ vite_config_default as default
55
+ };
56
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS9jaHJpcy9kZXYvcHJvc29wby9jYXB0Y2hhLXByaXZhdGUvY2FwdGNoYS9wYWNrYWdlcy9wcm9jYXB0Y2hhLWJ1bmRsZVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL2hvbWUvY2hyaXMvZGV2L3Byb3NvcG8vY2FwdGNoYS1wcml2YXRlL2NhcHRjaGEvcGFja2FnZXMvcHJvY2FwdGNoYS1idW5kbGUvdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL2hvbWUvY2hyaXMvZGV2L3Byb3NvcG8vY2FwdGNoYS1wcml2YXRlL2NhcHRjaGEvcGFja2FnZXMvcHJvY2FwdGNoYS1idW5kbGUvdml0ZS5jb25maWcudHNcIjsvLyBDb3B5cmlnaHQgMjAyMS0yMDI0IFByb3NvcG8gKFVLKSBMdGQuXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbi8vIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbi8vIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbi8vXG4vLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4vLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4vLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbi8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbi8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgeyBWaXRlRnJvbnRlbmRDb25maWcgfSBmcm9tICdAcHJvc29wby9jb25maWcnXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHsgbG9hZEVudiB9IGZyb20gJ0Bwcm9zb3BvL2NsaSdcbi8vIGxvYWQgZW52IHVzaW5nIG91ciB1dGlsIGJlY2F1c2Ugdml0ZSBsb2FkRW52IGlzIG5vdCB3b3JraW5nIGZvciAuZW52LmRldmVsb3BtZW50XG5sb2FkRW52KClcblxuLy8gVml0ZSBkb2Vzbid0IGZpbmQgdGhlIHRzY29uZmlnIGZvciBzb21lIHJlYXNvblxucHJvY2Vzcy5lbnYuVFNfTk9ERV9QUk9KRUNUID0gcGF0aC5yZXNvbHZlKCcuL3RzY29uZmlnLmpzb24nKVxuXG4vLyBQYWNrYWdlIHNwZWNpZmljIGNvbmZpZ1xuY29uc3QgY29weVRvID0gWycuLi8uLi9kZW1vcy9jbGllbnQtYnVuZGxlLWV4YW1wbGUvc3JjL2Fzc2V0cyddXG5jb25zdCBidW5kbGVOYW1lID0gJ3Byb2NhcHRjaGEnXG5jb25zdCBwYWNrYWdlTmFtZSA9ICdAcHJvc29wby9wcm9jYXB0Y2hhLWJ1bmRsZSdcbmNvbnN0IGVudHJ5ID0gJy4vc3JjL2luZGV4LnRzeCdcbmNvbnN0IGNvcHlPcHRpb25zID0gY29weVRvXG4gICAgPyB7XG4gICAgICAgICAgc3JjRGlyOiAnLi9kaXN0L2J1bmRsZScsXG4gICAgICAgICAgZGVzdERpcjogY29weVRvLFxuICAgICAgfVxuICAgIDogdW5kZWZpbmVkXG5jb25zdCB0c0NvbmZpZ1BhdGhzID0gW3BhdGgucmVzb2x2ZSgnLi90c2NvbmZpZy5qc29uJyldXG5jb25zdCBwYWNrYWdlc0RpciA9IHBhdGgucmVzb2x2ZSgnLi4nKVxuY29uc3Qgd29ya3NwYWNlUm9vdCA9IHBhdGgucmVzb2x2ZSgnLi4vLi4vJylcbi8vIEdldCBhbGwgZm9sZGVycyBpbiBwYWNrYWdlc0RpclxuY29uc3QgcGFja2FnZXMgPSBmcy5yZWFkZGlyU3luYyhwYWNrYWdlc0RpcikuZmlsdGVyKChmKSA9PiBmcy5zdGF0U3luYyhwYXRoLmpvaW4ocGFja2FnZXNEaXIsIGYpKS5pc0RpcmVjdG9yeSgpKVxuZm9yIChjb25zdCBwYWNrYWdlTmFtZSBvZiBwYWNrYWdlcykge1xuICAgIC8vIEFkZCB0aGUgdHNjb25maWcgZm9yIGVhY2ggcGFja2FnZSB0byB0c0NvbmZpZ1BhdGhzXG4gICAgdHNDb25maWdQYXRocy5wdXNoKHBhdGgucmVzb2x2ZShgLi4vJHtwYWNrYWdlTmFtZX0vdHNjb25maWcuanNvbmApKVxufVxuLy8gTWVyZ2Ugd2l0aCBnZW5lcmljIGZyb250ZW5kIGNvbmZpZ1xuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKGFzeW5jICh7IGNvbW1hbmQsIG1vZGUgfSkgPT4ge1xuICAgIGNvbnN0IGZyb250ZW5kQ29uZmlnID0gYXdhaXQgVml0ZUZyb250ZW5kQ29uZmlnKFxuICAgICAgICBwYWNrYWdlTmFtZSxcbiAgICAgICAgYnVuZGxlTmFtZSxcbiAgICAgICAgcGF0aC5yZXNvbHZlKCksXG4gICAgICAgIGVudHJ5LFxuICAgICAgICBjb21tYW5kLFxuICAgICAgICBtb2RlLFxuICAgICAgICBjb3B5T3B0aW9ucyxcbiAgICAgICAgdHNDb25maWdQYXRocyxcbiAgICAgICAgd29ya3NwYWNlUm9vdFxuICAgIClcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5mcm9udGVuZENvbmZpZyxcbiAgICB9XG59KVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQWFBLFlBQVksUUFBUTtBQUNwQixZQUFZLFVBQVU7QUFDdEIsU0FBUywwQkFBMEI7QUFDbkMsU0FBUyxvQkFBb0I7QUFDN0IsU0FBUyxlQUFlO0FBRXhCLFFBQVE7QUFHUixRQUFRLElBQUksa0JBQXVCLGFBQVEsaUJBQWlCO0FBRzVELElBQU0sU0FBUyxDQUFDLDhDQUE4QztBQUM5RCxJQUFNLGFBQWE7QUFDbkIsSUFBTSxjQUFjO0FBQ3BCLElBQU0sUUFBUTtBQUNkLElBQU0sY0FBYyxTQUNkO0FBQUEsRUFDSSxRQUFRO0FBQUEsRUFDUixTQUFTO0FBQ2IsSUFDQTtBQUNOLElBQU0sZ0JBQWdCLENBQU0sYUFBUSxpQkFBaUIsQ0FBQztBQUN0RCxJQUFNLGNBQW1CLGFBQVEsSUFBSTtBQUNyQyxJQUFNLGdCQUFxQixhQUFRLFFBQVE7QUFFM0MsSUFBTSxXQUFjLGVBQVksV0FBVyxFQUFFLE9BQU8sQ0FBQyxNQUFTLFlBQWMsVUFBSyxhQUFhLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQztBQUMvRyxXQUFXQSxnQkFBZSxVQUFVO0FBRWhDLGdCQUFjLEtBQVUsYUFBUSxNQUFNQSxZQUFXLGdCQUFnQixDQUFDO0FBQ3RFO0FBRUEsSUFBTyxzQkFBUSxhQUFhLE9BQU8sRUFBRSxTQUFTLEtBQUssTUFBTTtBQUNyRCxRQUFNLGlCQUFpQixNQUFNO0FBQUEsSUFDekI7QUFBQSxJQUNBO0FBQUEsSUFDSyxhQUFRO0FBQUEsSUFDYjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDSjtBQUNBLFNBQU87QUFBQSxJQUNILEdBQUc7QUFBQSxFQUNQO0FBQ0osQ0FBQzsiLAogICJuYW1lcyI6IFsicGFja2FnZU5hbWUiXQp9Cg==
@@ -0,0 +1,34 @@
1
+ // Copyright 2021-2024 Prosopo (UK) Ltd.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ import fs from "node:fs";
16
+ import path from "node:path";
17
+ import { ViteTestConfig } from "@prosopo/config";
18
+ import dotenv from "dotenv";
19
+
20
+ process.env.NODE_ENV = "test";
21
+ // if .env.test exists at this level, use it, otherwise use the one at the root
22
+ const envFile = `.env.${process.env.NODE_ENV || "development"}`;
23
+ let envPath = envFile;
24
+ if (fs.existsSync(envFile)) {
25
+ envPath = path.resolve(envFile);
26
+ } else if (fs.existsSync(`../../${envFile}`)) {
27
+ envPath = path.resolve(`../../${envFile}`);
28
+ } else {
29
+ throw new Error(`No ${envFile} file found`);
30
+ }
31
+
32
+ dotenv.config({ path: envPath });
33
+
34
+ export default ViteTestConfig;
@@ -1,25 +0,0 @@
1
- import { type Features, type ProcaptchaToken } from "@prosopo/types";
2
- interface ProcaptchaRenderOptions {
3
- siteKey: string;
4
- theme?: "light" | "dark";
5
- captchaType?: Features;
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);
13
- }
14
- export declare const render: (element: Element, renderOptions: ProcaptchaRenderOptions) => void;
15
- export default function ready(fn: () => void): void;
16
- declare global {
17
- interface Window {
18
- procaptcha: {
19
- ready: typeof ready;
20
- render: typeof render;
21
- };
22
- }
23
- }
24
- export {};
25
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAGL,KAAK,QAAQ,EAKb,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;AAiUD,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"}
@@ -1,259 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
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, 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
- const getProcaptchaScript = () => document.querySelector(`script[src*="${BUNDLE_NAME}"]`);
10
- const extractParams = (name) => {
11
- const script = getProcaptchaScript();
12
- if (script && script.src.indexOf(`${name}`) !== -1) {
13
- const params = new URLSearchParams(script.src.split("?")[1]);
14
- return {
15
- onloadUrlCallback: params.get("onload") || undefined,
16
- renderExplicit: params.get("render") || undefined,
17
- };
18
- }
19
- return { onloadUrlCallback: undefined, renderExplicit: undefined };
20
- };
21
- const getConfig = (siteKey) => {
22
- if (!siteKey) {
23
- siteKey = process.env.PROSOPO_SITE_KEY || "";
24
- }
25
- return ProcaptchaConfigSchema.parse({
26
- defaultEnvironment: process.env.PROSOPO_DEFAULT_ENVIRONMENT
27
- ? EnvironmentTypesSchema.parse(process.env.PROSOPO_DEFAULT_ENVIRONMENT)
28
- : EnvironmentTypesSchema.enum.development,
29
- userAccountAddress: "",
30
- account: {
31
- address: siteKey,
32
- },
33
- serverUrl: process.env.PROSOPO_SERVER_URL || "",
34
- mongoAtlasUri: process.env.PROSOPO_MONGO_EVENTS_URI || "",
35
- devOnlyWatchEvents: process.env._DEV_ONLY_WATCH_EVENTS === "true" || false,
36
- });
37
- };
38
- const getParentForm = (element) => element.closest("form");
39
- const getWindowCallback = (callbackName) => {
40
- const fn = window[callbackName.replace("window.", "")];
41
- if (typeof fn !== "function") {
42
- throw new Error(`Callback ${callbackName} is not defined on the window object`);
43
- }
44
- return fn;
45
- };
46
- const handleOnHuman = (element, token) => {
47
- removeProcaptchaResponse();
48
- const form = getParentForm(element);
49
- if (!form) {
50
- console.error("Parent form not found for the element:", element);
51
- return;
52
- }
53
- const input = document.createElement("input");
54
- input.type = "hidden";
55
- input.name = ApiParams.procaptchaResponse;
56
- input.value = token;
57
- form.appendChild(input);
58
- };
59
- const customThemeSet = new Set(["light", "dark"]);
60
- const validateTheme = (themeAttribute) => customThemeSet.has(themeAttribute)
61
- ? themeAttribute
62
- : "light";
63
- const setValidChallengeLength = (renderOptions, element, config) => {
64
- const challengeValidLengthAttribute = renderOptions?.["challenge-valid-length"] ||
65
- element.getAttribute("data-challenge-valid-length");
66
- if (challengeValidLengthAttribute) {
67
- config.captchas.image.solutionTimeout = Number.parseInt(challengeValidLengthAttribute);
68
- config.captchas.pow.solutionTimeout = Number.parseInt(challengeValidLengthAttribute);
69
- }
70
- };
71
- const removeProcaptchaResponse = () => {
72
- const element = Array.from(document.getElementsByName(ApiParams.procaptchaResponse));
73
- element.map((el) => el.remove());
74
- };
75
- const getDefaultCallbacks = (element) => ({
76
- onHuman: (token) => handleOnHuman(element, token),
77
- onChallengeExpired: () => {
78
- removeProcaptchaResponse();
79
- console.log("Challenge expired");
80
- },
81
- onExpired: () => {
82
- removeProcaptchaResponse();
83
- alert("Completed challenge has expired, please try again");
84
- },
85
- onError: (error) => {
86
- removeProcaptchaResponse();
87
- console.error(error);
88
- },
89
- onClose: () => {
90
- console.log("Challenge closed");
91
- },
92
- onOpen: () => {
93
- console.log("Challenge opened");
94
- },
95
- });
96
- const setTheme = (renderOptions, element, config) => {
97
- const themeAttribute = renderOptions?.theme || element.getAttribute("data-theme") || "light";
98
- config.theme = validateTheme(themeAttribute);
99
- };
100
- function setUserCallbacks(renderOptions, callbacks, element) {
101
- if (typeof renderOptions?.callback === "function") {
102
- const fn = renderOptions.callback;
103
- callbacks.onHuman = (token) => {
104
- handleOnHuman(element, token);
105
- fn(token);
106
- };
107
- }
108
- else {
109
- const callbackName = typeof renderOptions?.callback === "string"
110
- ? renderOptions?.callback
111
- : element.getAttribute("data-callback");
112
- if (callbackName)
113
- callbacks.onHuman = (token) => {
114
- handleOnHuman(element, token);
115
- const fn = getWindowCallback(callbackName);
116
- fn(token);
117
- };
118
- }
119
- if (renderOptions &&
120
- renderOptions["chalexpired-callback"] &&
121
- typeof renderOptions["chalexpired-callback"] === "function") {
122
- const fn = renderOptions["chalexpired-callback"];
123
- callbacks.onChallengeExpired = () => {
124
- removeProcaptchaResponse();
125
- fn();
126
- };
127
- }
128
- else {
129
- const chalExpiredCallbackName = typeof renderOptions?.["chalexpired-callback"] === "string"
130
- ? renderOptions?.["chalexpired-callback"]
131
- : element.getAttribute("data-chalexpired-callback");
132
- if (chalExpiredCallbackName)
133
- callbacks.onChallengeExpired = () => {
134
- const fn = getWindowCallback(chalExpiredCallbackName);
135
- removeProcaptchaResponse();
136
- fn();
137
- };
138
- }
139
- if (renderOptions &&
140
- renderOptions["expired-callback"] &&
141
- typeof renderOptions["expired-callback"] === "function") {
142
- const fn = renderOptions["expired-callback"];
143
- callbacks.onExpired = () => {
144
- removeProcaptchaResponse();
145
- fn();
146
- };
147
- }
148
- else {
149
- const onExpiredCallbackName = typeof renderOptions?.["expired-callback"] === "string"
150
- ? renderOptions?.["expired-callback"]
151
- : element.getAttribute("data-expired-callback");
152
- if (onExpiredCallbackName)
153
- callbacks.onExpired = () => {
154
- const fn = getWindowCallback(onExpiredCallbackName);
155
- removeProcaptchaResponse();
156
- fn();
157
- };
158
- }
159
- if (renderOptions &&
160
- renderOptions?.["error-callback"] &&
161
- typeof renderOptions["error-callback"] === "function") {
162
- const fn = renderOptions["error-callback"];
163
- callbacks.onError = () => {
164
- removeProcaptchaResponse();
165
- fn();
166
- };
167
- }
168
- else {
169
- const errorCallbackName = typeof renderOptions?.["error-callback"] === "string"
170
- ? renderOptions?.["error-callback"]
171
- : element.getAttribute("data-error-callback");
172
- if (errorCallbackName)
173
- callbacks.onError = () => {
174
- const fn = getWindowCallback(errorCallbackName);
175
- removeProcaptchaResponse();
176
- fn();
177
- };
178
- }
179
- if (typeof renderOptions?.["close-callback"] === "function") {
180
- callbacks.onClose = renderOptions["close-callback"];
181
- }
182
- else {
183
- const onCloseCallbackName = typeof renderOptions?.["close-callback"] === "string"
184
- ? renderOptions?.["close-callback"]
185
- : element.getAttribute("data-close-callback");
186
- if (onCloseCallbackName)
187
- callbacks.onClose = getWindowCallback(onCloseCallbackName);
188
- }
189
- if (renderOptions?.["open-callback"]) {
190
- if (typeof renderOptions["open-callback"] === "function") {
191
- callbacks.onOpen = renderOptions["open-callback"];
192
- }
193
- else {
194
- const onOpenCallbackName = typeof renderOptions?.["open-callback"] === "string"
195
- ? renderOptions?.["open-callback"]
196
- : element.getAttribute("data-open-callback");
197
- if (onOpenCallbackName)
198
- callbacks.onOpen = getWindowCallback(onOpenCallbackName);
199
- }
200
- }
201
- }
202
- const renderLogic = (elements, config, renderOptions) => {
203
- for (const element of elements) {
204
- const callbacks = getDefaultCallbacks(element);
205
- setUserCallbacks(renderOptions, callbacks, element);
206
- setTheme(renderOptions, element, config);
207
- setValidChallengeLength(renderOptions, element, config);
208
- switch (renderOptions?.captchaType) {
209
- case "pow":
210
- createRoot(element).render(_jsx(ProcaptchaPow, { config: config, callbacks: callbacks }));
211
- break;
212
- case "frictionless":
213
- createRoot(element).render(_jsx(ProcaptchaFrictionless, { config: config, callbacks: callbacks }));
214
- break;
215
- default:
216
- createRoot(element).render(_jsx(Procaptcha, { config: config, callbacks: callbacks }));
217
- break;
218
- }
219
- }
220
- };
221
- const implicitRender = () => {
222
- const elements = Array.from(document.getElementsByClassName("procaptcha"));
223
- if (elements.length) {
224
- const siteKey = at(elements, 0).getAttribute("data-sitekey");
225
- if (!siteKey) {
226
- console.error("No siteKey found");
227
- return;
228
- }
229
- const features = Object.values(FeaturesEnum);
230
- const captchaType = features.find((feature) => feature === at(elements, 0).getAttribute("data-captcha-type")) || "frictionless";
231
- renderLogic(elements, getConfig(siteKey), { captchaType, siteKey });
232
- }
233
- };
234
- export const render = (element, renderOptions) => {
235
- const siteKey = renderOptions.siteKey;
236
- renderLogic([element], getConfig(siteKey), renderOptions);
237
- };
238
- export default function ready(fn) {
239
- if (document && document.readyState !== "loading") {
240
- console.log("document.readyState ready!");
241
- fn();
242
- }
243
- else {
244
- console.log("DOMContentLoaded listener!");
245
- document.addEventListener("DOMContentLoaded", fn);
246
- }
247
- }
248
- window.procaptcha = { ready, render };
249
- const { onloadUrlCallback, renderExplicit } = extractParams(BUNDLE_NAME);
250
- if (renderExplicit !== "explicit") {
251
- ready(implicitRender);
252
- }
253
- if (onloadUrlCallback) {
254
- const onloadCallback = getWindowCallback(onloadUrlCallback);
255
- getProcaptchaScript()?.addEventListener("load", () => {
256
- ready(onloadCallback);
257
- });
258
- }
259
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}