idmission-web-sdk 2.5.83-changeset-release-develop-eb57522 → 2.5.83-changeset-release-develop-2127d44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/props.json +1 -1
- package/dist/sdk2.cjs.development.js +213 -184
- 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 +214 -185
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +215 -648
- 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/package.json +1 -2
package/dist/sdk2.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useRef, useState, useEffect, useLayoutEffect, useCallback, useMemo, useContext, createContext, createElement, forwardRef,
|
|
1
|
+
import React, { useRef, useState, useEffect, useLayoutEffect, useCallback, useMemo, useContext, createContext, createElement, forwardRef, memo, useReducer } from 'react';
|
|
2
2
|
import { createStore } from 'zustand/vanilla';
|
|
3
3
|
import platform from 'platform';
|
|
4
4
|
import { DetailedError, Upload } from 'tus-js-client';
|
|
@@ -7260,15 +7260,17 @@ var EYES_CLOSED = 'Keep your eyes open...';
|
|
|
7260
7260
|
var HAND_OVER_FACE = 'Remove your hand from your face...';
|
|
7261
7261
|
var SELFIE_RECOVERY_HINT = 'We’re having trouble checking the lighting. Keep your face centered and hold still—we’ll still check your positioning.';
|
|
7262
7262
|
var CONTINUE_WITH_CURRENT_LIGHTING = 'Continue with current lighting';
|
|
7263
|
+
// The face liveness Retry button while the camera restarts behind it.
|
|
7264
|
+
var STARTING_CAMERA = 'Starting camera...';
|
|
7263
7265
|
var threeOhTranslations = {
|
|
7264
|
-
de: (_de = {}, _de[SELFIE_RECOVERY_HINT] = 'Wir haben Schwierigkeiten, die Beleuchtung zu prüfen. Halten Sie Ihr Gesicht mittig und bleiben Sie ruhig. Wir prüfen weiterhin Ihre Position.', _de[CONTINUE_WITH_CURRENT_LIGHTING] = 'Mit aktueller Beleuchtung fortfahren', _de[MANUAL_CAPTURE_HINT] = 'Die automatische Aufnahme hat Schwierigkeiten. Tippen Sie auf die Taste, um das Foto selbst aufzunehmen.', _de[REVIEW_HEADING] = 'Dokument aufgenommen', _de[MOVE_BACK] = 'Gehen Sie zurück und stellen Sie sicher, dass alle 4 Kanten des Blatts sichtbar sind.', _de[MOVE_CLOSER] = 'Kommen Sie näher und füllen Sie den Rahmen mit dem gesamten Blatt aus.', _de[EYES_CLOSED] = 'Augen offen halten...', _de[HAND_OVER_FACE] = 'Hand vom Gesicht nehmen...', _de),
|
|
7265
|
-
es: (_es = {}, _es[SELFIE_RECOVERY_HINT] = 'Tenemos dificultades para comprobar la iluminación. Mantenga el rostro centrado y no se mueva. Seguiremos comprobando su posición.', _es[CONTINUE_WITH_CURRENT_LIGHTING] = 'Continuar con la iluminación actual', _es[MANUAL_CAPTURE_HINT] = 'La captura automática tiene dificultades. Toque el botón para tomar la foto usted mismo.', _es[REVIEW_HEADING] = 'Documento capturado', _es[MOVE_BACK] = 'Aléjese y asegúrese de que los 4 bordes de la hoja sean visibles.', _es[MOVE_CLOSER] = 'Acérquese y llene el encuadre con la hoja completa.', _es[EYES_CLOSED] = 'Hay que mantener los ojos abiertos...', _es[HAND_OVER_FACE] = 'Hay que retirar la mano de la cara...', _es),
|
|
7266
|
-
fr: (_fr = {}, _fr[SELFIE_RECOVERY_HINT] = 'Nous avons du mal à vérifier l’éclairage. Gardez votre visage centré et restez immobile. Nous vérifierons toujours votre position.', _fr[CONTINUE_WITH_CURRENT_LIGHTING] = 'Continuer avec cet éclairage', _fr[MANUAL_CAPTURE_HINT] = 'La capture automatique rencontre des difficultés. Appuyez sur le bouton pour prendre la photo vous-même.', _fr[REVIEW_HEADING] = 'Document capturé', _fr[MOVE_BACK] = 'Reculez et assurez-vous que les 4 bords de la page sont visibles.', _fr[MOVE_CLOSER] = 'Rapprochez-vous et remplissez le cadre avec la page entière.', _fr[EYES_CLOSED] = 'Gardez les yeux ouverts...', _fr[HAND_OVER_FACE] = 'Retirez votre main de votre visage...', _fr),
|
|
7267
|
-
it: (_it = {}, _it[SELFIE_RECOVERY_HINT] = 'Abbiamo difficoltà a verificare l’illuminazione. Mantieni il viso centrato e resta fermo. Continueremo a verificare la tua posizione.', _it[CONTINUE_WITH_CURRENT_LIGHTING] = 'Continua con la luce attuale', _it[MANUAL_CAPTURE_HINT] = 'La cattura automatica sta avendo difficoltà. Tocca il pulsante per scattare la foto manualmente.', _it[REVIEW_HEADING] = 'Documento acquisito', _it[MOVE_BACK] = 'Allontanati e assicurati che tutti e 4 i bordi del foglio siano visibili.', _it[MOVE_CLOSER] = "Avvicinati e riempi l'inquadratura con l'intero foglio.", _it[EYES_CLOSED] = 'Tenere gli occhi aperti...', _it[HAND_OVER_FACE] = 'Togliere la mano dal viso...', _it),
|
|
7268
|
-
ja: (_ja = {}, _ja[SELFIE_RECOVERY_HINT] = '照明の確認がうまくできません。顔を中央に保ち、動かないでください。顔の位置は引き続き確認します。', _ja[CONTINUE_WITH_CURRENT_LIGHTING] = '現在の照明で続行', _ja[MANUAL_CAPTURE_HINT] = '自動撮影がうまくいきません。ボタンを押してご自身で撮影してください。', _ja[REVIEW_HEADING] = '書類を撮影しました', _ja[MOVE_BACK] = '離れて、書類の4つの端がすべて見えるようにしてください。', _ja[MOVE_CLOSER] = '近づいて、書類全体で画面いっぱいに表示してください。', _ja[EYES_CLOSED] = '目を開けたままにしてください…', _ja[HAND_OVER_FACE] = '顔から手を離してください…', _ja),
|
|
7269
|
-
pt: (_pt = {}, _pt[SELFIE_RECOVERY_HINT] = 'Estamos com dificuldade para verificar a iluminação. Mantenha o rosto centralizado e fique imóvel. Continuaremos verificando sua posição.', _pt[CONTINUE_WITH_CURRENT_LIGHTING] = 'Continuar com a iluminação atual', _pt[MANUAL_CAPTURE_HINT] = 'A captura automática está com dificuldades. Toque no botão para tirar a foto você mesmo.', _pt[REVIEW_HEADING] = 'Documento capturado', _pt[MOVE_BACK] = 'Afaste-se e certifique-se de que as 4 bordas da folha estejam visíveis.', _pt[MOVE_CLOSER] = 'Aproxime-se e preencha o quadro com a folha inteira.', _pt[EYES_CLOSED] = 'Mantenha os olhos abertos...', _pt[HAND_OVER_FACE] = 'Tire a mão do rosto...', _pt),
|
|
7270
|
-
ru: (_ru = {}, _ru[SELFIE_RECOVERY_HINT] = 'Нам не удаётся проверить освещение. Держите лицо по центру и не двигайтесь. Мы продолжим проверять положение лица.', _ru[CONTINUE_WITH_CURRENT_LIGHTING] = 'Продолжить с текущим освещением', _ru[MANUAL_CAPTURE_HINT] = 'Автоматическая съёмка не справляется. Нажмите кнопку, чтобы сделать снимок самостоятельно.', _ru[REVIEW_HEADING] = 'Документ снят', _ru[MOVE_BACK] = 'Отойдите назад и убедитесь, что видны все 4 края листа.', _ru[MOVE_CLOSER] = 'Подойдите ближе и заполните кадр всем листом.', _ru[EYES_CLOSED] = 'Не закрывайте глаза…', _ru[HAND_OVER_FACE] = 'Уберите руку от лица…', _ru),
|
|
7271
|
-
zh: (_zh = {}, _zh[SELFIE_RECOVERY_HINT] = '我們無法順利檢查光線。請將臉部保持在中央並保持不動。我們仍會檢查您的位置。', _zh[CONTINUE_WITH_CURRENT_LIGHTING] = '使用目前的光線繼續', _zh[MANUAL_CAPTURE_HINT] = '自動拍攝遇到困難。請點選按鈕自行拍攝。', _zh[REVIEW_HEADING] = '已拍攝文件', _zh[MOVE_BACK] = '後退一些,確保紙張的四個邊緣都清晰可見。', _zh[MOVE_CLOSER] = '靠近一些,讓整張紙填滿畫面。', _zh[EYES_CLOSED] = '請保持雙眼睜開...', _zh[HAND_OVER_FACE] = '請將手從臉上移開...', _zh)
|
|
7266
|
+
de: (_de = {}, _de[SELFIE_RECOVERY_HINT] = 'Wir haben Schwierigkeiten, die Beleuchtung zu prüfen. Halten Sie Ihr Gesicht mittig und bleiben Sie ruhig. Wir prüfen weiterhin Ihre Position.', _de[CONTINUE_WITH_CURRENT_LIGHTING] = 'Mit aktueller Beleuchtung fortfahren', _de[MANUAL_CAPTURE_HINT] = 'Die automatische Aufnahme hat Schwierigkeiten. Tippen Sie auf die Taste, um das Foto selbst aufzunehmen.', _de[REVIEW_HEADING] = 'Dokument aufgenommen', _de[MOVE_BACK] = 'Gehen Sie zurück und stellen Sie sicher, dass alle 4 Kanten des Blatts sichtbar sind.', _de[MOVE_CLOSER] = 'Kommen Sie näher und füllen Sie den Rahmen mit dem gesamten Blatt aus.', _de[EYES_CLOSED] = 'Augen offen halten...', _de[HAND_OVER_FACE] = 'Hand vom Gesicht nehmen...', _de[STARTING_CAMERA] = 'Kamera wird gestartet...', _de),
|
|
7267
|
+
es: (_es = {}, _es[SELFIE_RECOVERY_HINT] = 'Tenemos dificultades para comprobar la iluminación. Mantenga el rostro centrado y no se mueva. Seguiremos comprobando su posición.', _es[CONTINUE_WITH_CURRENT_LIGHTING] = 'Continuar con la iluminación actual', _es[MANUAL_CAPTURE_HINT] = 'La captura automática tiene dificultades. Toque el botón para tomar la foto usted mismo.', _es[REVIEW_HEADING] = 'Documento capturado', _es[MOVE_BACK] = 'Aléjese y asegúrese de que los 4 bordes de la hoja sean visibles.', _es[MOVE_CLOSER] = 'Acérquese y llene el encuadre con la hoja completa.', _es[EYES_CLOSED] = 'Hay que mantener los ojos abiertos...', _es[HAND_OVER_FACE] = 'Hay que retirar la mano de la cara...', _es[STARTING_CAMERA] = 'Iniciando la cámara...', _es),
|
|
7268
|
+
fr: (_fr = {}, _fr[SELFIE_RECOVERY_HINT] = 'Nous avons du mal à vérifier l’éclairage. Gardez votre visage centré et restez immobile. Nous vérifierons toujours votre position.', _fr[CONTINUE_WITH_CURRENT_LIGHTING] = 'Continuer avec cet éclairage', _fr[MANUAL_CAPTURE_HINT] = 'La capture automatique rencontre des difficultés. Appuyez sur le bouton pour prendre la photo vous-même.', _fr[REVIEW_HEADING] = 'Document capturé', _fr[MOVE_BACK] = 'Reculez et assurez-vous que les 4 bords de la page sont visibles.', _fr[MOVE_CLOSER] = 'Rapprochez-vous et remplissez le cadre avec la page entière.', _fr[EYES_CLOSED] = 'Gardez les yeux ouverts...', _fr[HAND_OVER_FACE] = 'Retirez votre main de votre visage...', _fr[STARTING_CAMERA] = 'Démarrage de la caméra...', _fr),
|
|
7269
|
+
it: (_it = {}, _it[SELFIE_RECOVERY_HINT] = 'Abbiamo difficoltà a verificare l’illuminazione. Mantieni il viso centrato e resta fermo. Continueremo a verificare la tua posizione.', _it[CONTINUE_WITH_CURRENT_LIGHTING] = 'Continua con la luce attuale', _it[MANUAL_CAPTURE_HINT] = 'La cattura automatica sta avendo difficoltà. Tocca il pulsante per scattare la foto manualmente.', _it[REVIEW_HEADING] = 'Documento acquisito', _it[MOVE_BACK] = 'Allontanati e assicurati che tutti e 4 i bordi del foglio siano visibili.', _it[MOVE_CLOSER] = "Avvicinati e riempi l'inquadratura con l'intero foglio.", _it[EYES_CLOSED] = 'Tenere gli occhi aperti...', _it[HAND_OVER_FACE] = 'Togliere la mano dal viso...', _it[STARTING_CAMERA] = 'Avvio della fotocamera...', _it),
|
|
7270
|
+
ja: (_ja = {}, _ja[SELFIE_RECOVERY_HINT] = '照明の確認がうまくできません。顔を中央に保ち、動かないでください。顔の位置は引き続き確認します。', _ja[CONTINUE_WITH_CURRENT_LIGHTING] = '現在の照明で続行', _ja[MANUAL_CAPTURE_HINT] = '自動撮影がうまくいきません。ボタンを押してご自身で撮影してください。', _ja[REVIEW_HEADING] = '書類を撮影しました', _ja[MOVE_BACK] = '離れて、書類の4つの端がすべて見えるようにしてください。', _ja[MOVE_CLOSER] = '近づいて、書類全体で画面いっぱいに表示してください。', _ja[EYES_CLOSED] = '目を開けたままにしてください…', _ja[HAND_OVER_FACE] = '顔から手を離してください…', _ja[STARTING_CAMERA] = 'カメラを起動しています…', _ja),
|
|
7271
|
+
pt: (_pt = {}, _pt[SELFIE_RECOVERY_HINT] = 'Estamos com dificuldade para verificar a iluminação. Mantenha o rosto centralizado e fique imóvel. Continuaremos verificando sua posição.', _pt[CONTINUE_WITH_CURRENT_LIGHTING] = 'Continuar com a iluminação atual', _pt[MANUAL_CAPTURE_HINT] = 'A captura automática está com dificuldades. Toque no botão para tirar a foto você mesmo.', _pt[REVIEW_HEADING] = 'Documento capturado', _pt[MOVE_BACK] = 'Afaste-se e certifique-se de que as 4 bordas da folha estejam visíveis.', _pt[MOVE_CLOSER] = 'Aproxime-se e preencha o quadro com a folha inteira.', _pt[EYES_CLOSED] = 'Mantenha os olhos abertos...', _pt[HAND_OVER_FACE] = 'Tire a mão do rosto...', _pt[STARTING_CAMERA] = 'Iniciando a câmera...', _pt),
|
|
7272
|
+
ru: (_ru = {}, _ru[SELFIE_RECOVERY_HINT] = 'Нам не удаётся проверить освещение. Держите лицо по центру и не двигайтесь. Мы продолжим проверять положение лица.', _ru[CONTINUE_WITH_CURRENT_LIGHTING] = 'Продолжить с текущим освещением', _ru[MANUAL_CAPTURE_HINT] = 'Автоматическая съёмка не справляется. Нажмите кнопку, чтобы сделать снимок самостоятельно.', _ru[REVIEW_HEADING] = 'Документ снят', _ru[MOVE_BACK] = 'Отойдите назад и убедитесь, что видны все 4 края листа.', _ru[MOVE_CLOSER] = 'Подойдите ближе и заполните кадр всем листом.', _ru[EYES_CLOSED] = 'Не закрывайте глаза…', _ru[HAND_OVER_FACE] = 'Уберите руку от лица…', _ru[STARTING_CAMERA] = 'Запуск камеры…', _ru),
|
|
7273
|
+
zh: (_zh = {}, _zh[SELFIE_RECOVERY_HINT] = '我們無法順利檢查光線。請將臉部保持在中央並保持不動。我們仍會檢查您的位置。', _zh[CONTINUE_WITH_CURRENT_LIGHTING] = '使用目前的光線繼續', _zh[MANUAL_CAPTURE_HINT] = '自動拍攝遇到困難。請點選按鈕自行拍攝。', _zh[REVIEW_HEADING] = '已拍攝文件', _zh[MOVE_BACK] = '後退一些,確保紙張的四個邊緣都清晰可見。', _zh[MOVE_CLOSER] = '靠近一些,讓整張紙填滿畫面。', _zh[EYES_CLOSED] = '請保持雙眼睜開...', _zh[HAND_OVER_FACE] = '請將手從臉上移開...', _zh[STARTING_CAMERA] = '正在啟動相機...', _zh)
|
|
7272
7274
|
};
|
|
7273
7275
|
/** Base entries win nothing — the supplement may only ADD. See `noShadowing`. */
|
|
7274
7276
|
function withThreeOhTranslations(lang, base) {
|
|
@@ -7622,7 +7624,7 @@ function useGuideOrientationContext() {
|
|
|
7622
7624
|
return ctx;
|
|
7623
7625
|
}
|
|
7624
7626
|
|
|
7625
|
-
var _templateObject
|
|
7627
|
+
var _templateObject$$, _templateObject2$R;
|
|
7626
7628
|
var _excluded$i = ["isRearFacing"];
|
|
7627
7629
|
var CameraVideoTag = /*#__PURE__*/forwardRef(function CameraVideoTag(_ref, ref) {
|
|
7628
7630
|
var isRearFacing = _ref.isRearFacing,
|
|
@@ -7635,10 +7637,10 @@ var CameraVideoTag = /*#__PURE__*/forwardRef(function CameraVideoTag(_ref, ref)
|
|
|
7635
7637
|
"$isRearFacing": isRearFacing
|
|
7636
7638
|
}, props));
|
|
7637
7639
|
});
|
|
7638
|
-
var FullscreenVideoTag = styled.video(_templateObject
|
|
7640
|
+
var FullscreenVideoTag = styled.video(_templateObject$$ || (_templateObject$$ = _taggedTemplateLiteralLoose(["\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) {
|
|
7639
7641
|
return props.$isRearFacing ? '' : 'scaleX(-1)';
|
|
7640
7642
|
});
|
|
7641
|
-
var CameraFeedWrapper = styled.div(_templateObject2$
|
|
7643
|
+
var CameraFeedWrapper = styled.div(_templateObject2$R || (_templateObject2$R = _taggedTemplateLiteralLoose(["\n /* Keep CameraVideoTag's legacy negative z-index above opaque flow shells. */\n isolation: isolate;\n\n ", "\n\n /* Last, so it wins over both branches' display. */\n ", "\n"])), function (props) {
|
|
7642
7644
|
return props.$mode === 'snapToGuides' ? "display: flex;\n position: absolute;\n z-index: -2;\n left: " + props.$x + "px;\n top: " + props.$y + "px;\n width: " + props.$w + "px;\n height: " + props.$h + "px;\n /* Match the mask's hole when the guide publishes a radius. The mask\n sits above this feed (-1 vs -2), so square corners here show through\n as dimmed wedges outside the rounded hole. Guides that publish no\n radius keep the previous unclipped behaviour. */\n " + (props.$radius ? "border-radius: " + props.$radius + "px; overflow: hidden;" : '') : "display: flex;\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;";
|
|
7643
7645
|
}, function (props) {
|
|
7644
7646
|
return props.$hidden ? 'display: none;' : '';
|
|
@@ -7693,7 +7695,7 @@ function ScalingCameraFeed(_ref2) {
|
|
|
7693
7695
|
});
|
|
7694
7696
|
}
|
|
7695
7697
|
|
|
7696
|
-
var _templateObject$
|
|
7698
|
+
var _templateObject$_, _templateObject2$Q, _templateObject3$D, _templateObject4$y, _templateObject5$t, _templateObject6$l;
|
|
7697
7699
|
function _createForOfIteratorHelperLoose$r(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray$r(r)) || e) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: true } : { done: false, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7698
7700
|
function _unsupportedIterableToArray$r(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$r(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$r(r, a) : void 0; } }
|
|
7699
7701
|
function _arrayLikeToArray$r(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
@@ -7715,8 +7717,8 @@ function DebugStatsPane(_ref2) {
|
|
|
7715
7717
|
if (!portalLocation) return element;
|
|
7716
7718
|
return /*#__PURE__*/createPortal(element, portalLocation);
|
|
7717
7719
|
}
|
|
7718
|
-
var DebugStatsPaneDiv = styled.span(_templateObject$
|
|
7719
|
-
var ObjectDetectionDebugOverlayDiv = styled.div(_templateObject2$
|
|
7720
|
+
var DebugStatsPaneDiv = styled.span(_templateObject$_ || (_templateObject$_ = _taggedTemplateLiteralLoose(["\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 pointer-events: none;\n"])));
|
|
7721
|
+
var ObjectDetectionDebugOverlayDiv = styled.div(_templateObject2$Q || (_templateObject2$Q = _taggedTemplateLiteralLoose(["\n position: absolute;\n z-index: 1001;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n pointer-events: none;\n ", "\n transform-style: preserve-3d;\n"])), function (_ref3) {
|
|
7720
7722
|
var $flipX = _ref3.$flipX;
|
|
7721
7723
|
return $flipX ? 'transform: scaleX(-1);' : '';
|
|
7722
7724
|
});
|
|
@@ -8028,7 +8030,7 @@ function SelfieCaptureFaceKeypoint(_ref16) {
|
|
|
8028
8030
|
});
|
|
8029
8031
|
}
|
|
8030
8032
|
|
|
8031
|
-
var _templateObject$
|
|
8033
|
+
var _templateObject$Z;
|
|
8032
8034
|
/**
|
|
8033
8035
|
* Over WebKit's 10px "thin border" cutoff (`LocalFrameView::fixedContainerEdges`).
|
|
8034
8036
|
* At or under it, Safari never reads the strip's `background-color`: it samples
|
|
@@ -8131,7 +8133,7 @@ function BrowserEdgeTint(_ref) {
|
|
|
8131
8133
|
}, "bottom:" + bottomColor)]
|
|
8132
8134
|
}), target);
|
|
8133
8135
|
}
|
|
8134
|
-
var EdgeStrip = styled.div(_templateObject$
|
|
8136
|
+
var EdgeStrip = styled.div(_templateObject$Z || (_templateObject$Z = _taggedTemplateLiteralLoose(["\n position: fixed;\n left: 0;\n right: 0;\n ", ": 0;\n height: ", "px;\n background: ", ";\n ", "\n pointer-events: none;\n"])), function (_ref2) {
|
|
8135
8137
|
var $edge = _ref2.$edge;
|
|
8136
8138
|
return $edge;
|
|
8137
8139
|
}, EDGE_STRIP_PX, function (_ref3) {
|
|
@@ -8142,8 +8144,13 @@ var EdgeStrip = styled.div(_templateObject$Y || (_templateObject$Y = _taggedTemp
|
|
|
8142
8144
|
return $hidden ? 'opacity: 0;' : '';
|
|
8143
8145
|
});
|
|
8144
8146
|
|
|
8145
|
-
var _templateObject$
|
|
8147
|
+
var _templateObject$Y, _templateObject2$P;
|
|
8146
8148
|
var _excluded$h = ["children", "className", "colors", "disabled", "finished", "variant"];
|
|
8149
|
+
/**
|
|
8150
|
+
* The SDK's action button. `ladda-button` / `ladda-label` are kept as class
|
|
8151
|
+
* hooks from when Ladda drew the loading state, since 2.x customer CSS may
|
|
8152
|
+
* target them.
|
|
8153
|
+
*/
|
|
8147
8154
|
var LoaderButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
8148
8155
|
var children = _ref.children,
|
|
8149
8156
|
className = _ref.className,
|
|
@@ -8154,49 +8161,14 @@ var LoaderButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
8154
8161
|
_ref$variant = _ref.variant,
|
|
8155
8162
|
variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
|
|
8156
8163
|
props = _objectWithoutPropertiesLoose(_ref, _excluded$h);
|
|
8157
|
-
var
|
|
8158
|
-
var
|
|
8159
|
-
var _useState = useState(false),
|
|
8160
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
8161
|
-
laddaLoaded = _useState2[0],
|
|
8162
|
-
setLaddaLoaded = _useState2[1];
|
|
8163
|
-
// Expose the button element to the parent via ref
|
|
8164
|
-
useImperativeHandle(ref, function () {
|
|
8165
|
-
return buttonRef.current;
|
|
8166
|
-
}, []);
|
|
8167
|
-
useEffect(function () {
|
|
8168
|
-
if (laddaLoaded || finished) return;
|
|
8169
|
-
var interval;
|
|
8170
|
-
var isMounted = true;
|
|
8171
|
-
import('ladda').then(function (Ladda) {
|
|
8172
|
-
if (!buttonRef.current || !isMounted) return;
|
|
8173
|
-
laddaRef.current = Ladda.create(buttonRef.current);
|
|
8174
|
-
laddaRef.current.start();
|
|
8175
|
-
setLaddaLoaded(true);
|
|
8176
|
-
var currentProgress = 0;
|
|
8177
|
-
interval = setInterval(function () {
|
|
8178
|
-
var _laddaRef$current;
|
|
8179
|
-
if (currentProgress < 0.9) currentProgress += 0.1;
|
|
8180
|
-
(_laddaRef$current = laddaRef.current) == null || _laddaRef$current.setProgress(currentProgress);
|
|
8181
|
-
}, 250);
|
|
8182
|
-
});
|
|
8183
|
-
return function () {
|
|
8184
|
-
var _laddaRef$current2;
|
|
8185
|
-
isMounted = false;
|
|
8186
|
-
(_laddaRef$current2 = laddaRef.current) == null || _laddaRef$current2.remove();
|
|
8187
|
-
clearInterval(interval);
|
|
8188
|
-
};
|
|
8189
|
-
}, [finished, laddaLoaded]);
|
|
8190
|
-
useEffect(function () {
|
|
8191
|
-
var _laddaRef$current3;
|
|
8192
|
-
if (laddaLoaded && finished) (_laddaRef$current3 = laddaRef.current) == null || _laddaRef$current3.stop();
|
|
8193
|
-
}, [finished, laddaLoaded]);
|
|
8164
|
+
var loading = finished === false;
|
|
8165
|
+
var inert = disabled || loading;
|
|
8194
8166
|
return jsx(StyledButton, _extends({
|
|
8195
|
-
className: "ladda-button " + className + " " + (
|
|
8196
|
-
"data-style": "expand-right",
|
|
8167
|
+
className: "ladda-button " + className + " " + (inert ? 'disabled' : ''),
|
|
8197
8168
|
type: "button",
|
|
8198
|
-
disabled:
|
|
8199
|
-
|
|
8169
|
+
disabled: inert,
|
|
8170
|
+
"aria-busy": loading,
|
|
8171
|
+
ref: ref,
|
|
8200
8172
|
"$backgroundColor": colors.backgroundColor,
|
|
8201
8173
|
"$textColor": colors.textColor,
|
|
8202
8174
|
"$disabledBackgroundColor": colors.loadingBackgroundColor,
|
|
@@ -8210,16 +8182,19 @@ var LoaderButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
8210
8182
|
}));
|
|
8211
8183
|
});
|
|
8212
8184
|
LoaderButton.displayName = 'LoaderButton';
|
|
8213
|
-
|
|
8214
|
-
|
|
8215
|
-
|
|
8216
|
-
})
|
|
8185
|
+
// From just off the left edge to just off the right: the bar is 38% wide, so
|
|
8186
|
+
// 265% of its own width carries it clear.
|
|
8187
|
+
var track = keyframes(_templateObject$Y || (_templateObject$Y = _taggedTemplateLiteralLoose(["\n from { transform: translateX(-100%); }\n to { transform: translateX(265%); }\n"])));
|
|
8188
|
+
var StyledButton = styled.button(_templateObject2$P || (_templateObject2$P = _taggedTemplateLiteralLoose(["\n ", "\n\n position: relative;\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n\n /* Keeps the label above the loading bar below. */\n .ladda-label {\n position: relative;\n z-index: 3;\n }\n\n /* The loading state: a short bar glides along the inside of the bottom\n edge, clipped to the button's shape, in the label's colour. The label\n stays put, so callers whose label carries progress keep it readable.\n Transform-only, so it composites without repainting. */\n &[aria-busy='true'] {\n overflow: hidden;\n\n &::after {\n content: '';\n position: absolute;\n left: 0;\n bottom: 0;\n width: 38%;\n height: 3px;\n border-radius: 3px;\n background: currentColor;\n animation: ", " 1.5s cubic-bezier(0.65, 0, 0.35, 1) infinite;\n }\n\n @media (prefers-reduced-motion: reduce) {\n &::after {\n animation: none;\n width: 100%;\n opacity: 0.4;\n }\n }\n }\n"])), function (props) {
|
|
8189
|
+
var _props$theme$buttons, _ref2, _props$$textColor, _props$theme$buttons2, _props$$variant, _ref3, _props$$backgroundCol, _props$theme$buttons3, _props$$variant2, _ref4, _props$$disabledTextC, _props$theme$buttons4, _ref5, _props$$disabledBackg, _props$theme$buttons5;
|
|
8190
|
+
return ((_props$theme$buttons = props.theme.buttons) == null ? void 0 : _props$theme$buttons.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-color);\n background-color: var(--bs-btn-bg);\n border-color: var(--bs-btn-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: " + ((_ref2 = (_props$$textColor = props.$textColor) != null ? _props$$textColor : (_props$theme$buttons2 = props.theme.buttons) == null || (_props$theme$buttons2 = _props$theme$buttons2[(_props$$variant = props.$variant) != null ? _props$$variant : 'primary']) == null ? void 0 : _props$theme$buttons2.textColor) != null ? _ref2 : '#fff') + ";\n --bs-btn-bg: " + ((_ref3 = (_props$$backgroundCol = props.$backgroundColor) != null ? _props$$backgroundCol : (_props$theme$buttons3 = props.theme.buttons) == null || (_props$theme$buttons3 = _props$theme$buttons3[(_props$$variant2 = props.$variant) != null ? _props$$variant2 : 'primary']) == null ? void 0 : _props$theme$buttons3.backgroundColor) != null ? _ref3 : '#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: " + ((_ref4 = (_props$$disabledTextC = props.$disabledTextColor) != null ? _props$$disabledTextC : (_props$theme$buttons4 = props.theme.buttons) == null || (_props$theme$buttons4 = _props$theme$buttons4.loading) == null ? void 0 : _props$theme$buttons4.textColor) != null ? _ref4 : '#fff') + ";\n --bs-btn-disabled-bg: " + ((_ref5 = (_props$$disabledBackg = props.$disabledBackgroundColor) != null ? _props$$disabledBackg : (_props$theme$buttons5 = props.theme.buttons) == null || (_props$theme$buttons5 = _props$theme$buttons5.loading) == null ? void 0 : _props$theme$buttons5.backgroundColor) != null ? _ref5 : 'gray') + ";\n --bs-btn-disabled-border-color: var(--bs-btn-disabled-bg);\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 ";
|
|
8191
|
+
}, track);
|
|
8217
8192
|
|
|
8218
|
-
var _templateObject$
|
|
8219
|
-
var ButtonsRow$2 = styled.div(_templateObject$
|
|
8193
|
+
var _templateObject$X;
|
|
8194
|
+
var ButtonsRow$2 = styled.div(_templateObject$X || (_templateObject$X = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 0 15px;\n justify-content: center;\n text-align: left;\n"])));
|
|
8220
8195
|
|
|
8221
|
-
var _templateObject$
|
|
8222
|
-
var GuidanceMessageContainerDiv = styled.div(_templateObject$
|
|
8196
|
+
var _templateObject$W, _templateObject2$O;
|
|
8197
|
+
var GuidanceMessageContainerDiv = styled.div(_templateObject$W || (_templateObject$W = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: calc(", ");\n ", "\n font-weight: bold;\n width: 100%;\n display: flex;\n padding: 0 10%;\n box-sizing: border-box;\n"])), function (_ref) {
|
|
8223
8198
|
var $top = _ref.$top;
|
|
8224
8199
|
return $top != null ? $top : '10%';
|
|
8225
8200
|
}, function (_ref2) {
|
|
@@ -8284,14 +8259,14 @@ var PlacedGuidanceMessageContainer = function PlacedGuidanceMessageContainer(_re
|
|
|
8284
8259
|
});
|
|
8285
8260
|
};
|
|
8286
8261
|
|
|
8287
|
-
var _templateObject$
|
|
8288
|
-
var wavesAnimation = keyframes(_templateObject$
|
|
8262
|
+
var _templateObject$V, _templateObject2$N, _templateObject3$C, _templateObject4$x;
|
|
8263
|
+
var wavesAnimation = keyframes(_templateObject$V || (_templateObject$V = _taggedTemplateLiteralLoose(["\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"])));
|
|
8289
8264
|
var progressBarAnimation = keyframes(_templateObject2$N || (_templateObject2$N = _taggedTemplateLiteralLoose(["\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n"])));
|
|
8290
8265
|
keyframes(_templateObject3$C || (_templateObject3$C = _taggedTemplateLiteralLoose(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"])));
|
|
8291
8266
|
keyframes(_templateObject4$x || (_templateObject4$x = _taggedTemplateLiteralLoose(["\n to {\n stroke-dashoffset: 0;\n }\n"])));
|
|
8292
8267
|
|
|
8293
|
-
var _templateObject$
|
|
8294
|
-
var OverlayContainer = styled.div(_templateObject$
|
|
8268
|
+
var _templateObject$U, _templateObject2$M, _templateObject3$B, _templateObject4$w, _templateObject5$s, _templateObject6$k, _templateObject7$h, _templateObject8$d, _templateObject9$d, _templateObject0$b, _templateObject1$a, _templateObject10$9, _templateObject11$7, _templateObject12$6, _templateObject13$6, _templateObject14$6, _templateObject15$5, _templateObject16$4, _templateObject17$3, _templateObject18$3, _templateObject19$3, _templateObject20$3;
|
|
8269
|
+
var OverlayContainer = styled.div(_templateObject$U || (_templateObject$U = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n flex-direction: column;\n\n overflow-x: hidden;\n overflow-y: auto;\n\n background: ", ";\n ", "\n\n z-index: 10000;\n"])), function (props) {
|
|
8295
8270
|
return props.theme.background ? "" + props.theme.background : "white";
|
|
8296
8271
|
}, function (props) {
|
|
8297
8272
|
return props.theme.textColor ? "color: " + props.theme.textColor + ";" : "";
|
|
@@ -8331,7 +8306,7 @@ var LoadingOverlayHeader = styled.div(_templateObject0$b || (_templateObject0$b
|
|
|
8331
8306
|
return props.theme.padding ? "box-sizing: border-box; padding: " + props.theme.padding + ";" : "";
|
|
8332
8307
|
});
|
|
8333
8308
|
var LoadingOverlayGuidanceMessage = styled(GuidanceMessage)(_templateObject1$a || (_templateObject1$a = _taggedTemplateLiteralLoose(["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n"])));
|
|
8334
|
-
var LoadingOverlayImageContainer = styled(OverlayImageContainer)(_templateObject10$
|
|
8309
|
+
var LoadingOverlayImageContainer = styled(OverlayImageContainer)(_templateObject10$9 || (_templateObject10$9 = _taggedTemplateLiteralLoose(["\n padding: 0;\n max-height: 100%;\n pointer-events: none;\n"])));
|
|
8335
8310
|
var LoadingOverlayProgressBarBackground = styled.div.attrs({
|
|
8336
8311
|
className: 'loading-overlay-progress-bar-background'
|
|
8337
8312
|
})(_templateObject11$7 || (_templateObject11$7 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"])));
|
|
@@ -8466,8 +8441,8 @@ var error = function error() {
|
|
|
8466
8441
|
|
|
8467
8442
|
var _excluded$g = ["children", "status", "borderWidth", "borderRadius", "borderColor", "aspectRatio", "progress", "guideBoxDisabled"],
|
|
8468
8443
|
_excluded2$5 = ["borderRadius", "borderColor", "borderWidth", "borderOpacity", "progress", "isProgressBar", "scaleBorderRadius"];
|
|
8469
|
-
var _templateObject$
|
|
8470
|
-
var IdCardGuideImageContainer = styled(IdCardBorder)(_templateObject$
|
|
8444
|
+
var _templateObject$T, _templateObject2$L, _templateObject3$A, _templateObject4$v, _templateObject5$r, _templateObject6$j, _templateObject7$g;
|
|
8445
|
+
var IdCardGuideImageContainer = styled(IdCardBorder)(_templateObject$T || (_templateObject$T = _taggedTemplateLiteralLoose(["\n position: relative;\n ", "\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n ", ";\n"])), function (props) {
|
|
8471
8446
|
return props.$isVisible ? '' : 'opacity: 0;';
|
|
8472
8447
|
}, function (props) {
|
|
8473
8448
|
return props.$isMobile ? props.$isLandscape ? 'height: 100%;' : 'width: 80%;' : props.$isLandscape ? 'height: 70%;' : 'width: 82%;';
|
|
@@ -8763,7 +8738,7 @@ function useGuideImagesByUrl(images) {
|
|
|
8763
8738
|
}, [images]);
|
|
8764
8739
|
}
|
|
8765
8740
|
|
|
8766
|
-
var _templateObject$
|
|
8741
|
+
var _templateObject$S;
|
|
8767
8742
|
var FlipIdPrompt = function FlipIdPrompt(_ref) {
|
|
8768
8743
|
var _ref$images = _ref.images,
|
|
8769
8744
|
images = _ref$images === void 0 ? defaultIdCaptureGuideImages : _ref$images,
|
|
@@ -8860,11 +8835,11 @@ var FlipIdPrompt = function FlipIdPrompt(_ref) {
|
|
|
8860
8835
|
})]
|
|
8861
8836
|
});
|
|
8862
8837
|
};
|
|
8863
|
-
var Wrapper$1 = styled.div(_templateObject$
|
|
8838
|
+
var Wrapper$1 = styled.div(_templateObject$S || (_templateObject$S = _taggedTemplateLiteralLoose(["\n align-items: center;\n justify-content: center;\n display: flex;\n position: absolute;\n margin: auto;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n ", ";\n"])), function (props) {
|
|
8864
8839
|
return props.$isMobile ? props.$isLandscape ? 'height: 100%;' : 'width: 80%;' : props.$isLandscape ? 'height: 70%;' : 'width: 82%;';
|
|
8865
8840
|
});
|
|
8866
8841
|
|
|
8867
|
-
var _templateObject$
|
|
8842
|
+
var _templateObject$R, _templateObject2$K, _templateObject3$z, _templateObject4$u, _templateObject5$q, _templateObject6$i, _templateObject7$f, _templateObject8$c, _templateObject9$c;
|
|
8868
8843
|
var IdCaptureGuideOverlay = function IdCaptureGuideOverlay(_ref) {
|
|
8869
8844
|
var _theme$idCapture$guid, _theme$idCapture, _theme$idCapture$guid2, _theme$idCapture2, _theme$idCapture$guid3, _theme$idCapture3, _theme$idCapture$guid4, _theme$idCapture4, _theme$idCapture$guid5, _theme$idCapture5;
|
|
8870
8845
|
var _ref$classNames = _ref.classNames,
|
|
@@ -9020,7 +8995,7 @@ var regionClsx = function regionClsx(classNames, which) {
|
|
|
9020
8995
|
return v;
|
|
9021
8996
|
}).join(' ');
|
|
9022
8997
|
};
|
|
9023
|
-
var StyledPageContainer = styled.div(_templateObject$
|
|
8998
|
+
var StyledPageContainer = styled.div(_templateObject$R || (_templateObject$R = _taggedTemplateLiteralLoose(["\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1000;\n overflow: hidden;\n"])));
|
|
9024
8999
|
var GuidesContainer = styled.div(_templateObject2$K || (_templateObject2$K = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"])));
|
|
9025
9000
|
var GuideCenterRow = styled.div(_templateObject3$z || (_templateObject3$z = _taggedTemplateLiteralLoose(["\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"])));
|
|
9026
9001
|
var GuideRegion = styled.div(_templateObject4$u || (_templateObject4$u = _taggedTemplateLiteralLoose(["\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) {
|
|
@@ -9053,7 +9028,7 @@ var GuideCenterInner = styled.div(_templateObject9$c || (_templateObject9$c = _t
|
|
|
9053
9028
|
/** The mask colour when neither the prop nor the theme sets one. */
|
|
9054
9029
|
var OVERLAY_GUIDE_MASK_DEFAULT = 'rgba(0, 0, 0, 0.5)';
|
|
9055
9030
|
|
|
9056
|
-
var _templateObject$
|
|
9031
|
+
var _templateObject$Q, _templateObject2$J, _templateObject3$y, _templateObject4$t;
|
|
9057
9032
|
var IdCaptureFitGuide = function IdCaptureFitGuide(_ref) {
|
|
9058
9033
|
var _theme$idCapture$guid, _theme$idCapture, _theme$idCapture$guid5, _theme$idCapture5, _theme$idCapture$guid6, _theme$idCapture6, _theme$idCapture$guid7, _theme$idCapture7;
|
|
9059
9034
|
var aspectRatio = _ref.aspectRatio,
|
|
@@ -9290,7 +9265,7 @@ var IdCaptureFitGuide = function IdCaptureFitGuide(_ref) {
|
|
|
9290
9265
|
})]
|
|
9291
9266
|
});
|
|
9292
9267
|
};
|
|
9293
|
-
var CanvasWrapper$1 = styled.div(_templateObject$
|
|
9268
|
+
var CanvasWrapper$1 = styled.div(_templateObject$Q || (_templateObject$Q = _taggedTemplateLiteralLoose(["\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 /* The default -1 puts the mask behind a 'fullscreen' camera feed, which hides\n the dimming entirely; it only works because 'snapToGuides' clips the feed to\n the guide rect. Lifting it is opt-in so existing integrations are untouched. */\n ", "\n"])), function (props) {
|
|
9294
9269
|
return props.$aboveCameraFeed ? "z-index: 1;" : "box-shadow: inset 0 0 0 2px " + props.$maskColor + ";\n z-index: -1;";
|
|
9295
9270
|
});
|
|
9296
9271
|
var Canvas$2 = styled.canvas(_templateObject2$J || (_templateObject2$J = _taggedTemplateLiteralLoose(["\n display: block;\n"])));
|
|
@@ -9322,8 +9297,8 @@ function downloadingLabel(downloadingText, downloadProgress) {
|
|
|
9322
9297
|
});
|
|
9323
9298
|
}
|
|
9324
9299
|
|
|
9325
|
-
var _templateObject$
|
|
9326
|
-
var ExitCaptureStyledButton = styled.button(_templateObject$
|
|
9300
|
+
var _templateObject$P;
|
|
9301
|
+
var ExitCaptureStyledButton = styled.button(_templateObject$P || (_templateObject$P = _taggedTemplateLiteralLoose(["\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: 10002;\n border: none;\n border-radius: 4px;\n background: var(--idm-color-secondary-200);\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"])));
|
|
9327
9302
|
var ExitCaptureButton = function ExitCaptureButton(_ref) {
|
|
9328
9303
|
var onClick = _ref.onClick,
|
|
9329
9304
|
className = _ref.className;
|
|
@@ -9372,7 +9347,7 @@ var ExitCaptureButton = function ExitCaptureButton(_ref) {
|
|
|
9372
9347
|
});
|
|
9373
9348
|
};
|
|
9374
9349
|
|
|
9375
|
-
var _templateObject$
|
|
9350
|
+
var _templateObject$O, _templateObject2$I, _templateObject3$x, _templateObject4$s;
|
|
9376
9351
|
function IdCaptureLoadingGraphic(props) {
|
|
9377
9352
|
var isMobile = window.innerHeight > window.innerWidth;
|
|
9378
9353
|
return isMobile ? jsx(IdCaptureLoadingGraphicMobile, _extends({}, props)) : jsx(IdCaptureLoadingGraphicDesktop, _extends({}, props));
|
|
@@ -9869,7 +9844,7 @@ function IdCaptureLoadingGraphicMobile(_ref2) {
|
|
|
9869
9844
|
})]
|
|
9870
9845
|
});
|
|
9871
9846
|
}
|
|
9872
|
-
var LoadingGraphicWrapper = styled.div(_templateObject$
|
|
9847
|
+
var LoadingGraphicWrapper = styled.div(_templateObject$O || (_templateObject$O = _taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n height: 100%;\n"])));
|
|
9873
9848
|
var LoadingGraphicSvg = styled.svg(_templateObject2$I || (_templateObject2$I = _taggedTemplateLiteralLoose(["\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 max-height: 80%;\n max-width: 80%;\n"])), function (props) {
|
|
9874
9849
|
return props.$frame > 1 ? 1 : props.$frame === 1 ? 1.25 : 0.75;
|
|
9875
9850
|
}, function (props) {
|
|
@@ -10068,7 +10043,7 @@ var useAutoContinueWhenReady = function useAutoContinueWhenReady(_ref) {
|
|
|
10068
10043
|
}, [enabled, ready]);
|
|
10069
10044
|
};
|
|
10070
10045
|
|
|
10071
|
-
var _templateObject$
|
|
10046
|
+
var _templateObject$N;
|
|
10072
10047
|
var LoadingSpinnerContext = /*#__PURE__*/createContext(undefined);
|
|
10073
10048
|
function LoadingSpinnerProvider(_ref) {
|
|
10074
10049
|
var spinner = _ref.spinner,
|
|
@@ -10136,9 +10111,9 @@ function CustomerLoadingSpinner(_ref2) {
|
|
|
10136
10111
|
}
|
|
10137
10112
|
// `display: contents` while empty: an empty flex box still occupies its
|
|
10138
10113
|
// parent's gap/padding, which would offset the fallback it sits next to.
|
|
10139
|
-
var SpinnerSlot = styled.div(_templateObject$
|
|
10114
|
+
var SpinnerSlot = styled.div(_templateObject$N || (_templateObject$N = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:empty {\n display: contents;\n }\n"])));
|
|
10140
10115
|
|
|
10141
|
-
var _templateObject$
|
|
10116
|
+
var _templateObject$M, _templateObject2$H, _templateObject3$w, _templateObject4$r, _templateObject5$p;
|
|
10142
10117
|
var legacyInstructionImageUrl$1 = DEFAULT_CDN_URL$1 + "/WebSDK-Instruction-DL-Capture-3-Portrait.png";
|
|
10143
10118
|
// Module-level so the default `now` prop has a stable identity across
|
|
10144
10119
|
// renders (it sits in useModelWarmingElapsedMs's effect dependency array).
|
|
@@ -10327,7 +10302,7 @@ var IdCaptureLoadingOverlayDefault = function IdCaptureLoadingOverlayDefault(_re
|
|
|
10327
10302
|
})
|
|
10328
10303
|
});
|
|
10329
10304
|
};
|
|
10330
|
-
var OverlayInner$1 = styled(LoadingOverlayInner)(_templateObject$
|
|
10305
|
+
var OverlayInner$1 = styled(LoadingOverlayInner)(_templateObject$M || (_templateObject$M = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n"])), function (props) {
|
|
10331
10306
|
var _props$theme$idCaptur, _props$theme;
|
|
10332
10307
|
return (_props$theme$idCaptur = (_props$theme = props.theme) == null || (_props$theme = _props$theme.idCapture) == null || (_props$theme = _props$theme.loadingOverlay) == null ? void 0 : _props$theme.backgroundColor) != null ? _props$theme$idCaptur : LOADING_OVERLAY_BACKGROUND_DEFAULT;
|
|
10333
10308
|
}, function (props) {
|
|
@@ -18988,7 +18963,7 @@ function instructionVerbiage(bag, code) {
|
|
|
18988
18963
|
return bag == null ? void 0 : bag[instructionVerbiageKeys[code]];
|
|
18989
18964
|
}
|
|
18990
18965
|
|
|
18991
|
-
var _templateObject$
|
|
18966
|
+
var _templateObject$L, _templateObject2$G, _templateObject3$v, _templateObject4$q, _templateObject5$o;
|
|
18992
18967
|
var PDF417_ASPECT_RATIO = 3 / 1;
|
|
18993
18968
|
function BarcodeGuideOverlay(_ref) {
|
|
18994
18969
|
var _ref$aspectRatio = _ref.aspectRatio,
|
|
@@ -19118,14 +19093,14 @@ function BarcodeGuideOverlay(_ref) {
|
|
|
19118
19093
|
})]
|
|
19119
19094
|
});
|
|
19120
19095
|
}
|
|
19121
|
-
var Wrapper = styled.div(_templateObject$
|
|
19096
|
+
var Wrapper = styled.div(_templateObject$L || (_templateObject$L = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n z-index: 1;\n"])));
|
|
19122
19097
|
var Canvas$1 = styled.canvas(_templateObject2$G || (_templateObject2$G = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"])));
|
|
19123
19098
|
var TextOverlay = styled.div(_templateObject3$v || (_templateObject3$v = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n padding-top: 48px;\n pointer-events: none;\n z-index: 2;\n"])));
|
|
19124
19099
|
var HeaderText = styled.div(_templateObject4$q || (_templateObject4$q = _taggedTemplateLiteralLoose(["\n color: white;\n font-size: 24px;\n font-weight: 700;\n text-align: center;\n text-transform: uppercase;\n letter-spacing: 2px;\n margin-bottom: 16px;\n"])));
|
|
19125
19100
|
var InstructionText = styled.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n color: white;\n font-size: 16px;\n font-weight: 400;\n text-align: center;\n max-width: 300px;\n line-height: 1.4;\n opacity: 0.9;\n"])));
|
|
19126
19101
|
|
|
19127
|
-
var _templateObject$
|
|
19128
|
-
var scaleIn = keyframes(_templateObject$
|
|
19102
|
+
var _templateObject$K, _templateObject2$F, _templateObject3$u, _templateObject4$p, _templateObject5$n, _templateObject6$h;
|
|
19103
|
+
var scaleIn = keyframes(_templateObject$K || (_templateObject$K = _taggedTemplateLiteralLoose(["\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 50% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n"])));
|
|
19129
19104
|
var drawCheck = keyframes(_templateObject2$F || (_templateObject2$F = _taggedTemplateLiteralLoose(["\n 0% {\n stroke-dashoffset: 24;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n"])));
|
|
19130
19105
|
styled.div(_templateObject3$u || (_templateObject3$u = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n z-index: 3;\n"])));
|
|
19131
19106
|
styled.div(_templateObject4$p || (_templateObject4$p = _taggedTemplateLiteralLoose(["\n width: 80px;\n height: 80px;\n border-radius: 50%;\n background-color: ", ";\n display: flex;\n align-items: center;\n justify-content: center;\n animation: ", " 0.4s ease-out forwards;\n"])), function (props) {
|
|
@@ -19226,7 +19201,7 @@ function IdCaptureGuides(_ref) {
|
|
|
19226
19201
|
});
|
|
19227
19202
|
}
|
|
19228
19203
|
|
|
19229
|
-
var _templateObject$
|
|
19204
|
+
var _templateObject$J, _templateObject2$E, _templateObject3$t, _templateObject4$o, _templateObject5$m;
|
|
19230
19205
|
function OverrideWrongDocumentTypeDialog(_ref) {
|
|
19231
19206
|
var visible = _ref.visible,
|
|
19232
19207
|
onOverride = _ref.onOverride,
|
|
@@ -19258,7 +19233,7 @@ function OverrideWrongDocumentTypeDialog(_ref) {
|
|
|
19258
19233
|
})
|
|
19259
19234
|
});
|
|
19260
19235
|
}
|
|
19261
|
-
var Container$3 = styled.div(_templateObject$
|
|
19236
|
+
var Container$3 = styled.div(_templateObject$J || (_templateObject$J = _taggedTemplateLiteralLoose(["\n position: fixed;\n left: 0;\n bottom: 0;\n width: 100%;\n background: ", ";\n color: ", ";\n display: flex;\n z-index: 100001;\n"])), function (props) {
|
|
19262
19237
|
var _props$theme$idCaptur, _props$theme$idCaptur2;
|
|
19263
19238
|
return (_props$theme$idCaptur = (_props$theme$idCaptur2 = props.theme.idCapture) == null || (_props$theme$idCaptur2 = _props$theme$idCaptur2.overrideWrongDocumentTypeGuidance) == null ? void 0 : _props$theme$idCaptur2.backgroundColor) != null ? _props$theme$idCaptur : '#eed202';
|
|
19264
19239
|
}, function (props) {
|
|
@@ -19375,7 +19350,7 @@ var IdCaptureLoadingOverlayLegacy = function IdCaptureLoadingOverlayLegacy(_ref)
|
|
|
19375
19350
|
});
|
|
19376
19351
|
};
|
|
19377
19352
|
|
|
19378
|
-
var _templateObject$
|
|
19353
|
+
var _templateObject$I, _templateObject2$D;
|
|
19379
19354
|
var RING_SIZE = 74;
|
|
19380
19355
|
var RADIUS = 32;
|
|
19381
19356
|
var CIRCUMFERENCE = 2 * Math.PI * RADIUS;
|
|
@@ -19420,7 +19395,7 @@ var RingProgress = function RingProgress(_ref) {
|
|
|
19420
19395
|
})]
|
|
19421
19396
|
});
|
|
19422
19397
|
};
|
|
19423
|
-
var RingSvg = styled.svg(_templateObject$
|
|
19398
|
+
var RingSvg = styled.svg(_templateObject$I || (_templateObject$I = _taggedTemplateLiteralLoose(["\n width: ", "px;\n height: ", "px;\n transform: rotate(-90deg);\n"])), RING_SIZE, RING_SIZE);
|
|
19424
19399
|
var FillCircle = styled.circle(_templateObject2$D || (_templateObject2$D = _taggedTemplateLiteralLoose(["\n transition: stroke-dashoffset 0.3s linear;\n"])));
|
|
19425
19400
|
|
|
19426
19401
|
var selectRingStatusKey = function selectRingStatusKey(_ref) {
|
|
@@ -19436,7 +19411,7 @@ var selectRingStatusKey = function selectRingStatusKey(_ref) {
|
|
|
19436
19411
|
return 'warming';
|
|
19437
19412
|
};
|
|
19438
19413
|
|
|
19439
|
-
var _templateObject$
|
|
19414
|
+
var _templateObject$H, _templateObject2$C, _templateObject3$s, _templateObject4$n, _templateObject5$l, _templateObject6$g, _templateObject7$e, _templateObject8$b, _templateObject9$b, _templateObject0$a, _templateObject1$9;
|
|
19440
19415
|
/**
|
|
19441
19416
|
* The ring overlay's priming cover page (CEO prototype `#v-prime`): camera
|
|
19442
19417
|
* badge, title/subtitle, step chips, reassurance chip, "Enable camera &
|
|
@@ -19507,7 +19482,6 @@ var RingIntroScreen = function RingIntroScreen(_ref) {
|
|
|
19507
19482
|
finished: !requesting,
|
|
19508
19483
|
disabled: requesting,
|
|
19509
19484
|
onClick: onStart,
|
|
19510
|
-
"data-spinner-color": badgeColor,
|
|
19511
19485
|
children: requesting ? requestingButtonText : startButtonText
|
|
19512
19486
|
}), jsx(Privacy, {
|
|
19513
19487
|
className: classNames.introPrivacy,
|
|
@@ -19515,20 +19489,19 @@ var RingIntroScreen = function RingIntroScreen(_ref) {
|
|
|
19515
19489
|
})]
|
|
19516
19490
|
});
|
|
19517
19491
|
};
|
|
19518
|
-
var _float = keyframes(_templateObject$
|
|
19519
|
-
var
|
|
19520
|
-
var
|
|
19521
|
-
var Badge = styled.div(_templateObject4$n || (_templateObject4$n = _taggedTemplateLiteralLoose(["\n width: 84px;\n height: 84px;\n border-radius: 28px;\n background: ", ";\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 12px 28px\n color-mix(in srgb, ", " 35%, transparent);\n margin-bottom: 8px;\n animation: ", " 3s ease-in-out infinite;\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n\n svg {\n width: 40px;\n height: 40px;\n fill: #ffffff;\n }\n"])), function (props) {
|
|
19492
|
+
var _float = keyframes(_templateObject$H || (_templateObject$H = _taggedTemplateLiteralLoose(["\n 0%, 100% { transform: translateY(0); }\n 50% { transform: translateY(-7px); }\n"])));
|
|
19493
|
+
var IntroLayout = styled.div(_templateObject2$C || (_templateObject2$C = _taggedTemplateLiteralLoose(["\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 14px;\n padding: 34px;\n text-align: center;\n"])));
|
|
19494
|
+
var Badge = styled.div(_templateObject3$s || (_templateObject3$s = _taggedTemplateLiteralLoose(["\n width: 84px;\n height: 84px;\n border-radius: 28px;\n background: ", ";\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 12px 28px\n color-mix(in srgb, ", " 35%, transparent);\n margin-bottom: 8px;\n animation: ", " 3s ease-in-out infinite;\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n\n svg {\n width: 40px;\n height: 40px;\n fill: #ffffff;\n }\n"])), function (props) {
|
|
19522
19495
|
return props.$color;
|
|
19523
19496
|
}, function (props) {
|
|
19524
19497
|
return props.$color;
|
|
19525
19498
|
}, _float);
|
|
19526
|
-
var Title$4 = styled.div(
|
|
19527
|
-
var Subtitle$3 = styled.div(
|
|
19528
|
-
var Steps = styled.div(
|
|
19529
|
-
var Step = styled.div(
|
|
19530
|
-
var StepDot = styled.div(
|
|
19531
|
-
var ReassuranceChip = styled.div(
|
|
19499
|
+
var Title$4 = styled.div(_templateObject4$n || (_templateObject4$n = _taggedTemplateLiteralLoose(["\n font-size: 22px;\n font-weight: 700;\n"])));
|
|
19500
|
+
var Subtitle$3 = styled.div(_templateObject5$l || (_templateObject5$l = _taggedTemplateLiteralLoose(["\n font-size: 14px;\n opacity: 0.65;\n line-height: 1.5;\n"])));
|
|
19501
|
+
var Steps = styled.div(_templateObject6$g || (_templateObject6$g = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 26px;\n margin: 16px 0 6px;\n"])));
|
|
19502
|
+
var Step = styled.div(_templateObject7$e || (_templateObject7$e = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n opacity: 0.75;\n width: 90px;\n"])));
|
|
19503
|
+
var StepDot = styled.div(_templateObject8$b || (_templateObject8$b = _taggedTemplateLiteralLoose(["\n width: 44px;\n height: 44px;\n border-radius: 50%;\n background: #ffffff;\n border: 1.5px solid rgba(0, 0, 0, 0.08);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n"])));
|
|
19504
|
+
var ReassuranceChip = styled.div(_templateObject9$b || (_templateObject9$b = _taggedTemplateLiteralLoose(["\n font-size: 11px;\n background: ", ";\n border-radius: 10px;\n padding: 6px 12px;\n max-width: 250px;\n line-height: 1.4;\n"])), function (props) {
|
|
19532
19505
|
return props.$tint;
|
|
19533
19506
|
});
|
|
19534
19507
|
/* Pill treatment from the CEO prototype (.btn.primary: radius 26, teal glow,
|
|
@@ -19536,10 +19509,8 @@ var ReassuranceChip = styled.div(_templateObject0$a || (_templateObject0$a = _ta
|
|
|
19536
19509
|
* theme styling. The glow and the deliberately quiet focus ring derive from
|
|
19537
19510
|
* the button's own background (--bs-btn-bg, set by the theme's bootstrap
|
|
19538
19511
|
* block) with the intro accent as fallback for un-themed buttons. Double
|
|
19539
|
-
* ampersand outranks the base LoaderButton rules
|
|
19540
|
-
|
|
19541
|
-
* keeps its room. */
|
|
19542
|
-
var StartButton = styled(LoaderButton)(_templateObject1$9 || (_templateObject1$9 = _taggedTemplateLiteralLoose(["\n && {\n margin-top: 10px;\n white-space: nowrap;\n min-width: 240px;\n border: none;\n border-radius: 26px;\n padding: 15px 28px;\n font-size: 16px;\n font-weight: 600;\n box-shadow: 0 6px 18px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 35%,\n transparent\n );\n\n &:hover:not(.disabled) {\n transform: translateY(-1px);\n box-shadow: 0 9px 24px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 42%,\n transparent\n );\n }\n\n &:active:not(.disabled) {\n transform: translateY(0) scale(0.97);\n box-shadow: 0 4px 12px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 30%,\n transparent\n );\n }\n\n &:focus-visible {\n outline: none;\n box-shadow:\n 0 6px 18px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 35%,\n transparent\n ),\n 0 0 0 3px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 25%,\n #ffffff\n );\n }\n\n /* Requesting-camera state: a pale accent tint (visibly \"waiting\", not\n * the solid \"go\" green), deep-accent label, and an indeterminate gloss\n * sweep. LoaderButton's simulated 0\u219290% progress fill is hidden \u2014 a\n * permission prompt has no knowable progress. */\n &.disabled {\n opacity: 1;\n overflow: hidden;\n background: color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 12%,\n #ffffff\n );\n color: color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 85%,\n #000000\n );\n box-shadow: 0 4px 14px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 18%,\n transparent\n );\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 1;\n background: linear-gradient(\n 100deg,\n transparent 30%,\n rgb(255 255 255 / 0.65) 50%,\n transparent 70%\n );\n animation: ", " 1.4s ease-in-out infinite;\n }\n\n .ladda-progress {\n display: none;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n &:hover:not(.disabled),\n &:active:not(.disabled) {\n transform: none;\n }\n\n &.disabled::after {\n display: none;\n }\n }\n }\n"])), function (props) {
|
|
19512
|
+
* ampersand outranks the base LoaderButton rules. */
|
|
19513
|
+
var StartButton = styled(LoaderButton)(_templateObject0$a || (_templateObject0$a = _taggedTemplateLiteralLoose(["\n && {\n margin-top: 10px;\n white-space: nowrap;\n min-width: 240px;\n border: none;\n border-radius: 26px;\n padding: 15px 28px;\n font-size: 16px;\n font-weight: 600;\n box-shadow: 0 6px 18px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 35%,\n transparent\n );\n\n &:hover:not(.disabled) {\n transform: translateY(-1px);\n box-shadow: 0 9px 24px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 42%,\n transparent\n );\n }\n\n &:active:not(.disabled) {\n transform: translateY(0) scale(0.97);\n box-shadow: 0 4px 12px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 30%,\n transparent\n );\n }\n\n &:focus-visible {\n outline: none;\n box-shadow:\n 0 6px 18px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 35%,\n transparent\n ),\n 0 0 0 3px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 25%,\n #ffffff\n );\n }\n\n /* Requesting-camera state: a pale accent tint (visibly \"waiting\", not\n * the solid \"go\" green) and a deep-accent label. LoaderButton's loading\n * bar takes the label colour. */\n &.disabled {\n opacity: 1;\n background: color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 12%,\n #ffffff\n );\n color: color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 85%,\n #000000\n );\n box-shadow: 0 4px 14px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 18%,\n transparent\n );\n }\n\n @media (prefers-reduced-motion: reduce) {\n &:hover:not(.disabled),\n &:active:not(.disabled) {\n transform: none;\n }\n }\n }\n"])), function (props) {
|
|
19543
19514
|
return props.$accent;
|
|
19544
19515
|
}, function (props) {
|
|
19545
19516
|
return props.$accent;
|
|
@@ -19555,8 +19526,8 @@ var StartButton = styled(LoaderButton)(_templateObject1$9 || (_templateObject1$9
|
|
|
19555
19526
|
return props.$accent;
|
|
19556
19527
|
}, function (props) {
|
|
19557
19528
|
return props.$accent;
|
|
19558
|
-
}
|
|
19559
|
-
var Privacy = styled.div(
|
|
19529
|
+
});
|
|
19530
|
+
var Privacy = styled.div(_templateObject1$9 || (_templateObject1$9 = _taggedTemplateLiteralLoose(["\n font-size: 11px;\n opacity: 0.55;\n margin-top: 6px;\n"])));
|
|
19560
19531
|
|
|
19561
19532
|
var selectRingOverlayStage = function selectRingOverlayStage(_ref) {
|
|
19562
19533
|
var showIntroScreen = _ref.showIntroScreen,
|
|
@@ -19566,7 +19537,7 @@ var selectRingOverlayStage = function selectRingOverlayStage(_ref) {
|
|
|
19566
19537
|
return requesting ? 'requesting' : 'intro';
|
|
19567
19538
|
};
|
|
19568
19539
|
|
|
19569
|
-
var _templateObject$
|
|
19540
|
+
var _templateObject$G, _templateObject2$B, _templateObject3$r, _templateObject4$m, _templateObject5$k, _templateObject6$f, _templateObject7$d, _templateObject8$a, _templateObject9$a, _templateObject0$9, _templateObject1$8, _templateObject10$8, _templateObject11$6, _templateObject12$5, _templateObject13$5, _templateObject14$5, _templateObject15$4;
|
|
19570
19541
|
/** Minimum time a stage handoff stays on screen so its message is
|
|
19571
19542
|
* legible even when everything preloaded and readiness is instant. */
|
|
19572
19543
|
var STAGE_TRANSITION_HOLD_MS = 1600;
|
|
@@ -19625,7 +19596,7 @@ var RingStageTransition = function RingStageTransition(_ref) {
|
|
|
19625
19596
|
})]
|
|
19626
19597
|
});
|
|
19627
19598
|
};
|
|
19628
|
-
var badgePop = keyframes(_templateObject$
|
|
19599
|
+
var badgePop = keyframes(_templateObject$G || (_templateObject$G = _taggedTemplateLiteralLoose(["\n 0% { transform: scale(0.4); opacity: 0; }\n 60% { transform: scale(1.08); opacity: 1; }\n 100% { transform: scale(1); opacity: 1; }\n"])));
|
|
19629
19600
|
var cardFlip = keyframes(_templateObject2$B || (_templateObject2$B = _taggedTemplateLiteralLoose(["\n from { transform: rotateY(0deg); }\n to { transform: rotateY(180deg); }\n"])));
|
|
19630
19601
|
var microcopyBeat = keyframes(_templateObject3$r || (_templateObject3$r = _taggedTemplateLiteralLoose(["\n 0% { opacity: 0; transform: translateY(6px); }\n 18% { opacity: 1; transform: translateY(0); }\n 60% { opacity: 1; transform: translateY(0); }\n 80% { opacity: 0; transform: translateY(-6px); }\n 100% { opacity: 0; }\n"])));
|
|
19631
19602
|
var rise = keyframes(_templateObject4$m || (_templateObject4$m = _taggedTemplateLiteralLoose(["\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n"])));
|
|
@@ -19657,7 +19628,7 @@ var LoadingRow = styled.div(_templateObject15$4 || (_templateObject15$4 = _tagge
|
|
|
19657
19628
|
return props.$visible ? 1 : 0;
|
|
19658
19629
|
});
|
|
19659
19630
|
|
|
19660
|
-
var _templateObject$
|
|
19631
|
+
var _templateObject$F, _templateObject2$A, _templateObject3$q, _templateObject4$l, _templateObject5$j, _templateObject6$e, _templateObject7$c;
|
|
19661
19632
|
// Module-level so the default `now` prop has a stable identity across
|
|
19662
19633
|
// renders (it sits in useModelWarmingElapsedMs's effect dependency array).
|
|
19663
19634
|
var defaultNow$2 = function defaultNow() {
|
|
@@ -19931,7 +19902,7 @@ var IdCaptureLoadingOverlayRing = function IdCaptureLoadingOverlayRing(_ref) {
|
|
|
19931
19902
|
})
|
|
19932
19903
|
});
|
|
19933
19904
|
};
|
|
19934
|
-
var overlayFadeIn$1 = keyframes(_templateObject$
|
|
19905
|
+
var overlayFadeIn$1 = keyframes(_templateObject$F || (_templateObject$F = _taggedTemplateLiteralLoose(["\n from { opacity: 0; }\n to { opacity: 1; }\n"])));
|
|
19935
19906
|
var RingOverlayInner$1 = styled(LoadingOverlayInner)(_templateObject2$A || (_templateObject2$A = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n ", "\n"])), function (props) {
|
|
19936
19907
|
var _props$theme$idCaptur, _props$theme;
|
|
19937
19908
|
var tintBase = (_props$theme$idCaptur = (_props$theme = props.theme) == null || (_props$theme = _props$theme.idCapture) == null || (_props$theme = _props$theme.loadingOverlay) == null ? void 0 : _props$theme.backgroundColor) != null ? _props$theme$idCaptur : 'var(--idm-color-primary-500)';
|
|
@@ -20036,11 +20007,11 @@ var CapturedDocumentImg = function CapturedDocumentImg(_ref) {
|
|
|
20036
20007
|
});
|
|
20037
20008
|
};
|
|
20038
20009
|
|
|
20039
|
-
var _templateObject$
|
|
20040
|
-
var Card = styled.div(_templateObject$
|
|
20010
|
+
var _templateObject$E, _templateObject2$z;
|
|
20011
|
+
var Card = styled.div(_templateObject$E || (_templateObject$E = _taggedTemplateLiteralLoose(["\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, 100% - 48px);\n max-height: 100%;\n overflow: auto;\n box-sizing: border-box;\n"])));
|
|
20041
20012
|
var FlexCard = styled(Card)(_templateObject2$z || (_templateObject2$z = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n"])));
|
|
20042
20013
|
|
|
20043
|
-
var _templateObject$
|
|
20014
|
+
var _templateObject$D, _templateObject2$y, _templateObject3$p, _templateObject4$k, _templateObject5$i, _templateObject6$d, _templateObject7$b, _templateObject8$9, _templateObject9$9, _templateObject0$8, _templateObject1$7, _templateObject10$7, _templateObject11$5, _templateObject12$4, _templateObject13$4, _templateObject14$4, _templateObject15$3, _templateObject16$3, _templateObject17$2, _templateObject18$2, _templateObject19$2, _templateObject20$2, _templateObject21$2, _templateObject22$2, _templateObject23$2, _templateObject24$1, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44;
|
|
20044
20015
|
function ReviewDocumentDiagnostics(_ref) {
|
|
20045
20016
|
var _document$detectionSc, _document$detectionSc2, _document$focusScore, _document$focusScore2;
|
|
20046
20017
|
var document = _ref.document,
|
|
@@ -20499,7 +20470,7 @@ function RotationAttemptRow(_ref3) {
|
|
|
20499
20470
|
})]
|
|
20500
20471
|
});
|
|
20501
20472
|
}
|
|
20502
|
-
var DebugInfoContainer = styled.div(_templateObject$
|
|
20473
|
+
var DebugInfoContainer = styled.div(_templateObject$D || (_templateObject$D = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n gap: 0.375rem;\n margin-top: 0.5rem;\n margin-bottom: 1rem;\n padding: 0.625rem;\n background: #f8f9fa;\n border-radius: 6px;\n border: 1px solid #e9ecef;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.8125rem;\n line-height: 1.35;\n text-align: left;\n"])));
|
|
20503
20474
|
var DebugSection = styled.div(_templateObject2$y || (_templateObject2$y = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin: 0;\n"])));
|
|
20504
20475
|
var DebugLabel = styled.span(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteralLoose(["\n width: 110px;\n flex-shrink: 0;\n color: #495057;\n font-size: 0.8125rem;\n font-weight: 600;\n"])));
|
|
20505
20476
|
var DebugValue = styled.span(_templateObject4$k || (_templateObject4$k = _taggedTemplateLiteralLoose(["\n color: #212529;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.8125rem;\n"])));
|
|
@@ -20615,7 +20586,7 @@ var DiagnosticsBadge = styled.span(_templateObject44 || (_templateObject44 = _ta
|
|
|
20615
20586
|
return $highlight ? '#004085' : $ok ? '#155724' : '#721c24';
|
|
20616
20587
|
});
|
|
20617
20588
|
|
|
20618
|
-
var _templateObject$
|
|
20589
|
+
var _templateObject$C, _templateObject2$x, _templateObject3$o, _templateObject4$j, _templateObject5$h;
|
|
20619
20590
|
var imageDisplayOrder = ['idCardFront', 'idCardBack', 'idBarcodeImage', 'passport', 'singlePage', 'idFrontIrImage', 'idBackIrImage', 'idFrontUvImage', 'idBackUvImage'];
|
|
20620
20591
|
var ReviewScreen = function ReviewScreen(_ref) {
|
|
20621
20592
|
var capturedDocuments = _ref.capturedDocuments,
|
|
@@ -20706,13 +20677,13 @@ var ReviewScreen = function ReviewScreen(_ref) {
|
|
|
20706
20677
|
})
|
|
20707
20678
|
});
|
|
20708
20679
|
};
|
|
20709
|
-
var Heading$9 = styled.h1(_templateObject$
|
|
20680
|
+
var Heading$9 = styled.h1(_templateObject$C || (_templateObject$C = _taggedTemplateLiteralLoose(["\n font-size: 1.5rem;\n margin-top: 0;\n margin-bottom: 1.5rem;\n"])));
|
|
20710
20681
|
var ImagesContainer = styled(OverlayImageContainer)(_templateObject2$x || (_templateObject2$x = _taggedTemplateLiteralLoose(["\n flex-grow: 1;\n overflow-y: auto;\n padding-bottom: 0;\n max-width: 100%;\n"])));
|
|
20711
20682
|
var ImageRow = styled(OverlayImageRow)(_templateObject3$o || (_templateObject3$o = _taggedTemplateLiteralLoose(["\n max-width: 100%;\n flex-direction: column;\n position: relative;\n width: 100%;\n"])));
|
|
20712
20683
|
var ImageCol$1 = styled.div(_templateObject4$j || (_templateObject4$j = _taggedTemplateLiteralLoose(["\n width: 450px;\n max-width: 100%;\n max-height: none !important;\n"])));
|
|
20713
20684
|
var StyledImage = styled(CapturedDocumentImg)(_templateObject5$h || (_templateObject5$h = _taggedTemplateLiteralLoose(["\n width: 100%;\n border-radius: 12px;\n"])));
|
|
20714
20685
|
|
|
20715
|
-
var _templateObject$
|
|
20686
|
+
var _templateObject$B, _templateObject2$w, _templateObject3$n, _templateObject4$i;
|
|
20716
20687
|
var CameraAccessDeniedOverlay = function CameraAccessDeniedOverlay(_ref) {
|
|
20717
20688
|
var _assets$imageUrl, _classNames$container;
|
|
20718
20689
|
var onRetry = _ref.onRetry,
|
|
@@ -20771,12 +20742,12 @@ var CameraAccessDeniedOverlay = function CameraAccessDeniedOverlay(_ref) {
|
|
|
20771
20742
|
})
|
|
20772
20743
|
});
|
|
20773
20744
|
};
|
|
20774
|
-
var StyledOverlayInner$2 = styled(OverlayInner$2)(_templateObject$
|
|
20745
|
+
var StyledOverlayInner$2 = styled(OverlayInner$2)(_templateObject$B || (_templateObject$B = _taggedTemplateLiteralLoose(["\n max-width: 500px;\n height: auto;\n margin: auto;\n"])));
|
|
20775
20746
|
var StyledOverlayImageContainer = styled(OverlayImageContainer)(_templateObject2$w || (_templateObject2$w = _taggedTemplateLiteralLoose(["\n flex-grow: 0;\n"])));
|
|
20776
20747
|
var Description$3 = styled.p(_templateObject3$n || (_templateObject3$n = _taggedTemplateLiteralLoose(["\n line-height: 1.5;\n margin-bottom: 50px;\n"])));
|
|
20777
20748
|
var RetryButton$1 = styled(LoaderButton)(_templateObject4$i || (_templateObject4$i = _taggedTemplateLiteralLoose(["\n width: 200px;\n margin: 0 auto;\n"])));
|
|
20778
20749
|
|
|
20779
|
-
var _templateObject$
|
|
20750
|
+
var _templateObject$A, _templateObject2$v, _templateObject3$m;
|
|
20780
20751
|
var ErrorScreen = function ErrorScreen(_ref) {
|
|
20781
20752
|
var error = _ref.error,
|
|
20782
20753
|
onRetry = _ref.onRetry,
|
|
@@ -20967,7 +20938,7 @@ var cameraFailureClassNames = function cameraFailureClassNames(own, bag) {
|
|
|
20967
20938
|
// component pins its own foreground for the same reason (e.g.
|
|
20968
20939
|
// IdCaptureLoadingOverlayDefault's `theme...textColor ?? 'black'`); do the
|
|
20969
20940
|
// same here rather than inherit a foreground meant for the dark overlays.
|
|
20970
|
-
var ErrorCard = styled(FlexCard)(_templateObject$
|
|
20941
|
+
var ErrorCard = styled(FlexCard)(_templateObject$A || (_templateObject$A = _taggedTemplateLiteralLoose(["\n color: black;\n"])));
|
|
20971
20942
|
var Heading$8 = styled.h1(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n font-size: 1.5rem;\n margin-top: 0;\n margin-bottom: 1rem;\n"])));
|
|
20972
20943
|
var Description$2 = styled.p(_templateObject3$m || (_templateObject3$m = _taggedTemplateLiteralLoose(["\n line-height: 1.5;\n margin-bottom: 1.5rem;\n"])));
|
|
20973
20944
|
|
|
@@ -21010,7 +20981,7 @@ function fallbackCaptureMoreLabelForStep(idCaptureRequirement, idCardBackCapture
|
|
|
21010
20981
|
return key === 'third' ? 'ID page of passport' : 'back of ID card';
|
|
21011
20982
|
}
|
|
21012
20983
|
|
|
21013
|
-
var _templateObject$
|
|
20984
|
+
var _templateObject$z, _templateObject2$u, _templateObject3$l, _templateObject4$h, _templateObject5$g, _templateObject6$c, _templateObject7$a;
|
|
21014
20985
|
function IdCaptureFallback(_ref) {
|
|
21015
20986
|
var _ref$captureRequireme = _ref.captureRequirement,
|
|
21016
20987
|
captureRequirement = _ref$captureRequireme === void 0 ? 'idCardOrPassport' : _ref$captureRequireme,
|
|
@@ -21179,7 +21150,7 @@ function IdCaptureFallback(_ref) {
|
|
|
21179
21150
|
})
|
|
21180
21151
|
});
|
|
21181
21152
|
}
|
|
21182
|
-
var StyledOverlayInner$1 = styled(OverlayInner$2)(_templateObject$
|
|
21153
|
+
var StyledOverlayInner$1 = styled(OverlayInner$2)(_templateObject$z || (_templateObject$z = _taggedTemplateLiteralLoose(["\n justify-content: center;\n"])));
|
|
21183
21154
|
var Heading$7 = styled.h3(_templateObject2$u || (_templateObject2$u = _taggedTemplateLiteralLoose(["\n margin-bottom: 8px;\n"])));
|
|
21184
21155
|
var Description$1 = styled.p(_templateObject3$l || (_templateObject3$l = _taggedTemplateLiteralLoose(["\n margin-bottom: 8px;\n"])));
|
|
21185
21156
|
var Instruction = styled.p(_templateObject4$h || (_templateObject4$h = _taggedTemplateLiteralLoose(["\n font-weight: bold;\n"])));
|
|
@@ -21187,7 +21158,7 @@ var ReadFailed$1 = styled.p(_templateObject5$g || (_templateObject5$g = _taggedT
|
|
|
21187
21158
|
var ImageCol = styled.div(_templateObject6$c || (_templateObject6$c = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"])));
|
|
21188
21159
|
var StyledButtonsRow$6 = styled(ButtonsRow$2)(_templateObject7$a || (_templateObject7$a = _taggedTemplateLiteralLoose(["\n margin-top: 32px;\n"])));
|
|
21189
21160
|
|
|
21190
|
-
var _templateObject$
|
|
21161
|
+
var _templateObject$y, _templateObject2$t, _templateObject3$k, _templateObject4$g, _templateObject5$f, _templateObject6$b, _templateObject7$9, _templateObject8$8, _templateObject9$8, _templateObject0$7, _templateObject1$6, _templateObject10$6;
|
|
21191
21162
|
function IdCaptureOrUploadScreen(_ref) {
|
|
21192
21163
|
var _ref$captureRequireme = _ref.captureRequirement,
|
|
21193
21164
|
captureRequirement = _ref$captureRequireme === void 0 ? 'idCardOrPassport' : _ref$captureRequireme,
|
|
@@ -21434,7 +21405,7 @@ function IdCaptureOrUploadScreen(_ref) {
|
|
|
21434
21405
|
})]
|
|
21435
21406
|
});
|
|
21436
21407
|
}
|
|
21437
|
-
var ScreenContainer = styled.div(_templateObject$
|
|
21408
|
+
var ScreenContainer = styled.div(_templateObject$y || (_templateObject$y = _taggedTemplateLiteralLoose(["\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 16px;\n padding: 24px;\n background: ", ";\n"])), function (props) {
|
|
21438
21409
|
var _props$theme$backgrou, _props$theme;
|
|
21439
21410
|
return (_props$theme$backgrou = (_props$theme = props.theme) == null ? void 0 : _props$theme.background) != null ? _props$theme$backgrou : '#fff';
|
|
21440
21411
|
});
|
|
@@ -21555,7 +21526,7 @@ function useSessionReady() {
|
|
|
21555
21526
|
return context ? context.sessionReady : true;
|
|
21556
21527
|
}
|
|
21557
21528
|
|
|
21558
|
-
var _templateObject$
|
|
21529
|
+
var _templateObject$x;
|
|
21559
21530
|
function _createForOfIteratorHelperLoose$j(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray$j(r)) || e) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: true } : { done: false, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
21560
21531
|
function _unsupportedIterableToArray$j(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$j(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$j(r, a) : void 0; } }
|
|
21561
21532
|
function _arrayLikeToArray$j(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
@@ -21571,7 +21542,7 @@ function _arrayLikeToArray$j(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
21571
21542
|
// containing block against whatever ancestor the host provides, exactly as
|
|
21572
21543
|
// before this wrapper existed) while font-family -- an inherited CSS
|
|
21573
21544
|
// property -- still cascades to every descendant.
|
|
21574
|
-
var FontCarrier = styled.div(_templateObject$
|
|
21545
|
+
var FontCarrier = styled.div(_templateObject$x || (_templateObject$x = _taggedTemplateLiteralLoose(["\n display: contents;\n ", "\n"])), function (props) {
|
|
21575
21546
|
var _props$theme;
|
|
21576
21547
|
return (_props$theme = props.theme) != null && _props$theme.fontFamily ? "font-family: " + props.theme.fontFamily + ";" : '';
|
|
21577
21548
|
});
|
|
@@ -24166,6 +24137,7 @@ function createSelfieCaptureController(config) {
|
|
|
24166
24137
|
liveness: config.liveness ? createInitialLivenessMachineState() : null,
|
|
24167
24138
|
challenge: null,
|
|
24168
24139
|
livenessTimedOut: false,
|
|
24140
|
+
retryPending: false,
|
|
24169
24141
|
handOverFace: {
|
|
24170
24142
|
status: 'off',
|
|
24171
24143
|
lastCheck: null
|
|
@@ -25547,6 +25519,19 @@ function createSelfieCaptureController(config) {
|
|
|
25547
25519
|
livenessTimedOut: false
|
|
25548
25520
|
});
|
|
25549
25521
|
}
|
|
25522
|
+
// retry()'s reset of the terminal attempt, run straight away or once a
|
|
25523
|
+
// released camera is back. Moving off the terminal phase and verdict is
|
|
25524
|
+
// what takes the view's terminal screen down.
|
|
25525
|
+
function spendRetry() {
|
|
25526
|
+
if (config.liveness) resetLivenessAttempt();
|
|
25527
|
+
progress.retry('capture-error');
|
|
25528
|
+
internal.setState({
|
|
25529
|
+
retryPending: false
|
|
25530
|
+
});
|
|
25531
|
+
dispatch({
|
|
25532
|
+
type: 'retryRequested'
|
|
25533
|
+
});
|
|
25534
|
+
}
|
|
25550
25535
|
// retry()'s capture re-entry, run straight away or once a released camera
|
|
25551
25536
|
// is back.
|
|
25552
25537
|
function resumeCapture() {
|
|
@@ -25703,6 +25688,7 @@ function createSelfieCaptureController(config) {
|
|
|
25703
25688
|
liveness: config.liveness ? createInitialLivenessMachineState() : null,
|
|
25704
25689
|
challenge: null,
|
|
25705
25690
|
livenessTimedOut: false,
|
|
25691
|
+
retryPending: false,
|
|
25706
25692
|
handOverFace: {
|
|
25707
25693
|
status: 'off',
|
|
25708
25694
|
lastCheck: null
|
|
@@ -25880,27 +25866,42 @@ function createSelfieCaptureController(config) {
|
|
|
25880
25866
|
},
|
|
25881
25867
|
retry: function retry() {
|
|
25882
25868
|
if (!active) return;
|
|
25883
|
-
if (config.liveness) resetLivenessAttempt();
|
|
25884
|
-
progress.retry('capture-error');
|
|
25885
|
-
dispatch({
|
|
25886
|
-
type: 'retryRequested'
|
|
25887
|
-
});
|
|
25888
25869
|
if (!cameraReleased) {
|
|
25870
|
+
spendRetry();
|
|
25889
25871
|
resumeCapture();
|
|
25890
25872
|
return;
|
|
25891
25873
|
}
|
|
25892
|
-
// The terminal screen handed the camera back: get it again
|
|
25893
|
-
//
|
|
25894
|
-
//
|
|
25895
|
-
//
|
|
25896
|
-
// up the camera error screen and its recovery path.
|
|
25874
|
+
// The terminal screen handed the camera back: get it again BEFORE
|
|
25875
|
+
// leaving that screen, so the user never lands on a feed with no
|
|
25876
|
+
// stream, and the initial-delay gate and kick-out count from a live
|
|
25877
|
+
// feed. A second retry() while this is in flight joins it.
|
|
25897
25878
|
if (cameraReacquisition) return;
|
|
25879
|
+
internal.setState({
|
|
25880
|
+
retryPending: true
|
|
25881
|
+
});
|
|
25898
25882
|
var generation = attachGeneration;
|
|
25883
|
+
// exitCapture() clears `retryPending` if it sent the user back to the
|
|
25884
|
+
// instructions while the camera was coming back.
|
|
25885
|
+
var stillPending = function stillPending() {
|
|
25886
|
+
return active && generation === attachGeneration && internal.getState().retryPending;
|
|
25887
|
+
};
|
|
25899
25888
|
var reacquisition = requestCamera().then(function () {
|
|
25900
|
-
|
|
25901
|
-
|
|
25902
|
-
|
|
25903
|
-
}
|
|
25889
|
+
if (!stillPending()) return;
|
|
25890
|
+
spendRetry();
|
|
25891
|
+
resumeCapture();
|
|
25892
|
+
}, function () {
|
|
25893
|
+
// Spend the attempt anyway so the terminal screen gives way to
|
|
25894
|
+
// the camera error screen, whose recovery re-enters through
|
|
25895
|
+
// 'loading'. 'retryRequested' clears `error`, so the one
|
|
25896
|
+
// requestCamera wrote goes back on after it.
|
|
25897
|
+
if (!stillPending()) return;
|
|
25898
|
+
var _internal$getState = internal.getState(),
|
|
25899
|
+
error = _internal$getState.error;
|
|
25900
|
+
spendRetry();
|
|
25901
|
+
internal.setState({
|
|
25902
|
+
error: error
|
|
25903
|
+
});
|
|
25904
|
+
})["finally"](function () {
|
|
25904
25905
|
// detach() may have dropped this one and a newer one started.
|
|
25905
25906
|
if (cameraReacquisition === reacquisition) cameraReacquisition = null;
|
|
25906
25907
|
});
|
|
@@ -25909,8 +25910,8 @@ function createSelfieCaptureController(config) {
|
|
|
25909
25910
|
exitCapture: function exitCapture() {
|
|
25910
25911
|
var _frameLoop9;
|
|
25911
25912
|
if (!active) return;
|
|
25912
|
-
var _internal$
|
|
25913
|
-
phase = _internal$
|
|
25913
|
+
var _internal$getState2 = internal.getState(),
|
|
25914
|
+
phase = _internal$getState2.phase;
|
|
25914
25915
|
if (phase === 'initializing' || phase === 'loading') return;
|
|
25915
25916
|
// Every armed timer belongs to the abandoned attempt.
|
|
25916
25917
|
clearAllTimers();
|
|
@@ -25925,7 +25926,8 @@ function createSelfieCaptureController(config) {
|
|
|
25925
25926
|
internal.setState({
|
|
25926
25927
|
capturedAttempt: null,
|
|
25927
25928
|
capturedImageUrl: null,
|
|
25928
|
-
captureRecovery: null
|
|
25929
|
+
captureRecovery: null,
|
|
25930
|
+
retryPending: false
|
|
25929
25931
|
});
|
|
25930
25932
|
dispatch({
|
|
25931
25933
|
type: 'exitRequested'
|
|
@@ -25971,8 +25973,8 @@ function useSelfieCapture(controller) {
|
|
|
25971
25973
|
return useSyncExternalStore(subscribe, controller.getState, controller.getState);
|
|
25972
25974
|
}
|
|
25973
25975
|
|
|
25974
|
-
var _templateObject$
|
|
25975
|
-
var SelfieCameraFeedWrapper = styled.div(_templateObject$
|
|
25976
|
+
var _templateObject$w;
|
|
25977
|
+
var SelfieCameraFeedWrapper = styled.div(_templateObject$w || (_templateObject$w = _taggedTemplateLiteralLoose(["\n display: flex;\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n /* Keep CameraVideoTag's legacy negative z-index above opaque flow shells. */\n isolation: isolate;\n"])));
|
|
25976
25978
|
function SelfieCameraFeed(_ref) {
|
|
25977
25979
|
var videoRef = _ref.videoRef,
|
|
25978
25980
|
isRearFacing = _ref.isRearFacing,
|
|
@@ -25986,7 +25988,7 @@ function SelfieCameraFeed(_ref) {
|
|
|
25986
25988
|
});
|
|
25987
25989
|
}
|
|
25988
25990
|
|
|
25989
|
-
var _templateObject$
|
|
25991
|
+
var _templateObject$v, _templateObject2$s, _templateObject3$j, _templateObject4$f;
|
|
25990
25992
|
var _excluded$c = ["borderColor", "borderOpacity", "borderWidth", "status"],
|
|
25991
25993
|
_excluded2$4 = ["status", "guideStyle"],
|
|
25992
25994
|
_excluded3 = ["frame", "borderWidth", "borderColor", "borderOpacity", "verticalAlign", "status", "guideStyle"],
|
|
@@ -26063,7 +26065,7 @@ HeadGuideSvg.displayName = 'HeadGuideSvg';
|
|
|
26063
26065
|
// refresh rate for the whole capture, which low-end GPUs can't keep up with
|
|
26064
26066
|
// while also running the camera and face model. Waves only render while the
|
|
26065
26067
|
// status is 'ready', so the pulse replays each time the face leaves the guide.
|
|
26066
|
-
var headGuideWavesAnimation = keyframes(_templateObject$
|
|
26068
|
+
var headGuideWavesAnimation = keyframes(_templateObject$v || (_templateObject$v = _taggedTemplateLiteralLoose(["\n 0% {\n opacity: 0;\n transform: scale(1);\n }\n 60% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n transform: scale(1.3);\n }\n"])));
|
|
26067
26069
|
var PulsingHeadGuideContainer = styled.div(_templateObject2$s || (_templateObject2$s = _taggedTemplateLiteralLoose(["\n display: flex;\n position: relative;\n height: 100%;\n max-height: 100%;\n\n & > .idmSdkWaves {\n position: absolute;\n opacity: 0;\n animation: ", " 2s ease-out 3;\n\n @media (prefers-reduced-motion: reduce) {\n display: none;\n }\n }\n\n /* Paints far past its box; the nearest clipping ancestor bounds it\n (FaceCaptureGuideOverlay clips to the capture surface). */\n & > .idmSdkSpotlight {\n position: absolute;\n overflow: visible;\n pointer-events: none;\n }\n\n & > .idmSdkWavesOrigin {\n position: relative;\n }\n"])), headGuideWavesAnimation);
|
|
26068
26070
|
function HeadGuide(_ref2) {
|
|
26069
26071
|
var _theme$selfieCapture$, _theme$selfieCapture, _theme$selfieCapture$2, _theme$selfieCapture2, _theme$selfieCapture$3, _theme$selfieCapture3, _props$className;
|
|
@@ -26375,8 +26377,8 @@ function SelfieCaptureAnimatedMaskWithStatus(_ref5) {
|
|
|
26375
26377
|
}));
|
|
26376
26378
|
}
|
|
26377
26379
|
|
|
26378
|
-
var _templateObject$
|
|
26379
|
-
var FaceCaptureGuideContainer = styled.div(_templateObject$
|
|
26380
|
+
var _templateObject$u, _templateObject2$r;
|
|
26381
|
+
var FaceCaptureGuideContainer = styled.div(_templateObject$u || (_templateObject$u = _taggedTemplateLiteralLoose(["\n position: absolute;\n z-index: 1000;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n box-sizing: border-box;\n /* Keeps the spotlight dim inside the capture surface when the view is\n embedded rather than full-screen. */\n ", "\n"])), function (props) {
|
|
26380
26382
|
return props.$clip ? 'overflow: hidden;' : '';
|
|
26381
26383
|
});
|
|
26382
26384
|
var FaceCaptureGuideInner = styled.div(_templateObject2$r || (_templateObject2$r = _taggedTemplateLiteralLoose(["\n position: relative;\n height: 60%;\n"])));
|
|
@@ -26689,7 +26691,7 @@ function SelfieCaptureLoadingGraphic(_ref) {
|
|
|
26689
26691
|
});
|
|
26690
26692
|
}
|
|
26691
26693
|
|
|
26692
|
-
var _templateObject$
|
|
26694
|
+
var _templateObject$t, _templateObject2$q, _templateObject3$i, _templateObject4$e, _templateObject5$e;
|
|
26693
26695
|
var legacyInstructionImageUrl = DEFAULT_CDN_URL$1 + "/Selfie-Image-1.png";
|
|
26694
26696
|
// Module-level so the default `now` prop has a stable identity across
|
|
26695
26697
|
// renders (it sits in useModelWarmingElapsedMs's effect dependency array).
|
|
@@ -26860,7 +26862,7 @@ var SelfieCaptureLoadingOverlayDefault = function SelfieCaptureLoadingOverlayDef
|
|
|
26860
26862
|
})
|
|
26861
26863
|
});
|
|
26862
26864
|
};
|
|
26863
|
-
var OverlayInner = styled(LoadingOverlayInner)(_templateObject$
|
|
26865
|
+
var OverlayInner = styled(LoadingOverlayInner)(_templateObject$t || (_templateObject$t = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n"])), function (props) {
|
|
26864
26866
|
var _props$theme$selfieCa, _props$theme;
|
|
26865
26867
|
return (_props$theme$selfieCa = (_props$theme = props.theme) == null || (_props$theme = _props$theme.selfieCapture) == null || (_props$theme = _props$theme.loadingOverlay) == null ? void 0 : _props$theme.backgroundColor) != null ? _props$theme$selfieCa : SELFIE_LOADING_OVERLAY_BACKGROUND_DEFAULT;
|
|
26866
26868
|
}, function (props) {
|
|
@@ -26926,7 +26928,7 @@ function selfieLoadingOverlayBottomEdgeColor(theme, modelsReady) {
|
|
|
26926
26928
|
});
|
|
26927
26929
|
}
|
|
26928
26930
|
|
|
26929
|
-
var _templateObject$
|
|
26931
|
+
var _templateObject$s, _templateObject2$p;
|
|
26930
26932
|
var SelfieCaptureLoadingOverlayLegacy = function SelfieCaptureLoadingOverlayLegacy(_ref) {
|
|
26931
26933
|
var _assets$instructionIm;
|
|
26932
26934
|
var state = _ref.state,
|
|
@@ -27002,10 +27004,10 @@ var SelfieCaptureLoadingOverlayLegacy = function SelfieCaptureLoadingOverlayLega
|
|
|
27002
27004
|
})
|
|
27003
27005
|
});
|
|
27004
27006
|
};
|
|
27005
|
-
var StyledGuidanceMessage = styled(GuidanceMessage)(_templateObject$
|
|
27007
|
+
var StyledGuidanceMessage = styled(GuidanceMessage)(_templateObject$s || (_templateObject$s = _taggedTemplateLiteralLoose(["\n padding: 12px 24px;\n font-weight: normal;\n line-height: 1.5;\n margin-bottom: -30px;\n"])));
|
|
27006
27008
|
var StyledButtonsRow$5 = styled(ButtonsRow$2)(_templateObject2$p || (_templateObject2$p = _taggedTemplateLiteralLoose(["\n flex-direction: column;\n padding-top: 25px;\n"])));
|
|
27007
27009
|
|
|
27008
|
-
var _templateObject$
|
|
27010
|
+
var _templateObject$r, _templateObject2$o, _templateObject3$h, _templateObject4$d, _templateObject5$d, _templateObject6$a, _templateObject7$8;
|
|
27009
27011
|
// Module-level so the default `now` prop has a stable identity across
|
|
27010
27012
|
// renders (it sits in useModelWarmingElapsedMs's effect dependency array).
|
|
27011
27013
|
var defaultNow = function defaultNow() {
|
|
@@ -27263,7 +27265,7 @@ var SelfieCaptureLoadingOverlayRing = function SelfieCaptureLoadingOverlayRing(_
|
|
|
27263
27265
|
})
|
|
27264
27266
|
});
|
|
27265
27267
|
};
|
|
27266
|
-
var overlayFadeIn = keyframes(_templateObject$
|
|
27268
|
+
var overlayFadeIn = keyframes(_templateObject$r || (_templateObject$r = _taggedTemplateLiteralLoose(["\n from { opacity: 0; }\n to { opacity: 1; }\n"])));
|
|
27267
27269
|
var RingOverlayInner = styled(LoadingOverlayInner)(_templateObject2$o || (_templateObject2$o = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n ", "\n"])), function (props) {
|
|
27268
27270
|
var _props$theme$selfieCa, _props$theme;
|
|
27269
27271
|
var tintBase = (_props$theme$selfieCa = (_props$theme = props.theme) == null || (_props$theme = _props$theme.selfieCapture) == null || (_props$theme = _props$theme.loadingOverlay) == null ? void 0 : _props$theme.backgroundColor) != null ? _props$theme$selfieCa : 'var(--idm-color-primary-500)';
|
|
@@ -27306,7 +27308,7 @@ var SelfieCaptureLoadingOverlay = function SelfieCaptureLoadingOverlay(_ref) {
|
|
|
27306
27308
|
return jsx(Component, _extends({}, props));
|
|
27307
27309
|
};
|
|
27308
27310
|
|
|
27309
|
-
var _templateObject$
|
|
27311
|
+
var _templateObject$q, _templateObject2$n, _templateObject3$g, _templateObject4$c, _templateObject5$c, _templateObject6$9;
|
|
27310
27312
|
function SelfieCaptureFallback(_ref) {
|
|
27311
27313
|
var _ref$silentFallback = _ref.silentFallback,
|
|
27312
27314
|
silentFallback = _ref$silentFallback === void 0 ? false : _ref$silentFallback,
|
|
@@ -27460,14 +27462,14 @@ function SelfieCaptureFallback(_ref) {
|
|
|
27460
27462
|
})
|
|
27461
27463
|
});
|
|
27462
27464
|
}
|
|
27463
|
-
var StyledOverlayInner = styled(OverlayInner$2)(_templateObject$
|
|
27465
|
+
var StyledOverlayInner = styled(OverlayInner$2)(_templateObject$q || (_templateObject$q = _taggedTemplateLiteralLoose(["\n justify-content: center;\n padding: 24px;\n box-sizing: border-box;\n"])));
|
|
27464
27466
|
var Heading$6 = styled.h1(_templateObject2$n || (_templateObject2$n = _taggedTemplateLiteralLoose(["\n font-size: 1.5rem;\n margin: 0 0 1rem;\n"])));
|
|
27465
27467
|
var Description = styled.p(_templateObject3$g || (_templateObject3$g = _taggedTemplateLiteralLoose(["\n line-height: 1.5;\n margin: 0 0 1.5rem;\n"])));
|
|
27466
27468
|
var ImageContainer$4 = styled.div(_templateObject4$c || (_templateObject4$c = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n margin-bottom: 1.5rem;\n\n & > img {\n max-width: 100%;\n max-height: 40vh;\n border-radius: 8px;\n }\n"])));
|
|
27467
27469
|
var ReadFailed = styled.p(_templateObject5$c || (_templateObject5$c = _taggedTemplateLiteralLoose(["\n margin: 0 0 1rem;\n"])));
|
|
27468
27470
|
var StyledButtonsRow$4 = styled(ButtonsRow$2)(_templateObject6$9 || (_templateObject6$9 = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 12px;\n justify-content: center;\n"])));
|
|
27469
27471
|
|
|
27470
|
-
var _templateObject$
|
|
27472
|
+
var _templateObject$p, _templateObject2$m;
|
|
27471
27473
|
function SelfieCaptureSurface(_ref) {
|
|
27472
27474
|
var _state$error, _state$error2, _state$captureRecover, _state$error5, _state$captureRecover2, _state$prediction, _state$prediction$sam, _state$prediction2, _state$prediction3, _state$prediction4, _state$prediction5, _state$prediction6, _state$prediction7, _state$prediction8, _state$prediction9, _state$prediction0, _state$prediction1, _state$prediction$bri, _state$prediction10, _state$prediction$ran, _state$prediction11, _state$prediction$var, _state$prediction12, _assets$loadingOverla, _classNames$loadingOv, _colors$loadingOverla, _verbiage$loadingOver;
|
|
27473
27475
|
var controller = _ref.controller,
|
|
@@ -27869,7 +27871,7 @@ function EyesOpenDebugLines(_ref2) {
|
|
|
27869
27871
|
children: [verdict, " Eyes Open", state.thresholds.requireEyesOpen ? " (" + openReadings + "/" + eyeReadings.length + " frames open in the last " + EYES_OPEN_WINDOW_MS + " ms)" : ' (gate off)', eye('Mesh-left eye', ear.left, earBaseline.left, earCalibrationMs.left), eye('Mesh-right eye', ear.right, earBaseline.right, earCalibrationMs.right)]
|
|
27870
27872
|
});
|
|
27871
27873
|
}
|
|
27872
|
-
var ManualCaptureButtonContainer = styled.div(_templateObject$
|
|
27874
|
+
var ManualCaptureButtonContainer = styled.div(_templateObject$p || (_templateObject$p = _taggedTemplateLiteralLoose(["\n position: absolute;\n z-index: 4;\n left: 50%;\n bottom: 24px;\n transform: translateX(-50%);\n"])));
|
|
27873
27875
|
// A footer below the camera keeps the lighting guidance visible above it.
|
|
27874
27876
|
var CaptureRecoveryActions = styled.div(_templateObject2$m || (_templateObject2$m = _taggedTemplateLiteralLoose(["\n position: absolute;\n z-index: 10001;\n inset: auto 0 0;\n padding: 16px 24px max(16px, env(safe-area-inset-bottom));\n background: white;\n color: #333;\n text-align: center;\n display: grid;\n justify-items: center;\n gap: 12px;\n\n p { margin: 0; font-size: 14px; line-height: 1.4; }\n button { width: 100%; max-width: 320px; }\n"])));
|
|
27875
27877
|
|
|
@@ -28004,7 +28006,7 @@ function livenessStatusCode(state) {
|
|
|
28004
28006
|
return null;
|
|
28005
28007
|
}
|
|
28006
28008
|
|
|
28007
|
-
var _GUIDANCE_VERBIAGE_FI, _templateObject$
|
|
28009
|
+
var _GUIDANCE_VERBIAGE_FI, _templateObject$o;
|
|
28008
28010
|
// `state.guidance.code` -> the SelfieGuidanceVerbiage field that overrides
|
|
28009
28011
|
// it. Keyed off the same `SelfieGuidanceCode` values selfieGuidanceMessageKey
|
|
28010
28012
|
// switches on (guidance/selfieStrings.ts) — NONE has no field (the pill is
|
|
@@ -28022,7 +28024,7 @@ var GUIDANCE_VERBIAGE_FIELD = (_GUIDANCE_VERBIAGE_FI = {}, _GUIDANCE_VERBIAGE_FI
|
|
|
28022
28024
|
// still-mounted-through-error rationale as IdCaptureView's ScalingCameraFeed
|
|
28023
28025
|
// (a successful retry()/requestCamera() re-attaches into the SAME element).
|
|
28024
28026
|
var CAPTURE_SURFACE_PHASES$1 = new Set(['capturing', 'challenge', 'processing', 'checking', 'completed', 'failed']);
|
|
28025
|
-
var Container$2 = styled.div(_templateObject$
|
|
28027
|
+
var Container$2 = styled.div(_templateObject$o || (_templateObject$o = _taggedTemplateLiteralLoose(["\n position: relative;\n width: 100%;\n height: 100%;\n /* sdk2 applied theme.fontFamily at the flow-level SdkPage wrapper\n (SdkPage.tsx:59: a font-family declaration reading props.theme.fontFamily,\n conditional on it being set) -- SdkPage itself is flow-level and was\n never ported to this package, so this view's own root carries it\n instead. */\n ", "\n"])), function (props) {
|
|
28026
28028
|
var _props$theme;
|
|
28027
28029
|
return (_props$theme = props.theme) != null && _props$theme.fontFamily ? "font-family: " + props.theme.fontFamily + ";" : '';
|
|
28028
28030
|
});
|
|
@@ -28200,11 +28202,24 @@ function SelfieCaptureViewContent(_ref) {
|
|
|
28200
28202
|
});
|
|
28201
28203
|
}
|
|
28202
28204
|
|
|
28205
|
+
var _templateObject$n;
|
|
28206
|
+
/**
|
|
28207
|
+
* A polite live region that is read aloud but not shown. For a change with no
|
|
28208
|
+
* focused text to carry it, such as a button that went busy and dropped focus
|
|
28209
|
+
* by being disabled. Keep it mounted and change its text: a region that mounts
|
|
28210
|
+
* already holding its message is often not announced.
|
|
28211
|
+
*/
|
|
28212
|
+
var ScreenReaderStatus = styled.span.attrs({
|
|
28213
|
+
role: 'status'
|
|
28214
|
+
})(_templateObject$n || (_templateObject$n = _taggedTemplateLiteralLoose(["\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n"])));
|
|
28215
|
+
|
|
28203
28216
|
var _templateObject$m, _templateObject2$l;
|
|
28204
28217
|
var FaceLivenessSuccess = function FaceLivenessSuccess(_ref) {
|
|
28205
28218
|
var imageUrl = _ref.imageUrl,
|
|
28206
28219
|
onDoneClick = _ref.onDoneClick,
|
|
28207
28220
|
onRetryClick = _ref.onRetryClick,
|
|
28221
|
+
_ref$retrying = _ref.retrying,
|
|
28222
|
+
retrying = _ref$retrying === void 0 ? false : _ref$retrying,
|
|
28208
28223
|
_ref$classNames = _ref.classNames,
|
|
28209
28224
|
classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
|
|
28210
28225
|
_ref$colors = _ref.colors,
|
|
@@ -28214,6 +28229,7 @@ var FaceLivenessSuccess = function FaceLivenessSuccess(_ref) {
|
|
|
28214
28229
|
var verbiage = useTranslations(rawVerbiage, {
|
|
28215
28230
|
headingText: 'Face liveness has been verified!',
|
|
28216
28231
|
retryBtnText: 'Retry',
|
|
28232
|
+
retryingBtnText: 'Starting camera...',
|
|
28217
28233
|
doneBtnText: 'Done'
|
|
28218
28234
|
});
|
|
28219
28235
|
var imageContainerRef = useRef(null);
|
|
@@ -28243,20 +28259,24 @@ var FaceLivenessSuccess = function FaceLivenessSuccess(_ref) {
|
|
|
28243
28259
|
children: verbiage.headingText
|
|
28244
28260
|
}), jsxs(ButtonsColumn, {
|
|
28245
28261
|
className: classNames.buttonsRow,
|
|
28246
|
-
children: [jsx(
|
|
28262
|
+
children: [jsx(ScreenReaderStatus, {
|
|
28263
|
+
children: retrying ? verbiage.retryingBtnText : null
|
|
28264
|
+
}), jsx(WideButton, {
|
|
28247
28265
|
variant: "positive",
|
|
28248
28266
|
onClick: onDoneClick,
|
|
28249
28267
|
colors: colors.doneBtn,
|
|
28250
28268
|
className: classNames.doneBtn,
|
|
28251
28269
|
finished: true,
|
|
28270
|
+
// Done would race the retry the user already started.
|
|
28271
|
+
disabled: retrying,
|
|
28252
28272
|
children: verbiage.doneBtnText
|
|
28253
28273
|
}), jsx(WideBorderButton, {
|
|
28254
28274
|
variant: "secondary",
|
|
28255
28275
|
onClick: onRetryClick,
|
|
28256
28276
|
colors: colors.retryBtn,
|
|
28257
28277
|
className: classNames.retryBtn,
|
|
28258
|
-
finished:
|
|
28259
|
-
children: verbiage.retryBtnText
|
|
28278
|
+
finished: !retrying,
|
|
28279
|
+
children: retrying ? verbiage.retryingBtnText : verbiage.retryBtnText
|
|
28260
28280
|
})]
|
|
28261
28281
|
})]
|
|
28262
28282
|
})
|
|
@@ -28272,6 +28292,8 @@ var FaceLivenessFailure = function FaceLivenessFailure(_ref) {
|
|
|
28272
28292
|
var _ref$canRetry = _ref.canRetry,
|
|
28273
28293
|
canRetry = _ref$canRetry === void 0 ? true : _ref$canRetry,
|
|
28274
28294
|
onRetryClick = _ref.onRetryClick,
|
|
28295
|
+
_ref$retrying = _ref.retrying,
|
|
28296
|
+
retrying = _ref$retrying === void 0 ? false : _ref$retrying,
|
|
28275
28297
|
onExitClick = _ref.onExitClick,
|
|
28276
28298
|
_ref$assets = _ref.assets,
|
|
28277
28299
|
assets = _ref$assets === void 0 ? {} : _ref$assets,
|
|
@@ -28285,6 +28307,7 @@ var FaceLivenessFailure = function FaceLivenessFailure(_ref) {
|
|
|
28285
28307
|
var verbiage = useTranslations(rawVerbiage, {
|
|
28286
28308
|
headingText: 'Live face not detected, please try again',
|
|
28287
28309
|
retryBtnText: 'Retry',
|
|
28310
|
+
retryingBtnText: 'Starting camera...',
|
|
28288
28311
|
exitBtnText: 'Exit'
|
|
28289
28312
|
});
|
|
28290
28313
|
return jsx(GrayOverlayContainer, {
|
|
@@ -28304,13 +28327,15 @@ var FaceLivenessFailure = function FaceLivenessFailure(_ref) {
|
|
|
28304
28327
|
children: verbiage.headingText
|
|
28305
28328
|
}), jsxs(ButtonsColumn, {
|
|
28306
28329
|
className: classNames.buttonsRow,
|
|
28307
|
-
children: [
|
|
28330
|
+
children: [jsx(ScreenReaderStatus, {
|
|
28331
|
+
children: retrying ? verbiage.retryingBtnText : null
|
|
28332
|
+
}), canRetry && jsx(WideButton, {
|
|
28308
28333
|
variant: "secondary",
|
|
28309
28334
|
className: classNames.retryBtn,
|
|
28310
28335
|
onClick: onRetryClick,
|
|
28311
28336
|
colors: colors.retryBtn,
|
|
28312
|
-
finished:
|
|
28313
|
-
children: verbiage.retryBtnText
|
|
28337
|
+
finished: !retrying,
|
|
28338
|
+
children: retrying ? verbiage.retryingBtnText : verbiage.retryBtnText
|
|
28314
28339
|
}), jsx(WideBorderButton, {
|
|
28315
28340
|
variant: "secondary",
|
|
28316
28341
|
className: classNames.exitBtn,
|
|
@@ -28594,6 +28619,9 @@ function FaceLivenessViewContent(_ref) {
|
|
|
28594
28619
|
// back and let the camera light go out. `restartRun` gets it again through
|
|
28595
28620
|
// the controller's retry(). A skipped success screen needs nothing here: the
|
|
28596
28621
|
// host moves on and unmounting detaches.
|
|
28622
|
+
// Core holds the terminal screen up while a retry waits for that camera
|
|
28623
|
+
// (`retryPending`), so its Retry button shows the wait instead of the user
|
|
28624
|
+
// landing on a black feed.
|
|
28597
28625
|
var coveredByTerminalScreen = showSuccessScreen || showFailureScreen;
|
|
28598
28626
|
useEffect(function () {
|
|
28599
28627
|
if (coveredByTerminalScreen) controller.actions.releaseCamera();
|
|
@@ -28658,12 +28686,19 @@ function FaceLivenessViewContent(_ref) {
|
|
|
28658
28686
|
return onDone == null ? void 0 : onDone(completedImageUrl);
|
|
28659
28687
|
},
|
|
28660
28688
|
onRetryClick: restartRun,
|
|
28689
|
+
retrying: state.retryPending,
|
|
28661
28690
|
verbiage: verbiage.success,
|
|
28662
28691
|
classNames: classNames.success,
|
|
28663
28692
|
colors: colors.success
|
|
28664
|
-
}), showFailureScreen && jsx(FaceLivenessFailure
|
|
28665
|
-
|
|
28693
|
+
}), showFailureScreen && jsx(FaceLivenessFailure
|
|
28694
|
+
// The click already spent the budget; keep the last retry's button
|
|
28695
|
+
// up while it waits on the camera.
|
|
28696
|
+
, {
|
|
28697
|
+
// The click already spent the budget; keep the last retry's button
|
|
28698
|
+
// up while it waits on the camera.
|
|
28699
|
+
canRetry: canRetryFailure || state.retryPending,
|
|
28666
28700
|
onRetryClick: restartRun,
|
|
28701
|
+
retrying: state.retryPending,
|
|
28667
28702
|
onExitClick: onExitAfterFailure != null ? onExitAfterFailure : onExit,
|
|
28668
28703
|
assets: assets.failure,
|
|
28669
28704
|
verbiage: verbiage.failure,
|
|
@@ -36771,14 +36806,8 @@ function DocumentCaptureSurface(_ref) {
|
|
|
36771
36806
|
className: classNames.captureBtn,
|
|
36772
36807
|
finished: state.camera.ready,
|
|
36773
36808
|
variant: "primary",
|
|
36774
|
-
// Guarded rather than relying on `disabled` alone: with
|
|
36775
|
-
// `finished` false, LoaderButton hands the element to ladda,
|
|
36776
|
-
// which manipulates its disabled state imperatively
|
|
36777
|
-
// (LoaderButton.tsx:63-79). The button can therefore be
|
|
36778
|
-
// clickable mid-animation, which CI caught.
|
|
36779
36809
|
onClick: function onClick() {
|
|
36780
|
-
|
|
36781
|
-
void controller.actions.capture();
|
|
36810
|
+
return void controller.actions.capture();
|
|
36782
36811
|
},
|
|
36783
36812
|
disabled: !state.camera.ready || state.capturing,
|
|
36784
36813
|
children: !state.camera.ready ? verbiage.loadingBtnText : state.capturing ? verbiage.capturingBtnText : verbiage.captureBtnText
|
|
@@ -48442,7 +48471,7 @@ function mapCustomerIdAndBiometricsEnrollmentProps(props, ctx) {
|
|
|
48442
48471
|
});
|
|
48443
48472
|
}
|
|
48444
48473
|
|
|
48445
|
-
var webSdkVersion = '2.5.83-changeset-release-develop-
|
|
48474
|
+
var webSdkVersion = '2.5.83-changeset-release-develop-2127d44';
|
|
48446
48475
|
|
|
48447
48476
|
// GENERATED by scripts/styleBagTypes.mjs from
|
|
48448
48477
|
// src/__fixtures__/sdk2StyleBags.json and the mapper sweep — do not
|