@prosopo/procaptcha-react 0.3.1 → 0.3.3

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 (39) hide show
  1. package/README.md +3 -9
  2. package/dist/cjs/components/Modal.cjs +0 -1
  3. package/dist/cjs/components/Procaptcha.cjs +4 -2
  4. package/dist/cjs/components/ProcaptchaWidget.cjs +81 -220
  5. package/dist/cjs/components/collector.cjs +4 -3
  6. package/dist/cjs/web-components/dist/CaptchaPlaceholder.cjs +13 -55
  7. package/dist/cjs/web-components/dist/Checkbox.cjs +21 -11
  8. package/dist/cjs/web-components/dist/Containers.cjs +42 -0
  9. package/dist/cjs/web-components/dist/LoadingSpinner.cjs +4 -0
  10. package/dist/cjs/web-components/dist/Logo.cjs +16 -0
  11. package/dist/cjs/web-components/dist/LogoWithText.cjs +10 -0
  12. package/dist/cjs/web-components/dist/LogoWithoutText.cjs +10 -0
  13. package/dist/cjs/web-components/dist/WidgetConstants.cjs +12 -0
  14. package/dist/cjs/web-components/dist/index.cjs +11 -0
  15. package/dist/components/Button.d.ts.map +1 -1
  16. package/dist/components/Button.js.map +1 -1
  17. package/dist/components/CaptchaComponent.d.ts +2 -2
  18. package/dist/components/CaptchaComponent.d.ts.map +1 -1
  19. package/dist/components/CaptchaComponent.js.map +1 -1
  20. package/dist/components/CaptchaWidget.d.ts +2 -2
  21. package/dist/components/CaptchaWidget.d.ts.map +1 -1
  22. package/dist/components/Modal.d.ts.map +1 -1
  23. package/dist/components/Modal.js +0 -1
  24. package/dist/components/Modal.js.map +1 -1
  25. package/dist/components/Procaptcha.d.ts +4 -2
  26. package/dist/components/Procaptcha.d.ts.map +1 -1
  27. package/dist/components/Procaptcha.js +1 -1
  28. package/dist/components/Procaptcha.js.map +1 -1
  29. package/dist/components/ProcaptchaWidget.d.ts +1 -5
  30. package/dist/components/ProcaptchaWidget.d.ts.map +1 -1
  31. package/dist/components/ProcaptchaWidget.js +32 -155
  32. package/dist/components/ProcaptchaWidget.js.map +1 -1
  33. package/dist/components/collector.d.ts +3 -2
  34. package/dist/components/collector.d.ts.map +1 -1
  35. package/dist/components/collector.js +4 -3
  36. package/dist/components/collector.js.map +1 -1
  37. package/package.json +8 -8
  38. package/typedoc.config.js +13 -0
  39. package/vite.cjs.config.ts +13 -0
