@prosopo/procaptcha-react 0.1.5 → 0.1.6

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.
package/.eslintignore ADDED
@@ -0,0 +1,3 @@
1
+ **/dist/*
2
+ **/node_modules/*
3
+ **/.eslintrc.js
package/.eslintrc.js ADDED
@@ -0,0 +1,22 @@
1
+ module.exports = {
2
+ "env": {
3
+ "browser": true,
4
+ "es2021": true
5
+ },
6
+ "extends": [
7
+ "eslint:recommended",
8
+ "plugin:@typescript-eslint/recommended"
9
+ ],
10
+ "parser": "@typescript-eslint/parser",
11
+ "parserOptions": {
12
+ "ecmaVersion": "latest",
13
+ "sourceType": "module"
14
+ },
15
+ "plugins": [
16
+ "@typescript-eslint"
17
+ ],
18
+ "rules": {
19
+ "indent": ["error", 4],
20
+ "@typescript-eslint/no-empty-function": "warn"
21
+ }
22
+ }
package/README.md CHANGED
@@ -34,3 +34,53 @@ See the [client example](https://github.com/prosopo-io/client-example) for a min
34
34
 
35
35
  </Box>
36
36
  ```
37
+
38
+ ### Callbacks
39
+ `CaptchaEventCallbacks` are passed to the captcha component at creation.
40
+
41
+ ```typescript
42
+ const clientInterface = useCaptcha({ config }, { onAccountChange, onChange, onSubmit, onSolved, onCancel });
43
+ ```
44
+
45
+ The captcha event callbacks are defined as follows:
46
+
47
+ ```typescript
48
+ export interface CaptchaEventCallbacks extends ICaptchaClientEvents, ICaptchaStateClientEvents { }
49
+
50
+ export interface ICaptchaClientEvents {
51
+ onLoad?: (extension: IExtensionInterface, contractAddress: string) => void;
52
+ onAccountChange?: (account?: TExtensionAccount) => void;
53
+ }
54
+
55
+ export interface ICaptchaStateClientEvents {
56
+ onLoadCaptcha?: (captchaChallenge: GetCaptchaResponse | Error) => void;
57
+ onSubmit?: (result: TCaptchaSubmitResult | Error, captchaState: ICaptchaState) => void;
58
+ onChange?: (captchaSolution: number[][], index: number) => void;
59
+ onCancel?: () => void;
60
+ onSolved?: (result: TCaptchaSubmitResult, isHuman?: boolean) => void;
61
+ }
62
+ ```
63
+
64
+ #### onAccountChange
65
+
66
+ When an account is connected or disconnected.
67
+
68
+ #### onLoadCaptcha
69
+
70
+ After a captcha challenge has loaded/failed to load, updates captchaChallenge state and resets captchaIndex.
71
+
72
+ #### onChange
73
+
74
+ When the captchaSolution is updated (after clicking an image).
75
+
76
+ #### onSubmit
77
+
78
+ Event fired after captcha solution has been submitted. Resets captchaSolution state.
79
+
80
+ #### onSolved
81
+
82
+ When captcha is solved. after clearing captchaChallenge.
83
+
84
+ #### onCancel
85
+
86
+ When captcha is dismissed. before clearing captchaChallenge.
@@ -1 +1 @@
1
- {"version":3,"file":"CaptchaComponent.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAEH,oBAAoB,EAGvB,MAAM,qBAAqB,CAAC;AAQ7B,wBAAgB,gBAAgB,CAAC,EAAE,eAAe,EAAE,EAAE;IAAE,eAAe,EAAE,oBAAoB,CAAA;CAAE,eA+E9F;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"CaptchaComponent.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAEH,oBAAoB,EAGvB,MAAM,qBAAqB,CAAC;AAS7B,wBAAgB,gBAAgB,CAAC,EAAE,eAAe,EAAE,EAAE;IAAE,eAAe,EAAE,oBAAoB,CAAA;CAAE,eAiF9F;AAED,eAAe,gBAAgB,CAAC"}
@@ -20,6 +20,7 @@ import { ProsopoCaptchaStateClient, captchaStateReducer } from "@prosopo/procapt
20
20
  import { CaptchaContextManager } from "./CaptchaManager";
21
21
  import { CaptchaWidget } from "./CaptchaWidget";
22
22
  import { useStyles } from "../styles";
23
+ import { addDataAttr } from "../util";
23
24
  export function CaptchaComponent({ clientInterface }) {
24
25
  const classes = useStyles();
25
26
  const manager = useContext(CaptchaContextManager);
@@ -29,7 +30,7 @@ export function CaptchaComponent({ clientInterface }) {
29
30
  const totalCaptchas = captchaChallenge?.captchas.length ?? 0;
30
31
  const stateClientInterface = new ProsopoCaptchaStateClient(clientInterface, { state, update });
31
32
  useEffect(() => {
32
- clientInterface.onLoad();
33
+ clientInterface.onLoad(manager.state.config['web2']);
33
34
  }, []);
34
35
  useEffect(() => {
35
36
  const extension = clientInterface.getExtension();
@@ -49,10 +50,9 @@ export function CaptchaComponent({ clientInterface }) {
49
50
  });
50
51
  }
51
52
  }, [account]);
52
- // TODO text strings
53
53
  // https://www.npmjs.com/package/i18next
54
54
  return (_jsx(Box, { className: classes.root, children: account && captchaChallenge &&
55
- _jsxs(Box, { className: classes.captchasContainer, children: [_jsx(Box, { className: classes.captchasHeader, children: _jsxs(Typography, { className: classes.captchasHeaderLabel, children: ["Select all images with ", captchaChallenge.captchas[captchaIndex].captcha.target] }) }), _jsxs(Box, { className: classes.captchasBody, children: [_jsx(CaptchaWidget, { challenge: captchaChallenge.captchas[captchaIndex], solution: captchaSolution[captchaIndex] || [], onChange: stateClientInterface.onChange.bind(stateClientInterface) }), _jsx(Box, { className: classes.dotsContainer, children: captchaChallenge?.captchas.map((_, index) => _jsx(Box, { className: captchaIndex === index ? classes.dot : classes.dotActive }, index)) })] }), _jsxs(Box, { className: classes.captchasFooter, children: [_jsx(Button, { onClick: () => stateClientInterface.onCancel(), variant: "text", children: "Cancel" }), _jsx(Button, { onClick: () => stateClientInterface.onSubmit(), variant: "contained", children: captchaIndex + 1 < totalCaptchas ? "Next" : "Submit" })] })] }) }));
55
+ _jsxs(Box, { className: classes.captchasContainer, children: [_jsx(Box, { className: classes.captchasHeader, children: _jsxs(Typography, { className: classes.captchasHeaderLabel, children: ["Select all images containing a ", captchaChallenge.captchas[captchaIndex].captcha.target] }) }), _jsxs(Box, { className: classes.captchasBody, ...addDataAttr({ dev: { cy: 'captcha-' + captchaIndex } }), children: [_jsx(CaptchaWidget, { challenge: captchaChallenge.captchas[captchaIndex], solution: captchaSolution[captchaIndex] || [], onChange: stateClientInterface.onChange.bind(stateClientInterface) }), _jsx(Box, { className: classes.dotsContainer, ...addDataAttr({ dev: { cy: 'dots-captcha' } }), children: captchaChallenge?.captchas.map((_, index) => _jsx(Box, { className: captchaIndex === index ? classes.dot : classes.dotActive }, index)) })] }), _jsxs(Box, { className: classes.captchasFooter, children: [_jsx(Button, { onClick: () => stateClientInterface.onCancel(), variant: "text", children: "Cancel" }), _jsx(Button, { onClick: () => stateClientInterface.onSubmit(), variant: "contained", ...addDataAttr({ dev: { cy: "button-next" } }), children: captchaIndex + 1 < totalCaptchas ? "Next" : "Submit" })] })] }) }));
56
56
  }
57
57
  export default CaptchaComponent;
58
58
  //# sourceMappingURL=CaptchaComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaptchaComponent.js","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaptchaComponent.js","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CaptchaManager.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaManager.ts"],"names":[],"mappings":";AAiBA,OAAO,EACH,oBAAoB,EAGpB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,qBAAqB,CAAC;AAG7B,wBAAgB,UAAU,CAAC,cAAc,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,CAIxH;AAED,eAAO,MAAM,qBAAqB,iDAWN,CAAC"}
1
+ {"version":3,"file":"CaptchaManager.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaManager.ts"],"names":[],"mappings":";AAiBA,OAAO,EACH,oBAAoB,EAGpB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,qBAAqB,CAAC;AAG7B,wBAAgB,UAAU,CAAC,cAAc,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,CAIxH;AAED,eAAO,MAAM,qBAAqB,iDAaN,CAAC"}
@@ -27,7 +27,9 @@ export const CaptchaContextManager = createContext({
27
27
  "providerApi.prefix": "",
28
28
  "dappAccount": "",
29
29
  "dappUrl": "",
30
- "solutionThreshold": 0
30
+ "solutionThreshold": 0,
31
+ "web2": false,
32
+ "prosopoContractAccount": "",
31
33
  }
32
34
  },
33
35
  update: () => { },
@@ -1 +1 @@
1
- {"version":3,"file":"CaptchaManager.js","sourceRoot":"","sources":["../../src/components/CaptchaManager.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,0FAA0F;AAC1F,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,4EAA4E;AAE5E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAEH,qBAAqB,EACrB,oBAAoB,EAEpB,oBAAoB,GAEvB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,UAAU,UAAU,CAAC,cAAoC,EAAE,SAAiC;IAC9F,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,UAAU,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;IACnF,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,UAAU,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,IAAI,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC;AACnI,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;IAC/C,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,qBAAqB,EAAE,EAAE;YACzB,oBAAoB,EAAE,EAAE;YACxB,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,EAAE;YACb,mBAAmB,EAAE,CAAC;SACzB;KACJ;IACD,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;CACO,CAAC,CAAC"}
1
+ {"version":3,"file":"CaptchaManager.js","sourceRoot":"","sources":["../../src/components/CaptchaManager.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,0FAA0F;AAC1F,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,4EAA4E;AAE5E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAEH,qBAAqB,EACrB,oBAAoB,EAEpB,oBAAoB,GAEvB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,UAAU,UAAU,CAAC,cAAoC,EAAE,SAAiC;IAC9F,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,UAAU,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;IACnF,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,UAAU,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,IAAI,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC;AACnI,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;IAC/C,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,qBAAqB,EAAE,EAAE;YACzB,oBAAoB,EAAE,EAAE;YACxB,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,EAAE;YACb,mBAAmB,EAAE,CAAC;YACtB,MAAM,EAAE,KAAK;YACb,wBAAwB,EAAE,EAAE;SAC/B;KACJ;IACD,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;CACO,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { CaptchaResponseCaptcha } from "@prosopo/procaptcha";
2
2
  export declare function CaptchaWidget({ challenge, solution, onChange }: {
3
3
  challenge: CaptchaResponseCaptcha;
4
- solution: number[];
5
- onChange: (index: number) => void;
4
+ solution: string[];
5
+ onChange: (hash: string) => void;
6
6
  }): JSX.Element;
7
7
  export default CaptchaWidget;
8
8
  //# sourceMappingURL=CaptchaWidget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaWidget.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAK7D,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC3D;IAAC,SAAS,EAAE,sBAAsB,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAAC,eAkB3F;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"CaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaWidget.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC3D;IAAC,SAAS,EAAE,sBAAsB,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAC,eAmB5F;AAED,eAAe,aAAa,CAAC"}
@@ -1,4 +1,5 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { createElement as _createElement } from "react";
2
3
  // Copyright (C) 2021-2022 Prosopo (UK) Ltd.
3
4
  // This file is part of procaptcha-react <https://github.com/prosopo-io/procaptcha-react>.
4
5
  //
@@ -16,13 +17,13 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
16
17
  // along with procaptcha-react. If not, see <http://www.gnu.org/licenses/>.
17
18
  import { Avatar } from "@mui/material";
18
19
  import { useStyles } from "../styles";
20
+ import { addDataAttr } from "../util";
19
21
  export function CaptchaWidget({ challenge, solution, onChange }) {
20
- // TODO challenge.items
21
22
  //const items = Array.from(Array(9).keys());
22
23
  console.log("CHALLENGE", challenge);
23
24
  const items = challenge.captcha.items;
24
25
  const classes = useStyles();
25
- return (_jsx(_Fragment, { children: items.map((item, index) => _jsx(Avatar, { src: item.path, variant: "square", className: classes.captchaItem + " " + (solution.includes(index) ? " " + classes.captchaItemSelected : ""), onClick: () => onChange(index) }, index)) }));
26
+ return (_jsx(_Fragment, { children: items.map((item, index) => _createElement(Avatar, { ...addDataAttr({ dev: { cy: 'captcha-item', hash: item.hash } }), key: index, src: item.path, variant: "square", className: classes.captchaItem + " " + (solution.includes(item.hash) ? " " + classes.captchaItemSelected : ""), onClick: () => onChange(item.hash) })) }));
26
27
  }
27
28
  export default CaptchaWidget;
28
29
  //# sourceMappingURL=CaptchaWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaptchaWidget.js","sourceRoot":"","sources":["../../src/components/CaptchaWidget.tsx"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,0FAA0F;AAC1F,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,4EAA4E;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EACiC;IAC1F,uBAAuB;IACvB,4CAA4C;IAC5C,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;IACtC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,OAAO,CACL,4BACG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAC,MAAM,IAEjC,GAAG,EAAE,IAAI,CAAC,IAAI,EACd,OAAO,EAAC,QAAQ,EAChB,SAAS,EAAE,OAAO,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1G,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAJzB,KAAK,CAIwB,CACnC,GACA,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"CaptchaWidget.js","sourceRoot":"","sources":["../../src/components/CaptchaWidget.tsx"],"names":[],"mappings":";;AAAA,4CAA4C;AAC5C,0FAA0F;AAC1F,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,4EAA4E;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EACgC;IAEzF,4CAA4C;IAC5C,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;IACtC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,OAAO,CACH,4BACK,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,eAAC,MAAM,OAC3B,WAAW,CAAC,EAAC,GAAG,EAAE,EAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,EAAC,CAAC,EAC7D,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,IAAI,CAAC,IAAI,EACd,OAAO,EAAC,QAAQ,EAChB,SAAS,EAAE,OAAO,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAC9G,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,CACzC,GACF,CACN,CAAC;AACN,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -1,8 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Autocomplete, TextField } from "@mui/material";
3
3
  export const ExtensionAccountSelect = ({ value, options, onChange }) => {
4
- return (_jsx(Autocomplete, { disablePortal: true, id: "select-accounts" // TODO
5
- , options: options, value: value, isOptionEqualToValue: (option, value) => option.address === value.address, onChange: (event, value) => onChange(value), sx: { width: 550 }, getOptionLabel: (option) => `${option.meta.name}\n${option.address}`, renderInput: (props) => _jsx(TextField, { ...props, label: "Select account" }) }));
4
+ return (_jsx(Autocomplete, { disablePortal: true, id: "select-accounts", options: options, value: value, isOptionEqualToValue: (option, value) => option.address === value.address, onChange: (event, value) => onChange(value), sx: { width: 550 }, getOptionLabel: (option) => `${option.meta.name}\n${option.address}`, renderInput: (props) => _jsx(TextField, { ...props, label: "Select account" }) }));
6
5
  };
7
6
  export default ExtensionAccountSelect;
8
7
  //# sourceMappingURL=ExtensionAccountSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionAccountSelect.js","sourceRoot":"","sources":["../../src/components/ExtensionAccountSelect.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAIxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EACsD,EAAE,EAAE;IACtH,OAAO,CACH,KAAC,YAAY,IACT,aAAa,QACb,EAAE,EAAC,iBAAiB,CAAC,OAAO;UAC5B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,oBAAoB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EACzE,QAAQ,EAAE,CAAC,KAAqC,EAAE,KAA+B,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EACrG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAClB,cAAc,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,EACzE,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,SAAS,OAAK,KAAK,EAAE,KAAK,EAAC,gBAAgB,GAAG,GACzE,CACL,CAAC;AACN,CAAC,CAAA;AAED,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"ExtensionAccountSelect.js","sourceRoot":"","sources":["../../src/components/ExtensionAccountSelect.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAIxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EACsD,EAAE,EAAE;IACtH,OAAO,CACH,KAAC,YAAY,IACT,aAAa,QACb,EAAE,EAAC,iBAAiB,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,oBAAoB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EACzE,QAAQ,EAAE,CAAC,KAAqC,EAAE,KAA+B,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EACrG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAClB,cAAc,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,EACzE,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,SAAS,OAAK,KAAK,EAAE,KAAK,EAAC,gBAAgB,GAAG,GACzE,CACL,CAAC;AACN,CAAC,CAAA;AAED,eAAe,sBAAsB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './components';
2
2
  export * from './styles';
3
+ export * from './util';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
package/dist/index.js CHANGED
@@ -15,4 +15,5 @@
15
15
  // along with procaptcha-react. If not, see <http://www.gnu.org/licenses/>.
16
16
  export * from './components';
17
17
  export * from './styles';
18
+ export * from './util';
18
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,0FAA0F;AAC1F,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,4EAA4E;AAC5E,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,0FAA0F;AAC1F,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,4EAA4E;AAC5E,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,0FAA0F;AAC1F,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,4EAA4E;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,GAAG,GAAG;IACV,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,YAAY,EAAE,GAAG;IACjB,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,mBAAmB;IAC3B,eAAe,EAAE,SAAS;CAC3B,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;KACf;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,mBAAmB;QAC3B,SAAS,EAAE,gCAAgC;KAC5C;IACD,cAAc,EAAE;QACd,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,eAAe,EAAE,SAAS;QAC1B,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,EAAE;KAChB;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,mBAAmB;KAClC;IACD,cAAc,EAAE;QACd,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,eAAe;QAC/B,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;KACjB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,kBAAkB;QACzB,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,kBAAkB;QAC1B,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;KACjB;IACD,mBAAmB,EAAE;QACnB,MAAM,EAAE,mBAAmB;KAC5B;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,SAAS;KACjB;IACD,aAAa,EAAE;QACb,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,KAAK,EAAE,MAAM;QACb,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,EAAE;KACf;IACD,GAAG;IACH,SAAS,EAAE;QACT,GAAG,GAAG;QACN,eAAe,EAAE,SAAS;KAC3B;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,0FAA0F;AAC1F,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,4EAA4E;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,GAAG,GAAG;IACR,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,YAAY,EAAE,GAAG;IACjB,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,mBAAmB;IAC3B,eAAe,EAAE,SAAS;CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;IAChC,IAAI,EAAE;QACF,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;KACjB;IACD,iBAAiB,EAAE;QACf,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,mBAAmB;QAC3B,SAAS,EAAE,gCAAgC;KAC9C;IACD,cAAc,EAAE;QACZ,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,eAAe,EAAE,SAAS;QAC1B,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,EAAE;KAClB;IACD,YAAY,EAAE;QACV,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,mBAAmB;KACpC;IACD,cAAc,EAAE;QACZ,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,eAAe;QAC/B,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;KACnB;IACD,WAAW,EAAE;QACT,KAAK,EAAE,kBAAkB;QACzB,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,kBAAkB;QAC1B,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;KACnB;IACD,mBAAmB,EAAE;QACjB,MAAM,EAAE,mBAAmB;KAC9B;IACD,mBAAmB,EAAE;QACjB,KAAK,EAAE,SAAS;KACnB;IACD,aAAa,EAAE;QACX,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,KAAK,EAAE,MAAM;QACb,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,EAAE;KACjB;IACD,GAAG;IACH,SAAS,EAAE;QACP,GAAG,GAAG;QACN,eAAe,EAAE,SAAS;KAC7B;CACJ,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * maps any data to data attributes (mapped to { data-[key]: value })
3
+ *
4
+ * dev - only in development mode
5
+ */
6
+ export declare function addDataAttr({ general, dev, }: {
7
+ general?: {
8
+ [key: string]: string;
9
+ };
10
+ dev?: {
11
+ [key: string]: string;
12
+ };
13
+ }): {};
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EACxB,OAAO,EACP,GAAG,GACN,EAAE;IACC,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;CACnC,MAOA"}
@@ -0,0 +1,17 @@
1
+ function renameKeysForDataAttr(data = {}) {
2
+ return Object.keys(data).reduce((prev, curr) => ({ ...prev, [`data-${curr}`]: data[curr] }), {});
3
+ }
4
+ /**
5
+ * maps any data to data attributes (mapped to { data-[key]: value })
6
+ *
7
+ * dev - only in development mode
8
+ */
9
+ export function addDataAttr({ general, dev, }) {
10
+ return {
11
+ ...renameKeysForDataAttr(general),
12
+ ...(process.env.NODE_ENV === "development"
13
+ ? renameKeysForDataAttr(dev)
14
+ : {}),
15
+ };
16
+ }
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,SAAS,qBAAqB,CAAC,OAAkC,EAAE;IAC/D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAC3B,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,CACL,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EACxB,OAAO,EACP,GAAG,GAIN;IACG,OAAO;QACH,GAAG,qBAAqB,CAAC,OAAO,CAAC;QACjC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;YACtC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC;YAC5B,CAAC,CAAC,EAAE,CAAC;KACZ,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/procaptcha-react",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -8,18 +8,23 @@
8
8
  "scripts": {
9
9
  "test": "echo \"Error: no test specified\" && exit 1",
10
10
  "clean": "tsc --build --clean",
11
- "build": "tsc --build --verbose"
11
+ "build": "tsc --build --verbose",
12
+ "lint": "npx eslint .",
13
+ "lint:fix": "npx eslint . --fix"
12
14
  },
13
15
  "dependencies": {
14
16
  "@mui/material": "^5.8.3",
15
17
  "@mui/styles": "^5.8.3",
16
- "@prosopo/procaptcha": "0.1.5",
18
+ "@prosopo/procaptcha": "0.1.6",
17
19
  "react": "^17.0.0",
18
20
  "react-dom": "^17.0.0"
19
21
  },
20
22
  "devDependencies": {
21
23
  "@types/react": "^17.0.0",
22
24
  "@types/react-dom": "^17.0.0",
25
+ "@typescript-eslint/eslint-plugin": "^5.30.7",
26
+ "@typescript-eslint/parser": "^5.30.7",
27
+ "eslint": "^8.20.0",
23
28
  "typescript": "^4.7.4"
24
29
  },
25
30
  "repository": {
@@ -32,6 +37,6 @@
32
37
  "homepage": "https://github.com/prosopo-io/procaptcha-react#readme",
33
38
  "description": "",
34
39
  "publishConfig": {
35
- "registry":"https://registry.npmjs.org"
40
+ "registry": "https://registry.npmjs.org"
36
41
  }
37
42
  }