@prosopo/procaptcha-react 0.3.2 → 0.3.4
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/dist/cjs/components/Procaptcha.cjs +4 -2
- package/dist/cjs/components/ProcaptchaWidget.cjs +6 -83
- package/dist/cjs/web-components/dist/CaptchaPlaceholder.cjs +4 -6
- package/dist/cjs/web-components/dist/WidgetConstants.cjs +6 -0
- package/dist/cjs/web-components/dist/index.cjs +3 -0
- package/dist/components/CaptchaComponent.d.ts +2 -2
- package/dist/components/CaptchaComponent.d.ts.map +1 -1
- package/dist/components/CaptchaComponent.js.map +1 -1
- package/dist/components/CaptchaWidget.d.ts +2 -2
- package/dist/components/CaptchaWidget.d.ts.map +1 -1
- package/dist/components/Procaptcha.d.ts +4 -2
- package/dist/components/Procaptcha.d.ts.map +1 -1
- package/dist/components/Procaptcha.js +1 -1
- package/dist/components/Procaptcha.js.map +1 -1
- package/dist/components/ProcaptchaWidget.d.ts +1 -5
- package/dist/components/ProcaptchaWidget.d.ts.map +1 -1
- package/dist/components/ProcaptchaWidget.js +9 -82
- package/dist/components/ProcaptchaWidget.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
3
|
-
require("../web-components/dist/index.cjs");
|
|
4
3
|
const React = require("react");
|
|
4
|
+
require("../web-components/dist/index.cjs");
|
|
5
5
|
const CaptchaPlaceholder = require("../web-components/dist/CaptchaPlaceholder.cjs");
|
|
6
6
|
const _interopNamespaceDefaultOnly = (e) => Object.freeze(Object.defineProperty({ __proto__: null, default: e }, Symbol.toStringTag, { value: "Module" }));
|
|
7
|
-
const ProcaptchaWidget = React.lazy(
|
|
7
|
+
const ProcaptchaWidget = React.lazy(
|
|
8
|
+
async () => Promise.resolve().then(() => /* @__PURE__ */ _interopNamespaceDefaultOnly(require("./ProcaptchaWidget.cjs")))
|
|
9
|
+
);
|
|
8
10
|
const Procaptcha = (props) => /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(CaptchaPlaceholder.ProcaptchaPlaceholder, { darkMode: props.config.theme }), children: /* @__PURE__ */ jsxRuntime.jsx(ProcaptchaWidget, { config: props.config, callbacks: props.callbacks }) });
|
|
9
11
|
module.exports = Procaptcha;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
3
3
|
require("../web-components/dist/index.cjs");
|
|
4
4
|
const procaptcha = require("@prosopo/procaptcha");
|
|
5
|
+
const procaptchaCommon = require("@prosopo/procaptcha-common");
|
|
5
6
|
const React = require("react");
|
|
6
7
|
const CaptchaComponent = require("./CaptchaComponent.cjs");
|
|
7
8
|
const collector = require("./collector.cjs");
|
|
@@ -12,91 +13,13 @@ const WidgetConstants = require("../web-components/dist/WidgetConstants.cjs");
|
|
|
12
13
|
const Checkbox = require("../web-components/dist/Checkbox.cjs");
|
|
13
14
|
const LoadingSpinner = require("../web-components/dist/LoadingSpinner.cjs");
|
|
14
15
|
const Logo = require("../web-components/dist/Logo.cjs");
|
|
15
|
-
const useRefAsState = (defaultValue) => {
|
|
16
|
-
const ref = React.useRef(defaultValue);
|
|
17
|
-
const setter = (value2) => {
|
|
18
|
-
ref.current = value2;
|
|
19
|
-
};
|
|
20
|
-
const value = ref.current;
|
|
21
|
-
return [value, setter];
|
|
22
|
-
};
|
|
23
|
-
const useProcaptcha = () => {
|
|
24
|
-
const [isHuman, setIsHuman] = React.useState(false);
|
|
25
|
-
const [index, setIndex] = React.useState(0);
|
|
26
|
-
const [solutions, setSolutions] = React.useState([]);
|
|
27
|
-
const [captchaApi, setCaptchaApi] = useRefAsState(void 0);
|
|
28
|
-
const [showModal, setShowModal] = React.useState(false);
|
|
29
|
-
const [challenge, setChallenge] = React.useState(void 0);
|
|
30
|
-
const [loading, setLoading] = React.useState(false);
|
|
31
|
-
const [account, setAccount] = React.useState(void 0);
|
|
32
|
-
const [dappAccount, setDappAccount] = React.useState(void 0);
|
|
33
|
-
const [submission, setSubmission] = useRefAsState(void 0);
|
|
34
|
-
const [timeout, setTimeout] = useRefAsState(void 0);
|
|
35
|
-
const [blockNumber, setBlockNumber] = useRefAsState(void 0);
|
|
36
|
-
const [successfullChallengeTimeout, setSuccessfullChallengeTimeout] = useRefAsState(
|
|
37
|
-
void 0
|
|
38
|
-
);
|
|
39
|
-
const [sendData, setSendData] = React.useState(false);
|
|
40
|
-
return [
|
|
41
|
-
// the state
|
|
42
|
-
{
|
|
43
|
-
isHuman,
|
|
44
|
-
index,
|
|
45
|
-
solutions,
|
|
46
|
-
captchaApi,
|
|
47
|
-
showModal,
|
|
48
|
-
challenge,
|
|
49
|
-
loading,
|
|
50
|
-
account,
|
|
51
|
-
dappAccount,
|
|
52
|
-
submission,
|
|
53
|
-
timeout,
|
|
54
|
-
blockNumber,
|
|
55
|
-
successfullChallengeTimeout,
|
|
56
|
-
sendData
|
|
57
|
-
},
|
|
58
|
-
// and method to update the state
|
|
59
|
-
(nextState) => {
|
|
60
|
-
if (nextState.account !== void 0)
|
|
61
|
-
setAccount(nextState.account);
|
|
62
|
-
if (nextState.isHuman !== void 0)
|
|
63
|
-
setIsHuman(nextState.isHuman);
|
|
64
|
-
if (nextState.index !== void 0)
|
|
65
|
-
setIndex(nextState.index);
|
|
66
|
-
if (nextState.solutions !== void 0)
|
|
67
|
-
setSolutions(nextState.solutions.slice());
|
|
68
|
-
if (nextState.captchaApi !== void 0)
|
|
69
|
-
setCaptchaApi(nextState.captchaApi);
|
|
70
|
-
if (nextState.showModal !== void 0)
|
|
71
|
-
setShowModal(nextState.showModal);
|
|
72
|
-
if (nextState.challenge !== void 0)
|
|
73
|
-
setChallenge(nextState.challenge);
|
|
74
|
-
if (nextState.loading !== void 0)
|
|
75
|
-
setLoading(nextState.loading);
|
|
76
|
-
if (nextState.showModal !== void 0)
|
|
77
|
-
setShowModal(nextState.showModal);
|
|
78
|
-
if (nextState.dappAccount !== void 0)
|
|
79
|
-
setDappAccount(nextState.dappAccount);
|
|
80
|
-
if (nextState.submission !== void 0)
|
|
81
|
-
setSubmission(nextState.submission);
|
|
82
|
-
if (nextState.timeout !== void 0)
|
|
83
|
-
setTimeout(nextState.timeout);
|
|
84
|
-
if (nextState.successfullChallengeTimeout !== void 0)
|
|
85
|
-
setSuccessfullChallengeTimeout(nextState.timeout);
|
|
86
|
-
if (nextState.blockNumber !== void 0)
|
|
87
|
-
setBlockNumber(nextState.blockNumber);
|
|
88
|
-
if (nextState.sendData !== void 0)
|
|
89
|
-
setSendData(nextState.sendData);
|
|
90
|
-
}
|
|
91
|
-
];
|
|
92
|
-
};
|
|
93
16
|
const ProcaptchaWidget = (props) => {
|
|
94
17
|
const config = props.config;
|
|
95
18
|
const callbacks = props.callbacks || {};
|
|
96
|
-
const [state, updateState] = useProcaptcha();
|
|
19
|
+
const [state, updateState] = procaptchaCommon.useProcaptcha(React.useState, React.useRef);
|
|
97
20
|
const manager = procaptcha.Manager(config, state, updateState, callbacks);
|
|
98
21
|
const themeColor = props.config.theme === "light" ? "light" : "dark";
|
|
99
|
-
const theme$1 =
|
|
22
|
+
const theme$1 = props.config.theme === "light" ? theme.lightTheme : theme.darkTheme;
|
|
100
23
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { maxWidth: "100%", maxHeight: "100%", overflowX: "auto" }, children: [
|
|
101
24
|
/* @__PURE__ */ jsxRuntime.jsx(Modal, { show: state.showModal, children: state.challenge ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
102
25
|
CaptchaComponent,
|
|
@@ -118,11 +41,11 @@ const ProcaptchaWidget = (props) => {
|
|
|
118
41
|
"div",
|
|
119
42
|
{
|
|
120
43
|
style: {
|
|
121
|
-
padding:
|
|
122
|
-
border:
|
|
44
|
+
padding: WidgetConstants.WIDGET_PADDING,
|
|
45
|
+
border: WidgetConstants.WIDGET_BORDER,
|
|
123
46
|
backgroundColor: theme$1.palette.background.default,
|
|
124
47
|
borderColor: theme$1.palette.grey[300],
|
|
125
|
-
borderRadius:
|
|
48
|
+
borderRadius: WidgetConstants.WIDGET_BORDER_RADIUS,
|
|
126
49
|
display: "flex",
|
|
127
50
|
alignItems: "center",
|
|
128
51
|
flexWrap: "wrap",
|
|
@@ -5,18 +5,16 @@ const Containers = require("./Containers.cjs");
|
|
|
5
5
|
const LoadingSpinner = require("./LoadingSpinner.cjs");
|
|
6
6
|
const WidgetConstants = require("./WidgetConstants.cjs");
|
|
7
7
|
const theme = require("./theme.cjs");
|
|
8
|
-
const React = require("react");
|
|
9
8
|
const Logo = require("./Logo.cjs");
|
|
10
9
|
const ProcaptchaPlaceholder = (props) => {
|
|
11
|
-
const darkMode = props.darkMode;
|
|
12
10
|
const themeColor = props.darkMode === "light" ? "light" : "dark";
|
|
13
|
-
const theme$1 =
|
|
11
|
+
const theme$1 = props.darkMode === "light" ? theme.lightTheme : theme.darkTheme;
|
|
14
12
|
return jsxRuntime.jsx("div", { children: jsxRuntime.jsx("div", { style: { maxWidth: "100%", maxHeight: "100%", overflowX: "auto" }, children: jsxRuntime.jsx(Containers.ContainerDiv, { children: jsxRuntime.jsx(Containers.WidthBasedStylesDiv, { children: jsxRuntime.jsxs("div", { style: WidgetConstants.WIDGET_DIMENSIONS, "data-cy": "button-human", children: [" ", jsxRuntime.jsxs("div", { style: {
|
|
15
|
-
padding:
|
|
16
|
-
border:
|
|
13
|
+
padding: WidgetConstants.WIDGET_PADDING,
|
|
14
|
+
border: WidgetConstants.WIDGET_BORDER,
|
|
17
15
|
backgroundColor: theme$1.palette.background.default,
|
|
18
16
|
borderColor: theme$1.palette.grey[300],
|
|
19
|
-
borderRadius:
|
|
17
|
+
borderRadius: WidgetConstants.WIDGET_BORDER_RADIUS,
|
|
20
18
|
display: "flex",
|
|
21
19
|
alignItems: "center",
|
|
22
20
|
flexWrap: "wrap",
|
|
@@ -5,8 +5,14 @@ const WIDGET_URL_TEXT = "Visit prosopo.io to learn more about the service and it
|
|
|
5
5
|
const WIDGET_INNER_HEIGHT = 74;
|
|
6
6
|
const WIDGET_OUTER_HEIGHT = 80;
|
|
7
7
|
const WIDGET_DIMENSIONS = { maxWidth: "400px", minWidth: "200px", minHeight: `${WIDGET_OUTER_HEIGHT}px` };
|
|
8
|
+
const WIDGET_BORDER_RADIUS = "8px";
|
|
9
|
+
const WIDGET_PADDING = "2px";
|
|
10
|
+
const WIDGET_BORDER = "1px solid";
|
|
11
|
+
exports.WIDGET_BORDER = WIDGET_BORDER;
|
|
12
|
+
exports.WIDGET_BORDER_RADIUS = WIDGET_BORDER_RADIUS;
|
|
8
13
|
exports.WIDGET_DIMENSIONS = WIDGET_DIMENSIONS;
|
|
9
14
|
exports.WIDGET_INNER_HEIGHT = WIDGET_INNER_HEIGHT;
|
|
10
15
|
exports.WIDGET_OUTER_HEIGHT = WIDGET_OUTER_HEIGHT;
|
|
16
|
+
exports.WIDGET_PADDING = WIDGET_PADDING;
|
|
11
17
|
exports.WIDGET_URL = WIDGET_URL;
|
|
12
18
|
exports.WIDGET_URL_TEXT = WIDGET_URL_TEXT;
|
|
@@ -15,8 +15,11 @@ exports.Checkbox = Checkbox.Checkbox;
|
|
|
15
15
|
exports.Logo = Logo;
|
|
16
16
|
exports.ContainerDiv = Containers.ContainerDiv;
|
|
17
17
|
exports.WidthBasedStylesDiv = Containers.WidthBasedStylesDiv;
|
|
18
|
+
exports.WIDGET_BORDER = WidgetConstants.WIDGET_BORDER;
|
|
19
|
+
exports.WIDGET_BORDER_RADIUS = WidgetConstants.WIDGET_BORDER_RADIUS;
|
|
18
20
|
exports.WIDGET_DIMENSIONS = WidgetConstants.WIDGET_DIMENSIONS;
|
|
19
21
|
exports.WIDGET_INNER_HEIGHT = WidgetConstants.WIDGET_INNER_HEIGHT;
|
|
20
22
|
exports.WIDGET_OUTER_HEIGHT = WidgetConstants.WIDGET_OUTER_HEIGHT;
|
|
23
|
+
exports.WIDGET_PADDING = WidgetConstants.WIDGET_PADDING;
|
|
21
24
|
exports.WIDGET_URL = WidgetConstants.WIDGET_URL;
|
|
22
25
|
exports.WIDGET_URL_TEXT = WidgetConstants.WIDGET_URL_TEXT;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CaptchaResponseBody } from '@prosopo/types';
|
|
2
2
|
export interface CaptchaComponentProps {
|
|
3
|
-
challenge:
|
|
3
|
+
challenge: CaptchaResponseBody;
|
|
4
4
|
index: number;
|
|
5
5
|
solutions: string[][];
|
|
6
6
|
onSubmit: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaptchaComponent.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CaptchaComponent.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AASpD,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,mBAAmB,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,EAAE,EAAE,CAAA;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,UAAU,EAAE,OAAO,GAAG,MAAM,CAAA;CAC/B;AAED,QAAA,MAAM,gBAAgB,sFASnB,qBAAqB,qDA8GvB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaptchaComponent.js","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"CaptchaComponent.js","sourceRoot":"","sources":["../../src/components/CaptchaComponent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CaptchaWithProof } from '@prosopo/types';
|
|
2
2
|
export interface CaptchaWidgetProps {
|
|
3
|
-
challenge:
|
|
3
|
+
challenge: CaptchaWithProof;
|
|
4
4
|
solution: string[];
|
|
5
5
|
onClick: (hash: string) => void;
|
|
6
6
|
themeColor: 'light' | 'dark';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaWidget.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/CaptchaWidget.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAKjD,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,gBAAgB,CAAA;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,UAAU,EAAE,OAAO,GAAG,MAAM,CAAA;CAC/B;AASD,eAAO,MAAM,aAAa,iDAAkD,kBAAkB,qDAuH7F,CAAA"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { LazyExoticComponent } from 'react';
|
|
2
|
+
import { ProcaptchaEvents } from '@prosopo/types';
|
|
3
|
+
import { ReactElement } from 'react';
|
|
4
|
+
declare const ProcaptchaWidget: LazyExoticComponent<(props: any, callbacks: Partial<ProcaptchaEvents>) => ReactElement>;
|
|
3
5
|
type ProcaptchaProps = React.ComponentProps<typeof ProcaptchaWidget>;
|
|
4
6
|
declare const Procaptcha: (props: ProcaptchaProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
5
7
|
export default Procaptcha;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Procaptcha.d.ts","sourceRoot":"","sources":["../../src/components/Procaptcha.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Procaptcha.d.ts","sourceRoot":"","sources":["../../src/components/Procaptcha.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,mBAAmB,EAAkB,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAGpC,QAAA,MAAM,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,YAAY,CAE7G,CAAA;AACD,KAAK,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEpE,QAAA,MAAM,UAAU,UAAW,eAAe,qDAIzC,CAAA;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { ProcaptchaPlaceholder } from '@prosopo/web-components';
|
|
3
2
|
import { Suspense, lazy } from 'react';
|
|
3
|
+
import { ProcaptchaPlaceholder } from '@prosopo/web-components';
|
|
4
4
|
const ProcaptchaWidget = lazy(async () => import('./ProcaptchaWidget.js'));
|
|
5
5
|
const Procaptcha = (props) => (_jsx(Suspense, { fallback: _jsx(ProcaptchaPlaceholder, { darkMode: props.config.theme }), children: _jsx(ProcaptchaWidget, { config: props.config, callbacks: props.callbacks }) }));
|
|
6
6
|
export default Procaptcha;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Procaptcha.js","sourceRoot":"","sources":["../../src/components/Procaptcha.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Procaptcha.js","sourceRoot":"","sources":["../../src/components/Procaptcha.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAuB,QAAQ,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAI/D,MAAM,gBAAgB,GAA4F,IAAI,CAClH,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAC9C,CAAA;AAGD,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE,CAAC,CAC3C,KAAC,QAAQ,IAAC,QAAQ,EAAE,KAAC,qBAAqB,IAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAI,YACvE,KAAC,gBAAgB,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,GAAqB,GAChF,CACd,CAAA;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export interface ProcaptchaProps {
|
|
3
|
-
config: ProcaptchaClientConfigInput;
|
|
4
|
-
callbacks?: Partial<ProcaptchaCallbacks>;
|
|
5
|
-
}
|
|
1
|
+
import { ProcaptchaProps } from '@prosopo/types';
|
|
6
2
|
declare const ProcaptchaWidget: (props: ProcaptchaProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
7
3
|
export default ProcaptchaWidget;
|
|
8
4
|
//# sourceMappingURL=ProcaptchaWidget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProcaptchaWidget.d.ts","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":"AA+BA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAOhD,QAAA,MAAM,gBAAgB,UAAW,eAAe,qDA2G/C,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -1,98 +1,25 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { Checkbox, ContainerDiv, LoadingSpinner, WIDGET_DIMENSIONS, WIDGET_INNER_HEIGHT, WIDGET_URL, WIDGET_URL_TEXT, WidthBasedStylesDiv, darkTheme, lightTheme, } from '@prosopo/web-components';
|
|
2
|
+
import { Checkbox, ContainerDiv, LoadingSpinner, WIDGET_BORDER, WIDGET_BORDER_RADIUS, WIDGET_DIMENSIONS, WIDGET_INNER_HEIGHT, WIDGET_PADDING, WIDGET_URL, WIDGET_URL_TEXT, WidthBasedStylesDiv, darkTheme, lightTheme, } from '@prosopo/web-components';
|
|
3
3
|
import { Logo } from '@prosopo/web-components';
|
|
4
|
-
import { Manager
|
|
5
|
-
import {
|
|
4
|
+
import { Manager } from '@prosopo/procaptcha';
|
|
5
|
+
import { useProcaptcha } from '@prosopo/procaptcha-common';
|
|
6
|
+
import { useRef, useState } from 'react';
|
|
6
7
|
import CaptchaComponent from './CaptchaComponent.js';
|
|
7
8
|
import Collector from './collector.js';
|
|
8
9
|
import Modal from './Modal.js';
|
|
9
|
-
const useRefAsState = (defaultValue) => {
|
|
10
|
-
const ref = useRef(defaultValue);
|
|
11
|
-
const setter = (value) => {
|
|
12
|
-
ref.current = value;
|
|
13
|
-
};
|
|
14
|
-
const value = ref.current;
|
|
15
|
-
return [value, setter];
|
|
16
|
-
};
|
|
17
|
-
const useProcaptcha = () => {
|
|
18
|
-
const [isHuman, setIsHuman] = useState(false);
|
|
19
|
-
const [index, setIndex] = useState(0);
|
|
20
|
-
const [solutions, setSolutions] = useState([]);
|
|
21
|
-
const [captchaApi, setCaptchaApi] = useRefAsState(undefined);
|
|
22
|
-
const [showModal, setShowModal] = useState(false);
|
|
23
|
-
const [challenge, setChallenge] = useState(undefined);
|
|
24
|
-
const [loading, setLoading] = useState(false);
|
|
25
|
-
const [account, setAccount] = useState(undefined);
|
|
26
|
-
const [dappAccount, setDappAccount] = useState(undefined);
|
|
27
|
-
const [submission, setSubmission] = useRefAsState(undefined);
|
|
28
|
-
const [timeout, setTimeout] = useRefAsState(undefined);
|
|
29
|
-
const [blockNumber, setBlockNumber] = useRefAsState(undefined);
|
|
30
|
-
const [successfullChallengeTimeout, setSuccessfullChallengeTimeout] = useRefAsState(undefined);
|
|
31
|
-
const [sendData, setSendData] = useState(false);
|
|
32
|
-
return [
|
|
33
|
-
{
|
|
34
|
-
isHuman,
|
|
35
|
-
index,
|
|
36
|
-
solutions,
|
|
37
|
-
captchaApi,
|
|
38
|
-
showModal,
|
|
39
|
-
challenge,
|
|
40
|
-
loading,
|
|
41
|
-
account,
|
|
42
|
-
dappAccount,
|
|
43
|
-
submission,
|
|
44
|
-
timeout,
|
|
45
|
-
blockNumber,
|
|
46
|
-
successfullChallengeTimeout,
|
|
47
|
-
sendData,
|
|
48
|
-
},
|
|
49
|
-
(nextState) => {
|
|
50
|
-
if (nextState.account !== undefined)
|
|
51
|
-
setAccount(nextState.account);
|
|
52
|
-
if (nextState.isHuman !== undefined)
|
|
53
|
-
setIsHuman(nextState.isHuman);
|
|
54
|
-
if (nextState.index !== undefined)
|
|
55
|
-
setIndex(nextState.index);
|
|
56
|
-
if (nextState.solutions !== undefined)
|
|
57
|
-
setSolutions(nextState.solutions.slice());
|
|
58
|
-
if (nextState.captchaApi !== undefined)
|
|
59
|
-
setCaptchaApi(nextState.captchaApi);
|
|
60
|
-
if (nextState.showModal !== undefined)
|
|
61
|
-
setShowModal(nextState.showModal);
|
|
62
|
-
if (nextState.challenge !== undefined)
|
|
63
|
-
setChallenge(nextState.challenge);
|
|
64
|
-
if (nextState.loading !== undefined)
|
|
65
|
-
setLoading(nextState.loading);
|
|
66
|
-
if (nextState.showModal !== undefined)
|
|
67
|
-
setShowModal(nextState.showModal);
|
|
68
|
-
if (nextState.dappAccount !== undefined)
|
|
69
|
-
setDappAccount(nextState.dappAccount);
|
|
70
|
-
if (nextState.submission !== undefined)
|
|
71
|
-
setSubmission(nextState.submission);
|
|
72
|
-
if (nextState.timeout !== undefined)
|
|
73
|
-
setTimeout(nextState.timeout);
|
|
74
|
-
if (nextState.successfullChallengeTimeout !== undefined)
|
|
75
|
-
setSuccessfullChallengeTimeout(nextState.timeout);
|
|
76
|
-
if (nextState.blockNumber !== undefined)
|
|
77
|
-
setBlockNumber(nextState.blockNumber);
|
|
78
|
-
if (nextState.sendData !== undefined)
|
|
79
|
-
setSendData(nextState.sendData);
|
|
80
|
-
},
|
|
81
|
-
];
|
|
82
|
-
};
|
|
83
10
|
const ProcaptchaWidget = (props) => {
|
|
84
11
|
const config = props.config;
|
|
85
12
|
const callbacks = props.callbacks || {};
|
|
86
|
-
const [state, updateState] = useProcaptcha();
|
|
13
|
+
const [state, updateState] = useProcaptcha(useState, useRef);
|
|
87
14
|
const manager = Manager(config, state, updateState, callbacks);
|
|
88
15
|
const themeColor = props.config.theme === 'light' ? 'light' : 'dark';
|
|
89
|
-
const theme =
|
|
16
|
+
const theme = props.config.theme === 'light' ? lightTheme : darkTheme;
|
|
90
17
|
return (_jsx("div", { children: _jsxs("div", { style: { maxWidth: '100%', maxHeight: '100%', overflowX: 'auto' }, children: [_jsx(Modal, { show: state.showModal, children: state.challenge ? (_jsx(CaptchaComponent, { challenge: state.challenge, index: state.index, solutions: state.solutions, onSubmit: manager.submit, onCancel: manager.cancel, onClick: manager.select, onNext: manager.nextRound, themeColor: config.theme ?? 'light' })) : (_jsx("div", { children: "No challenge set." })) }), _jsxs(ContainerDiv, { children: [_jsx(WidthBasedStylesDiv, { children: _jsxs("div", { style: WIDGET_DIMENSIONS, "data-cy": 'button-human', children: [' ', _jsxs("div", { style: {
|
|
91
|
-
padding:
|
|
92
|
-
border:
|
|
18
|
+
padding: WIDGET_PADDING,
|
|
19
|
+
border: WIDGET_BORDER,
|
|
93
20
|
backgroundColor: theme.palette.background.default,
|
|
94
21
|
borderColor: theme.palette.grey[300],
|
|
95
|
-
borderRadius:
|
|
22
|
+
borderRadius: WIDGET_BORDER_RADIUS,
|
|
96
23
|
display: 'flex',
|
|
97
24
|
alignItems: 'center',
|
|
98
25
|
flexWrap: 'wrap',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcaptchaWidget.js","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ProcaptchaWidget.js","sourceRoot":"","sources":["../../src/components/ProcaptchaWidget.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/procaptcha-react",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"author": "PROSOPO LIMITED <info@prosopo.io>",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
"@emotion/styled": "^11.11.0",
|
|
38
38
|
"@polkadot/extension-dapp": "0.46.6",
|
|
39
39
|
"@polkadot/extension-inject": "0.46.6",
|
|
40
|
-
"@prosopo/api": "0.3.
|
|
41
|
-
"@prosopo/common": "0.3.
|
|
42
|
-
"@prosopo/procaptcha": "0.3.
|
|
43
|
-
"@prosopo/types": "0.3.
|
|
44
|
-
"@prosopo/util": "0.3.
|
|
45
|
-
"@prosopo/web-components": "0.3.
|
|
40
|
+
"@prosopo/api": "0.3.4",
|
|
41
|
+
"@prosopo/common": "0.3.4",
|
|
42
|
+
"@prosopo/procaptcha": "0.3.4",
|
|
43
|
+
"@prosopo/types": "0.3.4",
|
|
44
|
+
"@prosopo/util": "0.3.4",
|
|
45
|
+
"@prosopo/web-components": "0.3.4",
|
|
46
46
|
"react": "^18.2.0",
|
|
47
47
|
"react-dom": "^18.2.0"
|
|
48
48
|
},
|