package/README.md CHANGED
@@ -19,7 +19,7 @@ See the [client example](https://github.com/prosopo/client-example) for a minima
19
19
  in a frontend app.
20
20
 
21
21
  ```jsx
22
- <Procaptcha config={config} callbacks={{ onAccountNotFound, onError, onHuman, onExpired }} />
22
+ <Procaptcha config={config} callbacks={{ onError, onHuman, onExpired }} />
23
23
  ```
24
24
 
25
25
  ### Callbacks
@@ -34,7 +34,6 @@ The captcha event callbacks are defined as follows:
34
34
  */
35
35
  export interface ProcaptchaEvents {
36
36
  onError: (error: Error) => void
37
- onAccountNotFound: (address: string) => void
38
37
  onHuman: (output: ProcaptchaOutput) => void
39
38
  onExtensionNotFound: () => void
40
39
  onExpired: () => void
@@ -60,11 +59,6 @@ object contains the following fields:
60
59
  The `onError` callback is called when an error occurs during the captcha process. The `Error` object is a standard
61
60
  JavaScript error.
62
61
 
63
- ### onAccountNotFound
64
-
65
- The `onAccountNotFound` callback is called when the user's account is not found in the Procaptcha config in
66
- the [`userAccountAddress`](https://github.com/prosopo/captcha/blob/0bb4850adfe2b995dc16f7dd18e6ea844a0b6997/packages/types/src/config/config.ts#L116) field.
67
-
68
62
  ### onExpired
69
63
 
70
64
  The `onExpired` callback is called when the captcha challenge has expired. This can occur if the user takes too long to
@@ -83,7 +77,7 @@ our [React Demo](https://github.com/prosopo/captcha/blob/main/demos/client-examp
83
77
  The Procaptcha component is called as follows:
84
78
 
85
79
  ```tsx
86
- <Procaptcha config={config} callbacks={{ onAccountNotFound, onError, onHuman, onExpired }} />
80
+ <Procaptcha config={config} callbacks={{ onError, onHuman, onExpired }} />
87
81
  ```
88
82
 
89
83
  A config object is required and must contain your SITE_KEY. The callbacks are optional and can be used to handle the
@@ -91,7 +85,7 @@ various Procaptcha events. The following config demonstrates the `PROSOPO_SITE_K
91
85
  environment variables.
92
86
 
93
87
  ```tsx
94
- const config: ProcaptchaConfigOptional = {
88
+ const config: ProcaptchaClientConfigInput = {
95
89
  account: {
96
90
  address: process.env.PROSOPO_SITE_KEY || undefined,
97
91
  },
@@ -3,7 +3,6 @@ const jsxRuntime = require("@emotion/react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const ModalComponent = React.memo((props, nextProps) => {
5
5
  const { show, children } = props;
6
- console.log("rendering modal with show: ", show);
7
6
  const display = show ? "block" : "none";
8
7
  const ModalOuterDivCss = {
9
8
  position: "fixed",
@@ -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(async () => Promise.resolve().then(() => /* @__PURE__ */ _interopNamespaceDefaultOnly(require("./ProcaptchaWidget.cjs"))));
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,260 +2,121 @@
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 react = require("@emotion/react");
5
+ const procaptchaCommon = require("@prosopo/procaptcha-common");
6
6
  const React = require("react");
7
7
  const CaptchaComponent = require("./CaptchaComponent.cjs");
8
8
  const collector = require("./collector.cjs");
9
9
  const Modal = require("./Modal.cjs");
10
10
  const theme = require("../web-components/dist/theme.cjs");
11
+ const Containers = require("../web-components/dist/Containers.cjs");
12
+ const WidgetConstants = require("../web-components/dist/WidgetConstants.cjs");
11
13
  const Checkbox = require("../web-components/dist/Checkbox.cjs");
12
14
  const LoadingSpinner = require("../web-components/dist/LoadingSpinner.cjs");
13
- const logoStyle = react.css`
14
- align-items: center;
15
- justify-content: flex-end;
16
- display: flex;
17
- padding: 8px;
18
-
19
- @media (max-width: 245px) {
20
- &:nth-of-type(1),
21
- &:nth-of-type(2) {
22
- display: none;
23
- } /* Both logos hidden */
24
- }
25
-
26
- @media (min-width: 245px) and (max-width: 400px) {
27
- &:nth-of-type(1) {
28
- display: flex;
29
- } /* logoWithText */
30
- &:nth-of-type(2) {
31
- display: none;
32
- } /* logoWithoutText */
33
- }
34
-
35
- @media (min-width: 401px) {
36
- &:nth-of-type(1) {
37
- display: none;
38
- } /* logoWithText */
39
- &:nth-of-type(2) {
40
- display: flex;
41
- } /* logoWithoutText */
42
- }
43
- `;
44
- const useRefAsState = (defaultValue) => {
45
- const ref = React.useRef(defaultValue);
46
- const setter = (value2) => {
47
- ref.current = value2;
48
- };
49
- const value = ref.current;
50
- return [value, setter];
51
- };
52
- const useProcaptcha = () => {
53
- const [isHuman, setIsHuman] = React.useState(false);
54
- const [index, setIndex] = React.useState(0);
55
- const [solutions, setSolutions] = React.useState([]);
56
- const [captchaApi, setCaptchaApi] = useRefAsState(void 0);
57
- const [showModal, setShowModal] = React.useState(false);
58
- const [challenge, setChallenge] = React.useState(void 0);
59
- const [loading, setLoading] = React.useState(false);
60
- const [account, setAccount] = React.useState(void 0);
61
- const [dappAccount, setDappAccount] = React.useState(void 0);
62
- const [submission, setSubmission] = useRefAsState(void 0);
63
- const [timeout, setTimeout] = useRefAsState(void 0);
64
- const [blockNumber, setBlockNumber] = useRefAsState(void 0);
65
- const [successfullChallengeTimeout, setSuccessfullChallengeTimeout] = useRefAsState(
66
- void 0
67
- );
68
- const [sendData, setSendData] = React.useState(false);
69
- return [
70
- // the state
71
- {
72
- isHuman,
73
- index,
74
- solutions,
75
- captchaApi,
76
- showModal,
77
- challenge,
78
- loading,
79
- account,
80
- dappAccount,
81
- submission,
82
- timeout,
83
- blockNumber,
84
- successfullChallengeTimeout,
85
- sendData
86
- },
87
- // and method to update the state
88
- (nextState) => {
89
- if (nextState.account !== void 0)
90
- setAccount(nextState.account);
91
- if (nextState.isHuman !== void 0)
92
- setIsHuman(nextState.isHuman);
93
- if (nextState.index !== void 0)
94
- setIndex(nextState.index);
95
- if (nextState.solutions !== void 0)
96
- setSolutions(nextState.solutions.slice());
97
- if (nextState.captchaApi !== void 0)
98
- setCaptchaApi(nextState.captchaApi);
99
- if (nextState.showModal !== void 0)
100
- setShowModal(nextState.showModal);
101
- if (nextState.challenge !== void 0)
102
- setChallenge(nextState.challenge);
103
- if (nextState.loading !== void 0)
104
- setLoading(nextState.loading);
105
- if (nextState.showModal !== void 0)
106
- setShowModal(nextState.showModal);
107
- if (nextState.dappAccount !== void 0)
108
- setDappAccount(nextState.dappAccount);
109
- if (nextState.submission !== void 0)
110
- setSubmission(nextState.submission);
111
- if (nextState.timeout !== void 0)
112
- setTimeout(nextState.timeout);
113
- if (nextState.successfullChallengeTimeout !== void 0)
114
- setSuccessfullChallengeTimeout(nextState.timeout);
115
- if (nextState.blockNumber !== void 0)
116
- setBlockNumber(nextState.blockNumber);
117
- if (nextState.sendData !== void 0)
118
- setSendData(nextState.sendData);
119
- }
120
- ];
121
- };
15
+ const Logo = require("../web-components/dist/Logo.cjs");
122
16
  const ProcaptchaWidget = (props) => {
123
- console.log("config", props.config);
124
17
  const config = props.config;
125
18
  const callbacks = props.callbacks || {};
126
- const [state, updateState] = useProcaptcha();
127
- console.log("state", state);
19
+ const [state, updateState] = procaptchaCommon.useProcaptcha(React.useState, React.useRef);
128
20
  const manager = procaptcha.Manager(config, state, updateState, callbacks);
129
- const styleWidth = { maxWidth: "400px", minWidth: "200px", margin: "8px" };
130
21
  const themeColor = props.config.theme === "light" ? "light" : "dark";
131
- const theme$1 = React.useMemo(() => props.config.theme === "light" ? theme.lightTheme : theme.darkTheme, [props.config.theme]);
132
- console.log("theme", theme$1);
133
- console.log("showModal", state.showModal);
134
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
135
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { maxWidth: "100%", maxHeight: "100%", overflowX: "auto" }, children: [
136
- /* @__PURE__ */ jsxRuntime.jsx(Modal, { show: state.showModal, children: state.challenge ? /* @__PURE__ */ jsxRuntime.jsx(
137
- CaptchaComponent,
138
- {
139
- challenge: state.challenge,
140
- index: state.index,
141
- solutions: state.solutions,
142
- onSubmit: manager.submit,
143
- onCancel: manager.cancel,
144
- onClick: manager.select,
145
- onNext: manager.nextRound,
146
- themeColor: config.theme ?? "light"
147
- }
148
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: "No challenge set." }) }),
149
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: styleWidth, "data-cy": "button-human", children: [
22
+ const theme$1 = props.config.theme === "light" ? theme.lightTheme : theme.darkTheme;
23
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { maxWidth: "100%", maxHeight: "100%", overflowX: "auto" }, children: [
24
+ /* @__PURE__ */ jsxRuntime.jsx(Modal, { show: state.showModal, children: state.challenge ? /* @__PURE__ */ jsxRuntime.jsx(
25
+ CaptchaComponent,
26
+ {
27
+ challenge: state.challenge,
28
+ index: state.index,
29
+ solutions: state.solutions,
30
+ onSubmit: manager.submit,
31
+ onCancel: manager.cancel,
32
+ onClick: manager.select,
33
+ onNext: manager.nextRound,
34
+ themeColor: config.theme ?? "light"
35
+ }
36
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: "No challenge set." }) }),
37
+ /* @__PURE__ */ jsxRuntime.jsxs(Containers.ContainerDiv, { children: [
38
+ /* @__PURE__ */ jsxRuntime.jsx(Containers.WidthBasedStylesDiv, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { style: WidgetConstants.WIDGET_DIMENSIONS, "data-cy": "button-human", children: [
150
39
  " ",
151
40
  /* @__PURE__ */ jsxRuntime.jsxs(
152
41
  "div",
153
42
  {
154
43
  style: {
155
- padding: "8px",
44
+ padding: "2px",
156
45
  border: "1px solid",
157
46
  backgroundColor: theme$1.palette.background.default,
158
47
  borderColor: theme$1.palette.grey[300],
159
48
  borderRadius: "8px",
160
49
  display: "flex",
161
- justifyContent: "space-between",
162
50
  alignItems: "center",
163
- flexWrap: "wrap"
51
+ flexWrap: "wrap",
52
+ justifyContent: "space-between",
53
+ minHeight: `${WidgetConstants.WIDGET_INNER_HEIGHT}px`,
54
+ overflow: "hidden"
164
55
  },
165
56
  children: [
166
- /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", flexDirection: "column" }, children: /* @__PURE__ */ jsxRuntime.jsxs(
57
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "inline-flex", flexDirection: "column" }, children: /* @__PURE__ */ jsxRuntime.jsx(
167
58
  "div",
168
59
  {
169
60
  style: {
170
- display: "flex",
171
- justifyContent: "flex-start",
172
61
  alignItems: "center",
173
- flexWrap: "wrap"
62
+ flex: 1
174
63
  },
175
- children: [
176
- /* @__PURE__ */ jsxRuntime.jsxs(
177
- "div",
178
- {
179
- style: {
180
- height: "50px",
181
- width: "50px",
182
- display: "flex",
183
- alignItems: "center",
184
- justifyContent: "center",
185
- flexDirection: "column",
186
- verticalAlign: "middle"
187
- },
188
- children: [
189
- /* @__PURE__ */ jsxRuntime.jsx(
190
- "div",
191
- {
192
- style: {
193
- display: !state.loading ? "flex" : "none"
194
- },
195
- children: /* @__PURE__ */ jsxRuntime.jsx(
196
- Checkbox.Checkbox,
197
- {
198
- themeColor,
199
- onChange: manager.start,
200
- checked: state.isHuman
201
- }
202
- )
203
- }
204
- ),
205
- /* @__PURE__ */ jsxRuntime.jsx(
206
- "div",
207
- {
208
- style: {
209
- display: state.loading ? "flex" : "none"
210
- },
211
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { flex: 1 }, children: /* @__PURE__ */ jsxRuntime.jsx(LoadingSpinner.LoadingSpinner, { themeColor }) })
212
- }
213
- )
214
- ]
215
- }
216
- ),
217
- /* @__PURE__ */ jsxRuntime.jsx("div", { style: { padding: 1 }, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: theme$1.palette.background.contrastText, paddingLeft: "4px" }, children: "I am a human" }) })
218
- ]
64
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
65
+ "div",
66
+ {
67
+ style: {
68
+ display: "flex",
69
+ alignItems: "center",
70
+ justifyContent: "center",
71
+ flexDirection: "column",
72
+ verticalAlign: "middle"
73
+ },
74
+ children: [
75
+ /* @__PURE__ */ jsxRuntime.jsx(
76
+ "div",
77
+ {
78
+ style: {
79
+ display: !state.loading ? "flex" : "none"
80
+ },
81
+ children: /* @__PURE__ */ jsxRuntime.jsx(
82
+ Checkbox.Checkbox,
83
+ {
84
+ themeColor,
85
+ onChange: manager.start,
86
+ checked: state.isHuman,
87
+ labelText: "I am human"
88
+ }
89
+ )
90
+ }
91
+ ),
92
+ /* @__PURE__ */ jsxRuntime.jsx(
93
+ "div",
94
+ {
95
+ style: {
96
+ display: state.loading ? "flex" : "none"
97
+ },
98
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "inline-flex" }, children: /* @__PURE__ */ jsxRuntime.jsx(LoadingSpinner.LoadingSpinner, { themeColor }) })
99
+ }
100
+ )
101
+ ]
102
+ }
103
+ )
219
104
  }
220
105
  ) }),
221
- /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
222
- "a",
223
- {
224
- href: "https://www.prosopo.io/#features?ref=accounts.prosopo.io&utm_campaign=widget&utm_medium=checkbox",
225
- target: "_blank",
226
- "aria-label": "Visit prosopo.io to learn more about the service and its accessibility options.",
227
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
228
- /* @__PURE__ */ jsxRuntime.jsx(
229
- "div",
230
- {
231
- css: logoStyle,
232
- dangerouslySetInnerHTML: {
233
- __html: props.config.theme === "light" ? logoWithoutTextBlack : logoWithoutTextWhite
234
- }
235
- }
236
- ),
237
- /* @__PURE__ */ jsxRuntime.jsx(
238
- "div",
239
- {
240
- css: logoStyle,
241
- dangerouslySetInnerHTML: {
242
- __html: props.config.theme === "light" ? logoWithTextBlack : logoWithTextWhite
243
- }
244
- }
245
- )
246
- ] }) })
247
- }
248
- ) })
106
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "inline-flex", flexDirection: "column" }, children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: WidgetConstants.WIDGET_URL, target: "_blank", "aria-label": WidgetConstants.WIDGET_URL_TEXT, children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { flex: 1 }, children: /* @__PURE__ */ jsxRuntime.jsx(Logo, { themeColor }) }) }) })
249
107
  ]
