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
|
@@ -9,10 +9,12 @@ var tusJsClient = require('tus-js-client');
|
|
|
9
9
|
var SparkMD5 = require('spark-md5');
|
|
10
10
|
var useResizeObserver = require('use-resize-observer');
|
|
11
11
|
var tasksVision = require('@mediapipe/tasks-vision');
|
|
12
|
+
var zustand = require('zustand');
|
|
12
13
|
var useDebounce = require('use-debounce');
|
|
13
14
|
var reactDom = require('react-dom');
|
|
14
15
|
var LanguageDetector = require('i18next-browser-languagedetector');
|
|
15
16
|
var i18n = require('i18next');
|
|
17
|
+
var shallow = require('zustand/react/shallow');
|
|
16
18
|
var SignatureCanvas = require('react-signature-canvas');
|
|
17
19
|
|
|
18
20
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -232,7 +234,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
232
234
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
233
235
|
};
|
|
234
236
|
|
|
235
|
-
var webSdkVersion = '2.2.
|
|
237
|
+
var webSdkVersion = '2.2.36';
|
|
236
238
|
|
|
237
239
|
function getPlatform() {
|
|
238
240
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -393,7 +395,7 @@ function videoDataUrlToB64(url) {
|
|
|
393
395
|
});
|
|
394
396
|
}
|
|
395
397
|
|
|
396
|
-
var PageContainerDiv = styled__default.default.div(templateObject_1$
|
|
398
|
+
var PageContainerDiv = styled__default.default.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) {
|
|
397
399
|
var _a;
|
|
398
400
|
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 ");
|
|
399
401
|
}, function (props) {
|
|
@@ -433,7 +435,7 @@ var PageContainer = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
433
435
|
}, dimensionsCalculated && children);
|
|
434
436
|
});
|
|
435
437
|
PageContainer.displayName = 'PageContainer';
|
|
436
|
-
var templateObject_1$
|
|
438
|
+
var templateObject_1$L;
|
|
437
439
|
|
|
438
440
|
var LoaderButton = function LoaderButton(_a) {
|
|
439
441
|
var children = _a.children,
|
|
@@ -492,30 +494,30 @@ var LoaderButton = function LoaderButton(_a) {
|
|
|
492
494
|
className: "ladda-label"
|
|
493
495
|
}, children));
|
|
494
496
|
};
|
|
495
|
-
var StyledButton = styled__default.default.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) {
|
|
497
|
+
var StyledButton = styled__default.default.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) {
|
|
496
498
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
497
499
|
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 ");
|
|
498
500
|
});
|
|
499
|
-
var templateObject_1$
|
|
501
|
+
var templateObject_1$K;
|
|
500
502
|
|
|
501
|
-
var OverlayContainer = styled__default.default(PageContainer)(templateObject_1$
|
|
503
|
+
var OverlayContainer = styled__default.default(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) {
|
|
502
504
|
return props.theme.background ? "".concat(props.theme.background) : "white";
|
|
503
505
|
}, function (props) {
|
|
504
506
|
return props.theme.textColor ? "color: ".concat(props.theme.textColor, ";") : "";
|
|
505
507
|
});
|
|
506
|
-
var OverlayInner$2 = styled__default.default.div(templateObject_2$
|
|
508
|
+
var OverlayInner$2 = styled__default.default.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) {
|
|
507
509
|
var _a;
|
|
508
510
|
return (_a = props.theme.textAlign) !== null && _a !== void 0 ? _a : 'center';
|
|
509
511
|
}, function (props) {
|
|
510
512
|
return props.theme.padding ? "box-sizing: border-box; padding: ".concat(props.theme.padding, ";") : "";
|
|
511
513
|
});
|
|
512
|
-
var OverlayImageContainer = styled__default.default.div(templateObject_3$
|
|
513
|
-
var OverlayImageRow = styled__default.default.div(templateObject_4$
|
|
514
|
-
var GrayOverlayContainer = styled__default.default(OverlayContainer)(templateObject_5$
|
|
515
|
-
var ButtonsColumn = styled__default.default.div(templateObject_6$
|
|
516
|
-
var WideButton = styled__default.default(LoaderButton)(templateObject_7$
|
|
514
|
+
var OverlayImageContainer = styled__default.default.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"])));
|
|
515
|
+
var OverlayImageRow = styled__default.default.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"])));
|
|
516
|
+
var GrayOverlayContainer = styled__default.default(OverlayContainer)(templateObject_5$c || (templateObject_5$c = __makeTemplateObject(["\n background: #f7f6fb;\n"], ["\n background: #f7f6fb;\n"])));
|
|
517
|
+
var ButtonsColumn = styled__default.default.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"])));
|
|
518
|
+
var WideButton = styled__default.default(LoaderButton)(templateObject_7$6 || (templateObject_7$6 = __makeTemplateObject(["\n width: 100%;\n border-radius: 30px;\n"], ["\n width: 100%;\n border-radius: 30px;\n"])));
|
|
517
519
|
var WideBorderButton = styled__default.default(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"])));
|
|
518
|
-
var templateObject_1$
|
|
520
|
+
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;
|
|
519
521
|
|
|
520
522
|
var GeolocationAccessDeniedOverlay = function GeolocationAccessDeniedOverlay(_a) {
|
|
521
523
|
var accessBlockedImageUrl = _a.accessBlockedImageUrl;
|
|
@@ -762,13 +764,13 @@ var SessionValidationErrorOverlay = function SessionValidationErrorOverlay(_a) {
|
|
|
762
764
|
}, retryText)))));
|
|
763
765
|
};
|
|
764
766
|
|
|
765
|
-
var wavesAnimation = styled.keyframes(templateObject_1$
|
|
766
|
-
var progressBarAnimation = styled.keyframes(templateObject_2$
|
|
767
|
-
var dualRingSpinnerAnimation = styled.keyframes(templateObject_3$
|
|
768
|
-
var progressBorderAnimation = styled.keyframes(templateObject_4$
|
|
769
|
-
var templateObject_1$
|
|
767
|
+
var wavesAnimation = styled.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"])));
|
|
768
|
+
var progressBarAnimation = styled.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"])));
|
|
769
|
+
var dualRingSpinnerAnimation = styled.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"])));
|
|
770
|
+
var progressBorderAnimation = styled.keyframes(templateObject_4$k || (templateObject_4$k = __makeTemplateObject(["\n to {\n stroke-dashoffset: 0;\n }\n"], ["\n to {\n stroke-dashoffset: 0;\n }\n"])));
|
|
771
|
+
var templateObject_1$I, templateObject_2$z, templateObject_3$q, templateObject_4$k;
|
|
770
772
|
|
|
771
|
-
var Spinner = styled__default.default.div(templateObject_1$
|
|
773
|
+
var Spinner = styled__default.default.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) {
|
|
772
774
|
var $size = _a.$size;
|
|
773
775
|
return $size !== null && $size !== void 0 ? $size : 80;
|
|
774
776
|
}, function (_a) {
|
|
@@ -793,7 +795,7 @@ var Spinner = styled__default.default.div(templateObject_1$F || (templateObject_
|
|
|
793
795
|
var $color = _a.$color;
|
|
794
796
|
return $color !== null && $color !== void 0 ? $color : '#888';
|
|
795
797
|
}, dualRingSpinnerAnimation);
|
|
796
|
-
var templateObject_1$
|
|
798
|
+
var templateObject_1$H;
|
|
797
799
|
|
|
798
800
|
exports.defaultAuthUrl = 'https://portal-api.idmission.com';
|
|
799
801
|
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'];
|
|
@@ -801,11 +803,11 @@ function setDefaultAuthUrl(url) {
|
|
|
801
803
|
if (!allowedAuthUrls.includes(url)) throw new Error('invalid auth url');
|
|
802
804
|
exports.defaultAuthUrl = url;
|
|
803
805
|
}
|
|
804
|
-
var initialState$
|
|
806
|
+
var initialState$6 = {
|
|
805
807
|
authUrl: exports.defaultAuthUrl,
|
|
806
808
|
sessionCheckState: 'READY'
|
|
807
809
|
};
|
|
808
|
-
var AuthStateContext = /*#__PURE__*/React.createContext(initialState$
|
|
810
|
+
var AuthStateContext = /*#__PURE__*/React.createContext(initialState$6);
|
|
809
811
|
var AuthDispatchContext = /*#__PURE__*/React.createContext(function () {});
|
|
810
812
|
var reducer$4 = function reducer(state, action) {
|
|
811
813
|
switch (action.type) {
|
|
@@ -837,7 +839,7 @@ function useAuthReducer(authUrl, sessionId) {
|
|
|
837
839
|
if (authUrl === void 0) {
|
|
838
840
|
authUrl = exports.defaultAuthUrl;
|
|
839
841
|
}
|
|
840
|
-
var _a = React.useReducer(reducer$4, _assign(_assign({}, initialState$
|
|
842
|
+
var _a = React.useReducer(reducer$4, _assign(_assign({}, initialState$6), {
|
|
841
843
|
authUrl: authUrl
|
|
842
844
|
})),
|
|
843
845
|
state = _a[0],
|
|
@@ -1917,608 +1919,6 @@ function calculateMd5(blob) {
|
|
|
1917
1919
|
});
|
|
1918
1920
|
}
|
|
1919
1921
|
|
|
1920
|
-
function getFrameDimensions(frame) {
|
|
1921
|
-
var frameWidth = frame.width,
|
|
1922
|
-
frameHeight = frame.height;
|
|
1923
|
-
if (frame instanceof HTMLImageElement) {
|
|
1924
|
-
frameWidth = frame.naturalWidth;
|
|
1925
|
-
frameHeight = frame.naturalHeight;
|
|
1926
|
-
}
|
|
1927
|
-
if (frame instanceof HTMLVideoElement) {
|
|
1928
|
-
frameWidth = frame.videoWidth;
|
|
1929
|
-
frameHeight = frame.videoHeight;
|
|
1930
|
-
}
|
|
1931
|
-
return [frameWidth, frameHeight];
|
|
1932
|
-
}
|
|
1933
|
-
|
|
1934
|
-
var InvisibleCanvas = styled__default.default.canvas(templateObject_1$E || (templateObject_1$E = __makeTemplateObject(["\n display: none;\n"], ["\n display: none;\n"])));
|
|
1935
|
-
function drawToCanvas(canvas, frame, width, height) {
|
|
1936
|
-
if (!canvas) return;
|
|
1937
|
-
var ctx = canvas.getContext('2d');
|
|
1938
|
-
if (!ctx) return;
|
|
1939
|
-
if (!width || !height) {
|
|
1940
|
-
var _a = getFrameDimensions(frame),
|
|
1941
|
-
frameWidth = _a[0],
|
|
1942
|
-
frameHeight = _a[1];
|
|
1943
|
-
width || (width = frameWidth);
|
|
1944
|
-
height || (height = frameHeight);
|
|
1945
|
-
}
|
|
1946
|
-
canvas.width = width;
|
|
1947
|
-
canvas.height = height;
|
|
1948
|
-
ctx.drawImage(frame, 0, 0, width, height);
|
|
1949
|
-
}
|
|
1950
|
-
function clearCanvas(canvas) {
|
|
1951
|
-
var _a;
|
|
1952
|
-
(_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);
|
|
1953
|
-
}
|
|
1954
|
-
var templateObject_1$E;
|
|
1955
|
-
|
|
1956
|
-
function listAvailableCameras(facingMode_1) {
|
|
1957
|
-
return __awaiter(this, arguments, void 0, function (facingMode, requestMicAccess) {
|
|
1958
|
-
var cameraEnumerationStream, videoDevices;
|
|
1959
|
-
if (requestMicAccess === void 0) {
|
|
1960
|
-
requestMicAccess = false;
|
|
1961
|
-
}
|
|
1962
|
-
return __generator(this, function (_a) {
|
|
1963
|
-
switch (_a.label) {
|
|
1964
|
-
case 0:
|
|
1965
|
-
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
1966
|
-
video: {
|
|
1967
|
-
facingMode: {
|
|
1968
|
-
exact: facingMode
|
|
1969
|
-
}
|
|
1970
|
-
},
|
|
1971
|
-
audio: requestMicAccess
|
|
1972
|
-
})
|
|
1973
|
-
// This lists all available cameras attached to the user's device.
|
|
1974
|
-
];
|
|
1975
|
-
case 1:
|
|
1976
|
-
cameraEnumerationStream = _a.sent();
|
|
1977
|
-
return [4 /*yield*/, navigator.mediaDevices.enumerateDevices()];
|
|
1978
|
-
case 2:
|
|
1979
|
-
videoDevices = _a.sent().filter(function (_a) {
|
|
1980
|
-
var kind = _a.kind;
|
|
1981
|
-
return kind === 'videoinput';
|
|
1982
|
-
});
|
|
1983
|
-
// Release the access to the user's camera that we obtained for enumeration purposes.
|
|
1984
|
-
cameraEnumerationStream.getVideoTracks().forEach(function (track) {
|
|
1985
|
-
track.enabled = false;
|
|
1986
|
-
track.stop();
|
|
1987
|
-
});
|
|
1988
|
-
cameraEnumerationStream = null;
|
|
1989
|
-
return [2 /*return*/, videoDevices];
|
|
1990
|
-
}
|
|
1991
|
-
});
|
|
1992
|
-
});
|
|
1993
|
-
}
|
|
1994
|
-
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) {
|
|
1995
|
-
return s.toLocaleLowerCase().split(' ').join('');
|
|
1996
|
-
});
|
|
1997
|
-
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) {
|
|
1998
|
-
return s.toLocaleLowerCase().split(' ').join('');
|
|
1999
|
-
});
|
|
2000
|
-
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) {
|
|
2001
|
-
return s.toLocaleLowerCase().split(' ').join('');
|
|
2002
|
-
});
|
|
2003
|
-
var labelMatches = function labelMatches(labelOrDevice, labelSetOrLabel) {
|
|
2004
|
-
var label = labelOrDevice instanceof MediaDeviceInfo ? getDeviceLabel(labelOrDevice) : labelOrDevice;
|
|
2005
|
-
var labelSet = typeof labelSetOrLabel === 'string' ? [labelSetOrLabel] : labelSetOrLabel;
|
|
2006
|
-
return labelSet.some(function (l) {
|
|
2007
|
-
return label.includes(l);
|
|
2008
|
-
});
|
|
2009
|
-
};
|
|
2010
|
-
var getDeviceLabel = function getDeviceLabel(deviceInfo) {
|
|
2011
|
-
return deviceInfo.label.toLocaleLowerCase().split(' ').join('');
|
|
2012
|
-
};
|
|
2013
|
-
var currentCamera;
|
|
2014
|
-
var currentAudioStream;
|
|
2015
|
-
function obtainCameraAccess(stream, deviceLabel, video) {
|
|
2016
|
-
releaseCameraAccess();
|
|
2017
|
-
log('obtaining camera access...');
|
|
2018
|
-
var _a = stream.getVideoTracks()[0].getSettings(),
|
|
2019
|
-
width = _a.width,
|
|
2020
|
-
height = _a.height;
|
|
2021
|
-
var label = deviceLabel.toLocaleLowerCase().split(' ').join('');
|
|
2022
|
-
var isRearFacing = labelMatches(label, __spreadArray(__spreadArray(__spreadArray([], rearLabels, true), backUltraWideLabels, true), ['iphone'], false));
|
|
2023
|
-
var release = function release() {
|
|
2024
|
-
stream.getTracks().forEach(function (track) {
|
|
2025
|
-
track.enabled = false;
|
|
2026
|
-
track.stop();
|
|
2027
|
-
});
|
|
2028
|
-
if (video) {
|
|
2029
|
-
video.pause();
|
|
2030
|
-
video.srcObject = null;
|
|
2031
|
-
video.src = '';
|
|
2032
|
-
}
|
|
2033
|
-
};
|
|
2034
|
-
width || (width = 0);
|
|
2035
|
-
height || (height = 0);
|
|
2036
|
-
currentCamera = {
|
|
2037
|
-
label: deviceLabel,
|
|
2038
|
-
stream: stream,
|
|
2039
|
-
width: width,
|
|
2040
|
-
height: height,
|
|
2041
|
-
isRearFacing: isRearFacing,
|
|
2042
|
-
release: release
|
|
2043
|
-
};
|
|
2044
|
-
if (video) video.srcObject = stream;
|
|
2045
|
-
return currentCamera;
|
|
2046
|
-
}
|
|
2047
|
-
function releaseCameraAccess() {
|
|
2048
|
-
if (!currentCamera) return;
|
|
2049
|
-
log('releasing camera access...');
|
|
2050
|
-
currentCamera.release();
|
|
2051
|
-
currentCamera = undefined;
|
|
2052
|
-
}
|
|
2053
|
-
function releaseMicrophoneAccess() {
|
|
2054
|
-
var _a;
|
|
2055
|
-
if (!currentAudioStream) return;
|
|
2056
|
-
log('releasing microphone access...');
|
|
2057
|
-
(_a = currentAudioStream.stop) === null || _a === void 0 ? void 0 : _a.call(currentAudioStream);
|
|
2058
|
-
currentAudioStream.getAudioTracks().forEach(function (t) {
|
|
2059
|
-
var _a;
|
|
2060
|
-
(_a = t.stop) === null || _a === void 0 ? void 0 : _a.call(t);
|
|
2061
|
-
});
|
|
2062
|
-
currentAudioStream = undefined;
|
|
2063
|
-
}
|
|
2064
|
-
function usePreferredCaptureDevice(_a) {
|
|
2065
|
-
var _b = _a === void 0 ? {} : _a,
|
|
2066
|
-
_c = _b.requestAccessAutomatically,
|
|
2067
|
-
requestAccessAutomatically = _c === void 0 ? true : _c,
|
|
2068
|
-
_d = _b.preferFrontFacingCamera,
|
|
2069
|
-
preferFrontFacingCamera = _d === void 0 ? false : _d,
|
|
2070
|
-
_e = _b.preferContinuityCamera,
|
|
2071
|
-
preferContinuityCamera = _e === void 0 ? true : _e,
|
|
2072
|
-
_f = _b.requireMicrophoneAccess,
|
|
2073
|
-
requireMicrophoneAccess = _f === void 0 ? false : _f,
|
|
2074
|
-
_g = _b.maxVideoWidth,
|
|
2075
|
-
maxVideoWidth = _g === void 0 ? 1920 : _g,
|
|
2076
|
-
maxFps = _b.maxFps,
|
|
2077
|
-
_h = _b.debugMode,
|
|
2078
|
-
debugMode = _h === void 0 ? false : _h;
|
|
2079
|
-
var videoRef = React.useRef(null);
|
|
2080
|
-
var videoRefStack = React.useRef([]);
|
|
2081
|
-
var cameraRef = React.useRef(null);
|
|
2082
|
-
var _j = React.useState(false),
|
|
2083
|
-
cameraReady = _j[0],
|
|
2084
|
-
setCameraReady = _j[1];
|
|
2085
|
-
var _k = React.useState(false),
|
|
2086
|
-
microphoneReady = _k[0],
|
|
2087
|
-
setMicrophoneReady = _k[1];
|
|
2088
|
-
var _l = React.useState(null),
|
|
2089
|
-
videoDevice = _l[0],
|
|
2090
|
-
setVideoDevice = _l[1];
|
|
2091
|
-
var _m = React.useState(null),
|
|
2092
|
-
audioStream = _m[0],
|
|
2093
|
-
setAudioStream = _m[1];
|
|
2094
|
-
var _o = React.useState(false),
|
|
2095
|
-
videoLoaded = _o[0],
|
|
2096
|
-
setVideoLoaded = _o[1];
|
|
2097
|
-
var _p = React.useState(false),
|
|
2098
|
-
iphoneContinuityCameraAvailable = _p[0],
|
|
2099
|
-
setIphoneContinuityCameraAvailable = _p[1];
|
|
2100
|
-
var _q = React.useState(preferContinuityCamera),
|
|
2101
|
-
iphoneContinuityCameraAllowed = _q[0],
|
|
2102
|
-
setIphoneContinuityCameraAllowed = _q[1];
|
|
2103
|
-
var _r = React.useState(false),
|
|
2104
|
-
iphoneContinuityCameraDenied = _r[0],
|
|
2105
|
-
setIphoneContinuityCameraDenied = _r[1];
|
|
2106
|
-
var _s = React.useState(false),
|
|
2107
|
-
cameraAccessDenied = _s[0],
|
|
2108
|
-
setCameraAccessDenied = _s[1];
|
|
2109
|
-
var _t = React.useState(false),
|
|
2110
|
-
microphoneAccessDenied = _t[0],
|
|
2111
|
-
setMicrophoneAccessDenied = _t[1];
|
|
2112
|
-
var videoRefElement = videoRef.current;
|
|
2113
|
-
React.useEffect(function pushVideoRefToStackWhenChanged() {
|
|
2114
|
-
// proceed if the video element being mounted is not already at the top of the videoRefStack.
|
|
2115
|
-
var topOfStack = videoRefStack.current.slice(-1)[0];
|
|
2116
|
-
if (videoRefElement && videoRefElement !== topOfStack) {
|
|
2117
|
-
log('adding video to stack', videoRefElement);
|
|
2118
|
-
videoRefStack.current.push(videoRefElement);
|
|
2119
|
-
}
|
|
2120
|
-
}, [videoRefElement]);
|
|
2121
|
-
var onVideoUnmounted = React.useCallback(function (videoElement) {
|
|
2122
|
-
log('removing video from stack', videoElement);
|
|
2123
|
-
videoRefStack.current = videoRefStack.current.filter(function (v) {
|
|
2124
|
-
return v !== videoElement;
|
|
2125
|
-
});
|
|
2126
|
-
videoRef.current = videoRefStack.current.slice(-1)[0]; // top of stack.
|
|
2127
|
-
log('new videoRef is', videoRef.current);
|
|
2128
|
-
}, []);
|
|
2129
|
-
React.useEffect(function resetCameraOnContinuityPreferenceChanged() {
|
|
2130
|
-
if (debugMode) {
|
|
2131
|
-
log('iphone continuity camera allowed changed', iphoneContinuityCameraAllowed);
|
|
2132
|
-
}
|
|
2133
|
-
releaseCameraAccess();
|
|
2134
|
-
cameraRef.current = null;
|
|
2135
|
-
setVideoLoaded(false);
|
|
2136
|
-
}, [debugMode, iphoneContinuityCameraAllowed]);
|
|
2137
|
-
// NOTE: the bound callback function here is called requestCameraAccess, because
|
|
2138
|
-
// it initiates the useEffect chain that results in camera access being requested
|
|
2139
|
-
// (requestCameraAccessAutomatically -> chooseFromAvailableCameras -> accessChosenCamera).
|
|
2140
|
-
//
|
|
2141
|
-
// We chose to title the inner function "chooseFromAvailableCameras" because
|
|
2142
|
-
// that's all it literally does -- the available cameras are enumerated, and then
|
|
2143
|
-
// the result is parsed to decide which one we like best, which is then passed to
|
|
2144
|
-
// setVideoDevice, which causes accessChosenCamera to trigger.
|
|
2145
|
-
//
|
|
2146
|
-
// I am not a huge fan of getUserMedia's design -- you need to call it twice in order
|
|
2147
|
-
// to select the "best" camera for your application's purposes.
|
|
2148
|
-
var requestCameraAccess = React.useCallback(function chooseFromAvailableCameras() {
|
|
2149
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
2150
|
-
var availableCameras, selectedCamera, platform_1, iphoneContinuityCamera, e_1;
|
|
2151
|
-
var _a, _b;
|
|
2152
|
-
return __generator(this, function (_c) {
|
|
2153
|
-
switch (_c.label) {
|
|
2154
|
-
case 0:
|
|
2155
|
-
setCameraReady(false);
|
|
2156
|
-
setCameraAccessDenied(false);
|
|
2157
|
-
_c.label = 1;
|
|
2158
|
-
case 1:
|
|
2159
|
-
_c.trys.push([1, 3,, 4]);
|
|
2160
|
-
return [4 /*yield*/, listAvailableCameras()];
|
|
2161
|
-
case 2:
|
|
2162
|
-
availableCameras = _c.sent();
|
|
2163
|
-
selectedCamera = void 0;
|
|
2164
|
-
if (debugMode) {
|
|
2165
|
-
log('availableCameras', availableCameras);
|
|
2166
|
-
}
|
|
2167
|
-
platform_1 = getPlatform();
|
|
2168
|
-
if (debugMode) {
|
|
2169
|
-
log('platformDetails', platform_1);
|
|
2170
|
-
}
|
|
2171
|
-
if (!iphoneContinuityCameraDenied && (!(platform_1 === null || platform_1 === void 0 ? void 0 : platform_1.os) || platform_1.os.family === 'OS X')) {
|
|
2172
|
-
iphoneContinuityCamera = availableCameras.find(function (deviceInfo) {
|
|
2173
|
-
return labelMatches(deviceInfo, 'iphone');
|
|
2174
|
-
});
|
|
2175
|
-
setIphoneContinuityCameraAvailable(!!iphoneContinuityCamera);
|
|
2176
|
-
if (iphoneContinuityCamera && iphoneContinuityCameraAllowed) {
|
|
2177
|
-
selectedCamera = iphoneContinuityCamera;
|
|
2178
|
-
}
|
|
2179
|
-
} 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) {
|
|
2180
|
-
return c.label.startsWith('camera2 ');
|
|
2181
|
-
})) {
|
|
2182
|
-
availableCameras = availableCameras.sort(function (a, b) {
|
|
2183
|
-
return a.label.toLowerCase().localeCompare(b.label.toLowerCase());
|
|
2184
|
-
});
|
|
2185
|
-
if (debugMode) {
|
|
2186
|
-
log('cameras have been sorted', availableCameras);
|
|
2187
|
-
}
|
|
2188
|
-
}
|
|
2189
|
-
if (preferFrontFacingCamera) {
|
|
2190
|
-
selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
2191
|
-
return labelMatches(deviceInfo, frontLabels);
|
|
2192
|
-
});
|
|
2193
|
-
}
|
|
2194
|
-
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
2195
|
-
return labelMatches(deviceInfo, 'backtriplecamera');
|
|
2196
|
-
}));
|
|
2197
|
-
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
2198
|
-
return labelMatches(deviceInfo, 'backdualcamera');
|
|
2199
|
-
}));
|
|
2200
|
-
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
2201
|
-
return labelMatches(deviceInfo, rearLabels) && !labelMatches(deviceInfo, backUltraWideLabels);
|
|
2202
|
-
}));
|
|
2203
|
-
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
2204
|
-
return labelMatches(deviceInfo, rearLabels);
|
|
2205
|
-
}));
|
|
2206
|
-
// on iOS, the front facing camera always is at the first position in the list, so we skip it if all else fails.
|
|
2207
|
-
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) {
|
|
2208
|
-
selectedCamera || (selectedCamera = availableCameras[1]);
|
|
2209
|
-
}
|
|
2210
|
-
selectedCamera || (selectedCamera = availableCameras[0]);
|
|
2211
|
-
if (debugMode) log('selectedCamera', selectedCamera);
|
|
2212
|
-
setVideoDevice(selectedCamera);
|
|
2213
|
-
return [3 /*break*/, 4];
|
|
2214
|
-
case 3:
|
|
2215
|
-
e_1 = _c.sent();
|
|
2216
|
-
if (e_1.name === 'NotAllowedError') {
|
|
2217
|
-
error('camera access has been blocked by the user', e_1);
|
|
2218
|
-
setCameraAccessDenied(true);
|
|
2219
|
-
} else {
|
|
2220
|
-
error('camera access encountered some other error', e_1);
|
|
2221
|
-
throw e_1;
|
|
2222
|
-
}
|
|
2223
|
-
return [3 /*break*/, 4];
|
|
2224
|
-
case 4:
|
|
2225
|
-
return [2 /*return*/];
|
|
2226
|
-
}
|
|
2227
|
-
});
|
|
2228
|
-
});
|
|
2229
|
-
}, [debugMode, iphoneContinuityCameraAllowed, iphoneContinuityCameraDenied, preferFrontFacingCamera]);
|
|
2230
|
-
React.useEffect(function requestCameraAccessAutomatically() {
|
|
2231
|
-
if (requestAccessAutomatically && !cameraAccessDenied) {
|
|
2232
|
-
requestCameraAccess()["catch"](error);
|
|
2233
|
-
}
|
|
2234
|
-
}, [cameraAccessDenied, requestAccessAutomatically, requestCameraAccess]);
|
|
2235
|
-
React.useEffect(function accessChosenCamera() {
|
|
2236
|
-
var _this = this;
|
|
2237
|
-
var _a;
|
|
2238
|
-
if (!videoDevice) return;
|
|
2239
|
-
var cleanup = function cleanup() {
|
|
2240
|
-
releaseCameraAccess();
|
|
2241
|
-
cameraRef.current = null;
|
|
2242
|
-
setVideoLoaded(false);
|
|
2243
|
-
};
|
|
2244
|
-
if (!((_a = navigator.mediaDevices) === null || _a === void 0 ? void 0 : _a.getUserMedia)) return cleanup;
|
|
2245
|
-
(function () {
|
|
2246
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
2247
|
-
var constraints, stream, e_2, handleStreamEnded;
|
|
2248
|
-
var _a;
|
|
2249
|
-
return __generator(this, function (_b) {
|
|
2250
|
-
switch (_b.label) {
|
|
2251
|
-
case 0:
|
|
2252
|
-
constraints = {
|
|
2253
|
-
audio: false,
|
|
2254
|
-
video: {
|
|
2255
|
-
deviceId: {
|
|
2256
|
-
exact: videoDevice.deviceId
|
|
2257
|
-
},
|
|
2258
|
-
width: {
|
|
2259
|
-
ideal: maxVideoWidth
|
|
2260
|
-
},
|
|
2261
|
-
aspectRatio: 1.777777778,
|
|
2262
|
-
frameRate: {}
|
|
2263
|
-
}
|
|
2264
|
-
};
|
|
2265
|
-
if (maxFps) {
|
|
2266
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
2267
|
-
// @ts-ignore
|
|
2268
|
-
constraints.video.frameRate = {
|
|
2269
|
-
max: maxFps
|
|
2270
|
-
};
|
|
2271
|
-
}
|
|
2272
|
-
stream = null;
|
|
2273
|
-
_b.label = 1;
|
|
2274
|
-
case 1:
|
|
2275
|
-
_b.trys.push([1, 3,, 4]);
|
|
2276
|
-
return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];
|
|
2277
|
-
case 2:
|
|
2278
|
-
stream = _b.sent();
|
|
2279
|
-
return [3 /*break*/, 4];
|
|
2280
|
-
case 3:
|
|
2281
|
-
e_2 = _b.sent();
|
|
2282
|
-
if (e_2.name === 'NotAllowedError') {
|
|
2283
|
-
if (iphoneContinuityCameraAllowed) {
|
|
2284
|
-
setIphoneContinuityCameraAvailable(false);
|
|
2285
|
-
setIphoneContinuityCameraDenied(true);
|
|
2286
|
-
} else {
|
|
2287
|
-
setCameraAccessDenied(true);
|
|
2288
|
-
}
|
|
2289
|
-
return [2 /*return*/];
|
|
2290
|
-
}
|
|
2291
|
-
return [3 /*break*/, 4];
|
|
2292
|
-
case 4:
|
|
2293
|
-
if (!!stream) return [3 /*break*/, 8];
|
|
2294
|
-
_b.label = 5;
|
|
2295
|
-
case 5:
|
|
2296
|
-
_b.trys.push([5, 7,, 8]);
|
|
2297
|
-
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
2298
|
-
audio: false,
|
|
2299
|
-
video: true
|
|
2300
|
-
})];
|
|
2301
|
-
case 6:
|
|
2302
|
-
stream = _b.sent();
|
|
2303
|
-
log('opened stream with no width and height constraints');
|
|
2304
|
-
return [3 /*break*/, 8];
|
|
2305
|
-
case 7:
|
|
2306
|
-
_b.sent();
|
|
2307
|
-
log('cannot open stream at all');
|
|
2308
|
-
return [3 /*break*/, 8];
|
|
2309
|
-
case 8:
|
|
2310
|
-
if (!stream) {
|
|
2311
|
-
throw new Error('failed to open camera');
|
|
2312
|
-
}
|
|
2313
|
-
handleStreamEnded = function handleStreamEnded() {
|
|
2314
|
-
if (iphoneContinuityCameraAvailable && iphoneContinuityCameraAllowed) {
|
|
2315
|
-
log('someone unplugged the continuity camera');
|
|
2316
|
-
releaseCameraAccess();
|
|
2317
|
-
cameraRef.current = null;
|
|
2318
|
-
setIphoneContinuityCameraAvailable(false);
|
|
2319
|
-
setIphoneContinuityCameraDenied(true);
|
|
2320
|
-
setVideoDevice(null);
|
|
2321
|
-
} else {
|
|
2322
|
-
log('someone unplugged the webcam');
|
|
2323
|
-
releaseCameraAccess();
|
|
2324
|
-
cameraRef.current = null;
|
|
2325
|
-
setVideoLoaded(false);
|
|
2326
|
-
setCameraAccessDenied(true);
|
|
2327
|
-
}
|
|
2328
|
-
};
|
|
2329
|
-
(_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('ended', handleStreamEnded);
|
|
2330
|
-
stream.getVideoTracks().forEach(function (track) {
|
|
2331
|
-
track.onended = handleStreamEnded;
|
|
2332
|
-
});
|
|
2333
|
-
cameraRef.current = obtainCameraAccess(stream, videoDevice.label, videoRef.current);
|
|
2334
|
-
return [2 /*return*/];
|
|
2335
|
-
}
|
|
2336
|
-
});
|
|
2337
|
-
});
|
|
2338
|
-
})();
|
|
2339
|
-
return cleanup;
|
|
2340
|
-
}, [iphoneContinuityCameraAllowed, iphoneContinuityCameraAvailable, maxFps, maxVideoWidth, videoDevice]);
|
|
2341
|
-
React.useEffect(function triggerCameraReady() {
|
|
2342
|
-
// TODO: in the future let's evaluate whether we can simplify this to just
|
|
2343
|
-
// setCameraReady(!!videoDevice && videoLoaded) -- we are wondering whether
|
|
2344
|
-
// we somehow depend on this being set twice.
|
|
2345
|
-
setCameraReady(false);
|
|
2346
|
-
if (videoDevice && videoLoaded) {
|
|
2347
|
-
setCameraReady(videoDevice && videoLoaded);
|
|
2348
|
-
}
|
|
2349
|
-
}, [videoLoaded, videoDevice]);
|
|
2350
|
-
var requestMicrophoneAccess = React.useCallback(function _requestMicrophoneAccess() {
|
|
2351
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
2352
|
-
var stream;
|
|
2353
|
-
return __generator(this, function (_a) {
|
|
2354
|
-
switch (_a.label) {
|
|
2355
|
-
case 0:
|
|
2356
|
-
setMicrophoneReady(false);
|
|
2357
|
-
setMicrophoneAccessDenied(false);
|
|
2358
|
-
_a.label = 1;
|
|
2359
|
-
case 1:
|
|
2360
|
-
_a.trys.push([1, 3,, 4]);
|
|
2361
|
-
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
2362
|
-
audio: true,
|
|
2363
|
-
video: false
|
|
2364
|
-
})];
|
|
2365
|
-
case 2:
|
|
2366
|
-
stream = _a.sent();
|
|
2367
|
-
currentAudioStream = stream;
|
|
2368
|
-
setAudioStream(stream);
|
|
2369
|
-
setMicrophoneReady(true);
|
|
2370
|
-
stream.getAudioTracks().forEach(function (track) {
|
|
2371
|
-
track.onended = function () {
|
|
2372
|
-
setMicrophoneAccessDenied(true);
|
|
2373
|
-
};
|
|
2374
|
-
});
|
|
2375
|
-
return [3 /*break*/, 4];
|
|
2376
|
-
case 3:
|
|
2377
|
-
_a.sent();
|
|
2378
|
-
setMicrophoneAccessDenied(true);
|
|
2379
|
-
return [3 /*break*/, 4];
|
|
2380
|
-
case 4:
|
|
2381
|
-
return [2 /*return*/];
|
|
2382
|
-
}
|
|
2383
|
-
});
|
|
2384
|
-
});
|
|
2385
|
-
}, []);
|
|
2386
|
-
React.useEffect(function requestMicrophoneAccessIfNeeded() {
|
|
2387
|
-
if (!requireMicrophoneAccess || microphoneAccessDenied) return;
|
|
2388
|
-
requestMicrophoneAccess()["catch"](error);
|
|
2389
|
-
return function () {
|
|
2390
|
-
releaseMicrophoneAccess();
|
|
2391
|
-
setAudioStream(null);
|
|
2392
|
-
setMicrophoneReady(false);
|
|
2393
|
-
};
|
|
2394
|
-
}, [microphoneAccessDenied, requestMicrophoneAccess, requireMicrophoneAccess]);
|
|
2395
|
-
var takePhoto = React.useCallback(function _takePhoto() {
|
|
2396
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
2397
|
-
var canvas;
|
|
2398
|
-
return __generator(this, function (_a) {
|
|
2399
|
-
switch (_a.label) {
|
|
2400
|
-
case 0:
|
|
2401
|
-
if (!cameraRef.current) return [2 /*return*/, null];
|
|
2402
|
-
if (!(typeof ImageCapture !== 'undefined')) return [3 /*break*/, 2];
|
|
2403
|
-
return [4 /*yield*/, new ImageCapture(cameraRef.current.stream.getTracks()[0]).takePhoto()];
|
|
2404
|
-
case 1:
|
|
2405
|
-
return [2 /*return*/, _a.sent()];
|
|
2406
|
-
case 2:
|
|
2407
|
-
if (!videoRef.current) return [2 /*return*/, null];
|
|
2408
|
-
canvas = document.createElement('canvas');
|
|
2409
|
-
drawToCanvas(canvas, videoRef.current);
|
|
2410
|
-
return [2 /*return*/, new Promise(function (resolve) {
|
|
2411
|
-
return canvas.toBlob(resolve);
|
|
2412
|
-
})];
|
|
2413
|
-
}
|
|
2414
|
-
});
|
|
2415
|
-
});
|
|
2416
|
-
}, []);
|
|
2417
|
-
return React.useMemo(function () {
|
|
2418
|
-
return {
|
|
2419
|
-
videoRef: videoRef,
|
|
2420
|
-
videoDevice: videoDevice,
|
|
2421
|
-
videoLoaded: videoLoaded,
|
|
2422
|
-
setVideoLoaded: setVideoLoaded,
|
|
2423
|
-
onVideoUnmounted: onVideoUnmounted,
|
|
2424
|
-
cameraRef: cameraRef,
|
|
2425
|
-
cameraReady: cameraReady,
|
|
2426
|
-
cameraAccessDenied: cameraAccessDenied,
|
|
2427
|
-
requestCameraAccess: requestCameraAccess,
|
|
2428
|
-
releaseCameraAccess: releaseCameraAccess,
|
|
2429
|
-
iphoneContinuityCameraAvailable: iphoneContinuityCameraAvailable,
|
|
2430
|
-
iphoneContinuityCameraAllowed: iphoneContinuityCameraAllowed,
|
|
2431
|
-
setIphoneContinuityCameraAllowed: setIphoneContinuityCameraAllowed,
|
|
2432
|
-
takePhoto: takePhoto,
|
|
2433
|
-
audioStream: audioStream,
|
|
2434
|
-
microphoneReady: microphoneReady,
|
|
2435
|
-
microphoneAccessDenied: microphoneAccessDenied,
|
|
2436
|
-
requestMicrophoneAccess: requestMicrophoneAccess
|
|
2437
|
-
};
|
|
2438
|
-
}, [audioStream, cameraAccessDenied, cameraReady, iphoneContinuityCameraAllowed, iphoneContinuityCameraAvailable, microphoneAccessDenied, microphoneReady, onVideoUnmounted, requestCameraAccess, requestMicrophoneAccess, takePhoto, videoDevice, videoLoaded]);
|
|
2439
|
-
}
|
|
2440
|
-
|
|
2441
|
-
var CameraStateContext = /*#__PURE__*/React.createContext({
|
|
2442
|
-
videoRef: {
|
|
2443
|
-
current: null
|
|
2444
|
-
},
|
|
2445
|
-
videoDevice: null,
|
|
2446
|
-
videoLoaded: false,
|
|
2447
|
-
cameraRef: {
|
|
2448
|
-
current: null
|
|
2449
|
-
},
|
|
2450
|
-
cameraReady: false,
|
|
2451
|
-
cameraAccessDenied: false,
|
|
2452
|
-
requestCameraAccess: function requestCameraAccess() {
|
|
2453
|
-
return null;
|
|
2454
|
-
},
|
|
2455
|
-
releaseCameraAccess: function releaseCameraAccess() {
|
|
2456
|
-
return null;
|
|
2457
|
-
},
|
|
2458
|
-
iphoneContinuityCameraAvailable: false,
|
|
2459
|
-
iphoneContinuityCameraAllowed: true,
|
|
2460
|
-
setIphoneContinuityCameraAllowed: function setIphoneContinuityCameraAllowed() {
|
|
2461
|
-
return null;
|
|
2462
|
-
},
|
|
2463
|
-
takePhoto: function takePhoto() {
|
|
2464
|
-
return Promise.resolve(null);
|
|
2465
|
-
},
|
|
2466
|
-
setVideoLoaded: function setVideoLoaded() {
|
|
2467
|
-
return null;
|
|
2468
|
-
},
|
|
2469
|
-
onVideoUnmounted: function onVideoUnmounted() {
|
|
2470
|
-
return null;
|
|
2471
|
-
},
|
|
2472
|
-
audioStream: null,
|
|
2473
|
-
microphoneReady: false,
|
|
2474
|
-
microphoneAccessDenied: false,
|
|
2475
|
-
requestMicrophoneAccess: function requestMicrophoneAccess() {
|
|
2476
|
-
return null;
|
|
2477
|
-
}
|
|
2478
|
-
});
|
|
2479
|
-
var CameraProvider = function CameraProvider(_a) {
|
|
2480
|
-
var children = _a.children,
|
|
2481
|
-
_b = _a.requestAccessAutomatically,
|
|
2482
|
-
requestAccessAutomatically = _b === void 0 ? true : _b,
|
|
2483
|
-
_c = _a.preferFrontFacingCamera,
|
|
2484
|
-
preferFrontFacingCamera = _c === void 0 ? false : _c,
|
|
2485
|
-
_d = _a.preferContinuityCamera,
|
|
2486
|
-
preferContinuityCamera = _d === void 0 ? true : _d,
|
|
2487
|
-
_e = _a.requireMicrophoneAccess,
|
|
2488
|
-
requireMicrophoneAccess = _e === void 0 ? false : _e,
|
|
2489
|
-
_f = _a.maxVideoWidth,
|
|
2490
|
-
maxVideoWidth = _f === void 0 ? 1920 : _f,
|
|
2491
|
-
maxFps = _a.maxFps,
|
|
2492
|
-
onCameraAccessDenied = _a.onCameraAccessDenied,
|
|
2493
|
-
onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied,
|
|
2494
|
-
_g = _a.debugMode,
|
|
2495
|
-
debugMode = _g === void 0 ? false : _g;
|
|
2496
|
-
var captureDevice = usePreferredCaptureDevice({
|
|
2497
|
-
requestAccessAutomatically: requestAccessAutomatically,
|
|
2498
|
-
preferFrontFacingCamera: preferFrontFacingCamera,
|
|
2499
|
-
preferContinuityCamera: preferContinuityCamera,
|
|
2500
|
-
requireMicrophoneAccess: requireMicrophoneAccess,
|
|
2501
|
-
maxVideoWidth: maxVideoWidth,
|
|
2502
|
-
maxFps: maxFps,
|
|
2503
|
-
debugMode: debugMode
|
|
2504
|
-
});
|
|
2505
|
-
React.useEffect(function () {
|
|
2506
|
-
if (captureDevice.cameraAccessDenied) onCameraAccessDenied === null || onCameraAccessDenied === void 0 ? void 0 : onCameraAccessDenied();
|
|
2507
|
-
}, [captureDevice.cameraAccessDenied, onCameraAccessDenied]);
|
|
2508
|
-
React.useEffect(function () {
|
|
2509
|
-
if (captureDevice.microphoneAccessDenied) onMicrophoneAccessDenied === null || onMicrophoneAccessDenied === void 0 ? void 0 : onMicrophoneAccessDenied();
|
|
2510
|
-
}, [captureDevice.microphoneAccessDenied, onMicrophoneAccessDenied]);
|
|
2511
|
-
var releaseCameraAccess = captureDevice.releaseCameraAccess;
|
|
2512
|
-
React.useEffect(function () {
|
|
2513
|
-
return function () {
|
|
2514
|
-
releaseCameraAccess();
|
|
2515
|
-
};
|
|
2516
|
-
}, [releaseCameraAccess]);
|
|
2517
|
-
return /*#__PURE__*/React__namespace.default.createElement(CameraStateContext.Provider, {
|
|
2518
|
-
value: captureDevice
|
|
2519
|
-
}, children);
|
|
2520
|
-
};
|
|
2521
|
-
|
|
2522
1922
|
var visionTasksBasePath = "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.7/wasm";
|
|
2523
1923
|
var visionRuntimePreloading = false;
|
|
2524
1924
|
function preloadVisionRuntime() {
|
|
@@ -2561,6 +1961,42 @@ function preloadVisionRuntime() {
|
|
|
2561
1961
|
});
|
|
2562
1962
|
}
|
|
2563
1963
|
|
|
1964
|
+
function getFrameDimensions(frame) {
|
|
1965
|
+
var frameWidth = frame.width,
|
|
1966
|
+
frameHeight = frame.height;
|
|
1967
|
+
if (frame instanceof HTMLImageElement) {
|
|
1968
|
+
frameWidth = frame.naturalWidth;
|
|
1969
|
+
frameHeight = frame.naturalHeight;
|
|
1970
|
+
}
|
|
1971
|
+
if (frame instanceof HTMLVideoElement) {
|
|
1972
|
+
frameWidth = frame.videoWidth;
|
|
1973
|
+
frameHeight = frame.videoHeight;
|
|
1974
|
+
}
|
|
1975
|
+
return [frameWidth, frameHeight];
|
|
1976
|
+
}
|
|
1977
|
+
|
|
1978
|
+
var InvisibleCanvas = styled__default.default.canvas(templateObject_1$G || (templateObject_1$G = __makeTemplateObject(["\n display: none;\n"], ["\n display: none;\n"])));
|
|
1979
|
+
function drawToCanvas(canvas, frame, width, height) {
|
|
1980
|
+
if (!canvas) return;
|
|
1981
|
+
var ctx = canvas.getContext('2d');
|
|
1982
|
+
if (!ctx) return;
|
|
1983
|
+
if (!width || !height) {
|
|
1984
|
+
var _a = getFrameDimensions(frame),
|
|
1985
|
+
frameWidth = _a[0],
|
|
1986
|
+
frameHeight = _a[1];
|
|
1987
|
+
width || (width = frameWidth);
|
|
1988
|
+
height || (height = frameHeight);
|
|
1989
|
+
}
|
|
1990
|
+
canvas.width = width;
|
|
1991
|
+
canvas.height = height;
|
|
1992
|
+
ctx.drawImage(frame, 0, 0, width, height);
|
|
1993
|
+
}
|
|
1994
|
+
function clearCanvas(canvas) {
|
|
1995
|
+
var _a;
|
|
1996
|
+
(_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);
|
|
1997
|
+
}
|
|
1998
|
+
var templateObject_1$G;
|
|
1999
|
+
|
|
2564
2000
|
function cropToShoulders(rawCanvas, cropCanvas, resizeCanvas, frame, face, quality, maxHeight) {
|
|
2565
2001
|
if (quality === void 0) {
|
|
2566
2002
|
quality = 0.92;
|
|
@@ -2864,7 +2300,8 @@ function useLoadFocusModel(_a) {
|
|
|
2864
2300
|
modelPath = _b === void 0 ? defaultFocusModelPath : _b,
|
|
2865
2301
|
_c = _a.modelLoadTimeoutMs,
|
|
2866
2302
|
modelLoadTimeoutMs = _c === void 0 ? defaultFocusModelLoadTimeoutMs : _c,
|
|
2867
|
-
onModelError = _a.onModelError
|
|
2303
|
+
onModelError = _a.onModelError,
|
|
2304
|
+
videoRef = _a.videoRef;
|
|
2868
2305
|
var _d = React.useState(false),
|
|
2869
2306
|
ready = _d[0],
|
|
2870
2307
|
setReady = _d[1];
|
|
@@ -2874,7 +2311,6 @@ function useLoadFocusModel(_a) {
|
|
|
2874
2311
|
var _f = React.useState(null),
|
|
2875
2312
|
modelError = _f[0],
|
|
2876
2313
|
setModelError = _f[1];
|
|
2877
|
-
var videoRef = React.useContext(CameraStateContext).videoRef;
|
|
2878
2314
|
React.useEffect(function loadModel() {
|
|
2879
2315
|
var _this = this;
|
|
2880
2316
|
setReady(false);
|
|
@@ -3012,7 +2448,8 @@ function closeFaceDetector() {
|
|
|
3012
2448
|
function useLoadFaceDetector(_a) {
|
|
3013
2449
|
var onModelError = _a.onModelError,
|
|
3014
2450
|
_b = _a.modelLoadTimeoutMs,
|
|
3015
|
-
modelLoadTimeoutMs = _b === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _b
|
|
2451
|
+
modelLoadTimeoutMs = _b === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _b,
|
|
2452
|
+
videoRef = _a.videoRef;
|
|
3016
2453
|
var _c = React.useState(false),
|
|
3017
2454
|
ready = _c[0],
|
|
3018
2455
|
setReady = _c[1];
|
|
@@ -3022,7 +2459,6 @@ function useLoadFaceDetector(_a) {
|
|
|
3022
2459
|
var _e = React.useState(null),
|
|
3023
2460
|
modelError = _e[0],
|
|
3024
2461
|
setModelError = _e[1];
|
|
3025
|
-
var videoRef = React.useContext(CameraStateContext).videoRef;
|
|
3026
2462
|
React.useEffect(function loadModel() {
|
|
3027
2463
|
var _this = this;
|
|
3028
2464
|
setReady(false);
|
|
@@ -3503,7 +2939,8 @@ function useLoadDocumentDetector(_a) {
|
|
|
3503
2939
|
modelLoadTimeoutMs = _c === void 0 ? defaultDocumentDetectionModelLoadTimeoutMs : _c,
|
|
3504
2940
|
_d = _a.scoreThreshold,
|
|
3505
2941
|
scoreThreshold = _d === void 0 ? defaultDocumentDetectionScoreThreshold : _d,
|
|
3506
|
-
onModelError = _a.onModelError
|
|
2942
|
+
onModelError = _a.onModelError,
|
|
2943
|
+
videoRef = _a.videoRef;
|
|
3507
2944
|
var _e = React.useState(false),
|
|
3508
2945
|
ready = _e[0],
|
|
3509
2946
|
setReady = _e[1];
|
|
@@ -3513,7 +2950,6 @@ function useLoadDocumentDetector(_a) {
|
|
|
3513
2950
|
var _g = React.useState(null),
|
|
3514
2951
|
modelError = _g[0],
|
|
3515
2952
|
setModelError = _g[1];
|
|
3516
|
-
var videoRef = React.useContext(CameraStateContext).videoRef;
|
|
3517
2953
|
React.useEffect(function loadModel() {
|
|
3518
2954
|
var _this = this;
|
|
3519
2955
|
setReady(false);
|
|
@@ -3822,6 +3258,470 @@ function useFrameLoop(fn, _a) {
|
|
|
3822
3258
|
};
|
|
3823
3259
|
}
|
|
3824
3260
|
|
|
3261
|
+
function listAvailableCameras(facingMode_1) {
|
|
3262
|
+
return __awaiter(this, arguments, void 0, function (facingMode, requestMicAccess) {
|
|
3263
|
+
var cameraEnumerationStream, videoDevices;
|
|
3264
|
+
if (requestMicAccess === void 0) {
|
|
3265
|
+
requestMicAccess = false;
|
|
3266
|
+
}
|
|
3267
|
+
return __generator(this, function (_a) {
|
|
3268
|
+
switch (_a.label) {
|
|
3269
|
+
case 0:
|
|
3270
|
+
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
3271
|
+
video: {
|
|
3272
|
+
facingMode: {
|
|
3273
|
+
exact: facingMode
|
|
3274
|
+
}
|
|
3275
|
+
},
|
|
3276
|
+
audio: requestMicAccess
|
|
3277
|
+
})
|
|
3278
|
+
// This lists all available cameras attached to the user's device.
|
|
3279
|
+
];
|
|
3280
|
+
case 1:
|
|
3281
|
+
cameraEnumerationStream = _a.sent();
|
|
3282
|
+
return [4 /*yield*/, navigator.mediaDevices.enumerateDevices()];
|
|
3283
|
+
case 2:
|
|
3284
|
+
videoDevices = _a.sent().filter(function (_a) {
|
|
3285
|
+
var kind = _a.kind;
|
|
3286
|
+
return kind === 'videoinput';
|
|
3287
|
+
});
|
|
3288
|
+
// Release the access to the user's camera that we obtained for enumeration purposes.
|
|
3289
|
+
cameraEnumerationStream.getVideoTracks().forEach(function (track) {
|
|
3290
|
+
track.enabled = false;
|
|
3291
|
+
track.stop();
|
|
3292
|
+
});
|
|
3293
|
+
cameraEnumerationStream = null;
|
|
3294
|
+
return [2 /*return*/, videoDevices];
|
|
3295
|
+
}
|
|
3296
|
+
});
|
|
3297
|
+
});
|
|
3298
|
+
}
|
|
3299
|
+
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) {
|
|
3300
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
3301
|
+
});
|
|
3302
|
+
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) {
|
|
3303
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
3304
|
+
});
|
|
3305
|
+
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) {
|
|
3306
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
3307
|
+
});
|
|
3308
|
+
var cameraLabelMatches = function cameraLabelMatches(labelOrDevice, labelSetOrLabel) {
|
|
3309
|
+
var label = labelOrDevice instanceof MediaDeviceInfo ? getDeviceLabel(labelOrDevice) : labelOrDevice;
|
|
3310
|
+
var labelSet = typeof labelSetOrLabel === 'string' ? [labelSetOrLabel] : labelSetOrLabel;
|
|
3311
|
+
return labelSet.some(function (l) {
|
|
3312
|
+
return label.includes(l);
|
|
3313
|
+
});
|
|
3314
|
+
};
|
|
3315
|
+
var getDeviceLabel = function getDeviceLabel(deviceInfo) {
|
|
3316
|
+
return deviceInfo.label.toLocaleLowerCase().split(' ').join('');
|
|
3317
|
+
};
|
|
3318
|
+
var currentCamera;
|
|
3319
|
+
function obtainCameraAccess(stream, deviceLabel, video) {
|
|
3320
|
+
releaseCameraAccess();
|
|
3321
|
+
log('obtaining camera access...');
|
|
3322
|
+
var _a = stream.getVideoTracks()[0].getSettings(),
|
|
3323
|
+
width = _a.width,
|
|
3324
|
+
height = _a.height;
|
|
3325
|
+
log('camera dimensions', width, height);
|
|
3326
|
+
var label = deviceLabel.toLocaleLowerCase().split(' ').join('');
|
|
3327
|
+
log('camera label', label);
|
|
3328
|
+
var isRearFacing = cameraLabelMatches(label, __spreadArray(__spreadArray(__spreadArray([], rearCameraLabels, true), backUltraWideCameraLabels, true), ['iphone'], false));
|
|
3329
|
+
log('is rear facing?', isRearFacing);
|
|
3330
|
+
var release = function release() {
|
|
3331
|
+
stream.getTracks().forEach(function (track) {
|
|
3332
|
+
track.enabled = false;
|
|
3333
|
+
track.stop();
|
|
3334
|
+
});
|
|
3335
|
+
if (video) {
|
|
3336
|
+
video.pause();
|
|
3337
|
+
video.srcObject = null;
|
|
3338
|
+
video.src = '';
|
|
3339
|
+
}
|
|
3340
|
+
};
|
|
3341
|
+
width || (width = 0);
|
|
3342
|
+
height || (height = 0);
|
|
3343
|
+
currentCamera = {
|
|
3344
|
+
label: deviceLabel,
|
|
3345
|
+
stream: stream,
|
|
3346
|
+
width: width,
|
|
3347
|
+
height: height,
|
|
3348
|
+
isRearFacing: isRearFacing,
|
|
3349
|
+
release: release
|
|
3350
|
+
};
|
|
3351
|
+
log('camera access granted');
|
|
3352
|
+
if (video) video.srcObject = stream;
|
|
3353
|
+
log('video source initialized');
|
|
3354
|
+
return currentCamera;
|
|
3355
|
+
}
|
|
3356
|
+
function releaseCameraAccess() {
|
|
3357
|
+
if (!currentCamera) return;
|
|
3358
|
+
log('releasing camera access...');
|
|
3359
|
+
currentCamera.release();
|
|
3360
|
+
currentCamera = undefined;
|
|
3361
|
+
}
|
|
3362
|
+
|
|
3363
|
+
var initialState$5 = {
|
|
3364
|
+
videoRef: {
|
|
3365
|
+
current: null
|
|
3366
|
+
},
|
|
3367
|
+
videoLoaded: false,
|
|
3368
|
+
videoStream: null,
|
|
3369
|
+
videoDevice: null,
|
|
3370
|
+
isRearFacing: false,
|
|
3371
|
+
camera: null,
|
|
3372
|
+
cameraReady: false,
|
|
3373
|
+
cameraAccessDenied: false,
|
|
3374
|
+
iphoneContinuityCameraAvailable: false,
|
|
3375
|
+
iphoneContinuityCameraDenied: false,
|
|
3376
|
+
preferIphoneContinuityCamera: true,
|
|
3377
|
+
audioStream: null,
|
|
3378
|
+
microphoneReady: false,
|
|
3379
|
+
microphoneAccessDenied: false
|
|
3380
|
+
};
|
|
3381
|
+
var createCameraStore = function createCameraStore(config) {
|
|
3382
|
+
var store = zustand.createStore(function (set, get) {
|
|
3383
|
+
return _assign(_assign(_assign({}, initialState$5), config), {
|
|
3384
|
+
reset: function reset() {
|
|
3385
|
+
return set(_assign(_assign({}, initialState$5), config));
|
|
3386
|
+
},
|
|
3387
|
+
setConfig: function setConfig(config) {
|
|
3388
|
+
return set(config);
|
|
3389
|
+
},
|
|
3390
|
+
onVideoMounted: function onVideoMounted() {
|
|
3391
|
+
return set({
|
|
3392
|
+
videoLoaded: true
|
|
3393
|
+
});
|
|
3394
|
+
},
|
|
3395
|
+
setIphoneContinuityCameraAllowed: function setIphoneContinuityCameraAllowed(value) {
|
|
3396
|
+
return set({
|
|
3397
|
+
preferIphoneContinuityCamera: value
|
|
3398
|
+
});
|
|
3399
|
+
},
|
|
3400
|
+
requestCameraAccess: function requestCameraAccess() {
|
|
3401
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3402
|
+
var _a, releaseCameraAccess, preferIphoneContinuityCamera, iphoneContinuityCameraDenied, availableCameras, selectedCamera, platform_1, iphoneContinuityCamera, constraints, stream, e_1, iphoneContinuityCameraAvailable_1, handleStreamEnded_1, camera, e_3;
|
|
3403
|
+
var _b, _c, _d;
|
|
3404
|
+
return __generator(this, function (_e) {
|
|
3405
|
+
switch (_e.label) {
|
|
3406
|
+
case 0:
|
|
3407
|
+
_a = get(), releaseCameraAccess = _a.releaseCameraAccess, preferIphoneContinuityCamera = _a.preferIphoneContinuityCamera, iphoneContinuityCameraDenied = _a.iphoneContinuityCameraDenied;
|
|
3408
|
+
releaseCameraAccess();
|
|
3409
|
+
_e.label = 1;
|
|
3410
|
+
case 1:
|
|
3411
|
+
_e.trys.push([1, 11,, 12]);
|
|
3412
|
+
return [4 /*yield*/, listAvailableCameras()];
|
|
3413
|
+
case 2:
|
|
3414
|
+
availableCameras = _e.sent();
|
|
3415
|
+
selectedCamera = void 0;
|
|
3416
|
+
debug('availableCameras', availableCameras);
|
|
3417
|
+
platform_1 = getPlatform();
|
|
3418
|
+
debug('platformDetails', platform_1);
|
|
3419
|
+
if (!iphoneContinuityCameraDenied && (!(platform_1 === null || platform_1 === void 0 ? void 0 : platform_1.os) || platform_1.os.family === 'OS X')) {
|
|
3420
|
+
iphoneContinuityCamera = availableCameras.find(function (deviceInfo) {
|
|
3421
|
+
return cameraLabelMatches(deviceInfo, 'iphone');
|
|
3422
|
+
});
|
|
3423
|
+
set({
|
|
3424
|
+
iphoneContinuityCameraAvailable: !!iphoneContinuityCamera
|
|
3425
|
+
});
|
|
3426
|
+
if (iphoneContinuityCamera && preferIphoneContinuityCamera) {
|
|
3427
|
+
selectedCamera = iphoneContinuityCamera;
|
|
3428
|
+
}
|
|
3429
|
+
} 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) {
|
|
3430
|
+
return c.label.startsWith('camera2 ');
|
|
3431
|
+
})) {
|
|
3432
|
+
availableCameras = availableCameras.sort(function (a, b) {
|
|
3433
|
+
return a.label.toLowerCase().localeCompare(b.label.toLowerCase());
|
|
3434
|
+
});
|
|
3435
|
+
debug('cameras have been sorted', availableCameras);
|
|
3436
|
+
}
|
|
3437
|
+
if (config.preferFrontFacingCamera) {
|
|
3438
|
+
selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
3439
|
+
return cameraLabelMatches(deviceInfo, frontCameraLabels);
|
|
3440
|
+
});
|
|
3441
|
+
}
|
|
3442
|
+
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
3443
|
+
return cameraLabelMatches(deviceInfo, 'backtriplecamera');
|
|
3444
|
+
}));
|
|
3445
|
+
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
3446
|
+
return cameraLabelMatches(deviceInfo, 'backdualcamera');
|
|
3447
|
+
}));
|
|
3448
|
+
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
3449
|
+
return cameraLabelMatches(deviceInfo, rearCameraLabels) && !cameraLabelMatches(deviceInfo, backUltraWideCameraLabels);
|
|
3450
|
+
}));
|
|
3451
|
+
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
3452
|
+
return cameraLabelMatches(deviceInfo, rearCameraLabels);
|
|
3453
|
+
}));
|
|
3454
|
+
// on iOS, the front facing camera always is at the first position in the list, so we skip it if all else fails.
|
|
3455
|
+
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) {
|
|
3456
|
+
selectedCamera || (selectedCamera = availableCameras[1]);
|
|
3457
|
+
}
|
|
3458
|
+
selectedCamera || (selectedCamera = availableCameras[0]);
|
|
3459
|
+
debug('selectedCamera', selectedCamera);
|
|
3460
|
+
set({
|
|
3461
|
+
videoDevice: selectedCamera
|
|
3462
|
+
});
|
|
3463
|
+
constraints = {
|
|
3464
|
+
audio: false,
|
|
3465
|
+
video: {
|
|
3466
|
+
deviceId: {
|
|
3467
|
+
exact: selectedCamera.deviceId
|
|
3468
|
+
},
|
|
3469
|
+
width: {
|
|
3470
|
+
ideal: config.maxVideoWidth
|
|
3471
|
+
},
|
|
3472
|
+
aspectRatio: 1.777777778,
|
|
3473
|
+
frameRate: {}
|
|
3474
|
+
}
|
|
3475
|
+
};
|
|
3476
|
+
if (config.maxFps) {
|
|
3477
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3478
|
+
// @ts-ignore
|
|
3479
|
+
constraints.video.frameRate = {
|
|
3480
|
+
max: config.maxFps
|
|
3481
|
+
};
|
|
3482
|
+
}
|
|
3483
|
+
stream = null;
|
|
3484
|
+
_e.label = 3;
|
|
3485
|
+
case 3:
|
|
3486
|
+
_e.trys.push([3, 5,, 6]);
|
|
3487
|
+
debug('obtaining camera access with constraints', constraints);
|
|
3488
|
+
return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];
|
|
3489
|
+
case 4:
|
|
3490
|
+
stream = _e.sent();
|
|
3491
|
+
return [3 /*break*/, 6];
|
|
3492
|
+
case 5:
|
|
3493
|
+
e_1 = _e.sent();
|
|
3494
|
+
if (e_1.name === 'NotAllowedError') {
|
|
3495
|
+
if (preferIphoneContinuityCamera) {
|
|
3496
|
+
set({
|
|
3497
|
+
iphoneContinuityCameraAvailable: false,
|
|
3498
|
+
iphoneContinuityCameraDenied: true
|
|
3499
|
+
});
|
|
3500
|
+
} else {
|
|
3501
|
+
set({
|
|
3502
|
+
cameraAccessDenied: true
|
|
3503
|
+
});
|
|
3504
|
+
}
|
|
3505
|
+
return [2 /*return*/];
|
|
3506
|
+
}
|
|
3507
|
+
return [3 /*break*/, 6];
|
|
3508
|
+
case 6:
|
|
3509
|
+
if (!!stream) return [3 /*break*/, 10];
|
|
3510
|
+
_e.label = 7;
|
|
3511
|
+
case 7:
|
|
3512
|
+
_e.trys.push([7, 9,, 10]);
|
|
3513
|
+
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
3514
|
+
audio: false,
|
|
3515
|
+
video: true
|
|
3516
|
+
})];
|
|
3517
|
+
case 8:
|
|
3518
|
+
stream = _e.sent();
|
|
3519
|
+
debug('opened stream with no width and height constraints');
|
|
3520
|
+
return [3 /*break*/, 10];
|
|
3521
|
+
case 9:
|
|
3522
|
+
_e.sent();
|
|
3523
|
+
debug('cannot open stream at all');
|
|
3524
|
+
return [3 /*break*/, 10];
|
|
3525
|
+
case 10:
|
|
3526
|
+
if (!stream) {
|
|
3527
|
+
error('failed to open camera');
|
|
3528
|
+
throw new Error('failed to open camera');
|
|
3529
|
+
}
|
|
3530
|
+
debug('camera access granted with constraints', constraints);
|
|
3531
|
+
iphoneContinuityCameraAvailable_1 = get().iphoneContinuityCameraAvailable;
|
|
3532
|
+
handleStreamEnded_1 = function handleStreamEnded_1() {
|
|
3533
|
+
if (iphoneContinuityCameraAvailable_1 && preferIphoneContinuityCamera) {
|
|
3534
|
+
debug('someone unplugged the continuity camera');
|
|
3535
|
+
releaseCameraAccess();
|
|
3536
|
+
set({
|
|
3537
|
+
videoStream: null,
|
|
3538
|
+
videoDevice: null,
|
|
3539
|
+
iphoneContinuityCameraAvailable: false,
|
|
3540
|
+
iphoneContinuityCameraDenied: true
|
|
3541
|
+
});
|
|
3542
|
+
} else {
|
|
3543
|
+
debug('someone unplugged the webcam');
|
|
3544
|
+
releaseCameraAccess();
|
|
3545
|
+
set({
|
|
3546
|
+
videoStream: null,
|
|
3547
|
+
videoDevice: null,
|
|
3548
|
+
videoLoaded: false,
|
|
3549
|
+
cameraAccessDenied: true
|
|
3550
|
+
});
|
|
3551
|
+
}
|
|
3552
|
+
};
|
|
3553
|
+
(_d = config.videoRef.current) === null || _d === void 0 ? void 0 : _d.addEventListener('ended', handleStreamEnded_1);
|
|
3554
|
+
stream.getVideoTracks().forEach(function (track) {
|
|
3555
|
+
track.onended = handleStreamEnded_1;
|
|
3556
|
+
});
|
|
3557
|
+
camera = obtainCameraAccess(stream, selectedCamera.label, config.videoRef.current);
|
|
3558
|
+
set({
|
|
3559
|
+
camera: camera,
|
|
3560
|
+
cameraReady: true,
|
|
3561
|
+
isRearFacing: camera.isRearFacing,
|
|
3562
|
+
videoStream: stream
|
|
3563
|
+
});
|
|
3564
|
+
return [3 /*break*/, 12];
|
|
3565
|
+
case 11:
|
|
3566
|
+
e_3 = _e.sent();
|
|
3567
|
+
if (e_3.name === 'NotAllowedError') {
|
|
3568
|
+
error('camera access has been blocked by the user', e_3);
|
|
3569
|
+
set({
|
|
3570
|
+
cameraAccessDenied: true
|
|
3571
|
+
});
|
|
3572
|
+
} else {
|
|
3573
|
+
error('camera access encountered some other error', e_3);
|
|
3574
|
+
throw e_3;
|
|
3575
|
+
}
|
|
3576
|
+
return [3 /*break*/, 12];
|
|
3577
|
+
case 12:
|
|
3578
|
+
return [2 /*return*/];
|
|
3579
|
+
}
|
|
3580
|
+
});
|
|
3581
|
+
});
|
|
3582
|
+
},
|
|
3583
|
+
releaseCameraAccess: function releaseCameraAccess() {
|
|
3584
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3585
|
+
var camera;
|
|
3586
|
+
return __generator(this, function (_a) {
|
|
3587
|
+
camera = get().camera;
|
|
3588
|
+
if (!camera) return [2 /*return*/];
|
|
3589
|
+
camera.release();
|
|
3590
|
+
set({
|
|
3591
|
+
camera: null,
|
|
3592
|
+
cameraReady: false,
|
|
3593
|
+
cameraAccessDenied: false
|
|
3594
|
+
});
|
|
3595
|
+
return [2 /*return*/];
|
|
3596
|
+
});
|
|
3597
|
+
});
|
|
3598
|
+
},
|
|
3599
|
+
requestMicrophoneAccess: function requestMicrophoneAccess() {
|
|
3600
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3601
|
+
var stream;
|
|
3602
|
+
return __generator(this, function (_a) {
|
|
3603
|
+
switch (_a.label) {
|
|
3604
|
+
case 0:
|
|
3605
|
+
get().releaseMicrophoneAccess();
|
|
3606
|
+
_a.label = 1;
|
|
3607
|
+
case 1:
|
|
3608
|
+
_a.trys.push([1, 3,, 4]);
|
|
3609
|
+
return [4 /*yield*/, navigator.mediaDevices.getUserMedia({
|
|
3610
|
+
audio: true,
|
|
3611
|
+
video: false
|
|
3612
|
+
})];
|
|
3613
|
+
case 2:
|
|
3614
|
+
stream = _a.sent();
|
|
3615
|
+
set({
|
|
3616
|
+
audioStream: stream,
|
|
3617
|
+
microphoneReady: true
|
|
3618
|
+
});
|
|
3619
|
+
stream.getAudioTracks().forEach(function (track) {
|
|
3620
|
+
track.onended = function () {
|
|
3621
|
+
set({
|
|
3622
|
+
microphoneAccessDenied: true
|
|
3623
|
+
});
|
|
3624
|
+
};
|
|
3625
|
+
});
|
|
3626
|
+
return [3 /*break*/, 4];
|
|
3627
|
+
case 3:
|
|
3628
|
+
_a.sent();
|
|
3629
|
+
set({
|
|
3630
|
+
microphoneAccessDenied: true
|
|
3631
|
+
});
|
|
3632
|
+
return [3 /*break*/, 4];
|
|
3633
|
+
case 4:
|
|
3634
|
+
return [2 /*return*/];
|
|
3635
|
+
}
|
|
3636
|
+
});
|
|
3637
|
+
});
|
|
3638
|
+
},
|
|
3639
|
+
releaseMicrophoneAccess: function releaseMicrophoneAccess() {
|
|
3640
|
+
var _a;
|
|
3641
|
+
var audioStream = get().audioStream;
|
|
3642
|
+
(_a = audioStream === null || audioStream === void 0 ? void 0 : audioStream.stop) === null || _a === void 0 ? void 0 : _a.call(audioStream);
|
|
3643
|
+
audioStream === null || audioStream === void 0 ? void 0 : audioStream.getAudioTracks().forEach(function (track) {
|
|
3644
|
+
var _a;
|
|
3645
|
+
(_a = track.stop) === null || _a === void 0 ? void 0 : _a.call(track);
|
|
3646
|
+
});
|
|
3647
|
+
set({
|
|
3648
|
+
audioStream: null,
|
|
3649
|
+
microphoneReady: false,
|
|
3650
|
+
microphoneAccessDenied: false
|
|
3651
|
+
});
|
|
3652
|
+
}
|
|
3653
|
+
});
|
|
3654
|
+
});
|
|
3655
|
+
if (config.requestAccessAutomatically) {
|
|
3656
|
+
store.getState().requestCameraAccess();
|
|
3657
|
+
}
|
|
3658
|
+
if (config.requireMicrophoneAccess) {
|
|
3659
|
+
store.getState().requestMicrophoneAccess();
|
|
3660
|
+
}
|
|
3661
|
+
return _assign(_assign({}, store), {
|
|
3662
|
+
destroy: function destroy() {
|
|
3663
|
+
store.getState().releaseCameraAccess();
|
|
3664
|
+
store.getState().releaseMicrophoneAccess();
|
|
3665
|
+
}
|
|
3666
|
+
});
|
|
3667
|
+
};
|
|
3668
|
+
var CameraStoreContext = /*#__PURE__*/React.createContext(undefined);
|
|
3669
|
+
function CameraStoreProvider(_a) {
|
|
3670
|
+
var children = _a.children,
|
|
3671
|
+
_b = _a.requestAccessAutomatically,
|
|
3672
|
+
requestAccessAutomatically = _b === void 0 ? true : _b,
|
|
3673
|
+
_c = _a.preferIphoneContinuityCamera,
|
|
3674
|
+
preferIphoneContinuityCamera = _c === void 0 ? true : _c,
|
|
3675
|
+
_d = _a.preferFrontFacingCamera,
|
|
3676
|
+
preferFrontFacingCamera = _d === void 0 ? false : _d,
|
|
3677
|
+
_e = _a.maxVideoWidth,
|
|
3678
|
+
maxVideoWidth = _e === void 0 ? 1920 : _e,
|
|
3679
|
+
maxFps = _a.maxFps,
|
|
3680
|
+
onCameraAccessDenied = _a.onCameraAccessDenied,
|
|
3681
|
+
onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied,
|
|
3682
|
+
_f = _a.requireMicrophoneAccess,
|
|
3683
|
+
requireMicrophoneAccess = _f === void 0 ? false : _f;
|
|
3684
|
+
var videoRef = React.useRef(null);
|
|
3685
|
+
var store = React.useRef();
|
|
3686
|
+
store.current || (store.current = createCameraStore({
|
|
3687
|
+
videoRef: videoRef,
|
|
3688
|
+
requestAccessAutomatically: requestAccessAutomatically,
|
|
3689
|
+
preferIphoneContinuityCamera: preferIphoneContinuityCamera,
|
|
3690
|
+
preferFrontFacingCamera: preferFrontFacingCamera,
|
|
3691
|
+
maxVideoWidth: maxVideoWidth,
|
|
3692
|
+
maxFps: maxFps,
|
|
3693
|
+
onCameraAccessDenied: onCameraAccessDenied,
|
|
3694
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied,
|
|
3695
|
+
requireMicrophoneAccess: requireMicrophoneAccess
|
|
3696
|
+
}));
|
|
3697
|
+
React.useEffect(function () {
|
|
3698
|
+
var _a, _b, _c;
|
|
3699
|
+
var state = (_a = store.current) === null || _a === void 0 ? void 0 : _a.getState();
|
|
3700
|
+
if (!state) return;
|
|
3701
|
+
if (preferIphoneContinuityCamera !== (state === null || state === void 0 ? void 0 : state.preferIphoneContinuityCamera) || preferFrontFacingCamera !== (state === null || state === void 0 ? void 0 : state.preferFrontFacingCamera)) {
|
|
3702
|
+
(_b = store.current) === null || _b === void 0 ? void 0 : _b.setState({
|
|
3703
|
+
preferIphoneContinuityCamera: preferIphoneContinuityCamera,
|
|
3704
|
+
preferFrontFacingCamera: preferFrontFacingCamera
|
|
3705
|
+
});
|
|
3706
|
+
(_c = store.current) === null || _c === void 0 ? void 0 : _c.getState().requestCameraAccess();
|
|
3707
|
+
}
|
|
3708
|
+
}, [preferFrontFacingCamera, preferIphoneContinuityCamera]);
|
|
3709
|
+
React.useEffect(function () {
|
|
3710
|
+
return function () {
|
|
3711
|
+
var _a;
|
|
3712
|
+
return (_a = store.current) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
3713
|
+
};
|
|
3714
|
+
}, []);
|
|
3715
|
+
return /*#__PURE__*/React__namespace.default.createElement(CameraStoreContext.Provider, {
|
|
3716
|
+
value: store.current
|
|
3717
|
+
}, children);
|
|
3718
|
+
}
|
|
3719
|
+
function useCameraStore(selector) {
|
|
3720
|
+
var store = React.useContext(CameraStoreContext);
|
|
3721
|
+
if (!store) throw new Error('useCameraStore cannot be used without Provider');
|
|
3722
|
+
return zustand.useStore(store, selector);
|
|
3723
|
+
}
|
|
3724
|
+
|
|
3825
3725
|
var DocumentDetectionModelContext = /*#__PURE__*/React.createContext({
|
|
3826
3726
|
startDocumentDetection: function startDocumentDetection() {
|
|
3827
3727
|
return null;
|
|
@@ -3867,7 +3767,7 @@ function DocumentDetectionModelProvider(_a) {
|
|
|
3867
3767
|
_g = _a.documentDetectionModelLoadTimeoutMs,
|
|
3868
3768
|
documentDetectionModelLoadTimeoutMs = _g === void 0 ? defaultDocumentDetectionModelLoadTimeoutMs : _g,
|
|
3869
3769
|
onDocumentDetectionModelError = _a.onDocumentDetectionModelError;
|
|
3870
|
-
var _h =
|
|
3770
|
+
var _h = useCameraStore(),
|
|
3871
3771
|
videoRef = _h.videoRef,
|
|
3872
3772
|
videoLoaded = _h.videoLoaded,
|
|
3873
3773
|
cameraReady = _h.cameraReady;
|
|
@@ -3890,7 +3790,8 @@ function DocumentDetectionModelProvider(_a) {
|
|
|
3890
3790
|
modelPath: documentDetectionModelPath,
|
|
3891
3791
|
modelLoadTimeoutMs: documentDetectionModelLoadTimeoutMs,
|
|
3892
3792
|
scoreThreshold: documentDetectionModelScoreThreshold,
|
|
3893
|
-
onModelError: onDocumentDetectionModelError
|
|
3793
|
+
onModelError: onDocumentDetectionModelError,
|
|
3794
|
+
videoRef: videoRef
|
|
3894
3795
|
}),
|
|
3895
3796
|
ready = _o.ready,
|
|
3896
3797
|
modelDownloadProgress = _o.modelDownloadProgress,
|
|
@@ -4007,10 +3908,12 @@ function FocusModelProvider(_a) {
|
|
|
4007
3908
|
var _e = React.useState({}),
|
|
4008
3909
|
focusThresholds = _e[0],
|
|
4009
3910
|
setFocusThresholds = _e[1];
|
|
3911
|
+
var videoRef = useCameraStore().videoRef;
|
|
4010
3912
|
var _f = useLoadFocusModel({
|
|
4011
3913
|
modelPath: focusModelPath,
|
|
4012
3914
|
modelLoadTimeoutMs: focusModelLoadTimeoutMs,
|
|
4013
|
-
onModelError: onFocusModelError
|
|
3915
|
+
onModelError: onFocusModelError,
|
|
3916
|
+
videoRef: videoRef
|
|
4014
3917
|
}),
|
|
4015
3918
|
ready = _f.ready,
|
|
4016
3919
|
modelDownloadProgress = _f.modelDownloadProgress,
|
|
@@ -4682,12 +4585,12 @@ function DebugStatsPane(_a) {
|
|
|
4682
4585
|
if (!portalLocation) return element;
|
|
4683
4586
|
return /*#__PURE__*/reactDom.createPortal(element, portalLocation);
|
|
4684
4587
|
}
|
|
4685
|
-
var DebugStatsPaneDiv = styled__default.default.span(templateObject_1$
|
|
4686
|
-
var ObjectDetectionDebugOverlayDiv = styled__default.default.div(templateObject_2$
|
|
4588
|
+
var DebugStatsPaneDiv = styled__default.default.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"])));
|
|
4589
|
+
var ObjectDetectionDebugOverlayDiv = styled__default.default.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) {
|
|
4687
4590
|
var $flipX = _a.$flipX;
|
|
4688
4591
|
return $flipX ? 'transform: scaleX(-1);' : '';
|
|
4689
4592
|
});
|
|
4690
|
-
var ObjectDetectionDebugBox = styled__default.default.div(templateObject_3$
|
|
4593
|
+
var ObjectDetectionDebugBox = styled__default.default.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) {
|
|
4691
4594
|
var $color = _a.$color;
|
|
4692
4595
|
return $color !== null && $color !== void 0 ? $color : 'green';
|
|
4693
4596
|
}, function (_a) {
|
|
@@ -4697,7 +4600,7 @@ var ObjectDetectionDebugBox = styled__default.default.div(templateObject_3$n ||
|
|
|
4697
4600
|
var $flipX = _a.$flipX;
|
|
4698
4601
|
return $flipX ? 'transform: scaleX(-1);' : '';
|
|
4699
4602
|
});
|
|
4700
|
-
var FaceDetectionKeypointMarker = styled__default.default.div(templateObject_4$
|
|
4603
|
+
var FaceDetectionKeypointMarker = styled__default.default.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) {
|
|
4701
4604
|
var $color = _a.$color;
|
|
4702
4605
|
return $color !== null && $color !== void 0 ? $color : 'red';
|
|
4703
4606
|
}, function (_a) {
|
|
@@ -4888,7 +4791,7 @@ function SelfieCaptureFaceKeypoint(_a) {
|
|
|
4888
4791
|
}
|
|
4889
4792
|
});
|
|
4890
4793
|
}
|
|
4891
|
-
var templateObject_1$
|
|
4794
|
+
var templateObject_1$F, templateObject_2$y, templateObject_3$p, templateObject_4$j;
|
|
4892
4795
|
|
|
4893
4796
|
var enTranslation = {};
|
|
4894
4797
|
|
|
@@ -5065,7 +4968,7 @@ function useTranslations(verbiage, fallbacks) {
|
|
|
5065
4968
|
}, [fallbacks, i18n.language, t, verbiage]);
|
|
5066
4969
|
}
|
|
5067
4970
|
|
|
5068
|
-
var GuidanceMessageContainerDiv = styled__default.default.div(templateObject_1$
|
|
4971
|
+
var GuidanceMessageContainerDiv = styled__default.default.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) {
|
|
5069
4972
|
var $top = _a.$top;
|
|
5070
4973
|
return $top !== null && $top !== void 0 ? $top : '10vh';
|
|
5071
4974
|
}, function (_a) {
|
|
@@ -5078,14 +4981,14 @@ var GuidanceMessageContainer = function GuidanceMessageContainer(props) {
|
|
|
5078
4981
|
if (!portalLocation) return element;
|
|
5079
4982
|
return /*#__PURE__*/reactDom.createPortal(element, portalLocation);
|
|
5080
4983
|
};
|
|
5081
|
-
var GuidanceMessage = styled__default.default.div(templateObject_2$
|
|
4984
|
+
var GuidanceMessage = styled__default.default.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) {
|
|
5082
4985
|
var _a, _b, _c, _d, _e, _f;
|
|
5083
4986
|
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';
|
|
5084
4987
|
}, function (props) {
|
|
5085
4988
|
var _a, _b, _c, _d, _e, _f;
|
|
5086
4989
|
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';
|
|
5087
4990
|
});
|
|
5088
|
-
var templateObject_1$
|
|
4991
|
+
var templateObject_1$E, templateObject_2$x;
|
|
5089
4992
|
|
|
5090
4993
|
function OverrideWrongDocumentTypeGuidanceDialog(_a) {
|
|
5091
4994
|
var _b = _a.classNames,
|
|
@@ -5100,7 +5003,7 @@ function OverrideWrongDocumentTypeGuidanceDialog(_a) {
|
|
|
5100
5003
|
buttonText: 'OK'
|
|
5101
5004
|
});
|
|
5102
5005
|
if (!state.allowOverrideWrongDocumentTypeGuidance) return null;
|
|
5103
|
-
return /*#__PURE__*/React__namespace.default.createElement(Container$
|
|
5006
|
+
return /*#__PURE__*/React__namespace.default.createElement(Container$2, {
|
|
5104
5007
|
className: classNames.container
|
|
5105
5008
|
}, /*#__PURE__*/React__namespace.default.createElement(InnerContainer, {
|
|
5106
5009
|
className: classNames.inner
|
|
@@ -5118,45 +5021,47 @@ function OverrideWrongDocumentTypeGuidanceDialog(_a) {
|
|
|
5118
5021
|
}
|
|
5119
5022
|
}, verbiage.buttonText))));
|
|
5120
5023
|
}
|
|
5121
|
-
var Container$
|
|
5024
|
+
var Container$2 = styled__default.default.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) {
|
|
5122
5025
|
var _a, _b, _c;
|
|
5123
5026
|
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';
|
|
5124
5027
|
}, function (props) {
|
|
5125
5028
|
var _a, _b, _c;
|
|
5126
5029
|
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';
|
|
5127
5030
|
});
|
|
5128
|
-
var InnerContainer = styled__default.default.div(templateObject_2$
|
|
5129
|
-
var Message = styled__default.default.span(templateObject_3$
|
|
5130
|
-
var ButtonContainer = styled__default.default.div(templateObject_4$
|
|
5131
|
-
var Button = styled__default.default(LoaderButton)(templateObject_5$
|
|
5132
|
-
var templateObject_1$
|
|
5031
|
+
var InnerContainer = styled__default.default.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"])));
|
|
5032
|
+
var Message = styled__default.default.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"])));
|
|
5033
|
+
var ButtonContainer = styled__default.default.div(templateObject_4$i || (templateObject_4$i = __makeTemplateObject(["\n display: flex;\n margin-left: auto;\n"], ["\n display: flex;\n margin-left: auto;\n"])));
|
|
5034
|
+
var Button = styled__default.default(LoaderButton)(templateObject_5$b || (templateObject_5$b = __makeTemplateObject(["\n white-space: nowrap;\n margin: auto;\n"], ["\n white-space: nowrap;\n margin: auto;\n"])));
|
|
5035
|
+
var templateObject_1$D, templateObject_2$w, templateObject_3$o, templateObject_4$i, templateObject_5$b;
|
|
5133
5036
|
|
|
5134
5037
|
var IdCapture = function IdCapture(_a) {
|
|
5135
|
-
var _b, _c, _d, _e, _f, _g, _h
|
|
5038
|
+
var _b, _c, _d, _e, _f, _g, _h;
|
|
5136
5039
|
var requiredDocumentType = _a.requiredDocumentType,
|
|
5137
|
-
|
|
5138
|
-
thresholds =
|
|
5040
|
+
_j = _a.thresholds,
|
|
5041
|
+
thresholds = _j === void 0 ? defaultIdCaptureThresholds : _j,
|
|
5139
5042
|
guidanceMessage = _a.guidanceMessage,
|
|
5140
5043
|
guidanceSatisfied = _a.guidanceSatisfied,
|
|
5141
5044
|
onCapture = _a.onCapture,
|
|
5142
|
-
|
|
5143
|
-
classNames =
|
|
5144
|
-
|
|
5145
|
-
colors =
|
|
5146
|
-
|
|
5147
|
-
rawVerbiage =
|
|
5148
|
-
|
|
5149
|
-
debugMode =
|
|
5150
|
-
var
|
|
5151
|
-
ref =
|
|
5152
|
-
|
|
5153
|
-
width =
|
|
5154
|
-
|
|
5155
|
-
height =
|
|
5156
|
-
var
|
|
5157
|
-
state =
|
|
5158
|
-
dispatch =
|
|
5159
|
-
var
|
|
5045
|
+
_k = _a.classNames,
|
|
5046
|
+
classNames = _k === void 0 ? {} : _k,
|
|
5047
|
+
_l = _a.colors,
|
|
5048
|
+
colors = _l === void 0 ? {} : _l,
|
|
5049
|
+
_m = _a.verbiage,
|
|
5050
|
+
rawVerbiage = _m === void 0 ? {} : _m,
|
|
5051
|
+
_o = _a.debugMode,
|
|
5052
|
+
debugMode = _o === void 0 ? false : _o;
|
|
5053
|
+
var _p = useResizeObserver__default.default(),
|
|
5054
|
+
ref = _p.ref,
|
|
5055
|
+
_q = _p.width,
|
|
5056
|
+
width = _q === void 0 ? 1 : _q,
|
|
5057
|
+
_r = _p.height,
|
|
5058
|
+
height = _r === void 0 ? 1 : _r;
|
|
5059
|
+
var _s = useIdCaptureState(),
|
|
5060
|
+
state = _s[0],
|
|
5061
|
+
dispatch = _s[1];
|
|
5062
|
+
var _t = useCameraStore(),
|
|
5063
|
+
camera = _t.camera,
|
|
5064
|
+
isRearFacing = _t.isRearFacing;
|
|
5160
5065
|
var _u = React.useContext(IdCaptureModelsContext),
|
|
5161
5066
|
modelsReady = _u.ready,
|
|
5162
5067
|
setThresholds = _u.setThresholds,
|
|
@@ -5268,17 +5173,16 @@ var IdCapture = function IdCapture(_a) {
|
|
|
5268
5173
|
classNames: classNames.overrideWrongDocumentTypeGuidanceDialog,
|
|
5269
5174
|
verbiage: rawVerbiage.overrideWrongDocumentTypeGuidanceDialog
|
|
5270
5175
|
}))), debugMode && ( /*#__PURE__*/React__namespace.default.createElement(DebugBoundingBoxOverlay, {
|
|
5271
|
-
"$flipX": !
|
|
5176
|
+
"$flipX": !isRearFacing,
|
|
5272
5177
|
scaling: debugScalingDetails
|
|
5273
5178
|
}, state.detectedObjects.map(function (obj, i) {
|
|
5274
|
-
var _a;
|
|
5275
5179
|
return /*#__PURE__*/React__namespace.default.createElement(IdCaptureDetectedObjectDebugBox, {
|
|
5276
5180
|
key: i,
|
|
5277
5181
|
obj: obj,
|
|
5278
5182
|
scaling: debugScalingDetails,
|
|
5279
|
-
flipX: !
|
|
5183
|
+
flipX: !isRearFacing
|
|
5280
5184
|
});
|
|
5281
|
-
}))), debugMode && ( /*#__PURE__*/React__namespace.default.createElement(DebugStatsPane, null,
|
|
5185
|
+
}))), debugMode && ( /*#__PURE__*/React__namespace.default.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React__namespace.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__namespace.default.createElement("br", null), modelsReady ? ( /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, state.detectionThresholdMet ? '✅' : '❌', " Detected Document Type: ", state.detectedDocumentType, /*#__PURE__*/React__namespace.default.createElement("br", null), state.idCardFrontDetectionThresholdMet ? '✅' : '❌', " ID Card Front Score: ", state.idCardFrontDetectionScore.toFixed(3), /*#__PURE__*/React__namespace.default.createElement("br", null), state.idCardBackDetectionThresholdMet ? '✅' : '❌', " ID Card Back Score: ", state.idCardBackDetectionScore.toFixed(3), /*#__PURE__*/React__namespace.default.createElement("br", null), state.passportDetectionThresholdMet ? '✅' : '❌', " Passport Score: ", state.passportDetectionScore.toFixed(3), /*#__PURE__*/React__namespace.default.createElement("br", null), state.focusThresholdMet ? '✅' : '❌', " Focus Score:", ' ', state.focusScore.toFixed(3), /*#__PURE__*/React__namespace.default.createElement("br", null), state.documentInBounds ? '✅' : '❌', " Document In Bounds", /*#__PURE__*/React__namespace.default.createElement("br", null), state.documentIsStable ? '✅' : '❌', " Document Is Stable", /*#__PURE__*/React__namespace.default.createElement("br", null), state.goodFramesThresholdMet ? '✅' : '❌', " Good Frame Count:", ' ', state.goodFramesCount, "/", state.goodFramesThreshold)) : ( /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, "\u274C Models not ready")))));
|
|
5282
5186
|
};
|
|
5283
5187
|
var timeSince = function timeSince(t) {
|
|
5284
5188
|
if (!t) return 0;
|
|
@@ -5295,7 +5199,9 @@ var CameraAccessDeniedOverlay = function CameraAccessDeniedOverlay(_a) {
|
|
|
5295
5199
|
colors = _e === void 0 ? {} : _e,
|
|
5296
5200
|
_f = _a.verbiage,
|
|
5297
5201
|
rawVerbiage = _f === void 0 ? {} : _f;
|
|
5298
|
-
var requestCameraAccess =
|
|
5202
|
+
var requestCameraAccess = useCameraStore(function (state) {
|
|
5203
|
+
return state.requestCameraAccess;
|
|
5204
|
+
});
|
|
5299
5205
|
assets.imageUrl || (assets.imageUrl = DEFAULT_CDN_URL + '/camera-disable-icon.png');
|
|
5300
5206
|
var verbiage = useTranslations(rawVerbiage, {
|
|
5301
5207
|
headingText: 'Your camera permission is disabled',
|
|
@@ -5324,13 +5230,13 @@ var CameraAccessDeniedOverlay = function CameraAccessDeniedOverlay(_a) {
|
|
|
5324
5230
|
finished: true
|
|
5325
5231
|
}, verbiage.retryBtnText)));
|
|
5326
5232
|
};
|
|
5327
|
-
var StyledOverlayInner$3 = styled__default.default(OverlayInner$2)(templateObject_1$
|
|
5328
|
-
var StyledOverlayImageContainer$3 = styled__default.default(OverlayImageContainer)(templateObject_2$
|
|
5329
|
-
var Description$4 = styled__default.default.p(templateObject_3$
|
|
5330
|
-
var RetryButton$1 = styled__default.default(LoaderButton)(templateObject_4$
|
|
5331
|
-
var templateObject_1$
|
|
5233
|
+
var StyledOverlayInner$3 = styled__default.default(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"])));
|
|
5234
|
+
var StyledOverlayImageContainer$3 = styled__default.default(OverlayImageContainer)(templateObject_2$v || (templateObject_2$v = __makeTemplateObject(["\n flex-grow: 0;\n"], ["\n flex-grow: 0;\n"])));
|
|
5235
|
+
var Description$4 = styled__default.default.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"])));
|
|
5236
|
+
var RetryButton$1 = styled__default.default(LoaderButton)(templateObject_4$h || (templateObject_4$h = __makeTemplateObject(["\n width: 200px;\n margin: 0 auto;\n"], ["\n width: 200px;\n margin: 0 auto;\n"])));
|
|
5237
|
+
var templateObject_1$C, templateObject_2$v, templateObject_3$n, templateObject_4$h;
|
|
5332
5238
|
|
|
5333
|
-
var ExitCaptureStyledButton = styled__default.default.button(templateObject_1$
|
|
5239
|
+
var ExitCaptureStyledButton = styled__default.default.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"])));
|
|
5334
5240
|
var ExitCaptureButton = function ExitCaptureButton(_a) {
|
|
5335
5241
|
var onClick = _a.onClick,
|
|
5336
5242
|
className = _a.className;
|
|
@@ -5374,10 +5280,10 @@ var ExitCaptureButton = function ExitCaptureButton(_a) {
|
|
|
5374
5280
|
y2: "19.75"
|
|
5375
5281
|
}))));
|
|
5376
5282
|
};
|
|
5377
|
-
var templateObject_1$
|
|
5283
|
+
var templateObject_1$B;
|
|
5378
5284
|
|
|
5379
|
-
var ButtonsRow = styled__default.default.div(templateObject_1$
|
|
5380
|
-
var templateObject_1$
|
|
5285
|
+
var ButtonsRow = styled__default.default.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"])));
|
|
5286
|
+
var templateObject_1$A;
|
|
5381
5287
|
|
|
5382
5288
|
function IdCaptureLoadingGraphic(props) {
|
|
5383
5289
|
var isMobile = window.innerHeight > window.innerWidth;
|
|
@@ -5406,25 +5312,15 @@ function IdCaptureLoadingGraphicDesktop(_a) {
|
|
|
5406
5312
|
var theme = styled.useTheme();
|
|
5407
5313
|
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)';
|
|
5408
5314
|
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;
|
|
5409
|
-
return /*#__PURE__*/React__namespace.default.createElement(
|
|
5410
|
-
style: {
|
|
5411
|
-
display: 'flex',
|
|
5412
|
-
width: '100%',
|
|
5413
|
-
height: '100%'
|
|
5414
|
-
}
|
|
5415
|
-
}, /*#__PURE__*/React__namespace.default.createElement("svg", {
|
|
5315
|
+
return /*#__PURE__*/React__namespace.default.createElement(LoadingGraphicWrapper, null, /*#__PURE__*/React__namespace.default.createElement(LoadingGraphicSvg, {
|
|
5416
5316
|
className: className,
|
|
5417
5317
|
width: width,
|
|
5418
5318
|
height: height,
|
|
5319
|
+
"$frame": frame,
|
|
5320
|
+
"$borderColor": accentColor,
|
|
5419
5321
|
viewBox: "0 0 698 452",
|
|
5420
5322
|
fill: "none",
|
|
5421
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
5422
|
-
style: {
|
|
5423
|
-
margin: 'auto',
|
|
5424
|
-
transform: "scale(".concat(frame > 1 ? 1 : frame === 1 ? 1.25 : 0.75, ")"),
|
|
5425
|
-
transition: 'transform 0.2s linear, border-width 0.2s linear',
|
|
5426
|
-
border: "".concat(frame >= 5 ? 10 : 0, "px solid ").concat(accentColor)
|
|
5427
|
-
}
|
|
5323
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
5428
5324
|
}, /*#__PURE__*/React__namespace.default.createElement("g", {
|
|
5429
5325
|
filter: frame === 1 ? 'url(#filter0_f_91_884)' : undefined
|
|
5430
5326
|
}, /*#__PURE__*/React__namespace.default.createElement("path", {
|
|
@@ -5652,12 +5548,9 @@ function IdCaptureLoadingGraphicMobile(_a) {
|
|
|
5652
5548
|
viewBox: "0 0 428 747",
|
|
5653
5549
|
fill: "none",
|
|
5654
5550
|
xmlns: "http://www.w3.org/2000/svg"
|
|
5655
|
-
}, /*#__PURE__*/React__namespace.default.createElement(
|
|
5551
|
+
}, /*#__PURE__*/React__namespace.default.createElement(LoadingGraphicCardGroup, {
|
|
5656
5552
|
id: "card",
|
|
5657
|
-
|
|
5658
|
-
transform: "translate(".concat(frame < 1 ? '-500px' : '0', ", 0)"),
|
|
5659
|
-
transition: 'transform 0.3s linear'
|
|
5660
|
-
}
|
|
5553
|
+
"$offScreen": frame < 1
|
|
5661
5554
|
}, /*#__PURE__*/React__namespace.default.createElement("path", {
|
|
5662
5555
|
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",
|
|
5663
5556
|
fill: "#F3F3F3",
|
|
@@ -5840,13 +5733,10 @@ function IdCaptureLoadingGraphicMobile(_a) {
|
|
|
5840
5733
|
strokeWidth: "5",
|
|
5841
5734
|
strokeLinecap: "round",
|
|
5842
5735
|
strokeLinejoin: "round"
|
|
5843
|
-
}))), /*#__PURE__*/React__namespace.default.createElement(
|
|
5736
|
+
}))), /*#__PURE__*/React__namespace.default.createElement(LoadingGraphicPhoneGroup, {
|
|
5844
5737
|
id: "phone",
|
|
5845
5738
|
clipPath: "url(#clip0_29_1778)",
|
|
5846
|
-
|
|
5847
|
-
transform: "translate(".concat(frame < 1 ? '40px' : '0', ", 0)"),
|
|
5848
|
-
transition: 'transform 0.3s linear'
|
|
5849
|
-
}
|
|
5739
|
+
"$offScreen": frame < 1
|
|
5850
5740
|
}, /*#__PURE__*/React__namespace.default.createElement("rect", {
|
|
5851
5741
|
x: "154",
|
|
5852
5742
|
y: "693",
|
|
@@ -5874,6 +5764,21 @@ function IdCaptureLoadingGraphicMobile(_a) {
|
|
|
5874
5764
|
fill: "white"
|
|
5875
5765
|
}))));
|
|
5876
5766
|
}
|
|
5767
|
+
var LoadingGraphicWrapper = styled__default.default.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"])));
|
|
5768
|
+
var LoadingGraphicSvg = styled__default.default.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) {
|
|
5769
|
+
return props.$frame > 1 ? 1 : props.$frame === 1 ? 1.25 : 0.75;
|
|
5770
|
+
}, function (props) {
|
|
5771
|
+
return props.$frame >= 5 ? 10 : 0;
|
|
5772
|
+
}, function (props) {
|
|
5773
|
+
return props.$borderColor;
|
|
5774
|
+
});
|
|
5775
|
+
var LoadingGraphicCardGroup = styled__default.default.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) {
|
|
5776
|
+
return props.$offScreen ? '-500px' : '0';
|
|
5777
|
+
});
|
|
5778
|
+
var LoadingGraphicPhoneGroup = styled__default.default.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) {
|
|
5779
|
+
return props.$offScreen ? '40px' : '0';
|
|
5780
|
+
});
|
|
5781
|
+
var templateObject_1$z, templateObject_2$u, templateObject_3$m, templateObject_4$g;
|
|
5877
5782
|
|
|
5878
5783
|
function LoadingListItemIndicator(_a) {
|
|
5879
5784
|
var _b = _a.state,
|
|
@@ -5944,7 +5849,7 @@ var IdCaptureLoadingOverlayDefault = function IdCaptureLoadingOverlayDefault(_a)
|
|
|
5944
5849
|
var _o = React.useContext(IdCaptureModelsContext),
|
|
5945
5850
|
modelsReady = _o.ready,
|
|
5946
5851
|
modelDownloadProgress = _o.modelDownloadProgress;
|
|
5947
|
-
var _p =
|
|
5852
|
+
var _p = useCameraStore(),
|
|
5948
5853
|
cameraReady = _p.cameraReady,
|
|
5949
5854
|
cameraAccessDenied = _p.cameraAccessDenied,
|
|
5950
5855
|
iphoneContinuityCameraAvailable = _p.iphoneContinuityCameraAvailable,
|
|
@@ -6068,24 +5973,24 @@ var IdCaptureLoadingOverlayDefault = function IdCaptureLoadingOverlayDefault(_a)
|
|
|
6068
5973
|
}
|
|
6069
5974
|
}, verbiage.continueText))))));
|
|
6070
5975
|
};
|
|
6071
|
-
var OverlayInner$1 = styled__default.default.div(templateObject_1$
|
|
5976
|
+
var OverlayInner$1 = styled__default.default.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) {
|
|
6072
5977
|
var _a, _b, _c, _d;
|
|
6073
5978
|
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';
|
|
6074
5979
|
}, function (props) {
|
|
6075
5980
|
var _a, _b, _c, _d;
|
|
6076
5981
|
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';
|
|
6077
5982
|
});
|
|
6078
|
-
var OverlayHeader$1 = styled__default.default.div(templateObject_2$
|
|
5983
|
+
var OverlayHeader$1 = styled__default.default.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) {
|
|
6079
5984
|
var _a;
|
|
6080
5985
|
return (_a = props.theme.textAlign) !== null && _a !== void 0 ? _a : 'center';
|
|
6081
5986
|
}, function (props) {
|
|
6082
5987
|
return props.theme.padding ? "box-sizing: border-box; padding: ".concat(props.theme.padding, ";") : "";
|
|
6083
5988
|
});
|
|
6084
|
-
var StyledGuidanceMessage$2 = styled__default.default(GuidanceMessage)(templateObject_3$
|
|
6085
|
-
var StyledOverlayImageContainer$2 = styled__default.default(OverlayImageContainer)(templateObject_4$
|
|
6086
|
-
var ContinuityCameraCheckboxContainer$1 = styled__default.default.div(templateObject_5$
|
|
6087
|
-
var ContinuityCameraCheckboxInner = styled__default.default(GuidanceMessage)(templateObject_6$
|
|
6088
|
-
var ContinuityCameraCheckbox$1 = styled__default.default.input(templateObject_7$
|
|
5989
|
+
var StyledGuidanceMessage$2 = styled__default.default(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"])));
|
|
5990
|
+
var StyledOverlayImageContainer$2 = styled__default.default(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"])));
|
|
5991
|
+
var ContinuityCameraCheckboxContainer$1 = styled__default.default.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"])));
|
|
5992
|
+
var ContinuityCameraCheckboxInner = styled__default.default(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"])));
|
|
5993
|
+
var ContinuityCameraCheckbox$1 = styled__default.default.input(templateObject_7$5 || (templateObject_7$5 = __makeTemplateObject(["\n margin-right: 8px;\n"], ["\n margin-right: 8px;\n"])));
|
|
6089
5994
|
var StyledButtonsRow$a = styled__default.default(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) {
|
|
6090
5995
|
var _a, _b, _c, _d;
|
|
6091
5996
|
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';
|
|
@@ -6111,7 +6016,7 @@ var ProgressIndicator$1 = styled__default.default.span(templateObject_15$1 || (t
|
|
|
6111
6016
|
var _a, _b, _c, _d;
|
|
6112
6017
|
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)';
|
|
6113
6018
|
}, progressBarAnimation);
|
|
6114
|
-
var CustomLoadingGraphic$1 = styled__default.default.img(templateObject_16 || (templateObject_16 = __makeTemplateObject([""], [""])));
|
|
6019
|
+
var CustomLoadingGraphic$1 = styled__default.default.img(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n transform-style: preserve-3d;\n"], ["\n transform-style: preserve-3d;\n"])));
|
|
6115
6020
|
var ContinueButtonContainer$1 = styled__default.default.div(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n display: flex;\n"], ["\n display: flex;\n"])));
|
|
6116
6021
|
var ContinueButton$1 = styled__default.default(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) {
|
|
6117
6022
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -6120,10 +6025,10 @@ var ContinueButton$1 = styled__default.default(LoaderButton)(templateObject_18 |
|
|
|
6120
6025
|
var _a, _b, _c, _d, _e, _f;
|
|
6121
6026
|
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, ";") : '';
|
|
6122
6027
|
});
|
|
6123
|
-
var templateObject_1$
|
|
6028
|
+
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;
|
|
6124
6029
|
|
|
6125
|
-
var ContinuityCameraCheckboxContainer = styled__default.default.div(templateObject_1$
|
|
6126
|
-
var ContinuityCameraCheckbox = styled__default.default.input(templateObject_2$
|
|
6030
|
+
var ContinuityCameraCheckboxContainer = styled__default.default.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"])));
|
|
6031
|
+
var ContinuityCameraCheckbox = styled__default.default.input(templateObject_2$s || (templateObject_2$s = __makeTemplateObject(["\n margin-right: 8px;\n"], ["\n margin-right: 8px;\n"])));
|
|
6127
6032
|
var IdCaptureLoadingOverlayLegacy = function IdCaptureLoadingOverlayLegacy(_a) {
|
|
6128
6033
|
var _b, _c, _d, _e;
|
|
6129
6034
|
var onDismissed = _a.onDismissed,
|
|
@@ -6142,7 +6047,14 @@ var IdCaptureLoadingOverlayLegacy = function IdCaptureLoadingOverlayLegacy(_a) {
|
|
|
6142
6047
|
var _l = React.useContext(IdCaptureModelsContext),
|
|
6143
6048
|
modelsReady = _l.ready,
|
|
6144
6049
|
modelDownloadProgress = _l.modelDownloadProgress;
|
|
6145
|
-
var _m =
|
|
6050
|
+
var _m = useCameraStore(shallow.useShallow(function (state) {
|
|
6051
|
+
return {
|
|
6052
|
+
cameraReady: state.cameraReady,
|
|
6053
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
6054
|
+
iphoneContinuityCameraAvailable: state.iphoneContinuityCameraAvailable,
|
|
6055
|
+
setIphoneContinuityCameraAllowed: state.setIphoneContinuityCameraAllowed
|
|
6056
|
+
};
|
|
6057
|
+
})),
|
|
6146
6058
|
cameraReady = _m.cameraReady,
|
|
6147
6059
|
cameraAccessDenied = _m.cameraAccessDenied,
|
|
6148
6060
|
iphoneContinuityCameraAvailable = _m.iphoneContinuityCameraAvailable,
|
|
@@ -6234,7 +6146,7 @@ var IdCaptureLoadingOverlayLegacy = function IdCaptureLoadingOverlayLegacy(_a) {
|
|
|
6234
6146
|
}
|
|
6235
6147
|
}, cameraReady && modelsReady ? verbiage.continueText : modelsReady ? verbiage.cameraInitializingText : modelDownloadProgress >= 100 ? verbiage.modelsWarmingUpText : "".concat(verbiage.downloadingText, " (").concat(modelDownloadProgress, "%)"))));
|
|
6236
6148
|
};
|
|
6237
|
-
var templateObject_1$
|
|
6149
|
+
var templateObject_1$x, templateObject_2$s;
|
|
6238
6150
|
|
|
6239
6151
|
var components$1 = {
|
|
6240
6152
|
"default": IdCaptureLoadingOverlayDefault,
|
|
@@ -6292,9 +6204,9 @@ var CapturedDocumentImg = function CapturedDocumentImg(_a) {
|
|
|
6292
6204
|
});
|
|
6293
6205
|
};
|
|
6294
6206
|
|
|
6295
|
-
var Card = styled__default.default.div(templateObject_1$
|
|
6296
|
-
var FlexCard = styled__default.default(Card)(templateObject_2$
|
|
6297
|
-
var templateObject_1$
|
|
6207
|
+
var Card = styled__default.default.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"])));
|
|
6208
|
+
var FlexCard = styled__default.default(Card)(templateObject_2$r || (templateObject_2$r = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n"], ["\n display: flex;\n flex-direction: column;\n"])));
|
|
6209
|
+
var templateObject_1$w, templateObject_2$r;
|
|
6298
6210
|
|
|
6299
6211
|
var IdCaptureSuccess = function IdCaptureSuccess(_a) {
|
|
6300
6212
|
var capturedDocuments = _a.capturedDocuments,
|
|
@@ -6369,13 +6281,13 @@ var IdCaptureSuccess = function IdCaptureSuccess(_a) {
|
|
|
6369
6281
|
finished: true
|
|
6370
6282
|
}, verbiage.retryText)))));
|
|
6371
6283
|
};
|
|
6372
|
-
var Heading$a = styled__default.default.h1(templateObject_1$
|
|
6373
|
-
var ImagesContainer = styled__default.default(OverlayImageContainer)(templateObject_2$
|
|
6374
|
-
var ImageRow = styled__default.default(OverlayImageRow)(templateObject_3$
|
|
6375
|
-
var ImageCol$1 = styled__default.default.div(templateObject_4$
|
|
6376
|
-
var StyledImage = styled__default.default(CapturedDocumentImg)(templateObject_5$
|
|
6377
|
-
var DebugPre = styled__default.default.pre(templateObject_6$
|
|
6378
|
-
var templateObject_1$
|
|
6284
|
+
var Heading$a = styled__default.default.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"])));
|
|
6285
|
+
var ImagesContainer = styled__default.default(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"])));
|
|
6286
|
+
var ImageRow = styled__default.default(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"])));
|
|
6287
|
+
var ImageCol$1 = styled__default.default.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"])));
|
|
6288
|
+
var StyledImage = styled__default.default(CapturedDocumentImg)(templateObject_5$9 || (templateObject_5$9 = __makeTemplateObject(["\n width: 100%;\n border-radius: 12px;\n"], ["\n width: 100%;\n border-radius: 12px;\n"])));
|
|
6289
|
+
var DebugPre = styled__default.default.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"])));
|
|
6290
|
+
var templateObject_1$v, templateObject_2$q, templateObject_3$k, templateObject_4$e, templateObject_5$9, templateObject_6$7;
|
|
6379
6291
|
|
|
6380
6292
|
function useShowSuccessScreen(skipSuccessScreen, successScreenReady, onDoneCallback) {
|
|
6381
6293
|
var _this = this;
|
|
@@ -6427,10 +6339,10 @@ function resetCanvasDimensions(canvas) {
|
|
|
6427
6339
|
canvas.style.height = '0';
|
|
6428
6340
|
}
|
|
6429
6341
|
|
|
6430
|
-
var IdCardGuideImageContainer = styled__default.default(IdCardBorder)(templateObject_1$
|
|
6342
|
+
var IdCardGuideImageContainer = styled__default.default(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) {
|
|
6431
6343
|
return props.$isVisible ? '' : 'opacity: 0;';
|
|
6432
6344
|
});
|
|
6433
|
-
var IdCardGuideImage = styled__default.default.img(templateObject_2$
|
|
6345
|
+
var IdCardGuideImage = styled__default.default.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) {
|
|
6434
6346
|
return props.$isMirrored ? 'transform: scaleX(-1);' : '';
|
|
6435
6347
|
}, function (props) {
|
|
6436
6348
|
return props.$isInvisible ? 'opacity: 0;' : '';
|
|
@@ -6572,16 +6484,16 @@ function IdCardBorderSvg(_a) {
|
|
|
6572
6484
|
className: isProgressBar ? "idmSdkProgressBorder ".concat(progressPaused ? 'idmSdkProgressPaused' : '') : ''
|
|
6573
6485
|
}));
|
|
6574
6486
|
}
|
|
6575
|
-
var IdCardBorderContainer = styled__default.default.div(templateObject_3$
|
|
6576
|
-
var SvgOverlay = styled__default.default.svg(templateObject_4$
|
|
6577
|
-
var IdCardBorderRect = styled__default.default.rect(templateObject_5$
|
|
6487
|
+
var IdCardBorderContainer = styled__default.default.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);
|
|
6488
|
+
var SvgOverlay = styled__default.default.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"])));
|
|
6489
|
+
var IdCardBorderRect = styled__default.default.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) {
|
|
6578
6490
|
var _a;
|
|
6579
6491
|
return (_a = props.$speed) !== null && _a !== void 0 ? _a : '3s';
|
|
6580
6492
|
}, function (props) {
|
|
6581
6493
|
var _a;
|
|
6582
6494
|
return (_a = props.$fillMode) !== null && _a !== void 0 ? _a : 'forwards';
|
|
6583
6495
|
});
|
|
6584
|
-
var templateObject_1$
|
|
6496
|
+
var templateObject_1$u, templateObject_2$p, templateObject_3$j, templateObject_4$d, templateObject_5$8;
|
|
6585
6497
|
|
|
6586
6498
|
var defaultIdCaptureGuideImages = {
|
|
6587
6499
|
portrait: {
|
|
@@ -6687,12 +6599,82 @@ function getOrientation(allowPortraitOnMobile) {
|
|
|
6687
6599
|
return allowPortraitOnMobile && window.innerWidth < window.innerHeight ? 'portrait' : 'landscape';
|
|
6688
6600
|
}
|
|
6689
6601
|
|
|
6690
|
-
var
|
|
6602
|
+
var IdVideoCaptureFlipIdPrompt = function IdVideoCaptureFlipIdPrompt(_a) {
|
|
6603
|
+
var _b = _a.idCaptureGuideImages,
|
|
6604
|
+
idCaptureGuideImages = _b === void 0 ? defaultIdCaptureGuideImages : _b,
|
|
6605
|
+
_c = _a.classNames,
|
|
6606
|
+
classNames = _c === void 0 ? {} : _c,
|
|
6607
|
+
borderWidth = _a.borderWidth,
|
|
6608
|
+
borderColor = _a.borderColor,
|
|
6609
|
+
borderRadius = _a.borderRadius,
|
|
6610
|
+
imageStyle = _a.imageStyle;
|
|
6611
|
+
var isRearFacing = useCameraStore(function (state) {
|
|
6612
|
+
return state.isRearFacing;
|
|
6613
|
+
});
|
|
6614
|
+
var isMirrored = !isRearFacing;
|
|
6615
|
+
var _d = React.useState(1),
|
|
6616
|
+
transitionTime = _d[0],
|
|
6617
|
+
setTransitionTime = _d[1];
|
|
6618
|
+
var _e = React.useState(0),
|
|
6619
|
+
rotationAngle = _e[0],
|
|
6620
|
+
setRotationAngle = _e[1];
|
|
6621
|
+
var frontTransforms = ["rotateY(".concat(rotationAngle, "deg)")];
|
|
6622
|
+
if (isMirrored) frontTransforms.push('scaleX(-1)');
|
|
6623
|
+
var backTransforms = ["rotateY(".concat(180 - rotationAngle, "deg)")];
|
|
6624
|
+
if (isMirrored) backTransforms.push('scaleX(-1)');
|
|
6625
|
+
React.useEffect(function () {
|
|
6626
|
+
var timeout;
|
|
6627
|
+
function doFlip() {
|
|
6628
|
+
setTransitionTime(1);
|
|
6629
|
+
setRotationAngle(180);
|
|
6630
|
+
timeout = setTimeout(function () {
|
|
6631
|
+
setTransitionTime(0);
|
|
6632
|
+
setRotationAngle(0);
|
|
6633
|
+
}, 1500);
|
|
6634
|
+
}
|
|
6635
|
+
var interval = setInterval(doFlip, 2500);
|
|
6636
|
+
timeout = setTimeout(doFlip, 250);
|
|
6637
|
+
return function () {
|
|
6638
|
+
clearInterval(interval);
|
|
6639
|
+
clearTimeout(timeout);
|
|
6640
|
+
};
|
|
6641
|
+
}, []);
|
|
6642
|
+
return /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, /*#__PURE__*/React__namespace.default.createElement(FlipImageContainer, {
|
|
6643
|
+
className: classNames.frontImageContainer,
|
|
6644
|
+
status: "disabled",
|
|
6645
|
+
borderWidth: borderWidth,
|
|
6646
|
+
borderColor: borderColor,
|
|
6647
|
+
borderRadius: borderRadius,
|
|
6648
|
+
"$transforms": frontTransforms.join(' '),
|
|
6649
|
+
"$transitionTime": transitionTime,
|
|
6650
|
+
"$isVisible": true
|
|
6651
|
+
}, /*#__PURE__*/React__namespace.default.createElement(IdCardGuideImage, {
|
|
6652
|
+
src: idCaptureGuideImages.landscape.SHOW_ID_FRONT.url,
|
|
6653
|
+
className: classNames.frontImage,
|
|
6654
|
+
alt: "",
|
|
6655
|
+
style: imageStyle
|
|
6656
|
+
})), /*#__PURE__*/React__namespace.default.createElement(FlipImageContainer, {
|
|
6657
|
+
className: classNames.backImageContainer,
|
|
6658
|
+
status: "disabled",
|
|
6659
|
+
borderWidth: borderWidth,
|
|
6660
|
+
borderColor: borderColor,
|
|
6661
|
+
borderRadius: borderRadius,
|
|
6662
|
+
"$transforms": backTransforms.join(' '),
|
|
6663
|
+
"$transitionTime": transitionTime,
|
|
6664
|
+
"$isVisible": true
|
|
6665
|
+
}, /*#__PURE__*/React__namespace.default.createElement(IdCardGuideImage, {
|
|
6666
|
+
src: idCaptureGuideImages.landscape.SHOW_ID_BACK.url,
|
|
6667
|
+
className: classNames.backImage,
|
|
6668
|
+
alt: "",
|
|
6669
|
+
style: imageStyle
|
|
6670
|
+
})));
|
|
6671
|
+
};
|
|
6672
|
+
var FlipImageContainer = styled__default.default(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) {
|
|
6691
6673
|
return props.$transitionTime;
|
|
6692
6674
|
}, function (props) {
|
|
6693
6675
|
return props.$transforms;
|
|
6694
6676
|
});
|
|
6695
|
-
var templateObject_1$
|
|
6677
|
+
var templateObject_1$t;
|
|
6696
6678
|
|
|
6697
6679
|
var GuideOrientationContext = /*#__PURE__*/React.createContext({
|
|
6698
6680
|
orientation: 'landscape',
|
|
@@ -6981,10 +6963,10 @@ var regionClsx = function regionClsx(classNames, which) {
|
|
|
6981
6963
|
return v;
|
|
6982
6964
|
}).join(' ');
|
|
6983
6965
|
};
|
|
6984
|
-
var StyledPageContainer = styled__default.default(PageContainerDiv)(templateObject_1$
|
|
6985
|
-
var GuidesContainer = styled__default.default.div(templateObject_2$
|
|
6986
|
-
var GuideCenterRow = styled__default.default.div(templateObject_3$
|
|
6987
|
-
var GuideRegion = styled__default.default.div(templateObject_4$
|
|
6966
|
+
var StyledPageContainer = styled__default.default(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"])));
|
|
6967
|
+
var GuidesContainer = styled__default.default.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"])));
|
|
6968
|
+
var GuideCenterRow = styled__default.default.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"])));
|
|
6969
|
+
var GuideRegion = styled__default.default.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) {
|
|
6988
6970
|
var _a, _b, _c, _d, _e;
|
|
6989
6971
|
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)';
|
|
6990
6972
|
}, function (props) {
|
|
@@ -6995,13 +6977,13 @@ var GuideRegion = styled__default.default.div(templateObject_4$b || (templateObj
|
|
|
6995
6977
|
}, function (props) {
|
|
6996
6978
|
return props.$minHeight ? "min-height: ".concat(props.$minHeight, "px;") : "";
|
|
6997
6979
|
});
|
|
6998
|
-
var Spacer = styled__default.default(GuideRegion)(templateObject_5$
|
|
6999
|
-
var GuideCenterRegion = styled__default.default.div(templateObject_6$
|
|
6980
|
+
var Spacer = styled__default.default(GuideRegion)(templateObject_5$7 || (templateObject_5$7 = __makeTemplateObject(["\n display: block;\n width: auto;\n"], ["\n display: block;\n width: auto;\n"])));
|
|
6981
|
+
var GuideCenterRegion = styled__default.default.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) {
|
|
7000
6982
|
return props.$minWidth ? "min-width: ".concat(props.$minWidth, "px;") : "";
|
|
7001
6983
|
}, function (props) {
|
|
7002
6984
|
return props.$isMirrored ? 'transform: scaleX(-1);' : '';
|
|
7003
6985
|
});
|
|
7004
|
-
var GuideCenterBorder = styled__default.default.div(templateObject_7$
|
|
6986
|
+
var GuideCenterBorder = styled__default.default.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) {
|
|
7005
6987
|
var _a, _b;
|
|
7006
6988
|
return "".concat((_a = props.$borderWidth) !== null && _a !== void 0 ? _a : 4, "px solid ").concat((_b = props.$borderColor) !== null && _b !== void 0 ? _b : 'white');
|
|
7007
6989
|
}, function (props) {
|
|
@@ -7009,7 +6991,7 @@ var GuideCenterBorder = styled__default.default.div(templateObject_7$3 || (templ
|
|
|
7009
6991
|
});
|
|
7010
6992
|
var GuideText = styled__default.default.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"])));
|
|
7011
6993
|
var GuideCenterInner = styled__default.default.div(templateObject_9$1 || (templateObject_9$1 = __makeTemplateObject(["\n position: relative;\n margin: auto;\n"], ["\n position: relative;\n margin: auto;\n"])));
|
|
7012
|
-
var templateObject_1$
|
|
6994
|
+
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;
|
|
7013
6995
|
|
|
7014
6996
|
var IdCaptureFitGuide = function IdCaptureFitGuide(_a) {
|
|
7015
6997
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
@@ -7152,36 +7134,37 @@ var IdCaptureFitGuide = function IdCaptureFitGuide(_a) {
|
|
|
7152
7134
|
progress: progress
|
|
7153
7135
|
}));
|
|
7154
7136
|
};
|
|
7155
|
-
var CanvasWrapper$1 = styled__default.default.div(templateObject_1$
|
|
7137
|
+
var CanvasWrapper$1 = styled__default.default.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) {
|
|
7156
7138
|
return props.$maskColor;
|
|
7157
7139
|
});
|
|
7158
|
-
var Canvas$1 = styled__default.default.canvas(templateObject_2$
|
|
7159
|
-
var templateObject_1$
|
|
7140
|
+
var Canvas$1 = styled__default.default.canvas(templateObject_2$n || (templateObject_2$n = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
|
|
7141
|
+
var templateObject_1$r, templateObject_2$n;
|
|
7160
7142
|
|
|
7161
7143
|
function IdCaptureGuides(_a) {
|
|
7162
|
-
var _b,
|
|
7163
|
-
|
|
7164
|
-
|
|
7165
|
-
|
|
7166
|
-
|
|
7167
|
-
|
|
7168
|
-
|
|
7169
|
-
|
|
7170
|
-
|
|
7171
|
-
|
|
7172
|
-
|
|
7173
|
-
|
|
7174
|
-
|
|
7175
|
-
|
|
7176
|
-
|
|
7177
|
-
|
|
7178
|
-
|
|
7179
|
-
|
|
7180
|
-
|
|
7181
|
-
|
|
7182
|
-
rawVerbiage = _o === void 0 ? {} : _o;
|
|
7144
|
+
var _b = _a.guideType,
|
|
7145
|
+
guideType = _b === void 0 ? 'fit' : _b,
|
|
7146
|
+
_c = _a.status,
|
|
7147
|
+
status = _c === void 0 ? 'ready' : _c,
|
|
7148
|
+
_d = _a.progress,
|
|
7149
|
+
progress = _d === void 0 ? 0 : _d,
|
|
7150
|
+
_e = _a.portraitGuidesOnMobile,
|
|
7151
|
+
portraitGuidesOnMobile = _e === void 0 ? true : _e,
|
|
7152
|
+
_f = _a.requestedAction,
|
|
7153
|
+
requestedAction = _f === void 0 ? 'SHOW_ID_FRONT' : _f,
|
|
7154
|
+
_g = _a.isBackToFront,
|
|
7155
|
+
isBackToFront = _g === void 0 ? false : _g,
|
|
7156
|
+
_h = _a.images,
|
|
7157
|
+
images = _h === void 0 ? defaultIdCaptureGuideImages : _h,
|
|
7158
|
+
_j = _a.classNames,
|
|
7159
|
+
classNames = _j === void 0 ? {} : _j,
|
|
7160
|
+
_k = _a.colors,
|
|
7161
|
+
colors = _k === void 0 ? {} : _k,
|
|
7162
|
+
_l = _a.verbiage,
|
|
7163
|
+
rawVerbiage = _l === void 0 ? {} : _l;
|
|
7183
7164
|
var state = useIdCaptureState()[0];
|
|
7184
|
-
var
|
|
7165
|
+
var isRearFacing = useCameraStore(function (state) {
|
|
7166
|
+
return state.isRearFacing;
|
|
7167
|
+
});
|
|
7185
7168
|
var verbiage = useTranslations(rawVerbiage, {
|
|
7186
7169
|
instructionText: 'Scan the front of ID',
|
|
7187
7170
|
capturingText: 'Capturing...',
|
|
@@ -7193,7 +7176,7 @@ function IdCaptureGuides(_a) {
|
|
|
7193
7176
|
status: status,
|
|
7194
7177
|
progress: progress,
|
|
7195
7178
|
instruction: state.captureFailed ? verbiage.captureFailedText : state.capturing ? verbiage === null || verbiage === void 0 ? void 0 : verbiage.capturingText : verbiage.instructionText,
|
|
7196
|
-
isMirrored: !
|
|
7179
|
+
isMirrored: !isRearFacing,
|
|
7197
7180
|
borderColor: state.isGoodFrame ? colors.guideBoxSatisfiedColor : colors.guideBoxUnsatisfiedColor,
|
|
7198
7181
|
imageVisible: requestedAction === 'FLIP_ID' || !state.idCardFrontDetectionThresholdMet || !state.documentInBounds || state.documentTooClose
|
|
7199
7182
|
})), guideType === 'fit' && ( /*#__PURE__*/React__namespace.default.createElement(IdCaptureFitGuide, {
|
|
@@ -7203,7 +7186,7 @@ function IdCaptureGuides(_a) {
|
|
|
7203
7186
|
status: status,
|
|
7204
7187
|
progress: progress,
|
|
7205
7188
|
instruction: state.captureFailed ? verbiage.captureFailedText : state.capturing ? verbiage === null || verbiage === void 0 ? void 0 : verbiage.capturingText : verbiage.instructionText,
|
|
7206
|
-
isMirrored: !
|
|
7189
|
+
isMirrored: !isRearFacing,
|
|
7207
7190
|
isBackToFront: isBackToFront,
|
|
7208
7191
|
portraitGuidesOnMobile: portraitGuidesOnMobile,
|
|
7209
7192
|
borderColor: state.isGoodFrame ? colors.guideBoxSatisfiedColor : colors.guideBoxUnsatisfiedColor,
|
|
@@ -7296,53 +7279,11 @@ var SelfieProgressPreview = function SelfieProgressPreview(_a) {
|
|
|
7296
7279
|
onError: onError
|
|
7297
7280
|
})));
|
|
7298
7281
|
};
|
|
7299
|
-
var StyledSpinner = styled__default.default(Spinner)(templateObject_1$
|
|
7300
|
-
var ImagePreviewWrapper = styled__default.default.div(templateObject_2$
|
|
7301
|
-
var ImagePreviewText = styled__default.default.div(templateObject_3$
|
|
7302
|
-
var ImagePreviewImageWrapper = styled__default.default.div(templateObject_4$
|
|
7303
|
-
var templateObject_1$
|
|
7304
|
-
|
|
7305
|
-
var CameraVideoTag = function CameraVideoTag(_a) {
|
|
7306
|
-
var _b;
|
|
7307
|
-
var className = _a.className;
|
|
7308
|
-
var _c = React.useContext(CameraStateContext),
|
|
7309
|
-
videoRef = _c.videoRef,
|
|
7310
|
-
setVideoLoaded = _c.setVideoLoaded,
|
|
7311
|
-
onVideoUnmounted = _c.onVideoUnmounted,
|
|
7312
|
-
cameraRef = _c.cameraRef;
|
|
7313
|
-
React.useEffect(function notifyCameraProviderOfUnmount() {
|
|
7314
|
-
var videoElement = videoRef.current;
|
|
7315
|
-
if (!videoElement) return;
|
|
7316
|
-
return function () {
|
|
7317
|
-
onVideoUnmounted(videoElement);
|
|
7318
|
-
};
|
|
7319
|
-
}, [onVideoUnmounted, videoRef]);
|
|
7320
|
-
React.useEffect(function setVideoLoadedToFalseOnMount() {
|
|
7321
|
-
setVideoLoaded(false);
|
|
7322
|
-
}, [setVideoLoaded]);
|
|
7323
|
-
React.useEffect(function attachCameraStreamToVideoTagWhenReady() {
|
|
7324
|
-
var _a;
|
|
7325
|
-
if (videoRef.current && ((_a = cameraRef.current) === null || _a === void 0 ? void 0 : _a.stream)) {
|
|
7326
|
-
videoRef.current.srcObject = cameraRef.current.stream;
|
|
7327
|
-
}
|
|
7328
|
-
}, [cameraRef, videoRef]);
|
|
7329
|
-
var onLoadedData = React.useCallback(function () {
|
|
7330
|
-
setVideoLoaded(true);
|
|
7331
|
-
}, [setVideoLoaded]);
|
|
7332
|
-
return /*#__PURE__*/React__namespace.default.createElement(FullscreenVideoTag, {
|
|
7333
|
-
className: className,
|
|
7334
|
-
autoPlay: true,
|
|
7335
|
-
playsInline: true,
|
|
7336
|
-
muted: true,
|
|
7337
|
-
ref: videoRef,
|
|
7338
|
-
onLoadedData: onLoadedData,
|
|
7339
|
-
"$isRearFacing": (_b = cameraRef.current) === null || _b === void 0 ? void 0 : _b.isRearFacing
|
|
7340
|
-
});
|
|
7341
|
-
};
|
|
7342
|
-
var FullscreenVideoTag = styled__default.default.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) {
|
|
7343
|
-
return props.$isRearFacing ? '' : 'scaleX(-1)';
|
|
7344
|
-
});
|
|
7345
|
-
var templateObject_1$o;
|
|
7282
|
+
var StyledSpinner = styled__default.default(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"])));
|
|
7283
|
+
var ImagePreviewWrapper = styled__default.default.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"])));
|
|
7284
|
+
var ImagePreviewText = styled__default.default.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"])));
|
|
7285
|
+
var ImagePreviewImageWrapper = styled__default.default.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"])));
|
|
7286
|
+
var templateObject_1$q, templateObject_2$m, templateObject_3$h, templateObject_4$b;
|
|
7346
7287
|
|
|
7347
7288
|
var documentCaptureInitialState = {
|
|
7348
7289
|
documents: [],
|
|
@@ -7462,8 +7403,8 @@ var DocumentCaptureStateProvider = function DocumentCaptureStateProvider(_a) {
|
|
|
7462
7403
|
var _c = React.useReducer(documentCaptureStateReducer, documentCaptureInitialState),
|
|
7463
7404
|
state = _c[0],
|
|
7464
7405
|
dispatch = _c[1];
|
|
7465
|
-
var _d =
|
|
7466
|
-
|
|
7406
|
+
var _d = useCameraStore(),
|
|
7407
|
+
videoStream = _d.videoStream,
|
|
7467
7408
|
videoRef = _d.videoRef;
|
|
7468
7409
|
var uploadDocument = React.useContext(SubmissionContext).uploadDocument;
|
|
7469
7410
|
var uploadCapturedDocument = React.useCallback(function (content, filetype) {
|
|
@@ -7554,8 +7495,7 @@ var DocumentCaptureStateProvider = function DocumentCaptureStateProvider(_a) {
|
|
|
7554
7495
|
}, [onResize]);
|
|
7555
7496
|
var videoTag = videoRef.current;
|
|
7556
7497
|
React.useEffect(function () {
|
|
7557
|
-
if (!state.capturing) return;
|
|
7558
|
-
if (!cameraRef.current) return;
|
|
7498
|
+
if (!state.capturing || !(videoStream === null || videoStream === void 0 ? void 0 : videoStream.active)) return;
|
|
7559
7499
|
function onComplete(content) {
|
|
7560
7500
|
if (!content) return;
|
|
7561
7501
|
var contentUrl = URL.createObjectURL(content);
|
|
@@ -7568,7 +7508,7 @@ var DocumentCaptureStateProvider = function DocumentCaptureStateProvider(_a) {
|
|
|
7568
7508
|
});
|
|
7569
7509
|
}
|
|
7570
7510
|
if (typeof ImageCapture !== 'undefined') {
|
|
7571
|
-
var tracks =
|
|
7511
|
+
var tracks = videoStream.getTracks();
|
|
7572
7512
|
var videoCameraTrack = tracks.find(function (track) {
|
|
7573
7513
|
return track.kind === 'video';
|
|
7574
7514
|
});
|
|
@@ -7583,7 +7523,7 @@ var DocumentCaptureStateProvider = function DocumentCaptureStateProvider(_a) {
|
|
|
7583
7523
|
drawToCanvas(canvas, videoTag);
|
|
7584
7524
|
canvas.toBlob(onComplete);
|
|
7585
7525
|
}
|
|
7586
|
-
}, [
|
|
7526
|
+
}, [state.capturing, videoStream, videoTag]);
|
|
7587
7527
|
var stateWithActions = React.useMemo(function () {
|
|
7588
7528
|
return _assign(_assign({}, state), {
|
|
7589
7529
|
uploadCapturedDocument: uploadCapturedDocument
|
|
@@ -7698,52 +7638,85 @@ var DocumentCaptureGuideOverlay = function DocumentCaptureGuideOverlay(_a) {
|
|
|
7698
7638
|
ref: canvasRef
|
|
7699
7639
|
}));
|
|
7700
7640
|
};
|
|
7701
|
-
var CanvasWrapper = styled__default.default.div(templateObject_1$
|
|
7641
|
+
var CanvasWrapper = styled__default.default.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) {
|
|
7702
7642
|
return props.$maskColor;
|
|
7703
7643
|
});
|
|
7704
|
-
var Canvas = styled__default.default.canvas(templateObject_2$
|
|
7705
|
-
var templateObject_1$
|
|
7644
|
+
var Canvas = styled__default.default.canvas(templateObject_2$l || (templateObject_2$l = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
|
|
7645
|
+
var templateObject_1$p, templateObject_2$l;
|
|
7706
7646
|
|
|
7707
|
-
var CameraFeedWrapper = styled__default.default.div(templateObject_1$
|
|
7647
|
+
var CameraFeedWrapper = styled__default.default.div(templateObject_1$o || (templateObject_1$o = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (props) {
|
|
7708
7648
|
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;") : "";
|
|
7709
7649
|
});
|
|
7710
|
-
var templateObject_1$
|
|
7650
|
+
var templateObject_1$o;
|
|
7651
|
+
|
|
7652
|
+
var CameraVideoTag = function CameraVideoTag(props) {
|
|
7653
|
+
var _a = useCameraStore(shallow.useShallow(function (store) {
|
|
7654
|
+
return {
|
|
7655
|
+
videoRef: store.videoRef,
|
|
7656
|
+
videoStream: store.videoStream,
|
|
7657
|
+
onVideoMounted: store.onVideoMounted,
|
|
7658
|
+
isRearFacing: store.isRearFacing
|
|
7659
|
+
};
|
|
7660
|
+
})),
|
|
7661
|
+
videoRef = _a.videoRef,
|
|
7662
|
+
videoStream = _a.videoStream,
|
|
7663
|
+
onVideoMounted = _a.onVideoMounted,
|
|
7664
|
+
isRearFacing = _a.isRearFacing;
|
|
7665
|
+
React.useEffect(function attachCameraStreamToVideoTagWhenReady() {
|
|
7666
|
+
if (videoRef.current && videoStream) {
|
|
7667
|
+
debug('attaching camera stream to video tag');
|
|
7668
|
+
videoRef.current.srcObject = videoStream;
|
|
7669
|
+
}
|
|
7670
|
+
}, [videoStream, videoRef]);
|
|
7671
|
+
return /*#__PURE__*/React__namespace.default.createElement(FullscreenVideoTag, _assign({
|
|
7672
|
+
autoPlay: true,
|
|
7673
|
+
playsInline: true,
|
|
7674
|
+
muted: true,
|
|
7675
|
+
ref: videoRef,
|
|
7676
|
+
onLoadedData: onVideoMounted,
|
|
7677
|
+
"$isRearFacing": isRearFacing
|
|
7678
|
+
}, props));
|
|
7679
|
+
};
|
|
7680
|
+
var FullscreenVideoTag = styled__default.default.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) {
|
|
7681
|
+
return props.$isRearFacing ? '' : 'scaleX(-1)';
|
|
7682
|
+
});
|
|
7683
|
+
var templateObject_1$n;
|
|
7711
7684
|
|
|
7712
7685
|
var DocumentCaptureScreen = function DocumentCaptureScreen(_a) {
|
|
7713
|
-
var _b, _c, _d, _e, _f
|
|
7686
|
+
var _b, _c, _d, _e, _f;
|
|
7714
7687
|
var onCaptureClicked = _a.onCaptureClicked,
|
|
7715
|
-
|
|
7716
|
-
classNames =
|
|
7717
|
-
|
|
7718
|
-
rawVerbiage =
|
|
7719
|
-
var
|
|
7720
|
-
|
|
7721
|
-
documents =
|
|
7722
|
-
currentDocumentIndex =
|
|
7723
|
-
rectX =
|
|
7724
|
-
rectY =
|
|
7725
|
-
rectWidth =
|
|
7726
|
-
rectHeight =
|
|
7727
|
-
rectOffsetTop =
|
|
7728
|
-
capturing =
|
|
7729
|
-
uploadCapturedDocument =
|
|
7730
|
-
dispatch =
|
|
7731
|
-
var
|
|
7732
|
-
title =
|
|
7733
|
-
aspectRatio =
|
|
7734
|
-
cameraFeedMode =
|
|
7735
|
-
instructions =
|
|
7736
|
-
contentUrl =
|
|
7737
|
-
content =
|
|
7738
|
-
uploadState =
|
|
7739
|
-
var
|
|
7740
|
-
|
|
7741
|
-
cameraReady =
|
|
7742
|
-
cameraAccessDenied =
|
|
7743
|
-
requestCameraAccess =
|
|
7744
|
-
var
|
|
7745
|
-
cameraAccessRequested =
|
|
7746
|
-
setCameraAccessRequested =
|
|
7688
|
+
_g = _a.classNames,
|
|
7689
|
+
classNames = _g === void 0 ? {} : _g,
|
|
7690
|
+
_h = _a.verbiage,
|
|
7691
|
+
rawVerbiage = _h === void 0 ? {} : _h;
|
|
7692
|
+
var _j = useDocumentCaptureState(),
|
|
7693
|
+
_k = _j[0],
|
|
7694
|
+
documents = _k.documents,
|
|
7695
|
+
currentDocumentIndex = _k.currentDocumentIndex,
|
|
7696
|
+
rectX = _k.rectX,
|
|
7697
|
+
rectY = _k.rectY,
|
|
7698
|
+
rectWidth = _k.rectWidth,
|
|
7699
|
+
rectHeight = _k.rectHeight,
|
|
7700
|
+
rectOffsetTop = _k.rectOffsetTop,
|
|
7701
|
+
capturing = _k.capturing,
|
|
7702
|
+
uploadCapturedDocument = _k.uploadCapturedDocument,
|
|
7703
|
+
dispatch = _j[1];
|
|
7704
|
+
var _l = (_b = documents[currentDocumentIndex]) !== null && _b !== void 0 ? _b : {},
|
|
7705
|
+
title = _l.title,
|
|
7706
|
+
aspectRatio = _l.aspectRatio,
|
|
7707
|
+
cameraFeedMode = _l.cameraFeedMode,
|
|
7708
|
+
instructions = _l.instructions,
|
|
7709
|
+
contentUrl = _l.contentUrl,
|
|
7710
|
+
content = _l.content,
|
|
7711
|
+
uploadState = _l.uploadState;
|
|
7712
|
+
var _m = useCameraStore(),
|
|
7713
|
+
videoStream = _m.videoStream,
|
|
7714
|
+
cameraReady = _m.cameraReady,
|
|
7715
|
+
cameraAccessDenied = _m.cameraAccessDenied,
|
|
7716
|
+
requestCameraAccess = _m.requestCameraAccess;
|
|
7717
|
+
var _o = React.useState(false),
|
|
7718
|
+
cameraAccessRequested = _o[0],
|
|
7719
|
+
setCameraAccessRequested = _o[1];
|
|
7747
7720
|
var cameraAccessNeeded =
|
|
7748
7721
|
// we should force the browser to ask for camera access if...
|
|
7749
7722
|
uploadState === 'not_started' &&
|
|
@@ -7752,14 +7725,14 @@ var DocumentCaptureScreen = function DocumentCaptureScreen(_a) {
|
|
|
7752
7725
|
// and the user hasn't passed a media blob for the current document...
|
|
7753
7726
|
!cameraAccessRequested &&
|
|
7754
7727
|
// and we haven't already tried to force a camera request...
|
|
7755
|
-
!(
|
|
7728
|
+
!(videoStream === null || videoStream === void 0 ? void 0 : videoStream.active); // and we don't already have camera access.
|
|
7756
7729
|
React.useEffect(function requestCameraAccessIfNeeded() {
|
|
7757
7730
|
if (!cameraAccessNeeded) return;
|
|
7758
7731
|
setCameraAccessRequested(true);
|
|
7759
7732
|
requestCameraAccess();
|
|
7760
7733
|
}, [cameraAccessNeeded, requestCameraAccess]);
|
|
7761
7734
|
var theme = styled.useTheme();
|
|
7762
|
-
var maskColor = (
|
|
7735
|
+
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)";
|
|
7763
7736
|
var verbiage = useTranslations(rawVerbiage, {
|
|
7764
7737
|
headingText: title,
|
|
7765
7738
|
loadingBtnText: 'Camera initializing...',
|
|
@@ -7792,7 +7765,7 @@ var DocumentCaptureScreen = function DocumentCaptureScreen(_a) {
|
|
|
7792
7765
|
});
|
|
7793
7766
|
}
|
|
7794
7767
|
return /*#__PURE__*/React__namespace.default.createElement(PageContainer, {
|
|
7795
|
-
className: "flex ".concat((
|
|
7768
|
+
className: "flex ".concat((_f = classNames.container) !== null && _f !== void 0 ? _f : '')
|
|
7796
7769
|
}, /*#__PURE__*/React__namespace.default.createElement(CameraFeedWrapper, {
|
|
7797
7770
|
className: classNames.cameraFeedWrapper,
|
|
7798
7771
|
"$mode": cameraFeedMode !== null && cameraFeedMode !== void 0 ? cameraFeedMode : 'snapToGuides',
|
|
@@ -7857,21 +7830,21 @@ var DocumentCaptureScreen = function DocumentCaptureScreen(_a) {
|
|
|
7857
7830
|
disabled: !cameraReady || capturing
|
|
7858
7831
|
}, !cameraReady ? verbiage.loadingBtnText : capturing ? verbiage.capturingBtnText : verbiage.captureBtnText))))));
|
|
7859
7832
|
};
|
|
7860
|
-
var CaptureContainer = styled__default.default.div(templateObject_1$
|
|
7861
|
-
var HeadingRow = styled__default.default.div(templateObject_2$
|
|
7833
|
+
var CaptureContainer = styled__default.default.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"])));
|
|
7834
|
+
var HeadingRow = styled__default.default.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) {
|
|
7862
7835
|
return props.$maskColor;
|
|
7863
7836
|
});
|
|
7864
|
-
var Heading$9 = styled__default.default.h1(templateObject_3$
|
|
7865
|
-
var FooterRow = styled__default.default.div(templateObject_4$
|
|
7837
|
+
var Heading$9 = styled__default.default.h1(templateObject_3$g || (templateObject_3$g = __makeTemplateObject(["\n font-size: 22px;\n"], ["\n font-size: 22px;\n"])));
|
|
7838
|
+
var FooterRow = styled__default.default.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) {
|
|
7866
7839
|
return props.$maskColor;
|
|
7867
7840
|
});
|
|
7868
|
-
var Instructions = styled__default.default.div(templateObject_5$
|
|
7841
|
+
var Instructions = styled__default.default.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) {
|
|
7869
7842
|
var _a, _b, _c;
|
|
7870
7843
|
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';
|
|
7871
7844
|
});
|
|
7872
|
-
var StyledButtonsRow$9 = styled__default.default(ButtonsRow)(templateObject_6$
|
|
7873
|
-
var PreviewImage = styled__default.default.img(templateObject_7$
|
|
7874
|
-
var templateObject_1$
|
|
7845
|
+
var StyledButtonsRow$9 = styled__default.default(ButtonsRow)(templateObject_6$5 || (templateObject_6$5 = __makeTemplateObject(["\n padding-top: 20px;\n"], ["\n padding-top: 20px;\n"])));
|
|
7846
|
+
var PreviewImage = styled__default.default.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"])));
|
|
7847
|
+
var templateObject_1$m, templateObject_2$k, templateObject_3$g, templateObject_4$a, templateObject_5$6, templateObject_6$5, templateObject_7$3;
|
|
7875
7848
|
|
|
7876
7849
|
var DocumentCaptureWizard = function DocumentCaptureWizard(_a) {
|
|
7877
7850
|
var onSuccess = _a.onSuccess,
|
|
@@ -8140,13 +8113,13 @@ var IdCaptureFallback = function IdCaptureFallback(_a) {
|
|
|
8140
8113
|
}
|
|
8141
8114
|
}, verbiage.doneBtnText))))));
|
|
8142
8115
|
};
|
|
8143
|
-
var StyledOverlayInner$2 = styled__default.default(OverlayInner$2)(templateObject_1$
|
|
8144
|
-
var Heading$8 = styled__default.default.h3(templateObject_2$
|
|
8145
|
-
var Description$3 = styled__default.default.p(templateObject_3$
|
|
8146
|
-
var Instruction = styled__default.default.p(templateObject_4$
|
|
8147
|
-
var ImageCol = styled__default.default.div(templateObject_5$
|
|
8148
|
-
var StyledButtonsRow$8 = styled__default.default(ButtonsRow)(templateObject_6$
|
|
8149
|
-
var templateObject_1$
|
|
8116
|
+
var StyledOverlayInner$2 = styled__default.default(OverlayInner$2)(templateObject_1$l || (templateObject_1$l = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
|
|
8117
|
+
var Heading$8 = styled__default.default.h3(templateObject_2$j || (templateObject_2$j = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
8118
|
+
var Description$3 = styled__default.default.p(templateObject_3$f || (templateObject_3$f = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
8119
|
+
var Instruction = styled__default.default.p(templateObject_4$9 || (templateObject_4$9 = __makeTemplateObject(["\n font-weight: bold;\n"], ["\n font-weight: bold;\n"])));
|
|
8120
|
+
var ImageCol = styled__default.default.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"])));
|
|
8121
|
+
var StyledButtonsRow$8 = styled__default.default(ButtonsRow)(templateObject_6$4 || (templateObject_6$4 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
|
|
8122
|
+
var templateObject_1$l, templateObject_2$j, templateObject_3$f, templateObject_4$9, templateObject_5$5, templateObject_6$4;
|
|
8150
8123
|
|
|
8151
8124
|
function ScalingCameraFeed() {
|
|
8152
8125
|
var _a = React.useContext(IdCaptureStateContext),
|
|
@@ -8217,7 +8190,7 @@ var IdCaptureWizard = function IdCaptureWizard(_a) {
|
|
|
8217
8190
|
var _3 = useIdCaptureState(),
|
|
8218
8191
|
state = _3[0],
|
|
8219
8192
|
dispatch = _3[1];
|
|
8220
|
-
var _4 =
|
|
8193
|
+
var _4 = useCameraStore(),
|
|
8221
8194
|
cameraAccessDenied = _4.cameraAccessDenied,
|
|
8222
8195
|
requestCameraAccess = _4.requestCameraAccess,
|
|
8223
8196
|
releaseCameraAccess = _4.releaseCameraAccess;
|
|
@@ -8832,7 +8805,7 @@ var HeadGuideSvg = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
8832
8805
|
}))));
|
|
8833
8806
|
});
|
|
8834
8807
|
HeadGuideSvg.displayName = 'HeadGuideSvg';
|
|
8835
|
-
var PulsingHeadGuideContainer = styled__default.default.div(templateObject_1$
|
|
8808
|
+
var PulsingHeadGuideContainer = styled__default.default.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);
|
|
8836
8809
|
function HeadGuide(_a) {
|
|
8837
8810
|
var _b;
|
|
8838
8811
|
var _c = _a.status,
|
|
@@ -8882,8 +8855,8 @@ function HeadGuide(_a) {
|
|
|
8882
8855
|
height: parentHeight
|
|
8883
8856
|
})));
|
|
8884
8857
|
}
|
|
8885
|
-
var AbsoluteSvg = styled__default.default.svg(templateObject_2$
|
|
8886
|
-
var RelativeSvgContainer = styled__default.default.div(templateObject_3$
|
|
8858
|
+
var AbsoluteSvg = styled__default.default.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"])));
|
|
8859
|
+
var RelativeSvgContainer = styled__default.default.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) {
|
|
8887
8860
|
return props.$verticalAlign === 'bottom' ? 'flex-end' : 'center';
|
|
8888
8861
|
});
|
|
8889
8862
|
function SelfieCaptureAnimatedMask(_a) {
|
|
@@ -9110,10 +9083,10 @@ function SelfieCaptureAnimatedMaskWithStatus(_a) {
|
|
|
9110
9083
|
status: status
|
|
9111
9084
|
}));
|
|
9112
9085
|
}
|
|
9113
|
-
var templateObject_1$
|
|
9086
|
+
var templateObject_1$k, templateObject_2$i, templateObject_3$e;
|
|
9114
9087
|
|
|
9115
|
-
var FaceCaptureGuideContainer = styled__default.default.div(templateObject_1$
|
|
9116
|
-
var FaceCaptureGuideInner = styled__default.default.div(templateObject_2$
|
|
9088
|
+
var FaceCaptureGuideContainer = styled__default.default.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"])));
|
|
9089
|
+
var FaceCaptureGuideInner = styled__default.default.div(templateObject_2$h || (templateObject_2$h = __makeTemplateObject(["\n position: relative;\n height: 60%;\n"], ["\n position: relative;\n height: 60%;\n"])));
|
|
9117
9090
|
var FaceCaptureGuideOverlay = function FaceCaptureGuideOverlay(_a) {
|
|
9118
9091
|
var _b = _a.classNames,
|
|
9119
9092
|
classNames = _b === void 0 ? {} : _b,
|
|
@@ -9135,7 +9108,7 @@ var FaceCaptureGuideOverlay = function FaceCaptureGuideOverlay(_a) {
|
|
|
9135
9108
|
verticalAlign: "center"
|
|
9136
9109
|
})));
|
|
9137
9110
|
};
|
|
9138
|
-
var templateObject_1$
|
|
9111
|
+
var templateObject_1$j, templateObject_2$h;
|
|
9139
9112
|
|
|
9140
9113
|
var SelfieGuidanceModelsContext = /*#__PURE__*/React.createContext({
|
|
9141
9114
|
start: function start() {
|
|
@@ -9165,7 +9138,13 @@ function SelfieGuidanceModelsProvider(_a) {
|
|
|
9165
9138
|
modelLoadTimeoutMs = _c === void 0 ? defaultSelfieCaptureModelLoadTimeoutMs : _c,
|
|
9166
9139
|
_d = _a.requireVerticalFaceCentering,
|
|
9167
9140
|
requireVerticalFaceCentering = _d === void 0 ? true : _d;
|
|
9168
|
-
var _e =
|
|
9141
|
+
var _e = useCameraStore(shallow.useShallow(function (state) {
|
|
9142
|
+
return {
|
|
9143
|
+
videoRef: state.videoRef,
|
|
9144
|
+
videoLoaded: state.videoLoaded,
|
|
9145
|
+
cameraReady: state.cameraReady
|
|
9146
|
+
};
|
|
9147
|
+
})),
|
|
9169
9148
|
videoRef = _e.videoRef,
|
|
9170
9149
|
videoLoaded = _e.videoLoaded,
|
|
9171
9150
|
cameraReady = _e.cameraReady;
|
|
@@ -9173,7 +9152,8 @@ function SelfieGuidanceModelsProvider(_a) {
|
|
|
9173
9152
|
var onPredictionHandler = React.useRef();
|
|
9174
9153
|
var _f = useLoadFaceDetector({
|
|
9175
9154
|
onModelError: onModelError,
|
|
9176
|
-
modelLoadTimeoutMs: modelLoadTimeoutMs
|
|
9155
|
+
modelLoadTimeoutMs: modelLoadTimeoutMs,
|
|
9156
|
+
videoRef: videoRef
|
|
9177
9157
|
}),
|
|
9178
9158
|
ready = _f.ready,
|
|
9179
9159
|
modelDownloadProgress = _f.modelDownloadProgress,
|
|
@@ -9439,12 +9419,12 @@ var SelfieCaptureFallback = function SelfieCaptureFallback(_a) {
|
|
|
9439
9419
|
}
|
|
9440
9420
|
}, !image ? invalidSelfie ? verbiage.retryButtonText : verbiage.captureBtnText : loading ? verbiage.doneBtnLoadingText : verbiage.doneBtnText)))));
|
|
9441
9421
|
};
|
|
9442
|
-
var StyledOverlayInner$1 = styled__default.default(OverlayInner$2)(templateObject_1$
|
|
9443
|
-
var Heading$7 = styled__default.default.h3(templateObject_2$
|
|
9444
|
-
var Description$2 = styled__default.default.p(templateObject_3$
|
|
9445
|
-
var ImageContainer$6 = styled__default.default(OverlayImageContainer)(templateObject_4$
|
|
9446
|
-
var StyledButtonsRow$7 = styled__default.default(ButtonsRow)(templateObject_5$
|
|
9447
|
-
var templateObject_1$
|
|
9422
|
+
var StyledOverlayInner$1 = styled__default.default(OverlayInner$2)(templateObject_1$i || (templateObject_1$i = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
|
|
9423
|
+
var Heading$7 = styled__default.default.h3(templateObject_2$g || (templateObject_2$g = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
9424
|
+
var Description$2 = styled__default.default.p(templateObject_3$d || (templateObject_3$d = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
9425
|
+
var ImageContainer$6 = styled__default.default(OverlayImageContainer)(templateObject_4$8 || (templateObject_4$8 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
|
|
9426
|
+
var StyledButtonsRow$7 = styled__default.default(ButtonsRow)(templateObject_5$4 || (templateObject_5$4 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
|
|
9427
|
+
var templateObject_1$i, templateObject_2$g, templateObject_3$d, templateObject_4$8, templateObject_5$4;
|
|
9448
9428
|
|
|
9449
9429
|
var initialState$3 = {
|
|
9450
9430
|
busy: false,
|
|
@@ -9506,8 +9486,14 @@ var SelfieCapture = function SelfieCapture(_a) {
|
|
|
9506
9486
|
prediction = _t.prediction,
|
|
9507
9487
|
dispatch = _s[1];
|
|
9508
9488
|
var lastPredictionCanvas = React.useRef(null);
|
|
9509
|
-
var _u =
|
|
9510
|
-
|
|
9489
|
+
var _u = useCameraStore(shallow.useShallow(function (state) {
|
|
9490
|
+
return {
|
|
9491
|
+
camera: state.camera,
|
|
9492
|
+
cameraReady: state.cameraReady,
|
|
9493
|
+
videoRef: state.videoRef
|
|
9494
|
+
};
|
|
9495
|
+
})),
|
|
9496
|
+
camera = _u.camera,
|
|
9511
9497
|
videoRef = _u.videoRef;
|
|
9512
9498
|
var _v = React.useContext(SelfieGuidanceModelsContext),
|
|
9513
9499
|
onPredictionMade = _v.onPredictionMade,
|
|
@@ -9597,7 +9583,7 @@ var SelfieCapture = function SelfieCapture(_a) {
|
|
|
9597
9583
|
face: prediction.face,
|
|
9598
9584
|
scaling: debugScalingDetails,
|
|
9599
9585
|
color: satisfied ? 'green' : 'red'
|
|
9600
|
-
}))), debugMode && ( /*#__PURE__*/React__namespace.default.createElement(DebugStatsPane, null,
|
|
9586
|
+
}))), debugMode && ( /*#__PURE__*/React__namespace.default.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React__namespace.default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotCentered) ? '✅' : '❌', " Face Centered", /*#__PURE__*/React__namespace.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__namespace.default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceLookingAway) ? '✅' : '❌', " Face Looking Forward", /*#__PURE__*/React__namespace.default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceIsStable) ? '✅' : '❌', " Face Is Stable", /*#__PURE__*/React__namespace.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__namespace.default.createElement(ExitCaptureButton, {
|
|
9601
9587
|
onClick: onExit,
|
|
9602
9588
|
className: classNames.exitCaptureBtn
|
|
9603
9589
|
}));
|
|
@@ -9988,9 +9974,9 @@ var FaceLivenessSuccess = function FaceLivenessSuccess(_a) {
|
|
|
9988
9974
|
finished: true
|
|
9989
9975
|
}, verbiage.retryBtnText)))));
|
|
9990
9976
|
};
|
|
9991
|
-
var ImageContainer$5 = styled__default.default.div(templateObject_1$
|
|
9992
|
-
var Heading$6 = styled__default.default.h3(templateObject_2$
|
|
9993
|
-
var templateObject_1$
|
|
9977
|
+
var ImageContainer$5 = styled__default.default.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"])));
|
|
9978
|
+
var Heading$6 = styled__default.default.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"])));
|
|
9979
|
+
var templateObject_1$h, templateObject_2$f;
|
|
9994
9980
|
|
|
9995
9981
|
var FaceLivenessFailure = function FaceLivenessFailure(_a) {
|
|
9996
9982
|
var _b = _a.canRetry,
|
|
@@ -10039,9 +10025,9 @@ var FaceLivenessFailure = function FaceLivenessFailure(_a) {
|
|
|
10039
10025
|
finished: true
|
|
10040
10026
|
}, verbiage.exitBtnText)))));
|
|
10041
10027
|
};
|
|
10042
|
-
var ImageContainer$4 = styled__default.default(OverlayImageContainer)(templateObject_1$
|
|
10043
|
-
var Heading$5 = styled__default.default.h3(templateObject_2$
|
|
10044
|
-
var templateObject_1$
|
|
10028
|
+
var ImageContainer$4 = styled__default.default(OverlayImageContainer)(templateObject_1$g || (templateObject_1$g = __makeTemplateObject(["\n max-height: calc(100vh - 185px);\n"], ["\n max-height: calc(100vh - 185px);\n"])));
|
|
10029
|
+
var Heading$5 = styled__default.default.h3(templateObject_2$e || (templateObject_2$e = __makeTemplateObject(["\n margin-bottom: 36px;\n"], ["\n margin-bottom: 36px;\n"])));
|
|
10030
|
+
var templateObject_1$g, templateObject_2$e;
|
|
10045
10031
|
|
|
10046
10032
|
var MicrophoneAccessDeniedOverlay = function MicrophoneAccessDeniedOverlay(_a) {
|
|
10047
10033
|
var _b;
|
|
@@ -10053,7 +10039,9 @@ var MicrophoneAccessDeniedOverlay = function MicrophoneAccessDeniedOverlay(_a) {
|
|
|
10053
10039
|
colors = _e === void 0 ? {} : _e,
|
|
10054
10040
|
_f = _a.verbiage,
|
|
10055
10041
|
rawVerbiage = _f === void 0 ? {} : _f;
|
|
10056
|
-
var requestMicrophoneAccess =
|
|
10042
|
+
var requestMicrophoneAccess = useCameraStore(function (state) {
|
|
10043
|
+
return state.requestMicrophoneAccess;
|
|
10044
|
+
});
|
|
10057
10045
|
assets.imageUrl || (assets.imageUrl = DEFAULT_CDN_URL + '/microphone-disable-icon.svg');
|
|
10058
10046
|
var verbiage = useTranslations(rawVerbiage, {
|
|
10059
10047
|
headingText: 'Your microphone permission is disabled',
|
|
@@ -10082,11 +10070,11 @@ var MicrophoneAccessDeniedOverlay = function MicrophoneAccessDeniedOverlay(_a) {
|
|
|
10082
10070
|
finished: true
|
|
10083
10071
|
}, verbiage.retryBtnText)));
|
|
10084
10072
|
};
|
|
10085
|
-
var StyledOverlayInner = styled__default.default(OverlayInner$2)(templateObject_1$
|
|
10086
|
-
var StyledOverlayImageContainer$1 = styled__default.default(OverlayImageContainer)(templateObject_2$
|
|
10087
|
-
var Description$1 = styled__default.default.p(templateObject_3$
|
|
10088
|
-
var RetryButton = styled__default.default(LoaderButton)(templateObject_4$
|
|
10089
|
-
var templateObject_1$
|
|
10073
|
+
var StyledOverlayInner = styled__default.default(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"])));
|
|
10074
|
+
var StyledOverlayImageContainer$1 = styled__default.default(OverlayImageContainer)(templateObject_2$d || (templateObject_2$d = __makeTemplateObject(["\n flex-grow: 0;\n"], ["\n flex-grow: 0;\n"])));
|
|
10075
|
+
var Description$1 = styled__default.default.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"])));
|
|
10076
|
+
var RetryButton = styled__default.default(LoaderButton)(templateObject_4$7 || (templateObject_4$7 = __makeTemplateObject(["\n width: 200px;\n margin: 0 auto;\n"], ["\n width: 200px;\n margin: 0 auto;\n"])));
|
|
10077
|
+
var templateObject_1$f, templateObject_2$d, templateObject_3$c, templateObject_4$7;
|
|
10090
10078
|
|
|
10091
10079
|
var SelfieCaptureLoadingOverlayLegacy = function SelfieCaptureLoadingOverlayLegacy(_a) {
|
|
10092
10080
|
var onDismissed = _a.onDismissed,
|
|
@@ -10101,7 +10089,13 @@ var SelfieCaptureLoadingOverlayLegacy = function SelfieCaptureLoadingOverlayLega
|
|
|
10101
10089
|
colors = _e === void 0 ? {} : _e,
|
|
10102
10090
|
_f = _a.verbiage,
|
|
10103
10091
|
rawVerbiage = _f === void 0 ? {} : _f;
|
|
10104
|
-
var _g =
|
|
10092
|
+
var _g = useCameraStore(shallow.useShallow(function (state) {
|
|
10093
|
+
return {
|
|
10094
|
+
cameraReady: state.cameraReady,
|
|
10095
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
10096
|
+
microphoneAccessDenied: state.microphoneAccessDenied
|
|
10097
|
+
};
|
|
10098
|
+
})),
|
|
10105
10099
|
cameraReady = _g.cameraReady,
|
|
10106
10100
|
cameraAccessDenied = _g.cameraAccessDenied,
|
|
10107
10101
|
microphoneAccessDenied = _g.microphoneAccessDenied;
|
|
@@ -10169,9 +10163,9 @@ var SelfieCaptureLoadingOverlayLegacy = function SelfieCaptureLoadingOverlayLega
|
|
|
10169
10163
|
}
|
|
10170
10164
|
}, cameraReady && allModelsReady ? verbiage.continueText : allModelsReady ? verbiage.cameraInitializingText : modelDownloadProgress >= 100 ? "".concat(verbiage.modelsWarmingUpText) : "".concat(verbiage.downloadingText, " (").concat(modelDownloadProgress, "%)")))));
|
|
10171
10165
|
};
|
|
10172
|
-
var StyledGuidanceMessage$1 = styled__default.default(GuidanceMessage)(templateObject_1$
|
|
10173
|
-
var StyledButtonsRow$6 = styled__default.default(ButtonsRow)(templateObject_2$
|
|
10174
|
-
var templateObject_1$
|
|
10166
|
+
var StyledGuidanceMessage$1 = styled__default.default(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"])));
|
|
10167
|
+
var StyledButtonsRow$6 = styled__default.default(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"])));
|
|
10168
|
+
var templateObject_1$e, templateObject_2$c;
|
|
10175
10169
|
|
|
10176
10170
|
var legacyInstructionImageUrl = "".concat(DEFAULT_CDN_URL, "/Selfie-Image-1.png");
|
|
10177
10171
|
var SelfieCaptureLoadingOverlayDefault = function SelfieCaptureLoadingOverlayDefault(_a) {
|
|
@@ -10188,7 +10182,13 @@ var SelfieCaptureLoadingOverlayDefault = function SelfieCaptureLoadingOverlayDef
|
|
|
10188
10182
|
colors = _e === void 0 ? {} : _e,
|
|
10189
10183
|
_f = _a.verbiage,
|
|
10190
10184
|
rawVerbiage = _f === void 0 ? {} : _f;
|
|
10191
|
-
var _g =
|
|
10185
|
+
var _g = useCameraStore(shallow.useShallow(function (state) {
|
|
10186
|
+
return {
|
|
10187
|
+
cameraReady: state.cameraReady,
|
|
10188
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
10189
|
+
microphoneAccessDenied: state.microphoneAccessDenied
|
|
10190
|
+
};
|
|
10191
|
+
})),
|
|
10192
10192
|
cameraReady = _g.cameraReady,
|
|
10193
10193
|
cameraAccessDenied = _g.cameraAccessDenied,
|
|
10194
10194
|
microphoneAccessDenied = _g.microphoneAccessDenied;
|
|
@@ -10296,30 +10296,30 @@ var SelfieCaptureLoadingOverlayDefault = function SelfieCaptureLoadingOverlayDef
|
|
|
10296
10296
|
}
|
|
10297
10297
|
}, verbiage.continueText))))));
|
|
10298
10298
|
};
|
|
10299
|
-
var OverlayInner = styled__default.default.div(templateObject_1$
|
|
10299
|
+
var OverlayInner = styled__default.default.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) {
|
|
10300
10300
|
var _a, _b, _c, _d;
|
|
10301
10301
|
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';
|
|
10302
10302
|
}, function (props) {
|
|
10303
10303
|
var _a, _b, _c, _d;
|
|
10304
10304
|
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';
|
|
10305
10305
|
});
|
|
10306
|
-
var OverlayHeader = styled__default.default.div(templateObject_2$
|
|
10306
|
+
var OverlayHeader = styled__default.default.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) {
|
|
10307
10307
|
var _a;
|
|
10308
10308
|
return (_a = props.theme.textAlign) !== null && _a !== void 0 ? _a : 'center';
|
|
10309
10309
|
}, function (props) {
|
|
10310
10310
|
return props.theme.padding ? "box-sizing: border-box; padding: ".concat(props.theme.padding, ";") : "";
|
|
10311
10311
|
});
|
|
10312
|
-
var StyledGuidanceMessage = styled__default.default(GuidanceMessage)(templateObject_3$
|
|
10313
|
-
var StyledButtonsRow$5 = styled__default.default(ButtonsRow)(templateObject_4$
|
|
10312
|
+
var StyledGuidanceMessage = styled__default.default(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"])));
|
|
10313
|
+
var StyledButtonsRow$5 = styled__default.default(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) {
|
|
10314
10314
|
var _a, _b, _c, _d;
|
|
10315
10315
|
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';
|
|
10316
10316
|
}, function (props) {
|
|
10317
10317
|
var _a, _b, _c, _d, _e, _f;
|
|
10318
10318
|
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, ";") : '';
|
|
10319
10319
|
});
|
|
10320
|
-
var StyledOverlayImageContainer = styled__default.default(OverlayImageContainer)(templateObject_5$
|
|
10321
|
-
var LoadingListContainer = styled__default.default.div(templateObject_6$
|
|
10322
|
-
var LoadingList = styled__default.default.ul(templateObject_7$
|
|
10320
|
+
var StyledOverlayImageContainer = styled__default.default(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"])));
|
|
10321
|
+
var LoadingListContainer = styled__default.default.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"])));
|
|
10322
|
+
var LoadingList = styled__default.default.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"])));
|
|
10323
10323
|
var LoadingListItem = styled__default.default.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"])));
|
|
10324
10324
|
var ProgressContainer = styled__default.default.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"])));
|
|
10325
10325
|
var ProgressBarBackground = styled__default.default.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) {
|
|
@@ -10345,7 +10345,7 @@ var ContinueButton = styled__default.default(LoaderButton)(templateObject_15 ||
|
|
|
10345
10345
|
var _a, _b, _c, _d, _e, _f;
|
|
10346
10346
|
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, ";") : '';
|
|
10347
10347
|
});
|
|
10348
|
-
var templateObject_1$
|
|
10348
|
+
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;
|
|
10349
10349
|
|
|
10350
10350
|
var components = {
|
|
10351
10351
|
"default": SelfieCaptureLoadingOverlayDefault,
|
|
@@ -10405,7 +10405,13 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
|
|
|
10405
10405
|
livenessCheckRequest = _t.livenessCheckRequest,
|
|
10406
10406
|
setSelfieImage = _t.setSelfieImage,
|
|
10407
10407
|
logSelfieCaptureAttempt = _t.logSelfieCaptureAttempt;
|
|
10408
|
-
var _u =
|
|
10408
|
+
var _u = useCameraStore(shallow.useShallow(function (state) {
|
|
10409
|
+
return {
|
|
10410
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
10411
|
+
requestCameraAccess: state.requestCameraAccess,
|
|
10412
|
+
releaseCameraAccess: state.releaseCameraAccess
|
|
10413
|
+
};
|
|
10414
|
+
})),
|
|
10409
10415
|
cameraAccessDenied = _u.cameraAccessDenied,
|
|
10410
10416
|
requestCameraAccess = _u.requestCameraAccess,
|
|
10411
10417
|
releaseCameraAccess = _u.releaseCameraAccess;
|
|
@@ -10674,7 +10680,7 @@ var AdditionalDocumentCapture = function AdditionalDocumentCapture(_a) {
|
|
|
10674
10680
|
}
|
|
10675
10681
|
return /*#__PURE__*/React__namespace.default.createElement(OverlayContainer, {
|
|
10676
10682
|
className: classNames.container
|
|
10677
|
-
}, /*#__PURE__*/React__namespace.default.createElement(Inner$
|
|
10683
|
+
}, /*#__PURE__*/React__namespace.default.createElement(Inner$2, {
|
|
10678
10684
|
className: classNames.inner
|
|
10679
10685
|
}, /*#__PURE__*/React__namespace.default.createElement(Heading$4, {
|
|
10680
10686
|
className: classNames.heading
|
|
@@ -10704,11 +10710,11 @@ var AdditionalDocumentCapture = function AdditionalDocumentCapture(_a) {
|
|
|
10704
10710
|
}
|
|
10705
10711
|
}, verbiage.captureBtnText)))));
|
|
10706
10712
|
};
|
|
10707
|
-
var Inner$
|
|
10708
|
-
var Heading$4 = styled__default.default.h3(templateObject_2$
|
|
10709
|
-
var Description = styled__default.default.p(templateObject_3$
|
|
10710
|
-
var StyledButtonsRow$4 = styled__default.default(ButtonsRow)(templateObject_4$
|
|
10711
|
-
var templateObject_1$
|
|
10713
|
+
var Inner$2 = styled__default.default(OverlayInner$2)(templateObject_1$c || (templateObject_1$c = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
|
|
10714
|
+
var Heading$4 = styled__default.default.h3(templateObject_2$a || (templateObject_2$a = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
10715
|
+
var Description = styled__default.default.p(templateObject_3$a || (templateObject_3$a = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
10716
|
+
var StyledButtonsRow$4 = styled__default.default(ButtonsRow)(templateObject_4$5 || (templateObject_4$5 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
|
|
10717
|
+
var templateObject_1$c, templateObject_2$a, templateObject_3$a, templateObject_4$5;
|
|
10712
10718
|
|
|
10713
10719
|
var AdditionalDocumentCaptureWizard = function AdditionalDocumentCaptureWizard(_a) {
|
|
10714
10720
|
var documents = _a.documents,
|
|
@@ -10852,7 +10858,7 @@ function convertSVGtoImg(svgData_1) {
|
|
|
10852
10858
|
});
|
|
10853
10859
|
}
|
|
10854
10860
|
|
|
10855
|
-
var SignaturePaperBacking = styled__default.default.div(templateObject_1$
|
|
10861
|
+
var SignaturePaperBacking = styled__default.default.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) {
|
|
10856
10862
|
var _a, _b;
|
|
10857
10863
|
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, ";") : "";
|
|
10858
10864
|
}, function (props) {
|
|
@@ -10862,8 +10868,8 @@ var SignaturePaperBacking = styled__default.default.div(templateObject_1$a || (t
|
|
|
10862
10868
|
var _a, _b;
|
|
10863
10869
|
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, ";") : "";
|
|
10864
10870
|
});
|
|
10865
|
-
var SignatureCanvasContainer$1 = styled__default.default.div(templateObject_2$
|
|
10866
|
-
var SignaturePad = styled__default.default.div(templateObject_3$
|
|
10871
|
+
var SignatureCanvasContainer$1 = styled__default.default.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"])));
|
|
10872
|
+
var SignaturePad = styled__default.default.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) {
|
|
10867
10873
|
var _a, _b, _c;
|
|
10868
10874
|
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)';
|
|
10869
10875
|
}, function (props) {
|
|
@@ -10873,8 +10879,8 @@ var SignaturePad = styled__default.default.div(templateObject_3$8 || (templateOb
|
|
|
10873
10879
|
var _a, _b, _c;
|
|
10874
10880
|
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';
|
|
10875
10881
|
});
|
|
10876
|
-
var SignatureButtonsContainer = styled__default.default(ButtonsRow)(templateObject_4$
|
|
10877
|
-
var templateObject_1$
|
|
10882
|
+
var SignatureButtonsContainer = styled__default.default(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"])));
|
|
10883
|
+
var templateObject_1$b, templateObject_2$9, templateObject_3$9, templateObject_4$4;
|
|
10878
10884
|
|
|
10879
10885
|
var SignatureCapture = function SignatureCapture(_a) {
|
|
10880
10886
|
var _b;
|
|
@@ -10945,8 +10951,8 @@ var SignatureCapture = function SignatureCapture(_a) {
|
|
|
10945
10951
|
finished: true
|
|
10946
10952
|
}, verbiage.acceptBtnText)))));
|
|
10947
10953
|
};
|
|
10948
|
-
var AcceptBtn$1 = styled__default.default(LoaderButton)(templateObject_1$
|
|
10949
|
-
var templateObject_1$
|
|
10954
|
+
var AcceptBtn$1 = styled__default.default(LoaderButton)(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\n margin-left: auto;\n"], ["\n margin-left: auto;\n"])));
|
|
10955
|
+
var templateObject_1$a;
|
|
10950
10956
|
|
|
10951
10957
|
var useVideoRecorder = function useVideoRecorder(camera, audioStream, mergeAVStreams) {
|
|
10952
10958
|
if (mergeAVStreams === void 0) {
|
|
@@ -11126,10 +11132,10 @@ function VideoSignatureContextProvider(_a) {
|
|
|
11126
11132
|
setSignatureVideoUrl = _e[1];
|
|
11127
11133
|
var signatureRecorder = React.useRef(null);
|
|
11128
11134
|
var recordedChunks = React.useRef([]);
|
|
11129
|
-
var _f =
|
|
11130
|
-
|
|
11135
|
+
var _f = useCameraStore(),
|
|
11136
|
+
camera = _f.camera,
|
|
11131
11137
|
videoRef = _f.videoRef;
|
|
11132
|
-
var _g = useVideoRecorder(
|
|
11138
|
+
var _g = useVideoRecorder(camera),
|
|
11133
11139
|
isRecordingVideo = _g.isRecordingVideo,
|
|
11134
11140
|
startRecordingVideo = _g.startRecordingVideo,
|
|
11135
11141
|
stopRecordingVideo = _g.stopRecordingVideo,
|
|
@@ -11197,8 +11203,8 @@ function VideoSignatureContextProvider(_a) {
|
|
|
11197
11203
|
var animationFrame = React.useRef(0);
|
|
11198
11204
|
React.useEffect(function () {
|
|
11199
11205
|
var _a;
|
|
11200
|
-
if (!signaturePad.current || !videoRef.current || !outputCanvas.current || !
|
|
11201
|
-
var _b = [
|
|
11206
|
+
if (!signaturePad.current || !videoRef.current || !outputCanvas.current || !camera || !isRecording || !isRecordingVideo) return;
|
|
11207
|
+
var _b = [camera.width, camera.height],
|
|
11202
11208
|
w = _b[0],
|
|
11203
11209
|
h = _b[1];
|
|
11204
11210
|
var isPortrait = typeof window !== 'undefined' && window.innerWidth < window.innerHeight;
|
|
@@ -11231,7 +11237,7 @@ function VideoSignatureContextProvider(_a) {
|
|
|
11231
11237
|
return function () {
|
|
11232
11238
|
cancelAnimationFrame(animationFrame.current);
|
|
11233
11239
|
};
|
|
11234
|
-
}, [
|
|
11240
|
+
}, [camera, isRecording, isRecordingVideo, videoRef]);
|
|
11235
11241
|
var onAcceptClicked = React.useCallback(function () {
|
|
11236
11242
|
return __awaiter(_this, void 0, void 0, function () {
|
|
11237
11243
|
var imageUrl;
|
|
@@ -11306,11 +11312,11 @@ function VideoSignatureGuides(_a) {
|
|
|
11306
11312
|
className: classNames.signatureCanvas
|
|
11307
11313
|
};
|
|
11308
11314
|
}, [classNames.signatureCanvas, height, width]);
|
|
11309
|
-
return /*#__PURE__*/React__namespace.default.createElement(Container, {
|
|
11315
|
+
return /*#__PURE__*/React__namespace.default.createElement(Container$1, {
|
|
11310
11316
|
className: classNames.container
|
|
11311
|
-
}, /*#__PURE__*/React__namespace.default.createElement(Inner, {
|
|
11317
|
+
}, /*#__PURE__*/React__namespace.default.createElement(Inner$1, {
|
|
11312
11318
|
className: classNames.inner
|
|
11313
|
-
}, /*#__PURE__*/React__namespace.default.createElement(FaceGuideContainer, {
|
|
11319
|
+
}, /*#__PURE__*/React__namespace.default.createElement(FaceGuideContainer$1, {
|
|
11314
11320
|
className: classNames.faceGuideContainer
|
|
11315
11321
|
}, /*#__PURE__*/React__namespace.default.createElement(StyledSelfieCaptureAnimatedMask, {
|
|
11316
11322
|
className: classNames.faceGuide,
|
|
@@ -11345,42 +11351,44 @@ function VideoSignatureGuides(_a) {
|
|
|
11345
11351
|
finished: true
|
|
11346
11352
|
}, verbiage.acceptSignatureBtnText))))));
|
|
11347
11353
|
}
|
|
11348
|
-
var Container = styled__default.default.div(templateObject_1$
|
|
11354
|
+
var Container$1 = styled__default.default.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) {
|
|
11349
11355
|
var _a;
|
|
11350
11356
|
return (_a = props.theme) === null || _a === void 0 ? void 0 : _a.fontFamily;
|
|
11351
11357
|
});
|
|
11352
|
-
var Inner = styled__default.default.div(templateObject_2$
|
|
11353
|
-
var FaceGuideContainer = styled__default.default.div(templateObject_3$
|
|
11354
|
-
var StyledSelfieCaptureAnimatedMask = styled__default.default(SelfieCaptureAnimatedMaskWithStatus)(templateObject_4$
|
|
11355
|
-
var SignaturePadContainer = styled__default.default.div(templateObject_5$
|
|
11356
|
-
var SignatureCanvasContainer = styled__default.default.div(templateObject_6$
|
|
11358
|
+
var Inner$1 = styled__default.default.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"])));
|
|
11359
|
+
var FaceGuideContainer$1 = styled__default.default.div(templateObject_3$8 || (templateObject_3$8 = __makeTemplateObject(["\n position: relative;\n height: 50%;\n"], ["\n position: relative;\n height: 50%;\n"])));
|
|
11360
|
+
var StyledSelfieCaptureAnimatedMask = styled__default.default(SelfieCaptureAnimatedMaskWithStatus)(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n max-width: 100%;\n height: 100%;\n"], ["\n max-width: 100%;\n height: 100%;\n"])));
|
|
11361
|
+
var SignaturePadContainer = styled__default.default.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"])));
|
|
11362
|
+
var SignatureCanvasContainer = styled__default.default.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) {
|
|
11357
11363
|
return props.$disabled ? 'opacity: 0.5; pointer-events: none;' : '';
|
|
11358
11364
|
});
|
|
11359
|
-
var AcceptBtn = styled__default.default(LoaderButton)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n margin-left: auto;\n"], ["\n margin-left: auto;\n"])));
|
|
11360
|
-
var templateObject_1$
|
|
11365
|
+
var AcceptBtn = styled__default.default(LoaderButton)(templateObject_7$1 || (templateObject_7$1 = __makeTemplateObject(["\n margin-left: auto;\n"], ["\n margin-left: auto;\n"])));
|
|
11366
|
+
var templateObject_1$9, templateObject_2$8, templateObject_3$8, templateObject_4$3, templateObject_5$2, templateObject_6$2, templateObject_7$1;
|
|
11361
11367
|
|
|
11362
11368
|
var VideoSignatureCapture = function VideoSignatureCapture(_a) {
|
|
11363
|
-
var _b
|
|
11369
|
+
var _b;
|
|
11364
11370
|
var onVideoCaptured = _a.onVideoCaptured,
|
|
11365
11371
|
onFaceNotDetected = _a.onFaceNotDetected,
|
|
11366
11372
|
onExit = _a.onExit,
|
|
11367
11373
|
guidesComponent = _a.guidesComponent,
|
|
11368
|
-
|
|
11369
|
-
classNames =
|
|
11370
|
-
|
|
11371
|
-
colors =
|
|
11372
|
-
|
|
11373
|
-
rawVerbiage =
|
|
11374
|
-
|
|
11375
|
-
debugMode =
|
|
11376
|
-
var
|
|
11374
|
+
_c = _a.classNames,
|
|
11375
|
+
classNames = _c === void 0 ? {} : _c,
|
|
11376
|
+
_d = _a.colors,
|
|
11377
|
+
colors = _d === void 0 ? {} : _d,
|
|
11378
|
+
_e = _a.verbiage,
|
|
11379
|
+
rawVerbiage = _e === void 0 ? {} : _e,
|
|
11380
|
+
_f = _a.debugMode,
|
|
11381
|
+
debugMode = _f === void 0 ? false : _f;
|
|
11382
|
+
var camera = useCameraStore(function (state) {
|
|
11383
|
+
return state.camera;
|
|
11384
|
+
});
|
|
11377
11385
|
var onPredictionMade = React.useContext(SelfieGuidanceModelsContext).onPredictionMade;
|
|
11378
|
-
var
|
|
11379
|
-
signatureData =
|
|
11380
|
-
signatureDataUrl =
|
|
11381
|
-
signatureVideoData =
|
|
11382
|
-
startRecording =
|
|
11383
|
-
stopRecording =
|
|
11386
|
+
var _g = useVideoSignatureContext(),
|
|
11387
|
+
signatureData = _g.signatureData,
|
|
11388
|
+
signatureDataUrl = _g.signatureDataUrl,
|
|
11389
|
+
signatureVideoData = _g.signatureVideoData,
|
|
11390
|
+
startRecording = _g.startRecording,
|
|
11391
|
+
stopRecording = _g.stopRecording;
|
|
11384
11392
|
React.useEffect(function () {
|
|
11385
11393
|
startRecording();
|
|
11386
11394
|
return function () {
|
|
@@ -11397,9 +11405,9 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
|
|
|
11397
11405
|
onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(signatureVideoData, signatureData, signatureDataUrl);
|
|
11398
11406
|
}
|
|
11399
11407
|
}, [onVideoCaptured, signatureData, signatureDataUrl, signatureVideoData]);
|
|
11400
|
-
var
|
|
11401
|
-
numFramesWithoutFaces =
|
|
11402
|
-
setNumFramesWithoutFaces =
|
|
11408
|
+
var _h = React.useState(0),
|
|
11409
|
+
numFramesWithoutFaces = _h[0],
|
|
11410
|
+
setNumFramesWithoutFaces = _h[1];
|
|
11403
11411
|
React.useEffect(function () {
|
|
11404
11412
|
onPredictionMade(function (_a) {
|
|
11405
11413
|
var face = _a.face;
|
|
@@ -11426,7 +11434,7 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
|
|
|
11426
11434
|
}, verbiage.guidanceMessageText))), /*#__PURE__*/React__namespace.default.createElement(GuidesComponent, {
|
|
11427
11435
|
classNames: classNames.videoSignatureGuidesClassNames,
|
|
11428
11436
|
status: "success"
|
|
11429
|
-
}), debugMode && ( /*#__PURE__*/React__namespace.default.createElement(DebugStatsPane, null, "Video: ",
|
|
11437
|
+
}), debugMode && ( /*#__PURE__*/React__namespace.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__namespace.default.createElement(ExitCaptureButton, {
|
|
11430
11438
|
onClick: onExit,
|
|
11431
11439
|
className: classNames.exitCaptureBtn
|
|
11432
11440
|
}));
|
|
@@ -11485,8 +11493,8 @@ var VideoSignatureSuccess = function VideoSignatureSuccess(_a) {
|
|
|
11485
11493
|
finished: true
|
|
11486
11494
|
}, verbiage.doneBtnText))));
|
|
11487
11495
|
};
|
|
11488
|
-
var StyledVideo$1 = styled__default.default.video(templateObject_1$
|
|
11489
|
-
var templateObject_1$
|
|
11496
|
+
var StyledVideo$1 = styled__default.default.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"])));
|
|
11497
|
+
var templateObject_1$8;
|
|
11490
11498
|
|
|
11491
11499
|
var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
11492
11500
|
var _b;
|
|
@@ -11520,7 +11528,13 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
|
11520
11528
|
setSignatureData = _l.setSignatureData,
|
|
11521
11529
|
setSignatureVideoUrl = _l.setSignatureVideoUrl,
|
|
11522
11530
|
logSelfieCaptureAttempt = _l.logSelfieCaptureAttempt;
|
|
11523
|
-
var _m =
|
|
11531
|
+
var _m = useCameraStore(shallow.useShallow(function (state) {
|
|
11532
|
+
return {
|
|
11533
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
11534
|
+
requestCameraAccess: state.requestCameraAccess,
|
|
11535
|
+
releaseCameraAccess: state.releaseCameraAccess
|
|
11536
|
+
};
|
|
11537
|
+
})),
|
|
11524
11538
|
cameraAccessDenied = _m.cameraAccessDenied,
|
|
11525
11539
|
requestCameraAccess = _m.requestCameraAccess,
|
|
11526
11540
|
releaseCameraAccess = _m.releaseCameraAccess;
|
|
@@ -11679,6 +11693,129 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
|
11679
11693
|
}()));
|
|
11680
11694
|
};
|
|
11681
11695
|
|
|
11696
|
+
var IdVideoCaptureGuides = function IdVideoCaptureGuides(_a) {
|
|
11697
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
|
11698
|
+
var _z = _a.requestedAction,
|
|
11699
|
+
requestedAction = _z === void 0 ? 'SHOW_ID_FRONT' : _z,
|
|
11700
|
+
_0 = _a.satisfied,
|
|
11701
|
+
satisfied = _0 === void 0 ? false : _0,
|
|
11702
|
+
_1 = _a.faceGuideStatus,
|
|
11703
|
+
faceGuideStatus = _1 === void 0 ? 'success' : _1,
|
|
11704
|
+
faceGuideBorderWidth = _a.faceGuideBorderWidth,
|
|
11705
|
+
faceGuideBorderColor = _a.faceGuideBorderColor,
|
|
11706
|
+
_2 = _a.idCardGuideStatus,
|
|
11707
|
+
idCardGuideStatus = _2 === void 0 ? 'ready' : _2,
|
|
11708
|
+
idCardGuideBorderWidth = _a.idCardGuideBorderWidth,
|
|
11709
|
+
idCardGuideBorderColor = _a.idCardGuideBorderColor,
|
|
11710
|
+
idCardCaptureProgress = _a.idCardCaptureProgress,
|
|
11711
|
+
_3 = _a.idCardCaptureGuideImages,
|
|
11712
|
+
userSuppliedImages = _3 === void 0 ? defaultIdCaptureGuideImages : _3,
|
|
11713
|
+
_4 = _a.classNames,
|
|
11714
|
+
classNames = _4 === void 0 ? {} : _4,
|
|
11715
|
+
_5 = _a.verbiage,
|
|
11716
|
+
rawVerbiage = _5 === void 0 ? {} : _5;
|
|
11717
|
+
var isRearFacing = useCameraStore(function (state) {
|
|
11718
|
+
return state.isRearFacing;
|
|
11719
|
+
});
|
|
11720
|
+
var verbiage = useTranslations(rawVerbiage, {
|
|
11721
|
+
idFrontInstructionText: 'Display the front of your ID card...',
|
|
11722
|
+
idBackInstructionText: 'Display the back of your ID card...',
|
|
11723
|
+
flipIdInstructionText: 'Please flip your ID card...',
|
|
11724
|
+
verifyLivenessInstructionText: 'Performing facial recognition, please hold still...'
|
|
11725
|
+
});
|
|
11726
|
+
var instructionText = requestedAction === 'VERIFY_LIVENESS' ? verbiage.verifyLivenessInstructionText : requestedAction === 'SHOW_ID_FRONT' ? verbiage.idFrontInstructionText : requestedAction === 'FLIP_ID' ? verbiage.flipIdInstructionText : verbiage.idBackInstructionText;
|
|
11727
|
+
var theme = styled.useTheme();
|
|
11728
|
+
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;
|
|
11729
|
+
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';
|
|
11730
|
+
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;
|
|
11731
|
+
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';
|
|
11732
|
+
var _6 = useResizeObserver__default.default(),
|
|
11733
|
+
idCardGuideRef = _6.ref,
|
|
11734
|
+
_7 = _6.width,
|
|
11735
|
+
idCardGuideWidth = _7 === void 0 ? 0 : _7,
|
|
11736
|
+
_8 = _6.height,
|
|
11737
|
+
idCardGuideHeight = _8 === void 0 ? 0 : _8;
|
|
11738
|
+
var idCaptureGuideImages = useGuideImages(userSuppliedImages);
|
|
11739
|
+
var idCaptureGuideImagesByUrl = useGuideImagesByUrl(idCaptureGuideImages);
|
|
11740
|
+
var _9 = React.useState(undefined),
|
|
11741
|
+
aspectRatio = _9[0],
|
|
11742
|
+
setAspectRatio = _9[1];
|
|
11743
|
+
var onImageLoaded = React.useCallback(function (e) {
|
|
11744
|
+
var _a, _b, _c, _d;
|
|
11745
|
+
var img = e.currentTarget;
|
|
11746
|
+
var imageByUrl = idCaptureGuideImagesByUrl[img.src];
|
|
11747
|
+
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;
|
|
11748
|
+
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;
|
|
11749
|
+
setAspectRatio(naturalHeight > 0 ? naturalWidth / naturalHeight : undefined);
|
|
11750
|
+
}, [idCaptureGuideImagesByUrl]);
|
|
11751
|
+
var idCardImageStyle = React.useMemo(function () {
|
|
11752
|
+
return {
|
|
11753
|
+
maxWidth: idCardGuideWidth > idCardGuideHeight ? idCardGuideWidth : undefined,
|
|
11754
|
+
maxHeight: idCardGuideHeight > idCardGuideWidth ? idCardGuideHeight : undefined,
|
|
11755
|
+
height: '100%',
|
|
11756
|
+
aspectRatio: aspectRatio
|
|
11757
|
+
};
|
|
11758
|
+
}, [idCardGuideWidth, idCardGuideHeight, aspectRatio]);
|
|
11759
|
+
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';
|
|
11760
|
+
return /*#__PURE__*/React__namespace.default.createElement(Container, {
|
|
11761
|
+
className: classNames.container
|
|
11762
|
+
}, /*#__PURE__*/React__namespace.default.createElement(Inner, null, /*#__PURE__*/React__namespace.default.createElement(FaceGuideContainer, {
|
|
11763
|
+
className: classNames.faceGuideContainer
|
|
11764
|
+
}, /*#__PURE__*/React__namespace.default.createElement(SelfieCaptureAnimatedMaskWithStatus, {
|
|
11765
|
+
className: classNames.faceGuide,
|
|
11766
|
+
status: requestedAction === 'VERIFY_LIVENESS' ? faceGuideStatus : 'success',
|
|
11767
|
+
borderWidth: faceGuideBorderWidth,
|
|
11768
|
+
borderColor: faceGuideBorderColor,
|
|
11769
|
+
verticalAlign: "bottom"
|
|
11770
|
+
})), !disableIdGuides && ( /*#__PURE__*/React__namespace.default.createElement(IdCardGuideContainer, {
|
|
11771
|
+
className: classNames.idCardGuideContainer,
|
|
11772
|
+
ref: idCardGuideRef
|
|
11773
|
+
}, /*#__PURE__*/React__namespace.default.createElement(IdCardGuideInner, {
|
|
11774
|
+
className: classNames.idCardGuideInner,
|
|
11775
|
+
style: {
|
|
11776
|
+
aspectRatio: aspectRatio
|
|
11777
|
+
}
|
|
11778
|
+
}, /*#__PURE__*/React__namespace.default.createElement(IdCardGuideImageContainer, {
|
|
11779
|
+
className: classNames.idCardGuideImageContainer,
|
|
11780
|
+
status: requestedAction === 'VERIFY_LIVENESS' ? 'disabled' : idCardGuideStatus,
|
|
11781
|
+
borderWidth: idCardGuideBorderWidth,
|
|
11782
|
+
borderColor: idCardGuideBorderColor,
|
|
11783
|
+
aspectRatio: aspectRatio,
|
|
11784
|
+
"$isVisible": requestedAction !== 'FLIP_ID',
|
|
11785
|
+
progress: requestedAction === 'VERIFY_LIVENESS' ? undefined : idCardCaptureProgress
|
|
11786
|
+
}, /*#__PURE__*/React__namespace.default.createElement(IdCardGuideImage, {
|
|
11787
|
+
alt: "",
|
|
11788
|
+
className: classNames.idCardGuideImage,
|
|
11789
|
+
"$isMirrored": !isRearFacing,
|
|
11790
|
+
style: idCardImageStyle,
|
|
11791
|
+
src: requestedAction === 'SHOW_ID_BACK' ? idCaptureGuideImages.landscape.SHOW_ID_BACK.url : idCaptureGuideImages.landscape.SHOW_ID_FRONT.url,
|
|
11792
|
+
onLoad: onImageLoaded
|
|
11793
|
+
})), requestedAction === 'FLIP_ID' && ( /*#__PURE__*/React__namespace.default.createElement(IdVideoCaptureFlipIdPrompt, {
|
|
11794
|
+
idCaptureGuideImages: idCaptureGuideImages,
|
|
11795
|
+
classNames: classNames.flipIdPrompt,
|
|
11796
|
+
borderWidth: idCardGuideBorderWidth,
|
|
11797
|
+
borderColor: idCardGuideBorderColor,
|
|
11798
|
+
imageStyle: idCardImageStyle
|
|
11799
|
+
}))), /*#__PURE__*/React__namespace.default.createElement(IdCardGuideInstructionsContainer, {
|
|
11800
|
+
className: classNames.idCardGuideInstructionsContainer
|
|
11801
|
+
}, /*#__PURE__*/React__namespace.default.createElement(IdCardGuideInstructions, {
|
|
11802
|
+
className: classNames.idCardGuideInstructions,
|
|
11803
|
+
"$textColor": (_w = (_v = theme.idVideoCapture) === null || _v === void 0 ? void 0 : _v.idCardGuides) === null || _w === void 0 ? void 0 : _w.instructionsTextColor,
|
|
11804
|
+
"$background": (_y = (_x = theme.idVideoCapture) === null || _x === void 0 ? void 0 : _x.idCardGuides) === null || _y === void 0 ? void 0 : _y.instructionsBackgroundColor
|
|
11805
|
+
}, instructionText))))));
|
|
11806
|
+
};
|
|
11807
|
+
var Container = styled__default.default.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) {
|
|
11808
|
+
var _a;
|
|
11809
|
+
return (_a = props.theme) === null || _a === void 0 ? void 0 : _a.fontFamily;
|
|
11810
|
+
});
|
|
11811
|
+
var Inner = styled__default.default.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"])));
|
|
11812
|
+
var FaceGuideContainer = styled__default.default.div(templateObject_3$7 || (templateObject_3$7 = __makeTemplateObject(["\n position: relative;\n height: 65%;\n"], ["\n position: relative;\n height: 65%;\n"])));
|
|
11813
|
+
var IdCardGuideContainer = styled__default.default.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"])));
|
|
11814
|
+
var IdCardGuideInner = styled__default.default.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"])));
|
|
11815
|
+
var IdCardGuideInstructionsContainer = styled__default.default.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"])));
|
|
11816
|
+
var IdCardGuideInstructions = styled__default.default(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"])));
|
|
11817
|
+
var templateObject_1$7, templateObject_2$7, templateObject_3$7, templateObject_4$2, templateObject_5$1, templateObject_6$1, templateObject_7;
|
|
11818
|
+
|
|
11682
11819
|
var ReadTextPrompt = function ReadTextPrompt(_a) {
|
|
11683
11820
|
var text = _a.text,
|
|
11684
11821
|
onComplete = _a.onComplete,
|
|
@@ -11809,18 +11946,18 @@ var defaultVideoIdCaptureThresholds = {
|
|
|
11809
11946
|
flipShortcutThreshold: 0.7
|
|
11810
11947
|
};
|
|
11811
11948
|
var IdVideoCapture = function IdVideoCapture(_a) {
|
|
11812
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v
|
|
11949
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
11813
11950
|
var onComplete = _a.onComplete,
|
|
11814
11951
|
onIdFrontImageCaptured = _a.onIdFrontImageCaptured,
|
|
11815
11952
|
onIdBackImageCaptured = _a.onIdBackImageCaptured,
|
|
11816
11953
|
onFaceNotDetected = _a.onFaceNotDetected,
|
|
11817
11954
|
onRecordingFailed = _a.onRecordingFailed,
|
|
11818
11955
|
onExitCapture = _a.onExitCapture,
|
|
11819
|
-
|
|
11820
|
-
idCaptureModelsEnabled =
|
|
11821
|
-
|
|
11956
|
+
_w = _a.idCaptureModelsEnabled,
|
|
11957
|
+
idCaptureModelsEnabled = _w === void 0 ? true : _w,
|
|
11958
|
+
_x = _a.idCardCaptureGuideImages,
|
|
11959
|
+
idCardCaptureGuideImages = _x === void 0 ? defaultIdCaptureGuideImages : _x,
|
|
11822
11960
|
_y = _a.idCardFrontDelay,
|
|
11823
|
-
// idCardCaptureGuideImages = defaultIdCaptureGuideImages,
|
|
11824
11961
|
idCardFrontDelay = _y === void 0 ? 1000 : _y,
|
|
11825
11962
|
_z = _a.videoIdCaptureThresholds,
|
|
11826
11963
|
videoIdCaptureThresholds = _z === void 0 ? defaultVideoIdCaptureThresholds : _z,
|
|
@@ -11841,67 +11978,68 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
11841
11978
|
mergeAVStreams = _6 === void 0 ? false : _6,
|
|
11842
11979
|
_7 = _a.classNames,
|
|
11843
11980
|
classNames = _7 === void 0 ? {} : _7,
|
|
11844
|
-
|
|
11845
|
-
|
|
11846
|
-
|
|
11847
|
-
rawVerbiage =
|
|
11848
|
-
|
|
11849
|
-
debugMode =
|
|
11850
|
-
var
|
|
11851
|
-
ref =
|
|
11852
|
-
|
|
11853
|
-
width =
|
|
11854
|
-
|
|
11855
|
-
height =
|
|
11856
|
-
var
|
|
11857
|
-
|
|
11858
|
-
videoRef =
|
|
11859
|
-
videoLoaded =
|
|
11860
|
-
cameraReady =
|
|
11861
|
-
microphoneReady =
|
|
11862
|
-
audioStream =
|
|
11863
|
-
|
|
11864
|
-
|
|
11865
|
-
|
|
11866
|
-
|
|
11867
|
-
|
|
11868
|
-
|
|
11869
|
-
|
|
11870
|
-
|
|
11871
|
-
|
|
11872
|
-
|
|
11873
|
-
|
|
11874
|
-
|
|
11875
|
-
|
|
11876
|
-
|
|
11877
|
-
|
|
11878
|
-
|
|
11879
|
-
|
|
11880
|
-
|
|
11881
|
-
|
|
11882
|
-
|
|
11883
|
-
|
|
11884
|
-
|
|
11885
|
-
|
|
11886
|
-
|
|
11887
|
-
|
|
11888
|
-
|
|
11889
|
-
|
|
11890
|
-
|
|
11891
|
-
|
|
11892
|
-
|
|
11893
|
-
|
|
11894
|
-
|
|
11895
|
-
|
|
11896
|
-
|
|
11897
|
-
|
|
11898
|
-
|
|
11899
|
-
|
|
11900
|
-
|
|
11981
|
+
_8 = _a.colors,
|
|
11982
|
+
colors = _8 === void 0 ? {} : _8,
|
|
11983
|
+
_9 = _a.verbiage,
|
|
11984
|
+
rawVerbiage = _9 === void 0 ? {} : _9,
|
|
11985
|
+
_10 = _a.debugMode,
|
|
11986
|
+
debugMode = _10 === void 0 ? false : _10;
|
|
11987
|
+
var _11 = useResizeObserver__default.default(),
|
|
11988
|
+
ref = _11.ref,
|
|
11989
|
+
_12 = _11.width,
|
|
11990
|
+
width = _12 === void 0 ? 1 : _12,
|
|
11991
|
+
_13 = _11.height,
|
|
11992
|
+
height = _13 === void 0 ? 1 : _13;
|
|
11993
|
+
var _14 = useCameraStore(),
|
|
11994
|
+
camera = _14.camera,
|
|
11995
|
+
videoRef = _14.videoRef,
|
|
11996
|
+
videoLoaded = _14.videoLoaded,
|
|
11997
|
+
cameraReady = _14.cameraReady,
|
|
11998
|
+
microphoneReady = _14.microphoneReady,
|
|
11999
|
+
audioStream = _14.audioStream,
|
|
12000
|
+
isRearFacing = _14.isRearFacing,
|
|
12001
|
+
releaseCameraAccess = _14.releaseCameraAccess;
|
|
12002
|
+
var _15 = React.useState([]),
|
|
12003
|
+
detectedObjects = _15[0],
|
|
12004
|
+
setDetectedObjects = _15[1];
|
|
12005
|
+
var _16 = React.useState(null),
|
|
12006
|
+
face = _16[0],
|
|
12007
|
+
setFace = _16[1];
|
|
12008
|
+
var _17 = React.useContext(IdCaptureModelsContext),
|
|
12009
|
+
idModelsReady = _17.ready,
|
|
12010
|
+
startIdModels = _17.start,
|
|
12011
|
+
stopIdModels = _17.stop,
|
|
12012
|
+
onIdPredictionMade = _17.onPredictionMade,
|
|
12013
|
+
setThresholds = _17.setThresholds,
|
|
12014
|
+
setDocumentDetectionBoundaries = _17.setDocumentDetectionBoundaries,
|
|
12015
|
+
bestFrameDetails = _17.bestFrameDetails,
|
|
12016
|
+
resetBestFrame = _17.resetBestFrame,
|
|
12017
|
+
idModelError = _17.modelError;
|
|
12018
|
+
var _18 = React.useState(null),
|
|
12019
|
+
videoStartsAt = _18[0],
|
|
12020
|
+
setVideoStartsAt = _18[1];
|
|
12021
|
+
var _19 = React.useContext(SubmissionContext),
|
|
12022
|
+
setIdCaptureVideoAudioStartsAt = _19.setIdCaptureVideoAudioStartsAt,
|
|
12023
|
+
setExpectedAudioText = _19.setExpectedAudioText;
|
|
12024
|
+
var _20 = React.useContext(SelfieGuidanceModelsContext),
|
|
12025
|
+
startSelfieGuidance = _20.start,
|
|
12026
|
+
stopSelfieGuidance = _20.stop,
|
|
12027
|
+
onSelfiePredictionMade = _20.onPredictionMade,
|
|
12028
|
+
selfieModelError = _20.error;
|
|
12029
|
+
var _21 = useVideoRecorder(camera, audioStream, mergeAVStreams),
|
|
12030
|
+
isRecordingVideo = _21.isRecordingVideo,
|
|
12031
|
+
startRecordingVideo = _21.startRecordingVideo,
|
|
12032
|
+
startRecordingAudio = _21.startRecordingAudio,
|
|
12033
|
+
stopRecordingVideo = _21.stopRecordingVideo,
|
|
12034
|
+
stopRecordingAudio = _21.stopRecordingAudio,
|
|
12035
|
+
videoRecordingUnintentionallyStopped = _21.videoRecordingUnintentionallyStopped,
|
|
12036
|
+
audioRecordingUnintentionallyStopped = _21.audioRecordingUnintentionallyStopped,
|
|
12037
|
+
videoUrl = _21.videoUrl,
|
|
12038
|
+
audioUrl = _21.audioUrl;
|
|
11901
12039
|
var countdownTimeoutRef = React.useRef(undefined);
|
|
11902
|
-
var
|
|
11903
|
-
countdownRemaining =
|
|
11904
|
-
setCountdownRemaining =
|
|
12040
|
+
var _22 = React.useState(-1),
|
|
12041
|
+
countdownRemaining = _22[0],
|
|
12042
|
+
setCountdownRemaining = _22[1];
|
|
11905
12043
|
React.useEffect(function () {
|
|
11906
12044
|
if (!isRecordingVideo && !videoUrl) {
|
|
11907
12045
|
startRecordingVideo();
|
|
@@ -11912,18 +12050,18 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
11912
12050
|
var needsAudio = !!readTextPrompt && !mergeAVStreams;
|
|
11913
12051
|
var audioReady = !needsAudio || audioUrl;
|
|
11914
12052
|
if (videoUrl && audioReady) {
|
|
11915
|
-
|
|
12053
|
+
releaseCameraAccess();
|
|
11916
12054
|
onComplete === null || onComplete === void 0 ? void 0 : onComplete(videoUrl, audioUrl);
|
|
11917
12055
|
}
|
|
11918
|
-
}, [audioUrl, isRecordingVideo, mergeAVStreams, onComplete, readTextPrompt,
|
|
12056
|
+
}, [audioUrl, isRecordingVideo, mergeAVStreams, onComplete, readTextPrompt, releaseCameraAccess, startRecordingVideo, videoUrl]);
|
|
11919
12057
|
React.useEffect(function () {
|
|
11920
12058
|
if (videoRecordingUnintentionallyStopped || audioRecordingUnintentionallyStopped) {
|
|
11921
12059
|
onRecordingFailed === null || onRecordingFailed === void 0 ? void 0 : onRecordingFailed();
|
|
11922
12060
|
}
|
|
11923
12061
|
}, [audioRecordingUnintentionallyStopped, onRecordingFailed, videoRecordingUnintentionallyStopped]);
|
|
11924
|
-
var
|
|
11925
|
-
requestedAction =
|
|
11926
|
-
setRequestedAction =
|
|
12062
|
+
var _23 = React.useState('SHOW_ID_FRONT'),
|
|
12063
|
+
requestedAction = _23[0],
|
|
12064
|
+
setRequestedAction = _23[1];
|
|
11927
12065
|
var shouldRunIdModels = idCaptureModelsEnabled && videoLoaded && cameraReady && idModelsReady && !idModelError && requestedAction !== 'READ_TEXT' && (!readTextPrompt || microphoneReady);
|
|
11928
12066
|
React.useEffect(function startModelsWhenCapturing() {
|
|
11929
12067
|
if (!shouldRunIdModels) return;
|
|
@@ -11943,18 +12081,18 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
11943
12081
|
bottom: 1
|
|
11944
12082
|
});
|
|
11945
12083
|
}, [setDocumentDetectionBoundaries]);
|
|
11946
|
-
var
|
|
11947
|
-
currentDetectionScore =
|
|
11948
|
-
setCurrentDetectionScore =
|
|
11949
|
-
var
|
|
11950
|
-
currentDetectedDocumentType =
|
|
11951
|
-
setCurrentDetectedDocumentType =
|
|
11952
|
-
var _25 = React.useState(0),
|
|
11953
|
-
currentFocusScore = _25[0],
|
|
11954
|
-
setCurrentFocusScore = _25[1];
|
|
12084
|
+
var _24 = React.useState(0),
|
|
12085
|
+
currentDetectionScore = _24[0],
|
|
12086
|
+
setCurrentDetectionScore = _24[1];
|
|
12087
|
+
var _25 = React.useState('none'),
|
|
12088
|
+
currentDetectedDocumentType = _25[0],
|
|
12089
|
+
setCurrentDetectedDocumentType = _25[1];
|
|
11955
12090
|
var _26 = React.useState(0),
|
|
11956
|
-
|
|
11957
|
-
|
|
12091
|
+
currentFocusScore = _26[0],
|
|
12092
|
+
setCurrentFocusScore = _26[1];
|
|
12093
|
+
var _27 = React.useState(0),
|
|
12094
|
+
goodFramesCount = _27[0],
|
|
12095
|
+
setGoodFramesCount = _27[1];
|
|
11958
12096
|
var goodFramesThreshold = requestedAction === 'SHOW_ID_FRONT' ? videoIdCaptureThresholds.goodFrames.idCardFront : videoIdCaptureThresholds.goodFrames.idCardBack;
|
|
11959
12097
|
var goodFramesThresholdMet = goodFramesCount >= goodFramesThreshold;
|
|
11960
12098
|
React.useEffect(function () {
|
|
@@ -11975,9 +12113,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
11975
12113
|
} : 0);
|
|
11976
12114
|
});
|
|
11977
12115
|
}, [idCaptureModelsEnabled, onIdPredictionMade, idModelError, requestedAction, videoIdCaptureThresholds.flipShortcutThreshold]);
|
|
11978
|
-
var
|
|
11979
|
-
idFrontCaptureStartedAt =
|
|
11980
|
-
setFirstGoodFrameTime =
|
|
12116
|
+
var _28 = React.useState(null),
|
|
12117
|
+
idFrontCaptureStartedAt = _28[0],
|
|
12118
|
+
setFirstGoodFrameTime = _28[1];
|
|
11981
12119
|
React.useEffect(function () {
|
|
11982
12120
|
if (goodFramesCount === 1) setFirstGoodFrameTime(new Date().getTime());
|
|
11983
12121
|
}, [goodFramesCount]);
|
|
@@ -11998,9 +12136,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
11998
12136
|
var frameHeight = (_e = (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.videoHeight) !== null && _e !== void 0 ? _e : 0;
|
|
11999
12137
|
var faceBox = face === null || face === void 0 ? void 0 : face.box;
|
|
12000
12138
|
var faceCentered = !faceBox || !frameWidth || faceBox.xMin > frameWidth * edgeBoundary && faceBox.yMin > frameHeight * edgeBoundary && faceBox.xMax < frameWidth * (1 - edgeBoundary) && faceBox.yMax < frameHeight * (1 - edgeBoundary);
|
|
12001
|
-
var
|
|
12002
|
-
countdownStartedAt =
|
|
12003
|
-
setCountdownStartedAt =
|
|
12139
|
+
var _29 = React.useState(),
|
|
12140
|
+
countdownStartedAt = _29[0],
|
|
12141
|
+
setCountdownStartedAt = _29[1];
|
|
12004
12142
|
var photoCanvas = React.useRef(null);
|
|
12005
12143
|
var frameLock = React.useRef(false);
|
|
12006
12144
|
var captureFrame = React.useCallback(function () {
|
|
@@ -12123,9 +12261,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
12123
12261
|
stopSelfieGuidance();
|
|
12124
12262
|
};
|
|
12125
12263
|
}, [startSelfieGuidance, stopSelfieGuidance]);
|
|
12126
|
-
var
|
|
12127
|
-
numFramesWithoutFaces =
|
|
12128
|
-
setNumFramesWithoutFaces =
|
|
12264
|
+
var _30 = React.useState(0),
|
|
12265
|
+
numFramesWithoutFaces = _30[0],
|
|
12266
|
+
setNumFramesWithoutFaces = _30[1];
|
|
12129
12267
|
onSelfiePredictionMade(useDebounce.useThrottledCallback(React.useCallback(function (_a) {
|
|
12130
12268
|
var face = _a.face;
|
|
12131
12269
|
if (selfieModelError) return;
|
|
@@ -12141,12 +12279,12 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
12141
12279
|
}
|
|
12142
12280
|
}, [disableFaceDetectionWhileAudioCapture, disableFaceDetectionWhileAudioCaptureMsDelay, numFramesWithoutFaces, onFaceNotDetected, timeoutStartedAt]);
|
|
12143
12281
|
var theme = styled.useTheme();
|
|
12144
|
-
var
|
|
12282
|
+
var _31 = useTranslations(rawVerbiage, {
|
|
12145
12283
|
faceNotCenteredText: 'Please move your face to the center...',
|
|
12146
12284
|
captureBtnText: 'Capture'
|
|
12147
12285
|
}),
|
|
12148
|
-
captureBtnText =
|
|
12149
|
-
faceNotCenteredText =
|
|
12286
|
+
captureBtnText = _31.captureBtnText,
|
|
12287
|
+
faceNotCenteredText = _31.faceNotCenteredText;
|
|
12150
12288
|
var debugScalingDetails = useDebugScalingDetails({
|
|
12151
12289
|
enabled: debugMode,
|
|
12152
12290
|
pageWidth: width,
|
|
@@ -12171,16 +12309,25 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
12171
12309
|
classNames: classNames.readTextPrompt,
|
|
12172
12310
|
verbiage: rawVerbiage.readTextPrompt,
|
|
12173
12311
|
onComplete: stopRecording
|
|
12174
|
-
})) : ( /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null,
|
|
12175
|
-
|
|
12312
|
+
})) : ( /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, /*#__PURE__*/React__namespace.default.createElement(IdVideoCaptureGuides, {
|
|
12313
|
+
classNames: classNames.guides,
|
|
12314
|
+
verbiage: rawVerbiage.guides,
|
|
12315
|
+
requestedAction: requestedAction,
|
|
12316
|
+
satisfied: satisfied,
|
|
12317
|
+
idCardGuideStatus: countdownStartedAt ? 'capturing' : 'ready',
|
|
12318
|
+
idCardCaptureProgress: !!countdownStartedAt ? 1 : 0,
|
|
12319
|
+
idCardCaptureGuideImages: idCardCaptureGuideImages,
|
|
12320
|
+
faceGuideBorderColor: satisfied ? colors.guidesSatisfiedColor : colors.guidesUnsatisfiedColor,
|
|
12321
|
+
idCardGuideBorderColor: satisfied ? colors.guidesSatisfiedColor : colors.guidesUnsatisfiedColor
|
|
12322
|
+
}), debugMode && capturingId && ( /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, /*#__PURE__*/React__namespace.default.createElement(ObjectDetectionDebugOverlayDiv, {
|
|
12323
|
+
"$flipX": !isRearFacing
|
|
12176
12324
|
}, detectedObjects.map(function (obj, i) {
|
|
12177
|
-
var _a;
|
|
12178
12325
|
return /*#__PURE__*/React__namespace.default.createElement(IdCaptureDetectedObjectDebugBox, {
|
|
12179
12326
|
key: i,
|
|
12180
12327
|
obj: obj,
|
|
12181
12328
|
scaling: debugScalingDetails,
|
|
12182
12329
|
color: "blue",
|
|
12183
|
-
flipX: !
|
|
12330
|
+
flipX: !isRearFacing
|
|
12184
12331
|
});
|
|
12185
12332
|
})), /*#__PURE__*/React__namespace.default.createElement(DebugBoundingBoxOverlay, null, face && ( /*#__PURE__*/React__namespace.default.createElement(SelfieCaptureFaceDebugBox, {
|
|
12186
12333
|
face: face,
|
|
@@ -12189,9 +12336,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
12189
12336
|
className: classNames.guidanceMessageContainer
|
|
12190
12337
|
}, /*#__PURE__*/React__namespace.default.createElement(GuidanceMessage, {
|
|
12191
12338
|
className: classNames.guidanceMessage,
|
|
12192
|
-
"$background": (
|
|
12193
|
-
"$textColor": (
|
|
12194
|
-
}, guidanceText))), debugMode && ( /*#__PURE__*/React__namespace.default.createElement(DebugStatsPane, null,
|
|
12339
|
+
"$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',
|
|
12340
|
+
"$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'
|
|
12341
|
+
}, guidanceText))), debugMode && ( /*#__PURE__*/React__namespace.default.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React__namespace.default.createElement("br", null), isRecordingVideo ? '✅ Recording' : '❌ Not recording', /*#__PURE__*/React__namespace.default.createElement("br", null), goodFramesThresholdMet ? '✅' : '❌', " Good Frame Count:", ' ', goodFramesCount, "/", goodFramesThreshold, /*#__PURE__*/React__namespace.default.createElement("br", null), "Document Type: ", currentDetectedDocumentType, /*#__PURE__*/React__namespace.default.createElement("br", null), "Detection Score: ", currentDetectionScore, /*#__PURE__*/React__namespace.default.createElement("br", null), "Focus Score: ", currentFocusScore, /*#__PURE__*/React__namespace.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__namespace.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__namespace.default.createElement(CountdownContainer, {
|
|
12195
12342
|
className: classNames.countdownContainer
|
|
12196
12343
|
}, /*#__PURE__*/React__namespace.default.createElement(Countdown, {
|
|
12197
12344
|
className: classNames.countdown
|
|
@@ -12471,42 +12618,31 @@ var VideoIdWizard = function VideoIdWizard(_a) {
|
|
|
12471
12618
|
onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();
|
|
12472
12619
|
}, [onExitCapture]);
|
|
12473
12620
|
var faceLivenessGuides = React.useCallback(function (_a) {
|
|
12474
|
-
|
|
12475
|
-
|
|
12476
|
-
|
|
12477
|
-
|
|
12478
|
-
|
|
12479
|
-
|
|
12480
|
-
|
|
12481
|
-
|
|
12482
|
-
|
|
12483
|
-
|
|
12484
|
-
|
|
12485
|
-
|
|
12486
|
-
// }
|
|
12487
|
-
// idCardGuideStatus="disabled"
|
|
12488
|
-
// // idCardGuideBorderColor={
|
|
12489
|
-
// // status === 'success'
|
|
12490
|
-
// // ? colors.idVideoCapture?.guidesSatisfiedColor
|
|
12491
|
-
// // : colors.idVideoCapture?.guidesUnsatisfiedColor
|
|
12492
|
-
// // }
|
|
12493
|
-
// />
|
|
12494
|
-
[(_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]);
|
|
12621
|
+
var _b, _c, _d, _e;
|
|
12622
|
+
var status = _a.status;
|
|
12623
|
+
return /*#__PURE__*/React__namespace.default.createElement(IdVideoCaptureGuides, {
|
|
12624
|
+
idCardCaptureGuideImages: idCaptureGuideImages,
|
|
12625
|
+
classNames: (_b = classNames.idVideoCapture) === null || _b === void 0 ? void 0 : _b.guides,
|
|
12626
|
+
verbiage: (_c = verbiage.idVideoCapture) === null || _c === void 0 ? void 0 : _c.guides,
|
|
12627
|
+
requestedAction: "VERIFY_LIVENESS",
|
|
12628
|
+
faceGuideStatus: status,
|
|
12629
|
+
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,
|
|
12630
|
+
idCardGuideStatus: "disabled"
|
|
12631
|
+
});
|
|
12632
|
+
}, [(_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]);
|
|
12495
12633
|
if (submissionStatus === SubmissionStatus.SUBMITTING) {
|
|
12496
12634
|
return /*#__PURE__*/React__namespace.default.createElement(PageContainer, {
|
|
12497
12635
|
className: "flex"
|
|
12498
12636
|
}, /*#__PURE__*/React__namespace.default.createElement(Spinner, null));
|
|
12499
12637
|
}
|
|
12500
|
-
return /*#__PURE__*/React__namespace.default.createElement(
|
|
12501
|
-
|
|
12502
|
-
preferContinuityCamera: isCapturingId,
|
|
12638
|
+
return /*#__PURE__*/React__namespace.default.createElement(CameraStoreProvider, {
|
|
12639
|
+
preferIphoneContinuityCamera: isCapturingId,
|
|
12503
12640
|
preferFrontFacingCamera: !isCapturingId,
|
|
12504
12641
|
requireMicrophoneAccess: !isCapturingId && !!readTextPrompt,
|
|
12505
12642
|
maxVideoWidth: isCapturingId ? 1920 : 1280,
|
|
12506
12643
|
maxFps: isCapturingId ? 60 : 30,
|
|
12507
12644
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
12508
|
-
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12509
|
-
debugMode: debugMode
|
|
12645
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12510
12646
|
}, /*#__PURE__*/React__namespace.default.createElement(IdCaptureModelsProvider, {
|
|
12511
12647
|
autoStart: false,
|
|
12512
12648
|
documentDetectionModelUrl: (_g = (_f = idCaptureProps.assets) === null || _f === void 0 ? void 0 : _f.documentDetectionModelUrl) !== null && _g !== void 0 ? _g : '',
|
|
@@ -12632,17 +12768,15 @@ function CompositeWizard(_a) {
|
|
|
12632
12768
|
_o = _a.captureSignatureVideo,
|
|
12633
12769
|
captureSignatureVideo = _o === void 0 ? false : _o,
|
|
12634
12770
|
onCameraAccessDenied = _a.onCameraAccessDenied,
|
|
12635
|
-
onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied
|
|
12636
|
-
|
|
12637
|
-
|
|
12638
|
-
|
|
12639
|
-
|
|
12640
|
-
|
|
12641
|
-
|
|
12642
|
-
|
|
12643
|
-
|
|
12644
|
-
checkIndex = _r[0],
|
|
12645
|
-
setCheckIndex = _r[1];
|
|
12771
|
+
onMicrophoneAccessDenied = _a.onMicrophoneAccessDenied;
|
|
12772
|
+
var _p = React.useContext(SubmissionContext),
|
|
12773
|
+
submit = _p.submit,
|
|
12774
|
+
submissionStatus = _p.submissionStatus,
|
|
12775
|
+
setSignatureData = _p.setSignatureData,
|
|
12776
|
+
setAdditionalDocuments = _p.setAdditionalDocuments;
|
|
12777
|
+
var _q = React.useState(0),
|
|
12778
|
+
checkIndex = _q[0],
|
|
12779
|
+
setCheckIndex = _q[1];
|
|
12646
12780
|
var checks = React.useMemo(function () {
|
|
12647
12781
|
var _a, _b;
|
|
12648
12782
|
var checks = __spreadArray([], userChecks, true);
|
|
@@ -12720,16 +12854,6 @@ function CompositeWizard(_a) {
|
|
|
12720
12854
|
return i + 1;
|
|
12721
12855
|
});
|
|
12722
12856
|
}, [onVideoSignatureCompleteProp]);
|
|
12723
|
-
var _s = React.useState(0),
|
|
12724
|
-
videoSignatureAttempts = _s[0],
|
|
12725
|
-
setVideoSignatureAttempts = _s[1];
|
|
12726
|
-
var onVideoSignatureRetryProp = videoSignatureCaptureProps.onRetryClicked;
|
|
12727
|
-
var onVideoSignatureRetry = React.useCallback(function () {
|
|
12728
|
-
onVideoSignatureRetryProp === null || onVideoSignatureRetryProp === void 0 ? void 0 : onVideoSignatureRetryProp();
|
|
12729
|
-
setVideoSignatureAttempts(function (n) {
|
|
12730
|
-
return n + 1;
|
|
12731
|
-
});
|
|
12732
|
-
}, [onVideoSignatureRetryProp]);
|
|
12733
12857
|
var onAdditionalDocumentCaptureCompleteProp = additionalDocumentCaptureProps === null || additionalDocumentCaptureProps === void 0 ? void 0 : additionalDocumentCaptureProps.onComplete;
|
|
12734
12858
|
var onAdditionalDocumentCaptureComplete = React.useCallback(function (uploadedDocuments) {
|
|
12735
12859
|
setAdditionalDocuments(uploadedDocuments);
|
|
@@ -12758,11 +12882,9 @@ function CompositeWizard(_a) {
|
|
|
12758
12882
|
}
|
|
12759
12883
|
switch (checks[checkIndex]) {
|
|
12760
12884
|
case 'IdCapture':
|
|
12761
|
-
return /*#__PURE__*/React__namespace.default.createElement(
|
|
12762
|
-
key: "IdCaptureCamera",
|
|
12885
|
+
return /*#__PURE__*/React__namespace.default.createElement(CameraStoreProvider, {
|
|
12763
12886
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
12764
|
-
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12765
|
-
debugMode: debugMode
|
|
12887
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12766
12888
|
}, /*#__PURE__*/React__namespace.default.createElement(IdCaptureModelsProvider, {
|
|
12767
12889
|
autoStart: false,
|
|
12768
12890
|
documentDetectionModelUrl: (_d = (_c = idCaptureProps.assets) === null || _c === void 0 ? void 0 : _c.documentDetectionModelUrl) !== null && _d !== void 0 ? _d : '',
|
|
@@ -12779,13 +12901,11 @@ function CompositeWizard(_a) {
|
|
|
12779
12901
|
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12780
12902
|
}));
|
|
12781
12903
|
case 'FaceLiveness':
|
|
12782
|
-
return /*#__PURE__*/React__namespace.default.createElement(
|
|
12783
|
-
key: "FaceLivenessCamera",
|
|
12904
|
+
return /*#__PURE__*/React__namespace.default.createElement(CameraStoreProvider, {
|
|
12784
12905
|
preferFrontFacingCamera: true,
|
|
12785
|
-
|
|
12906
|
+
preferIphoneContinuityCamera: false,
|
|
12786
12907
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
12787
|
-
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12788
|
-
debugMode: debugMode
|
|
12908
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12789
12909
|
}, /*#__PURE__*/React__namespace.default.createElement(SelfieGuidanceModelsProvider, {
|
|
12790
12910
|
autoStart: false,
|
|
12791
12911
|
onModelError: faceLivenessProps.onModelError,
|
|
@@ -12798,15 +12918,13 @@ function CompositeWizard(_a) {
|
|
|
12798
12918
|
onAccept: onSignatureCaptureSuccess
|
|
12799
12919
|
}));
|
|
12800
12920
|
case 'VideoSignatureCapture':
|
|
12801
|
-
return /*#__PURE__*/React__namespace.default.createElement(
|
|
12802
|
-
|
|
12803
|
-
preferContinuityCamera: false,
|
|
12921
|
+
return /*#__PURE__*/React__namespace.default.createElement(CameraStoreProvider, {
|
|
12922
|
+
preferIphoneContinuityCamera: false,
|
|
12804
12923
|
preferFrontFacingCamera: true,
|
|
12805
12924
|
maxVideoWidth: 1280,
|
|
12806
12925
|
maxFps: 30,
|
|
12807
12926
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
12808
|
-
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12809
|
-
debugMode: debugMode
|
|
12927
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
12810
12928
|
}, /*#__PURE__*/React__namespace.default.createElement(SelfieGuidanceModelsProvider, {
|
|
12811
12929
|
autoStart: false,
|
|
12812
12930
|
throttleMs: 250,
|
|
@@ -12814,8 +12932,7 @@ function CompositeWizard(_a) {
|
|
|
12814
12932
|
modelLoadTimeoutMs: videoSignatureCaptureProps.modelLoadTimeoutMs,
|
|
12815
12933
|
requireVerticalFaceCentering: false
|
|
12816
12934
|
}, /*#__PURE__*/React__namespace.default.createElement(VideoSignatureWizard, _assign({}, videoSignatureCaptureProps, {
|
|
12817
|
-
onComplete: onVideoSignatureComplete
|
|
12818
|
-
onRetryClicked: onVideoSignatureRetry
|
|
12935
|
+
onComplete: onVideoSignatureComplete
|
|
12819
12936
|
}))));
|
|
12820
12937
|
case 'AdditionalDocumentCapture':
|
|
12821
12938
|
return /*#__PURE__*/React__namespace.default.createElement(AdditionalDocumentCaptureWizard, _assign({}, additionalDocumentCaptureProps, {
|
|
@@ -13266,8 +13383,7 @@ var IdValidation = function IdValidation(_a) {
|
|
|
13266
13383
|
videoSignatureCaptureProps: videoSignatureCaptureProps,
|
|
13267
13384
|
captureSignature: captureSignature,
|
|
13268
13385
|
captureSignatureVideo: captureSignatureVideo,
|
|
13269
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
13270
|
-
debugMode: debugMode
|
|
13386
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
13271
13387
|
}))));
|
|
13272
13388
|
};
|
|
13273
13389
|
|
|
@@ -13373,8 +13489,7 @@ var FaceValidation = function FaceValidation(_a) {
|
|
|
13373
13489
|
return ['FaceLiveness'];
|
|
13374
13490
|
}, []),
|
|
13375
13491
|
faceLivenessProps: faceLivenessProps,
|
|
13376
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
13377
|
-
debugMode: debugMode
|
|
13492
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
13378
13493
|
}))));
|
|
13379
13494
|
};
|
|
13380
13495
|
|
|
@@ -13607,8 +13722,7 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
|
|
|
13607
13722
|
additionalDocumentCaptureProps: additionalDocumentCaptureProps,
|
|
13608
13723
|
captureSignature: captureSignature,
|
|
13609
13724
|
captureSignatureVideo: captureSignatureVideo,
|
|
13610
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
13611
|
-
debugMode: debugMode
|
|
13725
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
13612
13726
|
}))));
|
|
13613
13727
|
};
|
|
13614
13728
|
|
|
@@ -13863,8 +13977,7 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
|
|
|
13863
13977
|
videoSignatureCaptureProps: videoSignatureCaptureProps,
|
|
13864
13978
|
captureSignature: captureSignature,
|
|
13865
13979
|
captureSignatureVideo: captureSignatureVideo,
|
|
13866
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
13867
|
-
debugMode: debugMode
|
|
13980
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
13868
13981
|
}))));
|
|
13869
13982
|
};
|
|
13870
13983
|
|
|
@@ -14196,7 +14309,7 @@ var CustomerVerificationWizard = function CustomerVerificationWizard(_a) {
|
|
|
14196
14309
|
var _l = React.useState('LOADING'),
|
|
14197
14310
|
captureState = _l[0],
|
|
14198
14311
|
setCaptureState = _l[1];
|
|
14199
|
-
var _m =
|
|
14312
|
+
var _m = useCameraStore(),
|
|
14200
14313
|
cameraAccessDenied = _m.cameraAccessDenied,
|
|
14201
14314
|
releaseCameraAccess = _m.releaseCameraAccess;
|
|
14202
14315
|
var _o = React.useContext(SelfieGuidanceModelsContext),
|
|
@@ -14402,10 +14515,9 @@ var CustomerVerification = function CustomerVerification(_a) {
|
|
|
14402
14515
|
onSubmit: onSubmit,
|
|
14403
14516
|
geolocationEnabled: geolocationEnabled,
|
|
14404
14517
|
geolocationRequired: geolocationRequired
|
|
14405
|
-
}, /*#__PURE__*/React__namespace.default.createElement(
|
|
14518
|
+
}, /*#__PURE__*/React__namespace.default.createElement(CameraStoreProvider, {
|
|
14406
14519
|
preferFrontFacingCamera: true,
|
|
14407
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
14408
|
-
debugMode: debugMode
|
|
14520
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
14409
14521
|
}, /*#__PURE__*/React__namespace.default.createElement(SelfieGuidanceModelsProvider, {
|
|
14410
14522
|
autoStart: false,
|
|
14411
14523
|
onModelError: onModelError,
|
|
@@ -14754,7 +14866,7 @@ var CustomerIdentificationWizard = function CustomerIdentificationWizard(_a) {
|
|
|
14754
14866
|
var _l = React.useState('LOADING'),
|
|
14755
14867
|
captureState = _l[0],
|
|
14756
14868
|
setCaptureState = _l[1];
|
|
14757
|
-
var _m =
|
|
14869
|
+
var _m = useCameraStore(),
|
|
14758
14870
|
cameraAccessDenied = _m.cameraAccessDenied,
|
|
14759
14871
|
releaseCameraAccess = _m.releaseCameraAccess;
|
|
14760
14872
|
var _o = React.useContext(SelfieGuidanceModelsContext),
|
|
@@ -14958,10 +15070,9 @@ var CustomerIdentification = function CustomerIdentification(_a) {
|
|
|
14958
15070
|
onSubmit: onSubmit,
|
|
14959
15071
|
geolocationEnabled: geolocationEnabled,
|
|
14960
15072
|
geolocationRequired: geolocationRequired
|
|
14961
|
-
}, /*#__PURE__*/React__namespace.default.createElement(
|
|
15073
|
+
}, /*#__PURE__*/React__namespace.default.createElement(CameraStoreProvider, {
|
|
14962
15074
|
preferFrontFacingCamera: true,
|
|
14963
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
14964
|
-
debugMode: debugMode
|
|
15075
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
14965
15076
|
}, /*#__PURE__*/React__namespace.default.createElement(SelfieGuidanceModelsProvider, {
|
|
14966
15077
|
autoStart: false,
|
|
14967
15078
|
modelLoadTimeoutMs: modelLoadTimeoutMs,
|
|
@@ -15288,8 +15399,7 @@ var VideoIdValidation = function VideoIdValidation(_a) {
|
|
|
15288
15399
|
captureSignature: captureSignature,
|
|
15289
15400
|
captureSignatureVideo: captureSignatureVideo,
|
|
15290
15401
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
15291
|
-
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
15292
|
-
debugMode: debugMode
|
|
15402
|
+
onMicrophoneAccessDenied: onMicrophoneAccessDenied
|
|
15293
15403
|
}))));
|
|
15294
15404
|
};
|
|
15295
15405
|
|
|
@@ -15446,8 +15556,7 @@ var CustomerBiometricsEnrollment = function CustomerBiometricsEnrollment(_a) {
|
|
|
15446
15556
|
videoSignatureCaptureProps: videoSignatureCaptureProps,
|
|
15447
15557
|
captureSignature: captureSignature,
|
|
15448
15558
|
captureSignatureVideo: captureSignatureVideo,
|
|
15449
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
15450
|
-
debugMode: debugMode
|
|
15559
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
15451
15560
|
}))));
|
|
15452
15561
|
};
|
|
15453
15562
|
|
|
@@ -15505,11 +15614,10 @@ var DocumentCapture = function DocumentCapture(_a) {
|
|
|
15505
15614
|
onDocumentUploadFailed: onDocumentUploadFailed,
|
|
15506
15615
|
geolocationEnabled: geolocationEnabled,
|
|
15507
15616
|
geolocationRequired: geolocationRequired
|
|
15508
|
-
}, /*#__PURE__*/React__namespace.default.createElement(
|
|
15617
|
+
}, /*#__PURE__*/React__namespace.default.createElement(CameraStoreProvider, {
|
|
15509
15618
|
requestAccessAutomatically: false,
|
|
15510
|
-
|
|
15511
|
-
onCameraAccessDenied: onCameraAccessDenied
|
|
15512
|
-
debugMode: debugMode
|
|
15619
|
+
preferIphoneContinuityCamera: true,
|
|
15620
|
+
onCameraAccessDenied: onCameraAccessDenied
|
|
15513
15621
|
}, /*#__PURE__*/React__namespace.default.createElement(DocumentCaptureWizard, {
|
|
15514
15622
|
onSuccess: onComplete,
|
|
15515
15623
|
onExitCapture: onExitCapture,
|