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
|
@@ -7271,15 +7271,17 @@ var EYES_CLOSED = 'Keep your eyes open...';
|
|
|
7271
7271
|
var HAND_OVER_FACE = 'Remove your hand from your face...';
|
|
7272
7272
|
var SELFIE_RECOVERY_HINT = 'We’re having trouble checking the lighting. Keep your face centered and hold still—we’ll still check your positioning.';
|
|
7273
7273
|
var CONTINUE_WITH_CURRENT_LIGHTING = 'Continue with current lighting';
|
|
7274
|
+
// The face liveness Retry button while the camera restarts behind it.
|
|
7275
|
+
var STARTING_CAMERA = 'Starting camera...';
|
|
7274
7276
|
var threeOhTranslations = {
|
|
7275
|
-
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),
|
|
7276
|
-
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),
|
|
7277
|
-
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),
|
|
7278
|
-
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),
|
|
7279
|
-
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),
|
|
7280
|
-
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),
|
|
7281
|
-
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),
|
|
7282
|
-
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)
|
|
7277
|
+
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),
|
|
7278
|
+
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),
|
|
7279
|
+
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),
|
|
7280
|
+
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),
|
|
7281
|
+
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),
|
|
7282
|
+
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),
|
|
7283
|
+
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),
|
|
7284
|
+
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)
|
|
7283
7285
|
};
|
|
7284
7286
|
/** Base entries win nothing — the supplement may only ADD. See `noShadowing`. */
|
|
7285
7287
|
function withThreeOhTranslations(lang, base) {
|
|
@@ -7633,7 +7635,7 @@ function useGuideOrientationContext() {
|
|
|
7633
7635
|
return ctx;
|
|
7634
7636
|
}
|
|
7635
7637
|
|
|
7636
|
-
var _templateObject
|
|
7638
|
+
var _templateObject$$, _templateObject2$R;
|
|
7637
7639
|
var _excluded$i = ["isRearFacing"];
|
|
7638
7640
|
var CameraVideoTag = /*#__PURE__*/React.forwardRef(function CameraVideoTag(_ref, ref) {
|
|
7639
7641
|
var isRearFacing = _ref.isRearFacing,
|
|
@@ -7646,10 +7648,10 @@ var CameraVideoTag = /*#__PURE__*/React.forwardRef(function CameraVideoTag(_ref,
|
|
|
7646
7648
|
"$isRearFacing": isRearFacing
|
|
7647
7649
|
}, props));
|
|
7648
7650
|
});
|
|
7649
|
-
var FullscreenVideoTag = styledComponents.styled.video(_templateObject
|
|
7651
|
+
var FullscreenVideoTag = styledComponents.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) {
|
|
7650
7652
|
return props.$isRearFacing ? '' : 'scaleX(-1)';
|
|
7651
7653
|
});
|
|
7652
|
-
var CameraFeedWrapper = styledComponents.styled.div(_templateObject2$
|
|
7654
|
+
var CameraFeedWrapper = styledComponents.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) {
|
|
7653
7655
|
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;";
|
|
7654
7656
|
}, function (props) {
|
|
7655
7657
|
return props.$hidden ? 'display: none;' : '';
|
|
@@ -7704,7 +7706,7 @@ function ScalingCameraFeed(_ref2) {
|
|
|
7704
7706
|
});
|
|
7705
7707
|
}
|
|
7706
7708
|
|
|
7707
|
-
var _templateObject$
|
|
7709
|
+
var _templateObject$_, _templateObject2$Q, _templateObject3$D, _templateObject4$y, _templateObject5$t, _templateObject6$l;
|
|
7708
7710
|
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."); }
|
|
7709
7711
|
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; } }
|
|
7710
7712
|
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; }
|
|
@@ -7726,8 +7728,8 @@ function DebugStatsPane(_ref2) {
|
|
|
7726
7728
|
if (!portalLocation) return element;
|
|
7727
7729
|
return /*#__PURE__*/reactDom.createPortal(element, portalLocation);
|
|
7728
7730
|
}
|
|
7729
|
-
var DebugStatsPaneDiv = styledComponents.styled.span(_templateObject$
|
|
7730
|
-
var ObjectDetectionDebugOverlayDiv = styledComponents.styled.div(_templateObject2$
|
|
7731
|
+
var DebugStatsPaneDiv = styledComponents.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"])));
|
|
7732
|
+
var ObjectDetectionDebugOverlayDiv = styledComponents.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) {
|
|
7731
7733
|
var $flipX = _ref3.$flipX;
|
|
7732
7734
|
return $flipX ? 'transform: scaleX(-1);' : '';
|
|
7733
7735
|
});
|
|
@@ -8039,7 +8041,7 @@ function SelfieCaptureFaceKeypoint(_ref16) {
|
|
|
8039
8041
|
});
|
|
8040
8042
|
}
|
|
8041
8043
|
|
|
8042
|
-
var _templateObject$
|
|
8044
|
+
var _templateObject$Z;
|
|
8043
8045
|
/**
|
|
8044
8046
|
* Over WebKit's 10px "thin border" cutoff (`LocalFrameView::fixedContainerEdges`).
|
|
8045
8047
|
* At or under it, Safari never reads the strip's `background-color`: it samples
|
|
@@ -8142,7 +8144,7 @@ function BrowserEdgeTint(_ref) {
|
|
|
8142
8144
|
}, "bottom:" + bottomColor)]
|
|
8143
8145
|
}), target);
|
|
8144
8146
|
}
|
|
8145
|
-
var EdgeStrip = styledComponents.styled.div(_templateObject$
|
|
8147
|
+
var EdgeStrip = styledComponents.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) {
|
|
8146
8148
|
var $edge = _ref2.$edge;
|
|
8147
8149
|
return $edge;
|
|
8148
8150
|
}, EDGE_STRIP_PX, function (_ref3) {
|
|
@@ -8153,8 +8155,13 @@ var EdgeStrip = styledComponents.styled.div(_templateObject$Y || (_templateObjec
|
|
|
8153
8155
|
return $hidden ? 'opacity: 0;' : '';
|
|
8154
8156
|
});
|
|
8155
8157
|
|
|
8156
|
-
var _templateObject$
|
|
8158
|
+
var _templateObject$Y, _templateObject2$P;
|
|
8157
8159
|
var _excluded$h = ["children", "className", "colors", "disabled", "finished", "variant"];
|
|
8160
|
+
/**
|
|
8161
|
+
* The SDK's action button. `ladda-button` / `ladda-label` are kept as class
|
|
8162
|
+
* hooks from when Ladda drew the loading state, since 2.x customer CSS may
|
|
8163
|
+
* target them.
|
|
8164
|
+
*/
|
|
8158
8165
|
var LoaderButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
8159
8166
|
var children = _ref.children,
|
|
8160
8167
|
className = _ref.className,
|
|
@@ -8165,49 +8172,14 @@ var LoaderButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
8165
8172
|
_ref$variant = _ref.variant,
|
|
8166
8173
|
variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
|
|
8167
8174
|
props = _objectWithoutPropertiesLoose(_ref, _excluded$h);
|
|
8168
|
-
var
|
|
8169
|
-
var
|
|
8170
|
-
var _useState = React.useState(false),
|
|
8171
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
8172
|
-
laddaLoaded = _useState2[0],
|
|
8173
|
-
setLaddaLoaded = _useState2[1];
|
|
8174
|
-
// Expose the button element to the parent via ref
|
|
8175
|
-
React.useImperativeHandle(ref, function () {
|
|
8176
|
-
return buttonRef.current;
|
|
8177
|
-
}, []);
|
|
8178
|
-
React.useEffect(function () {
|
|
8179
|
-
if (laddaLoaded || finished) return;
|
|
8180
|
-
var interval;
|
|
8181
|
-
var isMounted = true;
|
|
8182
|
-
import('ladda').then(function (Ladda) {
|
|
8183
|
-
if (!buttonRef.current || !isMounted) return;
|
|
8184
|
-
laddaRef.current = Ladda.create(buttonRef.current);
|
|
8185
|
-
laddaRef.current.start();
|
|
8186
|
-
setLaddaLoaded(true);
|
|
8187
|
-
var currentProgress = 0;
|
|
8188
|
-
interval = setInterval(function () {
|
|
8189
|
-
var _laddaRef$current;
|
|
8190
|
-
if (currentProgress < 0.9) currentProgress += 0.1;
|
|
8191
|
-
(_laddaRef$current = laddaRef.current) == null || _laddaRef$current.setProgress(currentProgress);
|
|
8192
|
-
}, 250);
|
|
8193
|
-
});
|
|
8194
|
-
return function () {
|
|
8195
|
-
var _laddaRef$current2;
|
|
8196
|
-
isMounted = false;
|
|
8197
|
-
(_laddaRef$current2 = laddaRef.current) == null || _laddaRef$current2.remove();
|
|
8198
|
-
clearInterval(interval);
|
|
8199
|
-
};
|
|
8200
|
-
}, [finished, laddaLoaded]);
|
|
8201
|
-
React.useEffect(function () {
|
|
8202
|
-
var _laddaRef$current3;
|
|
8203
|
-
if (laddaLoaded && finished) (_laddaRef$current3 = laddaRef.current) == null || _laddaRef$current3.stop();
|
|
8204
|
-
}, [finished, laddaLoaded]);
|
|
8175
|
+
var loading = finished === false;
|
|
8176
|
+
var inert = disabled || loading;
|
|
8205
8177
|
return jsxRuntime.jsx(StyledButton, _extends({
|
|
8206
|
-
className: "ladda-button " + className + " " + (
|
|
8207
|
-
"data-style": "expand-right",
|
|
8178
|
+
className: "ladda-button " + className + " " + (inert ? 'disabled' : ''),
|
|
8208
8179
|
type: "button",
|
|
8209
|
-
disabled:
|
|
8210
|
-
|
|
8180
|
+
disabled: inert,
|
|
8181
|
+
"aria-busy": loading,
|
|
8182
|
+
ref: ref,
|
|
8211
8183
|
"$backgroundColor": colors.backgroundColor,
|
|
8212
8184
|
"$textColor": colors.textColor,
|
|
8213
8185
|
"$disabledBackgroundColor": colors.loadingBackgroundColor,
|
|
@@ -8221,16 +8193,19 @@ var LoaderButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
8221
8193
|
}));
|
|
8222
8194
|
});
|
|
8223
8195
|
LoaderButton.displayName = 'LoaderButton';
|
|
8224
|
-
|
|
8225
|
-
|
|
8226
|
-
|
|
8227
|
-
})
|
|
8196
|
+
// From just off the left edge to just off the right: the bar is 38% wide, so
|
|
8197
|
+
// 265% of its own width carries it clear.
|
|
8198
|
+
var track = styledComponents.keyframes(_templateObject$Y || (_templateObject$Y = _taggedTemplateLiteralLoose(["\n from { transform: translateX(-100%); }\n to { transform: translateX(265%); }\n"])));
|
|
8199
|
+
var StyledButton = styledComponents.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) {
|
|
8200
|
+
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;
|
|
8201
|
+
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 ";
|
|
8202
|
+
}, track);
|
|
8228
8203
|
|
|
8229
|
-
var _templateObject$
|
|
8230
|
-
var ButtonsRow$2 = styledComponents.styled.div(_templateObject$
|
|
8204
|
+
var _templateObject$X;
|
|
8205
|
+
var ButtonsRow$2 = styledComponents.styled.div(_templateObject$X || (_templateObject$X = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 0 15px;\n justify-content: center;\n text-align: left;\n"])));
|
|
8231
8206
|
|
|
8232
|
-
var _templateObject$
|
|
8233
|
-
var GuidanceMessageContainerDiv = styledComponents.styled.div(_templateObject$
|
|
8207
|
+
var _templateObject$W, _templateObject2$O;
|
|
8208
|
+
var GuidanceMessageContainerDiv = styledComponents.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) {
|
|
8234
8209
|
var $top = _ref.$top;
|
|
8235
8210
|
return $top != null ? $top : '10%';
|
|
8236
8211
|
}, function (_ref2) {
|
|
@@ -8295,14 +8270,14 @@ var PlacedGuidanceMessageContainer = function PlacedGuidanceMessageContainer(_re
|
|
|
8295
8270
|
});
|
|
8296
8271
|
};
|
|
8297
8272
|
|
|
8298
|
-
var _templateObject$
|
|
8299
|
-
var wavesAnimation = styledComponents.keyframes(_templateObject$
|
|
8273
|
+
var _templateObject$V, _templateObject2$N, _templateObject3$C, _templateObject4$x;
|
|
8274
|
+
var wavesAnimation = styledComponents.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"])));
|
|
8300
8275
|
var progressBarAnimation = styledComponents.keyframes(_templateObject2$N || (_templateObject2$N = _taggedTemplateLiteralLoose(["\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n"])));
|
|
8301
8276
|
styledComponents.keyframes(_templateObject3$C || (_templateObject3$C = _taggedTemplateLiteralLoose(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"])));
|
|
8302
8277
|
styledComponents.keyframes(_templateObject4$x || (_templateObject4$x = _taggedTemplateLiteralLoose(["\n to {\n stroke-dashoffset: 0;\n }\n"])));
|
|
8303
8278
|
|
|
8304
|
-
var _templateObject$
|
|
8305
|
-
var OverlayContainer = styledComponents.styled.div(_templateObject$
|
|
8279
|
+
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;
|
|
8280
|
+
var OverlayContainer = styledComponents.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) {
|
|
8306
8281
|
return props.theme.background ? "" + props.theme.background : "white";
|
|
8307
8282
|
}, function (props) {
|
|
8308
8283
|
return props.theme.textColor ? "color: " + props.theme.textColor + ";" : "";
|
|
@@ -8342,7 +8317,7 @@ var LoadingOverlayHeader = styledComponents.styled.div(_templateObject0$b || (_t
|
|
|
8342
8317
|
return props.theme.padding ? "box-sizing: border-box; padding: " + props.theme.padding + ";" : "";
|
|
8343
8318
|
});
|
|
8344
8319
|
var LoadingOverlayGuidanceMessage = styledComponents.styled(GuidanceMessage)(_templateObject1$a || (_templateObject1$a = _taggedTemplateLiteralLoose(["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n"])));
|
|
8345
|
-
var LoadingOverlayImageContainer = styledComponents.styled(OverlayImageContainer)(_templateObject10$
|
|
8320
|
+
var LoadingOverlayImageContainer = styledComponents.styled(OverlayImageContainer)(_templateObject10$9 || (_templateObject10$9 = _taggedTemplateLiteralLoose(["\n padding: 0;\n max-height: 100%;\n pointer-events: none;\n"])));
|
|
8346
8321
|
var LoadingOverlayProgressBarBackground = styledComponents.styled.div.attrs({
|
|
8347
8322
|
className: 'loading-overlay-progress-bar-background'
|
|
8348
8323
|
})(_templateObject11$7 || (_templateObject11$7 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"])));
|
|
@@ -8477,8 +8452,8 @@ var error = function error() {
|
|
|
8477
8452
|
|
|
8478
8453
|
var _excluded$g = ["children", "status", "borderWidth", "borderRadius", "borderColor", "aspectRatio", "progress", "guideBoxDisabled"],
|
|
8479
8454
|
_excluded2$5 = ["borderRadius", "borderColor", "borderWidth", "borderOpacity", "progress", "isProgressBar", "scaleBorderRadius"];
|
|
8480
|
-
var _templateObject$
|
|
8481
|
-
var IdCardGuideImageContainer = styledComponents.styled(IdCardBorder)(_templateObject$
|
|
8455
|
+
var _templateObject$T, _templateObject2$L, _templateObject3$A, _templateObject4$v, _templateObject5$r, _templateObject6$j, _templateObject7$g;
|
|
8456
|
+
var IdCardGuideImageContainer = styledComponents.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) {
|
|
8482
8457
|
return props.$isVisible ? '' : 'opacity: 0;';
|
|
8483
8458
|
}, function (props) {
|
|
8484
8459
|
return props.$isMobile ? props.$isLandscape ? 'height: 100%;' : 'width: 80%;' : props.$isLandscape ? 'height: 70%;' : 'width: 82%;';
|
|
@@ -8774,7 +8749,7 @@ function useGuideImagesByUrl(images) {
|
|
|
8774
8749
|
}, [images]);
|
|
8775
8750
|
}
|
|
8776
8751
|
|
|
8777
|
-
var _templateObject$
|
|
8752
|
+
var _templateObject$S;
|
|
8778
8753
|
var FlipIdPrompt = function FlipIdPrompt(_ref) {
|
|
8779
8754
|
var _ref$images = _ref.images,
|
|
8780
8755
|
images = _ref$images === void 0 ? defaultIdCaptureGuideImages : _ref$images,
|
|
@@ -8871,11 +8846,11 @@ var FlipIdPrompt = function FlipIdPrompt(_ref) {
|
|
|
8871
8846
|
})]
|
|
8872
8847
|
});
|
|
8873
8848
|
};
|
|
8874
|
-
var Wrapper$1 = styledComponents.styled.div(_templateObject$
|
|
8849
|
+
var Wrapper$1 = styledComponents.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) {
|
|
8875
8850
|
return props.$isMobile ? props.$isLandscape ? 'height: 100%;' : 'width: 80%;' : props.$isLandscape ? 'height: 70%;' : 'width: 82%;';
|
|
8876
8851
|
});
|
|
8877
8852
|
|
|
8878
|
-
var _templateObject$
|
|
8853
|
+
var _templateObject$R, _templateObject2$K, _templateObject3$z, _templateObject4$u, _templateObject5$q, _templateObject6$i, _templateObject7$f, _templateObject8$c, _templateObject9$c;
|
|
8879
8854
|
var IdCaptureGuideOverlay = function IdCaptureGuideOverlay(_ref) {
|
|
8880
8855
|
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;
|
|
8881
8856
|
var _ref$classNames = _ref.classNames,
|
|
@@ -9031,7 +9006,7 @@ var regionClsx = function regionClsx(classNames, which) {
|
|
|
9031
9006
|
return v;
|
|
9032
9007
|
}).join(' ');
|
|
9033
9008
|
};
|
|
9034
|
-
var StyledPageContainer = styledComponents.styled.div(_templateObject$
|
|
9009
|
+
var StyledPageContainer = styledComponents.styled.div(_templateObject$R || (_templateObject$R = _taggedTemplateLiteralLoose(["\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1000;\n overflow: hidden;\n"])));
|
|
9035
9010
|
var GuidesContainer = styledComponents.styled.div(_templateObject2$K || (_templateObject2$K = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"])));
|
|
9036
9011
|
var GuideCenterRow = styledComponents.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"])));
|
|
9037
9012
|
var GuideRegion = styledComponents.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) {
|
|
@@ -9064,7 +9039,7 @@ var GuideCenterInner = styledComponents.styled.div(_templateObject9$c || (_templ
|
|
|
9064
9039
|
/** The mask colour when neither the prop nor the theme sets one. */
|
|
9065
9040
|
var OVERLAY_GUIDE_MASK_DEFAULT = 'rgba(0, 0, 0, 0.5)';
|
|
9066
9041
|
|
|
9067
|
-
var _templateObject$
|
|
9042
|
+
var _templateObject$Q, _templateObject2$J, _templateObject3$y, _templateObject4$t;
|
|
9068
9043
|
var IdCaptureFitGuide = function IdCaptureFitGuide(_ref) {
|
|
9069
9044
|
var _theme$idCapture$guid, _theme$idCapture, _theme$idCapture$guid5, _theme$idCapture5, _theme$idCapture$guid6, _theme$idCapture6, _theme$idCapture$guid7, _theme$idCapture7;
|
|
9070
9045
|
var aspectRatio = _ref.aspectRatio,
|
|
@@ -9301,7 +9276,7 @@ var IdCaptureFitGuide = function IdCaptureFitGuide(_ref) {
|
|
|
9301
9276
|
})]
|
|
9302
9277
|
});
|
|
9303
9278
|
};
|
|
9304
|
-
var CanvasWrapper$1 = styledComponents.styled.div(_templateObject$
|
|
9279
|
+
var CanvasWrapper$1 = styledComponents.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) {
|
|
9305
9280
|
return props.$aboveCameraFeed ? "z-index: 1;" : "box-shadow: inset 0 0 0 2px " + props.$maskColor + ";\n z-index: -1;";
|
|
9306
9281
|
});
|
|
9307
9282
|
var Canvas$2 = styledComponents.styled.canvas(_templateObject2$J || (_templateObject2$J = _taggedTemplateLiteralLoose(["\n display: block;\n"])));
|
|
@@ -9333,8 +9308,8 @@ function downloadingLabel(downloadingText, downloadProgress) {
|
|
|
9333
9308
|
});
|
|
9334
9309
|
}
|
|
9335
9310
|
|
|
9336
|
-
var _templateObject$
|
|
9337
|
-
var ExitCaptureStyledButton = styledComponents.styled.button(_templateObject$
|
|
9311
|
+
var _templateObject$P;
|
|
9312
|
+
var ExitCaptureStyledButton = styledComponents.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"])));
|
|
9338
9313
|
var ExitCaptureButton = function ExitCaptureButton(_ref) {
|
|
9339
9314
|
var onClick = _ref.onClick,
|
|
9340
9315
|
className = _ref.className;
|
|
@@ -9383,7 +9358,7 @@ var ExitCaptureButton = function ExitCaptureButton(_ref) {
|
|
|
9383
9358
|
});
|
|
9384
9359
|
};
|
|
9385
9360
|
|
|
9386
|
-
var _templateObject$
|
|
9361
|
+
var _templateObject$O, _templateObject2$I, _templateObject3$x, _templateObject4$s;
|
|
9387
9362
|
function IdCaptureLoadingGraphic(props) {
|
|
9388
9363
|
var isMobile = window.innerHeight > window.innerWidth;
|
|
9389
9364
|
return isMobile ? jsxRuntime.jsx(IdCaptureLoadingGraphicMobile, _extends({}, props)) : jsxRuntime.jsx(IdCaptureLoadingGraphicDesktop, _extends({}, props));
|
|
@@ -9880,7 +9855,7 @@ function IdCaptureLoadingGraphicMobile(_ref2) {
|
|
|
9880
9855
|
})]
|
|
9881
9856
|
});
|
|
9882
9857
|
}
|
|
9883
|
-
var LoadingGraphicWrapper = styledComponents.styled.div(_templateObject$
|
|
9858
|
+
var LoadingGraphicWrapper = styledComponents.styled.div(_templateObject$O || (_templateObject$O = _taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n height: 100%;\n"])));
|
|
9884
9859
|
var LoadingGraphicSvg = styledComponents.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) {
|
|
9885
9860
|
return props.$frame > 1 ? 1 : props.$frame === 1 ? 1.25 : 0.75;
|
|
9886
9861
|
}, function (props) {
|
|
@@ -10079,7 +10054,7 @@ var useAutoContinueWhenReady = function useAutoContinueWhenReady(_ref) {
|
|
|
10079
10054
|
}, [enabled, ready]);
|
|
10080
10055
|
};
|
|
10081
10056
|
|
|
10082
|
-
var _templateObject$
|
|
10057
|
+
var _templateObject$N;
|
|
10083
10058
|
var LoadingSpinnerContext = /*#__PURE__*/React.createContext(undefined);
|
|
10084
10059
|
function LoadingSpinnerProvider(_ref) {
|
|
10085
10060
|
var spinner = _ref.spinner,
|
|
@@ -10147,9 +10122,9 @@ function CustomerLoadingSpinner(_ref2) {
|
|
|
10147
10122
|
}
|
|
10148
10123
|
// `display: contents` while empty: an empty flex box still occupies its
|
|
10149
10124
|
// parent's gap/padding, which would offset the fallback it sits next to.
|
|
10150
|
-
var SpinnerSlot = styledComponents.styled.div(_templateObject$
|
|
10125
|
+
var SpinnerSlot = styledComponents.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"])));
|
|
10151
10126
|
|
|
10152
|
-
var _templateObject$
|
|
10127
|
+
var _templateObject$M, _templateObject2$H, _templateObject3$w, _templateObject4$r, _templateObject5$p;
|
|
10153
10128
|
var legacyInstructionImageUrl$1 = DEFAULT_CDN_URL$1 + "/WebSDK-Instruction-DL-Capture-3-Portrait.png";
|
|
10154
10129
|
// Module-level so the default `now` prop has a stable identity across
|
|
10155
10130
|
// renders (it sits in useModelWarmingElapsedMs's effect dependency array).
|
|
@@ -10338,7 +10313,7 @@ var IdCaptureLoadingOverlayDefault = function IdCaptureLoadingOverlayDefault(_re
|
|
|
10338
10313
|
})
|
|
10339
10314
|
});
|
|
10340
10315
|
};
|
|
10341
|
-
var OverlayInner$1 = styledComponents.styled(LoadingOverlayInner)(_templateObject$
|
|
10316
|
+
var OverlayInner$1 = styledComponents.styled(LoadingOverlayInner)(_templateObject$M || (_templateObject$M = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n"])), function (props) {
|
|
10342
10317
|
var _props$theme$idCaptur, _props$theme;
|
|
10343
10318
|
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;
|
|
10344
10319
|
}, function (props) {
|
|
@@ -18999,7 +18974,7 @@ function instructionVerbiage(bag, code) {
|
|
|
18999
18974
|
return bag == null ? void 0 : bag[instructionVerbiageKeys[code]];
|
|
19000
18975
|
}
|
|
19001
18976
|
|
|
19002
|
-
var _templateObject$
|
|
18977
|
+
var _templateObject$L, _templateObject2$G, _templateObject3$v, _templateObject4$q, _templateObject5$o;
|
|
19003
18978
|
var PDF417_ASPECT_RATIO = 3 / 1;
|
|
19004
18979
|
function BarcodeGuideOverlay(_ref) {
|
|
19005
18980
|
var _ref$aspectRatio = _ref.aspectRatio,
|
|
@@ -19129,14 +19104,14 @@ function BarcodeGuideOverlay(_ref) {
|
|
|
19129
19104
|
})]
|
|
19130
19105
|
});
|
|
19131
19106
|
}
|
|
19132
|
-
var Wrapper = styledComponents.styled.div(_templateObject$
|
|
19107
|
+
var Wrapper = styledComponents.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"])));
|
|
19133
19108
|
var Canvas$1 = styledComponents.styled.canvas(_templateObject2$G || (_templateObject2$G = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"])));
|
|
19134
19109
|
var TextOverlay = styledComponents.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"])));
|
|
19135
19110
|
var HeaderText = styledComponents.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"])));
|
|
19136
19111
|
var InstructionText = styledComponents.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"])));
|
|
19137
19112
|
|
|
19138
|
-
var _templateObject$
|
|
19139
|
-
var scaleIn = styledComponents.keyframes(_templateObject$
|
|
19113
|
+
var _templateObject$K, _templateObject2$F, _templateObject3$u, _templateObject4$p, _templateObject5$n, _templateObject6$h;
|
|
19114
|
+
var scaleIn = styledComponents.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"])));
|
|
19140
19115
|
var drawCheck = styledComponents.keyframes(_templateObject2$F || (_templateObject2$F = _taggedTemplateLiteralLoose(["\n 0% {\n stroke-dashoffset: 24;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n"])));
|
|
19141
19116
|
styledComponents.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"])));
|
|
19142
19117
|
styledComponents.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) {
|
|
@@ -19237,7 +19212,7 @@ function IdCaptureGuides(_ref) {
|
|
|
19237
19212
|
});
|
|
19238
19213
|
}
|
|
19239
19214
|
|
|
19240
|
-
var _templateObject$
|
|
19215
|
+
var _templateObject$J, _templateObject2$E, _templateObject3$t, _templateObject4$o, _templateObject5$m;
|
|
19241
19216
|
function OverrideWrongDocumentTypeDialog(_ref) {
|
|
19242
19217
|
var visible = _ref.visible,
|
|
19243
19218
|
onOverride = _ref.onOverride,
|
|
@@ -19269,7 +19244,7 @@ function OverrideWrongDocumentTypeDialog(_ref) {
|
|
|
19269
19244
|
})
|
|
19270
19245
|
});
|
|
19271
19246
|
}
|
|
19272
|
-
var Container$3 = styledComponents.styled.div(_templateObject$
|
|
19247
|
+
var Container$3 = styledComponents.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) {
|
|
19273
19248
|
var _props$theme$idCaptur, _props$theme$idCaptur2;
|
|
19274
19249
|
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';
|
|
19275
19250
|
}, function (props) {
|
|
@@ -19386,7 +19361,7 @@ var IdCaptureLoadingOverlayLegacy = function IdCaptureLoadingOverlayLegacy(_ref)
|
|
|
19386
19361
|
});
|
|
19387
19362
|
};
|
|
19388
19363
|
|
|
19389
|
-
var _templateObject$
|
|
19364
|
+
var _templateObject$I, _templateObject2$D;
|
|
19390
19365
|
var RING_SIZE = 74;
|
|
19391
19366
|
var RADIUS = 32;
|
|
19392
19367
|
var CIRCUMFERENCE = 2 * Math.PI * RADIUS;
|
|
@@ -19431,7 +19406,7 @@ var RingProgress = function RingProgress(_ref) {
|
|
|
19431
19406
|
})]
|
|
19432
19407
|
});
|
|
19433
19408
|
};
|
|
19434
|
-
var RingSvg = styledComponents.styled.svg(_templateObject$
|
|
19409
|
+
var RingSvg = styledComponents.styled.svg(_templateObject$I || (_templateObject$I = _taggedTemplateLiteralLoose(["\n width: ", "px;\n height: ", "px;\n transform: rotate(-90deg);\n"])), RING_SIZE, RING_SIZE);
|
|
19435
19410
|
var FillCircle = styledComponents.styled.circle(_templateObject2$D || (_templateObject2$D = _taggedTemplateLiteralLoose(["\n transition: stroke-dashoffset 0.3s linear;\n"])));
|
|
19436
19411
|
|
|
19437
19412
|
var selectRingStatusKey = function selectRingStatusKey(_ref) {
|
|
@@ -19447,7 +19422,7 @@ var selectRingStatusKey = function selectRingStatusKey(_ref) {
|
|
|
19447
19422
|
return 'warming';
|
|
19448
19423
|
};
|
|
19449
19424
|
|
|
19450
|
-
var _templateObject$
|
|
19425
|
+
var _templateObject$H, _templateObject2$C, _templateObject3$s, _templateObject4$n, _templateObject5$l, _templateObject6$g, _templateObject7$e, _templateObject8$b, _templateObject9$b, _templateObject0$a, _templateObject1$9;
|
|
19451
19426
|
/**
|
|
19452
19427
|
* The ring overlay's priming cover page (CEO prototype `#v-prime`): camera
|
|
19453
19428
|
* badge, title/subtitle, step chips, reassurance chip, "Enable camera &
|
|
@@ -19518,7 +19493,6 @@ var RingIntroScreen = function RingIntroScreen(_ref) {
|
|
|
19518
19493
|
finished: !requesting,
|
|
19519
19494
|
disabled: requesting,
|
|
19520
19495
|
onClick: onStart,
|
|
19521
|
-
"data-spinner-color": badgeColor,
|
|
19522
19496
|
children: requesting ? requestingButtonText : startButtonText
|
|
19523
19497
|
}), jsxRuntime.jsx(Privacy, {
|
|
19524
19498
|
className: classNames.introPrivacy,
|
|
@@ -19526,20 +19500,19 @@ var RingIntroScreen = function RingIntroScreen(_ref) {
|
|
|
19526
19500
|
})]
|
|
19527
19501
|
});
|
|
19528
19502
|
};
|
|
19529
|
-
var _float = styledComponents.keyframes(_templateObject$
|
|
19530
|
-
var
|
|
19531
|
-
var
|
|
19532
|
-
var Badge = styledComponents.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) {
|
|
19503
|
+
var _float = styledComponents.keyframes(_templateObject$H || (_templateObject$H = _taggedTemplateLiteralLoose(["\n 0%, 100% { transform: translateY(0); }\n 50% { transform: translateY(-7px); }\n"])));
|
|
19504
|
+
var IntroLayout = styledComponents.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"])));
|
|
19505
|
+
var Badge = styledComponents.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) {
|
|
19533
19506
|
return props.$color;
|
|
19534
19507
|
}, function (props) {
|
|
19535
19508
|
return props.$color;
|
|
19536
19509
|
}, _float);
|
|
19537
|
-
var Title$4 = styledComponents.styled.div(
|
|
19538
|
-
var Subtitle$3 = styledComponents.styled.div(
|
|
19539
|
-
var Steps = styledComponents.styled.div(
|
|
19540
|
-
var Step = styledComponents.styled.div(
|
|
19541
|
-
var StepDot = styledComponents.styled.div(
|
|
19542
|
-
var ReassuranceChip = styledComponents.styled.div(
|
|
19510
|
+
var Title$4 = styledComponents.styled.div(_templateObject4$n || (_templateObject4$n = _taggedTemplateLiteralLoose(["\n font-size: 22px;\n font-weight: 700;\n"])));
|
|
19511
|
+
var Subtitle$3 = styledComponents.styled.div(_templateObject5$l || (_templateObject5$l = _taggedTemplateLiteralLoose(["\n font-size: 14px;\n opacity: 0.65;\n line-height: 1.5;\n"])));
|
|
19512
|
+
var Steps = styledComponents.styled.div(_templateObject6$g || (_templateObject6$g = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 26px;\n margin: 16px 0 6px;\n"])));
|
|
19513
|
+
var Step = styledComponents.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"])));
|
|
19514
|
+
var StepDot = styledComponents.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"])));
|
|
19515
|
+
var ReassuranceChip = styledComponents.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) {
|
|
19543
19516
|
return props.$tint;
|
|
19544
19517
|
});
|
|
19545
19518
|
/* Pill treatment from the CEO prototype (.btn.primary: radius 26, teal glow,
|
|
@@ -19547,10 +19520,8 @@ var ReassuranceChip = styledComponents.styled.div(_templateObject0$a || (_templa
|
|
|
19547
19520
|
* theme styling. The glow and the deliberately quiet focus ring derive from
|
|
19548
19521
|
* the button's own background (--bs-btn-bg, set by the theme's bootstrap
|
|
19549
19522
|
* block) with the intro accent as fallback for un-themed buttons. Double
|
|
19550
|
-
* ampersand outranks the base LoaderButton rules
|
|
19551
|
-
|
|
19552
|
-
* keeps its room. */
|
|
19553
|
-
var StartButton = styledComponents.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) {
|
|
19523
|
+
* ampersand outranks the base LoaderButton rules. */
|
|
19524
|
+
var StartButton = styledComponents.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) {
|
|
19554
19525
|
return props.$accent;
|
|
19555
19526
|
}, function (props) {
|
|
19556
19527
|
return props.$accent;
|
|
@@ -19566,8 +19537,8 @@ var StartButton = styledComponents.styled(LoaderButton)(_templateObject1$9 || (_
|
|
|
19566
19537
|
return props.$accent;
|
|
19567
19538
|
}, function (props) {
|
|
19568
19539
|
return props.$accent;
|
|
19569
|
-
}
|
|
19570
|
-
var Privacy = styledComponents.styled.div(
|
|
19540
|
+
});
|
|
19541
|
+
var Privacy = styledComponents.styled.div(_templateObject1$9 || (_templateObject1$9 = _taggedTemplateLiteralLoose(["\n font-size: 11px;\n opacity: 0.55;\n margin-top: 6px;\n"])));
|
|
19571
19542
|
|
|
19572
19543
|
var selectRingOverlayStage = function selectRingOverlayStage(_ref) {
|
|
19573
19544
|
var showIntroScreen = _ref.showIntroScreen,
|
|
@@ -19577,7 +19548,7 @@ var selectRingOverlayStage = function selectRingOverlayStage(_ref) {
|
|
|
19577
19548
|
return requesting ? 'requesting' : 'intro';
|
|
19578
19549
|
};
|
|
19579
19550
|
|
|
19580
|
-
var _templateObject$
|
|
19551
|
+
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;
|
|
19581
19552
|
/** Minimum time a stage handoff stays on screen so its message is
|
|
19582
19553
|
* legible even when everything preloaded and readiness is instant. */
|
|
19583
19554
|
var STAGE_TRANSITION_HOLD_MS = 1600;
|
|
@@ -19636,7 +19607,7 @@ var RingStageTransition = function RingStageTransition(_ref) {
|
|
|
19636
19607
|
})]
|
|
19637
19608
|
});
|
|
19638
19609
|
};
|
|
19639
|
-
var badgePop = styledComponents.keyframes(_templateObject$
|
|
19610
|
+
var badgePop = styledComponents.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"])));
|
|
19640
19611
|
var cardFlip = styledComponents.keyframes(_templateObject2$B || (_templateObject2$B = _taggedTemplateLiteralLoose(["\n from { transform: rotateY(0deg); }\n to { transform: rotateY(180deg); }\n"])));
|
|
19641
19612
|
var microcopyBeat = styledComponents.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"])));
|
|
19642
19613
|
var rise = styledComponents.keyframes(_templateObject4$m || (_templateObject4$m = _taggedTemplateLiteralLoose(["\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n"])));
|
|
@@ -19668,7 +19639,7 @@ var LoadingRow = styledComponents.styled.div(_templateObject15$4 || (_templateOb
|
|
|
19668
19639
|
return props.$visible ? 1 : 0;
|
|
19669
19640
|
});
|
|
19670
19641
|
|
|
19671
|
-
var _templateObject$
|
|
19642
|
+
var _templateObject$F, _templateObject2$A, _templateObject3$q, _templateObject4$l, _templateObject5$j, _templateObject6$e, _templateObject7$c;
|
|
19672
19643
|
// Module-level so the default `now` prop has a stable identity across
|
|
19673
19644
|
// renders (it sits in useModelWarmingElapsedMs's effect dependency array).
|
|
19674
19645
|
var defaultNow$2 = function defaultNow() {
|
|
@@ -19942,7 +19913,7 @@ var IdCaptureLoadingOverlayRing = function IdCaptureLoadingOverlayRing(_ref) {
|
|
|
19942
19913
|
})
|
|
19943
19914
|
});
|
|
19944
19915
|
};
|
|
19945
|
-
var overlayFadeIn$1 = styledComponents.keyframes(_templateObject$
|
|
19916
|
+
var overlayFadeIn$1 = styledComponents.keyframes(_templateObject$F || (_templateObject$F = _taggedTemplateLiteralLoose(["\n from { opacity: 0; }\n to { opacity: 1; }\n"])));
|
|
19946
19917
|
var RingOverlayInner$1 = styledComponents.styled(LoadingOverlayInner)(_templateObject2$A || (_templateObject2$A = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n ", "\n"])), function (props) {
|
|
19947
19918
|
var _props$theme$idCaptur, _props$theme;
|
|
19948
19919
|
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)';
|
|
@@ -20047,11 +20018,11 @@ var CapturedDocumentImg = function CapturedDocumentImg(_ref) {
|
|
|
20047
20018
|
});
|
|
20048
20019
|
};
|
|
20049
20020
|
|
|
20050
|
-
var _templateObject$
|
|
20051
|
-
var Card = styledComponents.styled.div(_templateObject$
|
|
20021
|
+
var _templateObject$E, _templateObject2$z;
|
|
20022
|
+
var Card = styledComponents.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"])));
|
|
20052
20023
|
var FlexCard = styledComponents.styled(Card)(_templateObject2$z || (_templateObject2$z = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n"])));
|
|
20053
20024
|
|
|
20054
|
-
var _templateObject$
|
|
20025
|
+
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;
|
|
20055
20026
|
function ReviewDocumentDiagnostics(_ref) {
|
|
20056
20027
|
var _document$detectionSc, _document$detectionSc2, _document$focusScore, _document$focusScore2;
|
|
20057
20028
|
var document = _ref.document,
|
|
@@ -20510,7 +20481,7 @@ function RotationAttemptRow(_ref3) {
|
|
|
20510
20481
|
})]
|
|
20511
20482
|
});
|
|
20512
20483
|
}
|
|
20513
|
-
var DebugInfoContainer = styledComponents.styled.div(_templateObject$
|
|
20484
|
+
var DebugInfoContainer = styledComponents.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"])));
|
|
20514
20485
|
var DebugSection = styledComponents.styled.div(_templateObject2$y || (_templateObject2$y = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin: 0;\n"])));
|
|
20515
20486
|
var DebugLabel = styledComponents.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"])));
|
|
20516
20487
|
var DebugValue = styledComponents.styled.span(_templateObject4$k || (_templateObject4$k = _taggedTemplateLiteralLoose(["\n color: #212529;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.8125rem;\n"])));
|
|
@@ -20626,7 +20597,7 @@ var DiagnosticsBadge = styledComponents.styled.span(_templateObject44 || (_templ
|
|
|
20626
20597
|
return $highlight ? '#004085' : $ok ? '#155724' : '#721c24';
|
|
20627
20598
|
});
|
|
20628
20599
|
|
|
20629
|
-
var _templateObject$
|
|
20600
|
+
var _templateObject$C, _templateObject2$x, _templateObject3$o, _templateObject4$j, _templateObject5$h;
|
|
20630
20601
|
var imageDisplayOrder = ['idCardFront', 'idCardBack', 'idBarcodeImage', 'passport', 'singlePage', 'idFrontIrImage', 'idBackIrImage', 'idFrontUvImage', 'idBackUvImage'];
|
|
20631
20602
|
var ReviewScreen = function ReviewScreen(_ref) {
|
|
20632
20603
|
var capturedDocuments = _ref.capturedDocuments,
|
|
@@ -20717,13 +20688,13 @@ var ReviewScreen = function ReviewScreen(_ref) {
|
|
|
20717
20688
|
})
|
|
20718
20689
|
});
|
|
20719
20690
|
};
|
|
20720
|
-
var Heading$9 = styledComponents.styled.h1(_templateObject$
|
|
20691
|
+
var Heading$9 = styledComponents.styled.h1(_templateObject$C || (_templateObject$C = _taggedTemplateLiteralLoose(["\n font-size: 1.5rem;\n margin-top: 0;\n margin-bottom: 1.5rem;\n"])));
|
|
20721
20692
|
var ImagesContainer = styledComponents.styled(OverlayImageContainer)(_templateObject2$x || (_templateObject2$x = _taggedTemplateLiteralLoose(["\n flex-grow: 1;\n overflow-y: auto;\n padding-bottom: 0;\n max-width: 100%;\n"])));
|
|
20722
20693
|
var ImageRow = styledComponents.styled(OverlayImageRow)(_templateObject3$o || (_templateObject3$o = _taggedTemplateLiteralLoose(["\n max-width: 100%;\n flex-direction: column;\n position: relative;\n width: 100%;\n"])));
|
|
20723
20694
|
var ImageCol$1 = styledComponents.styled.div(_templateObject4$j || (_templateObject4$j = _taggedTemplateLiteralLoose(["\n width: 450px;\n max-width: 100%;\n max-height: none !important;\n"])));
|
|
20724
20695
|
var StyledImage = styledComponents.styled(CapturedDocumentImg)(_templateObject5$h || (_templateObject5$h = _taggedTemplateLiteralLoose(["\n width: 100%;\n border-radius: 12px;\n"])));
|
|
20725
20696
|
|
|
20726
|
-
var _templateObject$
|
|
20697
|
+
var _templateObject$B, _templateObject2$w, _templateObject3$n, _templateObject4$i;
|
|
20727
20698
|
var CameraAccessDeniedOverlay = function CameraAccessDeniedOverlay(_ref) {
|
|
20728
20699
|
var _assets$imageUrl, _classNames$container;
|
|
20729
20700
|
var onRetry = _ref.onRetry,
|
|
@@ -20782,12 +20753,12 @@ var CameraAccessDeniedOverlay = function CameraAccessDeniedOverlay(_ref) {
|
|
|
20782
20753
|
})
|
|
20783
20754
|
});
|
|
20784
20755
|
};
|
|
20785
|
-
var StyledOverlayInner$2 = styledComponents.styled(OverlayInner$2)(_templateObject$
|
|
20756
|
+
var StyledOverlayInner$2 = styledComponents.styled(OverlayInner$2)(_templateObject$B || (_templateObject$B = _taggedTemplateLiteralLoose(["\n max-width: 500px;\n height: auto;\n margin: auto;\n"])));
|
|
20786
20757
|
var StyledOverlayImageContainer = styledComponents.styled(OverlayImageContainer)(_templateObject2$w || (_templateObject2$w = _taggedTemplateLiteralLoose(["\n flex-grow: 0;\n"])));
|
|
20787
20758
|
var Description$3 = styledComponents.styled.p(_templateObject3$n || (_templateObject3$n = _taggedTemplateLiteralLoose(["\n line-height: 1.5;\n margin-bottom: 50px;\n"])));
|
|
20788
20759
|
var RetryButton$1 = styledComponents.styled(LoaderButton)(_templateObject4$i || (_templateObject4$i = _taggedTemplateLiteralLoose(["\n width: 200px;\n margin: 0 auto;\n"])));
|
|
20789
20760
|
|
|
20790
|
-
var _templateObject$
|
|
20761
|
+
var _templateObject$A, _templateObject2$v, _templateObject3$m;
|
|
20791
20762
|
var ErrorScreen = function ErrorScreen(_ref) {
|
|
20792
20763
|
var error = _ref.error,
|
|
20793
20764
|
onRetry = _ref.onRetry,
|
|
@@ -20978,7 +20949,7 @@ var cameraFailureClassNames = function cameraFailureClassNames(own, bag) {
|
|
|
20978
20949
|
// component pins its own foreground for the same reason (e.g.
|
|
20979
20950
|
// IdCaptureLoadingOverlayDefault's `theme...textColor ?? 'black'`); do the
|
|
20980
20951
|
// same here rather than inherit a foreground meant for the dark overlays.
|
|
20981
|
-
var ErrorCard = styledComponents.styled(FlexCard)(_templateObject$
|
|
20952
|
+
var ErrorCard = styledComponents.styled(FlexCard)(_templateObject$A || (_templateObject$A = _taggedTemplateLiteralLoose(["\n color: black;\n"])));
|
|
20982
20953
|
var Heading$8 = styledComponents.styled.h1(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n font-size: 1.5rem;\n margin-top: 0;\n margin-bottom: 1rem;\n"])));
|
|
20983
20954
|
var Description$2 = styledComponents.styled.p(_templateObject3$m || (_templateObject3$m = _taggedTemplateLiteralLoose(["\n line-height: 1.5;\n margin-bottom: 1.5rem;\n"])));
|
|
20984
20955
|
|
|
@@ -21021,7 +20992,7 @@ function fallbackCaptureMoreLabelForStep(idCaptureRequirement, idCardBackCapture
|
|
|
21021
20992
|
return key === 'third' ? 'ID page of passport' : 'back of ID card';
|
|
21022
20993
|
}
|
|
21023
20994
|
|
|
21024
|
-
var _templateObject$
|
|
20995
|
+
var _templateObject$z, _templateObject2$u, _templateObject3$l, _templateObject4$h, _templateObject5$g, _templateObject6$c, _templateObject7$a;
|
|
21025
20996
|
function IdCaptureFallback(_ref) {
|
|
21026
20997
|
var _ref$captureRequireme = _ref.captureRequirement,
|
|
21027
20998
|
captureRequirement = _ref$captureRequireme === void 0 ? 'idCardOrPassport' : _ref$captureRequireme,
|
|
@@ -21190,7 +21161,7 @@ function IdCaptureFallback(_ref) {
|
|
|
21190
21161
|
})
|
|
21191
21162
|
});
|
|
21192
21163
|
}
|
|
21193
|
-
var StyledOverlayInner$1 = styledComponents.styled(OverlayInner$2)(_templateObject$
|
|
21164
|
+
var StyledOverlayInner$1 = styledComponents.styled(OverlayInner$2)(_templateObject$z || (_templateObject$z = _taggedTemplateLiteralLoose(["\n justify-content: center;\n"])));
|
|
21194
21165
|
var Heading$7 = styledComponents.styled.h3(_templateObject2$u || (_templateObject2$u = _taggedTemplateLiteralLoose(["\n margin-bottom: 8px;\n"])));
|
|
21195
21166
|
var Description$1 = styledComponents.styled.p(_templateObject3$l || (_templateObject3$l = _taggedTemplateLiteralLoose(["\n margin-bottom: 8px;\n"])));
|
|
21196
21167
|
var Instruction = styledComponents.styled.p(_templateObject4$h || (_templateObject4$h = _taggedTemplateLiteralLoose(["\n font-weight: bold;\n"])));
|
|
@@ -21198,7 +21169,7 @@ var ReadFailed$1 = styledComponents.styled.p(_templateObject5$g || (_templateObj
|
|
|
21198
21169
|
var ImageCol = styledComponents.styled.div(_templateObject6$c || (_templateObject6$c = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"])));
|
|
21199
21170
|
var StyledButtonsRow$6 = styledComponents.styled(ButtonsRow$2)(_templateObject7$a || (_templateObject7$a = _taggedTemplateLiteralLoose(["\n margin-top: 32px;\n"])));
|
|
21200
21171
|
|
|
21201
|
-
var _templateObject$
|
|
21172
|
+
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;
|
|
21202
21173
|
function IdCaptureOrUploadScreen(_ref) {
|
|
21203
21174
|
var _ref$captureRequireme = _ref.captureRequirement,
|
|
21204
21175
|
captureRequirement = _ref$captureRequireme === void 0 ? 'idCardOrPassport' : _ref$captureRequireme,
|
|
@@ -21445,7 +21416,7 @@ function IdCaptureOrUploadScreen(_ref) {
|
|
|
21445
21416
|
})]
|
|
21446
21417
|
});
|
|
21447
21418
|
}
|
|
21448
|
-
var ScreenContainer = styledComponents.styled.div(_templateObject$
|
|
21419
|
+
var ScreenContainer = styledComponents.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) {
|
|
21449
21420
|
var _props$theme$backgrou, _props$theme;
|
|
21450
21421
|
return (_props$theme$backgrou = (_props$theme = props.theme) == null ? void 0 : _props$theme.background) != null ? _props$theme$backgrou : '#fff';
|
|
21451
21422
|
});
|
|
@@ -21566,7 +21537,7 @@ function useSessionReady() {
|
|
|
21566
21537
|
return context ? context.sessionReady : true;
|
|
21567
21538
|
}
|
|
21568
21539
|
|
|
21569
|
-
var _templateObject$
|
|
21540
|
+
var _templateObject$x;
|
|
21570
21541
|
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."); }
|
|
21571
21542
|
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; } }
|
|
21572
21543
|
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; }
|
|
@@ -21582,7 +21553,7 @@ function _arrayLikeToArray$j(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
21582
21553
|
// containing block against whatever ancestor the host provides, exactly as
|
|
21583
21554
|
// before this wrapper existed) while font-family -- an inherited CSS
|
|
21584
21555
|
// property -- still cascades to every descendant.
|
|
21585
|
-
var FontCarrier = styledComponents.styled.div(_templateObject$
|
|
21556
|
+
var FontCarrier = styledComponents.styled.div(_templateObject$x || (_templateObject$x = _taggedTemplateLiteralLoose(["\n display: contents;\n ", "\n"])), function (props) {
|
|
21586
21557
|
var _props$theme;
|
|
21587
21558
|
return (_props$theme = props.theme) != null && _props$theme.fontFamily ? "font-family: " + props.theme.fontFamily + ";" : '';
|
|
21588
21559
|
});
|
|
@@ -24177,6 +24148,7 @@ function createSelfieCaptureController(config) {
|
|
|
24177
24148
|
liveness: config.liveness ? createInitialLivenessMachineState() : null,
|
|
24178
24149
|
challenge: null,
|
|
24179
24150
|
livenessTimedOut: false,
|
|
24151
|
+
retryPending: false,
|
|
24180
24152
|
handOverFace: {
|
|
24181
24153
|
status: 'off',
|
|
24182
24154
|
lastCheck: null
|
|
@@ -25558,6 +25530,19 @@ function createSelfieCaptureController(config) {
|
|
|
25558
25530
|
livenessTimedOut: false
|
|
25559
25531
|
});
|
|
25560
25532
|
}
|
|
25533
|
+
// retry()'s reset of the terminal attempt, run straight away or once a
|
|
25534
|
+
// released camera is back. Moving off the terminal phase and verdict is
|
|
25535
|
+
// what takes the view's terminal screen down.
|
|
25536
|
+
function spendRetry() {
|
|
25537
|
+
if (config.liveness) resetLivenessAttempt();
|
|
25538
|
+
progress.retry('capture-error');
|
|
25539
|
+
internal.setState({
|
|
25540
|
+
retryPending: false
|
|
25541
|
+
});
|
|
25542
|
+
dispatch({
|
|
25543
|
+
type: 'retryRequested'
|
|
25544
|
+
});
|
|
25545
|
+
}
|
|
25561
25546
|
// retry()'s capture re-entry, run straight away or once a released camera
|
|
25562
25547
|
// is back.
|
|
25563
25548
|
function resumeCapture() {
|
|
@@ -25714,6 +25699,7 @@ function createSelfieCaptureController(config) {
|
|
|
25714
25699
|
liveness: config.liveness ? createInitialLivenessMachineState() : null,
|
|
25715
25700
|
challenge: null,
|
|
25716
25701
|
livenessTimedOut: false,
|
|
25702
|
+
retryPending: false,
|
|
25717
25703
|
handOverFace: {
|
|
25718
25704
|
status: 'off',
|
|
25719
25705
|
lastCheck: null
|
|
@@ -25891,27 +25877,42 @@ function createSelfieCaptureController(config) {
|
|
|
25891
25877
|
},
|
|
25892
25878
|
retry: function retry() {
|
|
25893
25879
|
if (!active) return;
|
|
25894
|
-
if (config.liveness) resetLivenessAttempt();
|
|
25895
|
-
progress.retry('capture-error');
|
|
25896
|
-
dispatch({
|
|
25897
|
-
type: 'retryRequested'
|
|
25898
|
-
});
|
|
25899
25880
|
if (!cameraReleased) {
|
|
25881
|
+
spendRetry();
|
|
25900
25882
|
resumeCapture();
|
|
25901
25883
|
return;
|
|
25902
25884
|
}
|
|
25903
|
-
// The terminal screen handed the camera back: get it again
|
|
25904
|
-
//
|
|
25905
|
-
//
|
|
25906
|
-
//
|
|
25907
|
-
// up the camera error screen and its recovery path.
|
|
25885
|
+
// The terminal screen handed the camera back: get it again BEFORE
|
|
25886
|
+
// leaving that screen, so the user never lands on a feed with no
|
|
25887
|
+
// stream, and the initial-delay gate and kick-out count from a live
|
|
25888
|
+
// feed. A second retry() while this is in flight joins it.
|
|
25908
25889
|
if (cameraReacquisition) return;
|
|
25890
|
+
internal.setState({
|
|
25891
|
+
retryPending: true
|
|
25892
|
+
});
|
|
25909
25893
|
var generation = attachGeneration;
|
|
25894
|
+
// exitCapture() clears `retryPending` if it sent the user back to the
|
|
25895
|
+
// instructions while the camera was coming back.
|
|
25896
|
+
var stillPending = function stillPending() {
|
|
25897
|
+
return active && generation === attachGeneration && internal.getState().retryPending;
|
|
25898
|
+
};
|
|
25910
25899
|
var reacquisition = requestCamera().then(function () {
|
|
25911
|
-
|
|
25912
|
-
|
|
25913
|
-
|
|
25914
|
-
}
|
|
25900
|
+
if (!stillPending()) return;
|
|
25901
|
+
spendRetry();
|
|
25902
|
+
resumeCapture();
|
|
25903
|
+
}, function () {
|
|
25904
|
+
// Spend the attempt anyway so the terminal screen gives way to
|
|
25905
|
+
// the camera error screen, whose recovery re-enters through
|
|
25906
|
+
// 'loading'. 'retryRequested' clears `error`, so the one
|
|
25907
|
+
// requestCamera wrote goes back on after it.
|
|
25908
|
+
if (!stillPending()) return;
|
|
25909
|
+
var _internal$getState = internal.getState(),
|
|
25910
|
+
error = _internal$getState.error;
|
|
25911
|
+
spendRetry();
|
|
25912
|
+
internal.setState({
|
|
25913
|
+
error: error
|
|
25914
|
+
});
|
|
25915
|
+
})["finally"](function () {
|
|
25915
25916
|
// detach() may have dropped this one and a newer one started.
|
|
25916
25917
|
if (cameraReacquisition === reacquisition) cameraReacquisition = null;
|
|
25917
25918
|
});
|
|
@@ -25920,8 +25921,8 @@ function createSelfieCaptureController(config) {
|
|
|
25920
25921
|
exitCapture: function exitCapture() {
|
|
25921
25922
|
var _frameLoop9;
|
|
25922
25923
|
if (!active) return;
|
|
25923
|
-
var _internal$
|
|
25924
|
-
phase = _internal$
|
|
25924
|
+
var _internal$getState2 = internal.getState(),
|
|
25925
|
+
phase = _internal$getState2.phase;
|
|
25925
25926
|
if (phase === 'initializing' || phase === 'loading') return;
|
|
25926
25927
|
// Every armed timer belongs to the abandoned attempt.
|
|
25927
25928
|
clearAllTimers();
|
|
@@ -25936,7 +25937,8 @@ function createSelfieCaptureController(config) {
|
|
|
25936
25937
|
internal.setState({
|
|
25937
25938
|
capturedAttempt: null,
|
|
25938
25939
|
capturedImageUrl: null,
|
|
25939
|
-
captureRecovery: null
|
|
25940
|
+
captureRecovery: null,
|
|
25941
|
+
retryPending: false
|
|
25940
25942
|
});
|
|
25941
25943
|
dispatch({
|
|
25942
25944
|
type: 'exitRequested'
|
|
@@ -25982,8 +25984,8 @@ function useSelfieCapture(controller) {
|
|
|
25982
25984
|
return shim.useSyncExternalStore(subscribe, controller.getState, controller.getState);
|
|
25983
25985
|
}
|
|
25984
25986
|
|
|
25985
|
-
var _templateObject$
|
|
25986
|
-
var SelfieCameraFeedWrapper = styledComponents.styled.div(_templateObject$
|
|
25987
|
+
var _templateObject$w;
|
|
25988
|
+
var SelfieCameraFeedWrapper = styledComponents.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"])));
|
|
25987
25989
|
function SelfieCameraFeed(_ref) {
|
|
25988
25990
|
var videoRef = _ref.videoRef,
|
|
25989
25991
|
isRearFacing = _ref.isRearFacing,
|
|
@@ -25997,7 +25999,7 @@ function SelfieCameraFeed(_ref) {
|
|
|
25997
25999
|
});
|
|
25998
26000
|
}
|
|
25999
26001
|
|
|
26000
|
-
var _templateObject$
|
|
26002
|
+
var _templateObject$v, _templateObject2$s, _templateObject3$j, _templateObject4$f;
|
|
26001
26003
|
var _excluded$c = ["borderColor", "borderOpacity", "borderWidth", "status"],
|
|
26002
26004
|
_excluded2$4 = ["status", "guideStyle"],
|
|
26003
26005
|
_excluded3 = ["frame", "borderWidth", "borderColor", "borderOpacity", "verticalAlign", "status", "guideStyle"],
|
|
@@ -26074,7 +26076,7 @@ HeadGuideSvg.displayName = 'HeadGuideSvg';
|
|
|
26074
26076
|
// refresh rate for the whole capture, which low-end GPUs can't keep up with
|
|
26075
26077
|
// while also running the camera and face model. Waves only render while the
|
|
26076
26078
|
// status is 'ready', so the pulse replays each time the face leaves the guide.
|
|
26077
|
-
var headGuideWavesAnimation = styledComponents.keyframes(_templateObject$
|
|
26079
|
+
var headGuideWavesAnimation = styledComponents.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"])));
|
|
26078
26080
|
var PulsingHeadGuideContainer = styledComponents.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);
|
|
26079
26081
|
function HeadGuide(_ref2) {
|
|
26080
26082
|
var _theme$selfieCapture$, _theme$selfieCapture, _theme$selfieCapture$2, _theme$selfieCapture2, _theme$selfieCapture$3, _theme$selfieCapture3, _props$className;
|
|
@@ -26386,8 +26388,8 @@ function SelfieCaptureAnimatedMaskWithStatus(_ref5) {
|
|
|
26386
26388
|
}));
|
|
26387
26389
|
}
|
|
26388
26390
|
|
|
26389
|
-
var _templateObject$
|
|
26390
|
-
var FaceCaptureGuideContainer = styledComponents.styled.div(_templateObject$
|
|
26391
|
+
var _templateObject$u, _templateObject2$r;
|
|
26392
|
+
var FaceCaptureGuideContainer = styledComponents.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) {
|
|
26391
26393
|
return props.$clip ? 'overflow: hidden;' : '';
|
|
26392
26394
|
});
|
|
26393
26395
|
var FaceCaptureGuideInner = styledComponents.styled.div(_templateObject2$r || (_templateObject2$r = _taggedTemplateLiteralLoose(["\n position: relative;\n height: 60%;\n"])));
|
|
@@ -26700,7 +26702,7 @@ function SelfieCaptureLoadingGraphic(_ref) {
|
|
|
26700
26702
|
});
|
|
26701
26703
|
}
|
|
26702
26704
|
|
|
26703
|
-
var _templateObject$
|
|
26705
|
+
var _templateObject$t, _templateObject2$q, _templateObject3$i, _templateObject4$e, _templateObject5$e;
|
|
26704
26706
|
var legacyInstructionImageUrl = DEFAULT_CDN_URL$1 + "/Selfie-Image-1.png";
|
|
26705
26707
|
// Module-level so the default `now` prop has a stable identity across
|
|
26706
26708
|
// renders (it sits in useModelWarmingElapsedMs's effect dependency array).
|
|
@@ -26871,7 +26873,7 @@ var SelfieCaptureLoadingOverlayDefault = function SelfieCaptureLoadingOverlayDef
|
|
|
26871
26873
|
})
|
|
26872
26874
|
});
|
|
26873
26875
|
};
|
|
26874
|
-
var OverlayInner = styledComponents.styled(LoadingOverlayInner)(_templateObject$
|
|
26876
|
+
var OverlayInner = styledComponents.styled(LoadingOverlayInner)(_templateObject$t || (_templateObject$t = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n"])), function (props) {
|
|
26875
26877
|
var _props$theme$selfieCa, _props$theme;
|
|
26876
26878
|
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;
|
|
26877
26879
|
}, function (props) {
|
|
@@ -26937,7 +26939,7 @@ function selfieLoadingOverlayBottomEdgeColor(theme, modelsReady) {
|
|
|
26937
26939
|
});
|
|
26938
26940
|
}
|
|
26939
26941
|
|
|
26940
|
-
var _templateObject$
|
|
26942
|
+
var _templateObject$s, _templateObject2$p;
|
|
26941
26943
|
var SelfieCaptureLoadingOverlayLegacy = function SelfieCaptureLoadingOverlayLegacy(_ref) {
|
|
26942
26944
|
var _assets$instructionIm;
|
|
26943
26945
|
var state = _ref.state,
|
|
@@ -27013,10 +27015,10 @@ var SelfieCaptureLoadingOverlayLegacy = function SelfieCaptureLoadingOverlayLega
|
|
|
27013
27015
|
})
|
|
27014
27016
|
});
|
|
27015
27017
|
};
|
|
27016
|
-
var StyledGuidanceMessage = styledComponents.styled(GuidanceMessage)(_templateObject$
|
|
27018
|
+
var StyledGuidanceMessage = styledComponents.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"])));
|
|
27017
27019
|
var StyledButtonsRow$5 = styledComponents.styled(ButtonsRow$2)(_templateObject2$p || (_templateObject2$p = _taggedTemplateLiteralLoose(["\n flex-direction: column;\n padding-top: 25px;\n"])));
|
|
27018
27020
|
|
|
27019
|
-
var _templateObject$
|
|
27021
|
+
var _templateObject$r, _templateObject2$o, _templateObject3$h, _templateObject4$d, _templateObject5$d, _templateObject6$a, _templateObject7$8;
|
|
27020
27022
|
// Module-level so the default `now` prop has a stable identity across
|
|
27021
27023
|
// renders (it sits in useModelWarmingElapsedMs's effect dependency array).
|
|
27022
27024
|
var defaultNow = function defaultNow() {
|
|
@@ -27274,7 +27276,7 @@ var SelfieCaptureLoadingOverlayRing = function SelfieCaptureLoadingOverlayRing(_
|
|
|
27274
27276
|
})
|
|
27275
27277
|
});
|
|
27276
27278
|
};
|
|
27277
|
-
var overlayFadeIn = styledComponents.keyframes(_templateObject$
|
|
27279
|
+
var overlayFadeIn = styledComponents.keyframes(_templateObject$r || (_templateObject$r = _taggedTemplateLiteralLoose(["\n from { opacity: 0; }\n to { opacity: 1; }\n"])));
|
|
27278
27280
|
var RingOverlayInner = styledComponents.styled(LoadingOverlayInner)(_templateObject2$o || (_templateObject2$o = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n ", "\n"])), function (props) {
|
|
27279
27281
|
var _props$theme$selfieCa, _props$theme;
|
|
27280
27282
|
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)';
|
|
@@ -27317,7 +27319,7 @@ var SelfieCaptureLoadingOverlay = function SelfieCaptureLoadingOverlay(_ref) {
|
|
|
27317
27319
|
return jsxRuntime.jsx(Component, _extends({}, props));
|
|
27318
27320
|
};
|
|
27319
27321
|
|
|
27320
|
-
var _templateObject$
|
|
27322
|
+
var _templateObject$q, _templateObject2$n, _templateObject3$g, _templateObject4$c, _templateObject5$c, _templateObject6$9;
|
|
27321
27323
|
function SelfieCaptureFallback(_ref) {
|
|
27322
27324
|
var _ref$silentFallback = _ref.silentFallback,
|
|
27323
27325
|
silentFallback = _ref$silentFallback === void 0 ? false : _ref$silentFallback,
|
|
@@ -27471,14 +27473,14 @@ function SelfieCaptureFallback(_ref) {
|
|
|
27471
27473
|
})
|
|
27472
27474
|
});
|
|
27473
27475
|
}
|
|
27474
|
-
var StyledOverlayInner = styledComponents.styled(OverlayInner$2)(_templateObject$
|
|
27476
|
+
var StyledOverlayInner = styledComponents.styled(OverlayInner$2)(_templateObject$q || (_templateObject$q = _taggedTemplateLiteralLoose(["\n justify-content: center;\n padding: 24px;\n box-sizing: border-box;\n"])));
|
|
27475
27477
|
var Heading$6 = styledComponents.styled.h1(_templateObject2$n || (_templateObject2$n = _taggedTemplateLiteralLoose(["\n font-size: 1.5rem;\n margin: 0 0 1rem;\n"])));
|
|
27476
27478
|
var Description = styledComponents.styled.p(_templateObject3$g || (_templateObject3$g = _taggedTemplateLiteralLoose(["\n line-height: 1.5;\n margin: 0 0 1.5rem;\n"])));
|
|
27477
27479
|
var ImageContainer$4 = styledComponents.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"])));
|
|
27478
27480
|
var ReadFailed = styledComponents.styled.p(_templateObject5$c || (_templateObject5$c = _taggedTemplateLiteralLoose(["\n margin: 0 0 1rem;\n"])));
|
|
27479
27481
|
var StyledButtonsRow$4 = styledComponents.styled(ButtonsRow$2)(_templateObject6$9 || (_templateObject6$9 = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 12px;\n justify-content: center;\n"])));
|
|
27480
27482
|
|
|
27481
|
-
var _templateObject$
|
|
27483
|
+
var _templateObject$p, _templateObject2$m;
|
|
27482
27484
|
function SelfieCaptureSurface(_ref) {
|
|
27483
27485
|
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;
|
|
27484
27486
|
var controller = _ref.controller,
|
|
@@ -27880,7 +27882,7 @@ function EyesOpenDebugLines(_ref2) {
|
|
|
27880
27882
|
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)]
|
|
27881
27883
|
});
|
|
27882
27884
|
}
|
|
27883
|
-
var ManualCaptureButtonContainer = styledComponents.styled.div(_templateObject$
|
|
27885
|
+
var ManualCaptureButtonContainer = styledComponents.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"])));
|
|
27884
27886
|
// A footer below the camera keeps the lighting guidance visible above it.
|
|
27885
27887
|
var CaptureRecoveryActions = styledComponents.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"])));
|
|
27886
27888
|
|
|
@@ -28015,7 +28017,7 @@ function livenessStatusCode(state) {
|
|
|
28015
28017
|
return null;
|
|
28016
28018
|
}
|
|
28017
28019
|
|
|
28018
|
-
var _GUIDANCE_VERBIAGE_FI, _templateObject$
|
|
28020
|
+
var _GUIDANCE_VERBIAGE_FI, _templateObject$o;
|
|
28019
28021
|
// `state.guidance.code` -> the SelfieGuidanceVerbiage field that overrides
|
|
28020
28022
|
// it. Keyed off the same `SelfieGuidanceCode` values selfieGuidanceMessageKey
|
|
28021
28023
|
// switches on (guidance/selfieStrings.ts) — NONE has no field (the pill is
|
|
@@ -28033,7 +28035,7 @@ var GUIDANCE_VERBIAGE_FIELD = (_GUIDANCE_VERBIAGE_FI = {}, _GUIDANCE_VERBIAGE_FI
|
|
|
28033
28035
|
// still-mounted-through-error rationale as IdCaptureView's ScalingCameraFeed
|
|
28034
28036
|
// (a successful retry()/requestCamera() re-attaches into the SAME element).
|
|
28035
28037
|
var CAPTURE_SURFACE_PHASES$1 = new Set(['capturing', 'challenge', 'processing', 'checking', 'completed', 'failed']);
|
|
28036
|
-
var Container$2 = styledComponents.styled.div(_templateObject$
|
|
28038
|
+
var Container$2 = styledComponents.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) {
|
|
28037
28039
|
var _props$theme;
|
|
28038
28040
|
return (_props$theme = props.theme) != null && _props$theme.fontFamily ? "font-family: " + props.theme.fontFamily + ";" : '';
|
|
28039
28041
|
});
|
|
@@ -28211,11 +28213,24 @@ function SelfieCaptureViewContent(_ref) {
|
|
|
28211
28213
|
});
|
|
28212
28214
|
}
|
|
28213
28215
|
|
|
28216
|
+
var _templateObject$n;
|
|
28217
|
+
/**
|
|
28218
|
+
* A polite live region that is read aloud but not shown. For a change with no
|
|
28219
|
+
* focused text to carry it, such as a button that went busy and dropped focus
|
|
28220
|
+
* by being disabled. Keep it mounted and change its text: a region that mounts
|
|
28221
|
+
* already holding its message is often not announced.
|
|
28222
|
+
*/
|
|
28223
|
+
var ScreenReaderStatus = styledComponents.styled.span.attrs({
|
|
28224
|
+
role: 'status'
|
|
28225
|
+
})(_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"])));
|
|
28226
|
+
|
|
28214
28227
|
var _templateObject$m, _templateObject2$l;
|
|
28215
28228
|
var FaceLivenessSuccess = function FaceLivenessSuccess(_ref) {
|
|
28216
28229
|
var imageUrl = _ref.imageUrl,
|
|
28217
28230
|
onDoneClick = _ref.onDoneClick,
|
|
28218
28231
|
onRetryClick = _ref.onRetryClick,
|
|
28232
|
+
_ref$retrying = _ref.retrying,
|
|
28233
|
+
retrying = _ref$retrying === void 0 ? false : _ref$retrying,
|
|
28219
28234
|
_ref$classNames = _ref.classNames,
|
|
28220
28235
|
classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
|
|
28221
28236
|
_ref$colors = _ref.colors,
|
|
@@ -28225,6 +28240,7 @@ var FaceLivenessSuccess = function FaceLivenessSuccess(_ref) {
|
|
|
28225
28240
|
var verbiage = useTranslations(rawVerbiage, {
|
|
28226
28241
|
headingText: 'Face liveness has been verified!',
|
|
28227
28242
|
retryBtnText: 'Retry',
|
|
28243
|
+
retryingBtnText: 'Starting camera...',
|
|
28228
28244
|
doneBtnText: 'Done'
|
|
28229
28245
|
});
|
|
28230
28246
|
var imageContainerRef = React.useRef(null);
|
|
@@ -28254,20 +28270,24 @@ var FaceLivenessSuccess = function FaceLivenessSuccess(_ref) {
|
|
|
28254
28270
|
children: verbiage.headingText
|
|
28255
28271
|
}), jsxRuntime.jsxs(ButtonsColumn, {
|
|
28256
28272
|
className: classNames.buttonsRow,
|
|
28257
|
-
children: [jsxRuntime.jsx(
|
|
28273
|
+
children: [jsxRuntime.jsx(ScreenReaderStatus, {
|
|
28274
|
+
children: retrying ? verbiage.retryingBtnText : null
|
|
28275
|
+
}), jsxRuntime.jsx(WideButton, {
|
|
28258
28276
|
variant: "positive",
|
|
28259
28277
|
onClick: onDoneClick,
|
|
28260
28278
|
colors: colors.doneBtn,
|
|
28261
28279
|
className: classNames.doneBtn,
|
|
28262
28280
|
finished: true,
|
|
28281
|
+
// Done would race the retry the user already started.
|
|
28282
|
+
disabled: retrying,
|
|
28263
28283
|
children: verbiage.doneBtnText
|
|
28264
28284
|
}), jsxRuntime.jsx(WideBorderButton, {
|
|
28265
28285
|
variant: "secondary",
|
|
28266
28286
|
onClick: onRetryClick,
|
|
28267
28287
|
colors: colors.retryBtn,
|
|
28268
28288
|
className: classNames.retryBtn,
|
|
28269
|
-
finished:
|
|
28270
|
-
children: verbiage.retryBtnText
|
|
28289
|
+
finished: !retrying,
|
|
28290
|
+
children: retrying ? verbiage.retryingBtnText : verbiage.retryBtnText
|
|
28271
28291
|
})]
|
|
28272
28292
|
})]
|
|
28273
28293
|
})
|
|
@@ -28283,6 +28303,8 @@ var FaceLivenessFailure = function FaceLivenessFailure(_ref) {
|
|
|
28283
28303
|
var _ref$canRetry = _ref.canRetry,
|
|
28284
28304
|
canRetry = _ref$canRetry === void 0 ? true : _ref$canRetry,
|
|
28285
28305
|
onRetryClick = _ref.onRetryClick,
|
|
28306
|
+
_ref$retrying = _ref.retrying,
|
|
28307
|
+
retrying = _ref$retrying === void 0 ? false : _ref$retrying,
|
|
28286
28308
|
onExitClick = _ref.onExitClick,
|
|
28287
28309
|
_ref$assets = _ref.assets,
|
|
28288
28310
|
assets = _ref$assets === void 0 ? {} : _ref$assets,
|
|
@@ -28296,6 +28318,7 @@ var FaceLivenessFailure = function FaceLivenessFailure(_ref) {
|
|
|
28296
28318
|
var verbiage = useTranslations(rawVerbiage, {
|
|
28297
28319
|
headingText: 'Live face not detected, please try again',
|
|
28298
28320
|
retryBtnText: 'Retry',
|
|
28321
|
+
retryingBtnText: 'Starting camera...',
|
|
28299
28322
|
exitBtnText: 'Exit'
|
|
28300
28323
|
});
|
|
28301
28324
|
return jsxRuntime.jsx(GrayOverlayContainer, {
|
|
@@ -28315,13 +28338,15 @@ var FaceLivenessFailure = function FaceLivenessFailure(_ref) {
|
|
|
28315
28338
|
children: verbiage.headingText
|
|
28316
28339
|
}), jsxRuntime.jsxs(ButtonsColumn, {
|
|
28317
28340
|
className: classNames.buttonsRow,
|
|
28318
|
-
children: [
|
|
28341
|
+
children: [jsxRuntime.jsx(ScreenReaderStatus, {
|
|
28342
|
+
children: retrying ? verbiage.retryingBtnText : null
|
|
28343
|
+
}), canRetry && jsxRuntime.jsx(WideButton, {
|
|
28319
28344
|
variant: "secondary",
|
|
28320
28345
|
className: classNames.retryBtn,
|
|
28321
28346
|
onClick: onRetryClick,
|
|
28322
28347
|
colors: colors.retryBtn,
|
|
28323
|
-
finished:
|
|
28324
|
-
children: verbiage.retryBtnText
|
|
28348
|
+
finished: !retrying,
|
|
28349
|
+
children: retrying ? verbiage.retryingBtnText : verbiage.retryBtnText
|
|
28325
28350
|
}), jsxRuntime.jsx(WideBorderButton, {
|
|
28326
28351
|
variant: "secondary",
|
|
28327
28352
|
className: classNames.exitBtn,
|
|
@@ -28605,6 +28630,9 @@ function FaceLivenessViewContent(_ref) {
|
|
|
28605
28630
|
// back and let the camera light go out. `restartRun` gets it again through
|
|
28606
28631
|
// the controller's retry(). A skipped success screen needs nothing here: the
|
|
28607
28632
|
// host moves on and unmounting detaches.
|
|
28633
|
+
// Core holds the terminal screen up while a retry waits for that camera
|
|
28634
|
+
// (`retryPending`), so its Retry button shows the wait instead of the user
|
|
28635
|
+
// landing on a black feed.
|
|
28608
28636
|
var coveredByTerminalScreen = showSuccessScreen || showFailureScreen;
|
|
28609
28637
|
React.useEffect(function () {
|
|
28610
28638
|
if (coveredByTerminalScreen) controller.actions.releaseCamera();
|
|
@@ -28669,12 +28697,19 @@ function FaceLivenessViewContent(_ref) {
|
|
|
28669
28697
|
return onDone == null ? void 0 : onDone(completedImageUrl);
|
|
28670
28698
|
},
|
|
28671
28699
|
onRetryClick: restartRun,
|
|
28700
|
+
retrying: state.retryPending,
|
|
28672
28701
|
verbiage: verbiage.success,
|
|
28673
28702
|
classNames: classNames.success,
|
|
28674
28703
|
colors: colors.success
|
|
28675
|
-
}), showFailureScreen && jsxRuntime.jsx(FaceLivenessFailure
|
|
28676
|
-
|
|
28704
|
+
}), showFailureScreen && jsxRuntime.jsx(FaceLivenessFailure
|
|
28705
|
+
// The click already spent the budget; keep the last retry's button
|
|
28706
|
+
// up while it waits on the camera.
|
|
28707
|
+
, {
|
|
28708
|
+
// The click already spent the budget; keep the last retry's button
|
|
28709
|
+
// up while it waits on the camera.
|
|
28710
|
+
canRetry: canRetryFailure || state.retryPending,
|
|
28677
28711
|
onRetryClick: restartRun,
|
|
28712
|
+
retrying: state.retryPending,
|
|
28678
28713
|
onExitClick: onExitAfterFailure != null ? onExitAfterFailure : onExit,
|
|
28679
28714
|
assets: assets.failure,
|
|
28680
28715
|
verbiage: verbiage.failure,
|
|
@@ -36782,14 +36817,8 @@ function DocumentCaptureSurface(_ref) {
|
|
|
36782
36817
|
className: classNames.captureBtn,
|
|
36783
36818
|
finished: state.camera.ready,
|
|
36784
36819
|
variant: "primary",
|
|
36785
|
-
// Guarded rather than relying on `disabled` alone: with
|
|
36786
|
-
// `finished` false, LoaderButton hands the element to ladda,
|
|
36787
|
-
// which manipulates its disabled state imperatively
|
|
36788
|
-
// (LoaderButton.tsx:63-79). The button can therefore be
|
|
36789
|
-
// clickable mid-animation, which CI caught.
|
|
36790
36820
|
onClick: function onClick() {
|
|
36791
|
-
|
|
36792
|
-
void controller.actions.capture();
|
|
36821
|
+
return void controller.actions.capture();
|
|
36793
36822
|
},
|
|
36794
36823
|
disabled: !state.camera.ready || state.capturing,
|
|
36795
36824
|
children: !state.camera.ready ? verbiage.loadingBtnText : state.capturing ? verbiage.capturingBtnText : verbiage.captureBtnText
|
|
@@ -48453,7 +48482,7 @@ function mapCustomerIdAndBiometricsEnrollmentProps(props, ctx) {
|
|
|
48453
48482
|
});
|
|
48454
48483
|
}
|
|
48455
48484
|
|
|
48456
|
-
var webSdkVersion = '2.5.83-changeset-release-develop-
|
|
48485
|
+
var webSdkVersion = '2.5.83-changeset-release-develop-2127d44';
|
|
48457
48486
|
|
|
48458
48487
|
// GENERATED by scripts/styleBagTypes.mjs from
|
|
48459
48488
|
// src/__fixtures__/sdk2StyleBags.json and the mapper sweep — do not
|