250
108
  }
251
109
  )
252
- ] })
253
- ] }),
254
- config.devOnlyWatchEvents && /* @__PURE__ */ jsxRuntime.jsx(collector, { onProcessData: manager.exportData, sendData: state.showModal })
255
- ] });
110
+ ] }) }),
111
+ config.devOnlyWatchEvents && /* @__PURE__ */ jsxRuntime.jsx(
112
+ collector,
113
+ {
114
+ onProcessData: manager.exportData,
115
+ sendData: state.sendData,
116
+ account: state.account
117
+ }
118
+ )
119
+ ] })
120
+ ] }) });
256
121
  };
257
- const logoWithTextBlack = '<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2062.63 468.67" height="35px" width="140px"><defs><style>.cls-1{fill:#1d1d1b;}</style></defs><title>Prosopo Logo Black</title><path class="cls-1" d="M335.55,1825.19A147.75,147.75,0,0,1,483.3,1972.94h50.5c0-109.49-88.76-198.25-198.25-198.25v50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M269.36,1891.39A147.74,147.74,0,0,1,417.1,2039.13h50.5c0-109.49-88.75-198.24-198.24-198.24v50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M414,2157.17a147.75,147.75,0,0,1-147.74-147.74h-50.5c0,109.49,88.75,198.24,198.24,198.24v-50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M480.17,2091a147.74,147.74,0,0,1-147.74-147.75H281.92c0,109.49,88.76,198.25,198.25,198.25V2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M862.8,2017.5q-27.39,22.86-78.25,22.86h-65v112.19H654.82v-312h134q46.32,0,73.86,24.13t27.55,74.72Q890.2,1994.64,862.8,2017.5ZM813,1905.1q-12.37-10.36-34.7-10.38H719.59v91.87h58.75q22.32,0,34.7-11.22t12.39-35.56Q825.43,1915.48,813,1905.1Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1045.69,1916.42c.78.08,2.51.19,5.19.32v61.81c-3.81-.42-7.2-.71-10.16-.85s-5.36-.21-7.2-.21q-36.4,0-48.89,23.71-7,13.33-7,41.06v110.29H916.89V1921.82h57.58V1962q14-23.07,24.34-31.54,16.94-14.18,44-14.18C1044,1916.32,1044.92,1916.35,1045.69,1916.42Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1265.64,2124.32q-29.21,36.06-88.69,36.06t-88.69-36.06Q1059,2088.26,1059,2037.5q0-49.9,29.22-86.5t88.69-36.59q59.47,0,88.69,36.59t29.21,86.5Q1294.85,2088.26,1265.64,2124.32ZM1217.38,2091q14.17-18.81,14.18-53.48t-14.18-53.37q-14.19-18.7-40.64-18.71T1136,1984.13q-14.29,18.72-14.29,53.37T1136,2091q14.28,18.81,40.75,18.81T1217.38,2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1371.81,2078.88q1.92,16.1,8.29,22.87,11.28,12.06,41.7,12.06,17.85,0,28.39-5.29t10.53-15.88a17.12,17.12,0,0,0-8.48-15.45q-8.49-5.28-63.12-18.2-39.33-9.73-55.41-24.35-16.08-14.39-16.09-41.49,0-32,25.14-54.93t70.75-23q43.26,0,70.53,17.25t31.29,59.59H1455q-1.27-11.64-6.58-18.42-10-12.27-34-12.28-19.74,0-28.13,6.14t-8.38,14.4c0,6.91,3,11.93,8.92,15q8.89,4.89,63,16.73,36,8.46,54.05,25.61,17.77,17.35,17.78,43.39,0,34.3-25.56,56t-79,21.7q-54.51,0-80.49-23t-26-58.53Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1745.54,2124.32q-29.22,36.06-88.7,36.06t-88.69-36.06q-29.2-36.06-29.21-86.82,0-49.9,29.21-86.5t88.69-36.59q59.49,0,88.7,36.59t29.21,86.5Q1774.75,2088.26,1745.54,2124.32ZM1697.27,2091q14.19-18.81,14.19-53.48t-14.19-53.37q-14.18-18.7-40.64-18.71t-40.75,18.71q-14.28,18.72-14.28,53.37t14.28,53.48q14.3,18.81,40.75,18.81T1697.27,2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1992.75,1946.59q28.24,29.84,28.23,87.63,0,61-27.58,92.93t-71.06,32q-27.69,0-46-13.76-10-7.62-19.6-22.23v120.24H1797V1921.82h57.79v34.08q9.79-15,20.88-23.71,20.23-15.43,48.15-15.45Q1964.53,1916.74,1992.75,1946.59Zm-46.3,43.39q-12.3-20.52-39.88-20.53-33.15,0-45.54,31.11-6.43,16.51-6.42,41.92,0,40.21,21.58,56.51,12.82,9.53,30.37,9.53,25.45,0,38.83-19.48t13.36-51.86Q1958.75,2010.51,1946.45,1990Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M2249.14,2124.32q-29.2,36.06-88.69,36.06t-88.69-36.06q-29.22-36.06-29.21-86.82,0-49.9,29.21-86.5t88.69-36.59q59.49,0,88.69,36.59t29.22,86.5Q2278.36,2088.26,2249.14,2124.32ZM2200.88,2091q14.19-18.81,14.18-53.48t-14.18-53.37q-14.18-18.7-40.64-18.71t-40.75,18.71q-14.28,18.72-14.29,53.37t14.29,53.48q14.3,18.81,40.75,18.81T2200.88,2091Z" transform="translate(-215.73 -1774.69)"/></svg>';
258
- const logoWithTextWhite = '<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2062.63 468.67" height="35px" width="140px"><defs><style>.cls-1{fill:#fff;}</style></defs><title>Prosopo Logo Black</title><path class="cls-1" d="M335.55,1825.19A147.75,147.75,0,0,1,483.3,1972.94h50.5c0-109.49-88.76-198.25-198.25-198.25v50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M269.36,1891.39A147.74,147.74,0,0,1,417.1,2039.13h50.5c0-109.49-88.75-198.24-198.24-198.24v50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M414,2157.17a147.75,147.75,0,0,1-147.74-147.74h-50.5c0,109.49,88.75,198.24,198.24,198.24v-50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M480.17,2091a147.74,147.74,0,0,1-147.74-147.75H281.92c0,109.49,88.76,198.25,198.25,198.25V2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M862.8,2017.5q-27.39,22.86-78.25,22.86h-65v112.19H654.82v-312h134q46.32,0,73.86,24.13t27.55,74.72Q890.2,1994.64,862.8,2017.5ZM813,1905.1q-12.37-10.36-34.7-10.38H719.59v91.87h58.75q22.32,0,34.7-11.22t12.39-35.56Q825.43,1915.48,813,1905.1Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1045.69,1916.42c.78.08,2.51.19,5.19.32v61.81c-3.81-.42-7.2-.71-10.16-.85s-5.36-.21-7.2-.21q-36.4,0-48.89,23.71-7,13.33-7,41.06v110.29H916.89V1921.82h57.58V1962q14-23.07,24.34-31.54,16.94-14.18,44-14.18C1044,1916.32,1044.92,1916.35,1045.69,1916.42Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1265.64,2124.32q-29.21,36.06-88.69,36.06t-88.69-36.06Q1059,2088.26,1059,2037.5q0-49.9,29.22-86.5t88.69-36.59q59.47,0,88.69,36.59t29.21,86.5Q1294.85,2088.26,1265.64,2124.32ZM1217.38,2091q14.17-18.81,14.18-53.48t-14.18-53.37q-14.19-18.7-40.64-18.71T1136,1984.13q-14.29,18.72-14.29,53.37T1136,2091q14.28,18.81,40.75,18.81T1217.38,2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1371.81,2078.88q1.92,16.1,8.29,22.87,11.28,12.06,41.7,12.06,17.85,0,28.39-5.29t10.53-15.88a17.12,17.12,0,0,0-8.48-15.45q-8.49-5.28-63.12-18.2-39.33-9.73-55.41-24.35-16.08-14.39-16.09-41.49,0-32,25.14-54.93t70.75-23q43.26,0,70.53,17.25t31.29,59.59H1455q-1.27-11.64-6.58-18.42-10-12.27-34-12.28-19.74,0-28.13,6.14t-8.38,14.4c0,6.91,3,11.93,8.92,15q8.89,4.89,63,16.73,36,8.46,54.05,25.61,17.77,17.35,17.78,43.39,0,34.3-25.56,56t-79,21.7q-54.51,0-80.49-23t-26-58.53Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1745.54,2124.32q-29.22,36.06-88.7,36.06t-88.69-36.06q-29.2-36.06-29.21-86.82,0-49.9,29.21-86.5t88.69-36.59q59.49,0,88.7,36.59t29.21,86.5Q1774.75,2088.26,1745.54,2124.32ZM1697.27,2091q14.19-18.81,14.19-53.48t-14.19-53.37q-14.18-18.7-40.64-18.71t-40.75,18.71q-14.28,18.72-14.28,53.37t14.28,53.48q14.3,18.81,40.75,18.81T1697.27,2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1992.75,1946.59q28.24,29.84,28.23,87.63,0,61-27.58,92.93t-71.06,32q-27.69,0-46-13.76-10-7.62-19.6-22.23v120.24H1797V1921.82h57.79v34.08q9.79-15,20.88-23.71,20.23-15.43,48.15-15.45Q1964.53,1916.74,1992.75,1946.59Zm-46.3,43.39q-12.3-20.52-39.88-20.53-33.15,0-45.54,31.11-6.43,16.51-6.42,41.92,0,40.21,21.58,56.51,12.82,9.53,30.37,9.53,25.45,0,38.83-19.48t13.36-51.86Q1958.75,2010.51,1946.45,1990Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M2249.14,2124.32q-29.2,36.06-88.69,36.06t-88.69-36.06q-29.22-36.06-29.21-86.82,0-49.9,29.21-86.5t88.69-36.59q59.49,0,88.69,36.59t29.22,86.5Q2278.36,2088.26,2249.14,2124.32ZM2200.88,2091q14.19-18.81,14.18-53.48t-14.18-53.37q-14.18-18.7-40.64-18.71t-40.75,18.71q-14.28,18.72-14.29,53.37t14.29,53.48q14.3,18.81,40.75,18.81T2200.88,2091Z" transform="translate(-215.73 -1774.69)"/></svg>';
259
- const logoWithoutTextWhite = '<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 260 348" height="35px"><path id="Vector" d="M95.7053 40.2707C127.005 40.2707 157.022 52.6841 179.154 74.78C201.286 96.8759 213.719 126.844 213.719 158.093H254.056C254.056 70.7808 183.16 -4.57764e-05 95.7053 -4.57764e-05V40.2707Z" fill="#fff"/><path id="Vector_2" d="M42.8365 93.0614C58.3333 93.0614 73.6784 96.1087 87.9955 102.029C102.313 107.95 115.322 116.628 126.279 127.568C137.237 138.508 145.93 151.496 151.86 165.79C157.79 180.084 160.843 195.404 160.843 210.875H201.179C201.179 123.564 130.291 52.7906 42.8365 52.7906V93.0614Z" fill="#fff"/><path id="Vector_3" d="M158.367 305.005C127.07 305.003 97.056 292.59 74.926 270.496C52.796 248.402 40.3626 218.437 40.3604 187.191H0.0239563C0.0239563 274.503 70.9123 345.276 158.367 345.276V305.005Z" fill="#fff"/><path id="Vector_4" d="M211.219 252.239C195.722 252.239 180.376 249.191 166.059 243.27C151.741 237.349 138.732 228.67 127.774 217.729C116.816 206.788 108.123 193.799 102.194 179.505C96.2637 165.21 93.2121 149.889 93.2132 134.417H52.8687C52.8687 221.729 123.765 292.509 211.219 292.509V252.239Z" fill="#fff"/></g><defs><clipPath id="clip0_1_2"><rect width="254" height="345" fill="white"/></clipPath></defs></svg>';
260
- const logoWithoutTextBlack = '<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 260 348" height="35px"><path id="Vector" d="M95.7053 40.2707C127.005 40.2707 157.022 52.6841 179.154 74.78C201.286 96.8759 213.719 126.844 213.719 158.093H254.056C254.056 70.7808 183.16 -4.57764e-05 95.7053 -4.57764e-05V40.2707Z" fill="#000000"/><path id="Vector_2" d="M42.8365 93.0614C58.3333 93.0614 73.6784 96.1087 87.9955 102.029C102.313 107.95 115.322 116.628 126.279 127.568C137.237 138.508 145.93 151.496 151.86 165.79C157.79 180.084 160.843 195.404 160.843 210.875H201.179C201.179 123.564 130.291 52.7906 42.8365 52.7906V93.0614Z" fill="#000000"/><path id="Vector_3" d="M158.367 305.005C127.07 305.003 97.056 292.59 74.926 270.496C52.796 248.402 40.3626 218.437 40.3604 187.191H0.0239563C0.0239563 274.503 70.9123 345.276 158.367 345.276V305.005Z" fill="#000000"/><path id="Vector_4" d="M211.219 252.239C195.722 252.239 180.376 249.191 166.059 243.27C151.741 237.349 138.732 228.67 127.774 217.729C116.816 206.788 108.123 193.799 102.194 179.505C96.2637 165.21 93.2121 149.889 93.2132 134.417H52.8687C52.8687 221.729 123.765 292.509 211.219 292.509V252.239Z" fill="#000000"/></g><defs><clipPath id="clip0_1_2"><rect width="254" height="345" fill="white"/></clipPath></defs></svg>';
261
122
  module.exports = ProcaptchaWidget;
