idmission-web-sdk 2.5.83-changeset-release-develop-3dfa69b → 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.
@@ -7134,7 +7134,7 @@
7134
7134
  var arr = [];
7135
7135
  var each = arr.forEach;
7136
7136
  var slice = arr.slice;
7137
- function defaults$1(obj) {
7137
+ function defaults(obj) {
7138
7138
  each.call(slice.call(arguments, 1), function (source) {
7139
7139
  if (source) {
7140
7140
  for (var prop in source) {
@@ -7436,7 +7436,7 @@
7436
7436
  this.services = services || {
7437
7437
  languageUtils: {}
7438
7438
  }; // this way the language detector can be used without i18next
7439
- this.options = defaults$1(options, this.options || {}, getDefaults());
7439
+ this.options = defaults(options, this.options || {}, getDefaults());
7440
7440
  if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {
7441
7441
  this.options.convertDetectedLanguage = function (l) {
7442
7442
  return l.replace('-', '_');
@@ -11233,15 +11233,17 @@
11233
11233
  var HAND_OVER_FACE = 'Remove your hand from your face...';
11234
11234
  var SELFIE_RECOVERY_HINT = 'We’re having trouble checking the lighting. Keep your face centered and hold still—we’ll still check your positioning.';
11235
11235
  var CONTINUE_WITH_CURRENT_LIGHTING = 'Continue with current lighting';
11236
+ // The face liveness Retry button while the camera restarts behind it.
11237
+ var STARTING_CAMERA = 'Starting camera...';
11236
11238
  var threeOhTranslations = {
11237
- 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),
11238
- 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),
11239
- 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),
11240
- 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),
11241
- 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),
11242
- 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),
11243
- 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),
11244
- 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)
11239
+ 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),
11240
+ 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),
11241
+ 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),
11242
+ 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),
11243
+ 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),
11244
+ 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),
11245
+ 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),
11246
+ 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)
11245
11247
  };
11246
11248
  /** Base entries win nothing — the supplement may only ADD. See `noShadowing`. */
11247
11249
  function withThreeOhTranslations(lang, base) {
@@ -12115,8 +12117,13 @@
12115
12117
  return $hidden ? 'opacity: 0;' : '';
12116
12118
  });
12117
12119
 
12118
- var _templateObject$Z;
12120
+ var _templateObject$Z, _templateObject2$Q;
12119
12121
  var _excluded$i = ["children", "className", "colors", "disabled", "finished", "variant"];
12122
+ /**
12123
+ * The SDK's action button. `ladda-button` / `ladda-label` are kept as class
12124
+ * hooks from when Ladda drew the loading state, since 2.x customer CSS may
12125
+ * target them.
12126
+ */
12120
12127
  var LoaderButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
12121
12128
  var children = _ref.children,
12122
12129
  className = _ref.className,
@@ -12127,49 +12134,14 @@
12127
12134
  _ref$variant = _ref.variant,
12128
12135
  variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
12129
12136
  props = _objectWithoutPropertiesLoose(_ref, _excluded$i);
12130
- var buttonRef = React.useRef(null);
12131
- var laddaRef = React.useRef(null);
12132
- var _useState = React.useState(false),
12133
- _useState2 = _slicedToArray(_useState, 2),
12134
- laddaLoaded = _useState2[0],
12135
- setLaddaLoaded = _useState2[1];
12136
- // Expose the button element to the parent via ref
12137
- React.useImperativeHandle(ref, function () {
12138
- return buttonRef.current;
12139
- }, []);
12140
- React.useEffect(function () {
12141
- if (laddaLoaded || finished) return;
12142
- var interval;
12143
- var isMounted = true;
12144
- Promise.resolve().then(function () { return ladda; }).then(function (Ladda) {
12145
- if (!buttonRef.current || !isMounted) return;
12146
- laddaRef.current = Ladda.create(buttonRef.current);
12147
- laddaRef.current.start();
12148
- setLaddaLoaded(true);
12149
- var currentProgress = 0;
12150
- interval = setInterval(function () {
12151
- var _laddaRef$current;
12152
- if (currentProgress < 0.9) currentProgress += 0.1;
12153
- (_laddaRef$current = laddaRef.current) == null || _laddaRef$current.setProgress(currentProgress);
12154
- }, 250);
12155
- });
12156
- return function () {
12157
- var _laddaRef$current2;
12158
- isMounted = false;
12159
- (_laddaRef$current2 = laddaRef.current) == null || _laddaRef$current2.remove();
12160
- clearInterval(interval);
12161
- };
12162
- }, [finished, laddaLoaded]);
12163
- React.useEffect(function () {
12164
- var _laddaRef$current3;
12165
- if (laddaLoaded && finished) (_laddaRef$current3 = laddaRef.current) == null || _laddaRef$current3.stop();
12166
- }, [finished, laddaLoaded]);
12137
+ var loading = finished === false;
12138
+ var inert = disabled || loading;
12167
12139
  return jsx(StyledButton, _extends({
12168
- className: "ladda-button " + className + " " + (disabled ? 'disabled' : ''),
12169
- "data-style": "expand-right",
12140
+ className: "ladda-button " + className + " " + (inert ? 'disabled' : ''),
12170
12141
  type: "button",
12171
- disabled: disabled,
12172
- ref: buttonRef,
12142
+ disabled: inert,
12143
+ "aria-busy": loading,
12144
+ ref: ref,
12173
12145
  "$backgroundColor": colors.backgroundColor,
12174
12146
  "$textColor": colors.textColor,
12175
12147
  "$disabledBackgroundColor": colors.loadingBackgroundColor,
@@ -12183,15 +12155,18 @@
12183
12155
  }));
12184
12156
  });
12185
12157
  LoaderButton.displayName = 'LoaderButton';
12186
- var StyledButton = styled.button(_templateObject$Z || (_templateObject$Z = _taggedTemplateLiteralLoose(["\n ", "\n\n /*!\n * Ladda\n * http://lab.hakim.se/ladda\n * MIT licensed\n *\n * Copyright (C) 2018 Hakim El Hattab, http://hakim.se\n */\n\n position: relative;\n\n .ladda-spinner {\n position: absolute;\n z-index: 2;\n display: inline-block;\n width: 32px;\n top: 50%;\n margin-top: 0;\n opacity: 0;\n pointer-events: none;\n }\n .ladda-label {\n position: relative;\n z-index: 3;\n }\n .ladda-progress {\n position: absolute;\n width: 0;\n height: 100%;\n left: 0;\n top: 0;\n background: rgba(0, 0, 0, 0.2);\n display: none;\n transition: 0.1s linear all !important;\n }\n &[data-loading] .ladda-progress {\n display: block;\n }\n\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n\n .ladda-spinner,\n .ladda-label {\n transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important;\n }\n &[data-style='zoom-in'],\n &[data-style='zoom-in'] .ladda-spinner,\n &[data-style='zoom-in'] .ladda-label,\n &[data-style='zoom-out'],\n &[data-style='zoom-out'] .ladda-spinner,\n &[data-style='zoom-out'] .ladda-label {\n transition: 0.3s ease all !important;\n }\n &[data-style='expand-right'] .ladda-spinner {\n right: -6px;\n }\n &[data-style='expand-right'][data-size='s'] .ladda-spinner,\n &[data-style='expand-right'][data-size='xs'] .ladda-spinner {\n right: -12px;\n }\n &[data-style='expand-right'][data-loading] {\n padding-right: 56px;\n }\n &[data-style='expand-right'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-right'][data-loading][data-size='s'],\n &[data-style='expand-right'][data-loading][data-size='xs'] {\n padding-right: 40px;\n }\n &[data-style='expand-left'] .ladda-spinner {\n left: 26px;\n }\n &[data-style='expand-left'][data-size='s'] .ladda-spinner,\n &[data-style='expand-left'][data-size='xs'] .ladda-spinner {\n left: 4px;\n }\n &[data-style='expand-left'][data-loading] {\n padding-left: 56px;\n }\n &[data-style='expand-left'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-left'][data-loading][data-size='s'],\n &[data-style='expand-left'][data-loading][data-size='xs'] {\n padding-left: 40px;\n }\n &[data-style='expand-up'] {\n overflow: hidden;\n }\n &[data-style='expand-up'] .ladda-spinner {\n top: -32px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-up'][data-loading] {\n padding-top: 54px;\n }\n &[data-style='expand-up'][data-loading] .ladda-spinner {\n opacity: 1;\n top: 26px;\n margin-top: 0;\n }\n &[data-style='expand-up'][data-loading][data-size='s'],\n &[data-style='expand-up'][data-loading][data-size='xs'] {\n padding-top: 32px;\n }\n &[data-style='expand-up'][data-loading][data-size='s'] .ladda-spinner,\n &[data-style='expand-up'][data-loading][data-size='xs'] .ladda-spinner {\n top: 4px;\n }\n &[data-style='expand-down'] {\n overflow: hidden;\n }\n &[data-style='expand-down'] .ladda-spinner {\n top: 62px;\n left: 50%;\n margin-left: 0;\n }\n &[data-style='expand-down'][data-size='s'] .ladda-spinner,\n &[data-style='expand-down'][data-size='xs'] .ladda-spinner {\n top: 40px;\n }\n &[data-style='expand-down'][data-loading] {\n padding-bottom: 54px;\n }\n &[data-style='expand-down'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='expand-down'][data-loading][data-size='s'],\n &[data-style='expand-down'][data-loading][data-size='xs'] {\n padding-bottom: 32px;\n }\n &[data-style='slide-left'] {\n overflow: hidden;\n }\n &[data-style='slide-left'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-left'] .ladda-spinner {\n left: 100%;\n margin-left: 0;\n }\n &[data-style='slide-left'][data-loading] .ladda-label {\n opacity: 0;\n left: -100%;\n }\n &[data-style='slide-left'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-right'] {\n overflow: hidden;\n }\n &[data-style='slide-right'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-right'] .ladda-spinner {\n right: 100%;\n margin-left: 0;\n left: 16px;\n }\n [dir='rtl'] &[data-style='slide-right'] .ladda-spinner {\n right: auto;\n }\n &[data-style='slide-right'][data-loading] .ladda-label {\n opacity: 0;\n left: 100%;\n }\n &[data-style='slide-right'][data-loading] .ladda-spinner {\n opacity: 1;\n left: 50%;\n }\n &[data-style='slide-up'] {\n overflow: hidden;\n }\n &[data-style='slide-up'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-up'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: 1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-label {\n opacity: 0;\n top: -1em;\n }\n &[data-style='slide-up'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='slide-down'] {\n overflow: hidden;\n }\n &[data-style='slide-down'] .ladda-label {\n position: relative;\n }\n &[data-style='slide-down'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n margin-top: -2em;\n }\n &[data-style='slide-down'][data-loading] .ladda-label {\n opacity: 0;\n top: 1em;\n }\n &[data-style='slide-down'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-top: 0;\n }\n &[data-style='zoom-out'] {\n overflow: hidden;\n }\n &[data-style='zoom-out'] .ladda-spinner {\n left: 50%;\n margin-left: 32px;\n transform: scale(2.5);\n }\n &[data-style='zoom-out'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-out'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(0.5);\n }\n &[data-style='zoom-out'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='zoom-in'] {\n overflow: hidden;\n }\n &[data-style='zoom-in'] .ladda-spinner {\n left: 50%;\n margin-left: -16px;\n transform: scale(0.2);\n }\n &[data-style='zoom-in'] .ladda-label {\n position: relative;\n display: inline-block;\n }\n &[data-style='zoom-in'][data-loading] .ladda-label {\n opacity: 0;\n transform: scale(2.2);\n }\n &[data-style='zoom-in'][data-loading] .ladda-spinner {\n opacity: 1;\n margin-left: 0;\n transform: none;\n }\n &[data-style='contract'] {\n overflow: hidden;\n width: 100px;\n }\n &[data-style='contract'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract'][data-loading] {\n border-radius: 50%;\n width: 52px;\n }\n &[data-style='contract'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n &[data-style='contract-overlay'] {\n overflow: hidden;\n width: 100px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0);\n }\n &[data-style='contract-overlay'] .ladda-spinner {\n left: 50%;\n margin-left: 0;\n }\n &[data-style='contract-overlay'][data-loading] {\n border-radius: 50%;\n width: 52px;\n box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8);\n }\n &[data-style='contract-overlay'][data-loading] .ladda-label {\n opacity: 0;\n }\n &[data-style='contract-overlay'][data-loading] .ladda-spinner {\n opacity: 1;\n }\n [dir='rtl'] .ladda-spinner > div {\n left: 25% !important;\n }\n"])), function (props) {
12158
+ // From just off the left edge to just off the right: the bar is 38% wide, so
12159
+ // 265% of its own width carries it clear.
12160
+ var track = keyframes(_templateObject$Z || (_templateObject$Z = _taggedTemplateLiteralLoose(["\n from { transform: translateX(-100%); }\n to { transform: translateX(265%); }\n"])));
12161
+ var StyledButton = styled.button(_templateObject2$Q || (_templateObject2$Q = _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) {
12187
12162
  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;
12188
12163
  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 ";
12189
- });
12164
+ }, track);
12190
12165
 
