@prosopo/procaptcha-frictionless 2.0.3 → 2.1.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 +1 @@
1
- {"version":3,"file":"ProcaptchaFrictionless.d.ts","sourceRoot":"","sources":["../src/ProcaptchaFrictionless.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAEX,2BAA2B,EAC3B,MAAM,gBAAgB,CAAC;AAWxB,eAAO,MAAM,sBAAsB,sCAIhC,2BAA2B,4CAuB7B,CAAC"}
1
+ {"version":3,"file":"ProcaptchaFrictionless.d.ts","sourceRoot":"","sources":["../src/ProcaptchaFrictionless.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAEX,2BAA2B,EAC3B,MAAM,gBAAgB,CAAC;AAWxB,eAAO,MAAM,sBAAsB,sCAIhC,2BAA2B,4CA2B7B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { i18n } from "@prosopo/common";
2
3
  import { isBot } from "@prosopo/detector";
3
4
  import { ProcaptchaPow } from "@prosopo/procaptcha-pow";
4
5
  import { Procaptcha } from "@prosopo/procaptcha-react";
@@ -11,7 +12,7 @@ const customDetectBot = async () => {
11
12
  });
12
13
  };
13
14
  export const ProcaptchaFrictionless = ({ config, callbacks, detectBot = customDetectBot, }) => {
14
- const [componentToRender, setComponentToRender] = useState(_jsx(ProcaptchaPlaceholder, { darkMode: config.theme }));
15
+ const [componentToRender, setComponentToRender] = useState(_jsx(ProcaptchaPlaceholder, { config: config, callbacks: callbacks }));
15
16
  useEffect(() => {
16
17
  const detectAndSetComponent = async () => {
17
18
  const result = await detectBot();
@@ -23,7 +24,10 @@ export const ProcaptchaFrictionless = ({ config, callbacks, detectBot = customDe
23
24
  }
24
25
  };
25
26
  detectAndSetComponent();
26
- }, [config, callbacks, detectBot]);
27
+ if (config.language) {
28
+ i18n.changeLanguage(config.language);
29
+ }
30
+ }, [config, callbacks, detectBot, config.language]);
27
31
  return componentToRender;
28
32
  };
29
33
  //# sourceMappingURL=ProcaptchaFrictionless.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProcaptchaFrictionless.js","sourceRoot":"","sources":["../src/ProcaptchaFrictionless.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAKvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,eAAe,GAAyB,KAAK,IAAI,EAAE;IACxD,OAAO,MAAM,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACtC,MAAM,EACN,SAAS,EACT,SAAS,GAAG,eAAe,GACE,EAAE,EAAE;IACjC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CACzD,KAAC,qBAAqB,IAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,GAAI,CACjD,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,GAAG,EAAE;gBACf,oBAAoB,CACnB,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAI,CACpD,CAAC;aACF;iBAAM;gBACN,oBAAoB,CACnB,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAI,CACvD,CAAC;aACF;QACF,CAAC,CAAC;QAEF,qBAAqB,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnC,OAAO,iBAAiB,CAAC;AAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"ProcaptchaFrictionless.js","sourceRoot":"","sources":["../src/ProcaptchaFrictionless.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAKvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,eAAe,GAAyB,KAAK,IAAI,EAAE;IACxD,OAAO,MAAM,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACtC,MAAM,EACN,SAAS,EACT,SAAS,GAAG,eAAe,GACE,EAAE,EAAE;IACjC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CACzD,KAAC,qBAAqB,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAI,CAC/D,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;YACjC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBAChB,oBAAoB,CACnB,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAI,CACpD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,oBAAoB,CACnB,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAI,CACvD,CAAC;YACH,CAAC;QACF,CAAC,CAAC;QAEF,qBAAqB,EAAE,CAAC;QAExB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;IACF,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpD,OAAO,iBAAiB,CAAC;AAC1B,CAAC,CAAC"}
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const index = require("./detector/src/index.cjs");
5
- require("./procaptcha-pow/dist/index.cjs");
4
+ const common = require("@prosopo/common");
5
+ const detector = require("@prosopo/detector");
6
+ const procaptchaPow = require("@prosopo/procaptcha-pow");
6
7
  const procaptchaReact = require("@prosopo/procaptcha-react");
7
8
  const webComponents = require("@prosopo/web-components");
8
9
  const react = require("react");