@@ -2,7 +2,7 @@
2
2
  const jsxRuntime = require("@emotion/react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const procaptcha = require("@prosopo/procaptcha");
5
- const Collector = ({ onProcessData, sendData }) => {
5
+ const Collector = ({ onProcessData, sendData, account }) => {
6
6
  const [mouseEvents, setStoredMouseEvents] = React.useState([]);
7
7
  const [touchEvents, setStoredTouchEvents] = React.useState([]);
8
8
  const [keyboardEvents, setStoredKeyboardEvents] = React.useState([]);
@@ -18,8 +18,9 @@ const Collector = ({ onProcessData, sendData }) => {
18
18
  touchEvents,
19
19
  keyboardEvents
20
20
  };
21
- onProcessData(userEvents);
22
- }, [sendData]);
21
+ if (account)
22
+ onProcessData(userEvents);
23
+ }, [sendData, account]);
23
24
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref });
24
25
  };
25
26
  module.exports = Collector;
@@ -1,64 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("@emotion/react/jsx-runtime");
4
+ const Containers = require("./Containers.cjs");
4
5
  const LoadingSpinner = require("./LoadingSpinner.cjs");
5
- const react = require("@emotion/react");
6
+ const WidgetConstants = require("./WidgetConstants.cjs");
6
7
  const theme = require("./theme.cjs");