12191
12166
  var _templateObject$Y;
12192
12167
  var ButtonsRow$2 = styled.div(_templateObject$Y || (_templateObject$Y = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 0 15px;\n justify-content: center;\n text-align: left;\n"])));
12193
12168
 
12194
- var _templateObject$X, _templateObject2$Q;
12169
+ var _templateObject$X, _templateObject2$P;
12195
12170
  var GuidanceMessageContainerDiv = styled.div(_templateObject$X || (_templateObject$X = _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) {
12196
12171
  var $top = _ref.$top;
12197
12172
  return $top != null ? $top : '10%';
@@ -12205,7 +12180,7 @@
12205
12180
  if (!portalLocation) return element;
12206
12181
  return /*#__PURE__*/reactDom.createPortal(element, portalLocation);
12207
12182
  };
12208
- var GuidanceMessage = styled.div(_templateObject2$Q || (_templateObject2$Q = _taggedTemplateLiteralLoose(["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n border-radius: 8px;\n z-index: 10001;\n padding: 16px 24px;\n font-size: 18px;\n font-weight: bold;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"])), function (props) {
12183
+ var GuidanceMessage = styled.div(_templateObject2$P || (_templateObject2$P = _taggedTemplateLiteralLoose(["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n border-radius: 8px;\n z-index: 10001;\n padding: 16px 24px;\n font-size: 18px;\n font-weight: bold;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"])), function (props) {
12209
12184
  var _ref3, _props$$background, _props$theme, _props$$variant;
12210
12185
  return (_ref3 = (_props$$background = props.$background) != null ? _props$$background : (_props$theme = props.theme) == null || (_props$theme = _props$theme.guidanceMessages) == null || (_props$theme = _props$theme[(_props$$variant = props.$variant) != null ? _props$$variant : 'default']) == null ? void 0 : _props$theme.backgroundColor) != null ? _ref3 : 'white';
12211
12186
  }, function (props) {
@@ -12257,19 +12232,19 @@
12257
12232
  });
12258
12233
  };
12259
12234
 
12260
- var _templateObject$W, _templateObject2$P, _templateObject3$D, _templateObject4$y;
12235
+ var _templateObject$W, _templateObject2$O, _templateObject3$D, _templateObject4$y;
12261
12236
  var wavesAnimation = keyframes(_templateObject$W || (_templateObject$W = _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"])));
12262
- var progressBarAnimation = keyframes(_templateObject2$P || (_templateObject2$P = _taggedTemplateLiteralLoose(["\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n"])));
12237
+ var progressBarAnimation = keyframes(_templateObject2$O || (_templateObject2$O = _taggedTemplateLiteralLoose(["\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n"])));
12263
12238
  keyframes(_templateObject3$D || (_templateObject3$D = _taggedTemplateLiteralLoose(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"])));
12264
12239
  keyframes(_templateObject4$y || (_templateObject4$y = _taggedTemplateLiteralLoose(["\n to {\n stroke-dashoffset: 0;\n }\n"])));
12265
12240
 
12266
- var _templateObject$V, _templateObject2$O, _templateObject3$C, _templateObject4$x, _templateObject5$s, _templateObject6$k, _templateObject7$h, _templateObject8$d, _templateObject9$d, _templateObject0$b, _templateObject1$a, _templateObject10$a, _templateObject11$7, _templateObject12$6, _templateObject13$6, _templateObject14$6, _templateObject15$5, _templateObject16$4, _templateObject17$3, _templateObject18$3, _templateObject19$3, _templateObject20$3;
12241
+ var _templateObject$V, _templateObject2$N, _templateObject3$C, _templateObject4$x, _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;
12267
12242
  var OverlayContainer = styled.div(_templateObject$V || (_templateObject$V = _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) {
12268
12243
  return props.theme.background ? "" + props.theme.background : "white";
12269
12244
  }, function (props) {
12270
12245
  return props.theme.textColor ? "color: " + props.theme.textColor + ";" : "";
12271
12246
  });
12272
- var OverlayInner$2 = styled.div(_templateObject2$O || (_templateObject2$O = _taggedTemplateLiteralLoose(["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n width: 100%;\n height: 100%;\n ", "\n"])), function (props) {
12247
+ var OverlayInner$2 = styled.div(_templateObject2$N || (_templateObject2$N = _taggedTemplateLiteralLoose(["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n width: 100%;\n height: 100%;\n ", "\n"])), function (props) {
12273
12248
  var _props$theme$textAlig;
12274
12249
  return (_props$theme$textAlig = props.theme.textAlign) != null ? _props$theme$textAlig : 'center';
12275
12250
  }, function (props) {
@@ -12304,7 +12279,7 @@
12304
12279
  return props.theme.padding ? "box-sizing: border-box; padding: " + props.theme.padding + ";" : "";
12305
12280
  });
12306
12281
  var LoadingOverlayGuidanceMessage = styled(GuidanceMessage)(_templateObject1$a || (_templateObject1$a = _taggedTemplateLiteralLoose(["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n"])));
12307
- var LoadingOverlayImageContainer = styled(OverlayImageContainer)(_templateObject10$a || (_templateObject10$a = _taggedTemplateLiteralLoose(["\n padding: 0;\n max-height: 100%;\n pointer-events: none;\n"])));
12282
+ var LoadingOverlayImageContainer = styled(OverlayImageContainer)(_templateObject10$9 || (_templateObject10$9 = _taggedTemplateLiteralLoose(["\n padding: 0;\n max-height: 100%;\n pointer-events: none;\n"])));
12308
12283
  var LoadingOverlayProgressBarBackground = styled.div.attrs({
12309
12284
  className: 'loading-overlay-progress-bar-background'
12310
12285
  })(_templateObject11$7 || (_templateObject11$7 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"])));
@@ -12439,13 +12414,13 @@
12439
12414
 
12440
12415
  var _excluded$h = ["children", "status", "borderWidth", "borderRadius", "borderColor", "aspectRatio", "progress", "guideBoxDisabled"],
12441
12416
  _excluded2$5 = ["borderRadius", "borderColor", "borderWidth", "borderOpacity", "progress", "isProgressBar", "scaleBorderRadius"];
12442
- var _templateObject$U, _templateObject2$N, _templateObject3$B, _templateObject4$w, _templateObject5$r, _templateObject6$j, _templateObject7$g;
12417
+ var _templateObject$U, _templateObject2$M, _templateObject3$B, _templateObject4$w, _templateObject5$r, _templateObject6$j, _templateObject7$g;
12443
12418
  var IdCardGuideImageContainer = styled(IdCardBorder)(_templateObject$U || (_templateObject$U = _taggedTemplateLiteralLoose(["\n position: relative;\n ", "\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n ", ";\n"])), function (props) {
12444
12419
  return props.$isVisible ? '' : 'opacity: 0;';
12445
12420
  }, function (props) {
12446
12421
  return props.$isMobile ? props.$isLandscape ? 'height: 100%;' : 'width: 80%;' : props.$isLandscape ? 'height: 70%;' : 'width: 82%;';
12447
12422
  });
12448
- var IdCardGuideImage = styled.img(_templateObject2$N || (_templateObject2$N = _taggedTemplateLiteralLoose(["\n max-height: 100%;\n transform-style: preserve-3d;\n ", "\n ", "\n"])), function (props) {
12423
+ var IdCardGuideImage = styled.img(_templateObject2$M || (_templateObject2$M = _taggedTemplateLiteralLoose(["\n max-height: 100%;\n transform-style: preserve-3d;\n ", "\n ", "\n"])), function (props) {
12449
12424
  return props.$isMirrored ? 'transform: scaleX(-1);' : '';
12450
12425
  }, function (props) {
12451
12426
  return props.$isInvisible ? 'opacity: 0;' : '';
@@ -12837,7 +12812,7 @@
12837
12812
  return props.$isMobile ? props.$isLandscape ? 'height: 100%;' : 'width: 80%;' : props.$isLandscape ? 'height: 70%;' : 'width: 82%;';
12838
12813
  });
12839
12814
 
12840
- var _templateObject$S, _templateObject2$M, _templateObject3$A, _templateObject4$v, _templateObject5$q, _templateObject6$i, _templateObject7$f, _templateObject8$c, _templateObject9$c;
12815
+ var _templateObject$S, _templateObject2$L, _templateObject3$A, _templateObject4$v, _templateObject5$q, _templateObject6$i, _templateObject7$f, _templateObject8$c, _templateObject9$c;
12841
12816
  var IdCaptureGuideOverlay = function IdCaptureGuideOverlay(_ref) {
12842
12817
  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;
12843
12818
  var _ref$classNames = _ref.classNames,
@@ -12994,7 +12969,7 @@
12994
12969
  }).join(' ');
12995
12970
  };
12996
12971
  var StyledPageContainer = styled.div(_templateObject$S || (_templateObject$S = _taggedTemplateLiteralLoose(["\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1000;\n overflow: hidden;\n"])));
12997
- var GuidesContainer = styled.div(_templateObject2$M || (_templateObject2$M = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"])));
12972
+ var GuidesContainer = styled.div(_templateObject2$L || (_templateObject2$L = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"])));
12998
12973
  var GuideCenterRow = styled.div(_templateObject3$A || (_templateObject3$A = _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"])));
12999
12974
  var GuideRegion = styled.div(_templateObject4$v || (_templateObject4$v = _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) {
13000
12975
  var _ref2, _props$$maskColor, _props$theme;
@@ -13026,7 +13001,7 @@
13026
13001
  /** The mask colour when neither the prop nor the theme sets one. */
13027
13002
  var OVERLAY_GUIDE_MASK_DEFAULT = 'rgba(0, 0, 0, 0.5)';
13028
13003
 
13029
- var _templateObject$R, _templateObject2$L, _templateObject3$z, _templateObject4$u;
13004
+ var _templateObject$R, _templateObject2$K, _templateObject3$z, _templateObject4$u;
13030
13005
  var IdCaptureFitGuide = function IdCaptureFitGuide(_ref) {
13031
13006
  var _theme$idCapture$guid, _theme$idCapture, _theme$idCapture$guid5, _theme$idCapture5, _theme$idCapture$guid6, _theme$idCapture6, _theme$idCapture$guid7, _theme$idCapture7;
13032
13007
  var aspectRatio = _ref.aspectRatio,
@@ -13266,7 +13241,7 @@
13266
13241
  var CanvasWrapper$1 = styled.div(_templateObject$R || (_templateObject$R = _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) {
13267
13242
  return props.$aboveCameraFeed ? "z-index: 1;" : "box-shadow: inset 0 0 0 2px " + props.$maskColor + ";\n z-index: -1;";
13268
13243
  });
13269
- var Canvas$2 = styled.canvas(_templateObject2$L || (_templateObject2$L = _taggedTemplateLiteralLoose(["\n display: block;\n"])));
13244
+ var Canvas$2 = styled.canvas(_templateObject2$K || (_templateObject2$K = _taggedTemplateLiteralLoose(["\n display: block;\n"])));
13270
13245
  var CaptureAreaProgress = styled.div(_templateObject3$z || (_templateObject3$z = _taggedTemplateLiteralLoose(["\n position: absolute;\n left: ", "px;\n top: ", "px;\n width: ", "px;\n height: ", "px;\n pointer-events: none;\n"])), function (props) {
13271
13246
  return props.$x;
13272
13247
  }, function (props) {
@@ -13345,7 +13320,7 @@
13345
13320
  });
13346
13321
  };
13347
13322
 
13348
- var _templateObject$P, _templateObject2$K, _templateObject3$y, _templateObject4$t;
13323
+ var _templateObject$P, _templateObject2$J, _templateObject3$y, _templateObject4$t;
13349
13324
  function IdCaptureLoadingGraphic(props) {
13350
13325
  var isMobile = window.innerHeight > window.innerWidth;
13351
13326
  return isMobile ? jsx(IdCaptureLoadingGraphicMobile, _extends({}, props)) : jsx(IdCaptureLoadingGraphicDesktop, _extends({}, props));
@@ -13843,7 +13818,7 @@
13843
13818
  });
13844
13819
  }
13845
13820
  var LoadingGraphicWrapper = styled.div(_templateObject$P || (_templateObject$P = _taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n height: 100%;\n"])));
13846
- var LoadingGraphicSvg = styled.svg(_templateObject2$K || (_templateObject2$K = _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) {
13821
+ var LoadingGraphicSvg = styled.svg(_templateObject2$J || (_templateObject2$J = _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) {
13847
13822
  return props.$frame > 1 ? 1 : props.$frame === 1 ? 1.25 : 0.75;
13848
13823
  }, function (props) {
13849
13824
  return props.$frame >= 5 ? 10 : 0;
@@ -14111,7 +14086,7 @@
14111
14086
  // parent's gap/padding, which would offset the fallback it sits next to.
14112
14087
  var SpinnerSlot = styled.div(_templateObject$O || (_templateObject$O = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:empty {\n display: contents;\n }\n"])));
14113
14088
 
14114
- var _templateObject$N, _templateObject2$J, _templateObject3$x, _templateObject4$s, _templateObject5$p;
14089
+ var _templateObject$N, _templateObject2$I, _templateObject3$x, _templateObject4$s, _templateObject5$p;
14115
14090
  var legacyInstructionImageUrl$1 = DEFAULT_CDN_URL$1 + "/WebSDK-Instruction-DL-Capture-3-Portrait.png";
14116
14091
  // Module-level so the default `now` prop has a stable identity across
14117
14092
  // renders (it sits in useModelWarmingElapsedMs's effect dependency array).
@@ -14307,7 +14282,7 @@
14307
14282
  var _props$theme$idCaptur2, _props$theme2;
14308
14283
  return (_props$theme$idCaptur2 = (_props$theme2 = props.theme) == null || (_props$theme2 = _props$theme2.idCapture) == null || (_props$theme2 = _props$theme2.loadingOverlay) == null ? void 0 : _props$theme2.textColor) != null ? _props$theme$idCaptur2 : 'black';
14309
14284
  });
14310
- var ButtonsRow$1 = styled(LoadingOverlayButtonsRow)(_templateObject2$J || (_templateObject2$J = _taggedTemplateLiteralLoose(["\n color: ", ";\n ", "\n"])), function (props) {
14285
+ var ButtonsRow$1 = styled(LoadingOverlayButtonsRow)(_templateObject2$I || (_templateObject2$I = _taggedTemplateLiteralLoose(["\n color: ", ";\n ", "\n"])), function (props) {
14311
14286
  var _props$theme$idCaptur3, _props$theme3;
14312
14287
  return (_props$theme$idCaptur3 = (_props$theme3 = props.theme) == null || (_props$theme3 = _props$theme3.idCapture) == null || (_props$theme3 = _props$theme3.loadingOverlay) == null ? void 0 : _props$theme3.progressBarTextColor) != null ? _props$theme$idCaptur3 : 'white';
14313
14288
  }, function (props) {
@@ -22961,7 +22936,7 @@
22961
22936
  return bag == null ? void 0 : bag[instructionVerbiageKeys[code]];
22962
22937
  }
22963
22938
 
22964
- var _templateObject$M, _templateObject2$I, _templateObject3$w, _templateObject4$r, _templateObject5$o;
22939
+ var _templateObject$M, _templateObject2$H, _templateObject3$w, _templateObject4$r, _templateObject5$o;
22965
22940
  var PDF417_ASPECT_RATIO = 3 / 1;
22966
22941
  function BarcodeGuideOverlay(_ref) {
22967
22942
  var _ref$aspectRatio = _ref.aspectRatio,
@@ -23092,14 +23067,14 @@
23092
23067
  });
23093
23068
  }
23094
23069
  var Wrapper = styled.div(_templateObject$M || (_templateObject$M = _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"])));
23095
- var Canvas$1 = styled.canvas(_templateObject2$I || (_templateObject2$I = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"])));
23070
+ var Canvas$1 = styled.canvas(_templateObject2$H || (_templateObject2$H = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"])));
23096
23071
  var TextOverlay = styled.div(_templateObject3$w || (_templateObject3$w = _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"])));
23097
23072
  var HeaderText = styled.div(_templateObject4$r || (_templateObject4$r = _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"])));
23098
23073
  var InstructionText = styled.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n color: white;\n font-size: 16px;\n font-weight: 400;\n text-align: center;\n max-width: 300px;\n line-height: 1.4;\n opacity: 0.9;\n"])));
23099
23074
 
23100
- var _templateObject$L, _templateObject2$H, _templateObject3$v, _templateObject4$q, _templateObject5$n, _templateObject6$h;
23075
+ var _templateObject$L, _templateObject2$G, _templateObject3$v, _templateObject4$q, _templateObject5$n, _templateObject6$h;
23101
23076
  var scaleIn = keyframes(_templateObject$L || (_templateObject$L = _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"])));
23102
- var drawCheck = keyframes(_templateObject2$H || (_templateObject2$H = _taggedTemplateLiteralLoose(["\n 0% {\n stroke-dashoffset: 24;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n"])));
23077
+ var drawCheck = keyframes(_templateObject2$G || (_templateObject2$G = _taggedTemplateLiteralLoose(["\n 0% {\n stroke-dashoffset: 24;\n }\n 100% {\n stroke-dashoffset: 0;\n }\n"])));
23103
23078
  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 align-items: center;\n justify-content: center;\n pointer-events: none;\n z-index: 3;\n"])));
23104
23079
  styled.div(_templateObject4$q || (_templateObject4$q = _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) {
23105
23080
  return props.$color;
@@ -23199,7 +23174,7 @@
23199
23174
  });
23200
23175
  }
23201
23176
 
23202
- var _templateObject$K, _templateObject2$G, _templateObject3$u, _templateObject4$p, _templateObject5$m;
23177
+ var _templateObject$K, _templateObject2$F, _templateObject3$u, _templateObject4$p, _templateObject5$m;
23203
23178
  function OverrideWrongDocumentTypeDialog(_ref) {
23204
23179
  var visible = _ref.visible,
23205
23180
  onOverride = _ref.onOverride,
@@ -23238,7 +23213,7 @@
23238
23213
  var _props$theme$idCaptur3, _props$theme$idCaptur4;
23239
23214
  return (_props$theme$idCaptur3 = (_props$theme$idCaptur4 = props.theme.idCapture) == null || (_props$theme$idCaptur4 = _props$theme$idCaptur4.overrideWrongDocumentTypeGuidance) == null ? void 0 : _props$theme$idCaptur4.textColor) != null ? _props$theme$idCaptur3 : 'black';
23240
23215
  });
23241
- var InnerContainer = styled.div(_templateObject2$G || (_templateObject2$G = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n padding: 16px 24px;\n margin: auto 0;\n width: 100%;\n"])));
23216
+ var InnerContainer = styled.div(_templateObject2$F || (_templateObject2$F = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n padding: 16px 24px;\n margin: auto 0;\n width: 100%;\n"])));
23242
23217
  var Message = styled.span(_templateObject3$u || (_templateObject3$u = _taggedTemplateLiteralLoose(["\n display: block;\n margin: auto 12px auto 0;\n"])));
23243
23218
  var ButtonContainer = styled.div(_templateObject4$p || (_templateObject4$p = _taggedTemplateLiteralLoose(["\n display: flex;\n margin-left: auto;\n"])));
23244
23219
  var Button = styled(LoaderButton)(_templateObject5$m || (_templateObject5$m = _taggedTemplateLiteralLoose(["\n white-space: nowrap;\n margin: auto;\n"])));
@@ -23348,7 +23323,7 @@
23348
23323
  });
23349
23324
  };
23350
23325
 
23351
- var _templateObject$J, _templateObject2$F;
23326
+ var _templateObject$J, _templateObject2$E;
23352
23327
  var RING_SIZE = 74;
23353
23328
  var RADIUS = 32;
23354
23329
  var CIRCUMFERENCE = 2 * Math.PI * RADIUS;
@@ -23394,7 +23369,7 @@
23394
23369
  });
23395
23370
  };
23396
23371
  var RingSvg = styled.svg(_templateObject$J || (_templateObject$J = _taggedTemplateLiteralLoose(["\n width: ", "px;\n height: ", "px;\n transform: rotate(-90deg);\n"])), RING_SIZE, RING_SIZE);
23397
- var FillCircle = styled.circle(_templateObject2$F || (_templateObject2$F = _taggedTemplateLiteralLoose(["\n transition: stroke-dashoffset 0.3s linear;\n"])));
23372
+ var FillCircle = styled.circle(_templateObject2$E || (_templateObject2$E = _taggedTemplateLiteralLoose(["\n transition: stroke-dashoffset 0.3s linear;\n"])));
23398
23373
 
23399
23374
  var selectRingStatusKey = function selectRingStatusKey(_ref) {
23400
23375
  var ready = _ref.ready,
@@ -23409,7 +23384,7 @@
23409
23384
  return 'warming';
23410
23385
  };
23411
23386
 
23412
- var _templateObject$I, _templateObject2$E, _templateObject3$t, _templateObject4$o, _templateObject5$l, _templateObject6$g, _templateObject7$e, _templateObject8$b, _templateObject9$b, _templateObject0$a, _templateObject1$9, _templateObject10$9;
23387
+ var _templateObject$I, _templateObject2$D, _templateObject3$t, _templateObject4$o, _templateObject5$l, _templateObject6$g, _templateObject7$e, _templateObject8$b, _templateObject9$b, _templateObject0$a, _templateObject1$9;
23413
23388
  /**
23414
23389
  * The ring overlay's priming cover page (CEO prototype `#v-prime`): camera
23415
23390
  * badge, title/subtitle, step chips, reassurance chip, "Enable camera &
@@ -23480,7 +23455,6 @@
23480
23455
  finished: !requesting,
23481
23456
  disabled: requesting,
23482
23457
  onClick: onStart,
23483
- "data-spinner-color": badgeColor,
23484
23458
  children: requesting ? requestingButtonText : startButtonText
23485
23459
  }), jsx(Privacy, {
23486
23460
  className: classNames.introPrivacy,
@@ -23489,19 +23463,18 @@
23489
23463
  });
23490
23464
  };
23491
23465
  var _float = keyframes(_templateObject$I || (_templateObject$I = _taggedTemplateLiteralLoose(["\n 0%, 100% { transform: translateY(0); }\n 50% { transform: translateY(-7px); }\n"])));
23492
- var sweep = keyframes(_templateObject2$E || (_templateObject2$E = _taggedTemplateLiteralLoose(["\n from { transform: translateX(-100%); }\n to { transform: translateX(100%); }\n"])));
23493
- var IntroLayout = styled.div(_templateObject3$t || (_templateObject3$t = _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"])));
23494
- var Badge = styled.div(_templateObject4$o || (_templateObject4$o = _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) {
23466
+ var IntroLayout = styled.div(_templateObject2$D || (_templateObject2$D = _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"])));
23467
+ var Badge = styled.div(_templateObject3$t || (_templateObject3$t = _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) {
23495
23468
  return props.$color;
23496
23469
  }, function (props) {
23497
23470
  return props.$color;
23498
23471
  }, _float);
23499
- var Title$4 = styled.div(_templateObject5$l || (_templateObject5$l = _taggedTemplateLiteralLoose(["\n font-size: 22px;\n font-weight: 700;\n"])));
23500
- var Subtitle$3 = styled.div(_templateObject6$g || (_templateObject6$g = _taggedTemplateLiteralLoose(["\n font-size: 14px;\n opacity: 0.65;\n line-height: 1.5;\n"])));
23501
- var Steps = styled.div(_templateObject7$e || (_templateObject7$e = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 26px;\n margin: 16px 0 6px;\n"])));
23502
- var Step = styled.div(_templateObject8$b || (_templateObject8$b = _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"])));
23503
- var StepDot = styled.div(_templateObject9$b || (_templateObject9$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"])));
23504
- var ReassuranceChip = styled.div(_templateObject0$a || (_templateObject0$a = _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) {
23472
+ var Title$4 = styled.div(_templateObject4$o || (_templateObject4$o = _taggedTemplateLiteralLoose(["\n font-size: 22px;\n font-weight: 700;\n"])));
23473
+ var Subtitle$3 = styled.div(_templateObject5$l || (_templateObject5$l = _taggedTemplateLiteralLoose(["\n font-size: 14px;\n opacity: 0.65;\n line-height: 1.5;\n"])));
23474
+ var Steps = styled.div(_templateObject6$g || (_templateObject6$g = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 26px;\n margin: 16px 0 6px;\n"])));
23475
+ var Step = styled.div(_templateObject7$e || (_templateObject7$e = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n opacity: 0.75;\n width: 90px;\n"])));
23476
+ var StepDot = styled.div(_templateObject8$b || (_templateObject8$b = _taggedTemplateLiteralLoose(["\n width: 44px;\n height: 44px;\n border-radius: 50%;\n background: #ffffff;\n border: 1.5px solid rgba(0, 0, 0, 0.08);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n"])));
23477
+ var ReassuranceChip = styled.div(_templateObject9$b || (_templateObject9$b = _taggedTemplateLiteralLoose(["\n font-size: 11px;\n background: ", ";\n border-radius: 10px;\n padding: 6px 12px;\n max-width: 250px;\n line-height: 1.4;\n"])), function (props) {
23505
23478
  return props.$tint;
23506
23479
  });
23507
23480
  /* Pill treatment from the CEO prototype (.btn.primary: radius 26, teal glow,
@@ -23509,10 +23482,8 @@
23509
23482
  * theme styling. The glow and the deliberately quiet focus ring derive from
23510
23483
  * the button's own background (--bs-btn-bg, set by the theme's bootstrap
23511
23484
  * block) with the intro accent as fallback for un-themed buttons. Double
23512
- * ampersand outranks the base LoaderButton rules; Ladda's loading
23513
- * padding-right still wins (three-selector specificity) so the spinner
23514
- * keeps its room. */
23515
- var StartButton = styled(LoaderButton)(_templateObject1$9 || (_templateObject1$9 = _taggedTemplateLiteralLoose(["\n && {\n margin-top: 10px;\n white-space: nowrap;\n min-width: 240px;\n border: none;\n border-radius: 26px;\n padding: 15px 28px;\n font-size: 16px;\n font-weight: 600;\n box-shadow: 0 6px 18px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 35%,\n transparent\n );\n\n &:hover:not(.disabled) {\n transform: translateY(-1px);\n box-shadow: 0 9px 24px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 42%,\n transparent\n );\n }\n\n &:active:not(.disabled) {\n transform: translateY(0) scale(0.97);\n box-shadow: 0 4px 12px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 30%,\n transparent\n );\n }\n\n &:focus-visible {\n outline: none;\n box-shadow:\n 0 6px 18px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 35%,\n transparent\n ),\n 0 0 0 3px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 25%,\n #ffffff\n );\n }\n\n /* Requesting-camera state: a pale accent tint (visibly \"waiting\", not\n * the solid \"go\" green), deep-accent label, and an indeterminate gloss\n * sweep. LoaderButton's simulated 0\u219290% progress fill is hidden \u2014 a\n * permission prompt has no knowable progress. */\n &.disabled {\n opacity: 1;\n overflow: hidden;\n background: color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 12%,\n #ffffff\n );\n color: color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 85%,\n #000000\n );\n box-shadow: 0 4px 14px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 18%,\n transparent\n );\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 1;\n background: linear-gradient(\n 100deg,\n transparent 30%,\n rgb(255 255 255 / 0.65) 50%,\n transparent 70%\n );\n animation: ", " 1.4s ease-in-out infinite;\n }\n\n .ladda-progress {\n display: none;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n &:hover:not(.disabled),\n &:active:not(.disabled) {\n transform: none;\n }\n\n &.disabled::after {\n display: none;\n }\n }\n }\n"])), function (props) {
23485
+ * ampersand outranks the base LoaderButton rules. */
23486
+ var StartButton = styled(LoaderButton)(_templateObject0$a || (_templateObject0$a = _taggedTemplateLiteralLoose(["\n && {\n margin-top: 10px;\n white-space: nowrap;\n min-width: 240px;\n border: none;\n border-radius: 26px;\n padding: 15px 28px;\n font-size: 16px;\n font-weight: 600;\n box-shadow: 0 6px 18px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 35%,\n transparent\n );\n\n &:hover:not(.disabled) {\n transform: translateY(-1px);\n box-shadow: 0 9px 24px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 42%,\n transparent\n );\n }\n\n &:active:not(.disabled) {\n transform: translateY(0) scale(0.97);\n box-shadow: 0 4px 12px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 30%,\n transparent\n );\n }\n\n &:focus-visible {\n outline: none;\n box-shadow:\n 0 6px 18px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 35%,\n transparent\n ),\n 0 0 0 3px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 25%,\n #ffffff\n );\n }\n\n /* Requesting-camera state: a pale accent tint (visibly \"waiting\", not\n * the solid \"go\" green) and a deep-accent label. LoaderButton's loading\n * bar takes the label colour. */\n &.disabled {\n opacity: 1;\n background: color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 12%,\n #ffffff\n );\n color: color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 85%,\n #000000\n );\n box-shadow: 0 4px 14px\n color-mix(\n in srgb,\n var(--bs-btn-bg, ", ") 18%,\n transparent\n );\n }\n\n @media (prefers-reduced-motion: reduce) {\n &:hover:not(.disabled),\n &:active:not(.disabled) {\n transform: none;\n }\n }\n }\n"])), function (props) {
23516
23487
  return props.$accent;
23517
23488
  }, function (props) {
23518
23489
  return props.$accent;
@@ -23528,8 +23499,8 @@
23528
23499
  return props.$accent;
23529
23500
  }, function (props) {
23530
23501
  return props.$accent;
23531
- }, sweep);
23532
- var Privacy = styled.div(_templateObject10$9 || (_templateObject10$9 = _taggedTemplateLiteralLoose(["\n font-size: 11px;\n opacity: 0.55;\n margin-top: 6px;\n"])));
23502
+ });
23503
+ var Privacy = styled.div(_templateObject1$9 || (_templateObject1$9 = _taggedTemplateLiteralLoose(["\n font-size: 11px;\n opacity: 0.55;\n margin-top: 6px;\n"])));
23533
23504
 
23534
23505
  var selectRingOverlayStage = function selectRingOverlayStage(_ref) {
23535
23506
  var showIntroScreen = _ref.showIntroScreen,
@@ -23539,7 +23510,7 @@
23539
23510
  return requesting ? 'requesting' : 'intro';
23540
23511
  };
23541
23512
 
23542
- var _templateObject$H, _templateObject2$D, _templateObject3$s, _templateObject4$n, _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;
23513
+ var _templateObject$H, _templateObject2$C, _templateObject3$s, _templateObject4$n, _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;
23543
23514
  /** Minimum time a stage handoff stays on screen so its message is
23544
23515
  * legible even when everything preloaded and readiness is instant. */
23545
23516
  var STAGE_TRANSITION_HOLD_MS = 1600;
@@ -23599,7 +23570,7 @@
23599
23570
  });
23600
23571
  };
23601
23572
  var badgePop = keyframes(_templateObject$H || (_templateObject$H = _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"])));
23602
- var cardFlip = keyframes(_templateObject2$D || (_templateObject2$D = _taggedTemplateLiteralLoose(["\n from { transform: rotateY(0deg); }\n to { transform: rotateY(180deg); }\n"])));
23573
+ var cardFlip = keyframes(_templateObject2$C || (_templateObject2$C = _taggedTemplateLiteralLoose(["\n from { transform: rotateY(0deg); }\n to { transform: rotateY(180deg); }\n"])));
23603
23574
  var microcopyBeat = keyframes(_templateObject3$s || (_templateObject3$s = _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"])));
23604
23575
  var rise = keyframes(_templateObject4$n || (_templateObject4$n = _taggedTemplateLiteralLoose(["\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n"])));
23605
23576
  var riseSubtle = keyframes(_templateObject5$k || (_templateObject5$k = _taggedTemplateLiteralLoose(["\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 0.65; transform: translateY(0); }\n"])));
@@ -23630,7 +23601,7 @@
23630
23601
  return props.$visible ? 1 : 0;
23631
23602
  });
23632
23603
 
23633
- var _templateObject$G, _templateObject2$C, _templateObject3$r, _templateObject4$m, _templateObject5$j, _templateObject6$e, _templateObject7$c;
23604
+ var _templateObject$G, _templateObject2$B, _templateObject3$r, _templateObject4$m, _templateObject5$j, _templateObject6$e, _templateObject7$c;
23634
23605
  // Module-level so the default `now` prop has a stable identity across
23635
23606
  // renders (it sits in useModelWarmingElapsedMs's effect dependency array).
23636
23607
  var defaultNow$2 = function defaultNow() {
@@ -23905,7 +23876,7 @@
23905
23876
  });
23906
23877
  };
23907
23878
  var overlayFadeIn$1 = keyframes(_templateObject$G || (_templateObject$G = _taggedTemplateLiteralLoose(["\n from { opacity: 0; }\n to { opacity: 1; }\n"])));
23908
- var RingOverlayInner$1 = styled(LoadingOverlayInner)(_templateObject2$C || (_templateObject2$C = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n ", "\n"])), function (props) {
23879
+ var RingOverlayInner$1 = styled(LoadingOverlayInner)(_templateObject2$B || (_templateObject2$B = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n ", "\n"])), function (props) {
23909
23880
  var _props$theme$idCaptur, _props$theme;
23910
23881
  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)';
23911
23882
  return "linear-gradient(180deg, #ffffff, color-mix(in srgb, " + tintBase + " 45%, #ffffff))";
@@ -24009,11 +23980,11 @@
24009
23980
  });
24010
23981
  };
24011
23982
 
24012
- var _templateObject$F, _templateObject2$B;
23983
+ var _templateObject$F, _templateObject2$A;
24013
23984
  var Card = styled.div(_templateObject$F || (_templateObject$F = _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"])));
24014
- var FlexCard = styled(Card)(_templateObject2$B || (_templateObject2$B = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n"])));
23985
+ var FlexCard = styled(Card)(_templateObject2$A || (_templateObject2$A = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n"])));
24015
23986
 
24016
- var _templateObject$E, _templateObject2$A, _templateObject3$q, _templateObject4$l, _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;
23987
+ var _templateObject$E, _templateObject2$z, _templateObject3$q, _templateObject4$l, _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;
24017
23988
  function ReviewDocumentDiagnostics(_ref) {
24018
23989
  var _document$detectionSc, _document$detectionSc2, _document$focusScore, _document$focusScore2;
24019
23990
  var document = _ref.document,
@@ -24473,7 +24444,7 @@
24473
24444
  });
24474
24445
  }
24475
24446
  var DebugInfoContainer = styled.div(_templateObject$E || (_templateObject$E = _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"])));
24476
- var DebugSection = styled.div(_templateObject2$A || (_templateObject2$A = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin: 0;\n"])));
24447
+ var DebugSection = styled.div(_templateObject2$z || (_templateObject2$z = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin: 0;\n"])));
24477
24448
  var DebugLabel = styled.span(_templateObject3$q || (_templateObject3$q = _taggedTemplateLiteralLoose(["\n width: 110px;\n flex-shrink: 0;\n color: #495057;\n font-size: 0.8125rem;\n font-weight: 600;\n"])));
24478
24449
  var DebugValue = styled.span(_templateObject4$l || (_templateObject4$l = _taggedTemplateLiteralLoose(["\n color: #212529;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 0.8125rem;\n"])));
24479
24450
  var ScoreBadge = styled.span(_templateObject5$i || (_templateObject5$i = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n padding: 0.1875rem 0.5rem;\n border: 1px solid\n ", ";\n border-radius: 4px;\n background: ", ";\n color: ", ";\n font-size: 0.75rem;\n font-weight: 600;\n"])), function (_ref4) {
@@ -24588,7 +24559,7 @@
24588
24559
  return $highlight ? '#004085' : $ok ? '#155724' : '#721c24';
24589
24560
  });
24590
24561
 
24591
- var _templateObject$D, _templateObject2$z, _templateObject3$p, _templateObject4$k, _templateObject5$h;
24562
+ var _templateObject$D, _templateObject2$y, _templateObject3$p, _templateObject4$k, _templateObject5$h;
24592
24563
  var imageDisplayOrder = ['idCardFront', 'idCardBack', 'idBarcodeImage', 'passport', 'singlePage', 'idFrontIrImage', 'idBackIrImage', 'idFrontUvImage', 'idBackUvImage'];
24593
24564
  var ReviewScreen = function ReviewScreen(_ref) {
24594
24565
  var capturedDocuments = _ref.capturedDocuments,
@@ -24680,12 +24651,12 @@
24680
24651
  });
24681
24652
  };
24682
24653
  var Heading$9 = styled.h1(_templateObject$D || (_templateObject$D = _taggedTemplateLiteralLoose(["\n font-size: 1.5rem;\n margin-top: 0;\n margin-bottom: 1.5rem;\n"])));
24683
- var ImagesContainer = styled(OverlayImageContainer)(_templateObject2$z || (_templateObject2$z = _taggedTemplateLiteralLoose(["\n flex-grow: 1;\n overflow-y: auto;\n padding-bottom: 0;\n max-width: 100%;\n"])));
24654
+ var ImagesContainer = styled(OverlayImageContainer)(_templateObject2$y || (_templateObject2$y = _taggedTemplateLiteralLoose(["\n flex-grow: 1;\n overflow-y: auto;\n padding-bottom: 0;\n max-width: 100%;\n"])));
24684
24655
  var ImageRow = styled(OverlayImageRow)(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteralLoose(["\n max-width: 100%;\n flex-direction: column;\n position: relative;\n width: 100%;\n"])));
24685
24656
  var ImageCol$1 = styled.div(_templateObject4$k || (_templateObject4$k = _taggedTemplateLiteralLoose(["\n width: 450px;\n max-width: 100%;\n max-height: none !important;\n"])));
24686
24657
  var StyledImage = styled(CapturedDocumentImg)(_templateObject5$h || (_templateObject5$h = _taggedTemplateLiteralLoose(["\n width: 100%;\n border-radius: 12px;\n"])));
24687
24658
 
24688
- var _templateObject$C, _templateObject2$y, _templateObject3$o, _templateObject4$j;
24659
+ var _templateObject$C, _templateObject2$x, _templateObject3$o, _templateObject4$j;
24689
24660
  var CameraAccessDeniedOverlay = function CameraAccessDeniedOverlay(_ref) {
24690
24661
  var _assets$imageUrl, _classNames$container;
24691
24662
  var onRetry = _ref.onRetry,
@@ -24745,11 +24716,11 @@
24745
24716
  });
24746
24717
  };
24747
24718
  var StyledOverlayInner$2 = styled(OverlayInner$2)(_templateObject$C || (_templateObject$C = _taggedTemplateLiteralLoose(["\n max-width: 500px;\n height: auto;\n margin: auto;\n"])));
24748
- var StyledOverlayImageContainer = styled(OverlayImageContainer)(_templateObject2$y || (_templateObject2$y = _taggedTemplateLiteralLoose(["\n flex-grow: 0;\n"])));
24719
+ var StyledOverlayImageContainer = styled(OverlayImageContainer)(_templateObject2$x || (_templateObject2$x = _taggedTemplateLiteralLoose(["\n flex-grow: 0;\n"])));
24749
24720
  var Description$3 = styled.p(_templateObject3$o || (_templateObject3$o = _taggedTemplateLiteralLoose(["\n line-height: 1.5;\n margin-bottom: 50px;\n"])));
24750
24721
  var RetryButton$1 = styled(LoaderButton)(_templateObject4$j || (_templateObject4$j = _taggedTemplateLiteralLoose(["\n width: 200px;\n margin: 0 auto;\n"])));
24751
24722
 
24752
- var _templateObject$B, _templateObject2$x, _templateObject3$n;
24723
+ var _templateObject$B, _templateObject2$w, _templateObject3$n;
24753
24724
  var ErrorScreen = function ErrorScreen(_ref) {
24754
24725
  var error = _ref.error,
24755
24726
  onRetry = _ref.onRetry,
@@ -24941,7 +24912,7 @@
24941
24912
  // IdCaptureLoadingOverlayDefault's `theme...textColor ?? 'black'`); do the
24942
24913
  // same here rather than inherit a foreground meant for the dark overlays.
24943
24914
  var ErrorCard = styled(FlexCard)(_templateObject$B || (_templateObject$B = _taggedTemplateLiteralLoose(["\n color: black;\n"])));
24944
- var Heading$8 = styled.h1(_templateObject2$x || (_templateObject2$x = _taggedTemplateLiteralLoose(["\n font-size: 1.5rem;\n margin-top: 0;\n margin-bottom: 1rem;\n"])));
24915
+ var Heading$8 = styled.h1(_templateObject2$w || (_templateObject2$w = _taggedTemplateLiteralLoose(["\n font-size: 1.5rem;\n margin-top: 0;\n margin-bottom: 1rem;\n"])));
24945
24916
  var Description$2 = styled.p(_templateObject3$n || (_templateObject3$n = _taggedTemplateLiteralLoose(["\n line-height: 1.5;\n margin-bottom: 1.5rem;\n"])));
24946
24917
 
24947
24918
  // The one file-read both fallback screens use.
@@ -24983,7 +24954,7 @@
24983
24954
  return key === 'third' ? 'ID page of passport' : 'back of ID card';
24984
24955
  }
24985
24956
 
24986
- var _templateObject$A, _templateObject2$w, _templateObject3$m, _templateObject4$i, _templateObject5$g, _templateObject6$c, _templateObject7$a;
24957
+ var _templateObject$A, _templateObject2$v, _templateObject3$m, _templateObject4$i, _templateObject5$g, _templateObject6$c, _templateObject7$a;
24987
24958
  function IdCaptureFallback(_ref) {
24988
24959
  var _ref$captureRequireme = _ref.captureRequirement,
24989
24960
  captureRequirement = _ref$captureRequireme === void 0 ? 'idCardOrPassport' : _ref$captureRequireme,
@@ -25153,14 +25124,14 @@
25153
25124
  });
25154
25125
  }
25155
25126
  var StyledOverlayInner$1 = styled(OverlayInner$2)(_templateObject$A || (_templateObject$A = _taggedTemplateLiteralLoose(["\n justify-content: center;\n"])));
25156
- var Heading$7 = styled.h3(_templateObject2$w || (_templateObject2$w = _taggedTemplateLiteralLoose(["\n margin-bottom: 8px;\n"])));
25127
+ var Heading$7 = styled.h3(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n margin-bottom: 8px;\n"])));
25157
25128
  var Description$1 = styled.p(_templateObject3$m || (_templateObject3$m = _taggedTemplateLiteralLoose(["\n margin-bottom: 8px;\n"])));
25158
25129
  var Instruction = styled.p(_templateObject4$i || (_templateObject4$i = _taggedTemplateLiteralLoose(["\n font-weight: bold;\n"])));
25159
25130
  var ReadFailed$1 = styled.p(_templateObject5$g || (_templateObject5$g = _taggedTemplateLiteralLoose(["\n font-weight: bold;\n"])));
25160
25131
  var ImageCol = styled.div(_templateObject6$c || (_templateObject6$c = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"])));
25161
25132
  var StyledButtonsRow$6 = styled(ButtonsRow$2)(_templateObject7$a || (_templateObject7$a = _taggedTemplateLiteralLoose(["\n margin-top: 32px;\n"])));
25162
25133
 
25163
- var _templateObject$z, _templateObject2$v, _templateObject3$l, _templateObject4$h, _templateObject5$f, _templateObject6$b, _templateObject7$9, _templateObject8$8, _templateObject9$8, _templateObject0$7, _templateObject1$6, _templateObject10$6;
25134
+ var _templateObject$z, _templateObject2$u, _templateObject3$l, _templateObject4$h, _templateObject5$f, _templateObject6$b, _templateObject7$9, _templateObject8$8, _templateObject9$8, _templateObject0$7, _templateObject1$6, _templateObject10$6;
25164
25135
  function IdCaptureOrUploadScreen(_ref) {
25165
25136
  var _ref$captureRequireme = _ref.captureRequirement,
25166
25137
  captureRequirement = _ref$captureRequireme === void 0 ? 'idCardOrPassport' : _ref$captureRequireme,
@@ -25411,7 +25382,7 @@
25411
25382
  var _props$theme$backgrou, _props$theme;
25412
25383
  return (_props$theme$backgrou = (_props$theme = props.theme) == null ? void 0 : _props$theme.background) != null ? _props$theme$backgrou : '#fff';
25413
25384
  });
25414
- var ScreenPanel = styled.div(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n width: 100%;\n max-width: 320px;\n"])));
25385
+ var ScreenPanel = styled.div(_templateObject2$u || (_templateObject2$u = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n width: 100%;\n max-width: 320px;\n"])));
25415
25386
  var DashedSeparator = styled.div(_templateObject3$l || (_templateObject3$l = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n max-width: 320px;\n border-top: 1px dashed currentColor;\n opacity: 0.4;\n"])));
25416
25387
  var OrWrapper = styled.span(_templateObject4$h || (_templateObject4$h = _taggedTemplateLiteralLoose(["\n transform: translateY(-50%);\n padding: 0 8px;\n background: ", ";\n"])), function (props) {
25417
25388
  var _props$theme$backgrou2, _props$theme2;
@@ -29990,7 +29961,7 @@
29990
29961
  });
29991
29962
  }
29992
29963
 
29993
- var _templateObject$w, _templateObject2$u, _templateObject3$k, _templateObject4$g;
29964
+ var _templateObject$w, _templateObject2$t, _templateObject3$k, _templateObject4$g;
29994
29965
  var _excluded$d = ["borderColor", "borderOpacity", "borderWidth", "status"],
29995
29966
  _excluded2$4 = ["status", "guideStyle"],
29996
29967
  _excluded3 = ["frame", "borderWidth", "borderColor", "borderOpacity", "verticalAlign", "status", "guideStyle"],
@@ -30068,7 +30039,7 @@
30068
30039
  // while also running the camera and face model. Waves only render while the
30069
30040
  // status is 'ready', so the pulse replays each time the face leaves the guide.
30070
30041
  var headGuideWavesAnimation = keyframes(_templateObject$w || (_templateObject$w = _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"])));
30071
- var PulsingHeadGuideContainer = styled.div(_templateObject2$u || (_templateObject2$u = _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);
30042
+ var PulsingHeadGuideContainer = styled.div(_templateObject2$t || (_templateObject2$t = _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);
30072
30043
  function HeadGuide(_ref2) {
30073
30044
  var _theme$selfieCapture$, _theme$selfieCapture, _theme$selfieCapture$2, _theme$selfieCapture2, _theme$selfieCapture$3, _theme$selfieCapture3, _props$className;
30074
30045
  var _ref2$status = _ref2.status,
@@ -30379,11 +30350,11 @@
30379
30350
  }));
30380
30351
  }
30381
30352
 
30382
- var _templateObject$v, _templateObject2$t;
30353
+ var _templateObject$v, _templateObject2$s;
30383
30354
  var FaceCaptureGuideContainer = styled.div(_templateObject$v || (_templateObject$v = _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) {
30384
30355
  return props.$clip ? 'overflow: hidden;' : '';
30385
30356
  });
30386
- var FaceCaptureGuideInner = styled.div(_templateObject2$t || (_templateObject2$t = _taggedTemplateLiteralLoose(["\n position: relative;\n height: 60%;\n"])));
30357
+ var FaceCaptureGuideInner = styled.div(_templateObject2$s || (_templateObject2$s = _taggedTemplateLiteralLoose(["\n position: relative;\n height: 60%;\n"])));
30387
30358
  // Memoized: the capture surfaces re-render on every analyzed frame, but the
30388
30359
  // guide's props only change when the mask status does.
30389
30360
  var FaceCaptureGuideOverlay = /*#__PURE__*/React.memo(function FaceCaptureGuideOverlay(_ref) {
@@ -30693,7 +30664,7 @@
30693
30664
  });
30694
30665
  }
30695
30666
 
30696
- var _templateObject$u, _templateObject2$s, _templateObject3$j, _templateObject4$f, _templateObject5$e;
30667
+ var _templateObject$u, _templateObject2$r, _templateObject3$j, _templateObject4$f, _templateObject5$e;
30697
30668
  var legacyInstructionImageUrl = DEFAULT_CDN_URL$1 + "/Selfie-Image-1.png";
30698
30669
  // Module-level so the default `now` prop has a stable identity across
30699
30670
  // renders (it sits in useModelWarmingElapsedMs's effect dependency array).
@@ -30871,7 +30842,7 @@
30871
30842
  var _props$theme$selfieCa2, _props$theme2;
30872
30843
  return (_props$theme$selfieCa2 = (_props$theme2 = props.theme) == null || (_props$theme2 = _props$theme2.selfieCapture) == null || (_props$theme2 = _props$theme2.loadingOverlay) == null ? void 0 : _props$theme2.textColor) != null ? _props$theme$selfieCa2 : 'black';
30873
30844
  });
30874
- var ButtonsRow = styled(LoadingOverlayButtonsRow)(_templateObject2$s || (_templateObject2$s = _taggedTemplateLiteralLoose(["\n color: ", ";\n ", "\n"])), function (props) {
30845
+ var ButtonsRow = styled(LoadingOverlayButtonsRow)(_templateObject2$r || (_templateObject2$r = _taggedTemplateLiteralLoose(["\n color: ", ";\n ", "\n"])), function (props) {
30875
30846
  var _props$theme$selfieCa3, _props$theme3;
30876
30847
  return (_props$theme$selfieCa3 = (_props$theme3 = props.theme) == null || (_props$theme3 = _props$theme3.selfieCapture) == null || (_props$theme3 = _props$theme3.loadingOverlay) == null ? void 0 : _props$theme3.progressBarTextColor) != null ? _props$theme$selfieCa3 : 'white';
30877
30848
  }, function (props) {
@@ -30930,7 +30901,7 @@
30930
30901
  });
30931
30902
  }
30932
30903
 
30933
- var _templateObject$t, _templateObject2$r;
30904
+ var _templateObject$t, _templateObject2$q;
30934
30905
  var SelfieCaptureLoadingOverlayLegacy = function SelfieCaptureLoadingOverlayLegacy(_ref) {
30935
30906
  var _assets$instructionIm;
30936
30907
  var state = _ref.state,
@@ -31007,9 +30978,9 @@
31007
30978
  });
31008
30979
  };
31009
30980
  var StyledGuidanceMessage = styled(GuidanceMessage)(_templateObject$t || (_templateObject$t = _taggedTemplateLiteralLoose(["\n padding: 12px 24px;\n font-weight: normal;\n line-height: 1.5;\n margin-bottom: -30px;\n"])));
31010
- var StyledButtonsRow$5 = styled(ButtonsRow$2)(_templateObject2$r || (_templateObject2$r = _taggedTemplateLiteralLoose(["\n flex-direction: column;\n padding-top: 25px;\n"])));
30981
+ var StyledButtonsRow$5 = styled(ButtonsRow$2)(_templateObject2$q || (_templateObject2$q = _taggedTemplateLiteralLoose(["\n flex-direction: column;\n padding-top: 25px;\n"])));
31011
30982
 
31012
- var _templateObject$s, _templateObject2$q, _templateObject3$i, _templateObject4$e, _templateObject5$d, _templateObject6$a, _templateObject7$8;
30983
+ var _templateObject$s, _templateObject2$p, _templateObject3$i, _templateObject4$e, _templateObject5$d, _templateObject6$a, _templateObject7$8;
31013
30984
  // Module-level so the default `now` prop has a stable identity across
31014
30985
  // renders (it sits in useModelWarmingElapsedMs's effect dependency array).
31015
30986
  var defaultNow = function defaultNow() {
@@ -31268,7 +31239,7 @@
31268
31239
  });
31269
31240
  };
31270
31241
  var overlayFadeIn = keyframes(_templateObject$s || (_templateObject$s = _taggedTemplateLiteralLoose(["\n from { opacity: 0; }\n to { opacity: 1; }\n"])));
31271
- var RingOverlayInner = styled(LoadingOverlayInner)(_templateObject2$q || (_templateObject2$q = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n ", "\n"])), function (props) {
31242
+ var RingOverlayInner = styled(LoadingOverlayInner)(_templateObject2$p || (_templateObject2$p = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n ", "\n"])), function (props) {
31272
31243
  var _props$theme$selfieCa, _props$theme;
31273
31244
  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)';
31274
31245
  return "linear-gradient(180deg, #ffffff, color-mix(in srgb, " + tintBase + " 45%, #ffffff))";
@@ -31310,7 +31281,7 @@
31310
31281
  return jsx(Component, _extends({}, props));
31311
31282
  };
31312
31283
 
31313
- var _templateObject$r, _templateObject2$p, _templateObject3$h, _templateObject4$d, _templateObject5$c, _templateObject6$9;
31284
+ var _templateObject$r, _templateObject2$o, _templateObject3$h, _templateObject4$d, _templateObject5$c, _templateObject6$9;
31314
31285
  function SelfieCaptureFallback(_ref) {
31315
31286
  var _ref$silentFallback = _ref.silentFallback,
31316
31287
  silentFallback = _ref$silentFallback === void 0 ? false : _ref$silentFallback,
@@ -31465,13 +31436,13 @@
31465
31436
  });
31466
31437
  }
31467
31438
  var StyledOverlayInner = styled(OverlayInner$2)(_templateObject$r || (_templateObject$r = _taggedTemplateLiteralLoose(["\n justify-content: center;\n padding: 24px;\n box-sizing: border-box;\n"])));
31468
- var Heading$6 = styled.h1(_templateObject2$p || (_templateObject2$p = _taggedTemplateLiteralLoose(["\n font-size: 1.5rem;\n margin: 0 0 1rem;\n"])));
31439
+ var Heading$6 = styled.h1(_templateObject2$o || (_templateObject2$o = _taggedTemplateLiteralLoose(["\n font-size: 1.5rem;\n margin: 0 0 1rem;\n"])));
31469
31440
  var Description = styled.p(_templateObject3$h || (_templateObject3$h = _taggedTemplateLiteralLoose(["\n line-height: 1.5;\n margin: 0 0 1.5rem;\n"])));
31470
31441
  var ImageContainer$4 = styled.div(_templateObject4$d || (_templateObject4$d = _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"])));
31471
31442
  var ReadFailed = styled.p(_templateObject5$c || (_templateObject5$c = _taggedTemplateLiteralLoose(["\n margin: 0 0 1rem;\n"])));
31472
31443
  var StyledButtonsRow$4 = styled(ButtonsRow$2)(_templateObject6$9 || (_templateObject6$9 = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 12px;\n justify-content: center;\n"])));
31473
31444
 
31474
- var _templateObject$q, _templateObject2$o;
31445
+ var _templateObject$q, _templateObject2$n;
31475
31446
  function SelfieCaptureSurface(_ref) {
31476
31447
  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;
31477
31448
  var controller = _ref.controller,
@@ -31875,7 +31846,7 @@
31875
31846
  }
31876
31847
  var ManualCaptureButtonContainer = styled.div(_templateObject$q || (_templateObject$q = _taggedTemplateLiteralLoose(["\n position: absolute;\n z-index: 4;\n left: 50%;\n bottom: 24px;\n transform: translateX(-50%);\n"])));
31877
31848
  // A footer below the camera keeps the lighting guidance visible above it.
31878
- var CaptureRecoveryActions = styled.div(_templateObject2$o || (_templateObject2$o = _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"])));
31849
+ var CaptureRecoveryActions = styled.div(_templateObject2$n || (_templateObject2$n = _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"])));
31879
31850
 
31880
31851
  // Byte-identical to sdk2's verbiage defaults
31881
31852
  // (SelfieCapture.tsx:273-284, FaceLivenessCapture.tsx:845-912), except
@@ -32204,18 +32175,16 @@
32204
32175
  });
32205
32176
  }
32206
32177
 
32207
- var _templateObject$o, _templateObject2$n;
32208
- var spin$1 = keyframes(_templateObject$o || (_templateObject$o = _taggedTemplateLiteralLoose(["\n to { transform: rotate(360deg); }\n"])));
32178
+ var _templateObject$o;
32209
32179
  /**
32210
- * Inline spinner for a button label while the action it started is in
32211
- * flight. Used instead of LoaderButton's Ladda loader, whose effect removes
32212
- * the spinner (and the button's `disabled`) right after starting it. Rotates
32213
- * with `transform` only, so it composites without repainting, and takes the
32214
- * button's text colour.
32180
+ * A polite live region that is read aloud but not shown. For a change with no
32181
+ * focused text to carry it, such as a button that went busy and dropped focus
32182
+ * by being disabled. Keep it mounted and change its text: a region that mounts
32183
+ * already holding its message is often not announced.
32215
32184
  */
32216
- var ButtonSpinner = styled.span.attrs({
32217
- 'aria-hidden': true
32218
- })(_templateObject2$n || (_templateObject2$n = _taggedTemplateLiteralLoose(["\n display: inline-block;\n width: 1em;\n height: 1em;\n margin-right: 0.5em;\n vertical-align: -0.15em;\n border: 2px solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: ", " 0.8s linear infinite;\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n"])), spin$1);
32185
+ var ScreenReaderStatus = styled.span.attrs({
32186
+ role: 'status'
32187
+ })(_templateObject$o || (_templateObject$o = _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"])));
32219
32188
 
32220
32189
  var _templateObject$n, _templateObject2$m;
32221
32190
  var FaceLivenessSuccess = function FaceLivenessSuccess(_ref) {
@@ -32233,6 +32202,7 @@
32233
32202
  var verbiage = useTranslations(rawVerbiage, {
32234
32203
  headingText: 'Face liveness has been verified!',
32235
32204
  retryBtnText: 'Retry',
32205
+ retryingBtnText: 'Starting camera...',
32236
32206
  doneBtnText: 'Done'
32237
32207
  });
32238
32208
  var imageContainerRef = React.useRef(null);
@@ -32262,7 +32232,9 @@
32262
32232
  children: verbiage.headingText
32263
32233
  }), jsxs(ButtonsColumn, {
32264
32234
  className: classNames.buttonsRow,
32265
- children: [jsx(WideButton, {
32235
+ children: [jsx(ScreenReaderStatus, {
32236
+ children: retrying ? verbiage.retryingBtnText : null
32237
+ }), jsx(WideButton, {
32266
32238
  variant: "positive",
32267
32239
  onClick: onDoneClick,
32268
32240
  colors: colors.doneBtn,
@@ -32271,15 +32243,13 @@
32271
32243
  // Done would race the retry the user already started.
32272
32244
  disabled: retrying,
32273
32245
  children: verbiage.doneBtnText
32274
- }), jsxs(WideBorderButton, {
32246
+ }), jsx(WideBorderButton, {
32275
32247
  variant: "secondary",
32276
32248
  onClick: onRetryClick,
32277
32249
  colors: colors.retryBtn,
32278
32250
  className: classNames.retryBtn,
32279
- finished: true,
32280
- disabled: retrying,
32281
- "aria-busy": retrying,
32282
- children: [retrying && jsx(ButtonSpinner, {}), verbiage.retryBtnText]
32251
+ finished: !retrying,
32252
+ children: retrying ? verbiage.retryingBtnText : verbiage.retryBtnText
32283
32253
  })]
32284
32254
  })]
32285
32255
  })
@@ -32310,6 +32280,7 @@
32310
32280
  var verbiage = useTranslations(rawVerbiage, {
32311
32281
  headingText: 'Live face not detected, please try again',
32312
32282
  retryBtnText: 'Retry',
32283
+ retryingBtnText: 'Starting camera...',
32313
32284
  exitBtnText: 'Exit'
32314
32285
  });
32315
32286
  return jsx(GrayOverlayContainer, {
@@ -32329,15 +32300,15 @@
32329
32300
  children: verbiage.headingText
32330
32301
  }), jsxs(ButtonsColumn, {
32331
32302
  className: classNames.buttonsRow,
32332
- children: [canRetry && jsxs(WideButton, {
32303
+ children: [jsx(ScreenReaderStatus, {
32304
+ children: retrying ? verbiage.retryingBtnText : null
32305
+ }), canRetry && jsx(WideButton, {
32333
32306
  variant: "secondary",
32334
32307
  className: classNames.retryBtn,
32335
32308
  onClick: onRetryClick,
32336
32309
  colors: colors.retryBtn,
32337
- finished: true,
32338
- disabled: retrying,
32339
- "aria-busy": retrying,
32340
- children: [retrying && jsx(ButtonSpinner, {}), verbiage.retryBtnText]
32310
+ finished: !retrying,
32311
+ children: retrying ? verbiage.retryingBtnText : verbiage.retryBtnText
32341
32312
  }), jsx(WideBorderButton, {
32342
32313
  variant: "secondary",
32343
32314
  className: classNames.exitBtn,
@@ -41660,14 +41631,8 @@
41660
41631
  className: classNames.captureBtn,
41661
41632
  finished: state.camera.ready,
41662
41633
  variant: "primary",
41663
- // Guarded rather than relying on `disabled` alone: with
41664
- // `finished` false, LoaderButton hands the element to ladda,
41665
- // which manipulates its disabled state imperatively
41666
- // (LoaderButton.tsx:63-79). The button can therefore be
41667
- // clickable mid-animation, which CI caught.
41668
41634
  onClick: function onClick() {
41669
- if (!state.camera.ready || state.capturing) return;
41670
- void controller.actions.capture();
41635
+ return void controller.actions.capture();
41671
41636
  },
41672
41637
  disabled: !state.camera.ready || state.capturing,
41673
41638
  children: !state.camera.ready ? verbiage.loadingBtnText : state.capturing ? verbiage.capturingBtnText : verbiage.captureBtnText
@@ -54172,7 +54137,7 @@
54172
54137
  });
54173
54138
  }
54174
54139
 
54175
- var webSdkVersion = '2.5.83-changeset-release-develop-3dfa69b';
54140
+ var webSdkVersion = '2.5.83-changeset-release-develop-2127d44';
54176
54141
 
54177
54142
  // GENERATED by scripts/styleBagTypes.mjs from
54178
54143
  // src/__fixtures__/sdk2StyleBags.json and the mapper sweep — do not
@@ -57504,468 +57469,6 @@
57504
57469
  // of the 2.x contract — a consumer that imports a single type still gets it.
57505
57470
  initializeI18n();
57506
57471
 
57507
- var __assign = undefined && undefined.__assign || function () {
57508
- __assign = Object.assign || function (t) {
57509
- for (var s, i = 1, n = arguments.length; i < n; i++) {
57510
- s = arguments[i];
57511
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
57512
- }
57513
- return t;
57514
- };
57515
- return __assign.apply(this, arguments);
57516
- };
57517
- var defaults = {
57518
- lines: 12,
57519
- length: 7,
57520
- width: 5,
57521
- radius: 10,
57522
- scale: 1.0,
57523
- corners: 1,
57524
- color: '#000',
57525
- fadeColor: 'transparent',
57526
- animation: 'spinner-line-fade-default',
57527
- rotate: 0,
57528
- direction: 1,
57529
- speed: 1,
57530
- zIndex: 2e9,
57531
- className: 'spinner',
57532
- top: '50%',
57533
- left: '50%',
57534
- shadow: '0 0 1px transparent',
57535
- // prevent aliased lines
57536
- position: 'absolute'
57537
- };
57538
- var Spinner = /** @class */function () {
57539
- function Spinner(opts) {
57540
- if (opts === void 0) {
57541
- opts = {};
57542
- }
57543
- this.opts = __assign(__assign({}, defaults), opts);
57544
- }
57545
- /**
57546
- * Adds the spinner to the given target element. If this instance is already
57547
- * spinning, it is automatically removed from its previous target by calling
57548
- * stop() internally.
57549
- */
57550
- Spinner.prototype.spin = function (target) {
57551
- this.stop();
57552
- this.el = document.createElement('div');
57553
- this.el.className = this.opts.className;
57554
- this.el.setAttribute('role', 'progressbar');
57555
- this.el.style.position = this.opts.position;
57556
- this.el.style.width = "0";
57557
- this.el.style.zIndex = this.opts.zIndex.toString();
57558
- this.el.style.left = this.opts.left;
57559
- this.el.style.top = this.opts.top;
57560
- this.el.style.transform = "scale(".concat(this.opts.scale, ")");
57561
- if (target) {
57562
- target.insertBefore(this.el, target.firstChild || null);
57563
- }
57564
- drawLines(this.el, this.opts);
57565
- return this;
57566
- };
57567
- /**
57568
- * Stops and removes the Spinner.
57569
- * Stopped spinners may be reused by calling spin() again.
57570
- */
57571
- Spinner.prototype.stop = function () {
57572
- if (this.el) {
57573
- if (this.el.parentNode) {
57574
- this.el.parentNode.removeChild(this.el);
57575
- }
57576
- this.el = undefined;
57577
- }
57578
- return this;
57579
- };
57580
- return Spinner;
57581
- }();
57582
- /**
57583
- * Returns the line color from the given string or array.
57584
- */
57585
- function getColor(color, idx) {
57586
- return typeof color == 'string' ? color : color[idx % color.length];
57587
- }
57588
- /**
57589
- * Internal method that draws the individual lines.
57590
- */
57591
- function drawLines(el, opts) {
57592
- var borderRadius = Math.round(opts.corners * opts.width * 500) / 1000 + 'px';
57593
- var shadow = 'none';
57594
- if (opts.shadow === true) {
57595
- shadow = '0 2px 4px #000'; // default shadow
57596
- } else if (typeof opts.shadow === 'string') {
57597
- shadow = opts.shadow;
57598
- }
57599
- var shadows = parseBoxShadow(shadow);
57600
- for (var i = 0; i < opts.lines; i++) {
57601
- var degrees = ~~(360 / opts.lines * i + opts.rotate);
57602
- var backgroundLine = document.createElement('div');
57603
- backgroundLine.style.position = 'absolute';
57604
- backgroundLine.style.top = "".concat(-opts.width / 2, "px");
57605
- backgroundLine.style.width = opts.length + opts.width + 'px';
57606
- backgroundLine.style.height = opts.width + 'px';
57607
- backgroundLine.style.background = getColor(opts.fadeColor, i);
57608
- backgroundLine.style.borderRadius = borderRadius;
57609
- backgroundLine.style.transformOrigin = 'left';
57610
- backgroundLine.style.transform = "rotate(".concat(degrees, "deg) translateX(").concat(opts.radius, "px)");
57611
- var delay = i * opts.direction / opts.lines / opts.speed;
57612
- delay -= 1 / opts.speed; // so initial animation state will include trail
57613
- var line = document.createElement('div');
57614
- line.style.width = '100%';
57615
- line.style.height = '100%';
57616
- line.style.background = getColor(opts.color, i);
57617
- line.style.borderRadius = borderRadius;
57618
- line.style.boxShadow = normalizeShadow(shadows, degrees);
57619
- line.style.animation = "".concat(1 / opts.speed, "s linear ").concat(delay, "s infinite ").concat(opts.animation);
57620
- backgroundLine.appendChild(line);
57621
- el.appendChild(backgroundLine);
57622
- }
57623
- }
57624
- function parseBoxShadow(boxShadow) {
57625
- var regex = /^\s*([a-zA-Z]+\s+)?(-?\d+(\.\d+)?)([a-zA-Z]*)\s+(-?\d+(\.\d+)?)([a-zA-Z]*)(.*)$/;
57626
- var shadows = [];
57627
- for (var _i = 0, _a = boxShadow.split(','); _i < _a.length; _i++) {
57628
- var shadow = _a[_i];
57629
- var matches = shadow.match(regex);
57630
- if (matches === null) {
57631
- continue; // invalid syntax
57632
- }
57633
- var x = +matches[2];
57634
- var y = +matches[5];
57635
- var xUnits = matches[4];
57636
- var yUnits = matches[7];
57637
- if (x === 0 && !xUnits) {
57638
- xUnits = yUnits;
57639
- }
57640
- if (y === 0 && !yUnits) {
57641
- yUnits = xUnits;
57642
- }
57643
- if (xUnits !== yUnits) {
57644
- continue; // units must match to use as coordinates
57645
- }
57646
- shadows.push({
57647
- prefix: matches[1] || '',
57648
- // could have value of 'inset' or undefined
57649
- x: x,
57650
- y: y,
57651
- xUnits: xUnits,
57652
- yUnits: yUnits,
57653
- end: matches[8]
57654
- });
57655
- }
57656
- return shadows;
57657
- }
57658
- /**
57659
- * Modify box-shadow x/y offsets to counteract rotation
57660
- */
57661
- function normalizeShadow(shadows, degrees) {
57662
- var normalized = [];
57663
- for (var _i = 0, shadows_1 = shadows; _i < shadows_1.length; _i++) {
57664
- var shadow = shadows_1[_i];
57665
- var xy = convertOffset(shadow.x, shadow.y, degrees);
57666
- normalized.push(shadow.prefix + xy[0] + shadow.xUnits + ' ' + xy[1] + shadow.yUnits + shadow.end);
57667
- }
57668
- return normalized.join(', ');
57669
- }
57670
- function convertOffset(x, y, degrees) {
57671
- var radians = degrees * Math.PI / 180;
57672
- var sin = Math.sin(radians);
57673
- var cos = Math.cos(radians);
57674
- return [Math.round((x * cos + y * sin) * 1000) / 1000, Math.round((-x * sin + y * cos) * 1000) / 1000];
57675
- }
57676
-
57677
- /*!
57678
- * Ladda
57679
- * http://lab.hakim.se/ladda
57680
- * MIT licensed
57681
- *
57682
- * Copyright (C) 2018 Hakim El Hattab, http://hakim.se
57683
- */
57684
-
57685
-
57686
- // All currently instantiated instances of Ladda
57687
- var ALL_INSTANCES = [];
57688
-
57689
- /**
57690
- * Creates a new instance of Ladda which wraps the
57691
- * target button element.
57692
- *
57693
- * @return An API object that can be used to control
57694
- * the loading animation state.
57695
- */
57696
- function create(button) {
57697
- if (typeof button === 'undefined') {
57698
- console.warn("Ladda button target must be defined.");
57699
- return;
57700
- }
57701
-
57702
- // The button must have the class "ladda-button"
57703
- if (!button.classList.contains('ladda-button')) {
57704
- button.classList.add('ladda-button');
57705
- }
57706
-
57707
- // Style is required, default to "expand-right"
57708
- if (!button.hasAttribute('data-style')) {
57709
- button.setAttribute('data-style', 'expand-right');
57710
- }
57711
-
57712
- // The text contents must be wrapped in a ladda-label
57713
- // element, create one if it doesn't already exist
57714
- if (!button.querySelector('.ladda-label')) {
57715
- var laddaLabel = document.createElement('span');
57716
- laddaLabel.className = 'ladda-label';
57717
- wrapContent(button, laddaLabel);
57718
- }
57719
-
57720
- // The spinner component
57721
- var spinnerWrapper = button.querySelector('.ladda-spinner');
57722
-
57723
- // Wrapper element for the spinner
57724
- if (!spinnerWrapper) {
57725
- spinnerWrapper = document.createElement('span');
57726
- spinnerWrapper.className = 'ladda-spinner';
57727
- }
57728
- button.appendChild(spinnerWrapper);
57729
-
57730
- // Timer used to delay starting/stopping
57731
- var timer;
57732
- var spinner;
57733
- var instance = {
57734
- /**
57735
- * Enter the loading state.
57736
- */
57737
- start: function start() {
57738
- // Create the spinner if it doesn't already exist
57739
- if (!spinner) {
57740
- spinner = createSpinner(button);
57741
- }
57742
- button.disabled = true;
57743
- button.setAttribute('data-loading', '');
57744
- clearTimeout(timer);
57745
- spinner.spin(spinnerWrapper);
57746
- this.setProgress(0);
57747
- return this; // chain
57748
- },
57749
- /**
57750
- * Enter the loading state, after a delay.
57751
- */
57752
- startAfter: function startAfter(delay) {
57753
- clearTimeout(timer);
57754
- timer = setTimeout(function () {
57755
- instance.start();
57756
- }, delay);
57757
- return this; // chain
57758
- },
57759
- /**
57760
- * Exit the loading state.
57761
- */
57762
- stop: function stop() {
57763
- if (instance.isLoading()) {
57764
- button.disabled = false;
57765
- button.removeAttribute('data-loading');
57766
- }
57767
-
57768
- // Kill the animation after a delay to make sure it
57769
- // runs for the duration of the button transition
57770
- clearTimeout(timer);
57771
- if (spinner) {
57772
- timer = setTimeout(function () {
57773
- spinner.stop();
57774
- }, 1000);
57775
- }
57776
- return this; // chain
57777
- },
57778
- /**
57779
- * Toggle the loading state on/off.
57780
- */
57781
- toggle: function toggle() {
57782
- return this.isLoading() ? this.stop() : this.start();
57783
- },
57784
- /**
57785
- * Sets the width of the visual progress bar inside of
57786
- * this Ladda button
57787
- *
57788
- * @param {number} progress in the range of 0-1
57789
- */
57790
- setProgress: function setProgress(progress) {
57791
- // Cap it
57792
- progress = Math.max(Math.min(progress, 1), 0);
57793
- var progressElement = button.querySelector('.ladda-progress');
57794
-
57795
- // Remove the progress bar if we're at 0 progress
57796
- if (progress === 0 && progressElement && progressElement.parentNode) {
57797
- progressElement.parentNode.removeChild(progressElement);
57798
- } else {
57799
- if (!progressElement) {
57800
- progressElement = document.createElement('div');
57801
- progressElement.className = 'ladda-progress';
57802
- button.appendChild(progressElement);
57803
- }
57804
- progressElement.style.width = (progress || 0) * button.offsetWidth + 'px';
57805
- }
57806
- },
57807
- isLoading: function isLoading() {
57808
- return button.hasAttribute('data-loading');
57809
- },
57810
- remove: function remove() {
57811
- clearTimeout(timer);
57812
- button.disabled = false;
57813
- button.removeAttribute('data-loading');
57814
- if (spinner) {
57815
- spinner.stop();
57816
- spinner = null;
57817
- }
57818
- ALL_INSTANCES.splice(ALL_INSTANCES.indexOf(instance), 1);
57819
- }
57820
- };
57821
- ALL_INSTANCES.push(instance);
57822
- return instance;
57823
- }
57824
-
57825
- /**
57826
- * Binds the target buttons to automatically enter the
57827
- * loading state when clicked.
57828
- *
57829
- * @param target Either an HTML element or a CSS selector.
57830
- * @param options
57831
- * - timeout Number of milliseconds to wait before
57832
- * automatically cancelling the animation.
57833
- * - callback A function to be called with the Ladda
57834
- * instance when a target button is clicked.
57835
- */
57836
- function bind(target, options) {
57837
- var targets;
57838
- if (typeof target === 'string') {
57839
- targets = document.querySelectorAll(target);
57840
- } else if (typeof target === 'object') {
57841
- targets = [target];
57842
- } else {
57843
- throw new Error('target must be string or object');
57844
- }
57845
- options = options || {};
57846
- for (var i = 0; i < targets.length; i++) {
57847
- bindElement(targets[i], options);
57848
- }
57849
- }
57850
-
57851
- /**
57852
- * Stops ALL current loading animations.
57853
- */
57854
- function stopAll() {
57855
- for (var i = 0, len = ALL_INSTANCES.length; i < len; i++) {
57856
- ALL_INSTANCES[i].stop();
57857
- }
57858
- }
57859
-
57860
- /**
57861
- * Get the first ancestor node from an element, having a
57862
- * certain type.
57863
- *
57864
- * @param elem An HTML element
57865
- * @param type an HTML tag type (uppercased)
57866
- *
57867
- * @return An HTML element
57868
- */
57869
- function getAncestorOfTagType(elem, type) {
57870
- while (elem.parentNode && elem.tagName !== type) {
57871
- elem = elem.parentNode;
57872
- }
57873
- return type === elem.tagName ? elem : undefined;
57874
- }
57875
- function createSpinner(button) {
57876
- var height = button.offsetHeight,
57877
- spinnerColor,
57878
- spinnerLines;
57879
- if (height === 0) {
57880
- // We may have an element that is not visible so
57881
- // we attempt to get the height in a different way
57882
- height = parseFloat(window.getComputedStyle(button).height);
57883
- }
57884
-
57885
- // If the button is tall we can afford some padding
57886
- if (height > 32) {
57887
- height *= 0.8;
57888
- }
57889
-
57890
- // Prefer an explicit height if one is defined
57891
- if (button.hasAttribute('data-spinner-size')) {
57892
- height = parseInt(button.getAttribute('data-spinner-size'), 10);
57893
- }
57894
-
57895
- // Allow buttons to specify the color of the spinner element
57896
- if (button.hasAttribute('data-spinner-color')) {
57897
- spinnerColor = button.getAttribute('data-spinner-color');
57898
- }
57899
-
57900
- // Allow buttons to specify the number of lines of the spinner
57901
- if (button.hasAttribute('data-spinner-lines')) {
57902
- spinnerLines = parseInt(button.getAttribute('data-spinner-lines'), 10);
57903
- }
57904
- var radius = height * 0.2,
57905
- length = radius * 0.6,
57906
- width = radius < 7 ? 2 : 3;
57907
- return new Spinner({
57908
- color: spinnerColor || '#fff',
57909
- lines: spinnerLines || 12,
57910
- radius: radius,
57911
- length: length,
57912
- width: width,
57913
- animation: 'ladda-spinner-line-fade',
57914
- zIndex: 'auto',
57915
- top: 'auto',
57916
- left: 'auto',
57917
- className: ''
57918
- });
57919
- }
57920
- function wrapContent(node, wrapper) {
57921
- var r = document.createRange();
57922
- r.selectNodeContents(node);
57923
- r.surroundContents(wrapper);
57924
- node.appendChild(wrapper);
57925
- }
57926
- function bindElement(element, options) {
57927
- if (typeof element.addEventListener !== 'function') {
57928
- return;
57929
- }
57930
- var instance = create(element);
57931
- var timeout = -1;
57932
- element.addEventListener('click', function () {
57933
- // If the button belongs to a form, make sure all the
57934
- // fields in that form are filled out
57935
- var valid = true;
57936
- var form = getAncestorOfTagType(element, 'FORM');
57937
- if (typeof form !== 'undefined' && !form.hasAttribute('novalidate')) {
57938
- // Modern form validation
57939
- if (typeof form.checkValidity === 'function') {
57940
- valid = form.checkValidity();
57941
- }
57942
- }
57943
- if (valid) {
57944
- // This is asynchronous to avoid an issue where disabling
57945
- // the button prevents forms from submitting
57946
- instance.startAfter(1);
57947
-
57948
- // Set a loading timeout if one is specified
57949
- if (typeof options.timeout === 'number') {
57950
- clearTimeout(timeout);
57951
- timeout = setTimeout(instance.stop, options.timeout);
57952
- }
57953
-
57954
- // Invoke callbacks
57955
- if (typeof options.callback === 'function') {
57956
- options.callback.apply(null, [instance]);
57957
- }
57958
- }
57959
- }, false);
57960
- }
57961
-
57962
- var ladda = /*#__PURE__*/Object.freeze({
57963
- __proto__: null,
57964
- bind: bind,
57965
- create: create,
57966
- stopAll: stopAll
57967
- });
57968
-
57969
57472
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
57970
57473
  function _createForOfIteratorHelperLoose$9(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$9(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."); }
57971
57474
  function _unsupportedIterableToArray$9(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$9(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$9(r, a) : void 0; } }