idmission-web-sdk 2.2.34 → 2.2.36
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/components/CompositeWizard.d.ts +1 -2
- package/dist/components/CompositeWizard.d.ts.map +1 -1
- package/dist/components/camera/CameraAccessDeniedOverlay.d.ts.map +1 -1
- package/dist/components/camera/CameraVideoTag.d.ts +2 -4
- package/dist/components/camera/CameraVideoTag.d.ts.map +1 -1
- package/dist/components/camera/MicrophoneAccessDeniedOverlay.d.ts.map +1 -1
- package/dist/components/common/debug.d.ts.map +1 -1
- package/dist/components/customer_flows/CustomerBiometricsEnrollment.d.ts.map +1 -1
- package/dist/components/customer_flows/CustomerIdAndBiometricsEnrollment.d.ts.map +1 -1
- package/dist/components/customer_flows/CustomerIdentification.d.ts.map +1 -1
- package/dist/components/customer_flows/CustomerVerification.d.ts.map +1 -1
- package/dist/components/customer_flows/DocumentCapture.d.ts.map +1 -1
- package/dist/components/customer_flows/FaceValidation.d.ts.map +1 -1
- package/dist/components/customer_flows/IdAndFaceValidation.d.ts.map +1 -1
- package/dist/components/customer_flows/IdValidation.d.ts.map +1 -1
- package/dist/components/customer_flows/VideoIdValidation.d.ts.map +1 -1
- package/dist/components/customer_identification/CustomerIdentificationWizard.d.ts +1 -1
- package/dist/components/customer_identification/CustomerIdentificationWizard.d.ts.map +1 -1
- package/dist/components/customer_verification/CustomerVerificationWizard.d.ts.map +1 -1
- package/dist/components/document_capture/DocumentCaptureScreen.d.ts.map +1 -1
- package/dist/components/document_capture/DocumentCaptureStateProvider.d.ts.map +1 -1
- package/dist/components/face_liveness/FaceLivenessWizard.d.ts.map +1 -1
- package/dist/components/id_capture/DocumentDetectionModelProvider.d.ts.map +1 -1
- package/dist/components/id_capture/FocusModelProvider.d.ts.map +1 -1
- package/dist/components/id_capture/IdCapture.d.ts.map +1 -1
- package/dist/components/id_capture/IdCaptureGuideOverlay.d.ts.map +1 -1
- package/dist/components/id_capture/IdCaptureGuides.d.ts.map +1 -1
- package/dist/components/id_capture/IdCaptureGuidesCommon.d.ts.map +1 -1
- package/dist/components/id_capture/IdCaptureLoadingGraphic.d.ts.map +1 -1
- package/dist/components/id_capture/IdCaptureLoadingOverlayDefault.d.ts.map +1 -1
- package/dist/components/id_capture/IdCaptureLoadingOverlayLegacy.d.ts.map +1 -1
- package/dist/components/id_capture/IdCaptureWizard.d.ts.map +1 -1
- package/dist/components/selfie_capture/SelfieCapture.d.ts.map +1 -1
- package/dist/components/selfie_capture/SelfieCaptureLoadingGraphic.d.ts.map +1 -1
- package/dist/components/selfie_capture/SelfieCaptureLoadingOverlayDefault.d.ts.map +1 -1
- package/dist/components/selfie_capture/SelfieCaptureLoadingOverlayLegacy.d.ts.map +1 -1
- package/dist/components/selfie_capture/SelfieGuidanceModelsProvider.d.ts.map +1 -1
- package/dist/components/video_id/IdVideoCapture.d.ts +1 -1
- package/dist/components/video_id/IdVideoCapture.d.ts.map +1 -1
- package/dist/components/video_id/IdVideoCaptureFlipIdPrompt.d.ts.map +1 -1
- package/dist/components/video_id/IdVideoCaptureGuides.d.ts.map +1 -1
- package/dist/components/video_id/IdVideoCaptureWizard.d.ts.map +1 -1
- package/dist/components/video_signature_capture/VideoSignatureCapture.d.ts.map +1 -1
- package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts.map +1 -1
- package/dist/lib/camera/Camera.d.ts +4 -0
- package/dist/lib/camera/Camera.d.ts.map +1 -1
- package/dist/lib/camera/cameraStore.d.ts +52 -0
- package/dist/lib/camera/cameraStore.d.ts.map +1 -0
- package/dist/lib/camera/videoRefStack.d.ts +6 -0
- package/dist/lib/camera/videoRefStack.d.ts.map +1 -0
- package/dist/lib/models/DocumentDetection.d.ts +3 -1
- package/dist/lib/models/DocumentDetection.d.ts.map +1 -1
- package/dist/lib/models/FaceDetection.d.ts +3 -1
- package/dist/lib/models/FaceDetection.d.ts.map +1 -1
- package/dist/lib/models/Focus.d.ts +3 -1
- package/dist/lib/models/Focus.d.ts.map +1 -1
- package/dist/sdk2.cjs.development.js +1277 -1169
- package/dist/sdk2.cjs.development.js.map +1 -1
- package/dist/sdk2.cjs.production.js +1 -1
- package/dist/sdk2.cjs.production.js.map +1 -1
- package/dist/sdk2.esm.js +1277 -1169
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +1675 -1450
- package/dist/sdk2.umd.development.js.map +1 -1
- package/dist/sdk2.umd.production.js +1 -1
- package/dist/sdk2.umd.production.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +5 -4
- package/dist/components/camera/CameraProvider.d.ts +0 -17
- package/dist/components/camera/CameraProvider.d.ts.map +0 -1
package/dist/sdk2.esm.js
CHANGED
|
@@ -8,10 +8,12 @@ import { Upload } from 'tus-js-client';
|
|
|
8
8
|
import SparkMD5 from 'spark-md5';
|
|
9
9
|
import useResizeObserver from 'use-resize-observer';
|
|
10
10
|
import { ImageSegmenter, FilesetResolver, ImageClassifier, FaceDetector, ObjectDetector } from '@mediapipe/tasks-vision';
|
|
11
|
+
import { createStore, useStore } from 'zustand';
|
|
11
12
|
import { useDebouncedCallback, useThrottledCallback } from 'use-debounce';
|
|
12
13
|
import { createPortal } from 'react-dom';
|
|
13
14
|
import LanguageDetector from 'i18next-browser-languagedetector';
|
|
14
15
|
import i18n from 'i18next';
|
|
16
|
+
import { useShallow } from 'zustand/react/shallow';
|
|
15
17
|
import SignatureCanvas from 'react-signature-canvas';
|
|
16
18
|
|
|
17
19
|
/******************************************************************************
|
|
@@ -201,7 +203,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
201
203
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
202
204
|
};
|
|
203
205
|
|
|
204
|
-
var webSdkVersion = '2.2.
|
|
206
|
+
var webSdkVersion = '2.2.36';
|
|
205
207
|
|
|
206
208
|
function getPlatform() {
|
|
207
209
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -362,7 +364,7 @@ function videoDataUrlToB64(url) {
|
|
|
362
364
|
});
|
|
363
365
|
}
|
|
364
366
|
|
|
365
|
-
var PageContainerDiv = styled.div(templateObject_1$
|
|
367
|
+
var PageContainerDiv = styled.div(templateObject_1$L || (templateObject_1$L = __makeTemplateObject(["\n ", "\n\n ", "\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"], ["\n ", "\n\n ", "\n\n &.flex {\n display: flex;\n }\n\n &.padded {\n box-sizing: border-box;\n padding: 16px 24px;\n }\n"])), function (props) {
|
|
366
368
|
var _a;
|
|
367
369
|
return props.theme.isFullscreen === false ? "" : "\n position: fixed;\n top: 0;\n left: 0;\n width: var(--app-width);\n height: calc(\n var(--app-height) - ".concat((_a = props.$heightOffset) !== null && _a !== void 0 ? _a : 0, "px\n );\n overflow-x: hidden;\n overflow-y: auto;\n ");
|
|
368
370
|
}, function (props) {
|
|
@@ -402,7 +404,7 @@ var PageContainer = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
402
404
|
}, dimensionsCalculated && children);
|
|
403
405
|
});
|
|
404
406
|
PageContainer.displayName = 'PageContainer';
|
|
405
|
-
var templateObject_1$
|
|
407
|
+
var templateObject_1$L;
|
|
406
408
|
|
|
407
409
|
var LoaderButton = function LoaderButton(_a) {
|
|
408
410
|
var children = _a.children,
|
|
@@ -461,30 +463,30 @@ var LoaderButton = function LoaderButton(_a) {
|
|
|
461
463
|
className: "ladda-label"
|
|
462
464
|
}, children));
|
|
463
465
|
};
|
|
464
|
-
var StyledButton = styled.button(templateObject_1$I || (templateObject_1$I = __makeTemplateObject(["\n ", "\n\n /*!\n * Ladda\n * http://lab.hakim.se/ladda\n * MIT licensed\n *\n * Copyright (C) 2018 Hakim El Hattab, http://hakim.se\n */\n\n position: relative;\n\n .ladda-spinner {\n position: absolute;\n z-index: 2;\n display: inline-block;\n width: 32px;\n top: 50%;\n margin-top: 0;\n opacity: 0;\n pointer-events: none;\n }\n .ladda-label {\n position: relative;\n z-index: 3;\n }\n .ladda-progress {\n position: absolute;\n width: 0;\n height: 100%;\n left: 0;\n top: 0;\n background: rgba(0, 0, 0, 0.2);\n display: none;\n transition: 0.1s linear all !important;\n }\n &[data-loading] .ladda-progress {\n display: block;\n }\n\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n\n .ladda-spinner,\n .ladda-label {\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n }\n &[data-style='zoom-in'],\n &[data-style='zoom-in'] .ladda-spinner,\n &[data-style='zoom-in'] .ladda-label,\n &[data-style='zoom-out'],\n &[data-style='zoom-out'] .ladda-spinner,\n &[data-style='zoom-out'] .ladda-label {\n transition: 0.3s ease all !important;\n }\n &[data-style='expand-right'] .ladda-spinner {\n right: -6px;\n }\n &[data-style='expand-right'][data-size='s'] .ladda-spinner,\n &[data-style='expand-right'][data-size='xs'] .ladda-spinner {\n right: -12px;\n }\n &[data-style='expand-right'][data-loading] {\n padding-right: 56px;\n }\n &[data-style='expand-right'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-right'][data-loading][data-size='s'],\n &[data-style='expand-right'][data-loading][data-size='xs'] {\n padding-right: 40px;\n }\n &[data-style='expand-left'] .ladda-spinner {\n left: 26px;\n }\n &[data-style='expand-left'][data-size='s'] .ladda-spinner,\n &[data-style='expand-left'][data-size='xs'] .ladda-spinner {\n left: 4px;\n }\n &[data-style='expand-left'][data-loading] {\n padding-left: 56px;\n }\n &[data-style='expand-left'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-left'][data-loading][data-size='s'],\n &[data-style='expand-left'][data-loading][data-size='xs'] {\n padding-left: 40px;\n }\n &[data-style='expand-up'] {\n overflow: hidden;\n }\n &[data-style='expand-up'] .ladda-spinner {\n top: -32px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-up'][data-loading] {\n padding-top: 54px;\n }\n &[data-style='expand-up'][data-loading] .ladda-spinner {\n opacity: 1;\n top: 26px;\n margin-top: 0;\n }\n &[data-style='expand-up'][data-loading][data-size='s'],\n &[data-style='expand-up'][data-loading][data-size='xs'] {\n padding-top: 32px;\n }\n &[data-style='expand-up'][data-loading][data-size='s'] .ladda-spinner,\n &[data-style='expand-up'][data-loading][data-size='xs'] .ladda-spinner {\n top: 4px;\n }\n &[data-style='expand-down'] {\n overflow: hidden;\n }\n &[data-style='expand-down'] .ladda-spinner {\n top: 62px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-down'][data-size='s'] .ladda-spinner,\n &[data-style='expand-down'][data-size='xs'] .ladda-spinner {\n top: 40px;\n }\n &[data-style='expand-down'][data-loading] {\n padding-bottom: 54px;\n }\n &[data-style='expand-down'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-down'][data-loading][data-size='s'],\n &[data-style='expand-down'][data-loading][data-size='xs'] {\n padding-bottom: 32px;\n }\n &[data-style='slide-left'] {\n overflow: hidden;\n }\n &[data-style='slide-left'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-left'] .ladda-spinner {\n left: 100%;\n margin-left: 0;\n }\n &[data-style='slide-left'][data-loading] .ladda-label {\n opacity: 0;\n left: -100%;\n }\n &[data-style='slide-left'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-right'] {\n overflow: hidden;\n }\n &[data-style='slide-right'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-right'] .ladda-spinner {\n right: 100%;\n margin-left: 0;\n left: 16px;\n }\n [dir='rtl'] &[data-style='slide-right'] .ladda-spinner {\n right: auto;\n }\n &[data-style='slide-right'][data-loading] .ladda-label {\n opacity: 0;\n left: 100%;\n }\n &[data-style='slide-right'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-up'] {\n overflow: hidden;\n }\n &[data-style='slide-up'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-up'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: 1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-label {\n opacity: 0;\n top: -1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='slide-down'] {\n overflow: hidden;\n }\n &[data-style='slide-down'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-down'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: -2em;\n }\n &[data-style='slide-down'][data-loading] .ladda-label {\n opacity: 0;\n top: 1em;\n }\n &[data-style='slide-down'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='zoom-out'] {\n overflow: hidden;\n }\n &[data-style='zoom-out'] .ladda-spinner {\n left: 50%;\n margin-left: 32px;\n transform: scale(2.5);\n }\n &[data-style='zoom-out'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-out'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(0.5);\n }\n &[data-style='zoom-out'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='zoom-in'] {\n overflow: hidden;\n }\n &[data-style='zoom-in'] .ladda-spinner {\n left: 50%;\n margin-left: -16px;\n transform: scale(0.2);\n }\n &[data-style='zoom-in'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-in'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(2.2);\n }\n &[data-style='zoom-in'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='contract'] {\n overflow: hidden;\n width: 100px;\n }\n &[data-style='contract'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract'][data-loading] {\n border-radius: 50%;\n width: 52px;\n }\n &[data-style='contract'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='contract-overlay'] {\n overflow: hidden;\n width: 100px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);\n }\n &[data-style='contract-overlay'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract-overlay'][data-loading] {\n border-radius: 50%;\n width: 52px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);\n }\n &[data-style='contract-overlay'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract-overlay'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n [dir='rtl'] .ladda-spinner > div {\n left: 25% !important;\n }\n"], ["\n ", "\n\n /*!\n * Ladda\n * http://lab.hakim.se/ladda\n * MIT licensed\n *\n * Copyright (C) 2018 Hakim El Hattab, http://hakim.se\n */\n\n position: relative;\n\n .ladda-spinner {\n position: absolute;\n z-index: 2;\n display: inline-block;\n width: 32px;\n top: 50%;\n margin-top: 0;\n opacity: 0;\n pointer-events: none;\n }\n .ladda-label {\n position: relative;\n z-index: 3;\n }\n .ladda-progress {\n position: absolute;\n width: 0;\n height: 100%;\n left: 0;\n top: 0;\n background: rgba(0, 0, 0, 0.2);\n display: none;\n transition: 0.1s linear all !important;\n }\n &[data-loading] .ladda-progress {\n display: block;\n }\n\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n\n .ladda-spinner,\n .ladda-label {\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n }\n &[data-style='zoom-in'],\n &[data-style='zoom-in'] .ladda-spinner,\n &[data-style='zoom-in'] .ladda-label,\n &[data-style='zoom-out'],\n &[data-style='zoom-out'] .ladda-spinner,\n &[data-style='zoom-out'] .ladda-label {\n transition: 0.3s ease all !important;\n }\n &[data-style='expand-right'] .ladda-spinner {\n right: -6px;\n }\n &[data-style='expand-right'][data-size='s'] .ladda-spinner,\n &[data-style='expand-right'][data-size='xs'] .ladda-spinner {\n right: -12px;\n }\n &[data-style='expand-right'][data-loading] {\n padding-right: 56px;\n }\n &[data-style='expand-right'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-right'][data-loading][data-size='s'],\n &[data-style='expand-right'][data-loading][data-size='xs'] {\n padding-right: 40px;\n }\n &[data-style='expand-left'] .ladda-spinner {\n left: 26px;\n }\n &[data-style='expand-left'][data-size='s'] .ladda-spinner,\n &[data-style='expand-left'][data-size='xs'] .ladda-spinner {\n left: 4px;\n }\n &[data-style='expand-left'][data-loading] {\n padding-left: 56px;\n }\n &[data-style='expand-left'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-left'][data-loading][data-size='s'],\n &[data-style='expand-left'][data-loading][data-size='xs'] {\n padding-left: 40px;\n }\n &[data-style='expand-up'] {\n overflow: hidden;\n }\n &[data-style='expand-up'] .ladda-spinner {\n top: -32px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-up'][data-loading] {\n padding-top: 54px;\n }\n &[data-style='expand-up'][data-loading] .ladda-spinner {\n opacity: 1;\n top: 26px;\n margin-top: 0;\n }\n &[data-style='expand-up'][data-loading][data-size='s'],\n &[data-style='expand-up'][data-loading][data-size='xs'] {\n padding-top: 32px;\n }\n &[data-style='expand-up'][data-loading][data-size='s'] .ladda-spinner,\n &[data-style='expand-up'][data-loading][data-size='xs'] .ladda-spinner {\n top: 4px;\n }\n &[data-style='expand-down'] {\n overflow: hidden;\n }\n &[data-style='expand-down'] .ladda-spinner {\n top: 62px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-down'][data-size='s'] .ladda-spinner,\n &[data-style='expand-down'][data-size='xs'] .ladda-spinner {\n top: 40px;\n }\n &[data-style='expand-down'][data-loading] {\n padding-bottom: 54px;\n }\n &[data-style='expand-down'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-down'][data-loading][data-size='s'],\n &[data-style='expand-down'][data-loading][data-size='xs'] {\n padding-bottom: 32px;\n }\n &[data-style='slide-left'] {\n overflow: hidden;\n }\n &[data-style='slide-left'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-left'] .ladda-spinner {\n left: 100%;\n margin-left: 0;\n }\n &[data-style='slide-left'][data-loading] .ladda-label {\n opacity: 0;\n left: -100%;\n }\n &[data-style='slide-left'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-right'] {\n overflow: hidden;\n }\n &[data-style='slide-right'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-right'] .ladda-spinner {\n right: 100%;\n margin-left: 0;\n left: 16px;\n }\n [dir='rtl'] &[data-style='slide-right'] .ladda-spinner {\n right: auto;\n }\n &[data-style='slide-right'][data-loading] .ladda-label {\n opacity: 0;\n left: 100%;\n }\n &[data-style='slide-right'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-up'] {\n overflow: hidden;\n }\n &[data-style='slide-up'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-up'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: 1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-label {\n opacity: 0;\n top: -1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='slide-down'] {\n overflow: hidden;\n }\n &[data-style='slide-down'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-down'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: -2em;\n }\n &[data-style='slide-down'][data-loading] .ladda-label {\n opacity: 0;\n top: 1em;\n }\n &[data-style='slide-down'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='zoom-out'] {\n overflow: hidden;\n }\n &[data-style='zoom-out'] .ladda-spinner {\n left: 50%;\n margin-left: 32px;\n transform: scale(2.5);\n }\n &[data-style='zoom-out'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-out'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(0.5);\n }\n &[data-style='zoom-out'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='zoom-in'] {\n overflow: hidden;\n }\n &[data-style='zoom-in'] .ladda-spinner {\n left: 50%;\n margin-left: -16px;\n transform: scale(0.2);\n }\n &[data-style='zoom-in'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-in'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(2.2);\n }\n &[data-style='zoom-in'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='contract'] {\n overflow: hidden;\n width: 100px;\n }\n &[data-style='contract'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract'][data-loading] {\n border-radius: 50%;\n width: 52px;\n }\n &[data-style='contract'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='contract-overlay'] {\n overflow: hidden;\n width: 100px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);\n }\n &[data-style='contract-overlay'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract-overlay'][data-loading] {\n border-radius: 50%;\n width: 52px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);\n }\n &[data-style='contract-overlay'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract-overlay'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n [dir='rtl'] .ladda-spinner > div {\n left: 25% !important;\n }\n"])), function (props) {
|
|
466
|
+
var StyledButton = styled.button(templateObject_1$K || (templateObject_1$K = __makeTemplateObject(["\n ", "\n\n /*!\n * Ladda\n * http://lab.hakim.se/ladda\n * MIT licensed\n *\n * Copyright (C) 2018 Hakim El Hattab, http://hakim.se\n */\n\n position: relative;\n\n .ladda-spinner {\n position: absolute;\n z-index: 2;\n display: inline-block;\n width: 32px;\n top: 50%;\n margin-top: 0;\n opacity: 0;\n pointer-events: none;\n }\n .ladda-label {\n position: relative;\n z-index: 3;\n }\n .ladda-progress {\n position: absolute;\n width: 0;\n height: 100%;\n left: 0;\n top: 0;\n background: rgba(0, 0, 0, 0.2);\n display: none;\n transition: 0.1s linear all !important;\n }\n &[data-loading] .ladda-progress {\n display: block;\n }\n\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n\n .ladda-spinner,\n .ladda-label {\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n }\n &[data-style='zoom-in'],\n &[data-style='zoom-in'] .ladda-spinner,\n &[data-style='zoom-in'] .ladda-label,\n &[data-style='zoom-out'],\n &[data-style='zoom-out'] .ladda-spinner,\n &[data-style='zoom-out'] .ladda-label {\n transition: 0.3s ease all !important;\n }\n &[data-style='expand-right'] .ladda-spinner {\n right: -6px;\n }\n &[data-style='expand-right'][data-size='s'] .ladda-spinner,\n &[data-style='expand-right'][data-size='xs'] .ladda-spinner {\n right: -12px;\n }\n &[data-style='expand-right'][data-loading] {\n padding-right: 56px;\n }\n &[data-style='expand-right'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-right'][data-loading][data-size='s'],\n &[data-style='expand-right'][data-loading][data-size='xs'] {\n padding-right: 40px;\n }\n &[data-style='expand-left'] .ladda-spinner {\n left: 26px;\n }\n &[data-style='expand-left'][data-size='s'] .ladda-spinner,\n &[data-style='expand-left'][data-size='xs'] .ladda-spinner {\n left: 4px;\n }\n &[data-style='expand-left'][data-loading] {\n padding-left: 56px;\n }\n &[data-style='expand-left'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-left'][data-loading][data-size='s'],\n &[data-style='expand-left'][data-loading][data-size='xs'] {\n padding-left: 40px;\n }\n &[data-style='expand-up'] {\n overflow: hidden;\n }\n &[data-style='expand-up'] .ladda-spinner {\n top: -32px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-up'][data-loading] {\n padding-top: 54px;\n }\n &[data-style='expand-up'][data-loading] .ladda-spinner {\n opacity: 1;\n top: 26px;\n margin-top: 0;\n }\n &[data-style='expand-up'][data-loading][data-size='s'],\n &[data-style='expand-up'][data-loading][data-size='xs'] {\n padding-top: 32px;\n }\n &[data-style='expand-up'][data-loading][data-size='s'] .ladda-spinner,\n &[data-style='expand-up'][data-loading][data-size='xs'] .ladda-spinner {\n top: 4px;\n }\n &[data-style='expand-down'] {\n overflow: hidden;\n }\n &[data-style='expand-down'] .ladda-spinner {\n top: 62px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-down'][data-size='s'] .ladda-spinner,\n &[data-style='expand-down'][data-size='xs'] .ladda-spinner {\n top: 40px;\n }\n &[data-style='expand-down'][data-loading] {\n padding-bottom: 54px;\n }\n &[data-style='expand-down'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-down'][data-loading][data-size='s'],\n &[data-style='expand-down'][data-loading][data-size='xs'] {\n padding-bottom: 32px;\n }\n &[data-style='slide-left'] {\n overflow: hidden;\n }\n &[data-style='slide-left'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-left'] .ladda-spinner {\n left: 100%;\n margin-left: 0;\n }\n &[data-style='slide-left'][data-loading] .ladda-label {\n opacity: 0;\n left: -100%;\n }\n &[data-style='slide-left'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-right'] {\n overflow: hidden;\n }\n &[data-style='slide-right'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-right'] .ladda-spinner {\n right: 100%;\n margin-left: 0;\n left: 16px;\n }\n [dir='rtl'] &[data-style='slide-right'] .ladda-spinner {\n right: auto;\n }\n &[data-style='slide-right'][data-loading] .ladda-label {\n opacity: 0;\n left: 100%;\n }\n &[data-style='slide-right'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-up'] {\n overflow: hidden;\n }\n &[data-style='slide-up'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-up'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: 1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-label {\n opacity: 0;\n top: -1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='slide-down'] {\n overflow: hidden;\n }\n &[data-style='slide-down'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-down'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: -2em;\n }\n &[data-style='slide-down'][data-loading] .ladda-label {\n opacity: 0;\n top: 1em;\n }\n &[data-style='slide-down'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='zoom-out'] {\n overflow: hidden;\n }\n &[data-style='zoom-out'] .ladda-spinner {\n left: 50%;\n margin-left: 32px;\n transform: scale(2.5);\n }\n &[data-style='zoom-out'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-out'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(0.5);\n }\n &[data-style='zoom-out'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='zoom-in'] {\n overflow: hidden;\n }\n &[data-style='zoom-in'] .ladda-spinner {\n left: 50%;\n margin-left: -16px;\n transform: scale(0.2);\n }\n &[data-style='zoom-in'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-in'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(2.2);\n }\n &[data-style='zoom-in'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='contract'] {\n overflow: hidden;\n width: 100px;\n }\n &[data-style='contract'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract'][data-loading] {\n border-radius: 50%;\n width: 52px;\n }\n &[data-style='contract'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='contract-overlay'] {\n overflow: hidden;\n width: 100px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);\n }\n &[data-style='contract-overlay'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract-overlay'][data-loading] {\n border-radius: 50%;\n width: 52px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);\n }\n &[data-style='contract-overlay'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract-overlay'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n [dir='rtl'] .ladda-spinner > div {\n left: 25% !important;\n }\n"], ["\n ", "\n\n /*!\n * Ladda\n * http://lab.hakim.se/ladda\n * MIT licensed\n *\n * Copyright (C) 2018 Hakim El Hattab, http://hakim.se\n */\n\n position: relative;\n\n .ladda-spinner {\n position: absolute;\n z-index: 2;\n display: inline-block;\n width: 32px;\n top: 50%;\n margin-top: 0;\n opacity: 0;\n pointer-events: none;\n }\n .ladda-label {\n position: relative;\n z-index: 3;\n }\n .ladda-progress {\n position: absolute;\n width: 0;\n height: 100%;\n left: 0;\n top: 0;\n background: rgba(0, 0, 0, 0.2);\n display: none;\n transition: 0.1s linear all !important;\n }\n &[data-loading] .ladda-progress {\n display: block;\n }\n\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n\n .ladda-spinner,\n .ladda-label {\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n }\n &[data-style='zoom-in'],\n &[data-style='zoom-in'] .ladda-spinner,\n &[data-style='zoom-in'] .ladda-label,\n &[data-style='zoom-out'],\n &[data-style='zoom-out'] .ladda-spinner,\n &[data-style='zoom-out'] .ladda-label {\n transition: 0.3s ease all !important;\n }\n &[data-style='expand-right'] .ladda-spinner {\n right: -6px;\n }\n &[data-style='expand-right'][data-size='s'] .ladda-spinner,\n &[data-style='expand-right'][data-size='xs'] .ladda-spinner {\n right: -12px;\n }\n &[data-style='expand-right'][data-loading] {\n padding-right: 56px;\n }\n &[data-style='expand-right'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-right'][data-loading][data-size='s'],\n &[data-style='expand-right'][data-loading][data-size='xs'] {\n padding-right: 40px;\n }\n &[data-style='expand-left'] .ladda-spinner {\n left: 26px;\n }\n &[data-style='expand-left'][data-size='s'] .ladda-spinner,\n &[data-style='expand-left'][data-size='xs'] .ladda-spinner {\n left: 4px;\n }\n &[data-style='expand-left'][data-loading] {\n padding-left: 56px;\n }\n &[data-style='expand-left'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-left'][data-loading][data-size='s'],\n &[data-style='expand-left'][data-loading][data-size='xs'] {\n padding-left: 40px;\n }\n &[data-style='expand-up'] {\n overflow: hidden;\n }\n &[data-style='expand-up'] .ladda-spinner {\n top: -32px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-up'][data-loading] {\n padding-top: 54px;\n }\n &[data-style='expand-up'][data-loading] .ladda-spinner {\n opacity: 1;\n top: 26px;\n margin-top: 0;\n }\n &[data-style='expand-up'][data-loading][data-size='s'],\n &[data-style='expand-up'][data-loading][data-size='xs'] {\n padding-top: 32px;\n }\n &[data-style='expand-up'][data-loading][data-size='s'] .ladda-spinner,\n &[data-style='expand-up'][data-loading][data-size='xs'] .ladda-spinner {\n top: 4px;\n }\n &[data-style='expand-down'] {\n overflow: hidden;\n }\n &[data-style='expand-down'] .ladda-spinner {\n top: 62px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-down'][data-size='s'] .ladda-spinner,\n &[data-style='expand-down'][data-size='xs'] .ladda-spinner {\n top: 40px;\n }\n &[data-style='expand-down'][data-loading] {\n padding-bottom: 54px;\n }\n &[data-style='expand-down'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-down'][data-loading][data-size='s'],\n &[data-style='expand-down'][data-loading][data-size='xs'] {\n padding-bottom: 32px;\n }\n &[data-style='slide-left'] {\n overflow: hidden;\n }\n &[data-style='slide-left'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-left'] .ladda-spinner {\n left: 100%;\n margin-left: 0;\n }\n &[data-style='slide-left'][data-loading] .ladda-label {\n opacity: 0;\n left: -100%;\n }\n &[data-style='slide-left'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-right'] {\n overflow: hidden;\n }\n &[data-style='slide-right'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-right'] .ladda-spinner {\n right: 100%;\n margin-left: 0;\n left: 16px;\n }\n [dir='rtl'] &[data-style='slide-right'] .ladda-spinner {\n right: auto;\n }\n &[data-style='slide-right'][data-loading] .ladda-label {\n opacity: 0;\n left: 100%;\n }\n &[data-style='slide-right'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-up'] {\n overflow: hidden;\n }\n &[data-style='slide-up'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-up'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: 1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-label {\n opacity: 0;\n top: -1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='slide-down'] {\n overflow: hidden;\n }\n &[data-style='slide-down'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-down'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: -2em;\n }\n &[data-style='slide-down'][data-loading] .ladda-label {\n opacity: 0;\n top: 1em;\n }\n &[data-style='slide-down'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='zoom-out'] {\n overflow: hidden;\n }\n &[data-style='zoom-out'] .ladda-spinner {\n left: 50%;\n margin-left: 32px;\n transform: scale(2.5);\n }\n &[data-style='zoom-out'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-out'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(0.5);\n }\n &[data-style='zoom-out'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='zoom-in'] {\n overflow: hidden;\n }\n &[data-style='zoom-in'] .ladda-spinner {\n left: 50%;\n margin-left: -16px;\n transform: scale(0.2);\n }\n &[data-style='zoom-in'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-in'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(2.2);\n }\n &[data-style='zoom-in'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='contract'] {\n overflow: hidden;\n width: 100px;\n }\n &[data-style='contract'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract'][data-loading] {\n border-radius: 50%;\n width: 52px;\n }\n &[data-style='contract'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='contract-overlay'] {\n overflow: hidden;\n width: 100px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);\n }\n &[data-style='contract-overlay'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract-overlay'][data-loading] {\n border-radius: 50%;\n width: 52px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);\n }\n &[data-style='contract-overlay'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract-overlay'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n [dir='rtl'] .ladda-spinner > div {\n left: 25% !important;\n }\n"])), function (props) {
|
|
465
467
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
466
468
|
return ((_a = props.theme.buttons) === null || _a === void 0 ? void 0 : _a.style) === 'bootstrap' && "\n border-radius: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n text-transform: none;\n -webkit-appearance: button;\n \n &:not(:disabled),\n &[type='button']:not(:disabled),\n &[type='reset']:not(:disabled),\n &[type='submit']:not(:disabled) {\n cursor: pointer;\n }\n \n &:focus:not(:focus-visible) {\n outline: 0;\n }\n \n --bs-btn-padding-x: 0.75rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 400;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),\n 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem\n rgba(var(--bs-btn-focus-shadow-rgb), 0.5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n //transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,\n // border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n \n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n \n &:hover {\n filter: brightness(1.15);\n }\n \n &:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n }\n \n &:disabled,\n &.disabled,\n fieldset:disabled & {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n }\n \n --bs-btn-color: ".concat((_f = (_b = props.$textColor) !== null && _b !== void 0 ? _b : (_e = (_c = props.theme.buttons) === null || _c === void 0 ? void 0 : _c[(_d = props.$variant) !== null && _d !== void 0 ? _d : 'primary']) === null || _e === void 0 ? void 0 : _e.textColor) !== null && _f !== void 0 ? _f : '#fff', ";\n --bs-btn-bg: ").concat((_l = (_g = props.$backgroundColor) !== null && _g !== void 0 ? _g : (_k = (_h = props.theme.buttons) === null || _h === void 0 ? void 0 : _h[(_j = props.$variant) !== null && _j !== void 0 ? _j : 'primary']) === null || _k === void 0 ? void 0 : _k.backgroundColor) !== null && _l !== void 0 ? _l : '#0d6efd', ";\n --bs-btn-border-color: var(--bs-btn-bg);\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #0a58ca;\n --bs-btn-active-border-color: #0a53be;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: ").concat((_q = (_m = props.$disabledTextColor) !== null && _m !== void 0 ? _m : (_p = (_o = props.theme.buttons) === null || _o === void 0 ? void 0 : _o.loading) === null || _p === void 0 ? void 0 : _p.textColor) !== null && _q !== void 0 ? _q : '#fff', ";\n --bs-btn-disabled-bg: ").concat((_u = (_r = props.$disabledBackgroundColor) !== null && _r !== void 0 ? _r : (_t = (_s = props.theme.buttons) === null || _s === void 0 ? void 0 : _s.loading) === null || _t === void 0 ? void 0 : _t.backgroundColor) !== null && _u !== void 0 ? _u : 'gray', ";\n --bs-btn-disabled-border-color: ").concat((_v = props.$disabledBackgroundColor) !== null && _v !== void 0 ? _v : '#0d6efd', ";\n \n --bs-btn-padding-y: 14px;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 18px;\n --bs-btn-border-radius: 4px;\n ");
|
|
467
469
|
});
|
|
468
|
-
var templateObject_1$
|
|
470
|
+
var templateObject_1$K;
|
|
469
471
|
|
|
470
|
-
var OverlayContainer = styled(PageContainer)(templateObject_1$
|
|
472
|
+
var OverlayContainer = styled(PageContainer)(templateObject_1$J || (templateObject_1$J = __makeTemplateObject(["\n background: ", ";\n ", "\n z-index: 10000;\n"], ["\n background: ", ";\n ", "\n z-index: 10000;\n"])), function (props) {
|
|
471
473
|
return props.theme.background ? "".concat(props.theme.background) : "white";
|
|
472
474
|
}, function (props) {
|
|
473
475
|
return props.theme.textColor ? "color: ".concat(props.theme.textColor, ";") : "";
|
|
474
476
|
});
|
|
475
|
-
var OverlayInner$2 = styled.div(templateObject_2$
|
|
477
|
+
var OverlayInner$2 = styled.div(templateObject_2$A || (templateObject_2$A = __makeTemplateObject(["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n max-width: 100dvw;\n max-height: 100dvh;\n width: 100%;\n height: 100%;\n ", "\n"], ["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n max-width: 100dvw;\n max-height: 100dvh;\n width: 100%;\n height: 100%;\n ", "\n"])), function (props) {
|
|
476
478
|
var _a;
|
|
477
479
|
return (_a = props.theme.textAlign) !== null && _a !== void 0 ? _a : 'center';
|
|
478
480
|
}, function (props) {
|
|
479
481
|
return props.theme.padding ? "box-sizing: border-box; padding: ".concat(props.theme.padding, ";") : "";
|
|
480
482
|
});
|
|
481
|
-
var OverlayImageContainer = styled.div(templateObject_3$
|
|
482
|
-
var OverlayImageRow = styled.div(templateObject_4$
|
|
483
|
-
var GrayOverlayContainer = styled(OverlayContainer)(templateObject_5$
|
|
484
|
-
var ButtonsColumn = styled.div(templateObject_6$
|
|
485
|
-
var WideButton = styled(LoaderButton)(templateObject_7$
|
|
483
|
+
var OverlayImageContainer = styled.div(templateObject_3$r || (templateObject_3$r = __makeTemplateObject(["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: 100dvw;\n max-height: 100dvh;\n overflow: hidden;\n\n & > img,\n & > svg {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"], ["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n max-width: 100dvw;\n max-height: 100dvh;\n overflow: hidden;\n\n & > img,\n & > svg {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"])));
|
|
484
|
+
var OverlayImageRow = styled.div(templateObject_4$l || (templateObject_4$l = __makeTemplateObject(["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"], ["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100vh - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"])));
|
|
485
|
+
var GrayOverlayContainer = styled(OverlayContainer)(templateObject_5$c || (templateObject_5$c = __makeTemplateObject(["\n background: #f7f6fb;\n"], ["\n background: #f7f6fb;\n"])));
|
|
486
|
+
var ButtonsColumn = styled.div(templateObject_6$9 || (templateObject_6$9 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 15px 0;\n justify-content: center;\n margin-top: 24px;\n"], ["\n display: flex;\n flex-direction: column;\n gap: 15px 0;\n justify-content: center;\n margin-top: 24px;\n"])));
|
|
487
|
+
var WideButton = styled(LoaderButton)(templateObject_7$6 || (templateObject_7$6 = __makeTemplateObject(["\n width: 100%;\n border-radius: 30px;\n"], ["\n width: 100%;\n border-radius: 30px;\n"])));
|
|
486
488
|
var WideBorderButton = styled(WideButton)(templateObject_8$3 || (templateObject_8$3 = __makeTemplateObject(["\n color: black;\n background: white;\n border: 1px solid var(--idm-color-secondary-500);\n box-sizing: border-box;\n"], ["\n color: black;\n background: white;\n border: 1px solid var(--idm-color-secondary-500);\n box-sizing: border-box;\n"])));
|
|
487
|
-
var templateObject_1$
|
|
489
|
+
var templateObject_1$J, templateObject_2$A, templateObject_3$r, templateObject_4$l, templateObject_5$c, templateObject_6$9, templateObject_7$6, templateObject_8$3;
|
|
488
490
|
|
|
489
491
|
var GeolocationAccessDeniedOverlay = function GeolocationAccessDeniedOverlay(_a) {
|
|
490
492
|
var accessBlockedImageUrl = _a.accessBlockedImageUrl;
|
|
@@ -731,13 +733,13 @@ var SessionValidationErrorOverlay = function SessionValidationErrorOverlay(_a) {
|
|
|
731
733
|
}, retryText)))));
|
|
732
734
|
};
|
|
733
735
|
|
|
734
|
-
var wavesAnimation = keyframes(templateObject_1$
|
|
735
|
-
var progressBarAnimation = keyframes(templateObject_2$
|
|
736
|
-
var dualRingSpinnerAnimation = keyframes(templateObject_3$
|
|
737
|
-
var progressBorderAnimation = keyframes(templateObject_4$
|
|
738
|
-
var templateObject_1$
|
|
736
|
+
var wavesAnimation = keyframes(templateObject_1$I || (templateObject_1$I = __makeTemplateObject(["\n 0% {\n opacity: 0;\n transform: scale3d(1, 1, 1);\n }\n 80% {\n opacity: 1;\n }\n 100% {\n transform: scale3d(2, 2, 1);\n opacity: 0;\n }\n"], ["\n 0% {\n opacity: 0;\n transform: scale3d(1, 1, 1);\n }\n 80% {\n opacity: 1;\n }\n 100% {\n transform: scale3d(2, 2, 1);\n opacity: 0;\n }\n"])));
|
|
737
|
+
var progressBarAnimation = keyframes(templateObject_2$z || (templateObject_2$z = __makeTemplateObject(["\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n"], ["\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n"])));
|
|
738
|
+
var dualRingSpinnerAnimation = keyframes(templateObject_3$q || (templateObject_3$q = __makeTemplateObject(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"], ["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"])));
|
|
739
|
+
var progressBorderAnimation = keyframes(templateObject_4$k || (templateObject_4$k = __makeTemplateObject(["\n to {\n stroke-dashoffset: 0;\n }\n"], ["\n to {\n stroke-dashoffset: 0;\n }\n"])));
|
|
740
|
+
var templateObject_1$I, templateObject_2$z, templateObject_3$q, templateObject_4$k;
|
|
739
741
|
|
|
740
|
-
var Spinner = styled.div(templateObject_1$
|
|
742
|
+
var Spinner = styled.div(templateObject_1$H || (templateObject_1$H = __makeTemplateObject(["\n display: inline-block;\n width: ", "px;\n height: ", "px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ", "px;\n height: ", "px;\n margin: 8px;\n border-radius: 50%;\n border: ", "px solid\n ", ";\n border-color: ", " transparent\n ", " transparent;\n animation: ", " 1.2s linear infinite;\n box-sizing: content-box;\n }\n"], ["\n display: inline-block;\n width: ", "px;\n height: ", "px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ", "px;\n height: ", "px;\n margin: 8px;\n border-radius: 50%;\n border: ", "px solid\n ", ";\n border-color: ", " transparent\n ", " transparent;\n animation: ", " 1.2s linear infinite;\n box-sizing: content-box;\n }\n"])), function (_a) {
|
|
741
743
|
var $size = _a.$size;
|
|
742
744
|
return $size !== null && $size !== void 0 ? $size : 80;
|
|
743
745
|
}, function (_a) {
|
|
@@ -762,7 +764,7 @@ var Spinner = styled.div(templateObject_1$F || (templateObject_1$F = __makeTempl
|
|
|
762
764
|
var $color = _a.$color;
|
|
763
765
|
return $color !== null && $color !== void 0 ? $color : '#888';
|
|
764
766
|
}, dualRingSpinnerAnimation);
|
|
765
|
-
var templateObject_1$
|
|
767
|
+
var templateObject_1$H;
|
|
766
768
|
|
|
767
769
|
var defaultAuthUrl = 'https://portal-api.idmission.com';
|
|
768
770
|
var allowedAuthUrls = ['https://portal-api.idmission.com', 'https://portal-api-uat.idmission.com', 'https://portal-api-demo.idmission.com', 'https://portal-api-dev.idmission.com', 'http://localhost:10000'];
|
|
@@ -770,11 +772,11 @@ function setDefaultAuthUrl(url) {
|
|
|
770
772
|
if (!allowedAuthUrls.includes(url)) throw new Error('invalid auth url');
|
|
771
773
|
defaultAuthUrl = url;
|
|
772
774
|
}
|
|
773
|
-
var initialState$
|
|
775
|
+
var initialState$6 = {
|
|
774
776
|
authUrl: defaultAuthUrl,
|
|
775
777
|
sessionCheckState: 'READY'
|
|
776
778
|
};
|
|
777
|
-
var AuthStateContext = /*#__PURE__*/createContext(initialState$
|
|
779
|
+
var AuthStateContext = /*#__PURE__*/createContext(initialState$6);
|
|
778
780
|
var AuthDispatchContext = /*#__PURE__*/createContext(function () {});
|
|
779
781
|
var reducer$4 = function reducer(state, action) {
|
|
780
782
|
switch (action.type) {
|
|
@@ -806,7 +808,7 @@ function useAuthReducer(authUrl, sessionId) {
|
|
|
806
808
|
if (authUrl === void 0) {
|
|
807
809
|
authUrl = defaultAuthUrl;
|
|
808
810
|
}
|
|
809
|
-
var _a = useReducer(reducer$4, _assign(_assign({}, initialState$
|
|
811
|
+
var _a = useReducer(reducer$4, _assign(_assign({}, initialState$6), {
|
|
810
812
|
authUrl: authUrl
|
|
811
813
|
})),
|
|
812
814
|
state = _a[0],
|
|
@@ -1886,608 +1888,6 @@ function calculateMd5(blob) {
|
|
|
1886
1888
|
});
|
|
1887
1889
|
}
|
|
1888
1890
|
|
|
1889
|
-
function getFrameDimensions(frame) {
|
|
1890
|
-
var frameWidth = frame.width,
|
|
1891
|
-
frameHeight = frame.height;
|
|
1892
|
-
if (frame instanceof HTMLImageElement) {
|
|
1893
|
-
frameWidth = frame.naturalWidth;
|
|
1894
|
-
frameHeight = frame.naturalHeight;
|
|
1895
|
-
}
|
|
1896
|
-
if (frame instanceof HTMLVideoElement) {
|
|
1897
|
-
frameWidth = frame.videoWidth;
|
|
1898
|
-
frameHeight = frame.videoHeight;
|
|
1899
|
-
}
|
|
1900
|
-
return [frameWidth, frameHeight];
|
|
1901
|
-
}
|
|
1902
|
-
|
|
1903
|
-
var InvisibleCanvas = styled.canvas(templateObject_1$E || (templateObject_1$E = __makeTemplateObject(["\n display: none;\n"], ["\n display: none;\n"])));
|
|
1904
|
-
function drawToCanvas(canvas, frame, width, height) {
|
|
1905
|
-
if (!canvas) return;
|
|
1906
|
-
var ctx = canvas.getContext('2d');
|
|
1907
|
-
if (!ctx) return;
|
|
1908
|
-
if (!width || !height) {
|
|
1909
|
-
var _a = getFrameDimensions(frame),
|
|
1910
|
-
frameWidth = _a[0],
|
|
1911
|
-
frameHeight = _a[1];
|
|
1912
|
-
width || (width = frameWidth);
|
|
1913
|
-
height || (height = frameHeight);
|
|
1914
|
-
}
|
|
1915
|
-
canvas.width = width;
|
|
1916
|
-
canvas.height = height;
|
|
1917
|
-
ctx.drawImage(frame, 0, 0, width, height);
|
|
1918
|
-
}
|
|
1919
|
-
function clearCanvas(canvas) {
|
|
1920
|
-
var _a;
|
|
1921
|
-
(_a = canvas === null || canvas === void 0 ? void 0 : canvas.getContext('2d')) === null || _a === void 0 ? void 0 : _a.clearRect(0, 0, canvas === null || canvas === void 0 ? void 0 : canvas.width, canvas === null || canvas === void 0 ? void 0 : canvas.height);
|
|
1922
|
-
}
|
|
1923
|
-
var templateObject_1$E;
|
|
1924
|
-
|
|
1925
|
-
function listAvailableCameras(facingMode_1) {
|
|
1926
|
-
return __awaiter(this, arguments, void 0, function (facingMode, requestMicAccess) {
|
|
1927
|
-
var cameraEnumerationStream, videoDevices;
|
|
1928
|
-
if (requestMicAccess === void 0) {
|
|
1929
|
-
requestMicAccess = false;
|
|
1930
|
-
}
|
|
1931
|
-
return __generator(this, function (_a) {
|
|
1932
|
-
switch (_a.label) {
|
|
1933
|
-
case 0:
|
|
1934
|
-
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
1935
|
-
video: {
|
|
1936
|
-
facingMode: {
|
|
1937
|
-
exact: facingMode
|
|
1938
|
-
}
|
|
1939
|
-
},
|
|
1940
|
-
audio: requestMicAccess
|
|
1941
|
-
})
|
|
1942
|
-
// This lists all available cameras attached to the user's device.
|
|
1943
|
-
];
|
|
1944
|
-
case 1:
|
|
1945
|
-
cameraEnumerationStream = _a.sent();
|
|
1946
|
-
return [4 /*yield*/, navigator.mediaDevices.enumerateDevices()];
|
|
1947
|
-
case 2:
|
|
1948
|
-
videoDevices = _a.sent().filter(function (_a) {
|
|
1949
|
-
var kind = _a.kind;
|
|
1950
|
-
return kind === 'videoinput';
|
|
1951
|
-
});
|
|
1952
|
-
// Release the access to the user's camera that we obtained for enumeration purposes.
|
|
1953
|
-
cameraEnumerationStream.getVideoTracks().forEach(function (track) {
|
|
1954
|
-
track.enabled = false;
|
|
1955
|
-
track.stop();
|
|
1956
|
-
});
|
|
1957
|
-
cameraEnumerationStream = null;
|
|
1958
|
-
return [2 /*return*/, videoDevices];
|
|
1959
|
-
}
|
|
1960
|
-
});
|
|
1961
|
-
});
|
|
1962
|
-
}
|
|
1963
|
-
var frontLabels = ['front', 'avant', 'anteriore', 'cameraaanvoorzijde', 'kamerapåframsidan', 'forsidekamera', 'kamerapåforsiden', 'aparatprzedni', 'etukamera', 'kameradepan', 'ÖnKamera', 'cameramặttrước', 'camerăfață', 'prednákamera', 'prednjakamera', 'előlapikamera', 'přednífotoaparát', 'μπροστινήκάμερα', 'переднякамера', 'передняякамера', 'преднакамера', 'алдыңғыкамера', 'מצלמה קדמית', 'الكاميرا الأمامية', 'फ़्रंटकैमरा', '前置相机', '前置鏡頭', '前面カメラ', '전면카메라', 'กล้องด้านหน้า'].map(function (s) {
|
|
1964
|
-
return s.toLocaleLowerCase().split(' ').join('');
|
|
1965
|
-
});
|
|
1966
|
-
var rearLabels = ['back', 'rear', 'posterior', 'trasera', 'traseira', 'arrière', 'rückkamera', 'fotocamera(posteriore)', 'cameraaanachterzijde', 'kamerapåbaksidan', 'kamerapåbaksiden', 'bagsidekamera', 'aparattylny', 'takakamera', 'arkakamera', 'kamerabelakang', 'cameramặtsau', 'camerăspate', 'stražnjakamera', 'zadnákamera', 'hátoldalikamera', 'zadnífotoaparát', 'πίσωκάμερα', 'заднякамера', 'Задняякамера', 'заднакамера', 'артқыкамера', 'מצלמה אחורית', 'الكاميرا الخلفية', 'बैककैमरा', '后置相机', '後置鏡頭', '背面カメラ', '후면카메라', 'กล้องด้านหลัง'].map(function (s) {
|
|
1967
|
-
return s.toLocaleLowerCase().split(' ').join('');
|
|
1968
|
-
});
|
|
1969
|
-
var backUltraWideLabels = ['backdualwidecamera', 'backultrawidecamera', 'ultraampliaposterior', 'ultra-angulartraseira', 'ultragrandeangulartraseira', 'ultragrandangle', 'ultragranangular', 'ultra-weitwinkelkamera', 'ultra-grandangolo', 'ultrabredecameraaanachterzijde', 'ultravidvinkelkamerapåbaksidan', 'ultravidvinkelkameraetpåbagsiden', 'ultravidvinkelkamerabak', 'ultragenişkameraarkayüzü', 'ultralaajakulmainentakakamera', 'tylnyaparatultraszerokokątny', 'cameracựcrộngmặtsau', 'camerăcuobiectivultra‑superangularspate', 'ultraszéleslátószögűkamera', 'kameraultralebarbelakang', 'stražnjaultraširokakamera', 'zadníultraširokoúhlýfotoaparát', 'ultraširokouhlá', 'πίσωυπερευρείακάμερα', 'заднянадширококутнакамера', 'Задняясверхширокоугольнаякамера', 'Задна свръх широкоъгълна камера', 'артқыультракеңбұрыштыкамера', 'מצלמה אולטרה רחבה אחורית', 'كاميرا خلفية عريضة جدًا', 'बैकअल्ट्रावाइडकैमरा', '后置超广角相机', '後置超廣角鏡頭相機', '背面超広角カメラ', '후면울트라와이드카메라', 'กล้องด้านหลังอัลตร้าไวด์'].map(function (s) {
|
|
1970
|
-
return s.toLocaleLowerCase().split(' ').join('');
|
|
1971
|
-
});
|
|
1972
|
-
var labelMatches = function labelMatches(labelOrDevice, labelSetOrLabel) {
|
|
1973
|
-
var label = labelOrDevice instanceof MediaDeviceInfo ? getDeviceLabel(labelOrDevice) : labelOrDevice;
|
|
1974
|
-
var labelSet = typeof labelSetOrLabel === 'string' ? [labelSetOrLabel] : labelSetOrLabel;
|
|
1975
|
-
return labelSet.some(function (l) {
|
|
1976
|
-
return label.includes(l);
|
|
1977
|
-
});
|
|
1978
|
-
};
|
|
1979
|
-
var getDeviceLabel = function getDeviceLabel(deviceInfo) {
|
|
1980
|
-
return deviceInfo.label.toLocaleLowerCase().split(' ').join('');
|
|
1981
|
-
};
|
|
1982
|
-
var currentCamera;
|
|
1983
|
-
var currentAudioStream;
|
|
1984
|
-
function obtainCameraAccess(stream, deviceLabel, video) {
|
|
1985
|
-
releaseCameraAccess();
|
|
1986
|
-
log('obtaining camera access...');
|
|
1987
|
-
var _a = stream.getVideoTracks()[0].getSettings(),
|
|
1988
|
-
width = _a.width,
|
|
1989
|
-
height = _a.height;
|
|
1990
|
-
var label = deviceLabel.toLocaleLowerCase().split(' ').join('');
|
|
1991
|
-
var isRearFacing = labelMatches(label, __spreadArray(__spreadArray(__spreadArray([], rearLabels, true), backUltraWideLabels, true), ['iphone'], false));
|
|
1992
|
-
var release = function release() {
|
|
1993
|
-
stream.getTracks().forEach(function (track) {
|
|
1994
|
-
track.enabled = false;
|
|
1995
|
-
track.stop();
|
|
1996
|
-
});
|
|
1997
|
-
if (video) {
|
|
1998
|
-
video.pause();
|
|
1999
|
-
video.srcObject = null;
|
|
2000
|
-
video.src = '';
|
|
2001
|
-
}
|
|
2002
|
-
};
|
|
2003
|
-
width || (width = 0);
|
|
2004
|
-
height || (height = 0);
|
|
2005
|
-
currentCamera = {
|
|
2006
|
-
label: deviceLabel,
|
|
2007
|
-
stream: stream,
|
|
2008
|
-
width: width,
|
|
2009
|
-
height: height,
|
|
2010
|
-
isRearFacing: isRearFacing,
|
|
2011
|
-
release: release
|
|
2012
|
-
};
|
|
2013
|
-
if (video) video.srcObject = stream;
|
|
2014
|
-
return currentCamera;
|
|
2015
|
-
}
|
|
2016
|
-
function releaseCameraAccess() {
|
|
2017
|
-
if (!currentCamera) return;
|
|
2018
|
-
log('releasing camera access...');
|
|
2019
|
-
currentCamera.release();
|
|
2020
|
-
currentCamera = undefined;
|
|
2021
|
-
}
|
|
2022
|
-
function releaseMicrophoneAccess() {
|
|
2023
|
-
var _a;
|
|
2024
|
-
if (!currentAudioStream) return;
|
|
2025
|
-
log('releasing microphone access...');
|
|
2026
|
-
(_a = currentAudioStream.stop) === null || _a === void 0 ? void 0 : _a.call(currentAudioStream);
|
|
2027
|
-
currentAudioStream.getAudioTracks().forEach(function (t) {
|
|
2028
|
-
var _a;
|
|
2029
|
-
(_a = t.stop) === null || _a === void 0 ? void 0 : _a.call(t);
|
|
2030
|
-
});
|
|
2031
|
-
currentAudioStream = undefined;
|
|
2032
|
-
}
|
|
2033
|
-
function usePreferredCaptureDevice(_a) {
|
|
2034
|
-
var _b = _a === void 0 ? {} : _a,
|
|
2035
|
-
_c = _b.requestAccessAutomatically,
|
|
2036
|
-
requestAccessAutomatically = _c === void 0 ? true : _c,
|
|
2037
|
-
_d = _b.preferFrontFacingCamera,
|
|
2038
|
-
preferFrontFacingCamera = _d === void 0 ? false : _d,
|
|
2039
|
-
_e = _b.preferContinuityCamera,
|
|
2040
|
-
preferContinuityCamera = _e === void 0 ? true : _e,
|
|
2041
|
-
_f = _b.requireMicrophoneAccess,
|
|
2042
|
-
requireMicrophoneAccess = _f === void 0 ? false : _f,
|
|
2043
|
-
_g = _b.maxVideoWidth,
|
|
2044
|
-
maxVideoWidth = _g === void 0 ? 1920 : _g,
|
|
2045
|
-
maxFps = _b.maxFps,
|
|
2046
|
-
_h = _b.debugMode,
|
|
2047
|
-
debugMode = _h === void 0 ? false : _h;
|
|
2048
|
-
var videoRef = useRef(null);
|
|
2049
|
-
var videoRefStack = useRef([]);
|
|
2050
|
-
var cameraRef = useRef(null);
|
|
2051
|
-
var _j = useState(false),
|
|
2052
|
-
cameraReady = _j[0],
|
|
2053
|
-
setCameraReady = _j[1];
|
|
2054
|
-
var _k = useState(false),
|
|
2055
|
-
microphoneReady = _k[0],
|
|
2056
|
-
setMicrophoneReady = _k[1];
|
|
2057
|
-
var _l = useState(null),
|
|
2058
|
-
videoDevice = _l[0],
|
|
2059
|
-
setVideoDevice = _l[1];
|
|
2060
|
-
var _m = useState(null),
|
|
2061
|
-
audioStream = _m[0],
|
|
2062
|
-
setAudioStream = _m[1];
|
|
2063
|
-
var _o = useState(false),
|
|
2064
|
-
videoLoaded = _o[0],
|
|
2065
|
-
setVideoLoaded = _o[1];
|
|
2066
|
-
var _p = useState(false),
|
|
2067
|
-
iphoneContinuityCameraAvailable = _p[0],
|
|
2068
|
-
setIphoneContinuityCameraAvailable = _p[1];
|
|
2069
|
-
var _q = useState(preferContinuityCamera),
|
|
2070
|
-
iphoneContinuityCameraAllowed = _q[0],
|
|
2071
|
-
setIphoneContinuityCameraAllowed = _q[1];
|
|
2072
|
-
var _r = useState(false),
|
|
2073
|
-
iphoneContinuityCameraDenied = _r[0],
|
|
2074
|
-
setIphoneContinuityCameraDenied = _r[1];
|
|
2075
|
-
var _s = useState(false),
|
|
2076
|
-
cameraAccessDenied = _s[0],
|
|
2077
|
-
setCameraAccessDenied = _s[1];
|
|
2078
|
-
var _t = useState(false),
|
|
2079
|
-
microphoneAccessDenied = _t[0],
|
|
2080
|
-
setMicrophoneAccessDenied = _t[1];
|
|
2081
|
-
var videoRefElement = videoRef.current;
|
|
2082
|
-
useEffect(function pushVideoRefToStackWhenChanged() {
|
|
2083
|
-
// proceed if the video element being mounted is not already at the top of the videoRefStack.
|
|
2084
|
-
var topOfStack = videoRefStack.current.slice(-1)[0];
|
|
2085
|
-
if (videoRefElement && videoRefElement !== topOfStack) {
|
|
2086
|
-
log('adding video to stack', videoRefElement);
|
|
2087
|
-
videoRefStack.current.push(videoRefElement);
|
|
2088
|
-
}
|
|
2089
|
-
}, [videoRefElement]);
|
|
2090
|
-
var onVideoUnmounted = useCallback(function (videoElement) {
|
|
2091
|
-
log('removing video from stack', videoElement);
|
|
2092
|
-
videoRefStack.current = videoRefStack.current.filter(function (v) {
|
|
2093
|
-
return v !== videoElement;
|
|
2094
|
-
});
|
|
2095
|
-
videoRef.current = videoRefStack.current.slice(-1)[0]; // top of stack.
|
|
2096
|
-
log('new videoRef is', videoRef.current);
|
|
2097
|
-
}, []);
|
|
2098
|
-
useEffect(function resetCameraOnContinuityPreferenceChanged() {
|
|
2099
|
-
if (debugMode) {
|
|
2100
|
-
log('iphone continuity camera allowed changed', iphoneContinuityCameraAllowed);
|
|
2101
|
-
}
|
|
2102
|
-
releaseCameraAccess();
|
|
2103
|
-
cameraRef.current = null;
|
|
2104
|
-
setVideoLoaded(false);
|
|
2105
|
-
}, [debugMode, iphoneContinuityCameraAllowed]);
|
|
2106
|
-
// NOTE: the bound callback function here is called requestCameraAccess, because
|
|
2107
|
-
// it initiates the useEffect chain that results in camera access being requested
|
|
2108
|
-
// (requestCameraAccessAutomatically -> chooseFromAvailableCameras -> accessChosenCamera).
|
|
2109
|
-
//
|
|
2110
|
-
// We chose to title the inner function "chooseFromAvailableCameras" because
|
|
2111
|
-
// that's all it literally does -- the available cameras are enumerated, and then
|
|
2112
|
-
// the result is parsed to decide which one we like best, which is then passed to
|
|
2113
|
-
// setVideoDevice, which causes accessChosenCamera to trigger.
|
|
2114
|
-
//
|
|
2115
|
-
// I am not a huge fan of getUserMedia's design -- you need to call it twice in order
|
|
2116
|
-
// to select the "best" camera for your application's purposes.
|
|
2117
|
-
var requestCameraAccess = useCallback(function chooseFromAvailableCameras() {
|
|
2118
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
2119
|
-
var availableCameras, selectedCamera, platform_1, iphoneContinuityCamera, e_1;
|
|
2120
|
-
var _a, _b;
|
|
2121
|
-
return __generator(this, function (_c) {
|
|
2122
|
-
switch (_c.label) {
|
|
2123
|
-
case 0:
|
|
2124
|
-
setCameraReady(false);
|
|
2125
|
-
setCameraAccessDenied(false);
|
|
2126
|
-
_c.label = 1;
|
|
2127
|
-
case 1:
|
|
2128
|
-
_c.trys.push([1, 3,, 4]);
|
|
2129
|
-
return [4 /*yield*/, listAvailableCameras()];
|
|
2130
|
-
case 2:
|
|
2131
|
-
availableCameras = _c.sent();
|
|
2132
|
-
selectedCamera = void 0;
|
|
2133
|
-
if (debugMode) {
|
|
2134
|
-
log('availableCameras', availableCameras);
|
|
2135
|
-
}
|
|
2136
|
-
platform_1 = getPlatform();
|
|
2137
|
-
if (debugMode) {
|
|
2138
|
-
log('platformDetails', platform_1);
|
|
2139
|
-
}
|
|
2140
|
-
if (!iphoneContinuityCameraDenied && (!(platform_1 === null || platform_1 === void 0 ? void 0 : platform_1.os) || platform_1.os.family === 'OS X')) {
|
|
2141
|
-
iphoneContinuityCamera = availableCameras.find(function (deviceInfo) {
|
|
2142
|
-
return labelMatches(deviceInfo, 'iphone');
|
|
2143
|
-
});
|
|
2144
|
-
setIphoneContinuityCameraAvailable(!!iphoneContinuityCamera);
|
|
2145
|
-
if (iphoneContinuityCamera && iphoneContinuityCameraAllowed) {
|
|
2146
|
-
selectedCamera = iphoneContinuityCamera;
|
|
2147
|
-
}
|
|
2148
|
-
} else if (((_a = platform_1 === null || platform_1 === void 0 ? void 0 : platform_1.os) === null || _a === void 0 ? void 0 : _a.family) === 'Android' || availableCameras.every(function (c) {
|
|
2149
|
-
return c.label.startsWith('camera2 ');
|
|
2150
|
-
})) {
|
|
2151
|
-
availableCameras = availableCameras.sort(function (a, b) {
|
|
2152
|
-
return a.label.toLowerCase().localeCompare(b.label.toLowerCase());
|
|
2153
|
-
});
|
|
2154
|
-
if (debugMode) {
|
|
2155
|
-
log('cameras have been sorted', availableCameras);
|
|
2156
|
-
}
|
|
2157
|
-
}
|
|
2158
|
-
if (preferFrontFacingCamera) {
|
|
2159
|
-
selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
2160
|
-
return labelMatches(deviceInfo, frontLabels);
|
|
2161
|
-
});
|
|
2162
|
-
}
|
|
2163
|
-
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
2164
|
-
return labelMatches(deviceInfo, 'backtriplecamera');
|
|
2165
|
-
}));
|
|
2166
|
-
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
2167
|
-
return labelMatches(deviceInfo, 'backdualcamera');
|
|
2168
|
-
}));
|
|
2169
|
-
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
2170
|
-
return labelMatches(deviceInfo, rearLabels) && !labelMatches(deviceInfo, backUltraWideLabels);
|
|
2171
|
-
}));
|
|
2172
|
-
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
2173
|
-
return labelMatches(deviceInfo, rearLabels);
|
|
2174
|
-
}));
|
|
2175
|
-
// on iOS, the front facing camera always is at the first position in the list, so we skip it if all else fails.
|
|
2176
|
-
if (!preferFrontFacingCamera && ((_b = platform_1 === null || platform_1 === void 0 ? void 0 : platform_1.os) === null || _b === void 0 ? void 0 : _b.family) === 'iOS' && availableCameras.length > 0) {
|
|
2177
|
-
selectedCamera || (selectedCamera = availableCameras[1]);
|
|
2178
|
-
}
|
|
2179
|
-
selectedCamera || (selectedCamera = availableCameras[0]);
|
|
2180
|
-
if (debugMode) log('selectedCamera', selectedCamera);
|
|
2181
|
-
setVideoDevice(selectedCamera);
|
|
2182
|
-
return [3 /*break*/, 4];
|
|
2183
|
-
case 3:
|
|
2184
|
-
e_1 = _c.sent();
|
|
2185
|
-
if (e_1.name === 'NotAllowedError') {
|
|
2186
|
-
error('camera access has been blocked by the user', e_1);
|
|
2187
|
-
setCameraAccessDenied(true);
|
|
2188
|
-
} else {
|
|
2189
|
-
error('camera access encountered some other error', e_1);
|
|
2190
|
-
throw e_1;
|
|
2191
|
-
}
|
|
2192
|
-
return [3 /*break*/, 4];
|
|
2193
|
-
case 4:
|
|
2194
|
-
return [2 /*return*/];
|
|
2195
|
-
}
|
|
2196
|
-
});
|
|
2197
|
-
});
|
|
2198
|
-
}, [debugMode, iphoneContinuityCameraAllowed, iphoneContinuityCameraDenied, preferFrontFacingCamera]);
|
|
2199
|
-
useEffect(function requestCameraAccessAutomatically() {
|
|
2200
|
-
if (requestAccessAutomatically && !cameraAccessDenied) {
|
|
2201
|
-
requestCameraAccess()["catch"](error);
|
|
2202
|
-
}
|
|
2203
|
-
}, [cameraAccessDenied, requestAccessAutomatically, requestCameraAccess]);
|
|
2204
|
-
useEffect(function accessChosenCamera() {
|
|
2205
|
-
var _this = this;
|
|
2206
|
-
var _a;
|
|
2207
|
-
if (!videoDevice) return;
|
|
2208
|
-
var cleanup = function cleanup() {
|
|
2209
|
-
releaseCameraAccess();
|
|
2210
|
-
cameraRef.current = null;
|
|
2211
|
-
setVideoLoaded(false);
|
|
2212
|
-
};
|
|
2213
|
-
if (!((_a = navigator.mediaDevices) === null || _a === void 0 ? void 0 : _a.getUserMedia)) return cleanup;
|
|
2214
|
-
(function () {
|
|
2215
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
2216
|
-
var constraints, stream, e_2, handleStreamEnded;
|
|
2217
|
-
var _a;
|
|
2218
|
-
return __generator(this, function (_b) {
|
|
2219
|
-
switch (_b.label) {
|
|
2220
|
-
case 0:
|
|
2221
|
-
constraints = {
|
|
2222
|
-
audio: false,
|
|
2223
|
-
video: {
|
|
2224
|
-
deviceId: {
|
|
2225
|
-
exact: videoDevice.deviceId
|
|
2226
|
-
},
|
|
2227
|
-
width: {
|
|
2228
|
-
ideal: maxVideoWidth
|
|
2229
|
-
},
|
|
2230
|
-
aspectRatio: 1.777777778,
|
|
2231
|
-
frameRate: {}
|
|
2232
|
-
}
|
|
2233
|
-
};
|
|
2234
|
-
if (maxFps) {
|
|
2235
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
2236
|
-
// @ts-ignore
|
|
2237
|
-
constraints.video.frameRate = {
|
|
2238
|
-
max: maxFps
|
|
2239
|
-
};
|
|
2240
|
-
}
|
|
2241
|
-
stream = null;
|
|
2242
|
-
_b.label = 1;
|
|
2243
|
-
case 1:
|
|
2244
|
-
_b.trys.push([1, 3,, 4]);
|
|
2245
|
-
return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];
|
|
2246
|
-
case 2:
|
|
2247
|
-
stream = _b.sent();
|
|
2248
|
-
return [3 /*break*/, 4];
|
|
2249
|
-
case 3:
|
|
2250
|
-
e_2 = _b.sent();
|
|
2251
|
-
if (e_2.name === 'NotAllowedError') {
|
|
2252
|
-
if (iphoneContinuityCameraAllowed) {
|
|
2253
|
-
setIphoneContinuityCameraAvailable(false);
|
|
2254
|
-
setIphoneContinuityCameraDenied(true);
|
|
2255
|
-
} else {
|
|
2256
|
-
setCameraAccessDenied(true);
|
|
2257
|
-
}
|
|
2258
|
-
return [2 /*return*/];
|
|
2259
|
-
}
|
|
2260
|
-
return [3 /*break*/, 4];
|
|
2261
|
-
case 4:
|
|
2262
|
-
if (!!stream) return [3 /*break*/, 8];
|
|
2263
|
-
_b.label = 5;
|
|
2264
|
-
case 5:
|
|
2265
|
-
_b.trys.push([5, 7,, 8]);
|
|
2266
|
-
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
2267
|
-
audio: false,
|
|
2268
|
-
video: true
|
|
2269
|
-
})];
|
|
2270
|
-
case 6:
|
|
2271
|
-
stream = _b.sent();
|
|
2272
|
-
log('opened stream with no width and height constraints');
|
|
2273
|
-
return [3 /*break*/, 8];
|
|
2274
|
-
case 7:
|
|
2275
|
-
_b.sent();
|
|
2276
|
-
log('cannot open stream at all');
|
|
2277
|
-
return [3 /*break*/, 8];
|
|
2278
|
-
case 8:
|
|
2279
|
-
if (!stream) {
|
|
2280
|
-
throw new Error('failed to open camera');
|
|
2281
|
-
}
|
|
2282
|
-
handleStreamEnded = function handleStreamEnded() {
|
|
2283
|
-
if (iphoneContinuityCameraAvailable && iphoneContinuityCameraAllowed) {
|
|
2284
|
-
log('someone unplugged the continuity camera');
|
|
2285
|
-
releaseCameraAccess();
|
|
2286
|
-
cameraRef.current = null;
|
|
2287
|
-
setIphoneContinuityCameraAvailable(false);
|
|
2288
|
-
setIphoneContinuityCameraDenied(true);
|
|
2289
|
-
setVideoDevice(null);
|
|
2290
|
-
} else {
|
|
2291
|
-
log('someone unplugged the webcam');
|
|
2292
|
-
releaseCameraAccess();
|
|
2293
|
-
cameraRef.current = null;
|
|
2294
|
-
setVideoLoaded(false);
|
|
2295
|
-
setCameraAccessDenied(true);
|
|
2296
|
-
}
|
|
2297
|
-
};
|
|
2298
|
-
(_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('ended', handleStreamEnded);
|
|
2299
|
-
stream.getVideoTracks().forEach(function (track) {
|
|
2300
|
-
track.onended = handleStreamEnded;
|
|
2301
|
-
});
|
|
2302
|
-
cameraRef.current = obtainCameraAccess(stream, videoDevice.label, videoRef.current);
|
|
2303
|
-
return [2 /*return*/];
|
|
2304
|
-
}
|
|
2305
|
-
});
|
|
2306
|
-
});
|
|
2307
|
-
})();
|
|
2308
|
-
return cleanup;
|
|
2309
|
-
}, [iphoneContinuityCameraAllowed, iphoneContinuityCameraAvailable, maxFps, maxVideoWidth, videoDevice]);
|
|
2310
|
-
useEffect(function triggerCameraReady() {
|
|
2311
|
-
// TODO: in the future let's evaluate whether we can simplify this to just
|
|
2312
|
-
// setCameraReady(!!videoDevice && videoLoaded) -- we are wondering whether
|
|
2313
|
-
// we somehow depend on this being set twice.
|
|
2314
|
-
setCameraReady(false);
|
|
2315
|
-
if (videoDevice && videoLoaded) {
|
|
2316
|
-
setCameraReady(videoDevice && videoLoaded);
|
|
2317
|
-
}
|
|
2318
|
-
}, [videoLoaded, videoDevice]);
|
|
2319
|
-
var requestMicrophoneAccess = useCallback(function _requestMicrophoneAccess() {
|
|
2320
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
2321
|
-
var stream;
|
|
2322
|
-
return __generator(this, function (_a) {
|
|
2323
|
-
switch (_a.label) {
|
|
2324
|
-
case 0:
|
|
2325
|
-
setMicrophoneReady(false);
|
|
2326
|
-
setMicrophoneAccessDenied(false);
|
|
2327
|
-
_a.label = 1;
|
|
2328
|
-
case 1:
|
|
2329
|
-
_a.trys.push([1, 3,, 4]);
|
|
2330
|
-
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
2331
|
-
audio: true,
|
|
2332
|
-
video: false
|
|
2333
|
-
})];
|
|
2334
|
-
case 2:
|
|
2335
|
-
stream = _a.sent();
|
|
2336
|
-
currentAudioStream = stream;
|
|
2337
|
-
setAudioStream(stream);
|
|
2338
|
-
setMicrophoneReady(true);
|
|
2339
|
-
stream.getAudioTracks().forEach(function (track) {
|
|
2340
|
-
track.onended = function () {
|
|
2341
|
-
setMicrophoneAccessDenied(true);
|
|
2342
|
-
};
|
|
2343
|
-
});
|
|
2344
|
-
return [3 /*break*/, 4];
|
|
2345
|
-
case 3:
|
|
2346
|
-
_a.sent();
|
|
2347
|
-
setMicrophoneAccessDenied(true);
|
|
2348
|
-
return [3 /*break*/, 4];
|
|
2349
|
-
case 4:
|
|
2350
|
-
return [2 /*return*/];
|
|
2351
|
-
}
|
|
2352
|
-
});
|
|
2353
|
-
});
|
|
2354
|
-
}, []);
|
|
2355
|
-
useEffect(function requestMicrophoneAccessIfNeeded() {
|
|
2356
|
-
if (!requireMicrophoneAccess || microphoneAccessDenied) return;
|
|
2357
|
-
requestMicrophoneAccess()["catch"](error);
|
|
2358
|
-
return function () {
|
|
2359
|
-
releaseMicrophoneAccess();
|
|
2360
|
-
setAudioStream(null);
|
|
2361
|
-
setMicrophoneReady(false);
|
|
2362
|
-
};
|
|
2363
|
-
}, [microphoneAccessDenied, requestMicrophoneAccess, requireMicrophoneAccess]);
|
|
2364
|
-
var takePhoto = useCallback(function _takePhoto() {
|
|
2365
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
2366
|
-
var canvas;
|
|
2367
|
-
return __generator(this, function (_a) {
|
|
2368
|
-
switch (_a.label) {
|
|
2369
|
-
case 0:
|
|
2370
|
-
if (!cameraRef.current) return [2 /*return*/, null];
|
|
2371
|
-
if (!(typeof ImageCapture !== 'undefined')) return [3 /*break*/, 2];
|
|
2372
|
-
return [4 /*yield*/, new ImageCapture(cameraRef.current.stream.getTracks()[0]).takePhoto()];
|
|
2373
|
-
case 1:
|
|
2374
|
-
return [2 /*return*/, _a.sent()];
|
|
2375
|
-
case 2:
|
|
2376
|
-
if (!videoRef.current) return [2 /*return*/, null];
|
|
2377
|
-
canvas = document.createElement('canvas');
|
|
2378
|
-
drawToCanvas(canvas, videoRef.current);
|
|
2379
|
-
return [2 /*return*/, new Promise(function (resolve) {
|
|
2380
|
-
return canvas.toBlob(resolve);
|
|
2381
|
-
})];
|
|
2382
|
-
}
|
|
2383
|
-
});
|
|
2384
|
-
});
|
|
2385
|
-
}, []);
|
|
2386
|
-
return useMemo(function () {
|
|
2387
|
-
return {
|
|
2388
|
-
videoRef: videoRef,
|
|
2389
|
-
videoDevice: videoDevice,
|
|
2390
|
-
videoLoaded: videoLoaded,
|
|
2391
|
-
setVideoLoaded: setVideoLoaded,
|
|
2392
|
-
onVideoUnmounted: onVideoUnmounted,
|
|
2393
|
-
cameraRef: cameraRef,
|
|
2394
|
-
cameraReady: cameraReady,
|
|
2395
|
-
cameraAccessDenied: cameraAccessDenied,
|
|
2396
|
-
requestCameraAccess: requestCameraAccess,
|
|
2397
|
-
releaseCameraAccess: releaseCameraAccess,
|
|
2398
|
-
iphoneContinuityCameraAvailable: iphoneContinuityCameraAvailable,
|
|
2399
|
-
iphoneContinuityCameraAllowed: iphoneContinuityCameraAllowed,
|
|
2400
|
-
setIphoneContinuityCameraAllowed: setIphoneContinuityCameraAllowed,
|
|
2401
|
-
takePhoto: takePhoto,
|
|
2402
|
-
audioStream: audioStream,
|
|
2403
|
-
microphoneReady: microphoneReady,
|
|
2404
|
-
microphoneAccessDenied: microphoneAccessDenied,
|
|
2405
|
-
requestMicrophoneAccess: requestMicrophoneAccess
|
|
2406
|
-
};
|
|
2407
|
-
}, [audioStream, cameraAccessDenied, cameraReady, iphoneContinuityCameraAllowed, iphoneContinuityCameraAvailable, microphoneAccessDenied, microphoneReady, onVideoUnmounted, requestCameraAccess, requestMicrophoneAccess, takePhoto, videoDevice, videoLoaded]);
|
|
2408
|
-
}
|
|
2409
|
-
|
|
2410
|
-
var CameraStateContext = /*#__PURE__*/createContext({
|
|
2411
|
-
videoRef: {
|
|
2412
|
-
current: null
|
|
2413
|
-
},
|
|
2414
|
-
videoDevice: null,
|
|
2415
|
-
videoLoaded: false,
|
|
2416
|
-
cameraRef: {
|
|
2417
|
-
current: null
|
|
2418
|
-
},
|
|
2419
|
-
cameraReady: false,
|
|
2420
|
-
cameraAccessDenied: false,
|
|
2421
|
-
requestCameraAccess: function requestCameraAccess() {
|
|
2422
|
-
return null;
|
|
2423
|
-
},
|
|
2424
|
-
releaseCameraAccess: function releaseCameraAccess() {
|
|
2425
|
-
return null;
|
|
2426
|
-
},
|
|
2427
|
-
iphoneContinuityCameraAvailable: false,
|
|
2428
|
-
iphoneContinuityCameraAllowed: true,
|
|
2429
|
-
setIphoneContinuityCameraAllowed: function setIphoneContinuityCameraAllowed() {
|
|
2430
|
-
return null;
|
|
2431
|
-
},
|
|
2432
|
-
takePhoto: function takePhoto() {
|
|
2433
|
-
return Promise.resolve(null);
|
|
2434
|
-
},
|
|
2435
|
-
setVideoLoaded: function setVideoLoaded() {
|
|
2436
|
-
return null;
|
|
2437
|
-
},
|
|
2438
|
-
onVideoUnmounted: function onVideoUnmounted() {
|
|
2439
|
-
return null;
|
|
2440
|
-
},
|
|
2441
|
-
audioStream: null,
|
|
2442
|
-
microphoneReady: false,
|
|
2443
|
-
microphoneAccessDenied: false,
|
|
2444
|
-
requestMicrophoneAccess: function requestMicrophoneAccess() {
|
|
2445
|
-
return null;
|
|
2446
|
-
}
|
|
2447
|
-
});
|
|
2448
|
-
var CameraProvider = function CameraProvider(_a) {
|
|
2449
|
-
var children = _a.children,
|
|
2450
|
-
_b = _a.requestAccessAutomatically,
|
|
2451
|
-
requestAccessAutomatically = _b === void 0 ? true : _b,
|
|
2452
|
-
_c = _a.preferFrontFacingCamera,
|
|
2453
|
-
preferFrontFacingCamera = _c === void 0 ? false : _c,
|
|
2454
|
-
_d = _a.preferContinuityCamera,
|
|
2455
|
-
preferContinuityCamera = _d === void 0 ? true : _d,
|
|
2456
|
-
_e = _a.requireMicrophoneAccess,
|
|
2457
|
-
requireMicrophoneAccess = _e === void 0 ? false : _e,
|
|
2458
|
-
_f = _a.maxVideoWidth,
|
|
2459
|
-
maxVideoWidth = _f === void 0 ? 1920 : _f,
|
|
2460
|
-
maxFps = _a.maxFps,
|
|
2461
|
-
onCameraAccessDenied = _a.onCameraAccessDenied,
|
|
2462
|
-
onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied,
|
|
2463
|
-
_g = _a.debugMode,
|
|
2464
|
-
debugMode = _g === void 0 ? false : _g;
|
|
2465
|
-
var captureDevice = usePreferredCaptureDevice({
|
|
2466
|
-
requestAccessAutomatically: requestAccessAutomatically,
|
|
2467
|
-
preferFrontFacingCamera: preferFrontFacingCamera,
|
|
2468
|
-
preferContinuityCamera: preferContinuityCamera,
|
|
2469
|
-
requireMicrophoneAccess: requireMicrophoneAccess,
|
|
2470
|
-
maxVideoWidth: maxVideoWidth,
|
|
2471
|
-
maxFps: maxFps,
|
|
2472
|
-
debugMode: debugMode
|
|
2473
|
-
});
|
|
2474
|
-
useEffect(function () {
|
|
2475
|
-
if (captureDevice.cameraAccessDenied) onCameraAccessDenied === null || onCameraAccessDenied === void 0 ? void 0 : onCameraAccessDenied();
|
|
2476
|
-
}, [captureDevice.cameraAccessDenied, onCameraAccessDenied]);
|
|
2477
|
-
useEffect(function () {
|
|
2478
|
-
if (captureDevice.microphoneAccessDenied) onMicrophoneAccessDenied === null || onMicrophoneAccessDenied === void 0 ? void 0 : onMicrophoneAccessDenied();
|
|
2479
|
-
}, [captureDevice.microphoneAccessDenied, onMicrophoneAccessDenied]);
|
|
2480
|
-
var releaseCameraAccess = captureDevice.releaseCameraAccess;
|
|
2481
|
-
useEffect(function () {
|
|
2482
|
-
return function () {
|
|
2483
|
-
releaseCameraAccess();
|
|
2484
|
-
};
|
|
2485
|
-
}, [releaseCameraAccess]);
|
|
2486
|
-
return /*#__PURE__*/React__default.createElement(CameraStateContext.Provider, {
|
|
2487
|
-
value: captureDevice
|
|
2488
|
-
}, children);
|
|
2489
|
-
};
|
|
2490
|
-
|
|
2491
1891
|
var visionTasksBasePath = "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.7/wasm";
|
|
2492
1892
|
var visionRuntimePreloading = false;
|
|
2493
1893
|
function preloadVisionRuntime() {
|
|
@@ -2530,6 +1930,42 @@ function preloadVisionRuntime() {
|
|
|
2530
1930
|
});
|
|
2531
1931
|
}
|
|
2532
1932
|
|
|
1933
|
+
function getFrameDimensions(frame) {
|
|
1934
|
+
var frameWidth = frame.width,
|
|
1935
|
+
frameHeight = frame.height;
|
|
1936
|
+
if (frame instanceof HTMLImageElement) {
|
|
1937
|
+
frameWidth = frame.naturalWidth;
|
|
1938
|
+
frameHeight = frame.naturalHeight;
|
|
1939
|
+
}
|
|
1940
|
+
if (frame instanceof HTMLVideoElement) {
|
|
1941
|
+
frameWidth = frame.videoWidth;
|
|
1942
|
+
frameHeight = frame.videoHeight;
|
|
1943
|
+
}
|
|
1944
|
+
return [frameWidth, frameHeight];
|
|
1945
|
+
}
|
|
1946
|
+
|
|
1947
|
+
var InvisibleCanvas = styled.canvas(templateObject_1$G || (templateObject_1$G = __makeTemplateObject(["\n display: none;\n"], ["\n display: none;\n"])));
|
|
1948
|
+
function drawToCanvas(canvas, frame, width, height) {
|
|
1949
|
+
if (!canvas) return;
|
|
1950
|
+
var ctx = canvas.getContext('2d');
|
|
1951
|
+
if (!ctx) return;
|
|
1952
|
+
if (!width || !height) {
|
|
1953
|
+
var _a = getFrameDimensions(frame),
|
|
1954
|
+
frameWidth = _a[0],
|
|
1955
|
+
frameHeight = _a[1];
|
|
1956
|
+
width || (width = frameWidth);
|
|
1957
|
+
height || (height = frameHeight);
|
|
1958
|
+
}
|
|
1959
|
+
canvas.width = width;
|
|
1960
|
+
canvas.height = height;
|
|
1961
|
+
ctx.drawImage(frame, 0, 0, width, height);
|
|
1962
|
+
}
|
|
1963
|
+
function clearCanvas(canvas) {
|
|
1964
|
+
var _a;
|
|
1965
|
+
(_a = canvas === null || canvas === void 0 ? void 0 : canvas.getContext('2d')) === null || _a === void 0 ? void 0 : _a.clearRect(0, 0, canvas === null || canvas === void 0 ? void 0 : canvas.width, canvas === null || canvas === void 0 ? void 0 : canvas.height);
|
|
1966
|
+
}
|
|
1967
|
+
var templateObject_1$G;
|
|
1968
|
+
|
|
2533
1969
|
function cropToShoulders(rawCanvas, cropCanvas, resizeCanvas, frame, face, quality, maxHeight) {
|
|
2534
1970
|
if (quality === void 0) {
|
|
2535
1971
|
quality = 0.92;
|
|
@@ -2833,7 +2269,8 @@ function useLoadFocusModel(_a) {
|
|
|
2833
2269
|
modelPath = _b === void 0 ? defaultFocusModelPath : _b,
|
|
2834
2270
|
_c = _a.modelLoadTimeoutMs,
|
|
2835
2271
|
modelLoadTimeoutMs = _c === void 0 ? defaultFocusModelLoadTimeoutMs : _c,
|
|
2836
|
-
onModelError = _a.onModelError
|
|
2272
|
+
onModelError = _a.onModelError,
|
|
2273
|
+
videoRef = _a.videoRef;
|
|
2837
2274
|
var _d = useState(false),
|
|
2838
2275
|
ready = _d[0],
|
|
2839
2276
|
setReady = _d[1];
|
|
@@ -2843,7 +2280,6 @@ function useLoadFocusModel(_a) {
|
|
|
2843
2280
|
var _f = useState(null),
|
|
2844
2281
|
modelError = _f[0],
|
|
2845
2282
|
setModelError = _f[1];
|
|
2846
|
-
var videoRef = useContext(CameraStateContext).videoRef;
|
|
2847
2283
|
useEffect(function loadModel() {
|
|
2848
2284
|
var _this = this;
|
|
2849
2285
|
setReady(false);
|
|
@@ -2981,7 +2417,8 @@ function closeFaceDetector() {
|
|
|
2981
2417
|
function useLoadFaceDetector(_a) {
|
|
2982
2418
|
var onModelError = _a.onModelError,
|
|
2983
2419
|
_b = _a.modelLoadTimeoutMs,
|
|
2984
|
-
modelLoadTimeoutMs = _b === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _b
|
|
2420
|
+
modelLoadTimeoutMs = _b === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _b,
|
|
2421
|
+
videoRef = _a.videoRef;
|
|
2985
2422
|
var _c = useState(false),
|
|
2986
2423
|
ready = _c[0],
|
|
2987
2424
|
setReady = _c[1];
|
|
@@ -2991,7 +2428,6 @@ function useLoadFaceDetector(_a) {
|
|
|
2991
2428
|
var _e = useState(null),
|
|
2992
2429
|
modelError = _e[0],
|
|
2993
2430
|
setModelError = _e[1];
|
|
2994
|
-
var videoRef = useContext(CameraStateContext).videoRef;
|
|
2995
2431
|
useEffect(function loadModel() {
|
|
2996
2432
|
var _this = this;
|
|
2997
2433
|
setReady(false);
|
|
@@ -3472,7 +2908,8 @@ function useLoadDocumentDetector(_a) {
|
|
|
3472
2908
|
modelLoadTimeoutMs = _c === void 0 ? defaultDocumentDetectionModelLoadTimeoutMs : _c,
|
|
3473
2909
|
_d = _a.scoreThreshold,
|
|
3474
2910
|
scoreThreshold = _d === void 0 ? defaultDocumentDetectionScoreThreshold : _d,
|
|
3475
|
-
onModelError = _a.onModelError
|
|
2911
|
+
onModelError = _a.onModelError,
|
|
2912
|
+
videoRef = _a.videoRef;
|
|
3476
2913
|
var _e = useState(false),
|
|
3477
2914
|
ready = _e[0],
|
|
3478
2915
|
setReady = _e[1];
|
|
@@ -3482,7 +2919,6 @@ function useLoadDocumentDetector(_a) {
|
|
|
3482
2919
|
var _g = useState(null),
|
|
3483
2920
|
modelError = _g[0],
|
|
3484
2921
|
setModelError = _g[1];
|
|
3485
|
-
var videoRef = useContext(CameraStateContext).videoRef;
|
|
3486
2922
|
useEffect(function loadModel() {
|
|
3487
2923
|
var _this = this;
|
|
3488
2924
|
setReady(false);
|
|
@@ -3791,6 +3227,470 @@ function useFrameLoop(fn, _a) {
|
|
|
3791
3227
|
};
|
|
3792
3228
|
}
|
|
3793
3229
|
|
|
3230
|
+
function listAvailableCameras(facingMode_1) {
|
|
3231
|
+
return __awaiter(this, arguments, void 0, function (facingMode, requestMicAccess) {
|
|
3232
|
+
var cameraEnumerationStream, videoDevices;
|
|
3233
|
+
if (requestMicAccess === void 0) {
|
|
3234
|
+
requestMicAccess = false;
|
|
3235
|
+
}
|
|
3236
|
+
return __generator(this, function (_a) {
|
|
3237
|
+
switch (_a.label) {
|
|
3238
|
+
case 0:
|
|
3239
|
+
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
3240
|
+
video: {
|
|
3241
|
+
facingMode: {
|
|
3242
|
+
exact: facingMode
|
|
3243
|
+
}
|
|
3244
|
+
},
|
|
3245
|
+
audio: requestMicAccess
|
|
3246
|
+
})
|
|
3247
|
+
// This lists all available cameras attached to the user's device.
|
|
3248
|
+
];
|
|
3249
|
+
case 1:
|
|
3250
|
+
cameraEnumerationStream = _a.sent();
|
|
3251
|
+
return [4 /*yield*/, navigator.mediaDevices.enumerateDevices()];
|
|
3252
|
+
case 2:
|
|
3253
|
+
videoDevices = _a.sent().filter(function (_a) {
|
|
3254
|
+
var kind = _a.kind;
|
|
3255
|
+
return kind === 'videoinput';
|
|
3256
|
+
});
|
|
3257
|
+
// Release the access to the user's camera that we obtained for enumeration purposes.
|
|
3258
|
+
cameraEnumerationStream.getVideoTracks().forEach(function (track) {
|
|
3259
|
+
track.enabled = false;
|
|
3260
|
+
track.stop();
|
|
3261
|
+
});
|
|
3262
|
+
cameraEnumerationStream = null;
|
|
3263
|
+
return [2 /*return*/, videoDevices];
|
|
3264
|
+
}
|
|
3265
|
+
});
|
|
3266
|
+
});
|
|
3267
|
+
}
|
|
3268
|
+
var frontCameraLabels = ['front', 'avant', 'anteriore', 'cameraaanvoorzijde', 'kamerapåframsidan', 'forsidekamera', 'kamerapåforsiden', 'aparatprzedni', 'etukamera', 'kameradepan', 'ÖnKamera', 'cameramặttrước', 'camerăfață', 'prednákamera', 'prednjakamera', 'előlapikamera', 'přednífotoaparát', 'μπροστινήκάμερα', 'переднякамера', 'передняякамера', 'преднакамера', 'алдыңғыкамера', 'מצלמה קדמית', 'الكاميرا الأمامية', 'फ़्रंटकैमरा', '前置相机', '前置鏡頭', '前面カメラ', '전면카메라', 'กล้องด้านหน้า'].map(function (s) {
|
|
3269
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
3270
|
+
});
|
|
3271
|
+
var rearCameraLabels = ['back', 'rear', 'posterior', 'trasera', 'traseira', 'arrière', 'rückkamera', 'fotocamera(posteriore)', 'cameraaanachterzijde', 'kamerapåbaksidan', 'kamerapåbaksiden', 'bagsidekamera', 'aparattylny', 'takakamera', 'arkakamera', 'kamerabelakang', 'cameramặtsau', 'camerăspate', 'stražnjakamera', 'zadnákamera', 'hátoldalikamera', 'zadnífotoaparát', 'πίσωκάμερα', 'заднякамера', 'Задняякамера', 'заднакамера', 'артқыкамера', 'מצלמה אחורית', 'الكاميرا الخلفية', 'बैककैमरा', '后置相机', '後置鏡頭', '背面カメラ', '후면카메라', 'กล้องด้านหลัง'].map(function (s) {
|
|
3272
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
3273
|
+
});
|
|
3274
|
+
var backUltraWideCameraLabels = ['backdualwidecamera', 'backultrawidecamera', 'ultraampliaposterior', 'ultra-angulartraseira', 'ultragrandeangulartraseira', 'ultragrandangle', 'ultragranangular', 'ultra-weitwinkelkamera', 'ultra-grandangolo', 'ultrabredecameraaanachterzijde', 'ultravidvinkelkamerapåbaksidan', 'ultravidvinkelkameraetpåbagsiden', 'ultravidvinkelkamerabak', 'ultragenişkameraarkayüzü', 'ultralaajakulmainentakakamera', 'tylnyaparatultraszerokokątny', 'cameracựcrộngmặtsau', 'camerăcuobiectivultra‑superangularspate', 'ultraszéleslátószögűkamera', 'kameraultralebarbelakang', 'stražnjaultraširokakamera', 'zadníultraširokoúhlýfotoaparát', 'ultraširokouhlá', 'πίσωυπερευρείακάμερα', 'заднянадширококутнакамера', 'Задняясверхширокоугольнаякамера', 'Задна свръх широкоъгълна камера', 'артқыультракеңбұрыштыкамера', 'מצלמה אולטרה רחבה אחורית', 'كاميرا خلفية عريضة جدًا', 'बैकअल्ट्रावाइडकैमरा', '后置超广角相机', '後置超廣角鏡頭相機', '背面超広角カメラ', '후면울트라와이드카메라', 'กล้องด้านหลังอัลตร้าไวด์'].map(function (s) {
|
|
3275
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
3276
|
+
});
|
|
3277
|
+
var cameraLabelMatches = function cameraLabelMatches(labelOrDevice, labelSetOrLabel) {
|
|
3278
|
+
var label = labelOrDevice instanceof MediaDeviceInfo ? getDeviceLabel(labelOrDevice) : labelOrDevice;
|
|
3279
|
+
var labelSet = typeof labelSetOrLabel === 'string' ? [labelSetOrLabel] : labelSetOrLabel;
|
|
3280
|
+
return labelSet.some(function (l) {
|
|
3281
|
+
return label.includes(l);
|
|
3282
|
+
});
|
|
3283
|
+
};
|
|
3284
|
+
var getDeviceLabel = function getDeviceLabel(deviceInfo) {
|
|
3285
|
+
return deviceInfo.label.toLocaleLowerCase().split(' ').join('');
|
|
3286
|
+
};
|
|
3287
|
+
var currentCamera;
|
|
3288
|
+
function obtainCameraAccess(stream, deviceLabel, video) {
|
|
3289
|
+
releaseCameraAccess();
|
|
3290
|
+
log('obtaining camera access...');
|
|
3291
|
+
var _a = stream.getVideoTracks()[0].getSettings(),
|
|
3292
|
+
width = _a.width,
|
|
3293
|
+
height = _a.height;
|
|
3294
|
+
log('camera dimensions', width, height);
|
|
3295
|
+
var label = deviceLabel.toLocaleLowerCase().split(' ').join('');
|
|
3296
|
+
log('camera label', label);
|
|
3297
|
+
var isRearFacing = cameraLabelMatches(label, __spreadArray(__spreadArray(__spreadArray([], rearCameraLabels, true), backUltraWideCameraLabels, true), ['iphone'], false));
|
|
3298
|
+
log('is rear facing?', isRearFacing);
|
|
3299
|
+
var release = function release() {
|
|
3300
|
+
stream.getTracks().forEach(function (track) {
|
|
3301
|
+
track.enabled = false;
|
|
3302
|
+
track.stop();
|
|
3303
|
+
});
|
|
3304
|
+
if (video) {
|
|
3305
|
+
video.pause();
|
|
3306
|
+
video.srcObject = null;
|
|
3307
|
+
video.src = '';
|
|
3308
|
+
}
|
|
3309
|
+
};
|
|
3310
|
+
width || (width = 0);
|
|
3311
|
+
height || (height = 0);
|
|
3312
|
+
currentCamera = {
|
|
3313
|
+
label: deviceLabel,
|
|
3314
|
+
stream: stream,
|
|
3315
|
+
width: width,
|
|
3316
|
+
height: height,
|
|
3317
|
+
isRearFacing: isRearFacing,
|
|
3318
|
+
release: release
|
|
3319
|
+
};
|
|
3320
|
+
log('camera access granted');
|
|
3321
|
+
if (video) video.srcObject = stream;
|
|
3322
|
+
log('video source initialized');
|
|
3323
|
+
return currentCamera;
|
|
3324
|
+
}
|
|
3325
|
+
function releaseCameraAccess() {
|
|
3326
|
+
if (!currentCamera) return;
|
|
3327
|
+
log('releasing camera access...');
|
|
3328
|
+
currentCamera.release();
|
|
3329
|
+
currentCamera = undefined;
|
|
3330
|
+
}
|
|
3331
|
+
|
|
3332
|
+
var initialState$5 = {
|
|
3333
|
+
videoRef: {
|
|
3334
|
+
current: null
|
|
3335
|
+
},
|
|
3336
|
+
videoLoaded: false,
|
|
3337
|
+
videoStream: null,
|
|
3338
|
+
videoDevice: null,
|
|
3339
|
+
isRearFacing: false,
|
|
3340
|
+
camera: null,
|
|
3341
|
+
cameraReady: false,
|
|
3342
|
+
cameraAccessDenied: false,
|
|
3343
|
+
iphoneContinuityCameraAvailable: false,
|
|
3344
|
+
iphoneContinuityCameraDenied: false,
|
|
3345
|
+
preferIphoneContinuityCamera: true,
|
|
3346
|
+
audioStream: null,
|
|
3347
|
+
microphoneReady: false,
|
|
3348
|
+
microphoneAccessDenied: false
|
|
3349
|
+
};
|
|
3350
|
+
var createCameraStore = function createCameraStore(config) {
|
|
3351
|
+
var store = createStore(function (set, get) {
|
|
3352
|
+
return _assign(_assign(_assign({}, initialState$5), config), {
|
|
3353
|
+
reset: function reset() {
|
|
3354
|
+
return set(_assign(_assign({}, initialState$5), config));
|
|
3355
|
+
},
|
|
3356
|
+
setConfig: function setConfig(config) {
|
|
3357
|
+
return set(config);
|
|
3358
|
+
},
|
|
3359
|
+
onVideoMounted: function onVideoMounted() {
|
|
3360
|
+
return set({
|
|
3361
|
+
videoLoaded: true
|
|
3362
|
+
});
|
|
3363
|
+
},
|
|
3364
|
+
setIphoneContinuityCameraAllowed: function setIphoneContinuityCameraAllowed(value) {
|
|
3365
|
+
return set({
|
|
3366
|
+
preferIphoneContinuityCamera: value
|
|
3367
|
+
});
|
|
3368
|
+
},
|
|
3369
|
+
requestCameraAccess: function requestCameraAccess() {
|
|
3370
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3371
|
+
var _a, releaseCameraAccess, preferIphoneContinuityCamera, iphoneContinuityCameraDenied, availableCameras, selectedCamera, platform_1, iphoneContinuityCamera, constraints, stream, e_1, iphoneContinuityCameraAvailable_1, handleStreamEnded_1, camera, e_3;
|
|
3372
|
+
var _b, _c, _d;
|
|
3373
|
+
return __generator(this, function (_e) {
|
|
3374
|
+
switch (_e.label) {
|
|
3375
|
+
case 0:
|
|
3376
|
+
_a = get(), releaseCameraAccess = _a.releaseCameraAccess, preferIphoneContinuityCamera = _a.preferIphoneContinuityCamera, iphoneContinuityCameraDenied = _a.iphoneContinuityCameraDenied;
|
|
3377
|
+
releaseCameraAccess();
|
|
3378
|
+
_e.label = 1;
|
|
3379
|
+
case 1:
|
|
3380
|
+
_e.trys.push([1, 11,, 12]);
|
|
3381
|
+
return [4 /*yield*/, listAvailableCameras()];
|
|
3382
|
+
case 2:
|
|
3383
|
+
availableCameras = _e.sent();
|
|
3384
|
+
selectedCamera = void 0;
|
|
3385
|
+
debug('availableCameras', availableCameras);
|
|
3386
|
+
platform_1 = getPlatform();
|
|
3387
|
+
debug('platformDetails', platform_1);
|
|
3388
|
+
if (!iphoneContinuityCameraDenied && (!(platform_1 === null || platform_1 === void 0 ? void 0 : platform_1.os) || platform_1.os.family === 'OS X')) {
|
|
3389
|
+
iphoneContinuityCamera = availableCameras.find(function (deviceInfo) {
|
|
3390
|
+
return cameraLabelMatches(deviceInfo, 'iphone');
|
|
3391
|
+
});
|
|
3392
|
+
set({
|
|
3393
|
+
iphoneContinuityCameraAvailable: !!iphoneContinuityCamera
|
|
3394
|
+
});
|
|
3395
|
+
if (iphoneContinuityCamera && preferIphoneContinuityCamera) {
|
|
3396
|
+
selectedCamera = iphoneContinuityCamera;
|
|
3397
|
+
}
|
|
3398
|
+
} else if (((_b = platform_1 === null || platform_1 === void 0 ? void 0 : platform_1.os) === null || _b === void 0 ? void 0 : _b.family) === 'Android' || availableCameras.every(function (c) {
|
|
3399
|
+
return c.label.startsWith('camera2 ');
|
|
3400
|
+
})) {
|
|
3401
|
+
availableCameras = availableCameras.sort(function (a, b) {
|
|
3402
|
+
return a.label.toLowerCase().localeCompare(b.label.toLowerCase());
|
|
3403
|
+
});
|
|
3404
|
+
debug('cameras have been sorted', availableCameras);
|
|
3405
|
+
}
|
|
3406
|
+
if (config.preferFrontFacingCamera) {
|
|
3407
|
+
selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
3408
|
+
return cameraLabelMatches(deviceInfo, frontCameraLabels);
|
|
3409
|
+
});
|
|
3410
|
+
}
|
|
3411
|
+
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
3412
|
+
return cameraLabelMatches(deviceInfo, 'backtriplecamera');
|
|
3413
|
+
}));
|
|
3414
|
+
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
3415
|
+
return cameraLabelMatches(deviceInfo, 'backdualcamera');
|
|
3416
|
+
}));
|
|
3417
|
+
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
3418
|
+
return cameraLabelMatches(deviceInfo, rearCameraLabels) && !cameraLabelMatches(deviceInfo, backUltraWideCameraLabels);
|
|
3419
|
+
}));
|
|
3420
|
+
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
3421
|
+
return cameraLabelMatches(deviceInfo, rearCameraLabels);
|
|
3422
|
+
}));
|
|
3423
|
+
// on iOS, the front facing camera always is at the first position in the list, so we skip it if all else fails.
|
|
3424
|
+
if (!config.preferFrontFacingCamera && ((_c = platform_1 === null || platform_1 === void 0 ? void 0 : platform_1.os) === null || _c === void 0 ? void 0 : _c.family) === 'iOS' && availableCameras.length > 0) {
|
|
3425
|
+
selectedCamera || (selectedCamera = availableCameras[1]);
|
|
3426
|
+
}
|
|
3427
|
+
selectedCamera || (selectedCamera = availableCameras[0]);
|
|
3428
|
+
debug('selectedCamera', selectedCamera);
|
|
3429
|
+
set({
|
|
3430
|
+
videoDevice: selectedCamera
|
|
3431
|
+
});
|
|
3432
|
+
constraints = {
|
|
3433
|
+
audio: false,
|
|
3434
|
+
video: {
|
|
3435
|
+
deviceId: {
|
|
3436
|
+
exact: selectedCamera.deviceId
|
|
3437
|
+
},
|
|
3438
|
+
width: {
|
|
3439
|
+
ideal: config.maxVideoWidth
|
|
3440
|
+
},
|
|
3441
|
+
aspectRatio: 1.777777778,
|
|
3442
|
+
frameRate: {}
|
|
3443
|
+
}
|
|
3444
|
+
};
|
|
3445
|
+
if (config.maxFps) {
|
|
3446
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3447
|
+
// @ts-ignore
|
|
3448
|
+
constraints.video.frameRate = {
|
|
3449
|
+
max: config.maxFps
|
|
3450
|
+
};
|
|
3451
|
+
}
|
|
3452
|
+
stream = null;
|
|
3453
|
+
_e.label = 3;
|
|
3454
|
+
case 3:
|
|
3455
|
+
_e.trys.push([3, 5,, 6]);
|
|
3456
|
+
debug('obtaining camera access with constraints', constraints);
|
|
3457
|
+
return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];
|
|
3458
|
+
case 4:
|
|
3459
|
+
stream = _e.sent();
|
|
3460
|
+
return [3 /*break*/, 6];
|
|
3461
|
+
case 5:
|
|
3462
|
+
e_1 = _e.sent();
|
|
3463
|
+
if (e_1.name === 'NotAllowedError') {
|
|
3464
|
+
if (preferIphoneContinuityCamera) {
|
|
3465
|
+
set({
|
|
3466
|
+
iphoneContinuityCameraAvailable: false,
|
|
3467
|
+
iphoneContinuityCameraDenied: true
|
|
3468
|
+
});
|
|
3469
|
+
} else {
|
|
3470
|
+
set({
|
|
3471
|
+
cameraAccessDenied: true
|
|
3472
|
+
});
|
|
3473
|
+
}
|
|
3474
|
+
return [2 /*return*/];
|
|
3475
|
+
}
|
|
3476
|
+
return [3 /*break*/, 6];
|
|
3477
|
+
case 6:
|
|
3478
|
+
if (!!stream) return [3 /*break*/, 10];
|
|
3479
|
+
_e.label = 7;
|
|
3480
|
+
case 7:
|
|
3481
|
+
_e.trys.push([7, 9,, 10]);
|
|
3482
|
+
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
3483
|
+
audio: false,
|
|
3484
|
+
video: true
|
|
3485
|
+
})];
|
|
3486
|
+
case 8:
|
|
3487
|
+
stream = _e.sent();
|
|
3488
|
+
debug('opened stream with no width and height constraints');
|
|
3489
|
+
return [3 /*break*/, 10];
|
|
3490
|
+
case 9:
|
|
3491
|
+
_e.sent();
|
|
3492
|
+
debug('cannot open stream at all');
|
|
3493
|
+
return [3 /*break*/, 10];
|
|
3494
|
+
case 10:
|
|
3495
|
+
if (!stream) {
|
|
3496
|
+
error('failed to open camera');
|
|
3497
|
+
throw new Error('failed to open camera');
|
|
3498
|
+
}
|
|
3499
|
+
debug('camera access granted with constraints', constraints);
|
|
3500
|
+
iphoneContinuityCameraAvailable_1 = get().iphoneContinuityCameraAvailable;
|
|
3501
|
+
handleStreamEnded_1 = function handleStreamEnded_1() {
|
|
3502
|
+
if (iphoneContinuityCameraAvailable_1 && preferIphoneContinuityCamera) {
|
|
3503
|
+
debug('someone unplugged the continuity camera');
|
|
3504
|
+
releaseCameraAccess();
|
|
3505
|
+
set({
|
|
3506
|
+
videoStream: null,
|
|
3507
|
+
videoDevice: null,
|
|
3508
|
+
iphoneContinuityCameraAvailable: false,
|
|
3509
|
+
iphoneContinuityCameraDenied: true
|
|
3510
|
+
});
|
|
3511
|
+
} else {
|
|
3512
|
+
debug('someone unplugged the webcam');
|
|
3513
|
+
releaseCameraAccess();
|
|
3514
|
+
set({
|
|
3515
|
+
videoStream: null,
|
|
3516
|
+
videoDevice: null,
|
|
3517
|
+
videoLoaded: false,
|
|
3518
|
+
cameraAccessDenied: true
|
|
3519
|
+
});
|
|
3520
|
+
}
|
|
3521
|
+
};
|
|
3522
|
+
(_d = config.videoRef.current) === null || _d === void 0 ? void 0 : _d.addEventListener('ended', handleStreamEnded_1);
|
|
3523
|
+
stream.getVideoTracks().forEach(function (track) {
|
|
3524
|
+
track.onended = handleStreamEnded_1;
|
|
3525
|
+
});
|
|
3526
|
+
camera = obtainCameraAccess(stream, selectedCamera.label, config.videoRef.current);
|
|
3527
|
+
set({
|
|
3528
|
+
camera: camera,
|
|
3529
|
+
cameraReady: true,
|
|
3530
|
+
isRearFacing: camera.isRearFacing,
|
|
3531
|
+
videoStream: stream
|
|
3532
|
+
});
|
|
3533
|
+
return [3 /*break*/, 12];
|
|
3534
|
+
case 11:
|
|
3535
|
+
e_3 = _e.sent();
|
|
3536
|
+
if (e_3.name === 'NotAllowedError') {
|
|
3537
|
+
error('camera access has been blocked by the user', e_3);
|
|
3538
|
+
set({
|
|
3539
|
+
cameraAccessDenied: true
|
|
3540
|
+
});
|
|
3541
|
+
} else {
|
|
3542
|
+
error('camera access encountered some other error', e_3);
|
|
3543
|
+
throw e_3;
|
|
3544
|
+
}
|
|
3545
|
+
return [3 /*break*/, 12];
|
|
3546
|
+
case 12:
|
|
3547
|
+
return [2 /*return*/];
|
|
3548
|
+
}
|
|
3549
|
+
});
|
|
3550
|
+
});
|
|
3551
|
+
},
|
|
3552
|
+
releaseCameraAccess: function releaseCameraAccess() {
|
|
3553
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3554
|
+
var camera;
|
|
3555
|
+
return __generator(this, function (_a) {
|
|
3556
|
+
camera = get().camera;
|
|
3557
|
+
if (!camera) return [2 /*return*/];
|
|
3558
|
+
camera.release();
|
|
3559
|
+
set({
|
|
3560
|
+
camera: null,
|
|
3561
|
+
cameraReady: false,
|
|
3562
|
+
cameraAccessDenied: false
|
|
3563
|
+
});
|
|
3564
|
+
return [2 /*return*/];
|
|
3565
|
+
});
|
|
3566
|
+
});
|
|
3567
|
+
},
|
|
3568
|
+
requestMicrophoneAccess: function requestMicrophoneAccess() {
|
|
3569
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3570
|
+
var stream;
|
|
3571
|
+
return __generator(this, function (_a) {
|
|
3572
|
+
switch (_a.label) {
|
|
3573
|
+
case 0:
|
|
3574
|
+
get().releaseMicrophoneAccess();
|
|
3575
|
+
_a.label = 1;
|
|
3576
|
+
case 1:
|
|
3577
|
+
_a.trys.push([1, 3,, 4]);
|
|
3578
|
+
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
3579
|
+
audio: true,
|
|
3580
|
+
video: false
|
|
3581
|
+
})];
|
|
3582
|
+
case 2:
|
|
3583
|
+
stream = _a.sent();
|
|
3584
|
+
set({
|
|
3585
|
+
audioStream: stream,
|
|
3586
|
+
microphoneReady: true
|
|
3587
|
+
});
|
|
3588
|
+
stream.getAudioTracks().forEach(function (track) {
|
|
3589
|
+
track.onended = function () {
|
|
3590
|
+
set({
|
|
3591
|
+
microphoneAccessDenied: true
|
|
3592
|
+
});
|
|
3593
|
+
};
|
|
3594
|
+
});
|
|
3595
|
+
return [3 /*break*/, 4];
|
|
3596
|
+
case 3:
|
|
3597
|
+
_a.sent();
|
|
3598
|
+
set({
|
|
3599
|
+
microphoneAccessDenied: true
|
|
3600
|
+
});
|
|
3601
|
+
return [3 /*break*/, 4];
|
|
3602
|
+
case 4:
|
|
3603
|
+
return [2 /*return*/];
|
|
3604
|
+
}
|
|
3605
|
+
});
|
|
3606
|
+
});
|
|
3607
|
+
},
|
|
3608
|
+
releaseMicrophoneAccess: function releaseMicrophoneAccess() {
|
|
3609
|
+
var _a;
|
|
3610
|
+
var audioStream = get().audioStream;
|
|
3611
|
+
(_a = audioStream === null || audioStream === void 0 ? void 0 : audioStream.stop) === null || _a === void 0 ? void 0 : _a.call(audioStream);
|
|
3612
|
+
audioStream === null || audioStream === void 0 ? void 0 : audioStream.getAudioTracks().forEach(function (track) {
|
|
3613
|
+
var _a;
|
|
3614
|
+
(_a = track.stop) === null || _a === void 0 ? void 0 : _a.call(track);
|
|
3615
|
+
});
|
|
3616
|
+
set({
|
|
3617
|
+
audioStream: null,
|
|
3618
|
+
microphoneReady: false,
|
|
3619
|
+
microphoneAccessDenied: false
|
|
3620
|
+
});
|
|
3621
|
+
}
|
|
3622
|
+
});
|
|
3623
|
+
});
|
|
3624
|
+
if (config.requestAccessAutomatically) {
|
|
3625
|
+
store.getState().requestCameraAccess();
|
|
3626
|
+
}
|
|
3627
|
+
if (config.requireMicrophoneAccess) {
|
|
3628
|
+
store.getState().requestMicrophoneAccess();
|
|
3629
|
+
}
|
|
3630
|
+
return _assign(_assign({}, store), {
|
|
3631
|
+
destroy: function destroy() {
|
|
3632
|
+
store.getState().releaseCameraAccess();
|
|
3633
|
+
store.getState().releaseMicrophoneAccess();
|
|
3634
|
+
}
|
|
3635
|
+
});
|
|
3636
|
+
};
|
|
3637
|
+
var CameraStoreContext = /*#__PURE__*/createContext(undefined);
|
|
3638
|
+
function CameraStoreProvider(_a) {
|
|
3639
|
+
var children = _a.children,
|
|
3640
|
+
_b = _a.requestAccessAutomatically,
|
|
3641
|
+
requestAccessAutomatically = _b === void 0 ? true : _b,
|
|
3642
|
+
_c = _a.preferIphoneContinuityCamera,
|
|
3643
|
+
preferIphoneContinuityCamera = _c === void 0 ? true : _c,
|
|
3644
|
+
_d = _a.preferFrontFacingCamera,
|
|
3645
|
+
preferFrontFacingCamera = _d === void 0 ? false : _d,
|
|
3646
|
+
_e = _a.maxVideoWidth,
|
|
3647
|
+
maxVideoWidth = _e === void 0 ? 1920 : _e,
|
|
3648
|
+
maxFps = _a.maxFps,
|
|
3649
|
+
onCameraAccessDenied = _a.onCameraAccessDenied,
|
|
3650
|
+
onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied,
|
|
3651
|
+
_f = _a.requireMicrophoneAccess,
|
|
3652
|
+
requireMicrophoneAccess = _f === void 0 ? false : _f;
|
|
3653
|
+
var videoRef = useRef(null);
|
|
3654
|
+
var store = useRef();
|
|
3655
|
+
store.current || (store.current = createCameraStore({
|
|
3656
|
+
videoRef: videoRef,
|
|
3657
|
+
requestAccessAutomatically: requestAccessAutomatically,
|
|
3658
|
+
preferIphoneContinuityCamera: preferIphoneContinuityCamera,
|
|
3659
|
+
preferFrontFacingCamera: preferFrontFacingCamera,
|
|
3660
|
+
maxVideoWidth: maxVideoWidth,
|
|
3661
|
+
maxFps: maxFps,
|
|
3662
|
+
onCameraAccessDenied: onCameraAccessDenied,
|
|
3663
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied,
|
|
3664
|
+
requireMicrophoneAccess: requireMicrophoneAccess
|
|
3665
|
+
}));
|
|
3666
|
+
useEffect(function () {
|
|
3667
|
+
var _a, _b, _c;
|
|
3668
|
+
var state = (_a = store.current) === null || _a === void 0 ? void 0 : _a.getState();
|
|
3669
|
+
if (!state) return;
|
|
3670
|
+
if (preferIphoneContinuityCamera !== (state === null || state === void 0 ? void 0 : state.preferIphoneContinuityCamera) || preferFrontFacingCamera !== (state === null || state === void 0 ? void 0 : state.preferFrontFacingCamera)) {
|
|
3671
|
+
(_b = store.current) === null || _b === void 0 ? void 0 : _b.setState({
|
|
3672
|
+
preferIphoneContinuityCamera: preferIphoneContinuityCamera,
|
|
3673
|
+
preferFrontFacingCamera: preferFrontFacingCamera
|
|
3674
|
+
});
|
|
3675
|
+
(_c = store.current) === null || _c === void 0 ? void 0 : _c.getState().requestCameraAccess();
|
|
3676
|
+
}
|
|
3677
|
+
}, [preferFrontFacingCamera, preferIphoneContinuityCamera]);
|
|
3678
|
+
useEffect(function () {
|
|
3679
|
+
return function () {
|
|
3680
|
+
var _a;
|
|
3681
|
+
return (_a = store.current) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
3682
|
+
};
|
|
3683
|
+
}, []);
|
|
3684
|
+
return /*#__PURE__*/React__default.createElement(CameraStoreContext.Provider, {
|
|
3685
|
+
value: store.current
|
|
3686
|
+
}, children);
|
|
3687
|
+
}
|
|
3688
|
+
function useCameraStore(selector) {
|
|
3689
|
+
var store = useContext(CameraStoreContext);
|
|
3690
|
+
if (!store) throw new Error('useCameraStore cannot be used without Provider');
|
|
3691
|
+
return useStore(store, selector);
|
|
3692
|
+
}
|
|
3693
|
+
|
|
3794
3694
|
var DocumentDetectionModelContext = /*#__PURE__*/createContext({
|
|
3795
3695
|
startDocumentDetection: function startDocumentDetection() {
|
|
3796
3696
|
return null;
|
|
@@ -3836,7 +3736,7 @@ function DocumentDetectionModelProvider(_a) {
|
|
|
3836
3736
|
_g = _a.documentDetectionModelLoadTimeoutMs,
|
|
3837
3737
|
documentDetectionModelLoadTimeoutMs = _g === void 0 ? defaultDocumentDetectionModelLoadTimeoutMs : _g,
|
|
3838
3738
|
onDocumentDetectionModelError = _a.onDocumentDetectionModelError;
|
|
3839
|
-
var _h =
|
|
3739
|
+
var _h = useCameraStore(),
|
|
3840
3740
|
videoRef = _h.videoRef,
|
|
3841
3741
|
videoLoaded = _h.videoLoaded,
|
|
3842
3742
|
cameraReady = _h.cameraReady;
|
|
@@ -3859,7 +3759,8 @@ function DocumentDetectionModelProvider(_a) {
|
|
|
3859
3759
|
modelPath: documentDetectionModelPath,
|
|
3860
3760
|
modelLoadTimeoutMs: documentDetectionModelLoadTimeoutMs,
|
|
3861
3761
|
scoreThreshold: documentDetectionModelScoreThreshold,
|
|
3862
|
-
onModelError: onDocumentDetectionModelError
|
|
3762
|
+
onModelError: onDocumentDetectionModelError,
|
|
3763
|
+
videoRef: videoRef
|
|
3863
3764
|
}),
|
|
3864
3765
|
ready = _o.ready,
|
|
3865
3766
|
modelDownloadProgress = _o.modelDownloadProgress,
|
|
@@ -3976,10 +3877,12 @@ function FocusModelProvider(_a) {
|
|
|
3976
3877
|
var _e = useState({}),
|
|
3977
3878
|
focusThresholds = _e[0],
|
|
3978
3879
|
setFocusThresholds = _e[1];
|
|
3880
|
+
var videoRef = useCameraStore().videoRef;
|
|
3979
3881
|
var _f = useLoadFocusModel({
|
|
3980
3882
|
modelPath: focusModelPath,
|
|
3981
3883
|
modelLoadTimeoutMs: focusModelLoadTimeoutMs,
|
|
3982
|
-
onModelError: onFocusModelError
|
|
3884
|
+
onModelError: onFocusModelError,
|
|
3885
|
+
videoRef: videoRef
|
|
3983
3886
|
}),
|
|
3984
3887
|
ready = _f.ready,
|
|
3985
3888
|
modelDownloadProgress = _f.modelDownloadProgress,
|
|
@@ -4651,12 +4554,12 @@ function DebugStatsPane(_a) {
|
|
|
4651
4554
|
if (!portalLocation) return element;
|
|
4652
4555
|
return /*#__PURE__*/createPortal(element, portalLocation);
|
|
4653
4556
|
}
|
|
4654
|
-
var DebugStatsPaneDiv = styled.span(templateObject_1$
|
|
4655
|
-
var ObjectDetectionDebugOverlayDiv = styled.div(templateObject_2$
|
|
4557
|
+
var DebugStatsPaneDiv = styled.span(templateObject_1$F || (templateObject_1$F = __makeTemplateObject(["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n margin-right: 20px;\n padding: 8px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 10002;\n"], ["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n margin-right: 20px;\n padding: 8px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 10002;\n"])));
|
|
4558
|
+
var ObjectDetectionDebugOverlayDiv = styled.div(templateObject_2$y || (templateObject_2$y = __makeTemplateObject(["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ", "\n transform-style: preserve-3d;\n"], ["\n position: absolute;\n z-index: 1001;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n ", "\n transform-style: preserve-3d;\n"])), function (_a) {
|
|
4656
4559
|
var $flipX = _a.$flipX;
|
|
4657
4560
|
return $flipX ? 'transform: scaleX(-1);' : '';
|
|
4658
4561
|
});
|
|
4659
|
-
var ObjectDetectionDebugBox = styled.div(templateObject_3$
|
|
4562
|
+
var ObjectDetectionDebugBox = styled.div(templateObject_3$p || (templateObject_3$p = __makeTemplateObject(["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ", ";\n color: ", ";\n ", "\n transform-style: preserve-3d;\n"], ["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ", ";\n color: ", ";\n ", "\n transform-style: preserve-3d;\n"])), function (_a) {
|
|
4660
4563
|
var $color = _a.$color;
|
|
4661
4564
|
return $color !== null && $color !== void 0 ? $color : 'green';
|
|
4662
4565
|
}, function (_a) {
|
|
@@ -4666,7 +4569,7 @@ var ObjectDetectionDebugBox = styled.div(templateObject_3$n || (templateObject_3
|
|
|
4666
4569
|
var $flipX = _a.$flipX;
|
|
4667
4570
|
return $flipX ? 'transform: scaleX(-1);' : '';
|
|
4668
4571
|
});
|
|
4669
|
-
var FaceDetectionKeypointMarker = styled.div(templateObject_4$
|
|
4572
|
+
var FaceDetectionKeypointMarker = styled.div(templateObject_4$j || (templateObject_4$j = __makeTemplateObject(["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ", ";\n font: 10px monospace;\n color: ", ";\n border-radius: 50%;\n ", "\n transform-style: preserve-3d;\n"], ["\n position: absolute;\n width: 4px;\n height: 4px;\n border: 2px solid ", ";\n font: 10px monospace;\n color: ", ";\n border-radius: 50%;\n ", "\n transform-style: preserve-3d;\n"])), function (_a) {
|
|
4670
4573
|
var $color = _a.$color;
|
|
4671
4574
|
return $color !== null && $color !== void 0 ? $color : 'red';
|
|
4672
4575
|
}, function (_a) {
|
|
@@ -4857,7 +4760,7 @@ function SelfieCaptureFaceKeypoint(_a) {
|
|
|
4857
4760
|
}
|
|
4858
4761
|
});
|
|
4859
4762
|
}
|
|
4860
|
-
var templateObject_1$
|
|
4763
|
+
var templateObject_1$F, templateObject_2$y, templateObject_3$p, templateObject_4$j;
|
|
4861
4764
|
|
|
4862
4765
|
var enTranslation = {};
|
|
4863
4766
|
|
|
@@ -5034,7 +4937,7 @@ function useTranslations(verbiage, fallbacks) {
|
|
|
5034
4937
|
}, [fallbacks, i18n.language, t, verbiage]);
|
|
5035
4938
|
}
|
|
5036
4939
|
|
|
5037
|
-
var GuidanceMessageContainerDiv = styled.div(templateObject_1$
|
|
4940
|
+
var GuidanceMessageContainerDiv = styled.div(templateObject_1$E || (templateObject_1$E = __makeTemplateObject(["\n position: absolute;\n top: calc(", ");\n ", "\n font-weight: bold;\n width: 100%;\n display: flex;\n"], ["\n position: absolute;\n top: calc(", ");\n ", "\n font-weight: bold;\n width: 100%;\n display: flex;\n"])), function (_a) {
|
|
5038
4941
|
var $top = _a.$top;
|
|
5039
4942
|
return $top !== null && $top !== void 0 ? $top : '10vh';
|
|
5040
4943
|
}, function (_a) {
|
|
@@ -5047,14 +4950,14 @@ var GuidanceMessageContainer = function GuidanceMessageContainer(props) {
|
|
|
5047
4950
|
if (!portalLocation) return element;
|
|
5048
4951
|
return /*#__PURE__*/createPortal(element, portalLocation);
|
|
5049
4952
|
};
|
|
5050
|
-
var GuidanceMessage = styled.div(templateObject_2$
|
|
4953
|
+
var GuidanceMessage = styled.div(templateObject_2$x || (templateObject_2$x = __makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n padding: 10px 12px 8px;\n border-radius: 8px;\n z-index: 10001;\n"], ["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n padding: 10px 12px 8px;\n border-radius: 8px;\n z-index: 10001;\n"])), function (props) {
|
|
5051
4954
|
var _a, _b, _c, _d, _e, _f;
|
|
5052
4955
|
return (_f = (_a = props.$background) !== null && _a !== void 0 ? _a : (_e = (_c = (_b = props.theme) === null || _b === void 0 ? void 0 : _b.guidanceMessages) === null || _c === void 0 ? void 0 : _c[(_d = props.$variant) !== null && _d !== void 0 ? _d : 'default']) === null || _e === void 0 ? void 0 : _e.backgroundColor) !== null && _f !== void 0 ? _f : '#ccc';
|
|
5053
4956
|
}, function (props) {
|
|
5054
4957
|
var _a, _b, _c, _d, _e, _f;
|
|
5055
4958
|
return (_f = (_a = props.$textColor) !== null && _a !== void 0 ? _a : (_e = (_c = (_b = props.theme) === null || _b === void 0 ? void 0 : _b.guidanceMessages) === null || _c === void 0 ? void 0 : _c[(_d = props.$variant) !== null && _d !== void 0 ? _d : 'default']) === null || _e === void 0 ? void 0 : _e.textColor) !== null && _f !== void 0 ? _f : 'black';
|
|
5056
4959
|
});
|
|
5057
|
-
var templateObject_1$
|
|
4960
|
+
var templateObject_1$E, templateObject_2$x;
|
|
5058
4961
|
|
|
5059
4962
|
function OverrideWrongDocumentTypeGuidanceDialog(_a) {
|
|
5060
4963
|
var _b = _a.classNames,
|
|
@@ -5069,7 +4972,7 @@ function OverrideWrongDocumentTypeGuidanceDialog(_a) {
|
|
|
5069
4972
|
buttonText: 'OK'
|
|
5070
4973
|
});
|
|
5071
4974
|
if (!state.allowOverrideWrongDocumentTypeGuidance) return null;
|
|
5072
|
-
return /*#__PURE__*/React__default.createElement(Container$
|
|
4975
|
+
return /*#__PURE__*/React__default.createElement(Container$2, {
|
|
5073
4976
|
className: classNames.container
|
|
5074
4977
|
}, /*#__PURE__*/React__default.createElement(InnerContainer, {
|
|
5075
4978
|
className: classNames.inner
|
|
@@ -5087,45 +4990,47 @@ function OverrideWrongDocumentTypeGuidanceDialog(_a) {
|
|
|
5087
4990
|
}
|
|
5088
4991
|
}, verbiage.buttonText))));
|
|
5089
4992
|
}
|
|
5090
|
-
var Container$
|
|
4993
|
+
var Container$2 = styled.div(templateObject_1$D || (templateObject_1$D = __makeTemplateObject(["\n position: fixed;\n left: 0;\n bottom: 0;\n width: 100dvw;\n background: ", ";\n color: ", ";\n display: flex;\n z-index: 100001;\n"], ["\n position: fixed;\n left: 0;\n bottom: 0;\n width: 100dvw;\n background: ", ";\n color: ", ";\n display: flex;\n z-index: 100001;\n"])), function (props) {
|
|
5091
4994
|
var _a, _b, _c;
|
|
5092
4995
|
return (_c = (_b = (_a = props.theme.idCapture) === null || _a === void 0 ? void 0 : _a.overrideWrongDocumentTypeGuidance) === null || _b === void 0 ? void 0 : _b.backgroundColor) !== null && _c !== void 0 ? _c : '#eed202';
|
|
5093
4996
|
}, function (props) {
|
|
5094
4997
|
var _a, _b, _c;
|
|
5095
4998
|
return (_c = (_b = (_a = props.theme.idCapture) === null || _a === void 0 ? void 0 : _a.overrideWrongDocumentTypeGuidance) === null || _b === void 0 ? void 0 : _b.textColor) !== null && _c !== void 0 ? _c : 'black';
|
|
5096
4999
|
});
|
|
5097
|
-
var InnerContainer = styled.div(templateObject_2$
|
|
5098
|
-
var Message = styled.span(templateObject_3$
|
|
5099
|
-
var ButtonContainer = styled.div(templateObject_4$
|
|
5100
|
-
var Button = styled(LoaderButton)(templateObject_5$
|
|
5101
|
-
var templateObject_1$
|
|
5000
|
+
var InnerContainer = styled.div(templateObject_2$w || (templateObject_2$w = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n padding: 16px 24px;\n margin: auto 0;\n width: 100%;\n"], ["\n display: flex;\n flex-direction: row;\n padding: 16px 24px;\n margin: auto 0;\n width: 100%;\n"])));
|
|
5001
|
+
var Message = styled.span(templateObject_3$o || (templateObject_3$o = __makeTemplateObject(["\n display: block;\n margin: auto 12px auto 0;\n"], ["\n display: block;\n margin: auto 12px auto 0;\n"])));
|
|
5002
|
+
var ButtonContainer = styled.div(templateObject_4$i || (templateObject_4$i = __makeTemplateObject(["\n display: flex;\n margin-left: auto;\n"], ["\n display: flex;\n margin-left: auto;\n"])));
|
|
5003
|
+
var Button = styled(LoaderButton)(templateObject_5$b || (templateObject_5$b = __makeTemplateObject(["\n white-space: nowrap;\n margin: auto;\n"], ["\n white-space: nowrap;\n margin: auto;\n"])));
|
|
5004
|
+
var templateObject_1$D, templateObject_2$w, templateObject_3$o, templateObject_4$i, templateObject_5$b;
|
|
5102
5005
|
|
|
5103
5006
|
var IdCapture = function IdCapture(_a) {
|
|
5104
|
-
var _b, _c, _d, _e, _f, _g, _h
|
|
5007
|
+
var _b, _c, _d, _e, _f, _g, _h;
|
|
5105
5008
|
var requiredDocumentType = _a.requiredDocumentType,
|
|
5106
|
-
|
|
5107
|
-
thresholds =
|
|
5009
|
+
_j = _a.thresholds,
|
|
5010
|
+
thresholds = _j === void 0 ? defaultIdCaptureThresholds : _j,
|
|
5108
5011
|
guidanceMessage = _a.guidanceMessage,
|
|
5109
5012
|
guidanceSatisfied = _a.guidanceSatisfied,
|
|
5110
5013
|
onCapture = _a.onCapture,
|
|
5111
|
-
|
|
5112
|
-
classNames =
|
|
5113
|
-
|
|
5114
|
-
colors =
|
|
5115
|
-
|
|
5116
|
-
rawVerbiage =
|
|
5117
|
-
|
|
5118
|
-
debugMode =
|
|
5119
|
-
var
|
|
5120
|
-
ref =
|
|
5121
|
-
|
|
5122
|
-
width =
|
|
5123
|
-
|
|
5124
|
-
height =
|
|
5125
|
-
var
|
|
5126
|
-
state =
|
|
5127
|
-
dispatch =
|
|
5128
|
-
var
|
|
5014
|
+
_k = _a.classNames,
|
|
5015
|
+
classNames = _k === void 0 ? {} : _k,
|
|
5016
|
+
_l = _a.colors,
|
|
5017
|
+
colors = _l === void 0 ? {} : _l,
|
|
5018
|
+
_m = _a.verbiage,
|
|
5019
|
+
rawVerbiage = _m === void 0 ? {} : _m,
|
|
5020
|
+
_o = _a.debugMode,
|
|
5021
|
+
debugMode = _o === void 0 ? false : _o;
|
|
5022
|
+
var _p = useResizeObserver(),
|
|
5023
|
+
ref = _p.ref,
|
|
5024
|
+
_q = _p.width,
|
|
5025
|
+
width = _q === void 0 ? 1 : _q,
|
|
5026
|
+
_r = _p.height,
|
|
5027
|
+
height = _r === void 0 ? 1 : _r;
|
|
5028
|
+
var _s = useIdCaptureState(),
|
|
5029
|
+
state = _s[0],
|
|
5030
|
+
dispatch = _s[1];
|
|
5031
|
+
var _t = useCameraStore(),
|
|
5032
|
+
camera = _t.camera,
|
|
5033
|
+
isRearFacing = _t.isRearFacing;
|
|
5129
5034
|
var _u = useContext(IdCaptureModelsContext),
|
|
5130
5035
|
modelsReady = _u.ready,
|
|
5131
5036
|
setThresholds = _u.setThresholds,
|
|
@@ -5237,17 +5142,16 @@ var IdCapture = function IdCapture(_a) {
|
|
|
5237
5142
|
classNames: classNames.overrideWrongDocumentTypeGuidanceDialog,
|
|
5238
5143
|
verbiage: rawVerbiage.overrideWrongDocumentTypeGuidanceDialog
|
|
5239
5144
|
}))), debugMode && ( /*#__PURE__*/React__default.createElement(DebugBoundingBoxOverlay, {
|
|
5240
|
-
"$flipX": !
|
|
5145
|
+
"$flipX": !isRearFacing,
|
|
5241
5146
|
scaling: debugScalingDetails
|
|
5242
5147
|
}, state.detectedObjects.map(function (obj, i) {
|
|
5243
|
-
var _a;
|
|
5244
5148
|
return /*#__PURE__*/React__default.createElement(IdCaptureDetectedObjectDebugBox, {
|
|
5245
5149
|
key: i,
|
|
5246
5150
|
obj: obj,
|
|
5247
5151
|
scaling: debugScalingDetails,
|
|
5248
|
-
flipX: !
|
|
5152
|
+
flipX: !isRearFacing
|
|
5249
5153
|
});
|
|
5250
|
-
}))), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null,
|
|
5154
|
+
}))), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React__default.createElement("br", null), state.frameCaptureRate > 0.75 ? '✅' : '👎', " Frame Rate:", ' ', Math.round((state.frameCaptureRate + Number.EPSILON) * 1000) / 1000, ' ', "fps (", detectionTime, "ms doc detect, ", focusPredictionTime, "ms focus)", /*#__PURE__*/React__default.createElement("br", null), modelsReady ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, state.detectionThresholdMet ? '✅' : '❌', " Detected Document Type: ", state.detectedDocumentType, /*#__PURE__*/React__default.createElement("br", null), state.idCardFrontDetectionThresholdMet ? '✅' : '❌', " ID Card Front Score: ", state.idCardFrontDetectionScore.toFixed(3), /*#__PURE__*/React__default.createElement("br", null), state.idCardBackDetectionThresholdMet ? '✅' : '❌', " ID Card Back Score: ", state.idCardBackDetectionScore.toFixed(3), /*#__PURE__*/React__default.createElement("br", null), state.passportDetectionThresholdMet ? '✅' : '❌', " Passport Score: ", state.passportDetectionScore.toFixed(3), /*#__PURE__*/React__default.createElement("br", null), state.focusThresholdMet ? '✅' : '❌', " Focus Score:", ' ', state.focusScore.toFixed(3), /*#__PURE__*/React__default.createElement("br", null), state.documentInBounds ? '✅' : '❌', " Document In Bounds", /*#__PURE__*/React__default.createElement("br", null), state.documentIsStable ? '✅' : '❌', " Document Is Stable", /*#__PURE__*/React__default.createElement("br", null), state.goodFramesThresholdMet ? '✅' : '❌', " Good Frame Count:", ' ', state.goodFramesCount, "/", state.goodFramesThreshold)) : ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, "\u274C Models not ready")))));
|
|
5251
5155
|
};
|
|
5252
5156
|
var timeSince = function timeSince(t) {
|
|
5253
5157
|
if (!t) return 0;
|
|
@@ -5264,7 +5168,9 @@ var CameraAccessDeniedOverlay = function CameraAccessDeniedOverlay(_a) {
|
|
|
5264
5168
|
colors = _e === void 0 ? {} : _e,
|
|
5265
5169
|
_f = _a.verbiage,
|
|
5266
5170
|
rawVerbiage = _f === void 0 ? {} : _f;
|
|
5267
|
-
var requestCameraAccess =
|
|
5171
|
+
var requestCameraAccess = useCameraStore(function (state) {
|
|
5172
|
+
return state.requestCameraAccess;
|
|
5173
|
+
});
|
|
5268
5174
|
assets.imageUrl || (assets.imageUrl = DEFAULT_CDN_URL + '/camera-disable-icon.png');
|
|
5269
5175
|
var verbiage = useTranslations(rawVerbiage, {
|
|
5270
5176
|
headingText: 'Your camera permission is disabled',
|
|
@@ -5293,13 +5199,13 @@ var CameraAccessDeniedOverlay = function CameraAccessDeniedOverlay(_a) {
|
|
|
5293
5199
|
finished: true
|
|
5294
5200
|
}, verbiage.retryBtnText)));
|
|
5295
5201
|
};
|
|
5296
|
-
var StyledOverlayInner$3 = styled(OverlayInner$2)(templateObject_1$
|
|
5297
|
-
var StyledOverlayImageContainer$3 = styled(OverlayImageContainer)(templateObject_2$
|
|
5298
|
-
var Description$4 = styled.p(templateObject_3$
|
|
5299
|
-
var RetryButton$1 = styled(LoaderButton)(templateObject_4$
|
|
5300
|
-
var templateObject_1$
|
|
5202
|
+
var StyledOverlayInner$3 = styled(OverlayInner$2)(templateObject_1$C || (templateObject_1$C = __makeTemplateObject(["\n max-width: 500px;\n height: auto;\n margin: auto;\n"], ["\n max-width: 500px;\n height: auto;\n margin: auto;\n"])));
|
|
5203
|
+
var StyledOverlayImageContainer$3 = styled(OverlayImageContainer)(templateObject_2$v || (templateObject_2$v = __makeTemplateObject(["\n flex-grow: 0;\n"], ["\n flex-grow: 0;\n"])));
|
|
5204
|
+
var Description$4 = styled.p(templateObject_3$n || (templateObject_3$n = __makeTemplateObject(["\n line-height: 1.5;\n margin-bottom: 50px;\n"], ["\n line-height: 1.5;\n margin-bottom: 50px;\n"])));
|
|
5205
|
+
var RetryButton$1 = styled(LoaderButton)(templateObject_4$h || (templateObject_4$h = __makeTemplateObject(["\n width: 200px;\n margin: 0 auto;\n"], ["\n width: 200px;\n margin: 0 auto;\n"])));
|
|
5206
|
+
var templateObject_1$C, templateObject_2$v, templateObject_3$n, templateObject_4$h;
|
|
5301
5207
|
|
|
5302
|
-
var ExitCaptureStyledButton = styled.button(templateObject_1$
|
|
5208
|
+
var ExitCaptureStyledButton = styled.button(templateObject_1$B || (templateObject_1$B = __makeTemplateObject(["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n padding: 8px;\n box-sizing: border-box;\n display: flex;\n\n &:hover {\n background: #ddd;\n }\n\n & > svg {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n"], ["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n padding: 8px;\n box-sizing: border-box;\n display: flex;\n\n &:hover {\n background: #ddd;\n }\n\n & > svg {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n"])));
|
|
5303
5209
|
var ExitCaptureButton = function ExitCaptureButton(_a) {
|
|
5304
5210
|
var onClick = _a.onClick,
|
|
5305
5211
|
className = _a.className;
|
|
@@ -5343,10 +5249,10 @@ var ExitCaptureButton = function ExitCaptureButton(_a) {
|
|
|
5343
5249
|
y2: "19.75"
|
|
5344
5250
|
}))));
|
|
5345
5251
|
};
|
|
5346
|
-
var templateObject_1$
|
|
5252
|
+
var templateObject_1$B;
|
|
5347
5253
|
|
|
5348
|
-
var ButtonsRow = styled.div(templateObject_1$
|
|
5349
|
-
var templateObject_1$
|
|
5254
|
+
var ButtonsRow = styled.div(templateObject_1$A || (templateObject_1$A = __makeTemplateObject(["\n display: flex;\n gap: 0 15px;\n justify-content: center;\n"], ["\n display: flex;\n gap: 0 15px;\n justify-content: center;\n"])));
|
|
5255
|
+
var templateObject_1$A;
|
|
5350
5256
|
|
|
5351
5257
|
function IdCaptureLoadingGraphic(props) {
|
|
5352
5258
|
var isMobile = window.innerHeight > window.innerWidth;
|
|
@@ -5375,25 +5281,15 @@ function IdCaptureLoadingGraphicDesktop(_a) {
|
|
|
5375
5281
|
var theme = useTheme();
|
|
5376
5282
|
var accentColor = (_d = (_c = (_b = theme.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.loadingGraphicAccentColor) !== null && _d !== void 0 ? _d : 'var(--idm-color-positive-600)';
|
|
5377
5283
|
var accentOpacity = (_g = (_f = (_e = theme.idCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.loadingGraphicAccentOpacity) !== null && _g !== void 0 ? _g : 0.2;
|
|
5378
|
-
return /*#__PURE__*/React__default.createElement(
|
|
5379
|
-
style: {
|
|
5380
|
-
display: 'flex',
|
|
5381
|
-
width: '100%',
|
|
5382
|
-
height: '100%'
|
|
5383
|
-
}
|
|
5384
|
-
}, /*#__PURE__*/React__default.createElement("svg", {
|
|
5284
|
+
return /*#__PURE__*/React__default.createElement(LoadingGraphicWrapper, null, /*#__PURE__*/React__default.createElement(LoadingGraphicSvg, {
|
|
5385
5285
|
className: className,
|
|
5386
5286
|
width: width,
|
|
5387
5287
|
height: height,
|
|
5288
|
+
"$frame": frame,
|
|
5289
|
+
"$borderColor": accentColor,
|
|
5388
5290
|
viewBox: "0 0 698 452",
|
|
5389
5291
|
fill: "none",
|
|
5390
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
5391
|
-
style: {
|
|
5392
|
-
margin: 'auto',
|
|
5393
|
-
transform: "scale(".concat(frame > 1 ? 1 : frame === 1 ? 1.25 : 0.75, ")"),
|
|
5394
|
-
transition: 'transform 0.2s linear, border-width 0.2s linear',
|
|
5395
|
-
border: "".concat(frame >= 5 ? 10 : 0, "px solid ").concat(accentColor)
|
|
5396
|
-
}
|
|
5292
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
5397
5293
|
}, /*#__PURE__*/React__default.createElement("g", {
|
|
5398
5294
|
filter: frame === 1 ? 'url(#filter0_f_91_884)' : undefined
|
|
5399
5295
|
}, /*#__PURE__*/React__default.createElement("path", {
|
|
@@ -5621,12 +5517,9 @@ function IdCaptureLoadingGraphicMobile(_a) {
|
|
|
5621
5517
|
viewBox: "0 0 428 747",
|
|
5622
5518
|
fill: "none",
|
|
5623
5519
|
xmlns: "http://www.w3.org/2000/svg"
|
|
5624
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
5520
|
+
}, /*#__PURE__*/React__default.createElement(LoadingGraphicCardGroup, {
|
|
5625
5521
|
id: "card",
|
|
5626
|
-
|
|
5627
|
-
transform: "translate(".concat(frame < 1 ? '-500px' : '0', ", 0)"),
|
|
5628
|
-
transition: 'transform 0.3s linear'
|
|
5629
|
-
}
|
|
5522
|
+
"$offScreen": frame < 1
|
|
5630
5523
|
}, /*#__PURE__*/React__default.createElement("path", {
|
|
5631
5524
|
d: "M76.5001 181.274C76.5001 176.027 80.7534 171.774 86.0001 171.774L342 171.774C347.247 171.774 351.5 176.027 351.5 181.274L351.5 586C351.5 591.247 347.247 595.5 342 595.5L86.0001 595.5C80.7534 595.5 76.5001 591.247 76.5001 586L76.5001 181.274Z",
|
|
5632
5525
|
fill: "#F3F3F3",
|
|
@@ -5809,13 +5702,10 @@ function IdCaptureLoadingGraphicMobile(_a) {
|
|
|
5809
5702
|
strokeWidth: "5",
|
|
5810
5703
|
strokeLinecap: "round",
|
|
5811
5704
|
strokeLinejoin: "round"
|
|
5812
|
-
}))), /*#__PURE__*/React__default.createElement(
|
|
5705
|
+
}))), /*#__PURE__*/React__default.createElement(LoadingGraphicPhoneGroup, {
|
|
5813
5706
|
id: "phone",
|
|
5814
5707
|
clipPath: "url(#clip0_29_1778)",
|
|
5815
|
-
|
|
5816
|
-
transform: "translate(".concat(frame < 1 ? '40px' : '0', ", 0)"),
|
|
5817
|
-
transition: 'transform 0.3s linear'
|
|
5818
|
-
}
|
|
5708
|
+
"$offScreen": frame < 1
|
|
5819
5709
|
}, /*#__PURE__*/React__default.createElement("rect", {
|
|
5820
5710
|
x: "154",
|
|
5821
5711
|
y: "693",
|
|
@@ -5843,6 +5733,21 @@ function IdCaptureLoadingGraphicMobile(_a) {
|
|
|
5843
5733
|
fill: "white"
|
|
5844
5734
|
}))));
|
|
5845
5735
|
}
|
|
5736
|
+
var LoadingGraphicWrapper = styled.div(templateObject_1$z || (templateObject_1$z = __makeTemplateObject(["\n display: flex;\n width: 100%;\n height: 100%;\n"], ["\n display: flex;\n width: 100%;\n height: 100%;\n"])));
|
|
5737
|
+
var LoadingGraphicSvg = styled.svg(templateObject_2$u || (templateObject_2$u = __makeTemplateObject(["\n margin: auto;\n transform: scale(\n ", "\n );\n transform-style: preserve-3d;\n transition:\n transform 0.2s linear,\n border-width 0.2s linear;\n border: ", "px solid\n ", ";\n"], ["\n margin: auto;\n transform: scale(\n ", "\n );\n transform-style: preserve-3d;\n transition:\n transform 0.2s linear,\n border-width 0.2s linear;\n border: ", "px solid\n ", ";\n"])), function (props) {
|
|
5738
|
+
return props.$frame > 1 ? 1 : props.$frame === 1 ? 1.25 : 0.75;
|
|
5739
|
+
}, function (props) {
|
|
5740
|
+
return props.$frame >= 5 ? 10 : 0;
|
|
5741
|
+
}, function (props) {
|
|
5742
|
+
return props.$borderColor;
|
|
5743
|
+
});
|
|
5744
|
+
var LoadingGraphicCardGroup = styled.g(templateObject_3$m || (templateObject_3$m = __makeTemplateObject(["\n transform: translate(", ", 0);\n transform-style: preserve-3d;\n transition: transform 0.3s linear;\n"], ["\n transform: translate(", ", 0);\n transform-style: preserve-3d;\n transition: transform 0.3s linear;\n"])), function (props) {
|
|
5745
|
+
return props.$offScreen ? '-500px' : '0';
|
|
5746
|
+
});
|
|
5747
|
+
var LoadingGraphicPhoneGroup = styled.g(templateObject_4$g || (templateObject_4$g = __makeTemplateObject(["\n transform: translate(", ", 0);\n transform-style: preserve-3d;\n transition: transform 0.3s linear;\n"], ["\n transform: translate(", ", 0);\n transform-style: preserve-3d;\n transition: transform 0.3s linear;\n"])), function (props) {
|
|
5748
|
+
return props.$offScreen ? '40px' : '0';
|
|
5749
|
+
});
|
|
5750
|
+
var templateObject_1$z, templateObject_2$u, templateObject_3$m, templateObject_4$g;
|
|
5846
5751
|
|
|
5847
5752
|
function LoadingListItemIndicator(_a) {
|
|
5848
5753
|
var _b = _a.state,
|
|
@@ -5913,7 +5818,7 @@ var IdCaptureLoadingOverlayDefault = function IdCaptureLoadingOverlayDefault(_a)
|
|
|
5913
5818
|
var _o = useContext(IdCaptureModelsContext),
|
|
5914
5819
|
modelsReady = _o.ready,
|
|
5915
5820
|
modelDownloadProgress = _o.modelDownloadProgress;
|
|
5916
|
-
var _p =
|
|
5821
|
+
var _p = useCameraStore(),
|
|
5917
5822
|
cameraReady = _p.cameraReady,
|
|
5918
5823
|
cameraAccessDenied = _p.cameraAccessDenied,
|
|
5919
5824
|
iphoneContinuityCameraAvailable = _p.iphoneContinuityCameraAvailable,
|
|
@@ -6037,24 +5942,24 @@ var IdCaptureLoadingOverlayDefault = function IdCaptureLoadingOverlayDefault(_a)
|
|
|
6037
5942
|
}
|
|
6038
5943
|
}, verbiage.continueText))))));
|
|
6039
5944
|
};
|
|
6040
|
-
var OverlayInner$1 = styled.div(templateObject_1$
|
|
5945
|
+
var OverlayInner$1 = styled.div(templateObject_1$y || (templateObject_1$y = __makeTemplateObject(["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ", ";\n color: ", ";\n"], ["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ", ";\n color: ", ";\n"])), function (props) {
|
|
6041
5946
|
var _a, _b, _c, _d;
|
|
6042
5947
|
return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.backgroundColor) !== null && _d !== void 0 ? _d : '#ecedf3';
|
|
6043
5948
|
}, function (props) {
|
|
6044
5949
|
var _a, _b, _c, _d;
|
|
6045
5950
|
return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.textColor) !== null && _d !== void 0 ? _d : 'black';
|
|
6046
5951
|
});
|
|
6047
|
-
var OverlayHeader$1 = styled.div(templateObject_2$
|
|
5952
|
+
var OverlayHeader$1 = styled.div(templateObject_2$t || (templateObject_2$t = __makeTemplateObject(["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ", "\n padding-bottom: 0;\n"], ["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ", "\n padding-bottom: 0;\n"])), function (props) {
|
|
6048
5953
|
var _a;
|
|
6049
5954
|
return (_a = props.theme.textAlign) !== null && _a !== void 0 ? _a : 'center';
|
|
6050
5955
|
}, function (props) {
|
|
6051
5956
|
return props.theme.padding ? "box-sizing: border-box; padding: ".concat(props.theme.padding, ";") : "";
|
|
6052
5957
|
});
|
|
6053
|
-
var StyledGuidanceMessage$2 = styled(GuidanceMessage)(templateObject_3$
|
|
6054
|
-
var StyledOverlayImageContainer$2 = styled(OverlayImageContainer)(templateObject_4$
|
|
6055
|
-
var ContinuityCameraCheckboxContainer$1 = styled.div(templateObject_5$
|
|
6056
|
-
var ContinuityCameraCheckboxInner = styled(GuidanceMessage)(templateObject_6$
|
|
6057
|
-
var ContinuityCameraCheckbox$1 = styled.input(templateObject_7$
|
|
5958
|
+
var StyledGuidanceMessage$2 = styled(GuidanceMessage)(templateObject_3$l || (templateObject_3$l = __makeTemplateObject(["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"], ["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"])));
|
|
5959
|
+
var StyledOverlayImageContainer$2 = styled(OverlayImageContainer)(templateObject_4$f || (templateObject_4$f = __makeTemplateObject(["\n padding: 0 0 100px;\n\n & > svg {\n height: 100%;\n }\n"], ["\n padding: 0 0 100px;\n\n & > svg {\n height: 100%;\n }\n"])));
|
|
5960
|
+
var ContinuityCameraCheckboxContainer$1 = styled.div(templateObject_5$a || (templateObject_5$a = __makeTemplateObject(["\n position: fixed;\n bottom: 120px;\n width: 100dvw;\n display: flex;\n"], ["\n position: fixed;\n bottom: 120px;\n width: 100dvw;\n display: flex;\n"])));
|
|
5961
|
+
var ContinuityCameraCheckboxInner = styled(GuidanceMessage)(templateObject_6$8 || (templateObject_6$8 = __makeTemplateObject(["\n padding: 12px 18px;\n margin: 0 auto;\n font-size: 14px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"], ["\n padding: 12px 18px;\n margin: 0 auto;\n font-size: 14px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"])));
|
|
5962
|
+
var ContinuityCameraCheckbox$1 = styled.input(templateObject_7$5 || (templateObject_7$5 = __makeTemplateObject(["\n margin-right: 8px;\n"], ["\n margin-right: 8px;\n"])));
|
|
6058
5963
|
var StyledButtonsRow$a = styled(ButtonsRow)(templateObject_8$2 || (templateObject_8$2 = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ", ";\n ", "\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"], ["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ", ";\n ", "\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"])), function (props) {
|
|
6059
5964
|
var _a, _b, _c, _d;
|
|
6060
5965
|
return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarTextColor) !== null && _d !== void 0 ? _d : 'white';
|
|
@@ -6080,7 +5985,7 @@ var ProgressIndicator$1 = styled.span(templateObject_15$1 || (templateObject_15$
|
|
|
6080
5985
|
var _a, _b, _c, _d;
|
|
6081
5986
|
return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarIndicatorColor) !== null && _d !== void 0 ? _d : 'var(--idm-color-positive-600)';
|
|
6082
5987
|
}, progressBarAnimation);
|
|
6083
|
-
var CustomLoadingGraphic$1 = styled.img(templateObject_16 || (templateObject_16 = __makeTemplateObject([""], [""])));
|
|
5988
|
+
var CustomLoadingGraphic$1 = styled.img(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n transform-style: preserve-3d;\n"], ["\n transform-style: preserve-3d;\n"])));
|
|
6084
5989
|
var ContinueButtonContainer$1 = styled.div(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n display: flex;\n"], ["\n display: flex;\n"])));
|
|
6085
5990
|
var ContinueButton$1 = styled(LoaderButton)(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n margin: auto;\n white-space: nowrap;\n ", "\n ", "\n"], ["\n margin: auto;\n white-space: nowrap;\n ", "\n ", "\n"])), function (props) {
|
|
6086
5991
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -6089,10 +5994,10 @@ var ContinueButton$1 = styled(LoaderButton)(templateObject_18 || (templateObject
|
|
|
6089
5994
|
var _a, _b, _c, _d, _e, _f;
|
|
6090
5995
|
return ((_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.continueBtnBorder) ? "border: ".concat((_f = (_e = (_d = props.theme) === null || _d === void 0 ? void 0 : _d.idCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.continueBtnBorder, ";") : '';
|
|
6091
5996
|
});
|
|
6092
|
-
var templateObject_1$
|
|
5997
|
+
var templateObject_1$y, templateObject_2$t, templateObject_3$l, templateObject_4$f, templateObject_5$a, templateObject_6$8, templateObject_7$5, templateObject_8$2, templateObject_9$2, templateObject_10$1, templateObject_11$1, templateObject_12$1, templateObject_13$1, templateObject_14$1, templateObject_15$1, templateObject_16, templateObject_17, templateObject_18;
|
|
6093
5998
|
|
|
6094
|
-
var ContinuityCameraCheckboxContainer = styled.div(templateObject_1$
|
|
6095
|
-
var ContinuityCameraCheckbox = styled.input(templateObject_2$
|
|
5999
|
+
var ContinuityCameraCheckboxContainer = styled.div(templateObject_1$x || (templateObject_1$x = __makeTemplateObject(["\n margin-top: 15px;\n margin-bottom: 15px;\n"], ["\n margin-top: 15px;\n margin-bottom: 15px;\n"])));
|
|
6000
|
+
var ContinuityCameraCheckbox = styled.input(templateObject_2$s || (templateObject_2$s = __makeTemplateObject(["\n margin-right: 8px;\n"], ["\n margin-right: 8px;\n"])));
|
|
6096
6001
|
var IdCaptureLoadingOverlayLegacy = function IdCaptureLoadingOverlayLegacy(_a) {
|
|
6097
6002
|
var _b, _c, _d, _e;
|
|
6098
6003
|
var onDismissed = _a.onDismissed,
|
|
@@ -6111,7 +6016,14 @@ var IdCaptureLoadingOverlayLegacy = function IdCaptureLoadingOverlayLegacy(_a) {
|
|
|
6111
6016
|
var _l = useContext(IdCaptureModelsContext),
|
|
6112
6017
|
modelsReady = _l.ready,
|
|
6113
6018
|
modelDownloadProgress = _l.modelDownloadProgress;
|
|
6114
|
-
var _m =
|
|
6019
|
+
var _m = useCameraStore(useShallow(function (state) {
|
|
6020
|
+
return {
|
|
6021
|
+
cameraReady: state.cameraReady,
|
|
6022
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
6023
|
+
iphoneContinuityCameraAvailable: state.iphoneContinuityCameraAvailable,
|
|
6024
|
+
setIphoneContinuityCameraAllowed: state.setIphoneContinuityCameraAllowed
|
|
6025
|
+
};
|
|
6026
|
+
})),
|
|
6115
6027
|
cameraReady = _m.cameraReady,
|
|
6116
6028
|
cameraAccessDenied = _m.cameraAccessDenied,
|
|
6117
6029
|
iphoneContinuityCameraAvailable = _m.iphoneContinuityCameraAvailable,
|
|
@@ -6203,7 +6115,7 @@ var IdCaptureLoadingOverlayLegacy = function IdCaptureLoadingOverlayLegacy(_a) {
|
|
|
6203
6115
|
}
|
|
6204
6116
|
}, cameraReady && modelsReady ? verbiage.continueText : modelsReady ? verbiage.cameraInitializingText : modelDownloadProgress >= 100 ? verbiage.modelsWarmingUpText : "".concat(verbiage.downloadingText, " (").concat(modelDownloadProgress, "%)"))));
|
|
6205
6117
|
};
|
|
6206
|
-
var templateObject_1$
|
|
6118
|
+
var templateObject_1$x, templateObject_2$s;
|
|
6207
6119
|
|
|
6208
6120
|
var components$1 = {
|
|
6209
6121
|
"default": IdCaptureLoadingOverlayDefault,
|
|
@@ -6261,9 +6173,9 @@ var CapturedDocumentImg = function CapturedDocumentImg(_a) {
|
|
|
6261
6173
|
});
|
|
6262
6174
|
};
|
|
6263
6175
|
|
|
6264
|
-
var Card = styled.div(templateObject_1$
|
|
6265
|
-
var FlexCard = styled(Card)(templateObject_2$
|
|
6266
|
-
var templateObject_1$
|
|
6176
|
+
var Card = styled.div(templateObject_1$w || (templateObject_1$w = __makeTemplateObject(["\n background: white;\n border-radius: 8px;\n padding: 24px;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);\n margin: auto;\n max-width: min(500px, 100dvw - 48px);\n max-height: 100%;\n overflow: auto;\n box-sizing: border-box;\n"], ["\n background: white;\n border-radius: 8px;\n padding: 24px;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);\n margin: auto;\n max-width: min(500px, 100dvw - 48px);\n max-height: 100%;\n overflow: auto;\n box-sizing: border-box;\n"])));
|
|
6177
|
+
var FlexCard = styled(Card)(templateObject_2$r || (templateObject_2$r = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n"], ["\n display: flex;\n flex-direction: column;\n"])));
|
|
6178
|
+
var templateObject_1$w, templateObject_2$r;
|
|
6267
6179
|
|
|
6268
6180
|
var IdCaptureSuccess = function IdCaptureSuccess(_a) {
|
|
6269
6181
|
var capturedDocuments = _a.capturedDocuments,
|
|
@@ -6338,13 +6250,13 @@ var IdCaptureSuccess = function IdCaptureSuccess(_a) {
|
|
|
6338
6250
|
finished: true
|
|
6339
6251
|
}, verbiage.retryText)))));
|
|
6340
6252
|
};
|
|
6341
|
-
var Heading$a = styled.h1(templateObject_1$
|
|
6342
|
-
var ImagesContainer = styled(OverlayImageContainer)(templateObject_2$
|
|
6343
|
-
var ImageRow = styled(OverlayImageRow)(templateObject_3$
|
|
6344
|
-
var ImageCol$1 = styled.div(templateObject_4$
|
|
6345
|
-
var StyledImage = styled(CapturedDocumentImg)(templateObject_5$
|
|
6346
|
-
var DebugPre = styled.pre(templateObject_6$
|
|
6347
|
-
var templateObject_1$
|
|
6253
|
+
var Heading$a = styled.h1(templateObject_1$v || (templateObject_1$v = __makeTemplateObject(["\n font-size: 1.5rem;\n margin-top: 0;\n margin-bottom: 1.5rem;\n"], ["\n font-size: 1.5rem;\n margin-top: 0;\n margin-bottom: 1.5rem;\n"])));
|
|
6254
|
+
var ImagesContainer = styled(OverlayImageContainer)(templateObject_2$q || (templateObject_2$q = __makeTemplateObject(["\n flex-grow: 1;\n overflow-y: auto;\n padding-bottom: 0;\n max-width: 100%;\n"], ["\n flex-grow: 1;\n overflow-y: auto;\n padding-bottom: 0;\n max-width: 100%;\n"])));
|
|
6255
|
+
var ImageRow = styled(OverlayImageRow)(templateObject_3$k || (templateObject_3$k = __makeTemplateObject(["\n max-width: 100%;\n flex-direction: column;\n display: grid;\n grid-gap: 12px;\n //grid-template-columns: 1fr 1fr;\n"], ["\n max-width: 100%;\n flex-direction: column;\n display: grid;\n grid-gap: 12px;\n //grid-template-columns: 1fr 1fr;\n"])));
|
|
6256
|
+
var ImageCol$1 = styled.div(templateObject_4$e || (templateObject_4$e = __makeTemplateObject(["\n width: 100%;\n max-height: none !important;\n"], ["\n width: 100%;\n max-height: none !important;\n"])));
|
|
6257
|
+
var StyledImage = styled(CapturedDocumentImg)(templateObject_5$9 || (templateObject_5$9 = __makeTemplateObject(["\n width: 100%;\n border-radius: 12px;\n"], ["\n width: 100%;\n border-radius: 12px;\n"])));
|
|
6258
|
+
var DebugPre = styled.pre(templateObject_6$7 || (templateObject_6$7 = __makeTemplateObject(["\n text-align: left;\n max-width: min(450px, 100dvw - 100px);\n overflow-x: auto;\n"], ["\n text-align: left;\n max-width: min(450px, 100dvw - 100px);\n overflow-x: auto;\n"])));
|
|
6259
|
+
var templateObject_1$v, templateObject_2$q, templateObject_3$k, templateObject_4$e, templateObject_5$9, templateObject_6$7;
|
|
6348
6260
|
|
|
6349
6261
|
function useShowSuccessScreen(skipSuccessScreen, successScreenReady, onDoneCallback) {
|
|
6350
6262
|
var _this = this;
|
|
@@ -6396,10 +6308,10 @@ function resetCanvasDimensions(canvas) {
|
|
|
6396
6308
|
canvas.style.height = '0';
|
|
6397
6309
|
}
|
|
6398
6310
|
|
|
6399
|
-
var IdCardGuideImageContainer = styled(IdCardBorder)(templateObject_1$
|
|
6311
|
+
var IdCardGuideImageContainer = styled(IdCardBorder)(templateObject_1$u || (templateObject_1$u = __makeTemplateObject(["\n position: relative;\n ", "\n box-sizing: border-box;\n"], ["\n position: relative;\n ", "\n box-sizing: border-box;\n"])), function (props) {
|
|
6400
6312
|
return props.$isVisible ? '' : 'opacity: 0;';
|
|
6401
6313
|
});
|
|
6402
|
-
var IdCardGuideImage = styled.img(templateObject_2$
|
|
6314
|
+
var IdCardGuideImage = styled.img(templateObject_2$p || (templateObject_2$p = __makeTemplateObject(["\n transform-style: preserve-3d;\n ", "\n ", "\n"], ["\n transform-style: preserve-3d;\n ", "\n ", "\n"])), function (props) {
|
|
6403
6315
|
return props.$isMirrored ? 'transform: scaleX(-1);' : '';
|
|
6404
6316
|
}, function (props) {
|
|
6405
6317
|
return props.$isInvisible ? 'opacity: 0;' : '';
|
|
@@ -6541,16 +6453,16 @@ function IdCardBorderSvg(_a) {
|
|
|
6541
6453
|
className: isProgressBar ? "idmSdkProgressBorder ".concat(progressPaused ? 'idmSdkProgressPaused' : '') : ''
|
|
6542
6454
|
}));
|
|
6543
6455
|
}
|
|
6544
|
-
var IdCardBorderContainer = styled.div(templateObject_3$
|
|
6545
|
-
var SvgOverlay = styled.svg(templateObject_4$
|
|
6546
|
-
var IdCardBorderRect = styled.rect(templateObject_5$
|
|
6456
|
+
var IdCardBorderContainer = styled.div(templateObject_3$j || (templateObject_3$j = __makeTemplateObject(["\n & > .idmSdkWaves {\n position: absolute;\n animation: ", " 2s ease-out infinite;\n transform-style: preserve-3d;\n\n &:nth-child(2) {\n animation-delay: 0.66s;\n }\n\n &:nth-child(3) {\n animation-delay: 1.33s;\n }\n }\n"], ["\n & > .idmSdkWaves {\n position: absolute;\n animation: ", " 2s ease-out infinite;\n transform-style: preserve-3d;\n\n &:nth-child(2) {\n animation-delay: 0.66s;\n }\n\n &:nth-child(3) {\n animation-delay: 1.33s;\n }\n }\n"])), wavesAnimation);
|
|
6457
|
+
var SvgOverlay = styled.svg(templateObject_4$d || (templateObject_4$d = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n"])));
|
|
6458
|
+
var IdCardBorderRect = styled.rect(templateObject_5$8 || (templateObject_5$8 = __makeTemplateObject(["\n &.idmSdkProgressBorder {\n animation: ", " ", "\n ", ";\n }\n\n &.idmSdkProgressPaused {\n animation-play-state: paused;\n }\n"], ["\n &.idmSdkProgressBorder {\n animation: ", " ", "\n ", ";\n }\n\n &.idmSdkProgressPaused {\n animation-play-state: paused;\n }\n"])), progressBorderAnimation, function (props) {
|
|
6547
6459
|
var _a;
|
|
6548
6460
|
return (_a = props.$speed) !== null && _a !== void 0 ? _a : '3s';
|
|
6549
6461
|
}, function (props) {
|
|
6550
6462
|
var _a;
|
|
6551
6463
|
return (_a = props.$fillMode) !== null && _a !== void 0 ? _a : 'forwards';
|
|
6552
6464
|
});
|
|
6553
|
-
var templateObject_1$
|
|
6465
|
+
var templateObject_1$u, templateObject_2$p, templateObject_3$j, templateObject_4$d, templateObject_5$8;
|
|
6554
6466
|
|
|
6555
6467
|
var defaultIdCaptureGuideImages = {
|
|
6556
6468
|
portrait: {
|
|
@@ -6656,12 +6568,82 @@ function getOrientation(allowPortraitOnMobile) {
|
|
|
6656
6568
|
return allowPortraitOnMobile && window.innerWidth < window.innerHeight ? 'portrait' : 'landscape';
|
|
6657
6569
|
}
|
|
6658
6570
|
|
|
6659
|
-
var
|
|
6571
|
+
var IdVideoCaptureFlipIdPrompt = function IdVideoCaptureFlipIdPrompt(_a) {
|
|
6572
|
+
var _b = _a.idCaptureGuideImages,
|
|
6573
|
+
idCaptureGuideImages = _b === void 0 ? defaultIdCaptureGuideImages : _b,
|
|
6574
|
+
_c = _a.classNames,
|
|
6575
|
+
classNames = _c === void 0 ? {} : _c,
|
|
6576
|
+
borderWidth = _a.borderWidth,
|
|
6577
|
+
borderColor = _a.borderColor,
|
|
6578
|
+
borderRadius = _a.borderRadius,
|
|
6579
|
+
imageStyle = _a.imageStyle;
|
|
6580
|
+
var isRearFacing = useCameraStore(function (state) {
|
|
6581
|
+
return state.isRearFacing;
|
|
6582
|
+
});
|
|
6583
|
+
var isMirrored = !isRearFacing;
|
|
6584
|
+
var _d = useState(1),
|
|
6585
|
+
transitionTime = _d[0],
|
|
6586
|
+
setTransitionTime = _d[1];
|
|
6587
|
+
var _e = useState(0),
|
|
6588
|
+
rotationAngle = _e[0],
|
|
6589
|
+
setRotationAngle = _e[1];
|
|
6590
|
+
var frontTransforms = ["rotateY(".concat(rotationAngle, "deg)")];
|
|
6591
|
+
if (isMirrored) frontTransforms.push('scaleX(-1)');
|
|
6592
|
+
var backTransforms = ["rotateY(".concat(180 - rotationAngle, "deg)")];
|
|
6593
|
+
if (isMirrored) backTransforms.push('scaleX(-1)');
|
|
6594
|
+
useEffect(function () {
|
|
6595
|
+
var timeout;
|
|
6596
|
+
function doFlip() {
|
|
6597
|
+
setTransitionTime(1);
|
|
6598
|
+
setRotationAngle(180);
|
|
6599
|
+
timeout = setTimeout(function () {
|
|
6600
|
+
setTransitionTime(0);
|
|
6601
|
+
setRotationAngle(0);
|
|
6602
|
+
}, 1500);
|
|
6603
|
+
}
|
|
6604
|
+
var interval = setInterval(doFlip, 2500);
|
|
6605
|
+
timeout = setTimeout(doFlip, 250);
|
|
6606
|
+
return function () {
|
|
6607
|
+
clearInterval(interval);
|
|
6608
|
+
clearTimeout(timeout);
|
|
6609
|
+
};
|
|
6610
|
+
}, []);
|
|
6611
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(FlipImageContainer, {
|
|
6612
|
+
className: classNames.frontImageContainer,
|
|
6613
|
+
status: "disabled",
|
|
6614
|
+
borderWidth: borderWidth,
|
|
6615
|
+
borderColor: borderColor,
|
|
6616
|
+
borderRadius: borderRadius,
|
|
6617
|
+
"$transforms": frontTransforms.join(' '),
|
|
6618
|
+
"$transitionTime": transitionTime,
|
|
6619
|
+
"$isVisible": true
|
|
6620
|
+
}, /*#__PURE__*/React__default.createElement(IdCardGuideImage, {
|
|
6621
|
+
src: idCaptureGuideImages.landscape.SHOW_ID_FRONT.url,
|
|
6622
|
+
className: classNames.frontImage,
|
|
6623
|
+
alt: "",
|
|
6624
|
+
style: imageStyle
|
|
6625
|
+
})), /*#__PURE__*/React__default.createElement(FlipImageContainer, {
|
|
6626
|
+
className: classNames.backImageContainer,
|
|
6627
|
+
status: "disabled",
|
|
6628
|
+
borderWidth: borderWidth,
|
|
6629
|
+
borderColor: borderColor,
|
|
6630
|
+
borderRadius: borderRadius,
|
|
6631
|
+
"$transforms": backTransforms.join(' '),
|
|
6632
|
+
"$transitionTime": transitionTime,
|
|
6633
|
+
"$isVisible": true
|
|
6634
|
+
}, /*#__PURE__*/React__default.createElement(IdCardGuideImage, {
|
|
6635
|
+
src: idCaptureGuideImages.landscape.SHOW_ID_BACK.url,
|
|
6636
|
+
className: classNames.backImage,
|
|
6637
|
+
alt: "",
|
|
6638
|
+
style: imageStyle
|
|
6639
|
+
})));
|
|
6640
|
+
};
|
|
6641
|
+
var FlipImageContainer = styled(IdCardGuideImageContainer)(templateObject_1$t || (templateObject_1$t = __makeTemplateObject(["\n backface-visibility: hidden;\n transition: transform ", "s;\n transform: ", ";\n transform-style: preserve-3d;\n position: absolute;\n display: block;\n top: 0;\n width: 100%;\n max-height: 100%;\n"], ["\n backface-visibility: hidden;\n transition: transform ", "s;\n transform: ", ";\n transform-style: preserve-3d;\n position: absolute;\n display: block;\n top: 0;\n width: 100%;\n max-height: 100%;\n"])), function (props) {
|
|
6660
6642
|
return props.$transitionTime;
|
|
6661
6643
|
}, function (props) {
|
|
6662
6644
|
return props.$transforms;
|
|
6663
6645
|
});
|
|
6664
|
-
var templateObject_1$
|
|
6646
|
+
var templateObject_1$t;
|
|
6665
6647
|
|
|
6666
6648
|
var GuideOrientationContext = /*#__PURE__*/createContext({
|
|
6667
6649
|
orientation: 'landscape',
|
|
@@ -6950,10 +6932,10 @@ var regionClsx = function regionClsx(classNames, which) {
|
|
|
6950
6932
|
return v;
|
|
6951
6933
|
}).join(' ');
|
|
6952
6934
|
};
|
|
6953
|
-
var StyledPageContainer = styled(PageContainerDiv)(templateObject_1$
|
|
6954
|
-
var GuidesContainer = styled.div(templateObject_2$
|
|
6955
|
-
var GuideCenterRow = styled.div(templateObject_3$
|
|
6956
|
-
var GuideRegion = styled.div(templateObject_4$
|
|
6935
|
+
var StyledPageContainer = styled(PageContainerDiv)(templateObject_1$s || (templateObject_1$s = __makeTemplateObject(["\n z-index: 1000;\n overflow-y: hidden;\n"], ["\n z-index: 1000;\n overflow-y: hidden;\n"])));
|
|
6936
|
+
var GuidesContainer = styled.div(templateObject_2$o || (templateObject_2$o = __makeTemplateObject(["\n display: flex;\n flex-flow: column nowrap;\n width: 100dvw;\n height: 100dvh;\n"], ["\n display: flex;\n flex-flow: column nowrap;\n width: 100dvw;\n height: 100dvh;\n"])));
|
|
6937
|
+
var GuideCenterRow = styled.div(templateObject_3$i || (templateObject_3$i = __makeTemplateObject(["\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-items: center;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n min-height: 0;\n flex: 1;\n"], ["\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-items: center;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n min-height: 0;\n flex: 1;\n"])));
|
|
6938
|
+
var GuideRegion = styled.div(templateObject_4$c || (templateObject_4$c = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: end;\n width: 100%;\n position: relative;\n z-index: 1000;\n background: ", ";\n color: ", ";\n text-align: center;\n ", "\n ", "\n"], ["\n display: flex;\n flex-direction: column;\n justify-content: end;\n width: 100%;\n position: relative;\n z-index: 1000;\n background: ", ";\n color: ", ";\n text-align: center;\n ", "\n ", "\n"])), function (props) {
|
|
6957
6939
|
var _a, _b, _c, _d, _e;
|
|
6958
6940
|
return (_e = (_a = props.$maskColor) !== null && _a !== void 0 ? _a : (_d = (_c = (_b = props.theme) === null || _b === void 0 ? void 0 : _b.idCapture) === null || _c === void 0 ? void 0 : _c.guideOverlay) === null || _d === void 0 ? void 0 : _d.backgroundColor) !== null && _e !== void 0 ? _e : 'rgba(0, 0, 0, 0.5)';
|
|
6959
6941
|
}, function (props) {
|
|
@@ -6964,13 +6946,13 @@ var GuideRegion = styled.div(templateObject_4$b || (templateObject_4$b = __makeT
|
|
|
6964
6946
|
}, function (props) {
|
|
6965
6947
|
return props.$minHeight ? "min-height: ".concat(props.$minHeight, "px;") : "";
|
|
6966
6948
|
});
|
|
6967
|
-
var Spacer = styled(GuideRegion)(templateObject_5$
|
|
6968
|
-
var GuideCenterRegion = styled.div(templateObject_6$
|
|
6949
|
+
var Spacer = styled(GuideRegion)(templateObject_5$7 || (templateObject_5$7 = __makeTemplateObject(["\n display: block;\n width: auto;\n"], ["\n display: block;\n width: auto;\n"])));
|
|
6950
|
+
var GuideCenterRegion = styled.div(templateObject_6$6 || (templateObject_6$6 = __makeTemplateObject(["\n ", "\n ", "\n transform-style: preserve-3d;\n box-sizing: border-box;\n display: flex;\n flex: 1;\n max-height: 100%;\n height: 100%;\n"], ["\n ", "\n ", "\n transform-style: preserve-3d;\n box-sizing: border-box;\n display: flex;\n flex: 1;\n max-height: 100%;\n height: 100%;\n"])), function (props) {
|
|
6969
6951
|
return props.$minWidth ? "min-width: ".concat(props.$minWidth, "px;") : "";
|
|
6970
6952
|
}, function (props) {
|
|
6971
6953
|
return props.$isMirrored ? 'transform: scaleX(-1);' : '';
|
|
6972
6954
|
});
|
|
6973
|
-
var GuideCenterBorder = styled.div(templateObject_7$
|
|
6955
|
+
var GuideCenterBorder = styled.div(templateObject_7$4 || (templateObject_7$4 = __makeTemplateObject(["\n box-sizing: border-box;\n border: ", ";\n display: flex;\n flex: 1;\n justify-content: center;\n max-height: 100%;\n min-height: 0;\n position: relative;\n ", "\n"], ["\n box-sizing: border-box;\n border: ", ";\n display: flex;\n flex: 1;\n justify-content: center;\n max-height: 100%;\n min-height: 0;\n position: relative;\n ", "\n"])), function (props) {
|
|
6974
6956
|
var _a, _b;
|
|
6975
6957
|
return "".concat((_a = props.$borderWidth) !== null && _a !== void 0 ? _a : 4, "px solid ").concat((_b = props.$borderColor) !== null && _b !== void 0 ? _b : 'white');
|
|
6976
6958
|
}, function (props) {
|
|
@@ -6978,7 +6960,7 @@ var GuideCenterBorder = styled.div(templateObject_7$3 || (templateObject_7$3 = _
|
|
|
6978
6960
|
});
|
|
6979
6961
|
var GuideText = styled.span(templateObject_8$1 || (templateObject_8$1 = __makeTemplateObject(["\n align-content: center;\n margin-top: 12px;\n margin-bottom: 12px;\n"], ["\n align-content: center;\n margin-top: 12px;\n margin-bottom: 12px;\n"])));
|
|
6980
6962
|
var GuideCenterInner = styled.div(templateObject_9$1 || (templateObject_9$1 = __makeTemplateObject(["\n position: relative;\n margin: auto;\n"], ["\n position: relative;\n margin: auto;\n"])));
|
|
6981
|
-
var templateObject_1$
|
|
6963
|
+
var templateObject_1$s, templateObject_2$o, templateObject_3$i, templateObject_4$c, templateObject_5$7, templateObject_6$6, templateObject_7$4, templateObject_8$1, templateObject_9$1;
|
|
6982
6964
|
|
|
6983
6965
|
var IdCaptureFitGuide = function IdCaptureFitGuide(_a) {
|
|
6984
6966
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
@@ -7121,36 +7103,37 @@ var IdCaptureFitGuide = function IdCaptureFitGuide(_a) {
|
|
|
7121
7103
|
progress: progress
|
|
7122
7104
|
}));
|
|
7123
7105
|
};
|
|
7124
|
-
var CanvasWrapper$1 = styled.div(templateObject_1$
|
|
7106
|
+
var CanvasWrapper$1 = styled.div(templateObject_1$r || (templateObject_1$r = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ", ";\n z-index: -1;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ", ";\n z-index: -1;\n"])), function (props) {
|
|
7125
7107
|
return props.$maskColor;
|
|
7126
7108
|
});
|
|
7127
|
-
var Canvas$1 = styled.canvas(templateObject_2$
|
|
7128
|
-
var templateObject_1$
|
|
7109
|
+
var Canvas$1 = styled.canvas(templateObject_2$n || (templateObject_2$n = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
|
|
7110
|
+
var templateObject_1$r, templateObject_2$n;
|
|
7129
7111
|
|
|
7130
7112
|
function IdCaptureGuides(_a) {
|
|
7131
|
-
var _b,
|
|
7132
|
-
|
|
7133
|
-
|
|
7134
|
-
|
|
7135
|
-
|
|
7136
|
-
|
|
7137
|
-
|
|
7138
|
-
|
|
7139
|
-
|
|
7140
|
-
|
|
7141
|
-
|
|
7142
|
-
|
|
7143
|
-
|
|
7144
|
-
|
|
7145
|
-
|
|
7146
|
-
|
|
7147
|
-
|
|
7148
|
-
|
|
7149
|
-
|
|
7150
|
-
|
|
7151
|
-
rawVerbiage = _o === void 0 ? {} : _o;
|
|
7113
|
+
var _b = _a.guideType,
|
|
7114
|
+
guideType = _b === void 0 ? 'fit' : _b,
|
|
7115
|
+
_c = _a.status,
|
|
7116
|
+
status = _c === void 0 ? 'ready' : _c,
|
|
7117
|
+
_d = _a.progress,
|
|
7118
|
+
progress = _d === void 0 ? 0 : _d,
|
|
7119
|
+
_e = _a.portraitGuidesOnMobile,
|
|
7120
|
+
portraitGuidesOnMobile = _e === void 0 ? true : _e,
|
|
7121
|
+
_f = _a.requestedAction,
|
|
7122
|
+
requestedAction = _f === void 0 ? 'SHOW_ID_FRONT' : _f,
|
|
7123
|
+
_g = _a.isBackToFront,
|
|
7124
|
+
isBackToFront = _g === void 0 ? false : _g,
|
|
7125
|
+
_h = _a.images,
|
|
7126
|
+
images = _h === void 0 ? defaultIdCaptureGuideImages : _h,
|
|
7127
|
+
_j = _a.classNames,
|
|
7128
|
+
classNames = _j === void 0 ? {} : _j,
|
|
7129
|
+
_k = _a.colors,
|
|
7130
|
+
colors = _k === void 0 ? {} : _k,
|
|
7131
|
+
_l = _a.verbiage,
|
|
7132
|
+
rawVerbiage = _l === void 0 ? {} : _l;
|
|
7152
7133
|
var state = useIdCaptureState()[0];
|
|
7153
|
-
var
|
|
7134
|
+
var isRearFacing = useCameraStore(function (state) {
|
|
7135
|
+
return state.isRearFacing;
|
|
7136
|
+
});
|
|
7154
7137
|
var verbiage = useTranslations(rawVerbiage, {
|
|
7155
7138
|
instructionText: 'Scan the front of ID',
|
|
7156
7139
|
capturingText: 'Capturing...',
|
|
@@ -7162,7 +7145,7 @@ function IdCaptureGuides(_a) {
|
|
|
7162
7145
|
status: status,
|
|
7163
7146
|
progress: progress,
|
|
7164
7147
|
instruction: state.captureFailed ? verbiage.captureFailedText : state.capturing ? verbiage === null || verbiage === void 0 ? void 0 : verbiage.capturingText : verbiage.instructionText,
|
|
7165
|
-
isMirrored: !
|
|
7148
|
+
isMirrored: !isRearFacing,
|
|
7166
7149
|
borderColor: state.isGoodFrame ? colors.guideBoxSatisfiedColor : colors.guideBoxUnsatisfiedColor,
|
|
7167
7150
|
imageVisible: requestedAction === 'FLIP_ID' || !state.idCardFrontDetectionThresholdMet || !state.documentInBounds || state.documentTooClose
|
|
7168
7151
|
})), guideType === 'fit' && ( /*#__PURE__*/React__default.createElement(IdCaptureFitGuide, {
|
|
@@ -7172,7 +7155,7 @@ function IdCaptureGuides(_a) {
|
|
|
7172
7155
|
status: status,
|
|
7173
7156
|
progress: progress,
|
|
7174
7157
|
instruction: state.captureFailed ? verbiage.captureFailedText : state.capturing ? verbiage === null || verbiage === void 0 ? void 0 : verbiage.capturingText : verbiage.instructionText,
|
|
7175
|
-
isMirrored: !
|
|
7158
|
+
isMirrored: !isRearFacing,
|
|
7176
7159
|
isBackToFront: isBackToFront,
|
|
7177
7160
|
portraitGuidesOnMobile: portraitGuidesOnMobile,
|
|
7178
7161
|
borderColor: state.isGoodFrame ? colors.guideBoxSatisfiedColor : colors.guideBoxUnsatisfiedColor,
|
|
@@ -7265,53 +7248,11 @@ var SelfieProgressPreview = function SelfieProgressPreview(_a) {
|
|
|
7265
7248
|
onError: onError
|
|
7266
7249
|
})));
|
|
7267
7250
|
};
|
|
7268
|
-
var StyledSpinner = styled(Spinner)(templateObject_1$
|
|
7269
|
-
var ImagePreviewWrapper = styled.div(templateObject_2$
|
|
7270
|
-
var ImagePreviewText = styled.div(templateObject_3$
|
|
7271
|
-
var ImagePreviewImageWrapper = styled.div(templateObject_4$
|
|
7272
|
-
var templateObject_1$
|
|
7273
|
-
|
|
7274
|
-
var CameraVideoTag = function CameraVideoTag(_a) {
|
|
7275
|
-
var _b;
|
|
7276
|
-
var className = _a.className;
|
|
7277
|
-
var _c = useContext(CameraStateContext),
|
|
7278
|
-
videoRef = _c.videoRef,
|
|
7279
|
-
setVideoLoaded = _c.setVideoLoaded,
|
|
7280
|
-
onVideoUnmounted = _c.onVideoUnmounted,
|
|
7281
|
-
cameraRef = _c.cameraRef;
|
|
7282
|
-
useEffect(function notifyCameraProviderOfUnmount() {
|
|
7283
|
-
var videoElement = videoRef.current;
|
|
7284
|
-
if (!videoElement) return;
|
|
7285
|
-
return function () {
|
|
7286
|
-
onVideoUnmounted(videoElement);
|
|
7287
|
-
};
|
|
7288
|
-
}, [onVideoUnmounted, videoRef]);
|
|
7289
|
-
useEffect(function setVideoLoadedToFalseOnMount() {
|
|
7290
|
-
setVideoLoaded(false);
|
|
7291
|
-
}, [setVideoLoaded]);
|
|
7292
|
-
useEffect(function attachCameraStreamToVideoTagWhenReady() {
|
|
7293
|
-
var _a;
|
|
7294
|
-
if (videoRef.current && ((_a = cameraRef.current) === null || _a === void 0 ? void 0 : _a.stream)) {
|
|
7295
|
-
videoRef.current.srcObject = cameraRef.current.stream;
|
|
7296
|
-
}
|
|
7297
|
-
}, [cameraRef, videoRef]);
|
|
7298
|
-
var onLoadedData = useCallback(function () {
|
|
7299
|
-
setVideoLoaded(true);
|
|
7300
|
-
}, [setVideoLoaded]);
|
|
7301
|
-
return /*#__PURE__*/React__default.createElement(FullscreenVideoTag, {
|
|
7302
|
-
className: className,
|
|
7303
|
-
autoPlay: true,
|
|
7304
|
-
playsInline: true,
|
|
7305
|
-
muted: true,
|
|
7306
|
-
ref: videoRef,
|
|
7307
|
-
onLoadedData: onLoadedData,
|
|
7308
|
-
"$isRearFacing": (_b = cameraRef.current) === null || _b === void 0 ? void 0 : _b.isRearFacing
|
|
7309
|
-
});
|
|
7310
|
-
};
|
|
7311
|
-
var FullscreenVideoTag = styled.video(templateObject_1$o || (templateObject_1$o = __makeTemplateObject(["\n transform: ", ";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: cover;\n background: black;\n z-index: -2;\n"], ["\n transform: ", ";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: cover;\n background: black;\n z-index: -2;\n"])), function (props) {
|
|
7312
|
-
return props.$isRearFacing ? '' : 'scaleX(-1)';
|
|
7313
|
-
});
|
|
7314
|
-
var templateObject_1$o;
|
|
7251
|
+
var StyledSpinner = styled(Spinner)(templateObject_1$q || (templateObject_1$q = __makeTemplateObject(["\n position: relative;\n top: 4px;\n left: -3px;\n margin: 0 3px 0 -12px;\n"], ["\n position: relative;\n top: 4px;\n left: -3px;\n margin: 0 3px 0 -12px;\n"])));
|
|
7252
|
+
var ImagePreviewWrapper = styled.div(templateObject_2$m || (templateObject_2$m = __makeTemplateObject(["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"], ["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"])));
|
|
7253
|
+
var ImagePreviewText = styled.div(templateObject_3$h || (templateObject_3$h = __makeTemplateObject(["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"], ["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"])));
|
|
7254
|
+
var ImagePreviewImageWrapper = styled.div(templateObject_4$b || (templateObject_4$b = __makeTemplateObject(["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"], ["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"])));
|
|
7255
|
+
var templateObject_1$q, templateObject_2$m, templateObject_3$h, templateObject_4$b;
|
|
7315
7256
|
|
|
7316
7257
|
var documentCaptureInitialState = {
|
|
7317
7258
|
documents: [],
|
|
@@ -7431,8 +7372,8 @@ var DocumentCaptureStateProvider = function DocumentCaptureStateProvider(_a) {
|
|
|
7431
7372
|
var _c = useReducer(documentCaptureStateReducer, documentCaptureInitialState),
|
|
7432
7373
|
state = _c[0],
|
|
7433
7374
|
dispatch = _c[1];
|
|
7434
|
-
var _d =
|
|
7435
|
-
|
|
7375
|
+
var _d = useCameraStore(),
|
|
7376
|
+
videoStream = _d.videoStream,
|
|
7436
7377
|
videoRef = _d.videoRef;
|
|
7437
7378
|
var uploadDocument = useContext(SubmissionContext).uploadDocument;
|
|
7438
7379
|
var uploadCapturedDocument = useCallback(function (content, filetype) {
|
|
@@ -7523,8 +7464,7 @@ var DocumentCaptureStateProvider = function DocumentCaptureStateProvider(_a) {
|
|
|
7523
7464
|
}, [onResize]);
|
|
7524
7465
|
var videoTag = videoRef.current;
|
|
7525
7466
|
useEffect(function () {
|
|
7526
|
-
if (!state.capturing) return;
|
|
7527
|
-
if (!cameraRef.current) return;
|
|
7467
|
+
if (!state.capturing || !(videoStream === null || videoStream === void 0 ? void 0 : videoStream.active)) return;
|
|
7528
7468
|
function onComplete(content) {
|
|
7529
7469
|
if (!content) return;
|
|
7530
7470
|
var contentUrl = URL.createObjectURL(content);
|
|
@@ -7537,7 +7477,7 @@ var DocumentCaptureStateProvider = function DocumentCaptureStateProvider(_a) {
|
|
|
7537
7477
|
});
|
|
7538
7478
|
}
|
|
7539
7479
|
if (typeof ImageCapture !== 'undefined') {
|
|
7540
|
-
var tracks =
|
|
7480
|
+
var tracks = videoStream.getTracks();
|
|
7541
7481
|
var videoCameraTrack = tracks.find(function (track) {
|
|
7542
7482
|
return track.kind === 'video';
|
|
7543
7483
|
});
|
|
@@ -7552,7 +7492,7 @@ var DocumentCaptureStateProvider = function DocumentCaptureStateProvider(_a) {
|
|
|
7552
7492
|
drawToCanvas(canvas, videoTag);
|
|
7553
7493
|
canvas.toBlob(onComplete);
|
|
7554
7494
|
}
|
|
7555
|
-
}, [
|
|
7495
|
+
}, [state.capturing, videoStream, videoTag]);
|
|
7556
7496
|
var stateWithActions = useMemo(function () {
|
|
7557
7497
|
return _assign(_assign({}, state), {
|
|
7558
7498
|
uploadCapturedDocument: uploadCapturedDocument
|
|
@@ -7667,52 +7607,85 @@ var DocumentCaptureGuideOverlay = function DocumentCaptureGuideOverlay(_a) {
|
|
|
7667
7607
|
ref: canvasRef
|
|
7668
7608
|
}));
|
|
7669
7609
|
};
|
|
7670
|
-
var CanvasWrapper = styled.div(templateObject_1$
|
|
7610
|
+
var CanvasWrapper = styled.div(templateObject_1$p || (templateObject_1$p = __makeTemplateObject(["\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ", ";\n"], ["\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ", ";\n"])), function (props) {
|
|
7671
7611
|
return props.$maskColor;
|
|
7672
7612
|
});
|
|
7673
|
-
var Canvas = styled.canvas(templateObject_2$
|
|
7674
|
-
var templateObject_1$
|
|
7613
|
+
var Canvas = styled.canvas(templateObject_2$l || (templateObject_2$l = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
|
|
7614
|
+
var templateObject_1$p, templateObject_2$l;
|
|
7675
7615
|
|
|
7676
|
-
var CameraFeedWrapper = styled.div(templateObject_1$
|
|
7616
|
+
var CameraFeedWrapper = styled.div(templateObject_1$o || (templateObject_1$o = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (props) {
|
|
7677
7617
|
return props.$mode === 'snapToGuides' ? "display: flex;\n position: absolute;\n left: ".concat(props.$x, "px;\n top: ").concat(props.$y, "px;\n width: ").concat(props.$w, "px;\n height: ").concat(props.$h, "px;") : "";
|
|
7678
7618
|
});
|
|
7679
|
-
var templateObject_1$
|
|
7619
|
+
var templateObject_1$o;
|
|
7620
|
+
|
|
7621
|
+
var CameraVideoTag = function CameraVideoTag(props) {
|
|
7622
|
+
var _a = useCameraStore(useShallow(function (store) {
|
|
7623
|
+
return {
|
|
7624
|
+
videoRef: store.videoRef,
|
|
7625
|
+
videoStream: store.videoStream,
|
|
7626
|
+
onVideoMounted: store.onVideoMounted,
|
|
7627
|
+
isRearFacing: store.isRearFacing
|
|
7628
|
+
};
|
|
7629
|
+
})),
|
|
7630
|
+
videoRef = _a.videoRef,
|
|
7631
|
+
videoStream = _a.videoStream,
|
|
7632
|
+
onVideoMounted = _a.onVideoMounted,
|
|
7633
|
+
isRearFacing = _a.isRearFacing;
|
|
7634
|
+
useEffect(function attachCameraStreamToVideoTagWhenReady() {
|
|
7635
|
+
if (videoRef.current && videoStream) {
|
|
7636
|
+
debug('attaching camera stream to video tag');
|
|
7637
|
+
videoRef.current.srcObject = videoStream;
|
|
7638
|
+
}
|
|
7639
|
+
}, [videoStream, videoRef]);
|
|
7640
|
+
return /*#__PURE__*/React__default.createElement(FullscreenVideoTag, _assign({
|
|
7641
|
+
autoPlay: true,
|
|
7642
|
+
playsInline: true,
|
|
7643
|
+
muted: true,
|
|
7644
|
+
ref: videoRef,
|
|
7645
|
+
onLoadedData: onVideoMounted,
|
|
7646
|
+
"$isRearFacing": isRearFacing
|
|
7647
|
+
}, props));
|
|
7648
|
+
};
|
|
7649
|
+
var FullscreenVideoTag = styled.video(templateObject_1$n || (templateObject_1$n = __makeTemplateObject(["\n transform: ", ";\n transform-style: preserve-3d;\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: cover;\n background: black;\n z-index: -2;\n"], ["\n transform: ", ";\n transform-style: preserve-3d;\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: cover;\n background: black;\n z-index: -2;\n"])), function (props) {
|
|
7650
|
+
return props.$isRearFacing ? '' : 'scaleX(-1)';
|
|
7651
|
+
});
|
|
7652
|
+
var templateObject_1$n;
|
|
7680
7653
|
|
|
7681
7654
|
var DocumentCaptureScreen = function DocumentCaptureScreen(_a) {
|
|
7682
|
-
var _b, _c, _d, _e, _f
|
|
7655
|
+
var _b, _c, _d, _e, _f;
|
|
7683
7656
|
var onCaptureClicked = _a.onCaptureClicked,
|
|
7684
|
-
|
|
7685
|
-
classNames =
|
|
7686
|
-
|
|
7687
|
-
rawVerbiage =
|
|
7688
|
-
var
|
|
7689
|
-
|
|
7690
|
-
documents =
|
|
7691
|
-
currentDocumentIndex =
|
|
7692
|
-
rectX =
|
|
7693
|
-
rectY =
|
|
7694
|
-
rectWidth =
|
|
7695
|
-
rectHeight =
|
|
7696
|
-
rectOffsetTop =
|
|
7697
|
-
capturing =
|
|
7698
|
-
uploadCapturedDocument =
|
|
7699
|
-
dispatch =
|
|
7700
|
-
var
|
|
7701
|
-
title =
|
|
7702
|
-
aspectRatio =
|
|
7703
|
-
cameraFeedMode =
|
|
7704
|
-
instructions =
|
|
7705
|
-
contentUrl =
|
|
7706
|
-
content =
|
|
7707
|
-
uploadState =
|
|
7708
|
-
var
|
|
7709
|
-
|
|
7710
|
-
cameraReady =
|
|
7711
|
-
cameraAccessDenied =
|
|
7712
|
-
requestCameraAccess =
|
|
7713
|
-
var
|
|
7714
|
-
cameraAccessRequested =
|
|
7715
|
-
setCameraAccessRequested =
|
|
7657
|
+
_g = _a.classNames,
|
|
7658
|
+
classNames = _g === void 0 ? {} : _g,
|
|
7659
|
+
_h = _a.verbiage,
|
|
7660
|
+
rawVerbiage = _h === void 0 ? {} : _h;
|
|
7661
|
+
var _j = useDocumentCaptureState(),
|
|
7662
|
+
_k = _j[0],
|
|
7663
|
+
documents = _k.documents,
|
|
7664
|
+
currentDocumentIndex = _k.currentDocumentIndex,
|
|
7665
|
+
rectX = _k.rectX,
|
|
7666
|
+
rectY = _k.rectY,
|
|
7667
|
+
rectWidth = _k.rectWidth,
|
|
7668
|
+
rectHeight = _k.rectHeight,
|
|
7669
|
+
rectOffsetTop = _k.rectOffsetTop,
|
|
7670
|
+
capturing = _k.capturing,
|
|
7671
|
+
uploadCapturedDocument = _k.uploadCapturedDocument,
|
|
7672
|
+
dispatch = _j[1];
|
|
7673
|
+
var _l = (_b = documents[currentDocumentIndex]) !== null && _b !== void 0 ? _b : {},
|
|
7674
|
+
title = _l.title,
|
|
7675
|
+
aspectRatio = _l.aspectRatio,
|
|
7676
|
+
cameraFeedMode = _l.cameraFeedMode,
|
|
7677
|
+
instructions = _l.instructions,
|
|
7678
|
+
contentUrl = _l.contentUrl,
|
|
7679
|
+
content = _l.content,
|
|
7680
|
+
uploadState = _l.uploadState;
|
|
7681
|
+
var _m = useCameraStore(),
|
|
7682
|
+
videoStream = _m.videoStream,
|
|
7683
|
+
cameraReady = _m.cameraReady,
|
|
7684
|
+
cameraAccessDenied = _m.cameraAccessDenied,
|
|
7685
|
+
requestCameraAccess = _m.requestCameraAccess;
|
|
7686
|
+
var _o = useState(false),
|
|
7687
|
+
cameraAccessRequested = _o[0],
|
|
7688
|
+
setCameraAccessRequested = _o[1];
|
|
7716
7689
|
var cameraAccessNeeded =
|
|
7717
7690
|
// we should force the browser to ask for camera access if...
|
|
7718
7691
|
uploadState === 'not_started' &&
|
|
@@ -7721,14 +7694,14 @@ var DocumentCaptureScreen = function DocumentCaptureScreen(_a) {
|
|
|
7721
7694
|
// and the user hasn't passed a media blob for the current document...
|
|
7722
7695
|
!cameraAccessRequested &&
|
|
7723
7696
|
// and we haven't already tried to force a camera request...
|
|
7724
|
-
!(
|
|
7697
|
+
!(videoStream === null || videoStream === void 0 ? void 0 : videoStream.active); // and we don't already have camera access.
|
|
7725
7698
|
useEffect(function requestCameraAccessIfNeeded() {
|
|
7726
7699
|
if (!cameraAccessNeeded) return;
|
|
7727
7700
|
setCameraAccessRequested(true);
|
|
7728
7701
|
requestCameraAccess();
|
|
7729
7702
|
}, [cameraAccessNeeded, requestCameraAccess]);
|
|
7730
7703
|
var theme = useTheme();
|
|
7731
|
-
var maskColor = (
|
|
7704
|
+
var maskColor = (_e = (_d = (_c = theme.documentCapture) === null || _c === void 0 ? void 0 : _c.guideBox) === null || _d === void 0 ? void 0 : _d.maskColor) !== null && _e !== void 0 ? _e : cameraFeedMode === 'snapToGuides' ? '#708090' : "rgba(0, 0, 0, 0.5)";
|
|
7732
7705
|
var verbiage = useTranslations(rawVerbiage, {
|
|
7733
7706
|
headingText: title,
|
|
7734
7707
|
loadingBtnText: 'Camera initializing...',
|
|
@@ -7761,7 +7734,7 @@ var DocumentCaptureScreen = function DocumentCaptureScreen(_a) {
|
|
|
7761
7734
|
});
|
|
7762
7735
|
}
|
|
7763
7736
|
return /*#__PURE__*/React__default.createElement(PageContainer, {
|
|
7764
|
-
className: "flex ".concat((
|
|
7737
|
+
className: "flex ".concat((_f = classNames.container) !== null && _f !== void 0 ? _f : '')
|
|
7765
7738
|
}, /*#__PURE__*/React__default.createElement(CameraFeedWrapper, {
|
|
7766
7739
|
className: classNames.cameraFeedWrapper,
|
|
7767
7740
|
"$mode": cameraFeedMode !== null && cameraFeedMode !== void 0 ? cameraFeedMode : 'snapToGuides',
|
|
@@ -7826,21 +7799,21 @@ var DocumentCaptureScreen = function DocumentCaptureScreen(_a) {
|
|
|
7826
7799
|
disabled: !cameraReady || capturing
|
|
7827
7800
|
}, !cameraReady ? verbiage.loadingBtnText : capturing ? verbiage.capturingBtnText : verbiage.captureBtnText))))));
|
|
7828
7801
|
};
|
|
7829
|
-
var CaptureContainer = styled.div(templateObject_1$
|
|
7830
|
-
var HeadingRow = styled.div(templateObject_2$
|
|
7802
|
+
var CaptureContainer = styled.div(templateObject_1$m || (templateObject_1$m = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: var(--app-height);\n"], ["\n display: flex;\n flex-direction: column;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: var(--app-height);\n"])));
|
|
7803
|
+
var HeadingRow = styled.div(templateObject_2$k || (templateObject_2$k = __makeTemplateObject(["\n background: ", ";\n text-align: center;\n color: white;\n"], ["\n background: ", ";\n text-align: center;\n color: white;\n"])), function (props) {
|
|
7831
7804
|
return props.$maskColor;
|
|
7832
7805
|
});
|
|
7833
|
-
var Heading$9 = styled.h1(templateObject_3$
|
|
7834
|
-
var FooterRow = styled.div(templateObject_4$
|
|
7806
|
+
var Heading$9 = styled.h1(templateObject_3$g || (templateObject_3$g = __makeTemplateObject(["\n font-size: 22px;\n"], ["\n font-size: 22px;\n"])));
|
|
7807
|
+
var FooterRow = styled.div(templateObject_4$a || (templateObject_4$a = __makeTemplateObject(["\n background: ", ";\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 20px 20px;\n height: auto;\n color: white;\n"], ["\n background: ", ";\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 20px 20px;\n height: auto;\n color: white;\n"])), function (props) {
|
|
7835
7808
|
return props.$maskColor;
|
|
7836
7809
|
});
|
|
7837
|
-
var Instructions = styled.div(templateObject_5$
|
|
7810
|
+
var Instructions = styled.div(templateObject_5$6 || (templateObject_5$6 = __makeTemplateObject(["\n max-height: ", ";\n overflow-y: auto;\n"], ["\n max-height: ", ";\n overflow-y: auto;\n"])), function (props) {
|
|
7838
7811
|
var _a, _b, _c;
|
|
7839
7812
|
return (_c = (_b = (_a = props.theme.documentCapture) === null || _a === void 0 ? void 0 : _a.instructions) === null || _b === void 0 ? void 0 : _b.maxHeight) !== null && _c !== void 0 ? _c : '8rem';
|
|
7840
7813
|
});
|
|
7841
|
-
var StyledButtonsRow$9 = styled(ButtonsRow)(templateObject_6$
|
|
7842
|
-
var PreviewImage = styled.img(templateObject_7$
|
|
7843
|
-
var templateObject_1$
|
|
7814
|
+
var StyledButtonsRow$9 = styled(ButtonsRow)(templateObject_6$5 || (templateObject_6$5 = __makeTemplateObject(["\n padding-top: 20px;\n"], ["\n padding-top: 20px;\n"])));
|
|
7815
|
+
var PreviewImage = styled.img(templateObject_7$3 || (templateObject_7$3 = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n object-fit: cover;\n"], ["\n width: 100%;\n height: 100%;\n object-fit: cover;\n"])));
|
|
7816
|
+
var templateObject_1$m, templateObject_2$k, templateObject_3$g, templateObject_4$a, templateObject_5$6, templateObject_6$5, templateObject_7$3;
|
|
7844
7817
|
|
|
7845
7818
|
var DocumentCaptureWizard = function DocumentCaptureWizard(_a) {
|
|
7846
7819
|
var onSuccess = _a.onSuccess,
|
|
@@ -8109,13 +8082,13 @@ var IdCaptureFallback = function IdCaptureFallback(_a) {
|
|
|
8109
8082
|
}
|
|
8110
8083
|
}, verbiage.doneBtnText))))));
|
|
8111
8084
|
};
|
|
8112
|
-
var StyledOverlayInner$2 = styled(OverlayInner$2)(templateObject_1$
|
|
8113
|
-
var Heading$8 = styled.h3(templateObject_2$
|
|
8114
|
-
var Description$3 = styled.p(templateObject_3$
|
|
8115
|
-
var Instruction = styled.p(templateObject_4$
|
|
8116
|
-
var ImageCol = styled.div(templateObject_5$
|
|
8117
|
-
var StyledButtonsRow$8 = styled(ButtonsRow)(templateObject_6$
|
|
8118
|
-
var templateObject_1$
|
|
8085
|
+
var StyledOverlayInner$2 = styled(OverlayInner$2)(templateObject_1$l || (templateObject_1$l = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
|
|
8086
|
+
var Heading$8 = styled.h3(templateObject_2$j || (templateObject_2$j = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
8087
|
+
var Description$3 = styled.p(templateObject_3$f || (templateObject_3$f = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
8088
|
+
var Instruction = styled.p(templateObject_4$9 || (templateObject_4$9 = __makeTemplateObject(["\n font-weight: bold;\n"], ["\n font-weight: bold;\n"])));
|
|
8089
|
+
var ImageCol = styled.div(templateObject_5$5 || (templateObject_5$5 = __makeTemplateObject(["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"], ["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"])));
|
|
8090
|
+
var StyledButtonsRow$8 = styled(ButtonsRow)(templateObject_6$4 || (templateObject_6$4 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
|
|
8091
|
+
var templateObject_1$l, templateObject_2$j, templateObject_3$f, templateObject_4$9, templateObject_5$5, templateObject_6$4;
|
|
8119
8092
|
|
|
8120
8093
|
function ScalingCameraFeed() {
|
|
8121
8094
|
var _a = useContext(IdCaptureStateContext),
|
|
@@ -8186,7 +8159,7 @@ var IdCaptureWizard = function IdCaptureWizard(_a) {
|
|
|
8186
8159
|
var _3 = useIdCaptureState(),
|
|
8187
8160
|
state = _3[0],
|
|
8188
8161
|
dispatch = _3[1];
|
|
8189
|
-
var _4 =
|
|
8162
|
+
var _4 = useCameraStore(),
|
|
8190
8163
|
cameraAccessDenied = _4.cameraAccessDenied,
|
|
8191
8164
|
requestCameraAccess = _4.requestCameraAccess,
|
|
8192
8165
|
releaseCameraAccess = _4.releaseCameraAccess;
|
|
@@ -8801,7 +8774,7 @@ var HeadGuideSvg = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
8801
8774
|
}))));
|
|
8802
8775
|
});
|
|
8803
8776
|
HeadGuideSvg.displayName = 'HeadGuideSvg';
|
|
8804
|
-
var PulsingHeadGuideContainer = styled.div(templateObject_1$
|
|
8777
|
+
var PulsingHeadGuideContainer = styled.div(templateObject_1$k || (templateObject_1$k = __makeTemplateObject(["\n display: flex;\n position: relative;\n height: 100%;\n max-height: 100%;\n\n & > .idmSdkWaves {\n position: absolute;\n animation: ", " 2s ease-out infinite;\n transform-style: preserve-3d;\n\n &:nth-child(2) {\n animation-delay: 0.66s;\n }\n\n &:nth-child(3) {\n animation-delay: 1.33s;\n }\n }\n\n & > .idmSdkWavesOrigin {\n position: relative;\n }\n"], ["\n display: flex;\n position: relative;\n height: 100%;\n max-height: 100%;\n\n & > .idmSdkWaves {\n position: absolute;\n animation: ", " 2s ease-out infinite;\n transform-style: preserve-3d;\n\n &:nth-child(2) {\n animation-delay: 0.66s;\n }\n\n &:nth-child(3) {\n animation-delay: 1.33s;\n }\n }\n\n & > .idmSdkWavesOrigin {\n position: relative;\n }\n"])), wavesAnimation);
|
|
8805
8778
|
function HeadGuide(_a) {
|
|
8806
8779
|
var _b;
|
|
8807
8780
|
var _c = _a.status,
|
|
@@ -8851,8 +8824,8 @@ function HeadGuide(_a) {
|
|
|
8851
8824
|
height: parentHeight
|
|
8852
8825
|
})));
|
|
8853
8826
|
}
|
|
8854
|
-
var AbsoluteSvg = styled.svg(templateObject_2$
|
|
8855
|
-
var RelativeSvgContainer = styled.div(templateObject_3$
|
|
8827
|
+
var AbsoluteSvg = styled.svg(templateObject_2$i || (templateObject_2$i = __makeTemplateObject(["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n"], ["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n"])));
|
|
8828
|
+
var RelativeSvgContainer = styled.div(templateObject_3$e || (templateObject_3$e = __makeTemplateObject(["\n position: relative;\n height: 100%;\n display: flex;\n align-items: ", ";\n"], ["\n position: relative;\n height: 100%;\n display: flex;\n align-items: ", ";\n"])), function (props) {
|
|
8856
8829
|
return props.$verticalAlign === 'bottom' ? 'flex-end' : 'center';
|
|
8857
8830
|
});
|
|
8858
8831
|
function SelfieCaptureAnimatedMask(_a) {
|
|
@@ -9079,10 +9052,10 @@ function SelfieCaptureAnimatedMaskWithStatus(_a) {
|
|
|
9079
9052
|
status: status
|
|
9080
9053
|
}));
|
|
9081
9054
|
}
|
|
9082
|
-
var templateObject_1$
|
|
9055
|
+
var templateObject_1$k, templateObject_2$i, templateObject_3$e;
|
|
9083
9056
|
|
|
9084
|
-
var FaceCaptureGuideContainer = styled.div(templateObject_1$
|
|
9085
|
-
var FaceCaptureGuideInner = styled.div(templateObject_2$
|
|
9057
|
+
var FaceCaptureGuideContainer = styled.div(templateObject_1$j || (templateObject_1$j = __makeTemplateObject(["\n position: fixed;\n z-index: 1000;\n width: 100dvw;\n height: 100dvh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n box-sizing: border-box;\n"], ["\n position: fixed;\n z-index: 1000;\n width: 100dvw;\n height: 100dvh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n box-sizing: border-box;\n"])));
|
|
9058
|
+
var FaceCaptureGuideInner = styled.div(templateObject_2$h || (templateObject_2$h = __makeTemplateObject(["\n position: relative;\n height: 60%;\n"], ["\n position: relative;\n height: 60%;\n"])));
|
|
9086
9059
|
var FaceCaptureGuideOverlay = function FaceCaptureGuideOverlay(_a) {
|
|
9087
9060
|
var _b = _a.classNames,
|
|
9088
9061
|
classNames = _b === void 0 ? {} : _b,
|
|
@@ -9104,7 +9077,7 @@ var FaceCaptureGuideOverlay = function FaceCaptureGuideOverlay(_a) {
|
|
|
9104
9077
|
verticalAlign: "center"
|
|
9105
9078
|
})));
|
|
9106
9079
|
};
|
|
9107
|
-
var templateObject_1$
|
|
9080
|
+
var templateObject_1$j, templateObject_2$h;
|
|
9108
9081
|
|
|
9109
9082
|
var SelfieGuidanceModelsContext = /*#__PURE__*/createContext({
|
|
9110
9083
|
start: function start() {
|
|
@@ -9134,7 +9107,13 @@ function SelfieGuidanceModelsProvider(_a) {
|
|
|
9134
9107
|
modelLoadTimeoutMs = _c === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _c,
|
|
9135
9108
|
_d = _a.requireVerticalFaceCentering,
|
|
9136
9109
|
requireVerticalFaceCentering = _d === void 0 ? true : _d;
|
|
9137
|
-
var _e =
|
|
9110
|
+
var _e = useCameraStore(useShallow(function (state) {
|
|
9111
|
+
return {
|
|
9112
|
+
videoRef: state.videoRef,
|
|
9113
|
+
videoLoaded: state.videoLoaded,
|
|
9114
|
+
cameraReady: state.cameraReady
|
|
9115
|
+
};
|
|
9116
|
+
})),
|
|
9138
9117
|
videoRef = _e.videoRef,
|
|
9139
9118
|
videoLoaded = _e.videoLoaded,
|
|
9140
9119
|
cameraReady = _e.cameraReady;
|
|
@@ -9142,7 +9121,8 @@ function SelfieGuidanceModelsProvider(_a) {
|
|
|
9142
9121
|
var onPredictionHandler = useRef();
|
|
9143
9122
|
var _f = useLoadFaceDetector({
|
|
9144
9123
|
onModelError: onModelError,
|
|
9145
|
-
modelLoadTimeoutMs: modelLoadTimeoutMs
|
|
9124
|
+
modelLoadTimeoutMs: modelLoadTimeoutMs,
|
|
9125
|
+
videoRef: videoRef
|
|
9146
9126
|
}),
|
|
9147
9127
|
ready = _f.ready,
|
|
9148
9128
|
modelDownloadProgress = _f.modelDownloadProgress,
|
|
@@ -9408,12 +9388,12 @@ var SelfieCaptureFallback = function SelfieCaptureFallback(_a) {
|
|
|
9408
9388
|
}
|
|
9409
9389
|
}, !image ? invalidSelfie ? verbiage.retryButtonText : verbiage.captureBtnText : loading ? verbiage.doneBtnLoadingText : verbiage.doneBtnText)))));
|
|
9410
9390
|
};
|
|
9411
|
-
var StyledOverlayInner$1 = styled(OverlayInner$2)(templateObject_1$
|
|
9412
|
-
var Heading$7 = styled.h3(templateObject_2$
|
|
9413
|
-
var Description$2 = styled.p(templateObject_3$
|
|
9414
|
-
var ImageContainer$6 = styled(OverlayImageContainer)(templateObject_4$
|
|
9415
|
-
var StyledButtonsRow$7 = styled(ButtonsRow)(templateObject_5$
|
|
9416
|
-
var templateObject_1$
|
|
9391
|
+
var StyledOverlayInner$1 = styled(OverlayInner$2)(templateObject_1$i || (templateObject_1$i = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
|
|
9392
|
+
var Heading$7 = styled.h3(templateObject_2$g || (templateObject_2$g = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
9393
|
+
var Description$2 = styled.p(templateObject_3$d || (templateObject_3$d = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
9394
|
+
var ImageContainer$6 = styled(OverlayImageContainer)(templateObject_4$8 || (templateObject_4$8 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
|
|
9395
|
+
var StyledButtonsRow$7 = styled(ButtonsRow)(templateObject_5$4 || (templateObject_5$4 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
|
|
9396
|
+
var templateObject_1$i, templateObject_2$g, templateObject_3$d, templateObject_4$8, templateObject_5$4;
|
|
9417
9397
|
|
|
9418
9398
|
var initialState$3 = {
|
|
9419
9399
|
busy: false,
|
|
@@ -9475,8 +9455,14 @@ var SelfieCapture = function SelfieCapture(_a) {
|
|
|
9475
9455
|
prediction = _t.prediction,
|
|
9476
9456
|
dispatch = _s[1];
|
|
9477
9457
|
var lastPredictionCanvas = useRef(null);
|
|
9478
|
-
var _u =
|
|
9479
|
-
|
|
9458
|
+
var _u = useCameraStore(useShallow(function (state) {
|
|
9459
|
+
return {
|
|
9460
|
+
camera: state.camera,
|
|
9461
|
+
cameraReady: state.cameraReady,
|
|
9462
|
+
videoRef: state.videoRef
|
|
9463
|
+
};
|
|
9464
|
+
})),
|
|
9465
|
+
camera = _u.camera,
|
|
9480
9466
|
videoRef = _u.videoRef;
|
|
9481
9467
|
var _v = useContext(SelfieGuidanceModelsContext),
|
|
9482
9468
|
onPredictionMade = _v.onPredictionMade,
|
|
@@ -9566,7 +9552,7 @@ var SelfieCapture = function SelfieCapture(_a) {
|
|
|
9566
9552
|
face: prediction.face,
|
|
9567
9553
|
scaling: debugScalingDetails,
|
|
9568
9554
|
color: satisfied ? 'green' : 'red'
|
|
9569
|
-
}))), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null,
|
|
9555
|
+
}))), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotCentered) ? '✅' : '❌', " Face Centered", /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) && !(prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? '✅' : '❌', ' ', "Face", ' ', (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) ? 'Too Close' : (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? 'Too Far' : 'Distance Correct', /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceLookingAway) ? '✅' : '❌', " Face Looking Forward", /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceIsStable) ? '✅' : '❌', " Face Is Stable", /*#__PURE__*/React__default.createElement("br", null), !timedOut ? '✅' : '❌', " Time Remaining:", ' ', Math.max(0, timeoutDurationMs - (new Date().getTime() - (timeoutStartedAt !== null && timeoutStartedAt !== void 0 ? timeoutStartedAt : new Date()).getTime())), "ms")), /*#__PURE__*/React__default.createElement(ExitCaptureButton, {
|
|
9570
9556
|
onClick: onExit,
|
|
9571
9557
|
className: classNames.exitCaptureBtn
|
|
9572
9558
|
}));
|
|
@@ -9957,9 +9943,9 @@ var FaceLivenessSuccess = function FaceLivenessSuccess(_a) {
|
|
|
9957
9943
|
finished: true
|
|
9958
9944
|
}, verbiage.retryBtnText)))));
|
|
9959
9945
|
};
|
|
9960
|
-
var ImageContainer$5 = styled.div(templateObject_1$
|
|
9961
|
-
var Heading$6 = styled.h3(templateObject_2$
|
|
9962
|
-
var templateObject_1$
|
|
9946
|
+
var ImageContainer$5 = styled.div(templateObject_1$h || (templateObject_1$h = __makeTemplateObject(["\n position: relative;\n flex-grow: 1;\n margin-bottom: 25px;\n max-width: 100dvw;\n max-height: 100dvh;\n overflow-y: auto;\n border-radius: 12px;\n\n & > img,\n & > svg {\n width: 100%;\n max-width: 100%;\n margin: 0 auto;\n display: block;\n border-radius: 12px;\n }\n"], ["\n position: relative;\n flex-grow: 1;\n margin-bottom: 25px;\n max-width: 100dvw;\n max-height: 100dvh;\n overflow-y: auto;\n border-radius: 12px;\n\n & > img,\n & > svg {\n width: 100%;\n max-width: 100%;\n margin: 0 auto;\n display: block;\n border-radius: 12px;\n }\n"])));
|
|
9947
|
+
var Heading$6 = styled.h3(templateObject_2$f || (templateObject_2$f = __makeTemplateObject(["\n font-size: 1.2rem;\n margin: 0;\n"], ["\n font-size: 1.2rem;\n margin: 0;\n"])));
|
|
9948
|
+
var templateObject_1$h, templateObject_2$f;
|
|
9963
9949
|
|
|
9964
9950
|
var FaceLivenessFailure = function FaceLivenessFailure(_a) {
|
|
9965
9951
|
var _b = _a.canRetry,
|
|
@@ -10008,9 +9994,9 @@ var FaceLivenessFailure = function FaceLivenessFailure(_a) {
|
|
|
10008
9994
|
finished: true
|
|
10009
9995
|
}, verbiage.exitBtnText)))));
|
|
10010
9996
|
};
|
|
10011
|
-
var ImageContainer$4 = styled(OverlayImageContainer)(templateObject_1$
|
|
10012
|
-
var Heading$5 = styled.h3(templateObject_2$
|
|
10013
|
-
var templateObject_1$
|
|
9997
|
+
var ImageContainer$4 = styled(OverlayImageContainer)(templateObject_1$g || (templateObject_1$g = __makeTemplateObject(["\n max-height: calc(100vh - 185px);\n"], ["\n max-height: calc(100vh - 185px);\n"])));
|
|
9998
|
+
var Heading$5 = styled.h3(templateObject_2$e || (templateObject_2$e = __makeTemplateObject(["\n margin-bottom: 36px;\n"], ["\n margin-bottom: 36px;\n"])));
|
|
9999
|
+
var templateObject_1$g, templateObject_2$e;
|
|
10014
10000
|
|
|
10015
10001
|
var MicrophoneAccessDeniedOverlay = function MicrophoneAccessDeniedOverlay(_a) {
|
|
10016
10002
|
var _b;
|
|
@@ -10022,7 +10008,9 @@ var MicrophoneAccessDeniedOverlay = function MicrophoneAccessDeniedOverlay(_a) {
|
|
|
10022
10008
|
colors = _e === void 0 ? {} : _e,
|
|
10023
10009
|
_f = _a.verbiage,
|
|
10024
10010
|
rawVerbiage = _f === void 0 ? {} : _f;
|
|
10025
|
-
var requestMicrophoneAccess =
|
|
10011
|
+
var requestMicrophoneAccess = useCameraStore(function (state) {
|
|
10012
|
+
return state.requestMicrophoneAccess;
|
|
10013
|
+
});
|
|
10026
10014
|
assets.imageUrl || (assets.imageUrl = DEFAULT_CDN_URL + '/microphone-disable-icon.svg');
|
|
10027
10015
|
var verbiage = useTranslations(rawVerbiage, {
|
|
10028
10016
|
headingText: 'Your microphone permission is disabled',
|
|
@@ -10051,11 +10039,11 @@ var MicrophoneAccessDeniedOverlay = function MicrophoneAccessDeniedOverlay(_a) {
|
|
|
10051
10039
|
finished: true
|
|
10052
10040
|
}, verbiage.retryBtnText)));
|
|
10053
10041
|
};
|
|
10054
|
-
var StyledOverlayInner = styled(OverlayInner$2)(templateObject_1$
|
|
10055
|
-
var StyledOverlayImageContainer$1 = styled(OverlayImageContainer)(templateObject_2$
|
|
10056
|
-
var Description$1 = styled.p(templateObject_3$
|
|
10057
|
-
var RetryButton = styled(LoaderButton)(templateObject_4$
|
|
10058
|
-
var templateObject_1$
|
|
10042
|
+
var StyledOverlayInner = styled(OverlayInner$2)(templateObject_1$f || (templateObject_1$f = __makeTemplateObject(["\n max-width: 500px;\n height: auto;\n margin: auto;\n"], ["\n max-width: 500px;\n height: auto;\n margin: auto;\n"])));
|
|
10043
|
+
var StyledOverlayImageContainer$1 = styled(OverlayImageContainer)(templateObject_2$d || (templateObject_2$d = __makeTemplateObject(["\n flex-grow: 0;\n"], ["\n flex-grow: 0;\n"])));
|
|
10044
|
+
var Description$1 = styled.p(templateObject_3$c || (templateObject_3$c = __makeTemplateObject(["\n line-height: 1.5;\n margin-bottom: 50px;\n"], ["\n line-height: 1.5;\n margin-bottom: 50px;\n"])));
|
|
10045
|
+
var RetryButton = styled(LoaderButton)(templateObject_4$7 || (templateObject_4$7 = __makeTemplateObject(["\n width: 200px;\n margin: 0 auto;\n"], ["\n width: 200px;\n margin: 0 auto;\n"])));
|
|
10046
|
+
var templateObject_1$f, templateObject_2$d, templateObject_3$c, templateObject_4$7;
|
|
10059
10047
|
|
|
10060
10048
|
var SelfieCaptureLoadingOverlayLegacy = function SelfieCaptureLoadingOverlayLegacy(_a) {
|
|
10061
10049
|
var onDismissed = _a.onDismissed,
|
|
@@ -10070,7 +10058,13 @@ var SelfieCaptureLoadingOverlayLegacy = function SelfieCaptureLoadingOverlayLega
|
|
|
10070
10058
|
colors = _e === void 0 ? {} : _e,
|
|
10071
10059
|
_f = _a.verbiage,
|
|
10072
10060
|
rawVerbiage = _f === void 0 ? {} : _f;
|
|
10073
|
-
var _g =
|
|
10061
|
+
var _g = useCameraStore(useShallow(function (state) {
|
|
10062
|
+
return {
|
|
10063
|
+
cameraReady: state.cameraReady,
|
|
10064
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
10065
|
+
microphoneAccessDenied: state.microphoneAccessDenied
|
|
10066
|
+
};
|
|
10067
|
+
})),
|
|
10074
10068
|
cameraReady = _g.cameraReady,
|
|
10075
10069
|
cameraAccessDenied = _g.cameraAccessDenied,
|
|
10076
10070
|
microphoneAccessDenied = _g.microphoneAccessDenied;
|
|
@@ -10138,9 +10132,9 @@ var SelfieCaptureLoadingOverlayLegacy = function SelfieCaptureLoadingOverlayLega
|
|
|
10138
10132
|
}
|
|
10139
10133
|
}, cameraReady && allModelsReady ? verbiage.continueText : allModelsReady ? verbiage.cameraInitializingText : modelDownloadProgress >= 100 ? "".concat(verbiage.modelsWarmingUpText) : "".concat(verbiage.downloadingText, " (").concat(modelDownloadProgress, "%)")))));
|
|
10140
10134
|
};
|
|
10141
|
-
var StyledGuidanceMessage$1 = styled(GuidanceMessage)(templateObject_1$
|
|
10142
|
-
var StyledButtonsRow$6 = styled(ButtonsRow)(templateObject_2$
|
|
10143
|
-
var templateObject_1$
|
|
10135
|
+
var StyledGuidanceMessage$1 = styled(GuidanceMessage)(templateObject_1$e || (templateObject_1$e = __makeTemplateObject(["\n padding: 12px 24px;\n font-weight: normal;\n line-height: 1.5;\n margin-bottom: -30px;\n"], ["\n padding: 12px 24px;\n font-weight: normal;\n line-height: 1.5;\n margin-bottom: -30px;\n"])));
|
|
10136
|
+
var StyledButtonsRow$6 = styled(ButtonsRow)(templateObject_2$c || (templateObject_2$c = __makeTemplateObject(["\n flex-direction: column;\n padding-top: 25px;\n"], ["\n flex-direction: column;\n padding-top: 25px;\n"])));
|
|
10137
|
+
var templateObject_1$e, templateObject_2$c;
|
|
10144
10138
|
|
|
10145
10139
|
var legacyInstructionImageUrl = "".concat(DEFAULT_CDN_URL, "/Selfie-Image-1.png");
|
|
10146
10140
|
var SelfieCaptureLoadingOverlayDefault = function SelfieCaptureLoadingOverlayDefault(_a) {
|
|
@@ -10157,7 +10151,13 @@ var SelfieCaptureLoadingOverlayDefault = function SelfieCaptureLoadingOverlayDef
|
|
|
10157
10151
|
colors = _e === void 0 ? {} : _e,
|
|
10158
10152
|
_f = _a.verbiage,
|
|
10159
10153
|
rawVerbiage = _f === void 0 ? {} : _f;
|
|
10160
|
-
var _g =
|
|
10154
|
+
var _g = useCameraStore(useShallow(function (state) {
|
|
10155
|
+
return {
|
|
10156
|
+
cameraReady: state.cameraReady,
|
|
10157
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
10158
|
+
microphoneAccessDenied: state.microphoneAccessDenied
|
|
10159
|
+
};
|
|
10160
|
+
})),
|
|
10161
10161
|
cameraReady = _g.cameraReady,
|
|
10162
10162
|
cameraAccessDenied = _g.cameraAccessDenied,
|
|
10163
10163
|
microphoneAccessDenied = _g.microphoneAccessDenied;
|
|
@@ -10265,30 +10265,30 @@ var SelfieCaptureLoadingOverlayDefault = function SelfieCaptureLoadingOverlayDef
|
|
|
10265
10265
|
}
|
|
10266
10266
|
}, verbiage.continueText))))));
|
|
10267
10267
|
};
|
|
10268
|
-
var OverlayInner = styled.div(templateObject_1$
|
|
10268
|
+
var OverlayInner = styled.div(templateObject_1$d || (templateObject_1$d = __makeTemplateObject(["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ", ";\n color: ", ";\n"], ["\n height: 100dvh;\n display: flex;\n flex-direction: column;\n background: ", ";\n color: ", ";\n"])), function (props) {
|
|
10269
10269
|
var _a, _b, _c, _d;
|
|
10270
10270
|
return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.backgroundColor) !== null && _d !== void 0 ? _d : '#ecedf3';
|
|
10271
10271
|
}, function (props) {
|
|
10272
10272
|
var _a, _b, _c, _d;
|
|
10273
10273
|
return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.textColor) !== null && _d !== void 0 ? _d : 'black';
|
|
10274
10274
|
});
|
|
10275
|
-
var OverlayHeader = styled.div(templateObject_2$
|
|
10275
|
+
var OverlayHeader = styled.div(templateObject_2$b || (templateObject_2$b = __makeTemplateObject(["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ", "\n padding-bottom: 0;\n"], ["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n ", "\n padding-bottom: 0;\n"])), function (props) {
|
|
10276
10276
|
var _a;
|
|
10277
10277
|
return (_a = props.theme.textAlign) !== null && _a !== void 0 ? _a : 'center';
|
|
10278
10278
|
}, function (props) {
|
|
10279
10279
|
return props.theme.padding ? "box-sizing: border-box; padding: ".concat(props.theme.padding, ";") : "";
|
|
10280
10280
|
});
|
|
10281
|
-
var StyledGuidanceMessage = styled(GuidanceMessage)(templateObject_3$
|
|
10282
|
-
var StyledButtonsRow$5 = styled(ButtonsRow)(templateObject_4$
|
|
10281
|
+
var StyledGuidanceMessage = styled(GuidanceMessage)(templateObject_3$b || (templateObject_3$b = __makeTemplateObject(["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"], ["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"])));
|
|
10282
|
+
var StyledButtonsRow$5 = styled(ButtonsRow)(templateObject_4$6 || (templateObject_4$6 = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ", ";\n ", "\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"], ["\n display: flex;\n flex-direction: row;\n padding: 15px 25px;\n height: 100px;\n color: ", ";\n ", "\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100dvw;\n box-sizing: border-box;\n"])), function (props) {
|
|
10283
10283
|
var _a, _b, _c, _d;
|
|
10284
10284
|
return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarTextColor) !== null && _d !== void 0 ? _d : 'white';
|
|
10285
10285
|
}, function (props) {
|
|
10286
10286
|
var _a, _b, _c, _d, _e, _f;
|
|
10287
10287
|
return ((_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarFontSize) ? "font-size: ".concat((_f = (_e = (_d = props.theme) === null || _d === void 0 ? void 0 : _d.selfieCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.progressBarFontSize, ";") : '';
|
|
10288
10288
|
});
|
|
10289
|
-
var StyledOverlayImageContainer = styled(OverlayImageContainer)(templateObject_5$
|
|
10290
|
-
var LoadingListContainer = styled.div(templateObject_6$
|
|
10291
|
-
var LoadingList = styled.ul(templateObject_7$
|
|
10289
|
+
var StyledOverlayImageContainer = styled(OverlayImageContainer)(templateObject_5$3 || (templateObject_5$3 = __makeTemplateObject(["\n padding: 0;\n\n & > svg {\n height: 100%;\n }\n"], ["\n padding: 0;\n\n & > svg {\n height: 100%;\n }\n"])));
|
|
10290
|
+
var LoadingListContainer = styled.div(templateObject_6$3 || (templateObject_6$3 = __makeTemplateObject(["\n display: flex;\n position: relative;\n z-index: 2;\n"], ["\n display: flex;\n position: relative;\n z-index: 2;\n"])));
|
|
10291
|
+
var LoadingList = styled.ul(templateObject_7$2 || (templateObject_7$2 = __makeTemplateObject(["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"], ["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"])));
|
|
10292
10292
|
var LoadingListItem = styled.li(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n"], ["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n"])));
|
|
10293
10293
|
var ProgressContainer = styled.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"])));
|
|
10294
10294
|
var ProgressBarBackground = styled.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ", ";\n opacity: ", ";\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ", ";\n opacity: ", ";\n"])), function (props) {
|
|
@@ -10314,7 +10314,7 @@ var ContinueButton = styled(LoaderButton)(templateObject_15 || (templateObject_1
|
|
|
10314
10314
|
var _a, _b, _c, _d, _e, _f;
|
|
10315
10315
|
return ((_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.selfieCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.continueBtnBorder) ? "border: ".concat((_f = (_e = (_d = props.theme) === null || _d === void 0 ? void 0 : _d.selfieCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.continueBtnBorder, ";") : '';
|
|
10316
10316
|
});
|
|
10317
|
-
var templateObject_1$
|
|
10317
|
+
var templateObject_1$d, templateObject_2$b, templateObject_3$b, templateObject_4$6, templateObject_5$3, templateObject_6$3, templateObject_7$2, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15;
|
|
10318
10318
|
|
|
10319
10319
|
var components = {
|
|
10320
10320
|
"default": SelfieCaptureLoadingOverlayDefault,
|
|
@@ -10374,7 +10374,13 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
|
|
|
10374
10374
|
livenessCheckRequest = _t.livenessCheckRequest,
|
|
10375
10375
|
setSelfieImage = _t.setSelfieImage,
|
|
10376
10376
|
logSelfieCaptureAttempt = _t.logSelfieCaptureAttempt;
|
|
10377
|
-
var _u =
|
|
10377
|
+
var _u = useCameraStore(useShallow(function (state) {
|
|
10378
|
+
return {
|
|
10379
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
10380
|
+
requestCameraAccess: state.requestCameraAccess,
|
|
10381
|
+
releaseCameraAccess: state.releaseCameraAccess
|
|
10382
|
+
};
|
|
10383
|
+
})),
|
|
10378
10384
|
cameraAccessDenied = _u.cameraAccessDenied,
|
|
10379
10385
|
requestCameraAccess = _u.requestCameraAccess,
|
|
10380
10386
|
releaseCameraAccess = _u.releaseCameraAccess;
|
|
@@ -10643,7 +10649,7 @@ var AdditionalDocumentCapture = function AdditionalDocumentCapture(_a) {
|
|
|
10643
10649
|
}
|
|
10644
10650
|
return /*#__PURE__*/React__default.createElement(OverlayContainer, {
|
|
10645
10651
|
className: classNames.container
|
|
10646
|
-
}, /*#__PURE__*/React__default.createElement(Inner$
|
|
10652
|
+
}, /*#__PURE__*/React__default.createElement(Inner$2, {
|
|
10647
10653
|
className: classNames.inner
|
|
10648
10654
|
}, /*#__PURE__*/React__default.createElement(Heading$4, {
|
|
10649
10655
|
className: classNames.heading
|
|
@@ -10673,11 +10679,11 @@ var AdditionalDocumentCapture = function AdditionalDocumentCapture(_a) {
|
|
|
10673
10679
|
}
|
|
10674
10680
|
}, verbiage.captureBtnText)))));
|
|
10675
10681
|
};
|
|
10676
|
-
var Inner$
|
|
10677
|
-
var Heading$4 = styled.h3(templateObject_2$
|
|
10678
|
-
var Description = styled.p(templateObject_3$
|
|
10679
|
-
var StyledButtonsRow$4 = styled(ButtonsRow)(templateObject_4$
|
|
10680
|
-
var templateObject_1$
|
|
10682
|
+
var Inner$2 = styled(OverlayInner$2)(templateObject_1$c || (templateObject_1$c = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
|
|
10683
|
+
var Heading$4 = styled.h3(templateObject_2$a || (templateObject_2$a = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
10684
|
+
var Description = styled.p(templateObject_3$a || (templateObject_3$a = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
10685
|
+
var StyledButtonsRow$4 = styled(ButtonsRow)(templateObject_4$5 || (templateObject_4$5 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
|
|
10686
|
+
var templateObject_1$c, templateObject_2$a, templateObject_3$a, templateObject_4$5;
|
|
10681
10687
|
|
|
10682
10688
|
var AdditionalDocumentCaptureWizard = function AdditionalDocumentCaptureWizard(_a) {
|
|
10683
10689
|
var documents = _a.documents,
|
|
@@ -10821,7 +10827,7 @@ function convertSVGtoImg(svgData_1) {
|
|
|
10821
10827
|
});
|
|
10822
10828
|
}
|
|
10823
10829
|
|
|
10824
|
-
var SignaturePaperBacking = styled.div(templateObject_1$
|
|
10830
|
+
var SignaturePaperBacking = styled.div(templateObject_1$b || (templateObject_1$b = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n ", "\n ", "\n ", "\n"], ["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n ", "\n ", "\n ", "\n"])), function (props) {
|
|
10825
10831
|
var _a, _b;
|
|
10826
10832
|
return ((_a = props.theme.signatureCapture) === null || _a === void 0 ? void 0 : _a.background) ? "background: ".concat((_b = props.theme.signatureCapture) === null || _b === void 0 ? void 0 : _b.background, ";") : "";
|
|
10827
10833
|
}, function (props) {
|
|
@@ -10831,8 +10837,8 @@ var SignaturePaperBacking = styled.div(templateObject_1$a || (templateObject_1$a
|
|
|
10831
10837
|
var _a, _b;
|
|
10832
10838
|
return ((_a = props.theme.signatureCapture) === null || _a === void 0 ? void 0 : _a.backgroundPosition) ? "background-position: ".concat((_b = props.theme.signatureCapture) === null || _b === void 0 ? void 0 : _b.backgroundPosition, ";") : "";
|
|
10833
10839
|
});
|
|
10834
|
-
var SignatureCanvasContainer$1 = styled.div(templateObject_2$
|
|
10835
|
-
var SignaturePad = styled.div(templateObject_3$
|
|
10840
|
+
var SignatureCanvasContainer$1 = styled.div(templateObject_2$9 || (templateObject_2$9 = __makeTemplateObject(["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"], ["\n position: absolute;\n top: 25%;\n left: 15%;\n width: 70%;\n height: 50%;\n\n @media (max-width: 800px) {\n top: 15%;\n left: 2%;\n width: 96%;\n height: 70%;\n }\n"])));
|
|
10841
|
+
var SignaturePad = styled.div(templateObject_3$9 || (templateObject_3$9 = __makeTemplateObject(["\n position: relative;\n background: ", ";\n border: ", ";\n border-radius: ", ";\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"], ["\n position: relative;\n background: ", ";\n border: ", ";\n border-radius: ", ";\n flex-grow: 1;\n z-index: 100;\n height: 100%;\n"])), function (props) {
|
|
10836
10842
|
var _a, _b, _c;
|
|
10837
10843
|
return (_c = (_b = (_a = props.theme.signatureCapture) === null || _a === void 0 ? void 0 : _a.canvas) === null || _b === void 0 ? void 0 : _b.background) !== null && _c !== void 0 ? _c : 'rgba(255, 255, 255, 0.5)';
|
|
10838
10844
|
}, function (props) {
|
|
@@ -10842,8 +10848,8 @@ var SignaturePad = styled.div(templateObject_3$8 || (templateObject_3$8 = __make
|
|
|
10842
10848
|
var _a, _b, _c;
|
|
10843
10849
|
return (_c = (_b = (_a = props.theme.signatureCapture) === null || _a === void 0 ? void 0 : _a.canvas) === null || _b === void 0 ? void 0 : _b.borderRadius) !== null && _c !== void 0 ? _c : '16px';
|
|
10844
10850
|
});
|
|
10845
|
-
var SignatureButtonsContainer = styled(ButtonsRow)(templateObject_4$
|
|
10846
|
-
var templateObject_1$
|
|
10851
|
+
var SignatureButtonsContainer = styled(ButtonsRow)(templateObject_4$4 || (templateObject_4$4 = __makeTemplateObject(["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"], ["\n flex-grow: 0;\n padding-top: 12px;\n display: flex;\n z-index: 1000;\n position: relative;\n"])));
|
|
10852
|
+
var templateObject_1$b, templateObject_2$9, templateObject_3$9, templateObject_4$4;
|
|
10847
10853
|
|
|
10848
10854
|
var SignatureCapture = function SignatureCapture(_a) {
|
|
10849
10855
|
var _b;
|
|
@@ -10914,8 +10920,8 @@ var SignatureCapture = function SignatureCapture(_a) {
|
|
|
10914
10920
|
finished: true
|
|
10915
10921
|
}, verbiage.acceptBtnText)))));
|
|
10916
10922
|
};
|
|
10917
|
-
var AcceptBtn$1 = styled(LoaderButton)(templateObject_1$
|
|
10918
|
-
var templateObject_1$
|
|
10923
|
+
var AcceptBtn$1 = styled(LoaderButton)(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\n margin-left: auto;\n"], ["\n margin-left: auto;\n"])));
|
|
10924
|
+
var templateObject_1$a;
|
|
10919
10925
|
|
|
10920
10926
|
var useVideoRecorder = function useVideoRecorder(camera, audioStream, mergeAVStreams) {
|
|
10921
10927
|
if (mergeAVStreams === void 0) {
|
|
@@ -11095,10 +11101,10 @@ function VideoSignatureContextProvider(_a) {
|
|
|
11095
11101
|
setSignatureVideoUrl = _e[1];
|
|
11096
11102
|
var signatureRecorder = useRef(null);
|
|
11097
11103
|
var recordedChunks = useRef([]);
|
|
11098
|
-
var _f =
|
|
11099
|
-
|
|
11104
|
+
var _f = useCameraStore(),
|
|
11105
|
+
camera = _f.camera,
|
|
11100
11106
|
videoRef = _f.videoRef;
|
|
11101
|
-
var _g = useVideoRecorder(
|
|
11107
|
+
var _g = useVideoRecorder(camera),
|
|
11102
11108
|
isRecordingVideo = _g.isRecordingVideo,
|
|
11103
11109
|
startRecordingVideo = _g.startRecordingVideo,
|
|
11104
11110
|
stopRecordingVideo = _g.stopRecordingVideo,
|
|
@@ -11166,8 +11172,8 @@ function VideoSignatureContextProvider(_a) {
|
|
|
11166
11172
|
var animationFrame = useRef(0);
|
|
11167
11173
|
useEffect(function () {
|
|
11168
11174
|
var _a;
|
|
11169
|
-
if (!signaturePad.current || !videoRef.current || !outputCanvas.current || !
|
|
11170
|
-
var _b = [
|
|
11175
|
+
if (!signaturePad.current || !videoRef.current || !outputCanvas.current || !camera || !isRecording || !isRecordingVideo) return;
|
|
11176
|
+
var _b = [camera.width, camera.height],
|
|
11171
11177
|
w = _b[0],
|
|
11172
11178
|
h = _b[1];
|
|
11173
11179
|
var isPortrait = typeof window !== 'undefined' && window.innerWidth < window.innerHeight;
|
|
@@ -11200,7 +11206,7 @@ function VideoSignatureContextProvider(_a) {
|
|
|
11200
11206
|
return function () {
|
|
11201
11207
|
cancelAnimationFrame(animationFrame.current);
|
|
11202
11208
|
};
|
|
11203
|
-
}, [
|
|
11209
|
+
}, [camera, isRecording, isRecordingVideo, videoRef]);
|
|
11204
11210
|
var onAcceptClicked = useCallback(function () {
|
|
11205
11211
|
return __awaiter(_this, void 0, void 0, function () {
|
|
11206
11212
|
var imageUrl;
|
|
@@ -11275,11 +11281,11 @@ function VideoSignatureGuides(_a) {
|
|
|
11275
11281
|
className: classNames.signatureCanvas
|
|
11276
11282
|
};
|
|
11277
11283
|
}, [classNames.signatureCanvas, height, width]);
|
|
11278
|
-
return /*#__PURE__*/React__default.createElement(Container, {
|
|
11284
|
+
return /*#__PURE__*/React__default.createElement(Container$1, {
|
|
11279
11285
|
className: classNames.container
|
|
11280
|
-
}, /*#__PURE__*/React__default.createElement(Inner, {
|
|
11286
|
+
}, /*#__PURE__*/React__default.createElement(Inner$1, {
|
|
11281
11287
|
className: classNames.inner
|
|
11282
|
-
}, /*#__PURE__*/React__default.createElement(FaceGuideContainer, {
|
|
11288
|
+
}, /*#__PURE__*/React__default.createElement(FaceGuideContainer$1, {
|
|
11283
11289
|
className: classNames.faceGuideContainer
|
|
11284
11290
|
}, /*#__PURE__*/React__default.createElement(StyledSelfieCaptureAnimatedMask, {
|
|
11285
11291
|
className: classNames.faceGuide,
|
|
@@ -11314,42 +11320,44 @@ function VideoSignatureGuides(_a) {
|
|
|
11314
11320
|
finished: true
|
|
11315
11321
|
}, verbiage.acceptSignatureBtnText))))));
|
|
11316
11322
|
}
|
|
11317
|
-
var Container = styled.div(templateObject_1$
|
|
11323
|
+
var Container$1 = styled.div(templateObject_1$9 || (templateObject_1$9 = __makeTemplateObject(["\n display: flex;\n max-height: 100%;\n position: absolute;\n z-index: 1000;\n width: 100dvw;\n height: 100dvh;\n font-family: ", ";\n box-sizing: border-box;\n overflow: hidden;\n padding: 40px;\n"], ["\n display: flex;\n max-height: 100%;\n position: absolute;\n z-index: 1000;\n width: 100dvw;\n height: 100dvh;\n font-family: ", ";\n box-sizing: border-box;\n overflow: hidden;\n padding: 40px;\n"])), function (props) {
|
|
11318
11324
|
var _a;
|
|
11319
11325
|
return (_a = props.theme) === null || _a === void 0 ? void 0 : _a.fontFamily;
|
|
11320
11326
|
});
|
|
11321
|
-
var Inner = styled.div(templateObject_2$
|
|
11322
|
-
var FaceGuideContainer = styled.div(templateObject_3$
|
|
11323
|
-
var StyledSelfieCaptureAnimatedMask = styled(SelfieCaptureAnimatedMaskWithStatus)(templateObject_4$
|
|
11324
|
-
var SignaturePadContainer = styled.div(templateObject_5$
|
|
11325
|
-
var SignatureCanvasContainer = styled.div(templateObject_6$
|
|
11327
|
+
var Inner$1 = styled.div(templateObject_2$8 || (templateObject_2$8 = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n max-height: 1280px;\n display: flex;\n margin: auto;\n align-items: center;\n flex-direction: column;\n"], ["\n width: 100%;\n height: 100%;\n max-height: 1280px;\n display: flex;\n margin: auto;\n align-items: center;\n flex-direction: column;\n"])));
|
|
11328
|
+
var FaceGuideContainer$1 = styled.div(templateObject_3$8 || (templateObject_3$8 = __makeTemplateObject(["\n position: relative;\n height: 50%;\n"], ["\n position: relative;\n height: 50%;\n"])));
|
|
11329
|
+
var StyledSelfieCaptureAnimatedMask = styled(SelfieCaptureAnimatedMaskWithStatus)(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n max-width: 100%;\n height: 100%;\n"], ["\n max-width: 100%;\n height: 100%;\n"])));
|
|
11330
|
+
var SignaturePadContainer = styled.div(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject(["\n position: relative;\n max-width: 100%;\n height: 50%;\n aspect-ratio: 2;\n"], ["\n position: relative;\n max-width: 100%;\n height: 50%;\n aspect-ratio: 2;\n"])));
|
|
11331
|
+
var SignatureCanvasContainer = styled.div(templateObject_6$2 || (templateObject_6$2 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: calc(100% - 67px);\n ", "\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: calc(100% - 67px);\n ", "\n"])), function (props) {
|
|
11326
11332
|
return props.$disabled ? 'opacity: 0.5; pointer-events: none;' : '';
|
|
11327
11333
|
});
|
|
11328
|
-
var AcceptBtn = styled(LoaderButton)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n margin-left: auto;\n"], ["\n margin-left: auto;\n"])));
|
|
11329
|
-
var templateObject_1$
|
|
11334
|
+
var AcceptBtn = styled(LoaderButton)(templateObject_7$1 || (templateObject_7$1 = __makeTemplateObject(["\n margin-left: auto;\n"], ["\n margin-left: auto;\n"])));
|
|
11335
|
+
var templateObject_1$9, templateObject_2$8, templateObject_3$8, templateObject_4$3, templateObject_5$2, templateObject_6$2, templateObject_7$1;
|
|
11330
11336
|
|
|
11331
11337
|
var VideoSignatureCapture = function VideoSignatureCapture(_a) {
|
|
11332
|
-
var _b
|
|
11338
|
+
var _b;
|
|
11333
11339
|
var onVideoCaptured = _a.onVideoCaptured,
|
|
11334
11340
|
onFaceNotDetected = _a.onFaceNotDetected,
|
|
11335
11341
|
onExit = _a.onExit,
|
|
11336
11342
|
guidesComponent = _a.guidesComponent,
|
|
11337
|
-
|
|
11338
|
-
classNames =
|
|
11339
|
-
|
|
11340
|
-
colors =
|
|
11341
|
-
|
|
11342
|
-
rawVerbiage =
|
|
11343
|
-
|
|
11344
|
-
debugMode =
|
|
11345
|
-
var
|
|
11343
|
+
_c = _a.classNames,
|
|
11344
|
+
classNames = _c === void 0 ? {} : _c,
|
|
11345
|
+
_d = _a.colors,
|
|
11346
|
+
colors = _d === void 0 ? {} : _d,
|
|
11347
|
+
_e = _a.verbiage,
|
|
11348
|
+
rawVerbiage = _e === void 0 ? {} : _e,
|
|
11349
|
+
_f = _a.debugMode,
|
|
11350
|
+
debugMode = _f === void 0 ? false : _f;
|
|
11351
|
+
var camera = useCameraStore(function (state) {
|
|
11352
|
+
return state.camera;
|
|
11353
|
+
});
|
|
11346
11354
|
var onPredictionMade = useContext(SelfieGuidanceModelsContext).onPredictionMade;
|
|
11347
|
-
var
|
|
11348
|
-
signatureData =
|
|
11349
|
-
signatureDataUrl =
|
|
11350
|
-
signatureVideoData =
|
|
11351
|
-
startRecording =
|
|
11352
|
-
stopRecording =
|
|
11355
|
+
var _g = useVideoSignatureContext(),
|
|
11356
|
+
signatureData = _g.signatureData,
|
|
11357
|
+
signatureDataUrl = _g.signatureDataUrl,
|
|
11358
|
+
signatureVideoData = _g.signatureVideoData,
|
|
11359
|
+
startRecording = _g.startRecording,
|
|
11360
|
+
stopRecording = _g.stopRecording;
|
|
11353
11361
|
useEffect(function () {
|
|
11354
11362
|
startRecording();
|
|
11355
11363
|
return function () {
|
|
@@ -11366,9 +11374,9 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
|
|
|
11366
11374
|
onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(signatureVideoData, signatureData, signatureDataUrl);
|
|
11367
11375
|
}
|
|
11368
11376
|
}, [onVideoCaptured, signatureData, signatureDataUrl, signatureVideoData]);
|
|
11369
|
-
var
|
|
11370
|
-
numFramesWithoutFaces =
|
|
11371
|
-
setNumFramesWithoutFaces =
|
|
11377
|
+
var _h = useState(0),
|
|
11378
|
+
numFramesWithoutFaces = _h[0],
|
|
11379
|
+
setNumFramesWithoutFaces = _h[1];
|
|
11372
11380
|
useEffect(function () {
|
|
11373
11381
|
onPredictionMade(function (_a) {
|
|
11374
11382
|
var face = _a.face;
|
|
@@ -11395,7 +11403,7 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
|
|
|
11395
11403
|
}, verbiage.guidanceMessageText))), /*#__PURE__*/React__default.createElement(GuidesComponent, {
|
|
11396
11404
|
classNames: classNames.videoSignatureGuidesClassNames,
|
|
11397
11405
|
status: "success"
|
|
11398
|
-
}), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null, "Video: ",
|
|
11406
|
+
}), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null, "Video: ", camera === null || camera === void 0 ? void 0 : camera.width, "x", camera === null || camera === void 0 ? void 0 : camera.height)), /*#__PURE__*/React__default.createElement(ExitCaptureButton, {
|
|
11399
11407
|
onClick: onExit,
|
|
11400
11408
|
className: classNames.exitCaptureBtn
|
|
11401
11409
|
}));
|
|
@@ -11454,8 +11462,8 @@ var VideoSignatureSuccess = function VideoSignatureSuccess(_a) {
|
|
|
11454
11462
|
finished: true
|
|
11455
11463
|
}, verbiage.doneBtnText))));
|
|
11456
11464
|
};
|
|
11457
|
-
var StyledVideo$1 = styled.video(templateObject_1$
|
|
11458
|
-
var templateObject_1$
|
|
11465
|
+
var StyledVideo$1 = styled.video(templateObject_1$8 || (templateObject_1$8 = __makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"], ["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"])));
|
|
11466
|
+
var templateObject_1$8;
|
|
11459
11467
|
|
|
11460
11468
|
var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
11461
11469
|
var _b;
|
|
@@ -11489,7 +11497,13 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
|
11489
11497
|
setSignatureData = _l.setSignatureData,
|
|
11490
11498
|
setSignatureVideoUrl = _l.setSignatureVideoUrl,
|
|
11491
11499
|
logSelfieCaptureAttempt = _l.logSelfieCaptureAttempt;
|
|
11492
|
-
var _m =
|
|
11500
|
+
var _m = useCameraStore(useShallow(function (state) {
|
|
11501
|
+
return {
|
|
11502
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
11503
|
+
requestCameraAccess: state.requestCameraAccess,
|
|
11504
|
+
releaseCameraAccess: state.releaseCameraAccess
|
|
11505
|
+
};
|
|
11506
|
+
})),
|
|
11493
11507
|
cameraAccessDenied = _m.cameraAccessDenied,
|
|
11494
11508
|
requestCameraAccess = _m.requestCameraAccess,
|
|
11495
11509
|
releaseCameraAccess = _m.releaseCameraAccess;
|
|
@@ -11648,6 +11662,129 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
|
11648
11662
|
}()));
|
|
11649
11663
|
};
|
|
11650
11664
|
|
|
11665
|
+
var IdVideoCaptureGuides = function IdVideoCaptureGuides(_a) {
|
|
11666
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
11667
|
+
var _z = _a.requestedAction,
|
|
11668
|
+
requestedAction = _z === void 0 ? 'SHOW_ID_FRONT' : _z,
|
|
11669
|
+
_0 = _a.satisfied,
|
|
11670
|
+
satisfied = _0 === void 0 ? false : _0,
|
|
11671
|
+
_1 = _a.faceGuideStatus,
|
|
11672
|
+
faceGuideStatus = _1 === void 0 ? 'success' : _1,
|
|
11673
|
+
faceGuideBorderWidth = _a.faceGuideBorderWidth,
|
|
11674
|
+
faceGuideBorderColor = _a.faceGuideBorderColor,
|
|
11675
|
+
_2 = _a.idCardGuideStatus,
|
|
11676
|
+
idCardGuideStatus = _2 === void 0 ? 'ready' : _2,
|
|
11677
|
+
idCardGuideBorderWidth = _a.idCardGuideBorderWidth,
|
|
11678
|
+
idCardGuideBorderColor = _a.idCardGuideBorderColor,
|
|
11679
|
+
idCardCaptureProgress = _a.idCardCaptureProgress,
|
|
11680
|
+
_3 = _a.idCardCaptureGuideImages,
|
|
11681
|
+
userSuppliedImages = _3 === void 0 ? defaultIdCaptureGuideImages : _3,
|
|
11682
|
+
_4 = _a.classNames,
|
|
11683
|
+
classNames = _4 === void 0 ? {} : _4,
|
|
11684
|
+
_5 = _a.verbiage,
|
|
11685
|
+
rawVerbiage = _5 === void 0 ? {} : _5;
|
|
11686
|
+
var isRearFacing = useCameraStore(function (state) {
|
|
11687
|
+
return state.isRearFacing;
|
|
11688
|
+
});
|
|
11689
|
+
var verbiage = useTranslations(rawVerbiage, {
|
|
11690
|
+
idFrontInstructionText: 'Display the front of your ID card...',
|
|
11691
|
+
idBackInstructionText: 'Display the back of your ID card...',
|
|
11692
|
+
flipIdInstructionText: 'Please flip your ID card...',
|
|
11693
|
+
verifyLivenessInstructionText: 'Performing facial recognition, please hold still...'
|
|
11694
|
+
});
|
|
11695
|
+
var instructionText = requestedAction === 'VERIFY_LIVENESS' ? verbiage.verifyLivenessInstructionText : requestedAction === 'SHOW_ID_FRONT' ? verbiage.idFrontInstructionText : requestedAction === 'FLIP_ID' ? verbiage.flipIdInstructionText : verbiage.idBackInstructionText;
|
|
11696
|
+
var theme = useTheme();
|
|
11697
|
+
if (faceGuideBorderWidth === undefined) faceGuideBorderWidth = (_d = (_c = (_b = theme.idVideoCapture) === null || _b === void 0 ? void 0 : _b.faceGuides) === null || _c === void 0 ? void 0 : _c.borderWidth) !== null && _d !== void 0 ? _d : 5;
|
|
11698
|
+
if (faceGuideBorderColor === undefined) faceGuideBorderColor = (_j = satisfied ? (_f = (_e = theme.idVideoCapture) === null || _e === void 0 ? void 0 : _e.faceGuides) === null || _f === void 0 ? void 0 : _f.satisfiedColor : (_h = (_g = theme.idVideoCapture) === null || _g === void 0 ? void 0 : _g.faceGuides) === null || _h === void 0 ? void 0 : _h.unsatisfiedColor) !== null && _j !== void 0 ? _j : '#D6DCE7';
|
|
11699
|
+
if (idCardGuideBorderWidth === undefined) idCardGuideBorderWidth = (_m = (_l = (_k = theme.idVideoCapture) === null || _k === void 0 ? void 0 : _k.idCardGuides) === null || _l === void 0 ? void 0 : _l.borderWidth) !== null && _m !== void 0 ? _m : 20;
|
|
11700
|
+
if (idCardGuideBorderColor === undefined) idCardGuideBorderColor = (_s = satisfied ? (_p = (_o = theme.idVideoCapture) === null || _o === void 0 ? void 0 : _o.idCardGuides) === null || _p === void 0 ? void 0 : _p.satisfiedColor : (_r = (_q = theme.idVideoCapture) === null || _q === void 0 ? void 0 : _q.idCardGuides) === null || _r === void 0 ? void 0 : _r.unsatisfiedColor) !== null && _s !== void 0 ? _s : '#D6DCE7';
|
|
11701
|
+
var _6 = useResizeObserver(),
|
|
11702
|
+
idCardGuideRef = _6.ref,
|
|
11703
|
+
_7 = _6.width,
|
|
11704
|
+
idCardGuideWidth = _7 === void 0 ? 0 : _7,
|
|
11705
|
+
_8 = _6.height,
|
|
11706
|
+
idCardGuideHeight = _8 === void 0 ? 0 : _8;
|
|
11707
|
+
var idCaptureGuideImages = useGuideImages(userSuppliedImages);
|
|
11708
|
+
var idCaptureGuideImagesByUrl = useGuideImagesByUrl(idCaptureGuideImages);
|
|
11709
|
+
var _9 = useState(undefined),
|
|
11710
|
+
aspectRatio = _9[0],
|
|
11711
|
+
setAspectRatio = _9[1];
|
|
11712
|
+
var onImageLoaded = useCallback(function (e) {
|
|
11713
|
+
var _a, _b, _c, _d;
|
|
11714
|
+
var img = e.currentTarget;
|
|
11715
|
+
var imageByUrl = idCaptureGuideImagesByUrl[img.src];
|
|
11716
|
+
var naturalWidth = (_b = (_a = imageByUrl === null || imageByUrl === void 0 ? void 0 : imageByUrl.width) !== null && _a !== void 0 ? _a : img.naturalWidth) !== null && _b !== void 0 ? _b : 0;
|
|
11717
|
+
var naturalHeight = (_d = (_c = imageByUrl === null || imageByUrl === void 0 ? void 0 : imageByUrl.height) !== null && _c !== void 0 ? _c : img.naturalHeight) !== null && _d !== void 0 ? _d : 0;
|
|
11718
|
+
setAspectRatio(naturalHeight > 0 ? naturalWidth / naturalHeight : undefined);
|
|
11719
|
+
}, [idCaptureGuideImagesByUrl]);
|
|
11720
|
+
var idCardImageStyle = useMemo(function () {
|
|
11721
|
+
return {
|
|
11722
|
+
maxWidth: idCardGuideWidth > idCardGuideHeight ? idCardGuideWidth : undefined,
|
|
11723
|
+
maxHeight: idCardGuideHeight > idCardGuideWidth ? idCardGuideHeight : undefined,
|
|
11724
|
+
height: '100%',
|
|
11725
|
+
aspectRatio: aspectRatio
|
|
11726
|
+
};
|
|
11727
|
+
}, [idCardGuideWidth, idCardGuideHeight, aspectRatio]);
|
|
11728
|
+
var disableIdGuides = ((_u = (_t = theme.idVideoCapture) === null || _t === void 0 ? void 0 : _t.idCardGuides) === null || _u === void 0 ? void 0 : _u.disableDuringLivenessCheck) && requestedAction === 'VERIFY_LIVENESS';
|
|
11729
|
+
return /*#__PURE__*/React__default.createElement(Container, {
|
|
11730
|
+
className: classNames.container
|
|
11731
|
+
}, /*#__PURE__*/React__default.createElement(Inner, null, /*#__PURE__*/React__default.createElement(FaceGuideContainer, {
|
|
11732
|
+
className: classNames.faceGuideContainer
|
|
11733
|
+
}, /*#__PURE__*/React__default.createElement(SelfieCaptureAnimatedMaskWithStatus, {
|
|
11734
|
+
className: classNames.faceGuide,
|
|
11735
|
+
status: requestedAction === 'VERIFY_LIVENESS' ? faceGuideStatus : 'success',
|
|
11736
|
+
borderWidth: faceGuideBorderWidth,
|
|
11737
|
+
borderColor: faceGuideBorderColor,
|
|
11738
|
+
verticalAlign: "bottom"
|
|
11739
|
+
})), !disableIdGuides && ( /*#__PURE__*/React__default.createElement(IdCardGuideContainer, {
|
|
11740
|
+
className: classNames.idCardGuideContainer,
|
|
11741
|
+
ref: idCardGuideRef
|
|
11742
|
+
}, /*#__PURE__*/React__default.createElement(IdCardGuideInner, {
|
|
11743
|
+
className: classNames.idCardGuideInner,
|
|
11744
|
+
style: {
|
|
11745
|
+
aspectRatio: aspectRatio
|
|
11746
|
+
}
|
|
11747
|
+
}, /*#__PURE__*/React__default.createElement(IdCardGuideImageContainer, {
|
|
11748
|
+
className: classNames.idCardGuideImageContainer,
|
|
11749
|
+
status: requestedAction === 'VERIFY_LIVENESS' ? 'disabled' : idCardGuideStatus,
|
|
11750
|
+
borderWidth: idCardGuideBorderWidth,
|
|
11751
|
+
borderColor: idCardGuideBorderColor,
|
|
11752
|
+
aspectRatio: aspectRatio,
|
|
11753
|
+
"$isVisible": requestedAction !== 'FLIP_ID',
|
|
11754
|
+
progress: requestedAction === 'VERIFY_LIVENESS' ? undefined : idCardCaptureProgress
|
|
11755
|
+
}, /*#__PURE__*/React__default.createElement(IdCardGuideImage, {
|
|
11756
|
+
alt: "",
|
|
11757
|
+
className: classNames.idCardGuideImage,
|
|
11758
|
+
"$isMirrored": !isRearFacing,
|
|
11759
|
+
style: idCardImageStyle,
|
|
11760
|
+
src: requestedAction === 'SHOW_ID_BACK' ? idCaptureGuideImages.landscape.SHOW_ID_BACK.url : idCaptureGuideImages.landscape.SHOW_ID_FRONT.url,
|
|
11761
|
+
onLoad: onImageLoaded
|
|
11762
|
+
})), requestedAction === 'FLIP_ID' && ( /*#__PURE__*/React__default.createElement(IdVideoCaptureFlipIdPrompt, {
|
|
11763
|
+
idCaptureGuideImages: idCaptureGuideImages,
|
|
11764
|
+
classNames: classNames.flipIdPrompt,
|
|
11765
|
+
borderWidth: idCardGuideBorderWidth,
|
|
11766
|
+
borderColor: idCardGuideBorderColor,
|
|
11767
|
+
imageStyle: idCardImageStyle
|
|
11768
|
+
}))), /*#__PURE__*/React__default.createElement(IdCardGuideInstructionsContainer, {
|
|
11769
|
+
className: classNames.idCardGuideInstructionsContainer
|
|
11770
|
+
}, /*#__PURE__*/React__default.createElement(IdCardGuideInstructions, {
|
|
11771
|
+
className: classNames.idCardGuideInstructions,
|
|
11772
|
+
"$textColor": (_w = (_v = theme.idVideoCapture) === null || _v === void 0 ? void 0 : _v.idCardGuides) === null || _w === void 0 ? void 0 : _w.instructionsTextColor,
|
|
11773
|
+
"$background": (_y = (_x = theme.idVideoCapture) === null || _x === void 0 ? void 0 : _x.idCardGuides) === null || _y === void 0 ? void 0 : _y.instructionsBackgroundColor
|
|
11774
|
+
}, instructionText))))));
|
|
11775
|
+
};
|
|
11776
|
+
var Container = styled.div(templateObject_1$7 || (templateObject_1$7 = __makeTemplateObject(["\n display: flex;\n max-height: 100%;\n position: absolute;\n z-index: 1000;\n width: 100dvw;\n height: 100dvh;\n font-family: ", ";\n box-sizing: border-box;\n overflow: hidden;\n padding: 40px;\n"], ["\n display: flex;\n max-height: 100%;\n position: absolute;\n z-index: 1000;\n width: 100dvw;\n height: 100dvh;\n font-family: ", ";\n box-sizing: border-box;\n overflow: hidden;\n padding: 40px;\n"])), function (props) {
|
|
11777
|
+
var _a;
|
|
11778
|
+
return (_a = props.theme) === null || _a === void 0 ? void 0 : _a.fontFamily;
|
|
11779
|
+
});
|
|
11780
|
+
var Inner = styled.div(templateObject_2$7 || (templateObject_2$7 = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n max-height: 1280px;\n display: flex;\n margin: auto;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n"], ["\n width: 100%;\n height: 100%;\n max-height: 1280px;\n display: flex;\n margin: auto;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n"])));
|
|
11781
|
+
var FaceGuideContainer = styled.div(templateObject_3$7 || (templateObject_3$7 = __makeTemplateObject(["\n position: relative;\n height: 65%;\n"], ["\n position: relative;\n height: 65%;\n"])));
|
|
11782
|
+
var IdCardGuideContainer = styled.div(templateObject_4$2 || (templateObject_4$2 = __makeTemplateObject(["\n display: flex;\n flex-flow: column nowrap;\n margin: 0 auto;\n position: relative;\n max-width: 100%;\n height: 35%;\n"], ["\n display: flex;\n flex-flow: column nowrap;\n margin: 0 auto;\n position: relative;\n max-width: 100%;\n height: 35%;\n"])));
|
|
11783
|
+
var IdCardGuideInner = styled.div(templateObject_5$1 || (templateObject_5$1 = __makeTemplateObject(["\n position: relative;\n height: 100%;\n width: 100%;\n"], ["\n position: relative;\n height: 100%;\n width: 100%;\n"])));
|
|
11784
|
+
var IdCardGuideInstructionsContainer = styled.div(templateObject_6$1 || (templateObject_6$1 = __makeTemplateObject(["\n width: 100%;\n text-align: center;\n color: white;\n display: flex;\n flex-direction: column;\n justify-content: end;\n padding: 0 40px;\n position: fixed;\n bottom: 14px;\n left: 0;\n right: 0;\n box-sizing: border-box;\n"], ["\n width: 100%;\n text-align: center;\n color: white;\n display: flex;\n flex-direction: column;\n justify-content: end;\n padding: 0 40px;\n position: fixed;\n bottom: 14px;\n left: 0;\n right: 0;\n box-sizing: border-box;\n"])));
|
|
11785
|
+
var IdCardGuideInstructions = styled(GuidanceMessage)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n align-content: center;\n margin: 12px auto;\n padding: 8px 12px;\n font-weight: bold;\n font-size: 18px;\n"], ["\n align-content: center;\n margin: 12px auto;\n padding: 8px 12px;\n font-weight: bold;\n font-size: 18px;\n"])));
|
|
11786
|
+
var templateObject_1$7, templateObject_2$7, templateObject_3$7, templateObject_4$2, templateObject_5$1, templateObject_6$1, templateObject_7;
|
|
11787
|
+
|
|
11651
11788
|
var ReadTextPrompt = function ReadTextPrompt(_a) {
|
|
11652
11789
|
var text = _a.text,
|
|
11653
11790
|
onComplete = _a.onComplete,
|
|
@@ -11778,18 +11915,18 @@ var defaultVideoIdCaptureThresholds = {
|
|
|
11778
11915
|
flipShortcutThreshold: 0.7
|
|
11779
11916
|
};
|
|
11780
11917
|
var IdVideoCapture = function IdVideoCapture(_a) {
|
|
11781
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v
|
|
11918
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
11782
11919
|
var onComplete = _a.onComplete,
|
|
11783
11920
|
onIdFrontImageCaptured = _a.onIdFrontImageCaptured,
|
|
11784
11921
|
onIdBackImageCaptured = _a.onIdBackImageCaptured,
|
|
11785
11922
|
onFaceNotDetected = _a.onFaceNotDetected,
|
|
11786
11923
|
onRecordingFailed = _a.onRecordingFailed,
|
|
11787
11924
|
onExitCapture = _a.onExitCapture,
|
|
11788
|
-
|
|
11789
|
-
idCaptureModelsEnabled =
|
|
11790
|
-
|
|
11925
|
+
_w = _a.idCaptureModelsEnabled,
|
|
11926
|
+
idCaptureModelsEnabled = _w === void 0 ? true : _w,
|
|
11927
|
+
_x = _a.idCardCaptureGuideImages,
|
|
11928
|
+
idCardCaptureGuideImages = _x === void 0 ? defaultIdCaptureGuideImages : _x,
|
|
11791
11929
|
_y = _a.idCardFrontDelay,
|
|
11792
|
-
// idCardCaptureGuideImages = defaultIdCaptureGuideImages,
|
|
11793
11930
|
idCardFrontDelay = _y === void 0 ? 1000 : _y,
|
|
11794
11931
|
_z = _a.videoIdCaptureThresholds,
|
|
11795
11932
|
videoIdCaptureThresholds = _z === void 0 ? defaultVideoIdCaptureThresholds : _z,
|
|
@@ -11810,67 +11947,68 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
11810
11947
|
mergeAVStreams = _6 === void 0 ? false : _6,
|
|
11811
11948
|
_7 = _a.classNames,
|
|
11812
11949
|
classNames = _7 === void 0 ? {} : _7,
|
|
11813
|
-
|
|
11814
|
-
|
|
11815
|
-
|
|
11816
|
-
rawVerbiage =
|
|
11817
|
-
|
|
11818
|
-
debugMode =
|
|
11819
|
-
var
|
|
11820
|
-
ref =
|
|
11821
|
-
|
|
11822
|
-
width =
|
|
11823
|
-
|
|
11824
|
-
height =
|
|
11825
|
-
var
|
|
11826
|
-
|
|
11827
|
-
videoRef =
|
|
11828
|
-
videoLoaded =
|
|
11829
|
-
cameraReady =
|
|
11830
|
-
microphoneReady =
|
|
11831
|
-
audioStream =
|
|
11832
|
-
|
|
11833
|
-
|
|
11834
|
-
|
|
11835
|
-
|
|
11836
|
-
|
|
11837
|
-
|
|
11838
|
-
|
|
11839
|
-
|
|
11840
|
-
|
|
11841
|
-
|
|
11842
|
-
|
|
11843
|
-
|
|
11844
|
-
|
|
11845
|
-
|
|
11846
|
-
|
|
11847
|
-
|
|
11848
|
-
|
|
11849
|
-
|
|
11850
|
-
|
|
11851
|
-
|
|
11852
|
-
|
|
11853
|
-
|
|
11854
|
-
|
|
11855
|
-
|
|
11856
|
-
|
|
11857
|
-
|
|
11858
|
-
|
|
11859
|
-
|
|
11860
|
-
|
|
11861
|
-
|
|
11862
|
-
|
|
11863
|
-
|
|
11864
|
-
|
|
11865
|
-
|
|
11866
|
-
|
|
11867
|
-
|
|
11868
|
-
|
|
11869
|
-
|
|
11950
|
+
_8 = _a.colors,
|
|
11951
|
+
colors = _8 === void 0 ? {} : _8,
|
|
11952
|
+
_9 = _a.verbiage,
|
|
11953
|
+
rawVerbiage = _9 === void 0 ? {} : _9,
|
|
11954
|
+
_10 = _a.debugMode,
|
|
11955
|
+
debugMode = _10 === void 0 ? false : _10;
|
|
11956
|
+
var _11 = useResizeObserver(),
|
|
11957
|
+
ref = _11.ref,
|
|
11958
|
+
_12 = _11.width,
|
|
11959
|
+
width = _12 === void 0 ? 1 : _12,
|
|
11960
|
+
_13 = _11.height,
|
|
11961
|
+
height = _13 === void 0 ? 1 : _13;
|
|
11962
|
+
var _14 = useCameraStore(),
|
|
11963
|
+
camera = _14.camera,
|
|
11964
|
+
videoRef = _14.videoRef,
|
|
11965
|
+
videoLoaded = _14.videoLoaded,
|
|
11966
|
+
cameraReady = _14.cameraReady,
|
|
11967
|
+
microphoneReady = _14.microphoneReady,
|
|
11968
|
+
audioStream = _14.audioStream,
|
|
11969
|
+
isRearFacing = _14.isRearFacing,
|
|
11970
|
+
releaseCameraAccess = _14.releaseCameraAccess;
|
|
11971
|
+
var _15 = useState([]),
|
|
11972
|
+
detectedObjects = _15[0],
|
|
11973
|
+
setDetectedObjects = _15[1];
|
|
11974
|
+
var _16 = useState(null),
|
|
11975
|
+
face = _16[0],
|
|
11976
|
+
setFace = _16[1];
|
|
11977
|
+
var _17 = useContext(IdCaptureModelsContext),
|
|
11978
|
+
idModelsReady = _17.ready,
|
|
11979
|
+
startIdModels = _17.start,
|
|
11980
|
+
stopIdModels = _17.stop,
|
|
11981
|
+
onIdPredictionMade = _17.onPredictionMade,
|
|
11982
|
+
setThresholds = _17.setThresholds,
|
|
11983
|
+
setDocumentDetectionBoundaries = _17.setDocumentDetectionBoundaries,
|
|
11984
|
+
bestFrameDetails = _17.bestFrameDetails,
|
|
11985
|
+
resetBestFrame = _17.resetBestFrame,
|
|
11986
|
+
idModelError = _17.modelError;
|
|
11987
|
+
var _18 = useState(null),
|
|
11988
|
+
videoStartsAt = _18[0],
|
|
11989
|
+
setVideoStartsAt = _18[1];
|
|
11990
|
+
var _19 = useContext(SubmissionContext),
|
|
11991
|
+
setIdCaptureVideoAudioStartsAt = _19.setIdCaptureVideoAudioStartsAt,
|
|
11992
|
+
setExpectedAudioText = _19.setExpectedAudioText;
|
|
11993
|
+
var _20 = useContext(SelfieGuidanceModelsContext),
|
|
11994
|
+
startSelfieGuidance = _20.start,
|
|
11995
|
+
stopSelfieGuidance = _20.stop,
|
|
11996
|
+
onSelfiePredictionMade = _20.onPredictionMade,
|
|
11997
|
+
selfieModelError = _20.error;
|
|
11998
|
+
var _21 = useVideoRecorder(camera, audioStream, mergeAVStreams),
|
|
11999
|
+
isRecordingVideo = _21.isRecordingVideo,
|
|
12000
|
+
startRecordingVideo = _21.startRecordingVideo,
|
|
12001
|
+
startRecordingAudio = _21.startRecordingAudio,
|
|
12002
|
+
stopRecordingVideo = _21.stopRecordingVideo,
|
|
12003
|
+
stopRecordingAudio = _21.stopRecordingAudio,
|
|
12004
|
+
videoRecordingUnintentionallyStopped = _21.videoRecordingUnintentionallyStopped,
|
|
12005
|
+
audioRecordingUnintentionallyStopped = _21.audioRecordingUnintentionallyStopped,
|
|
12006
|
+
videoUrl = _21.videoUrl,
|
|
12007
|
+
audioUrl = _21.audioUrl;
|
|
11870
12008
|
var countdownTimeoutRef = useRef(undefined);
|
|
11871
|
-
var
|
|
11872
|
-
countdownRemaining =
|
|
11873
|
-
setCountdownRemaining =
|
|
12009
|
+
var _22 = useState(-1),
|
|
12010
|
+
countdownRemaining = _22[0],
|
|
12011
|
+
setCountdownRemaining = _22[1];
|
|
11874
12012
|
useEffect(function () {
|
|
11875
12013
|
if (!isRecordingVideo && !videoUrl) {
|
|
11876
12014
|
startRecordingVideo();
|
|
@@ -11881,18 +12019,18 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
11881
12019
|
var needsAudio = !!readTextPrompt && !mergeAVStreams;
|
|
11882
12020
|
var audioReady = !needsAudio || audioUrl;
|
|
11883
12021
|
if (videoUrl && audioReady) {
|
|
11884
|
-
|
|
12022
|
+
releaseCameraAccess();
|
|
11885
12023
|
onComplete === null || onComplete === void 0 ? void 0 : onComplete(videoUrl, audioUrl);
|
|
11886
12024
|
}
|
|
11887
|
-
}, [audioUrl, isRecordingVideo, mergeAVStreams, onComplete, readTextPrompt,
|
|
12025
|
+
}, [audioUrl, isRecordingVideo, mergeAVStreams, onComplete, readTextPrompt, releaseCameraAccess, startRecordingVideo, videoUrl]);
|
|
11888
12026
|
useEffect(function () {
|
|
11889
12027
|
if (videoRecordingUnintentionallyStopped || audioRecordingUnintentionallyStopped) {
|
|
11890
12028
|
onRecordingFailed === null || onRecordingFailed === void 0 ? void 0 : onRecordingFailed();
|
|
11891
12029
|
}
|
|
11892
12030
|
}, [audioRecordingUnintentionallyStopped, onRecordingFailed, videoRecordingUnintentionallyStopped]);
|
|
11893
|
-
var
|
|
11894
|
-
requestedAction =
|
|
11895
|
-
setRequestedAction =
|
|
12031
|
+
var _23 = useState('SHOW_ID_FRONT'),
|
|
12032
|
+
requestedAction = _23[0],
|
|
12033
|
+
setRequestedAction = _23[1];
|
|
11896
12034
|
var shouldRunIdModels = idCaptureModelsEnabled && videoLoaded && cameraReady && idModelsReady && !idModelError && requestedAction !== 'READ_TEXT' && (!readTextPrompt || microphoneReady);
|
|
11897
12035
|
useEffect(function startModelsWhenCapturing() {
|
|
11898
12036
|
if (!shouldRunIdModels) return;
|
|
@@ -11912,18 +12050,18 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
11912
12050
|
bottom: 1
|
|
11913
12051
|
});
|
|
11914
12052
|
}, [setDocumentDetectionBoundaries]);
|
|
11915
|
-
var
|
|
11916
|
-
currentDetectionScore =
|
|
11917
|
-
setCurrentDetectionScore =
|
|
11918
|
-
var
|
|
11919
|
-
currentDetectedDocumentType =
|
|
11920
|
-
setCurrentDetectedDocumentType =
|
|
11921
|
-
var _25 = useState(0),
|
|
11922
|
-
currentFocusScore = _25[0],
|
|
11923
|
-
setCurrentFocusScore = _25[1];
|
|
12053
|
+
var _24 = useState(0),
|
|
12054
|
+
currentDetectionScore = _24[0],
|
|
12055
|
+
setCurrentDetectionScore = _24[1];
|
|
12056
|
+
var _25 = useState('none'),
|
|
12057
|
+
currentDetectedDocumentType = _25[0],
|
|
12058
|
+
setCurrentDetectedDocumentType = _25[1];
|
|
11924
12059
|
var _26 = useState(0),
|
|
11925
|
-
|
|
11926
|
-
|
|
12060
|
+
currentFocusScore = _26[0],
|
|
12061
|
+
setCurrentFocusScore = _26[1];
|
|
12062
|
+
var _27 = useState(0),
|
|
12063
|
+
goodFramesCount = _27[0],
|
|
12064
|
+
setGoodFramesCount = _27[1];
|
|
11927
12065
|
var goodFramesThreshold = requestedAction === 'SHOW_ID_FRONT' ? videoIdCaptureThresholds.goodFrames.idCardFront : videoIdCaptureThresholds.goodFrames.idCardBack;
|
|
11928
12066
|
var goodFramesThresholdMet = goodFramesCount >= goodFramesThreshold;
|
|
11929
12067
|
useEffect(function () {
|
|
@@ -11944,9 +12082,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
11944
12082
|
} : 0);
|
|
11945
12083
|
});
|
|
11946
12084
|
}, [idCaptureModelsEnabled, onIdPredictionMade, idModelError, requestedAction, videoIdCaptureThresholds.flipShortcutThreshold]);
|
|
11947
|
-
var
|
|
11948
|
-
idFrontCaptureStartedAt =
|
|
11949
|
-
setFirstGoodFrameTime =
|
|
12085
|
+
var _28 = useState(null),
|
|
12086
|
+
idFrontCaptureStartedAt = _28[0],
|
|
12087
|
+
setFirstGoodFrameTime = _28[1];
|
|
11950
12088
|
useEffect(function () {
|
|
11951
12089
|
if (goodFramesCount === 1) setFirstGoodFrameTime(new Date().getTime());
|
|
11952
12090
|
}, [goodFramesCount]);
|
|
@@ -11967,9 +12105,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
11967
12105
|
var frameHeight = (_e = (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.videoHeight) !== null && _e !== void 0 ? _e : 0;
|
|
11968
12106
|
var faceBox = face === null || face === void 0 ? void 0 : face.box;
|
|
11969
12107
|
var faceCentered = !faceBox || !frameWidth || faceBox.xMin > frameWidth * edgeBoundary && faceBox.yMin > frameHeight * edgeBoundary && faceBox.xMax < frameWidth * (1 - edgeBoundary) && faceBox.yMax < frameHeight * (1 - edgeBoundary);
|
|
11970
|
-
var
|
|
11971
|
-
countdownStartedAt =
|
|
11972
|
-
setCountdownStartedAt =
|
|
12108
|
+
var _29 = useState(),
|
|
12109
|
+
countdownStartedAt = _29[0],
|
|
12110
|
+
setCountdownStartedAt = _29[1];
|
|
11973
12111
|
var photoCanvas = useRef(null);
|
|
11974
12112
|
var frameLock = useRef(false);
|
|
11975
12113
|
var captureFrame = useCallback(function () {
|
|
@@ -12092,9 +12230,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
12092
12230
|
stopSelfieGuidance();
|
|
12093
12231
|
};
|
|
12094
12232
|
}, [startSelfieGuidance, stopSelfieGuidance]);
|
|
12095
|
-
var
|
|
12096
|
-
numFramesWithoutFaces =
|
|
12097
|
-
setNumFramesWithoutFaces =
|
|
12233
|
+
var _30 = useState(0),
|
|
12234
|
+
numFramesWithoutFaces = _30[0],
|
|
12235
|
+
setNumFramesWithoutFaces = _30[1];
|
|
12098
12236
|
onSelfiePredictionMade(useThrottledCallback(useCallback(function (_a) {
|
|
12099
12237
|
var face = _a.face;
|
|
12100
12238
|
if (selfieModelError) return;
|
|
@@ -12110,12 +12248,12 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
12110
12248
|
}
|
|
12111
12249
|
}, [disableFaceDetectionWhileAudioCapture, disableFaceDetectionWhileAudioCaptureMsDelay, numFramesWithoutFaces, onFaceNotDetected, timeoutStartedAt]);
|
|
12112
12250
|
var theme = useTheme();
|
|
12113
|
-
var
|
|
12251
|
+
var _31 = useTranslations(rawVerbiage, {
|
|
12114
12252
|
faceNotCenteredText: 'Please move your face to the center...',
|
|
12115
12253
|
captureBtnText: 'Capture'
|
|
12116
12254
|
}),
|
|
12117
|
-
captureBtnText =
|
|
12118
|
-
faceNotCenteredText =
|
|
12255
|
+
captureBtnText = _31.captureBtnText,
|
|
12256
|
+
faceNotCenteredText = _31.faceNotCenteredText;
|
|
12119
12257
|
var debugScalingDetails = useDebugScalingDetails({
|
|
12120
12258
|
enabled: debugMode,
|
|
12121
12259
|
pageWidth: width,
|
|
@@ -12140,16 +12278,25 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
12140
12278
|
classNames: classNames.readTextPrompt,
|
|
12141
12279
|
verbiage: rawVerbiage.readTextPrompt,
|
|
12142
12280
|
onComplete: stopRecording
|
|
12143
|
-
})) : ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null,
|
|
12144
|
-
|
|
12281
|
+
})) : ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(IdVideoCaptureGuides, {
|
|
12282
|
+
classNames: classNames.guides,
|
|
12283
|
+
verbiage: rawVerbiage.guides,
|
|
12284
|
+
requestedAction: requestedAction,
|
|
12285
|
+
satisfied: satisfied,
|
|
12286
|
+
idCardGuideStatus: countdownStartedAt ? 'capturing' : 'ready',
|
|
12287
|
+
idCardCaptureProgress: !!countdownStartedAt ? 1 : 0,
|
|
12288
|
+
idCardCaptureGuideImages: idCardCaptureGuideImages,
|
|
12289
|
+
faceGuideBorderColor: satisfied ? colors.guidesSatisfiedColor : colors.guidesUnsatisfiedColor,
|
|
12290
|
+
idCardGuideBorderColor: satisfied ? colors.guidesSatisfiedColor : colors.guidesUnsatisfiedColor
|
|
12291
|
+
}), debugMode && capturingId && ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(ObjectDetectionDebugOverlayDiv, {
|
|
12292
|
+
"$flipX": !isRearFacing
|
|
12145
12293
|
}, detectedObjects.map(function (obj, i) {
|
|
12146
|
-
var _a;
|
|
12147
12294
|
return /*#__PURE__*/React__default.createElement(IdCaptureDetectedObjectDebugBox, {
|
|
12148
12295
|
key: i,
|
|
12149
12296
|
obj: obj,
|
|
12150
12297
|
scaling: debugScalingDetails,
|
|
12151
12298
|
color: "blue",
|
|
12152
|
-
flipX: !
|
|
12299
|
+
flipX: !isRearFacing
|
|
12153
12300
|
});
|
|
12154
12301
|
})), /*#__PURE__*/React__default.createElement(DebugBoundingBoxOverlay, null, face && ( /*#__PURE__*/React__default.createElement(SelfieCaptureFaceDebugBox, {
|
|
12155
12302
|
face: face,
|
|
@@ -12158,9 +12305,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
12158
12305
|
className: classNames.guidanceMessageContainer
|
|
12159
12306
|
}, /*#__PURE__*/React__default.createElement(GuidanceMessage, {
|
|
12160
12307
|
className: classNames.guidanceMessage,
|
|
12161
|
-
"$background": (
|
|
12162
|
-
"$textColor": (
|
|
12163
|
-
}, guidanceText))), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null,
|
|
12308
|
+
"$background": (_o = (_m = (_l = theme.guidanceMessages) === null || _l === void 0 ? void 0 : _l.negative) === null || _m === void 0 ? void 0 : _m.backgroundColor) !== null && _o !== void 0 ? _o : 'red',
|
|
12309
|
+
"$textColor": (_r = (_q = (_p = theme.guidanceMessages) === null || _p === void 0 ? void 0 : _p.negative) === null || _q === void 0 ? void 0 : _q.textColor) !== null && _r !== void 0 ? _r : 'white'
|
|
12310
|
+
}, guidanceText))), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React__default.createElement("br", null), isRecordingVideo ? '✅ Recording' : '❌ Not recording', /*#__PURE__*/React__default.createElement("br", null), goodFramesThresholdMet ? '✅' : '❌', " Good Frame Count:", ' ', goodFramesCount, "/", goodFramesThreshold, /*#__PURE__*/React__default.createElement("br", null), "Document Type: ", currentDetectedDocumentType, /*#__PURE__*/React__default.createElement("br", null), "Detection Score: ", currentDetectionScore, /*#__PURE__*/React__default.createElement("br", null), "Focus Score: ", currentFocusScore, /*#__PURE__*/React__default.createElement("br", null), "Best Frame Detection Score:", ' ', (_t = (_s = bestFrameDetails.current) === null || _s === void 0 ? void 0 : _s.detectionScore) !== null && _t !== void 0 ? _t : 0, /*#__PURE__*/React__default.createElement("br", null), "Best Frame Focus Score: ", (_v = (_u = bestFrameDetails.current) === null || _u === void 0 ? void 0 : _u.focusScore) !== null && _v !== void 0 ? _v : 0)), countdownRemaining > 0 && capturingId && ( /*#__PURE__*/React__default.createElement(CountdownContainer, {
|
|
12164
12311
|
className: classNames.countdownContainer
|
|
12165
12312
|
}, /*#__PURE__*/React__default.createElement(Countdown, {
|
|
12166
12313
|
className: classNames.countdown
|
|
@@ -12440,42 +12587,31 @@ var VideoIdWizard = function VideoIdWizard(_a) {
|
|
|
12440
12587
|
onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();
|
|
12441
12588
|
}, [onExitCapture]);
|
|
12442
12589
|
var faceLivenessGuides = useCallback(function (_a) {
|
|
12443
|
-
|
|
12444
|
-
|
|
12445
|
-
|
|
12446
|
-
|
|
12447
|
-
|
|
12448
|
-
|
|
12449
|
-
|
|
12450
|
-
|
|
12451
|
-
|
|
12452
|
-
|
|
12453
|
-
|
|
12454
|
-
|
|
12455
|
-
// }
|
|
12456
|
-
// idCardGuideStatus="disabled"
|
|
12457
|
-
// // idCardGuideBorderColor={
|
|
12458
|
-
// // status === 'success'
|
|
12459
|
-
// // ? colors.idVideoCapture?.guidesSatisfiedColor
|
|
12460
|
-
// // : colors.idVideoCapture?.guidesUnsatisfiedColor
|
|
12461
|
-
// // }
|
|
12462
|
-
// />
|
|
12463
|
-
[(_b = classNames.idVideoCapture) === null || _b === void 0 ? void 0 : _b.guides, (_c = colors.idVideoCapture) === null || _c === void 0 ? void 0 : _c.guidesSatisfiedColor, (_d = colors.idVideoCapture) === null || _d === void 0 ? void 0 : _d.guidesUnsatisfiedColor, idCaptureGuideImages, (_e = verbiage.idVideoCapture) === null || _e === void 0 ? void 0 : _e.guides]);
|
|
12590
|
+
var _b, _c, _d, _e;
|
|
12591
|
+
var status = _a.status;
|
|
12592
|
+
return /*#__PURE__*/React__default.createElement(IdVideoCaptureGuides, {
|
|
12593
|
+
idCardCaptureGuideImages: idCaptureGuideImages,
|
|
12594
|
+
classNames: (_b = classNames.idVideoCapture) === null || _b === void 0 ? void 0 : _b.guides,
|
|
12595
|
+
verbiage: (_c = verbiage.idVideoCapture) === null || _c === void 0 ? void 0 : _c.guides,
|
|
12596
|
+
requestedAction: "VERIFY_LIVENESS",
|
|
12597
|
+
faceGuideStatus: status,
|
|
12598
|
+
faceGuideBorderColor: status === 'success' ? (_d = colors.idVideoCapture) === null || _d === void 0 ? void 0 : _d.guidesSatisfiedColor : (_e = colors.idVideoCapture) === null || _e === void 0 ? void 0 : _e.guidesUnsatisfiedColor,
|
|
12599
|
+
idCardGuideStatus: "disabled"
|
|
12600
|
+
});
|
|
12601
|
+
}, [(_b = classNames.idVideoCapture) === null || _b === void 0 ? void 0 : _b.guides, (_c = colors.idVideoCapture) === null || _c === void 0 ? void 0 : _c.guidesSatisfiedColor, (_d = colors.idVideoCapture) === null || _d === void 0 ? void 0 : _d.guidesUnsatisfiedColor, idCaptureGuideImages, (_e = verbiage.idVideoCapture) === null || _e === void 0 ? void 0 : _e.guides]);
|
|
12464
12602
|
if (submissionStatus === SubmissionStatus.SUBMITTING) {
|
|
12465
12603
|
return /*#__PURE__*/React__default.createElement(PageContainer, {
|
|
12466
12604
|
className: "flex"
|
|
12467
12605
|
}, /*#__PURE__*/React__default.createElement(Spinner, null));
|
|
12468
12606
|
}
|
|
12469
|
-
return /*#__PURE__*/React__default.createElement(
|
|
12470
|
-
|
|
12471
|
-
preferContinuityCamera: isCapturingId,
|
|
12607
|
+
return /*#__PURE__*/React__default.createElement(CameraStoreProvider, {
|
|
12608
|
+
preferIphoneContinuityCamera: isCapturingId,
|
|
12472
12609
|
preferFrontFacingCamera: !isCapturingId,
|
|
12473
12610
|
requireMicrophoneAccess: !isCapturingId && !!readTextPrompt,
|
|
12474
12611
|
maxVideoWidth: isCapturingId ? 1920 : 1280,
|
|
12475
12612
|
maxFps: isCapturingId ? 60 : 30,
|
|
12476
12613
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
12477
|
-
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12478
|
-
debugMode: debugMode
|
|
12614
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12479
12615
|
}, /*#__PURE__*/React__default.createElement(IdCaptureModelsProvider, {
|
|
12480
12616
|
autoStart: false,
|
|
12481
12617
|
documentDetectionModelUrl: (_g = (_f = idCaptureProps.assets) === null || _f === void 0 ? void 0 : _f.documentDetectionModelUrl) !== null && _g !== void 0 ? _g : '',
|
|
@@ -12601,17 +12737,15 @@ function CompositeWizard(_a) {
|
|
|
12601
12737
|
_o = _a.captureSignatureVideo,
|
|
12602
12738
|
captureSignatureVideo = _o === void 0 ? false : _o,
|
|
12603
12739
|
onCameraAccessDenied = _a.onCameraAccessDenied,
|
|
12604
|
-
onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied
|
|
12605
|
-
|
|
12606
|
-
|
|
12607
|
-
|
|
12608
|
-
|
|
12609
|
-
|
|
12610
|
-
|
|
12611
|
-
|
|
12612
|
-
|
|
12613
|
-
checkIndex = _r[0],
|
|
12614
|
-
setCheckIndex = _r[1];
|
|
12740
|
+
onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied;
|
|
12741
|
+
var _p = useContext(SubmissionContext),
|
|
12742
|
+
submit = _p.submit,
|
|
12743
|
+
submissionStatus = _p.submissionStatus,
|
|
12744
|
+
setSignatureData = _p.setSignatureData,
|
|
12745
|
+
setAdditionalDocuments = _p.setAdditionalDocuments;
|
|
12746
|
+
var _q = useState(0),
|
|
12747
|
+
checkIndex = _q[0],
|
|
12748
|
+
setCheckIndex = _q[1];
|
|
12615
12749
|
var checks = useMemo(function () {
|
|
12616
12750
|
var _a, _b;
|
|
12617
12751
|
var checks = __spreadArray([], userChecks, true);
|
|
@@ -12689,16 +12823,6 @@ function CompositeWizard(_a) {
|
|
|
12689
12823
|
return i + 1;
|
|
12690
12824
|
});
|
|
12691
12825
|
}, [onVideoSignatureCompleteProp]);
|
|
12692
|
-
var _s = useState(0),
|
|
12693
|
-
videoSignatureAttempts = _s[0],
|
|
12694
|
-
setVideoSignatureAttempts = _s[1];
|
|
12695
|
-
var onVideoSignatureRetryProp = videoSignatureCaptureProps.onRetryClicked;
|
|
12696
|
-
var onVideoSignatureRetry = useCallback(function () {
|
|
12697
|
-
onVideoSignatureRetryProp === null || onVideoSignatureRetryProp === void 0 ? void 0 : onVideoSignatureRetryProp();
|
|
12698
|
-
setVideoSignatureAttempts(function (n) {
|
|
12699
|
-
return n + 1;
|
|
12700
|
-
});
|
|
12701
|
-
}, [onVideoSignatureRetryProp]);
|
|
12702
12826
|
var onAdditionalDocumentCaptureCompleteProp = additionalDocumentCaptureProps === null || additionalDocumentCaptureProps === void 0 ? void 0 : additionalDocumentCaptureProps.onComplete;
|
|
12703
12827
|
var onAdditionalDocumentCaptureComplete = useCallback(function (uploadedDocuments) {
|
|
12704
12828
|
setAdditionalDocuments(uploadedDocuments);
|
|
@@ -12727,11 +12851,9 @@ function CompositeWizard(_a) {
|
|
|
12727
12851
|
}
|
|
12728
12852
|
switch (checks[checkIndex]) {
|
|
12729
12853
|
case 'IdCapture':
|
|
12730
|
-
return /*#__PURE__*/React__default.createElement(
|
|
12731
|
-
key: "IdCaptureCamera",
|
|
12854
|
+
return /*#__PURE__*/React__default.createElement(CameraStoreProvider, {
|
|
12732
12855
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
12733
|
-
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12734
|
-
debugMode: debugMode
|
|
12856
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12735
12857
|
}, /*#__PURE__*/React__default.createElement(IdCaptureModelsProvider, {
|
|
12736
12858
|
autoStart: false,
|
|
12737
12859
|
documentDetectionModelUrl: (_d = (_c = idCaptureProps.assets) === null || _c === void 0 ? void 0 : _c.documentDetectionModelUrl) !== null && _d !== void 0 ? _d : '',
|
|
@@ -12748,13 +12870,11 @@ function CompositeWizard(_a) {
|
|
|
12748
12870
|
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12749
12871
|
}));
|
|
12750
12872
|
case 'FaceLiveness':
|
|
12751
|
-
return /*#__PURE__*/React__default.createElement(
|
|
12752
|
-
key: "FaceLivenessCamera",
|
|
12873
|
+
return /*#__PURE__*/React__default.createElement(CameraStoreProvider, {
|
|
12753
12874
|
preferFrontFacingCamera: true,
|
|
12754
|
-
|
|
12875
|
+
preferIphoneContinuityCamera: false,
|
|
12755
12876
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
12756
|
-
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12757
|
-
debugMode: debugMode
|
|
12877
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12758
12878
|
}, /*#__PURE__*/React__default.createElement(SelfieGuidanceModelsProvider, {
|
|
12759
12879
|
autoStart: false,
|
|
12760
12880
|
onModelError: faceLivenessProps.onModelError,
|
|
@@ -12767,15 +12887,13 @@ function CompositeWizard(_a) {
|
|
|
12767
12887
|
onAccept: onSignatureCaptureSuccess
|
|
12768
12888
|
}));
|
|
12769
12889
|
case 'VideoSignatureCapture':
|
|
12770
|
-
return /*#__PURE__*/React__default.createElement(
|
|
12771
|
-
|
|
12772
|
-
preferContinuityCamera: false,
|
|
12890
|
+
return /*#__PURE__*/React__default.createElement(CameraStoreProvider, {
|
|
12891
|
+
preferIphoneContinuityCamera: false,
|
|
12773
12892
|
preferFrontFacingCamera: true,
|
|
12774
12893
|
maxVideoWidth: 1280,
|
|
12775
12894
|
maxFps: 30,
|
|
12776
12895
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
12777
|
-
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12778
|
-
debugMode: debugMode
|
|
12896
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12779
12897
|
}, /*#__PURE__*/React__default.createElement(SelfieGuidanceModelsProvider, {
|
|
12780
12898
|
autoStart: false,
|
|
12781
12899
|
throttleMs: 250,
|
|
@@ -12783,8 +12901,7 @@ function CompositeWizard(_a) {
|
|
|
12783
12901
|
modelLoadTimeoutMs: videoSignatureCaptureProps.modelLoadTimeoutMs,
|
|
12784
12902
|
requireVerticalFaceCentering: false
|
|
12785
12903
|
}, /*#__PURE__*/React__default.createElement(VideoSignatureWizard, _assign({}, videoSignatureCaptureProps, {
|
|
12786
|
-
onComplete: onVideoSignatureComplete
|
|
12787
|
-
onRetryClicked: onVideoSignatureRetry
|
|
12904
|
+
onComplete: onVideoSignatureComplete
|
|
12788
12905
|
}))));
|
|
12789
12906
|
case 'AdditionalDocumentCapture':
|
|
12790
12907
|
return /*#__PURE__*/React__default.createElement(AdditionalDocumentCaptureWizard, _assign({}, additionalDocumentCaptureProps, {
|
|
@@ -13235,8 +13352,7 @@ var IdValidation = function IdValidation(_a) {
|
|
|
13235
13352
|
videoSignatureCaptureProps: videoSignatureCaptureProps,
|
|
13236
13353
|
captureSignature: captureSignature,
|
|
13237
13354
|
captureSignatureVideo: captureSignatureVideo,
|
|
13238
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
13239
|
-
debugMode: debugMode
|
|
13355
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
13240
13356
|
}))));
|
|
13241
13357
|
};
|
|
13242
13358
|
|
|
@@ -13342,8 +13458,7 @@ var FaceValidation = function FaceValidation(_a) {
|
|
|
13342
13458
|
return ['FaceLiveness'];
|
|
13343
13459
|
}, []),
|
|
13344
13460
|
faceLivenessProps: faceLivenessProps,
|
|
13345
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
13346
|
-
debugMode: debugMode
|
|
13461
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
13347
13462
|
}))));
|
|
13348
13463
|
};
|
|
13349
13464
|
|
|
@@ -13576,8 +13691,7 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
|
|
|
13576
13691
|
additionalDocumentCaptureProps: additionalDocumentCaptureProps,
|
|
13577
13692
|
captureSignature: captureSignature,
|
|
13578
13693
|
captureSignatureVideo: captureSignatureVideo,
|
|
13579
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
13580
|
-
debugMode: debugMode
|
|
13694
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
13581
13695
|
}))));
|
|
13582
13696
|
};
|
|
13583
13697
|
|
|
@@ -13832,8 +13946,7 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
|
|
|
13832
13946
|
videoSignatureCaptureProps: videoSignatureCaptureProps,
|
|
13833
13947
|
captureSignature: captureSignature,
|
|
13834
13948
|
captureSignatureVideo: captureSignatureVideo,
|
|
13835
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
13836
|
-
debugMode: debugMode
|
|
13949
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
13837
13950
|
}))));
|
|
13838
13951
|
};
|
|
13839
13952
|
|
|
@@ -14165,7 +14278,7 @@ var CustomerVerificationWizard = function CustomerVerificationWizard(_a) {
|
|
|
14165
14278
|
var _l = useState('LOADING'),
|
|
14166
14279
|
captureState = _l[0],
|
|
14167
14280
|
setCaptureState = _l[1];
|
|
14168
|
-
var _m =
|
|
14281
|
+
var _m = useCameraStore(),
|
|
14169
14282
|
cameraAccessDenied = _m.cameraAccessDenied,
|
|
14170
14283
|
releaseCameraAccess = _m.releaseCameraAccess;
|
|
14171
14284
|
var _o = useContext(SelfieGuidanceModelsContext),
|
|
@@ -14371,10 +14484,9 @@ var CustomerVerification = function CustomerVerification(_a) {
|
|
|
14371
14484
|
onSubmit: onSubmit,
|
|
14372
14485
|
geolocationEnabled: geolocationEnabled,
|
|
14373
14486
|
geolocationRequired: geolocationRequired
|
|
14374
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
14487
|
+
}, /*#__PURE__*/React__default.createElement(CameraStoreProvider, {
|
|
14375
14488
|
preferFrontFacingCamera: true,
|
|
14376
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
14377
|
-
debugMode: debugMode
|
|
14489
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
14378
14490
|
}, /*#__PURE__*/React__default.createElement(SelfieGuidanceModelsProvider, {
|
|
14379
14491
|
autoStart: false,
|
|
14380
14492
|
onModelError: onModelError,
|
|
@@ -14723,7 +14835,7 @@ var CustomerIdentificationWizard = function CustomerIdentificationWizard(_a) {
|
|
|
14723
14835
|
var _l = useState('LOADING'),
|
|
14724
14836
|
captureState = _l[0],
|
|
14725
14837
|
setCaptureState = _l[1];
|
|
14726
|
-
var _m =
|
|
14838
|
+
var _m = useCameraStore(),
|
|
14727
14839
|
cameraAccessDenied = _m.cameraAccessDenied,
|
|
14728
14840
|
releaseCameraAccess = _m.releaseCameraAccess;
|
|
14729
14841
|
var _o = useContext(SelfieGuidanceModelsContext),
|
|
@@ -14927,10 +15039,9 @@ var CustomerIdentification = function CustomerIdentification(_a) {
|
|
|
14927
15039
|
onSubmit: onSubmit,
|
|
14928
15040
|
geolocationEnabled: geolocationEnabled,
|
|
14929
15041
|
geolocationRequired: geolocationRequired
|
|
14930
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
15042
|
+
}, /*#__PURE__*/React__default.createElement(CameraStoreProvider, {
|
|
14931
15043
|
preferFrontFacingCamera: true,
|
|
14932
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
14933
|
-
debugMode: debugMode
|
|
15044
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
14934
15045
|
}, /*#__PURE__*/React__default.createElement(SelfieGuidanceModelsProvider, {
|
|
14935
15046
|
autoStart: false,
|
|
14936
15047
|
modelLoadTimeoutMs: modelLoadTimeoutMs,
|
|
@@ -15257,8 +15368,7 @@ var VideoIdValidation = function VideoIdValidation(_a) {
|
|
|
15257
15368
|
captureSignature: captureSignature,
|
|
15258
15369
|
captureSignatureVideo: captureSignatureVideo,
|
|
15259
15370
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
15260
|
-
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
15261
|
-
debugMode: debugMode
|
|
15371
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
15262
15372
|
}))));
|
|
15263
15373
|
};
|
|
15264
15374
|
|
|
@@ -15415,8 +15525,7 @@ var CustomerBiometricsEnrollment = function CustomerBiometricsEnrollment(_a) {
|
|
|
15415
15525
|
videoSignatureCaptureProps: videoSignatureCaptureProps,
|
|
15416
15526
|
captureSignature: captureSignature,
|
|
15417
15527
|
captureSignatureVideo: captureSignatureVideo,
|
|
15418
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
15419
|
-
debugMode: debugMode
|
|
15528
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
15420
15529
|
}))));
|
|
15421
15530
|
};
|
|
15422
15531
|
|
|
@@ -15474,11 +15583,10 @@ var DocumentCapture = function DocumentCapture(_a) {
|
|
|
15474
15583
|
onDocumentUploadFailed: onDocumentUploadFailed,
|
|
15475
15584
|
geolocationEnabled: geolocationEnabled,
|
|
15476
15585
|
geolocationRequired: geolocationRequired
|
|
15477
|
-
}, /*#__PURE__*/React__default.createElement(
|
|
15586
|
+
}, /*#__PURE__*/React__default.createElement(CameraStoreProvider, {
|
|
15478
15587
|
requestAccessAutomatically: false,
|
|
15479
|
-
|
|
15480
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
15481
|
-
debugMode: debugMode
|
|
15588
|
+
preferIphoneContinuityCamera: true,
|
|
15589
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
15482
15590
|
}, /*#__PURE__*/React__default.createElement(DocumentCaptureWizard, {
|
|
15483
15591
|
onSuccess: onComplete,
|
|
15484
15592
|
onExitCapture: onExitCapture,
|