7
- const React = require("react");
8
- const logoStyle = react.css`
9
- align-items: center;
10
- justify-content: flex-end;
11
- display: flex;
12
- padding: 8px;
13
-
14
- @media (max-width: 245px) {
15
- &:nth-of-type(1),
16
- &:nth-of-type(2) {
17
- display: none;
18
- } /* Both logos hidden */
19
- }
20
-
21
- @media (min-width: 245px) and (max-width: 400px) {
22
- &:nth-of-type(1) {
23
- display: flex;
24
- } /* logoWithText */
25
- &:nth-of-type(2) {
26
- display: none;
27
- } /* logoWithoutText */
28
- }
29
-
30
- @media (min-width: 401px) {
31
- &:nth-of-type(1) {
32
- display: none;
33
- } /* logoWithText */
34
- &:nth-of-type(2) {
35
- display: flex;
36
- } /* logoWithoutText */
37
- }
38
- `;
8
+ const Logo = require("./Logo.cjs");
39
9
  const ProcaptchaPlaceholder = (props) => {
40
- const darkMode = props.darkMode;
41
- const styleWidth = { maxWidth: "400px", minWidth: "200px", margin: "8px" };
42
- const themeColor = darkMode ? "light" : "dark";
43
- const theme$1 = React.useMemo(() => darkMode === "light" ? theme.lightTheme : theme.darkTheme, [darkMode]);
44
- return jsxRuntime.jsx("div", { children: jsxRuntime.jsx("div", { style: { maxWidth: "100%", maxHeight: "100%", overflowX: "auto" }, children: jsxRuntime.jsxs("div", { style: styleWidth, "data-cy": "button-human", children: [" ", jsxRuntime.jsxs("div", { style: {
45
- padding: "8px",
10
+ const themeColor = props.darkMode === "light" ? "light" : "dark";
11
+ const theme$1 = props.darkMode === "light" ? theme.lightTheme : theme.darkTheme;
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: {
13
+ padding: "2px",
46
14
  border: "1px solid",
47
15
  backgroundColor: theme$1.palette.background.default,
48
16
  borderColor: theme$1.palette.grey[300],
49
17
  borderRadius: "8px",
50
18
  display: "flex",
51
- justifyContent: "space-between",
52
19
  alignItems: "center",
53
- flexWrap: "wrap"
20
+ flexWrap: "wrap",
21
+ justifyContent: "space-between",
22
+ minHeight: `${WidgetConstants.WIDGET_INNER_HEIGHT}px`,
23
+ overflow: "hidden"
54
24
  }, children: [jsxRuntime.jsx("div", { style: { display: "flex", flexDirection: "column" }, children: jsxRuntime.jsx("div", { style: {
55
- display: "flex",
56
- justifyContent: "flex-start",
57
25
  alignItems: "center",
58
- flexWrap: "wrap"
26
+ flex: 1
59
27
  }, children: jsxRuntime.jsx("div", { style: {
60
- height: "50px",
61
- width: "50px",
62
28
  display: "flex",
63
29
  alignItems: "center",
64
30
  justifyContent: "center",
@@ -66,14 +32,6 @@ const ProcaptchaPlaceholder = (props) => {
66
32
  verticalAlign: "middle"
67
33
  }, children: jsxRuntime.jsx("div", { style: {
68
34
  display: "flex"
69
- }, children: jsxRuntime.jsx("div", { style: { flex: 1 }, children: jsxRuntime.jsx(LoadingSpinner.LoadingSpinner, { themeColor }) }) }) }) }) }), jsxRuntime.jsx("div", { children: jsxRuntime.jsx("a", { href: "https://www.prosopo.io/#features?ref=accounts.prosopo.io&utm_campaign=widget&utm_medium=checkbox", target: "_blank", "aria-label": "Visit prosopo.io to learn more about the service and its accessibility options.", children: jsxRuntime.jsx("div", { children: jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("div", { css: logoStyle, dangerouslySetInnerHTML: {
70
- __html: darkMode === "light" ? logoWithoutTextBlack : logoWithoutTextWhite
71
- } }), jsxRuntime.jsx("div", { css: logoStyle, dangerouslySetInnerHTML: {
72
- __html: darkMode === "light" ? logoWithTextBlack : logoWithTextWhite
73
- } })] }) }) }) })] })] }) }) });
35
+ }, children: jsxRuntime.jsx("div", { style: { display: "inline-flex" }, children: jsxRuntime.jsx(LoadingSpinner.LoadingSpinner, { themeColor }) }) }) }) }) }), jsxRuntime.jsx("div", { style: { display: "inline-flex", flexDirection: "column" }, children: jsxRuntime.jsx("a", { href: WidgetConstants.WIDGET_URL, target: "_blank", "aria-label": WidgetConstants.WIDGET_URL_TEXT, children: jsxRuntime.jsx("div", { style: { flex: 1 }, children: jsxRuntime.jsx(Logo, { themeColor }) }) }) })] })] }) }) }) }) });
74
36
  };