9
- const ProcaptchaPoW = require("./procaptcha-pow/dist/components/ProcaptchaPoW.cjs");
10
10
  const customDetectBot = async () => {
11
- return await index.isBot().then((result) => {
11
+ return await detector.isBot().then((result) => {
12
12
  const bot = result.isBot;
13
13
  return { bot };
14
14
  });
@@ -19,7 +19,7 @@ const ProcaptchaFrictionless = ({
19
19
  detectBot = customDetectBot
20
20
  }) => {
21
21
  const [componentToRender, setComponentToRender] = react.useState(
22
- /* @__PURE__ */ jsxRuntime.jsx(webComponents.ProcaptchaPlaceholder, { darkMode: config.theme })
22
+ /* @__PURE__ */ jsxRuntime.jsx(webComponents.ProcaptchaPlaceholder, { config, callbacks })
23
23
  );
24
24
  react.useEffect(() => {
25
25
  const detectAndSetComponent = async () => {
@@ -30,12 +30,15 @@ const ProcaptchaFrictionless = ({
30
30
  );
31
31
  } else {
32
32
  setComponentToRender(
33
- /* @__PURE__ */ jsxRuntime.jsx(ProcaptchaPoW.ProcaptchaPow, { config, callbacks })
33
+ /* @__PURE__ */ jsxRuntime.jsx(procaptchaPow.ProcaptchaPow, { config, callbacks })
34
34
  );
35
35
  }
36
36
  };
37
37
  detectAndSetComponent();
38
- }, [config, callbacks, detectBot]);
38
+ if (config.language) {
39
+ common.i18n.changeLanguage(config.language);
40
+ }
41
+ }, [config, callbacks, detectBot, config.language]);
39
42
  return componentToRender;
40
43
  };
41
44
  exports.ProcaptchaFrictionless = ProcaptchaFrictionless;
package/package.json CHANGED
@@ -1,55 +1,60 @@
1
1
  {
2
- "name": "@prosopo/procaptcha-frictionless",
3
- "version": "2.0.3",
4
- "author": "PROSOPO LIMITED <info@prosopo.io>",
5
- "license": "Apache-2.0",
6
- "main": "./dist/index.js",
7
- "type": "module",
8
- "sideEffects": false,
9
- "engines": {
10
- "node": ">=20",
11
- "npm": ">=9"
12
- },
13
- "exports": {
14
- ".": {
15
- "import": "./dist/index.js",
16
- "require": "./dist/cjs/index.cjs"
17
- }
18
- },
19
- "types": "./dist/index.d.ts",
20
- "source": "./src/index.ts",
21
- "scripts": {
22
- "test": "echo \"No test specified\"",
23
- "clean": "tsc --build --clean",
24
- "build": "tsc --build --verbose",
25
- "build:cjs": "npx vite --config vite.cjs.config.ts build"
26
- },
27
- "browserslist": [
28
- "> 0.5%, last 2 versions, not dead"
29
- ],
30
- "dependencies": {
31
- "@prosopo/detector": "2.0.3",
32
- "@prosopo/procaptcha-pow": "2.0.3",
33
- "@prosopo/procaptcha-react": "2.0.3",
34
- "@prosopo/types": "2.0.3",
35
- "@prosopo/web-components": "2.0.3",
36
- "react": "^18.3.1"
37
- },
38
- "devDependencies": {
39
- "@prosopo/config": "2.0.3",
40
- "tslib": "2.6.2",
41
- "typescript": "5.1.6"
42
- },
43
- "repository": {
44
- "type": "git",
45
- "url": "git+https://github.com/prosopo/captcha.git"
46
- },
47
- "bugs": {
48
- "url": "https://github.com/prosopo/captcha/issues"
49
- },
50
- "homepage": "https://github.com/prosopo/captcha#readme",
51
- "description": "",
52
- "publishConfig": {
53
- "registry": "https://registry.npmjs.org"
54
- }
2
+ "name": "@prosopo/procaptcha-frictionless",
3
+ "version": "2.1.0",
4
+ "author": "PROSOPO LIMITED <info@prosopo.io>",
5
+ "license": "Apache-2.0",
6
+ "main": "./dist/index.js",
7
+ "type": "module",
8
+ "sideEffects": false,
9
+ "engines": {
10
+ "node": ">=20",
11
+ "npm": ">=9"
12
+ },
13
+ "exports": {
14
+ ".": {
15
+ "import": "./dist/index.js",
16
+ "require": "./dist/cjs/index.cjs"
17
+ }
18
+ },
19
+ "types": "./dist/index.d.ts",
20
+ "source": "./src/index.ts",
21
+ "scripts": {
22
+ "test": "echo \"No test specified\"",
23
+ "clean": "tsc --build --clean",
24
+ "build": "tsc --build --verbose",
25
+ "build:cjs": "npx vite --config vite.cjs.config.ts build"
26
+ },
27
+ "browserslist": ["> 0.5%, last 2 versions, not dead"],
28
+ "dependencies": {
29
+ "@prosopo/detector": "2.1.0",
30
+ "@prosopo/procaptcha-pow": "2.1.0",
31
+ "@prosopo/procaptcha-react": "2.1.0",
32
+ "@prosopo/types": "2.1.0",
33
+ "@prosopo/web-components": "2.1.0",
34
+ "react": "18.3.1"
35
+ },
36
+ "devDependencies": {
37
+ "@prosopo/config": "2.1.0",
38
+ "@vitest/coverage-v8": "2.1.1",
39
+ "concurrently": "9.0.1",
40
+ "npm-run-all": "4.1.5",
41
+ "rimraf": "6.0.1",
42
+ "tslib": "2.7.0",
43
+ "tsx": "4.19.1",
44
+ "typescript": "5.6.2",
45
+ "vite": "5.4.6",
46
+ "vitest": "2.1.1"
47
+ },
48
+ "repository": {
49
+ "type": "git",
50
+ "url": "git+https://github.com/prosopo/captcha.git"
51
+ },
52
+ "bugs": {
53
+ "url": "https://github.com/prosopo/captcha/issues"
54
+ },
55
+ "homepage": "https://github.com/prosopo/captcha#readme",
56
+ "description": "",
57
+ "publishConfig": {
58
+ "registry": "https://registry.npmjs.org"
59
+ }
55
60
  }
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- class Extension {
4
- }
5
- exports.Extension = Extension;
@@ -1,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Signer = require("@polkadot/extension-base/page/Signer");
4
- const keyring = require("@polkadot/keyring");
5
- const utilCrypto = require("@polkadot/util-crypto");
6
- const bip39 = require("@polkadot/util-crypto/mnemonic/bip39");
7
- const string = require("@polkadot/util/string");
8
- const u8a = require("@polkadot/util/u8a");
9
- const common = require("@prosopo/common");
10
- const index = require("../../../detector/src/index.cjs");
11
- const util = require("@prosopo/util");
12
- const Extension = require("./Extension.cjs");
13
- class ExtensionWeb2 extends Extension.Extension {
14
- async getAccount(config) {
15
- const account = await this.createAccount(config);
16
- const extension = await this.createExtension(account);
17
- return {
18
- account,
19
- extension
20
- };
21
- }
22
- async createExtension(account) {
23
- const signer = new Signer(async () => {
24
- return;
25
- });
26
- signer.signRaw = async (payload) => {
27
- const signature = account.keypair.sign(payload.data);
28
- return {
29
- id: 1,
30
- signature: u8a.u8aToHex(signature)
31
- };
32
- };
33
- return {
34
- accounts: {
35
- get: async () => {
36
- return [account];
37
- },
38
- subscribe: () => {
39
- return () => {
40
- return;
41
- };
42
- }
43
- },
44
- name: "procaptcha-web2",
45
- version: util.version,
46
- signer
47
- };
48
- }
49
- async createAccount(config) {
50
- await utilCrypto.cryptoWaitReady();
51
- const params = {
52
- area: { width: 300, height: 300 },
53
- offsetParameter: 2001000001,
54
- multiplier: 15e3,
55
- fontSizeFactor: 1.5,
56
- maxShadowBlur: 50,
57
- numberOfRounds: 5,
58
- seed: 42
59
- };
60
- const browserEntropy = await index.getFingerprint();
61
- const canvasEntropy = util.picassoCanvas(params.numberOfRounds, params.seed, params);
62
- const entropy = common.hexHash([canvasEntropy, browserEntropy].join(""), 128).slice(2);
63
- const u8Entropy = string.stringToU8a(entropy);
64
- const mnemonic = bip39.entropyToMnemonic(u8Entropy);
65
- const type = "sr25519";
66
- const keyring$1 = new keyring.Keyring({
67
- type
68
- });
69
- const keypair = keyring$1.addFromMnemonic(mnemonic);
70
- const address = keypair.address;
71
- return {
72
- address,
73
- name: address,
74
- keypair
75
- };
76
- }
77
- }
78
- exports.ExtensionWeb2 = ExtensionWeb2;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const extensionDapp = require("@polkadot/extension-dapp");
4
- const common = require("@prosopo/common");
5
- const Extension = require("./Extension.cjs");
6
- class ExtensionWeb3 extends Extension.Extension {
7
- async getAccount(config) {
8
- const { dappName, userAccountAddress: address } = config;
9
- if (!address) {
10
- throw new common.ProsopoError("WIDGET.NO_ACCOUNTS_FOUND", {
11
- context: { error: "No account address provided" }
12
- });
13
- }
14
- const extensions = await extensionDapp.web3Enable(dappName);
15
- if (extensions.length === 0) {
16
- throw new common.ProsopoError("WIDGET.NO_EXTENSION_FOUND");
17
- }
18
- for (const extension of extensions) {
19
- const accounts = await extension.accounts.get();
20
- const account = accounts.find((account2) => account2.address === address);
21
- if (account) {
22
- return { account, extension };
23
- }
24
- }
25
- throw new common.ProsopoError("WIDGET.ACCOUNT_NOT_FOUND", {
26
- context: { error: `No account found matching ${address}` }
27
- });
28
- }
29
- }
30
- exports.ExtensionWeb3 = ExtensionWeb3;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Extension = require("./extension/Extension.cjs");
4
- const ExtensionWeb2 = require("./extension/ExtensionWeb2.cjs");
5
- const ExtensionWeb3 = require("./extension/ExtensionWeb3.cjs");
6
- exports.Extension = Extension.Extension;
7
- exports.ExtensionWeb2 = ExtensionWeb2.ExtensionWeb2;
8
- exports.ExtensionWeb3 = ExtensionWeb3.ExtensionWeb3;