vesant-sdk 1.7.0-dev.9f7da53 → 1.7.0-dev.ab7ff29
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/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +16 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16 -12
- package/dist/index.mjs.map +1 -1
- package/dist/kyc/core.d.mts +1 -1
- package/dist/kyc/core.d.ts +1 -1
- package/dist/kyc/core.js +16 -12
- package/dist/kyc/core.js.map +1 -1
- package/dist/kyc/core.mjs +16 -12
- package/dist/kyc/core.mjs.map +1 -1
- package/dist/kyc/index.d.mts +56 -50
- package/dist/kyc/index.d.ts +56 -50
- package/dist/kyc/index.js +16 -12
- package/dist/kyc/index.js.map +1 -1
- package/dist/kyc/index.mjs +16 -12
- package/dist/kyc/index.mjs.map +1 -1
- package/dist/react.d.mts +12 -12
- package/dist/react.d.ts +12 -12
- package/dist/react.js +19 -10
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +19 -10
- package/dist/react.mjs.map +1 -1
- package/package.json +1 -1
package/dist/react.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { D as DeviceFingerprintRequest, G as GeolocationClient, i as CipherTextO
|
|
|
2
2
|
import { e as LoginVerificationResponse, L as LoginVerificationRequest, f as RegistrationVerificationResponse, R as RegistrationVerificationRequest, h as TransactionVerificationResponse, g as TransactionVerificationRequest, C as ComplianceClient } from './client-C3DCmGe9.js';
|
|
3
3
|
import { RiskProfileClient } from './risk-profile/index.js';
|
|
4
4
|
import { C as CustomerProfile } from './types-UGyDl1fd.js';
|
|
5
|
-
import { KycClient, UseKycAlertsOptions, UseKycAlertsResult, UseKycOverviewOptions, UseKycOverviewResult, UseKycPreferencesResult, UseKycRequestsOptions, UseKycRequestsResult, UseKycSubmissionOptions, UseKycSubmissionResult
|
|
5
|
+
import { KycClient, CreateEventBasedFaceVerificationSessionRequest, CreateEventBasedFaceVerificationSessionResponse, EventBasedFaceVerificationCallback, UseKycAlertsOptions, UseKycAlertsResult, UseKycOverviewOptions, UseKycOverviewResult, UseKycPreferencesResult, UseKycRequestsOptions, UseKycRequestsResult, UseKycSubmissionOptions, UseKycSubmissionResult } from './kyc/index.js';
|
|
6
6
|
import './client-BolQlL5e.js';
|
|
7
7
|
import './types-CBQRNL-l.js';
|
|
8
8
|
|
|
@@ -508,7 +508,7 @@ declare function getStatusColor(status: string): string;
|
|
|
508
508
|
*/
|
|
509
509
|
declare function getRiskColor(risk: string): string;
|
|
510
510
|
/**
|
|
511
|
-
* Hook for the
|
|
511
|
+
* Hook for the Event-Based Face Verification face-capture flow.
|
|
512
512
|
*
|
|
513
513
|
* Returns helpers that cover both mobile (direct capture) and desktop
|
|
514
514
|
* (QR + polling) modes. Device detection happens here on the client —
|
|
@@ -524,28 +524,28 @@ declare function getRiskColor(risk: string): string;
|
|
|
524
524
|
* - `runFlow(req, opts?)` — convenience wrapper: `startSession` then
|
|
525
525
|
* `verifyFace`, with a short-circuit when `is_required` is false.
|
|
526
526
|
*/
|
|
527
|
-
declare function
|
|
528
|
-
startSession: (request:
|
|
529
|
-
verifyFace: (session:
|
|
527
|
+
declare function useEventBasedFaceVerificationSubmission(client: KycClient): {
|
|
528
|
+
startSession: (request: CreateEventBasedFaceVerificationSessionRequest) => Promise<CreateEventBasedFaceVerificationSessionResponse>;
|
|
529
|
+
verifyFace: (session: CreateEventBasedFaceVerificationSessionResponse, opts?: {
|
|
530
530
|
defaultDevice?: "ask" | "this" | "mobile";
|
|
531
531
|
renderQR?: (payload: string) => React.ReactNode;
|
|
532
532
|
onCancel?: () => void;
|
|
533
|
-
}) => Promise<
|
|
534
|
-
runFlow: (request:
|
|
533
|
+
}) => Promise<EventBasedFaceVerificationCallback | null>;
|
|
534
|
+
runFlow: (request: CreateEventBasedFaceVerificationSessionRequest, opts?: {
|
|
535
535
|
defaultDevice?: "ask" | "this" | "mobile";
|
|
536
536
|
renderQR?: (payload: string) => React.ReactNode;
|
|
537
537
|
onCancel?: () => void;
|
|
538
538
|
}) => Promise<{
|
|
539
539
|
kind: "not_required";
|
|
540
|
-
session:
|
|
540
|
+
session: CreateEventBasedFaceVerificationSessionResponse;
|
|
541
541
|
} | {
|
|
542
542
|
kind: "cancelled";
|
|
543
|
-
session:
|
|
543
|
+
session: CreateEventBasedFaceVerificationSessionResponse;
|
|
544
544
|
} | {
|
|
545
545
|
kind: "completed";
|
|
546
|
-
session:
|
|
547
|
-
result:
|
|
546
|
+
session: CreateEventBasedFaceVerificationSessionResponse;
|
|
547
|
+
result: EventBasedFaceVerificationCallback;
|
|
548
548
|
}>;
|
|
549
549
|
};
|
|
550
550
|
|
|
551
|
-
export { type UseCustomerProfileOptions, type UseCustomerProfileResult, UseGeolocationOptions, UseGeolocationResult, UseKycAlertsOptions, UseKycAlertsResult, UseKycOverviewOptions, UseKycOverviewResult, UseKycPreferencesResult, UseKycRequestsOptions, UseKycRequestsResult, UseKycSubmissionOptions, UseKycSubmissionResult, UseLocationCaptureOptions, UseLocationCaptureResult, UseLocationRequestsOptions, UseLocationRequestsResult, type UseLoginVerificationOptions, type UseLoginVerificationResult, type UseRegistrationOptions, type UseRegistrationResult, type UseTransactionVerificationOptions, type UseTransactionVerificationResult, createDeviceFingerprint, fileToBase64, formatKycStatus, getBrowserInfo, getRiskColor, getStatusColor, isValidFileSize, isValidFileType, useCipherText, useCustomerProfile, useGeolocation, useKycAlerts, useKycOverview, useKycPreferences, useKycRequests, useKycSubmission, useLocationCapture, useLocationRequests, useLoginVerification, useRegistration,
|
|
551
|
+
export { type UseCustomerProfileOptions, type UseCustomerProfileResult, UseGeolocationOptions, UseGeolocationResult, UseKycAlertsOptions, UseKycAlertsResult, UseKycOverviewOptions, UseKycOverviewResult, UseKycPreferencesResult, UseKycRequestsOptions, UseKycRequestsResult, UseKycSubmissionOptions, UseKycSubmissionResult, UseLocationCaptureOptions, UseLocationCaptureResult, UseLocationRequestsOptions, UseLocationRequestsResult, type UseLoginVerificationOptions, type UseLoginVerificationResult, type UseRegistrationOptions, type UseRegistrationResult, type UseTransactionVerificationOptions, type UseTransactionVerificationResult, createDeviceFingerprint, fileToBase64, formatKycStatus, getBrowserInfo, getRiskColor, getStatusColor, isValidFileSize, isValidFileType, useCipherText, useCustomerProfile, useEventBasedFaceVerificationSubmission, useGeolocation, useKycAlerts, useKycOverview, useKycPreferences, useKycRequests, useKycSubmission, useLocationCapture, useLocationRequests, useLoginVerification, useRegistration, useTransactionVerification };
|
package/dist/react.js
CHANGED
|
@@ -891,6 +891,7 @@ var Close = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id
|
|
|
891
891
|
|
|
892
892
|
// src/kyc/FaceCaptureModal.tsx
|
|
893
893
|
var MOBILE_UA = /Mobi|Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i;
|
|
894
|
+
var SESSION_EXPIRY_MS = 15 * 60 * 1e3;
|
|
894
895
|
var LIVENESS_MESSAGES = [
|
|
895
896
|
"Position your face inside the circle",
|
|
896
897
|
"Make sure your face is well lit",
|
|
@@ -942,17 +943,25 @@ function FaceCaptureModal({
|
|
|
942
943
|
const qrPayload = session.link || `vesant://reuse-kyc?token=${encodeURIComponent(session.token)}`;
|
|
943
944
|
const cancelledRef = React.useRef(false);
|
|
944
945
|
const submittingRef = React.useRef(false);
|
|
946
|
+
React.useEffect(() => {
|
|
947
|
+
const timer = setTimeout(() => {
|
|
948
|
+
setStage(
|
|
949
|
+
(prev) => prev.kind === "choose" || prev.kind === "qr" || prev.kind === "capture" ? { kind: "error", message: "Session expired" } : prev
|
|
950
|
+
);
|
|
951
|
+
}, SESSION_EXPIRY_MS);
|
|
952
|
+
return () => clearTimeout(timer);
|
|
953
|
+
}, [session.token]);
|
|
945
954
|
React.useEffect(() => {
|
|
946
955
|
if (stage.kind !== "qr") return;
|
|
947
956
|
let stopped = false;
|
|
948
957
|
const intervalMs = 2e3;
|
|
949
|
-
const deadline = Date.now() +
|
|
958
|
+
const deadline = Date.now() + SESSION_EXPIRY_MS;
|
|
950
959
|
let mobileSeen = stage.mobileConnected;
|
|
951
960
|
const tick = async () => {
|
|
952
961
|
if (stopped || cancelledRef.current) return;
|
|
953
962
|
try {
|
|
954
963
|
if (mobileSeen) {
|
|
955
|
-
const result = await client.
|
|
964
|
+
const result = await client.getEventBasedFaceVerificationSessionStatus(session.token);
|
|
956
965
|
if (result.status === "accepted") {
|
|
957
966
|
setStage({ kind: "accepted", result });
|
|
958
967
|
stopped = true;
|
|
@@ -1024,7 +1033,7 @@ function FaceCaptureModal({
|
|
|
1024
1033
|
try {
|
|
1025
1034
|
const postPromise = (async () => {
|
|
1026
1035
|
try {
|
|
1027
|
-
const data = await client.
|
|
1036
|
+
const data = await client.submitEventBasedFaceVerificationSession({
|
|
1028
1037
|
token: session.token,
|
|
1029
1038
|
reference: ref,
|
|
1030
1039
|
proof
|
|
@@ -1040,7 +1049,7 @@ function FaceCaptureModal({
|
|
|
1040
1049
|
while (Date.now() < deadline) {
|
|
1041
1050
|
if (settled || cancelledRef.current) return null;
|
|
1042
1051
|
try {
|
|
1043
|
-
const r = await client.
|
|
1052
|
+
const r = await client.getEventBasedFaceVerificationSessionStatus(session.token);
|
|
1044
1053
|
if (isFreshPollResult(r)) return r;
|
|
1045
1054
|
} catch {
|
|
1046
1055
|
}
|
|
@@ -1161,7 +1170,7 @@ function FaceCaptureModal({
|
|
|
1161
1170
|
if (captureMode === "preview" && capturedPreview) {
|
|
1162
1171
|
return /* @__PURE__ */ React__default.default.createElement("div", { style: contentStyle }, declinedReason && /* @__PURE__ */ React__default.default.createElement("div", { style: alertBoxStyle }, /* @__PURE__ */ React__default.default.createElement("strong", null, "Verification declined."), /* @__PURE__ */ React__default.default.createElement("p", { style: alertTextStyle }, declinedReason)), /* @__PURE__ */ React__default.default.createElement("p", { style: subtitleStyle }, "Looks good? Submit this selfie or retake it."), /* @__PURE__ */ React__default.default.createElement("div", { style: previewBoxStyle }, /* @__PURE__ */ React__default.default.createElement("img", { src: capturedPreview, alt: "Captured selfie preview", style: previewImgStyle })), /* @__PURE__ */ React__default.default.createElement("div", { style: buttonsContainerStyle }, /* @__PURE__ */ React__default.default.createElement("button", { style: primaryButtonStyle, onClick: handleConfirmSubmit }, /* @__PURE__ */ React__default.default.createElement("img", { src: Done, alt: "", width: 20, height: 20 }), /* @__PURE__ */ React__default.default.createElement("span", null, "Submit")), /* @__PURE__ */ React__default.default.createElement("button", { style: secondaryButtonStyle, onClick: handleRetake }, "Retake"), /* @__PURE__ */ React__default.default.createElement("button", { style: cancelButtonStyle, onClick: () => close(null) }, "Cancel")), /* @__PURE__ */ React__default.default.createElement("p", { style: attemptsTextStyle }, "Attempt ", attempts + 1, " of ", maxAttempts));
|
|
1163
1172
|
}
|
|
1164
|
-
return /* @__PURE__ */ React__default.default.createElement("div", { style: contentStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: visualGuideContainerStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: visualGuideStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: circleStyle }, /* @__PURE__ */ React__default.default.createElement("img", { src: Camera, alt: "", width: 48, height: 48 })), /* @__PURE__ */ React__default.default.createElement("div", { style: badgeStyle }, /* @__PURE__ */ React__default.default.createElement("img", { src: Done, alt: "", width: 16, height: 16 })))), declinedReason && /* @__PURE__ */ React__default.default.createElement("div", { style: alertBoxStyle }, /* @__PURE__ */ React__default.default.createElement("strong", null, "Verification declined."), /* @__PURE__ */ React__default.default.createElement("p", { style: alertTextStyle }, declinedReason)), /* @__PURE__ */ React__default.default.createElement("div", { style: instructionsBoxStyle }, /* @__PURE__ */ React__default.default.createElement("h3", { style: instructionsTitleStyle }, "Tips for best results:"), /* @__PURE__ */ React__default.default.createElement("ul", { style: instructionsListStyle }, /* @__PURE__ */ React__default.default.createElement("li", { style: instructionItemStyle }, /* @__PURE__ */ React__default.default.createElement("span", { style: bulletStyle }, "\u2022"), /* @__PURE__ */ React__default.default.createElement("span", null, "Ensure good lighting on your face")), /* @__PURE__ */ React__default.default.createElement("li", { style: instructionItemStyle }, /* @__PURE__ */ React__default.default.createElement("span", { style: bulletStyle }, "\u2022"), /* @__PURE__ */ React__default.default.createElement("span", null, "Remove glasses or accessories if possible")), /* @__PURE__ */ React__default.default.createElement("li", { style: instructionItemStyle }, /* @__PURE__ */ React__default.default.createElement("span", { style: bulletStyle }, "\u2022"), /* @__PURE__ */ React__default.default.createElement("span", null, "Look directly at the camera")))), /* @__PURE__ */ React__default.default.createElement("div", { style: buttonsContainerStyle }, /* @__PURE__ */ React__default.default.createElement("button", { style: primaryButtonStyle, onClick: handleOpenCamera }, /* @__PURE__ */ React__default.default.createElement("img", { src: Camera, alt: "", width: 20, height: 20 }), /* @__PURE__ */ React__default.default.createElement("span", null, declinedReason ? "Try
|
|
1173
|
+
return /* @__PURE__ */ React__default.default.createElement("div", { style: contentStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: visualGuideContainerStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: visualGuideStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: circleStyle }, /* @__PURE__ */ React__default.default.createElement("img", { src: Camera, alt: "", width: 48, height: 48 })), /* @__PURE__ */ React__default.default.createElement("div", { style: badgeStyle }, /* @__PURE__ */ React__default.default.createElement("img", { src: Done, alt: "", width: 16, height: 16 })))), declinedReason && /* @__PURE__ */ React__default.default.createElement("div", { style: alertBoxStyle }, /* @__PURE__ */ React__default.default.createElement("strong", null, "Verification declined."), /* @__PURE__ */ React__default.default.createElement("p", { style: alertTextStyle }, declinedReason)), /* @__PURE__ */ React__default.default.createElement("div", { style: instructionsBoxStyle }, /* @__PURE__ */ React__default.default.createElement("h3", { style: instructionsTitleStyle }, "Tips for best results:"), /* @__PURE__ */ React__default.default.createElement("ul", { style: instructionsListStyle }, /* @__PURE__ */ React__default.default.createElement("li", { style: instructionItemStyle }, /* @__PURE__ */ React__default.default.createElement("span", { style: bulletStyle }, "\u2022"), /* @__PURE__ */ React__default.default.createElement("span", null, "Ensure good lighting on your face")), /* @__PURE__ */ React__default.default.createElement("li", { style: instructionItemStyle }, /* @__PURE__ */ React__default.default.createElement("span", { style: bulletStyle }, "\u2022"), /* @__PURE__ */ React__default.default.createElement("span", null, "Remove glasses or accessories if possible")), /* @__PURE__ */ React__default.default.createElement("li", { style: instructionItemStyle }, /* @__PURE__ */ React__default.default.createElement("span", { style: bulletStyle }, "\u2022"), /* @__PURE__ */ React__default.default.createElement("span", null, "Look directly at the camera")))), /* @__PURE__ */ React__default.default.createElement("div", { style: buttonsContainerStyle }, /* @__PURE__ */ React__default.default.createElement("button", { style: primaryButtonStyle, onClick: handleOpenCamera }, /* @__PURE__ */ React__default.default.createElement("img", { src: Camera, alt: "", width: 20, height: 20 }), /* @__PURE__ */ React__default.default.createElement("span", null, declinedReason ? "Try Again" : "Open Camera")), hasMethodChoice && /* @__PURE__ */ React__default.default.createElement(
|
|
1165
1174
|
"button",
|
|
1166
1175
|
{
|
|
1167
1176
|
style: secondaryButtonStyle,
|
|
@@ -1173,10 +1182,10 @@ function FaceCaptureModal({
|
|
|
1173
1182
|
const renderSubmitting = () => /* @__PURE__ */ React__default.default.createElement("div", { style: { ...contentStyle, alignItems: "center", textAlign: "center" } }, /* @__PURE__ */ React__default.default.createElement("div", { style: { ...spinnerStyle, margin: "24px auto", width: 32, height: 32 } }), /* @__PURE__ */ React__default.default.createElement("p", { style: subtitleStyle }, "Verifying your photo\u2026"), /* @__PURE__ */ React__default.default.createElement("p", { style: { ...attemptsTextStyle, marginTop: 8 } }, "This usually takes a few seconds."));
|
|
1174
1183
|
const renderAccepted = (result) => /* @__PURE__ */ React__default.default.createElement("div", { style: { ...contentStyle, alignItems: "center", textAlign: "center" } }, /* @__PURE__ */ React__default.default.createElement("div", { style: successCircleStyle }, /* @__PURE__ */ React__default.default.createElement("img", { src: Done, alt: "", width: 48, height: 48 })), /* @__PURE__ */ React__default.default.createElement("h3", { style: titleStyle }, "Verified"), /* @__PURE__ */ React__default.default.createElement("p", { style: subtitleStyle }, "Your identity has been confirmed. You can continue."), /* @__PURE__ */ React__default.default.createElement("div", { style: buttonsContainerStyle }, /* @__PURE__ */ React__default.default.createElement("button", { style: primaryButtonStyle, onClick: () => close(result) }, "Continue")));
|
|
1175
1184
|
const renderDeclined = (result) => /* @__PURE__ */ React__default.default.createElement("div", { style: contentStyle }, /* @__PURE__ */ React__default.default.createElement("div", { style: alertBoxStyle }, /* @__PURE__ */ React__default.default.createElement("p", { style: alertTextStyle }, result.declined_reason ?? "We couldn't match your selfie. Please take a new one.")), /* @__PURE__ */ React__default.default.createElement("div", { style: buttonsContainerStyle }, /* @__PURE__ */ React__default.default.createElement("button", { style: primaryButtonStyle, onClick: handleRetakeAfterDecline }, /* @__PURE__ */ React__default.default.createElement("img", { src: Camera, alt: "", width: 20, height: 20 }), /* @__PURE__ */ React__default.default.createElement("span", null, "Retake")), /* @__PURE__ */ React__default.default.createElement("button", { style: cancelButtonStyle, onClick: () => close(result) }, "Cancel")), /* @__PURE__ */ React__default.default.createElement("p", { style: attemptsTextStyle }, "Attempt ", Math.min(attempts + 1, maxAttempts), " of ", maxAttempts));
|
|
1176
|
-
const renderMaxAttempts = (result) => /* @__PURE__ */ React__default.default.createElement("div", { style: { ...contentStyle, alignItems: "center", textAlign: "center" } }, /* @__PURE__ */ React__default.default.createElement("div", { style: errorCircleStyle }, "!"), /* @__PURE__ */ React__default.default.createElement("h3", { style: titleStyle }, "Maximum Attempts Reached"), /* @__PURE__ */ React__default.default.createElement("p", { style: subtitleStyle }, result.declined_reason ?? "We couldn't verify your identity after several attempts."), result.data?.freeze_account && /* @__PURE__ */ React__default.default.createElement("p", { style: alertTextStyle }, "For your security, your account has been temporarily restricted", result.data.freeze_duration_minutes ? ` for ${result.data.freeze_duration_minutes} minutes` : "", ". Please contact support if you need immediate help."), result.data?.enforce_logout && /* @__PURE__ */ React__default.default.createElement("p", { style: alertTextStyle }, "You will be signed out of your session."), /* @__PURE__ */ React__default.default.createElement("div", { style: buttonsContainerStyle }, /* @__PURE__ */ React__default.default.createElement("button", { style: primaryButtonStyle, onClick: () => close(result) }, "Close")));
|
|
1185
|
+
const renderMaxAttempts = (result) => /* @__PURE__ */ React__default.default.createElement("div", { style: { ...contentStyle, alignItems: "center", textAlign: "center" } }, /* @__PURE__ */ React__default.default.createElement("div", { style: errorCircleStyle }, "!"), /* @__PURE__ */ React__default.default.createElement("h3", { style: titleStyle }, "Maximum Attempts Reached"), /* @__PURE__ */ React__default.default.createElement("p", { style: subtitleStyle }, result.declined_reason ?? "We couldn't verify your identity after several attempts."), result.data?.freeze_account && /* @__PURE__ */ React__default.default.createElement("p", { style: alertTextStyle }, "For your security, your account has been temporarily restricted", result.data.freeze_duration_minutes ? ` for ${result.data.freeze_duration_minutes} minutes` : "", ". Please contact support if you need immediate help."), result.data?.enforce_logout && /* @__PURE__ */ React__default.default.createElement("p", { style: alertTextStyle }, "You will be signed out of your session."), result.data?.block && /* @__PURE__ */ React__default.default.createElement("p", { style: alertTextStyle }, "This action has been blocked for security reasons."), /* @__PURE__ */ React__default.default.createElement("div", { style: buttonsContainerStyle }, /* @__PURE__ */ React__default.default.createElement("button", { style: primaryButtonStyle, onClick: () => close(result) }, "Close")));
|
|
1177
1186
|
const renderError = (message) => {
|
|
1178
1187
|
const sessionExpired = /session\s+expired/i.test(message);
|
|
1179
|
-
return /* @__PURE__ */ React__default.default.createElement("div", { style: { ...contentStyle, alignItems: "center", textAlign: "center" } }, /* @__PURE__ */ React__default.default.createElement("div", { style: errorCircleStyle }, "!"), /* @__PURE__ */ React__default.default.createElement("h3", { style: titleStyle }, sessionExpired ? "Session expired" : "Something
|
|
1188
|
+
return /* @__PURE__ */ React__default.default.createElement("div", { style: { ...contentStyle, alignItems: "center", textAlign: "center" } }, /* @__PURE__ */ React__default.default.createElement("div", { style: errorCircleStyle }, "!"), /* @__PURE__ */ React__default.default.createElement("h3", { style: titleStyle }, sessionExpired ? "Session expired" : "Something Went Wrong"), /* @__PURE__ */ React__default.default.createElement("p", { style: alertTextStyle }, sessionExpired ? "Your verification session is no longer valid. Please start a new verification from the beginning." : message), /* @__PURE__ */ React__default.default.createElement("div", { style: buttonsContainerStyle }, !sessionExpired && /* @__PURE__ */ React__default.default.createElement("button", { style: primaryButtonStyle, onClick: () => setStage({ kind: "capture" }) }, "Try Again"), /* @__PURE__ */ React__default.default.createElement("button", { style: cancelButtonStyle, onClick: () => close(null) }, sessionExpired ? "Close" : "Cancel")));
|
|
1180
1189
|
};
|
|
1181
1190
|
const body = (() => {
|
|
1182
1191
|
switch (stage.kind) {
|
|
@@ -2084,9 +2093,9 @@ function getRiskColor(risk) {
|
|
|
2084
2093
|
};
|
|
2085
2094
|
return colorMap[risk] || "#6b7280";
|
|
2086
2095
|
}
|
|
2087
|
-
function
|
|
2096
|
+
function useEventBasedFaceVerificationSubmission(client$1) {
|
|
2088
2097
|
const startSession = React.useCallback(
|
|
2089
|
-
(request) => client$1.
|
|
2098
|
+
(request) => client$1.createEventBasedFaceVerificationSession(request),
|
|
2090
2099
|
[client$1]
|
|
2091
2100
|
);
|
|
2092
2101
|
const verifyFace = React.useCallback(
|
|
@@ -2140,6 +2149,7 @@ exports.isValidFileSize = isValidFileSize;
|
|
|
2140
2149
|
exports.isValidFileType = isValidFileType;
|
|
2141
2150
|
exports.useCipherText = useCipherText;
|
|
2142
2151
|
exports.useCustomerProfile = useCustomerProfile;
|
|
2152
|
+
exports.useEventBasedFaceVerificationSubmission = useEventBasedFaceVerificationSubmission;
|
|
2143
2153
|
exports.useGeolocation = useGeolocation;
|
|
2144
2154
|
exports.useKycAlerts = useKycAlerts;
|
|
2145
2155
|
exports.useKycOverview = useKycOverview;
|
|
@@ -2150,7 +2160,6 @@ exports.useLocationCapture = useLocationCapture;
|
|
|
2150
2160
|
exports.useLocationRequests = useLocationRequests;
|
|
2151
2161
|
exports.useLoginVerification = useLoginVerification;
|
|
2152
2162
|
exports.useRegistration = useRegistration;
|
|
2153
|
-
exports.useReuseKYCSubmission = useReuseKYCSubmission;
|
|
2154
2163
|
exports.useTransactionVerification = useTransactionVerification;
|
|
2155
2164
|
//# sourceMappingURL=react.js.map
|
|
2156
2165
|
//# sourceMappingURL=react.js.map
|