75
- const logoWithTextBlack = '<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2062.63 468.67" height="35px" width="140px"><defs><style>.cls-1{fill:#1d1d1b;}</style></defs><title>Prosopo Logo Black</title><path class="cls-1" d="M335.55,1825.19A147.75,147.75,0,0,1,483.3,1972.94h50.5c0-109.49-88.76-198.25-198.25-198.25v50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M269.36,1891.39A147.74,147.74,0,0,1,417.1,2039.13h50.5c0-109.49-88.75-198.24-198.24-198.24v50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M414,2157.17a147.75,147.75,0,0,1-147.74-147.74h-50.5c0,109.49,88.75,198.24,198.24,198.24v-50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M480.17,2091a147.74,147.74,0,0,1-147.74-147.75H281.92c0,109.49,88.76,198.25,198.25,198.25V2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M862.8,2017.5q-27.39,22.86-78.25,22.86h-65v112.19H654.82v-312h134q46.32,0,73.86,24.13t27.55,74.72Q890.2,1994.64,862.8,2017.5ZM813,1905.1q-12.37-10.36-34.7-10.38H719.59v91.87h58.75q22.32,0,34.7-11.22t12.39-35.56Q825.43,1915.48,813,1905.1Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1045.69,1916.42c.78.08,2.51.19,5.19.32v61.81c-3.81-.42-7.2-.71-10.16-.85s-5.36-.21-7.2-.21q-36.4,0-48.89,23.71-7,13.33-7,41.06v110.29H916.89V1921.82h57.58V1962q14-23.07,24.34-31.54,16.94-14.18,44-14.18C1044,1916.32,1044.92,1916.35,1045.69,1916.42Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1265.64,2124.32q-29.21,36.06-88.69,36.06t-88.69-36.06Q1059,2088.26,1059,2037.5q0-49.9,29.22-86.5t88.69-36.59q59.47,0,88.69,36.59t29.21,86.5Q1294.85,2088.26,1265.64,2124.32ZM1217.38,2091q14.17-18.81,14.18-53.48t-14.18-53.37q-14.19-18.7-40.64-18.71T1136,1984.13q-14.29,18.72-14.29,53.37T1136,2091q14.28,18.81,40.75,18.81T1217.38,2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1371.81,2078.88q1.92,16.1,8.29,22.87,11.28,12.06,41.7,12.06,17.85,0,28.39-5.29t10.53-15.88a17.12,17.12,0,0,0-8.48-15.45q-8.49-5.28-63.12-18.2-39.33-9.73-55.41-24.35-16.08-14.39-16.09-41.49,0-32,25.14-54.93t70.75-23q43.26,0,70.53,17.25t31.29,59.59H1455q-1.27-11.64-6.58-18.42-10-12.27-34-12.28-19.74,0-28.13,6.14t-8.38,14.4c0,6.91,3,11.93,8.92,15q8.89,4.89,63,16.73,36,8.46,54.05,25.61,17.77,17.35,17.78,43.39,0,34.3-25.56,56t-79,21.7q-54.51,0-80.49-23t-26-58.53Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1745.54,2124.32q-29.22,36.06-88.7,36.06t-88.69-36.06q-29.2-36.06-29.21-86.82,0-49.9,29.21-86.5t88.69-36.59q59.49,0,88.7,36.59t29.21,86.5Q1774.75,2088.26,1745.54,2124.32ZM1697.27,2091q14.19-18.81,14.19-53.48t-14.19-53.37q-14.18-18.7-40.64-18.71t-40.75,18.71q-14.28,18.72-14.28,53.37t14.28,53.48q14.3,18.81,40.75,18.81T1697.27,2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1992.75,1946.59q28.24,29.84,28.23,87.63,0,61-27.58,92.93t-71.06,32q-27.69,0-46-13.76-10-7.62-19.6-22.23v120.24H1797V1921.82h57.79v34.08q9.79-15,20.88-23.71,20.23-15.43,48.15-15.45Q1964.53,1916.74,1992.75,1946.59Zm-46.3,43.39q-12.3-20.52-39.88-20.53-33.15,0-45.54,31.11-6.43,16.51-6.42,41.92,0,40.21,21.58,56.51,12.82,9.53,30.37,9.53,25.45,0,38.83-19.48t13.36-51.86Q1958.75,2010.51,1946.45,1990Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M2249.14,2124.32q-29.2,36.06-88.69,36.06t-88.69-36.06q-29.22-36.06-29.21-86.82,0-49.9,29.21-86.5t88.69-36.59q59.49,0,88.69,36.59t29.22,86.5Q2278.36,2088.26,2249.14,2124.32ZM2200.88,2091q14.19-18.81,14.18-53.48t-14.18-53.37q-14.18-18.7-40.64-18.71t-40.75,18.71q-14.28,18.72-14.29,53.37t14.29,53.48q14.3,18.81,40.75,18.81T2200.88,2091Z" transform="translate(-215.73 -1774.69)"/></svg>';
76
- const logoWithTextWhite = '<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2062.63 468.67" height="35px" width="140px"><defs><style>.cls-1{fill:#fff;}</style></defs><title>Prosopo Logo Black</title><path class="cls-1" d="M335.55,1825.19A147.75,147.75,0,0,1,483.3,1972.94h50.5c0-109.49-88.76-198.25-198.25-198.25v50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M269.36,1891.39A147.74,147.74,0,0,1,417.1,2039.13h50.5c0-109.49-88.75-198.24-198.24-198.24v50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M414,2157.17a147.75,147.75,0,0,1-147.74-147.74h-50.5c0,109.49,88.75,198.24,198.24,198.24v-50.5Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M480.17,2091a147.74,147.74,0,0,1-147.74-147.75H281.92c0,109.49,88.76,198.25,198.25,198.25V2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M862.8,2017.5q-27.39,22.86-78.25,22.86h-65v112.19H654.82v-312h134q46.32,0,73.86,24.13t27.55,74.72Q890.2,1994.64,862.8,2017.5ZM813,1905.1q-12.37-10.36-34.7-10.38H719.59v91.87h58.75q22.32,0,34.7-11.22t12.39-35.56Q825.43,1915.48,813,1905.1Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1045.69,1916.42c.78.08,2.51.19,5.19.32v61.81c-3.81-.42-7.2-.71-10.16-.85s-5.36-.21-7.2-.21q-36.4,0-48.89,23.71-7,13.33-7,41.06v110.29H916.89V1921.82h57.58V1962q14-23.07,24.34-31.54,16.94-14.18,44-14.18C1044,1916.32,1044.92,1916.35,1045.69,1916.42Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1265.64,2124.32q-29.21,36.06-88.69,36.06t-88.69-36.06Q1059,2088.26,1059,2037.5q0-49.9,29.22-86.5t88.69-36.59q59.47,0,88.69,36.59t29.21,86.5Q1294.85,2088.26,1265.64,2124.32ZM1217.38,2091q14.17-18.81,14.18-53.48t-14.18-53.37q-14.19-18.7-40.64-18.71T1136,1984.13q-14.29,18.72-14.29,53.37T1136,2091q14.28,18.81,40.75,18.81T1217.38,2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1371.81,2078.88q1.92,16.1,8.29,22.87,11.28,12.06,41.7,12.06,17.85,0,28.39-5.29t10.53-15.88a17.12,17.12,0,0,0-8.48-15.45q-8.49-5.28-63.12-18.2-39.33-9.73-55.41-24.35-16.08-14.39-16.09-41.49,0-32,25.14-54.93t70.75-23q43.26,0,70.53,17.25t31.29,59.59H1455q-1.27-11.64-6.58-18.42-10-12.27-34-12.28-19.74,0-28.13,6.14t-8.38,14.4c0,6.91,3,11.93,8.92,15q8.89,4.89,63,16.73,36,8.46,54.05,25.61,17.77,17.35,17.78,43.39,0,34.3-25.56,56t-79,21.7q-54.51,0-80.49-23t-26-58.53Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1745.54,2124.32q-29.22,36.06-88.7,36.06t-88.69-36.06q-29.2-36.06-29.21-86.82,0-49.9,29.21-86.5t88.69-36.59q59.49,0,88.7,36.59t29.21,86.5Q1774.75,2088.26,1745.54,2124.32ZM1697.27,2091q14.19-18.81,14.19-53.48t-14.19-53.37q-14.18-18.7-40.64-18.71t-40.75,18.71q-14.28,18.72-14.28,53.37t14.28,53.48q14.3,18.81,40.75,18.81T1697.27,2091Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M1992.75,1946.59q28.24,29.84,28.23,87.63,0,61-27.58,92.93t-71.06,32q-27.69,0-46-13.76-10-7.62-19.6-22.23v120.24H1797V1921.82h57.79v34.08q9.79-15,20.88-23.71,20.23-15.43,48.15-15.45Q1964.53,1916.74,1992.75,1946.59Zm-46.3,43.39q-12.3-20.52-39.88-20.53-33.15,0-45.54,31.11-6.43,16.51-6.42,41.92,0,40.21,21.58,56.51,12.82,9.53,30.37,9.53,25.45,0,38.83-19.48t13.36-51.86Q1958.75,2010.51,1946.45,1990Z" transform="translate(-215.73 -1774.69)"/><path class="cls-1" d="M2249.14,2124.32q-29.2,36.06-88.69,36.06t-88.69-36.06q-29.22-36.06-29.21-86.82,0-49.9,29.21-86.5t88.69-36.59q59.49,0,88.69,36.59t29.22,86.5Q2278.36,2088.26,2249.14,2124.32ZM2200.88,2091q14.19-18.81,14.18-53.48t-14.18-53.37q-14.18-18.7-40.64-18.71t-40.75,18.71q-14.28,18.72-14.29,53.37t14.29,53.48q14.3,18.81,40.75,18.81T2200.88,2091Z" transform="translate(-215.73 -1774.69)"/></svg>';
77
- const logoWithoutTextWhite = '<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 260 348" height="35px"><path id="Vector" d="M95.7053 40.2707C127.005 40.2707 157.022 52.6841 179.154 74.78C201.286 96.8759 213.719 126.844 213.719 158.093H254.056C254.056 70.7808 183.16 -4.57764e-05 95.7053 -4.57764e-05V40.2707Z" fill="#fff"/><path id="Vector_2" d="M42.8365 93.0614C58.3333 93.0614 73.6784 96.1087 87.9955 102.029C102.313 107.95 115.322 116.628 126.279 127.568C137.237 138.508 145.93 151.496 151.86 165.79C157.79 180.084 160.843 195.404 160.843 210.875H201.179C201.179 123.564 130.291 52.7906 42.8365 52.7906V93.0614Z" fill="#fff"/><path id="Vector_3" d="M158.367 305.005C127.07 305.003 97.056 292.59 74.926 270.496C52.796 248.402 40.3626 218.437 40.3604 187.191H0.0239563C0.0239563 274.503 70.9123 345.276 158.367 345.276V305.005Z" fill="#fff"/><path id="Vector_4" d="M211.219 252.239C195.722 252.239 180.376 249.191 166.059 243.27C151.741 237.349 138.732 228.67 127.774 217.729C116.816 206.788 108.123 193.799 102.194 179.505C96.2637 165.21 93.2121 149.889 93.2132 134.417H52.8687C52.8687 221.729 123.765 292.509 211.219 292.509V252.239Z" fill="#fff"/></g><defs><clipPath id="clip0_1_2"><rect width="254" height="345" fill="white"/></clipPath></defs></svg>';
78
- const logoWithoutTextBlack = '<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 260 348" height="35px"><path id="Vector" d="M95.7053 40.2707C127.005 40.2707 157.022 52.6841 179.154 74.78C201.286 96.8759 213.719 126.844 213.719 158.093H254.056C254.056 70.7808 183.16 -4.57764e-05 95.7053 -4.57764e-05V40.2707Z" fill="#000000"/><path id="Vector_2" d="M42.8365 93.0614C58.3333 93.0614 73.6784 96.1087 87.9955 102.029C102.313 107.95 115.322 116.628 126.279 127.568C137.237 138.508 145.93 151.496 151.86 165.79C157.79 180.084 160.843 195.404 160.843 210.875H201.179C201.179 123.564 130.291 52.7906 42.8365 52.7906V93.0614Z" fill="#000000"/><path id="Vector_3" d="M158.367 305.005C127.07 305.003 97.056 292.59 74.926 270.496C52.796 248.402 40.3626 218.437 40.3604 187.191H0.0239563C0.0239563 274.503 70.9123 345.276 158.367 345.276V305.005Z" fill="#000000"/><path id="Vector_4" d="M211.219 252.239C195.722 252.239 180.376 249.191 166.059 243.27C151.741 237.349 138.732 228.67 127.774 217.729C116.816 206.788 108.123 193.799 102.194 179.505C96.2637 165.21 93.2121 149.889 93.2132 134.417H52.8687C52.8687 221.729 123.765 292.509 211.219 292.509V252.239Z" fill="#000000"/></g><defs><clipPath id="clip0_1_2"><rect width="254" height="345" fill="white"/></clipPath></defs></svg>';
79
37
  exports.ProcaptchaPlaceholder = ProcaptchaPlaceholder;
@@ -5,16 +5,16 @@ const react = require("@emotion/react");
5
5
  const theme = require("./theme.cjs");
6
6
  const React = require("react");
7
7
  const checkboxBefore = react.css`{
8
- &:before {
9
- content: '""';
10
- position: absolute;
11
- height: 100%;
12
- width: 100%;
13
- }
8
+ &:before {
9
+ content: '""';
10
+ position: absolute;
11
+ height: 100%;
12
+ width: 100%;
13
+ }
14
14
  }`;
15
15
  const baseStyle = {
16
- width: "2.2em",
17
- height: "2.2em",
16
+ width: "28px",
17
+ height: "28px",
18
18
  top: "auto",
19
19
  left: "auto",
20
20
  opacity: "1",
@@ -25,7 +25,7 @@ const baseStyle = {
25
25
  borderStyle: "solid",
26
26
  borderWidth: "1px"
27
27
  };
28
- const Checkbox = ({ themeColor, onChange, checked }) => {
28
+ const Checkbox = ({ themeColor, onChange, checked, labelText }) => {
29
29
  const theme$1 = React.useMemo(() => themeColor === "light" ? theme.lightTheme : theme.darkTheme, [themeColor]);
30
30
  const checkboxStyleBase = {
31
31
  ...baseStyle,
@@ -36,10 +36,20 @@ const Checkbox = ({ themeColor, onChange, checked }) => {
36
36
  return {
37
37
  ...checkboxStyleBase,
38
38
  borderColor: hover ? theme$1.palette.background.contrastText : theme$1.palette.grey[400],
39
- appearance: checked ? "auto" : "none"
39
+ appearance: checked ? "auto" : "none",
40
+ flex: 1,
41
+ margin: "0 15px"
40
42
  };
41
43
  }, [hover, theme$1, checked]);
42
- return jsxRuntime.jsx("input", { onMouseEnter: () => setHover(true), onMouseLeave: () => setHover(false), css: checkboxBefore, type: "checkbox", "aria-live": "assertive", "aria-haspopup": "true", onChange, checked, style: checkboxStyle });
44
+ const id = React.useId();
45
+ return jsxRuntime.jsxs("span", { style: { display: "inline-flex" }, children: [jsxRuntime.jsx("input", { name: id, onMouseEnter: () => setHover(true), onMouseLeave: () => setHover(false), css: checkboxBefore, type: "checkbox", "aria-live": "assertive", "aria-haspopup": "true", onChange, checked, style: checkboxStyle }), jsxRuntime.jsx("label", { css: {
46
+ color: theme$1.palette.background.contrastText,
47
+ position: "relative",
48
+ display: "flex",
49
+ cursor: "pointer",
50
+ userSelect: "none",
51
+ top: "4px"
52
+ }, htmlFor: id, children: labelText })] });
43
53
  };
44
54
  exports.Checkbox = Checkbox;
45
55
  exports.default = Checkbox;