@incodetech/web 0.0.0-dev-20260728-bbd74326 → 0.0.0-dev-20260728-dcd649b0

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.
Files changed (33) hide show
  1. package/dist/certificate-issuance/certificate-issuance.es.js +1 -1
  2. package/dist/document-capture/document-capture.es.js +1 -1
  3. package/dist/documentCapture-BGSL-slo.js +2 -0
  4. package/dist/{documentCapture-7Hc7LFdQ.js → documentCapture-Cm7xoulO.js} +1 -1
  5. package/dist/{dynamicForms-DHdzP389.js → dynamicForms-DM_Ng5zK.js} +1 -1
  6. package/dist/ekyb/ekyb.es.js +1 -1
  7. package/dist/{ekybModule-B5goxbvj.js → ekybModule-C0m_eYjt.js} +1 -1
  8. package/dist/ekybModule-Ddc7uvk_.js +2 -0
  9. package/dist/email/email.es.js +2 -2
  10. package/dist/{emailInput-BAaZjM4R.js → emailInput-DM5luQfd.js} +1 -1
  11. package/dist/{extensibility-BQFtxQsh.js → extensibility-CtmqxLcR.js} +1 -1
  12. package/dist/extensibility.es.js +2 -2
  13. package/dist/field-comparison/field-comparison.es.js +1 -1
  14. package/dist/fieldComparison-BHTY0bHo.js +2 -0
  15. package/dist/{fieldComparison-DuNkOXQ3.js → fieldComparison-DzzJINc3.js} +1 -1
  16. package/dist/fiscal-qr/fiscal-qr.es.js +1 -1
  17. package/dist/flow/flow.es.js +1 -1
  18. package/dist/flow/styles.css +17 -8
  19. package/dist/government-validation/government-validation.es.js +2 -2
  20. package/dist/id/id.es.js +1 -1
  21. package/dist/{idOcr-CGhDxTAx.js → idOcr-BPy2bNQ3.js} +1 -1
  22. package/dist/{otpInput-IAHjFR4K.js → otpInput-DA84A_VA.js} +66 -30
  23. package/dist/phone/phone.es.js +1 -1
  24. package/dist/redirect-to-mobile/redirect-to-mobile.es.js +99 -29
  25. package/dist/redirect-to-mobile/styles.css +17 -8
  26. package/dist/signature/signature.es.js +1 -1
  27. package/dist/{useModuleLoader-DY1-p_du.js → useModuleLoader-B9z7CWtS.js} +6 -6
  28. package/dist/workflow/styles.css +17 -8
  29. package/dist/workflow/workflow.es.js +1 -1
  30. package/package.json +2 -2
  31. package/dist/documentCapture-CVfw4e3z.js +0 -2
  32. package/dist/ekybModule-DOvqVqkb.js +0 -2
  33. package/dist/fieldComparison-DIome7Mu.js +0 -2
@@ -5,7 +5,7 @@ import { t as Spacer } from "../spacer-BTetNBo1.js";
5
5
  import { o as TypographyH5 } from "../spinner-WiDswxbO.js";
6
6
  import { r as Button } from "../incode-logo-wxiGOOpK.js";
7
7
  import { t as IncodeComponent } from "../incodeComponent-CMcbgpFE.js";
8
- import { _ as PasswordInputComposed } from "../extensibility-BQFtxQsh.js";
8
+ import { _ as PasswordInputComposed } from "../extensibility-CtmqxLcR.js";
9
9
  import { t as SuccessIcon } from "../successIcon-hJafyodN.js";
10
10
  import { t as AutoFocusTitle } from "../autoFocusTitle-C4ex-p3U.js";
11
11
  import { t as VerificationResult } from "../verificationResult-Cs1e_oSd.js";
@@ -1,2 +1,2 @@
1
- import { t as DocumentCapture } from "../documentCapture-7Hc7LFdQ.js";
1
+ import { t as DocumentCapture } from "../documentCapture-Cm7xoulO.js";
2
2
  export { DocumentCapture };
@@ -0,0 +1,2 @@
1
+ import { t as DocumentCapture } from "./documentCapture-Cm7xoulO.js";
2
+ export { DocumentCapture };
@@ -5,7 +5,7 @@ import { s as Asset, t as Spacer, u as cn } from "./spacer-BTetNBo1.js";
5
5
  import { t as Spinner } from "./spinner-WiDswxbO.js";
6
6
  import { r as Button } from "./incode-logo-wxiGOOpK.js";
7
7
  import { t as IncodeComponent } from "./incodeComponent-CMcbgpFE.js";
8
- import { d as CameraOverlay, l as CaptureFooter, u as CameraOverlayHeader, v as ProgressBar } from "./extensibility-BQFtxQsh.js";
8
+ import { d as CameraOverlay, l as CaptureFooter, u as CameraOverlayHeader, v as ProgressBar } from "./extensibility-CtmqxLcR.js";
9
9
  import { a as FileIcon, g as CameraIcon, r as LockIcon } from "./icons-DW9DSJ16.js";
10
10
  import { t as SuccessIcon } from "./successIcon-hJafyodN.js";
11
11
  import { t as Modal } from "./modal-8VrcGJVO.js";
@@ -10,7 +10,7 @@ import { t as DropdownComposed } from "./dropdownComposed-jDTWDmRK.js";
10
10
  import { t as DateInputComposed } from "./dateInputComposed-B78ejqWm.js";
11
11
  import { t as registerIncodeModuleElement } from "./incodeModule-BC-BLasM.js";
12
12
  import { n as getRequiredHintMode, t as getFieldHint } from "./requiredLabelHint-C1OeAqVi.js";
13
- import { t as EmailInput } from "./emailInput-BAaZjM4R.js";
13
+ import { t as EmailInput } from "./emailInput-DM5luQfd.js";
14
14
  import { formatCPF, isValidCPF } from "@incodetech/core/cpf-ocr";
15
15
  import { createDynamicFormsManager } from "@incodetech/core/dynamic-forms";
16
16
  //#region src/modules/dynamic-forms/dynamicForms.tsx
@@ -1,2 +1,2 @@
1
- import { t as EkybModule } from "../ekybModule-B5goxbvj.js";
1
+ import { t as EkybModule } from "../ekybModule-C0m_eYjt.js";
2
2
  export { EkybModule };
@@ -5,7 +5,7 @@ import { t as Spacer } from "./spacer-BTetNBo1.js";
5
5
  import { t as Spinner } from "./spinner-WiDswxbO.js";
6
6
  import { r as Button } from "./incode-logo-wxiGOOpK.js";
7
7
  import { t as IncodeComponent } from "./incodeComponent-CMcbgpFE.js";
8
- import "./extensibility-BQFtxQsh.js";
8
+ import "./extensibility-CtmqxLcR.js";
9
9
  import { t as VerificationResult } from "./verificationResult-Cs1e_oSd.js";
10
10
  import { t as InputComposed } from "./inputComposed-CejoWawJ.js";
11
11
  import { i as translateError, r as FormField } from "./radioGroupComposed-osFatGIs.js";
@@ -0,0 +1,2 @@
1
+ import { t as EkybModule } from "./ekybModule-C0m_eYjt.js";
2
+ export { EkybModule };
@@ -4,9 +4,9 @@ import { g as useManager, i as Page, m as useModuleTerminalCallbacks, p as isTer
4
4
  import { t as Spacer } from "../spacer-BTetNBo1.js";
5
5
  import { r as Button } from "../incode-logo-wxiGOOpK.js";
6
6
  import { t as IncodeComponent } from "../incodeComponent-CMcbgpFE.js";
7
- import { t as OtpInput } from "../otpInput-IAHjFR4K.js";
7
+ import { t as OtpInput } from "../otpInput-DA84A_VA.js";
8
8
  import { t as registerIncodeModuleElement } from "../incodeModule-BC-BLasM.js";
9
- import { t as EmailInput } from "../emailInput-BAaZjM4R.js";
9
+ import { t as EmailInput } from "../emailInput-DM5luQfd.js";
10
10
  import { createEmailManager } from "@incodetech/core/email";
11
11
  //#region src/modules/email/email.tsx
12
12
  /**
@@ -1,6 +1,6 @@
1
1
  import { i as useTranslation } from "./uiConfig-CwW-ALgf.js";
2
2
  import { v as u } from "./vendor-preact-mvwZ8mJj.js";
3
- import "./extensibility-BQFtxQsh.js";
3
+ import "./extensibility-CtmqxLcR.js";
4
4
  import { t as InputComposed } from "./inputComposed-CejoWawJ.js";
5
5
  //#region src/modules/email/emailInput.tsx
6
6
  var EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/;
@@ -14,7 +14,7 @@ import "./verificationResult-Cs1e_oSd.js";
14
14
  import "./connectionError-CM34jCfn.js";
15
15
  import { t as InputComposed } from "./inputComposed-CejoWawJ.js";
16
16
  import "./inputComposed-Bi0esMNI.js";
17
- import "./otpInput-IAHjFR4K.js";
17
+ import "./otpInput-DA84A_VA.js";
18
18
  import "./checkbox-DZr7yccY.js";
19
19
  import "./radioGroupComposed-osFatGIs.js";
20
20
  import "./phoneInputComposed-_jPhIwjI.js";
@@ -4,7 +4,7 @@ import { o as Lottie, t as Spacer } from "./spacer-BTetNBo1.js";
4
4
  import { a as TypographyH4, i as TypographyH3, n as Title, o as TypographyH5, r as TypographyH1, s as TypographyP, t as Spinner } from "./spinner-WiDswxbO.js";
5
5
  import { n as ErrorIcon, r as Button } from "./incode-logo-wxiGOOpK.js";
6
6
  import { n as LandscapeBlocker, t as IncodeComponent } from "./incodeComponent-CMcbgpFE.js";
7
- import { _ as PasswordInputComposed, c as ManualCapture, d as CameraOverlay, f as VerificationOptionCard, g as SegmentedDateInput, h as TextArea, i as Capture, l as CaptureFooter, m as TextAreaComposed, n as Chooser, o as IdExpired, p as VerificationOptionCardList, r as Tutorial, s as IdError, t as FlipAnimation, u as CameraOverlayHeader, v as ProgressBar, y as Overlay } from "./extensibility-BQFtxQsh.js";
7
+ import { _ as PasswordInputComposed, c as ManualCapture, d as CameraOverlay, f as VerificationOptionCard, g as SegmentedDateInput, h as TextArea, i as Capture, l as CaptureFooter, m as TextAreaComposed, n as Chooser, o as IdExpired, p as VerificationOptionCardList, r as Tutorial, s as IdError, t as FlipAnimation, u as CameraOverlayHeader, v as ProgressBar, y as Overlay } from "./extensibility-CtmqxLcR.js";
8
8
  import { t as Processing } from "./processing-Di1OhgZf.js";
9
9
  import { _ as CalendarIcon, a as FileIcon, c as EllipseIcon, d as ChevronLeftIcon, f as ChevronDown, g as CameraIcon, h as CaptureButtonIcon, i as HelpIcon, l as CloseIcon, m as CheckmarkIcon, n as SearchIcon, o as EyeOffIcon, p as CheckmarkCompactIcon, r as LockIcon, s as EyeIcon, t as SvgLightningIcon, u as ChevronRightIcon, v as WarningIcon } from "./icons-DW9DSJ16.js";
10
10
  import { t as SuccessIcon } from "./successIcon-hJafyodN.js";
@@ -13,7 +13,7 @@ import { i as ErrorContent, n as Capture$1, r as BaseTutorial, t as Tutorial$1 }
13
13
  import { t as VerificationResult } from "./verificationResult-Cs1e_oSd.js";
14
14
  import { t as ConnectionError } from "./connectionError-CM34jCfn.js";
15
15
  import { n as Input, t as InputComposed } from "./inputComposed-CejoWawJ.js";
16
- import { t as OtpInput } from "./otpInput-IAHjFR4K.js";
16
+ import { t as OtpInput } from "./otpInput-DA84A_VA.js";
17
17
  import { t as Checkbox } from "./checkbox-DZr7yccY.js";
18
18
  import { n as RadioButtonComposed, r as FormField, t as RadioGroupComposed } from "./radioGroupComposed-osFatGIs.js";
19
19
  import { i as getCountryByCode, n as countries, r as getCountryByCallingCode, t as PhoneInputComposed } from "./phoneInputComposed-_jPhIwjI.js";
@@ -1,2 +1,2 @@
1
- import { t as FieldComparison } from "../fieldComparison-DuNkOXQ3.js";
1
+ import { t as FieldComparison } from "../fieldComparison-DzzJINc3.js";
2
2
  export { FieldComparison };
@@ -0,0 +1,2 @@
1
+ import { t as FieldComparison } from "./fieldComparison-DzzJINc3.js";
2
+ export { FieldComparison };
@@ -4,7 +4,7 @@ import { g as useManager, i as Page, m as useModuleTerminalCallbacks, t as withS
4
4
  import { t as Spacer } from "./spacer-BTetNBo1.js";
5
5
  import { r as Button } from "./incode-logo-wxiGOOpK.js";
6
6
  import { t as IncodeComponent } from "./incodeComponent-CMcbgpFE.js";
7
- import "./extensibility-BQFtxQsh.js";
7
+ import "./extensibility-CtmqxLcR.js";
8
8
  import { t as VerificationResult } from "./verificationResult-Cs1e_oSd.js";
9
9
  import { t as InputComposed } from "./inputComposed-CejoWawJ.js";
10
10
  import { t as registerIncodeModuleElement } from "./incodeModule-BC-BLasM.js";
@@ -4,7 +4,7 @@ import { g as useManager, i as Page, m as useModuleTerminalCallbacks, t as withS
4
4
  import { t as Spacer } from "../spacer-BTetNBo1.js";
5
5
  import { r as Button } from "../incode-logo-wxiGOOpK.js";
6
6
  import { t as IncodeComponent } from "../incodeComponent-CMcbgpFE.js";
7
- import { d as CameraOverlay, u as CameraOverlayHeader } from "../extensibility-BQFtxQsh.js";
7
+ import { d as CameraOverlay, u as CameraOverlayHeader } from "../extensibility-CtmqxLcR.js";
8
8
  import { t as VerificationResult } from "../verificationResult-Cs1e_oSd.js";
9
9
  import { a as CameraFrame, i as CameraView } from "../captureNotification-BKIIr0wi.js";
10
10
  import { t as registerIncodeModuleElement } from "../incodeModule-BC-BLasM.js";
@@ -5,7 +5,7 @@ import { n as ErrorIcon } from "../incode-logo-wxiGOOpK.js";
5
5
  import { t as IncodeComponent } from "../incodeComponent-CMcbgpFE.js";
6
6
  import { t as StatusPage } from "../statusPage-N_aUw0s8.js";
7
7
  import { t as registerIncodeModuleElement } from "../incodeModule-BC-BLasM.js";
8
- import { _ as warmupWasmIfNeeded, a as resolveApiKey, c as HEADLESS_FLOW_MODULE_KEYS, d as fetchTheme, f as initializeFlowManager, h as preloadRedirectToMobile, l as LAZY_UI_MODULES, m as preloadHomeScreen, n as useModulePreloader, o as extractIncodeStatus, p as preloadFirstModule, r as usePrefetchNextModule, s as UnsupportedModule, t as useModuleLoader, u as createFlowManager, v as isDesktopOrEmulated } from "../useModuleLoader-DY1-p_du.js";
8
+ import { _ as warmupWasmIfNeeded, a as resolveApiKey, c as HEADLESS_FLOW_MODULE_KEYS, d as fetchTheme, f as initializeFlowManager, h as preloadRedirectToMobile, l as LAZY_UI_MODULES, m as preloadHomeScreen, n as useModulePreloader, o as extractIncodeStatus, p as preloadFirstModule, r as usePrefetchNextModule, s as UnsupportedModule, t as useModuleLoader, u as createFlowManager, v as isDesktopOrEmulated } from "../useModuleLoader-B9z7CWtS.js";
9
9
  import { getRequiredWasmPipelines } from "@incodetech/core/flow";
10
10
  import { bootstrapSession, refreshQrUrlUuid } from "@incodetech/core/session";
11
11
  //#region src/shared/processing/useDelayedFlag.ts
@@ -8253,10 +8253,8 @@
8253
8253
  background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));
8254
8254
  width: 100%;
8255
8255
  padding-inline: var(--spacing-24, var(--spacing-24, 24px));
8256
- padding-top: var(--spacing-32, var(--spacing-32, 32px));
8257
- padding-bottom: var(--spacing-24, var(--spacing-24, 24px));
8256
+ padding-block: var(--spacing-32, var(--spacing-32, 32px));
8258
8257
  max-width: var(--redirect-card-max-width);
8259
- min-height: min(var(--redirect-card-max-width), var(--redirect-card-min-height));
8260
8258
  flex-direction: column;
8261
8259
  align-items: center;
8262
8260
  display: flex;
@@ -8272,11 +8270,11 @@
8272
8270
  }
8273
8271
 
8274
8272
  .IncodeRedirectRoot .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectOptions {
8275
- align-items: center;
8276
- gap: var(--spacing-32, var(--spacing-32, 32px));
8273
+ margin-bottom: var(--spacing-32, var(--spacing-32, 32px));
8277
8274
  width: 100%;
8278
8275
  max-width: var(--redirect-options-max-width);
8279
8276
  flex-direction: column;
8277
+ align-items: center;
8280
8278
  display: flex;
8281
8279
  }
8282
8280
 
@@ -8288,6 +8286,12 @@
8288
8286
  left: 50%;
8289
8287
  }
8290
8288
 
8289
+ .IncodeRedirectContainer .IncodeRedirectToastContent {
8290
+ align-items: center;
8291
+ gap: var(--spacing-12, var(--spacing-12, 12px));
8292
+ display: inline-flex;
8293
+ }
8294
+
8291
8295
  @keyframes fadeInOut {
8292
8296
  0% {
8293
8297
  opacity: 0;
@@ -8351,12 +8355,11 @@
8351
8355
  }
8352
8356
 
8353
8357
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectBottomNav {
8354
- align-items: center;
8355
- gap: var(--spacing-40, var(--spacing-40, 40px));
8356
8358
  width: 100%;
8357
8359
  max-width: var(--redirect-form-column-max-width);
8358
8360
  flex-direction: column;
8359
8361
  flex: 1;
8362
+ align-items: center;
8360
8363
  display: flex;
8361
8364
  }
8362
8365
 
@@ -8369,7 +8372,7 @@
8369
8372
  }
8370
8373
 
8371
8374
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectBottomNav .IncodeRedirectFooterContentText {
8372
- margin-block: var(--spacing-32, var(--spacing-32, 32px));
8375
+ margin-block: var(--spacing-12, var(--spacing-12, 12px));
8373
8376
  font-family: var(--Button-family, "DM Sans");
8374
8377
  letter-spacing: 0;
8375
8378
  font-size: 18px;
@@ -8377,6 +8380,10 @@
8377
8380
  line-height: 100%;
8378
8381
  }
8379
8382
 
8383
+ .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectBottomNav .IncodeRedirectFooterLogoWrapper {
8384
+ padding-block: var(--spacing-8, var(--spacing-8, 8px));
8385
+ }
8386
+
8380
8387
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectTabs {
8381
8388
  justify-content: center;
8382
8389
  align-items: flex-end;
@@ -8461,6 +8468,7 @@
8461
8468
  }
8462
8469
 
8463
8470
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectOptions .IncodeRedirectLinkSent {
8471
+ margin-top: var(--spacing-32, var(--spacing-32, 32px));
8464
8472
  flex-direction: column;
8465
8473
  align-items: center;
8466
8474
  display: flex;
@@ -8487,6 +8495,7 @@
8487
8495
  }
8488
8496
 
8489
8497
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectOptions .IncodeRedirectLinkSent .IncodeRedirectLinkSentActions {
8498
+ margin-block: var(--spacing-8, var(--spacing-8, 8px));
8490
8499
  justify-content: center;
8491
8500
  align-items: center;
8492
8501
  gap: var(--spacing-4, var(--spacing-4, 4px));
@@ -3,10 +3,10 @@ import { S as k, v as u } from "../vendor-preact-mvwZ8mJj.js";
3
3
  import { g as useManager, i as Page, m as useModuleTerminalCallbacks, t as withStandaloneModuleBootstrap } from "../hooks-CesbGQdO.js";
4
4
  import { t as Spacer } from "../spacer-BTetNBo1.js";
5
5
  import { t as IncodeComponent } from "../incodeComponent-CMcbgpFE.js";
6
- import "../extensibility-BQFtxQsh.js";
6
+ import "../extensibility-CtmqxLcR.js";
7
7
  import { t as AutoFocusTitle } from "../autoFocusTitle-C4ex-p3U.js";
8
8
  import { t as VerificationResult } from "../verificationResult-Cs1e_oSd.js";
9
- import { t as OtpInput } from "../otpInput-IAHjFR4K.js";
9
+ import { t as OtpInput } from "../otpInput-DA84A_VA.js";
10
10
  import { t as registerIncodeModuleElement } from "../incodeModule-BC-BLasM.js";
11
11
  import { createGovernmentValidationManager } from "@incodetech/core/government-validation";
12
12
  //#region src/modules/government-validation/governmentIncodeLogo.tsx
package/dist/id/id.es.js CHANGED
@@ -5,7 +5,7 @@ import { i as preloadAnimations, r as AnimatedAsset, s as Asset, u as cn } from
5
5
  import { t as Spinner } from "../spinner-WiDswxbO.js";
6
6
  import { n as ErrorIcon, r as Button } from "../incode-logo-wxiGOOpK.js";
7
7
  import { t as IncodeComponent } from "../incodeComponent-CMcbgpFE.js";
8
- import { a as IdNoAttempts, i as Capture, n as Chooser, o as IdExpired, r as Tutorial, s as IdError, t as FlipAnimation, v as ProgressBar } from "../extensibility-BQFtxQsh.js";
8
+ import { a as IdNoAttempts, i as Capture, n as Chooser, o as IdExpired, r as Tutorial, s as IdError, t as FlipAnimation, v as ProgressBar } from "../extensibility-CtmqxLcR.js";
9
9
  import { t as Processing } from "../processing-Di1OhgZf.js";
10
10
  import { u as ChevronRightIcon } from "../icons-DW9DSJ16.js";
11
11
  import { t as SuccessIcon } from "../successIcon-hJafyodN.js";
@@ -3,7 +3,7 @@ import { d as T, v as u } from "./vendor-preact-mvwZ8mJj.js";
3
3
  import { g as useManager, i as Page, m as useModuleTerminalCallbacks, t as withStandaloneModuleBootstrap } from "./hooks-CesbGQdO.js";
4
4
  import { r as Button } from "./incode-logo-wxiGOOpK.js";
5
5
  import { t as IncodeComponent } from "./incodeComponent-CMcbgpFE.js";
6
- import "./extensibility-BQFtxQsh.js";
6
+ import "./extensibility-CtmqxLcR.js";
7
7
  import { t as VerificationResult } from "./verificationResult-Cs1e_oSd.js";
8
8
  import { t as InputComposed } from "./inputComposed-CejoWawJ.js";
9
9
  import { t as RadioGroupComposed } from "./radioGroupComposed-osFatGIs.js";
@@ -4,18 +4,22 @@ import { t as Spacer } from "./spacer-BTetNBo1.js";
4
4
  import { r as Button } from "./incode-logo-wxiGOOpK.js";
5
5
  import { t as InputComposed } from "./inputComposed-CejoWawJ.js";
6
6
  import "./inputComposed-Bi0esMNI.js";
7
- //#region src/shared/otpInput/otpInput.tsx
8
- var formatTimer = (seconds) => {
7
+ //#region src/shared/resendTimer.ts
8
+ var formatResendTimer = (seconds) => {
9
9
  return `${Math.floor(seconds / 60)}:${(seconds % 60).toString().padStart(2, "0")}`;
10
10
  };
11
- var normalizeOtp = (value, maxLength) => {
12
- return value.replace(/[^a-zA-Z0-9]/g, "").toUpperCase().slice(0, maxLength);
11
+ var DEFAULT_ANNOUNCEMENT_KEYS = {
12
+ resendAvailable: "otp.resendCodeAvailable",
13
+ timerStarted: "otp.timerStarted",
14
+ timerTenSeconds: "otp.timerTenSeconds",
15
+ timerFiveSeconds: "otp.timerFiveSeconds"
13
16
  };
14
- var OtpInput = ({ value, otpLength, resendTimer, canResend, error, validationError, isValid = true, onSubmit, onChange, onValidate, onResend, onBack, backLinkText = "otp.changePhoneNumber", disabled = false, isLoading = false }) => {
17
+ function useResendTimerAnnouncements({ canResend, resendTimer, disabled = false, i18nKeys }) {
15
18
  const { t } = useTranslation();
16
- const inputRef = A(null);
17
- const prevCodeLengthRef = A(value.length);
18
- const lastSubmittedCodeRef = A(null);
19
+ const announcementKeys = {
20
+ ...DEFAULT_ANNOUNCEMENT_KEYS,
21
+ ...i18nKeys
22
+ };
19
23
  const liveRef = A(null);
20
24
  const prevCanResendRef = A(canResend);
21
25
  const hasAnnouncedStartRef = A(false);
@@ -30,15 +34,65 @@ var OtpInput = ({ value, otpLength, resendTimer, canResend, error, validationErr
30
34
  }, 50);
31
35
  }, []);
32
36
  y(() => {
37
+ return () => clearTimeout(announceTimerRef.current);
38
+ }, []);
39
+ y(() => {
40
+ if (disabled) {
41
+ prevCanResendRef.current = canResend;
42
+ return;
43
+ }
33
44
  const wasUnavailable = !prevCanResendRef.current;
34
45
  prevCanResendRef.current = canResend;
35
- if (wasUnavailable && canResend) announce(t("otp.resendCodeAvailable"));
36
- return () => clearTimeout(announceTimerRef.current);
46
+ if (wasUnavailable && canResend) announce(t(announcementKeys.resendAvailable));
37
47
  }, [
38
48
  canResend,
49
+ disabled,
50
+ announcementKeys.resendAvailable,
39
51
  announce,
40
52
  t
41
53
  ]);
54
+ y(() => {
55
+ if (disabled) {
56
+ hasAnnouncedStartRef.current = false;
57
+ return;
58
+ }
59
+ if (canResend || resendTimer <= 0) {
60
+ hasAnnouncedStartRef.current = false;
61
+ return;
62
+ }
63
+ if (!hasAnnouncedStartRef.current) {
64
+ hasAnnouncedStartRef.current = true;
65
+ announce(t(announcementKeys.timerStarted, { time: String(resendTimer) }));
66
+ return;
67
+ }
68
+ if (resendTimer === 10) announce(t(announcementKeys.timerTenSeconds));
69
+ else if (resendTimer === 5) announce(t(announcementKeys.timerFiveSeconds));
70
+ }, [
71
+ resendTimer,
72
+ canResend,
73
+ disabled,
74
+ announcementKeys.timerStarted,
75
+ announcementKeys.timerTenSeconds,
76
+ announcementKeys.timerFiveSeconds,
77
+ announce,
78
+ t
79
+ ]);
80
+ return liveRef;
81
+ }
82
+ //#endregion
83
+ //#region src/shared/otpInput/otpInput.tsx
84
+ var normalizeOtp = (value, maxLength) => {
85
+ return value.replace(/[^a-zA-Z0-9]/g, "").toUpperCase().slice(0, maxLength);
86
+ };
87
+ var OtpInput = ({ value, otpLength, resendTimer, canResend, error, validationError, isValid = true, onSubmit, onChange, onValidate, onResend, onBack, backLinkText = "otp.changePhoneNumber", disabled = false, isLoading = false }) => {
88
+ const { t } = useTranslation();
89
+ const inputRef = A(null);
90
+ const prevCodeLengthRef = A(value.length);
91
+ const lastSubmittedCodeRef = A(null);
92
+ const liveRef = useResendTimerAnnouncements({
93
+ canResend,
94
+ resendTimer
95
+ });
42
96
  y(() => {
43
97
  if (error) {
44
98
  lastSubmittedCodeRef.current = null;
@@ -85,24 +139,6 @@ var OtpInput = ({ value, otpLength, resendTimer, canResend, error, validationErr
85
139
  submitCode(value);
86
140
  };
87
141
  const displayedError = error ?? validationError;
88
- y(() => {
89
- if (canResend || resendTimer <= 0) {
90
- hasAnnouncedStartRef.current = false;
91
- return;
92
- }
93
- if (!hasAnnouncedStartRef.current) {
94
- hasAnnouncedStartRef.current = true;
95
- announce(t("otp.timerStarted", { time: String(resendTimer) }));
96
- return;
97
- }
98
- if (resendTimer === 10) announce(t("otp.timerTenSeconds"));
99
- else if (resendTimer === 5) announce(t("otp.timerFiveSeconds"));
100
- }, [
101
- resendTimer,
102
- canResend,
103
- announce,
104
- t
105
- ]);
106
142
  const renderActions = () => {
107
143
  if (!canResend && resendTimer > 0) return /* @__PURE__ */ u("div", {
108
144
  class: "IncodeOtpInputActions",
@@ -110,7 +146,7 @@ var OtpInput = ({ value, otpLength, resendTimer, canResend, error, validationErr
110
146
  children: /* @__PURE__ */ u(Button, {
111
147
  variant: "link",
112
148
  disabled: true,
113
- children: t("otp.resendCountdown", { time: formatTimer(resendTimer) })
149
+ children: t("otp.resendCountdown", { time: formatResendTimer(resendTimer) })
114
150
  })
115
151
  });
116
152
  const handleResend = () => {
@@ -193,4 +229,4 @@ var OtpInput = ({ value, otpLength, resendTimer, canResend, error, validationErr
193
229
  });
194
230
  };
195
231
  //#endregion
196
- export { OtpInput as t };
232
+ export { formatResendTimer as n, useResendTimerAnnouncements as r, OtpInput as t };
@@ -4,7 +4,7 @@ import { g as useManager, i as Page, m as useModuleTerminalCallbacks, p as isTer
4
4
  import { t as Spacer } from "../spacer-BTetNBo1.js";
5
5
  import { r as Button } from "../incode-logo-wxiGOOpK.js";
6
6
  import { t as IncodeComponent } from "../incodeComponent-CMcbgpFE.js";
7
- import { t as OtpInput } from "../otpInput-IAHjFR4K.js";
7
+ import { t as OtpInput } from "../otpInput-DA84A_VA.js";
8
8
  import { t as Checkbox } from "../checkbox-DZr7yccY.js";
9
9
  import { t as PhoneInputComposed } from "../phoneInputComposed-_jPhIwjI.js";
10
10
  import { t as registerIncodeModuleElement } from "../incodeModule-BC-BLasM.js";
@@ -3,12 +3,13 @@ import { i as useTranslation, r as Trans } from "../uiConfig-CwW-ALgf.js";
3
3
  import { S as k, _ as y, h as q, l as A, p as d, v as u } from "../vendor-preact-mvwZ8mJj.js";
4
4
  import { a as VerifiedByIncodeLogo, g as useManager, m as useModuleTerminalCallbacks, o as usePageUiConfig, s as TransitionSpinner, t as withStandaloneModuleBootstrap } from "../hooks-CesbGQdO.js";
5
5
  import { t as Spacer } from "../spacer-BTetNBo1.js";
6
- import { r as Button, t as incode_logo_default } from "../incode-logo-wxiGOOpK.js";
6
+ import { n as ErrorIcon, r as Button, t as incode_logo_default } from "../incode-logo-wxiGOOpK.js";
7
7
  import { t as IncodeComponent } from "../incodeComponent-CMcbgpFE.js";
8
- import "../extensibility-BQFtxQsh.js";
8
+ import "../extensibility-CtmqxLcR.js";
9
9
  import "../icons-DW9DSJ16.js";
10
10
  import { t as SuccessIcon } from "../successIcon-hJafyodN.js";
11
11
  import { t as AutoFocusTitle } from "../autoFocusTitle-C4ex-p3U.js";
12
+ import { n as formatResendTimer, r as useResendTimerAnnouncements } from "../otpInput-DA84A_VA.js";
12
13
  import { r as getCountryByCallingCode, t as PhoneInputComposed } from "../phoneInputComposed-_jPhIwjI.js";
13
14
  import { t as registerIncodeElement } from "../registerIncodeElement-D2haQTcv.js";
14
15
  import { t as Snackbar } from "../snackbar-RF4sGCbJ.js";
@@ -52,16 +53,24 @@ var RedirectFooter = ({ addContinueToDesktop, onContinueOnDesktop }) => {
52
53
  /* @__PURE__ */ u(Spacer, {}),
53
54
  addContinueToDesktop ? /* @__PURE__ */ u("div", {
54
55
  class: "IncodeRedirectFooterContent",
55
- children: [/* @__PURE__ */ u("span", {
56
- class: "IncodeRedirectFooterContentText",
57
- children: t("idv2.permissions.or")
58
- }), /* @__PURE__ */ u(Button, {
59
- variant: "secondary",
60
- onClick: onContinueOnDesktop,
61
- children: t("redirect.continueOnDesktop")
62
- })]
56
+ children: [
57
+ /* @__PURE__ */ u("span", {
58
+ class: "IncodeRedirectFooterContentText",
59
+ children: t("idv2.permissions.or")
60
+ }),
61
+ /* @__PURE__ */ u(Spacer, { size: 16 }),
62
+ /* @__PURE__ */ u(Button, {
63
+ variant: "secondary",
64
+ onClick: onContinueOnDesktop,
65
+ children: t("redirect.continueOnDesktop")
66
+ }),
67
+ /* @__PURE__ */ u(Spacer, { size: 16 })
68
+ ]
63
69
  }) : null,
64
- /* @__PURE__ */ u(VerifiedByIncodeLogo, {})
70
+ /* @__PURE__ */ u("div", {
71
+ class: "IncodeRedirectFooterLogoWrapper",
72
+ children: /* @__PURE__ */ u(VerifiedByIncodeLogo, {})
73
+ })
65
74
  ]
66
75
  });
67
76
  };
@@ -74,7 +83,10 @@ var ResendToast = ({ visible }) => {
74
83
  class: "IncodeRedirectToast",
75
84
  children: /* @__PURE__ */ u(Snackbar, {
76
85
  variant: "positive",
77
- children: t("redirect.linkResent")
86
+ children: /* @__PURE__ */ u("span", {
87
+ class: "IncodeRedirectToastContent",
88
+ children: [/* @__PURE__ */ u(SuccessIcon, { size: 32 }), /* @__PURE__ */ u("span", { children: t("redirect.linkResent") })]
89
+ })
78
90
  })
79
91
  });
80
92
  };
@@ -2514,11 +2526,44 @@ var QrTabContent = ({ redirectUrl }) => {
2514
2526
  };
2515
2527
  //#endregion
2516
2528
  //#region src/modules/redirect-to-mobile/smsSentView.tsx
2517
- var SmsSentView = ({ formattedPhone, onResend, onChangePhone }) => {
2529
+ var SmsSentView = ({ formattedPhone, hasError, resendTimer, canResendSms, onResend, onChangePhone }) => {
2518
2530
  const { t } = useTranslation();
2519
2531
  return /* @__PURE__ */ u("div", {
2520
2532
  class: "IncodeRedirectLinkSent",
2521
- children: [
2533
+ children: [/* @__PURE__ */ u("div", {
2534
+ ref: useResendTimerAnnouncements({
2535
+ canResend: canResendSms,
2536
+ resendTimer,
2537
+ disabled: hasError,
2538
+ i18nKeys: { resendAvailable: "redirectToMobile.resendLinkAvailable" }
2539
+ }),
2540
+ class: "IncodeSrOnly",
2541
+ "aria-live": "polite",
2542
+ "aria-atomic": "true"
2543
+ }), hasError ? /* @__PURE__ */ u(k, { children: [
2544
+ /* @__PURE__ */ u(ErrorIcon, { size: 40 }),
2545
+ /* @__PURE__ */ u(Spacer, { size: 16 }),
2546
+ /* @__PURE__ */ u(AutoFocusTitle, {
2547
+ className: "IncodeRedirectLinkSentTitle",
2548
+ children: t("redirect.tooManyAttempts")
2549
+ }),
2550
+ /* @__PURE__ */ u(Spacer, { size: 12 }),
2551
+ /* @__PURE__ */ u("p", {
2552
+ class: "IncodeRedirectLinkSentPhone",
2553
+ role: "alert",
2554
+ children: t("redirect.smsErrorSubtitle")
2555
+ }),
2556
+ /* @__PURE__ */ u(Spacer, { size: 24 }),
2557
+ /* @__PURE__ */ u("div", {
2558
+ class: "IncodeRedirectLinkSentActions",
2559
+ children: /* @__PURE__ */ u(Button, {
2560
+ variant: "link",
2561
+ onClick: onChangePhone,
2562
+ "data-testid": "sms-change-phone",
2563
+ children: t("redirect.changePhoneNumber")
2564
+ })
2565
+ })
2566
+ ] }) : /* @__PURE__ */ u(k, { children: [
2522
2567
  /* @__PURE__ */ u(SuccessIcon, { size: 40 }),
2523
2568
  /* @__PURE__ */ u(Spacer, { size: 16 }),
2524
2569
  /* @__PURE__ */ u(AutoFocusTitle, {
@@ -2533,24 +2578,35 @@ var SmsSentView = ({ formattedPhone, onResend, onChangePhone }) => {
2533
2578
  /* @__PURE__ */ u(Spacer, { size: 32 }),
2534
2579
  /* @__PURE__ */ u("div", {
2535
2580
  class: "IncodeRedirectLinkSentActions",
2536
- children: /* @__PURE__ */ u(Trans, {
2581
+ children: !canResendSms && resendTimer > 0 ? /* @__PURE__ */ u(k, { children: [
2582
+ /* @__PURE__ */ u(Spacer, { size: 8 }),
2583
+ /* @__PURE__ */ u(Button, {
2584
+ variant: "link",
2585
+ size: "inline",
2586
+ disabled: true,
2587
+ "data-testid": "sms-timer",
2588
+ children: t("redirectToMobile.resendCountdown", { time: formatResendTimer(resendTimer) })
2589
+ }),
2590
+ /* @__PURE__ */ u(Spacer, { size: 8 })
2591
+ ] }) : /* @__PURE__ */ u(Trans, {
2537
2592
  i18nKey: "redirect.didntReceiveLinkActions",
2538
- defaultValue: "Didn't receive the link? <resend>Resend</resend> or <changePhone>Change phone number</changePhone>",
2539
2593
  components: {
2540
2594
  resend: /* @__PURE__ */ u(Button, {
2541
2595
  variant: "link",
2542
2596
  size: "inline",
2543
- onClick: onResend
2597
+ onClick: onResend,
2598
+ "data-testid": "sms-resend"
2544
2599
  }),
2545
2600
  changePhone: /* @__PURE__ */ u(Button, {
2546
2601
  variant: "link",
2547
2602
  size: "inline",
2548
- onClick: onChangePhone
2603
+ onClick: onChangePhone,
2604
+ "data-testid": "sms-change-phone"
2549
2605
  })
2550
2606
  }
2551
2607
  })
2552
2608
  })
2553
- ]
2609
+ ] })]
2554
2610
  });
2555
2611
  };
2556
2612
  //#endregion
@@ -2578,7 +2634,7 @@ var formatPhoneNumber = (phone, prefix) => {
2578
2634
  if (!phone.startsWith(prefix)) return phone;
2579
2635
  return `${prefix} ${phone.slice(prefix.length).replace(/(\d{3})(?=\d)/g, "$1 ")}`;
2580
2636
  };
2581
- var SmsTabContent = ({ phonePrefix, smsSent, error, manager, onResend }) => {
2637
+ var SmsTabContent = ({ phonePrefix, smsSent, smsFailed, smsResendTimer, canResendSms, error, manager, onResend }) => {
2582
2638
  const { t } = useTranslation();
2583
2639
  const [phoneNumber, setPhoneNumber] = d(phonePrefix);
2584
2640
  const [isPhoneValid, setIsPhoneValid] = d(false);
@@ -2603,14 +2659,17 @@ var SmsTabContent = ({ phonePrefix, smsSent, error, manager, onResend }) => {
2603
2659
  setIsPhoneValid(false);
2604
2660
  manager.resetSms();
2605
2661
  }, [manager, phonePrefix]);
2606
- return /* @__PURE__ */ u(k, { children: [/* @__PURE__ */ u("p", {
2607
- class: "IncodeRedirectTabDescription",
2608
- children: t("v2.redirectToMobile.sms.description")
2609
- }), smsSent ? /* @__PURE__ */ u(SmsSentView, {
2662
+ return /* @__PURE__ */ u(k, { children: smsSent || smsFailed ? /* @__PURE__ */ u(SmsSentView, {
2610
2663
  formattedPhone,
2664
+ hasError: smsFailed,
2665
+ resendTimer: smsResendTimer,
2666
+ canResendSms,
2611
2667
  onResend: handleResend,
2612
2668
  onChangePhone: handleChangePhone
2613
- }) : /* @__PURE__ */ u(SmsForm, {
2669
+ }) : /* @__PURE__ */ u(k, { children: [/* @__PURE__ */ u("p", {
2670
+ class: "IncodeRedirectTabDescription",
2671
+ children: t("v2.redirectToMobile.sms.description")
2672
+ }), /* @__PURE__ */ u(SmsForm, {
2614
2673
  countryCode,
2615
2674
  phonePrefix,
2616
2675
  error,
@@ -2618,16 +2677,21 @@ var SmsTabContent = ({ phonePrefix, smsSent, error, manager, onResend }) => {
2618
2677
  isPhoneValid,
2619
2678
  onPhoneChange: handlePhoneChange,
2620
2679
  onSendSms: handleSendSms
2621
- })] });
2680
+ })] }) });
2622
2681
  };
2623
2682
  //#endregion
2624
2683
  //#region src/modules/redirect-to-mobile/qrScreen.tsx
2625
- var QrScreen = ({ redirectUrl, phonePrefix, smsSent, disableSmsOption, addContinueToDesktop, error, manager, logoSrc }) => {
2684
+ var QrScreen = ({ redirectUrl, phonePrefix, smsSent, smsFailed, smsResendTimer, canResendSms, disableSmsOption, addContinueToDesktop, error, manager, logoSrc }) => {
2626
2685
  const { t } = useTranslation();
2627
2686
  const [showResendToast, setShowResendToast] = d(false);
2687
+ const resendToastTimerRef = A();
2628
2688
  const handleResend = q(() => {
2689
+ clearTimeout(resendToastTimerRef.current);
2629
2690
  setShowResendToast(true);
2630
- setTimeout(() => setShowResendToast(false), 3e3);
2691
+ resendToastTimerRef.current = setTimeout(() => setShowResendToast(false), 3e3);
2692
+ }, []);
2693
+ y(() => {
2694
+ return () => clearTimeout(resendToastTimerRef.current);
2631
2695
  }, []);
2632
2696
  const handleContinueOnDesktop = q(() => {
2633
2697
  manager.continueOnDesktop();
@@ -2663,6 +2727,9 @@ var QrScreen = ({ redirectUrl, phonePrefix, smsSent, disableSmsOption, addContin
2663
2727
  children: /* @__PURE__ */ u(SmsTabContent, {
2664
2728
  phonePrefix,
2665
2729
  smsSent,
2730
+ smsFailed,
2731
+ smsResendTimer,
2732
+ canResendSms,
2666
2733
  error,
2667
2734
  manager,
2668
2735
  onResend: handleResend
@@ -2670,7 +2737,7 @@ var QrScreen = ({ redirectUrl, phonePrefix, smsSent, disableSmsOption, addContin
2670
2737
  })]
2671
2738
  })]
2672
2739
  }), /* @__PURE__ */ u(RedirectFooter, {
2673
- addContinueToDesktop,
2740
+ addContinueToDesktop: addContinueToDesktop && (!smsSent || smsFailed),
2674
2741
  onContinueOnDesktop: handleContinueOnDesktop
2675
2742
  })]
2676
2743
  })]
@@ -2739,6 +2806,9 @@ var RedirectToMobileContent = ({ config, manager: externalManager, services, onF
2739
2806
  redirectUrl: state.redirectUrl,
2740
2807
  phonePrefix: state.phonePrefix,
2741
2808
  smsSent: state.smsSent,
2809
+ smsFailed: state.smsFailed,
2810
+ smsResendTimer: state.smsResendTimer,
2811
+ canResendSms: state.canResendSms,
2742
2812
  disableSmsOption: config?.disableSmsOption ?? false,
2743
2813
  addContinueToDesktop: config?.addContinueToDesktop ?? false,
2744
2814
  error: state.error,
@@ -38,10 +38,8 @@
38
38
  background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));
39
39
  width: 100%;
40
40
  padding-inline: var(--spacing-24, var(--spacing-24, 24px));
41
- padding-top: var(--spacing-32, var(--spacing-32, 32px));
42
- padding-bottom: var(--spacing-24, var(--spacing-24, 24px));
41
+ padding-block: var(--spacing-32, var(--spacing-32, 32px));
43
42
  max-width: var(--redirect-card-max-width);
44
- min-height: min(var(--redirect-card-max-width), var(--redirect-card-min-height));
45
43
  flex-direction: column;
46
44
  align-items: center;
47
45
  display: flex;
@@ -57,11 +55,11 @@
57
55
  }
58
56
 
59
57
  .IncodeRedirectRoot .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectOptions {
60
- align-items: center;
61
- gap: var(--spacing-32, var(--spacing-32, 32px));
58
+ margin-bottom: var(--spacing-32, var(--spacing-32, 32px));
62
59
  width: 100%;
63
60
  max-width: var(--redirect-options-max-width);
64
61
  flex-direction: column;
62
+ align-items: center;
65
63
  display: flex;
66
64
  }
67
65
 
@@ -73,6 +71,12 @@
73
71
  left: 50%;
74
72
  }
75
73
 
74
+ .IncodeRedirectContainer .IncodeRedirectToastContent {
75
+ align-items: center;
76
+ gap: var(--spacing-12, var(--spacing-12, 12px));
77
+ display: inline-flex;
78
+ }
79
+
76
80
  @keyframes fadeInOut {
77
81
  0% {
78
82
  opacity: 0;
@@ -136,12 +140,11 @@
136
140
  }
137
141
 
138
142
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectBottomNav {
139
- align-items: center;
140
- gap: var(--spacing-40, var(--spacing-40, 40px));
141
143
  width: 100%;
142
144
  max-width: var(--redirect-form-column-max-width);
143
145
  flex-direction: column;
144
146
  flex: 1;
147
+ align-items: center;
145
148
  display: flex;
146
149
  }
147
150
 
@@ -154,7 +157,7 @@
154
157
  }
155
158
 
156
159
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectBottomNav .IncodeRedirectFooterContentText {
157
- margin-block: var(--spacing-32, var(--spacing-32, 32px));
160
+ margin-block: var(--spacing-12, var(--spacing-12, 12px));
158
161
  font-family: var(--Button-family, "DM Sans");
159
162
  letter-spacing: 0;
160
163
  font-size: 18px;
@@ -162,6 +165,10 @@
162
165
  line-height: 100%;
163
166
  }
164
167
 
168
+ .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectBottomNav .IncodeRedirectFooterLogoWrapper {
169
+ padding-block: var(--spacing-8, var(--spacing-8, 8px));
170
+ }
171
+
165
172
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectTabs {
166
173
  justify-content: center;
167
174
  align-items: flex-end;
@@ -246,6 +253,7 @@
246
253
  }
247
254
 
248
255
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectOptions .IncodeRedirectLinkSent {
256
+ margin-top: var(--spacing-32, var(--spacing-32, 32px));
249
257
  flex-direction: column;
250
258
  align-items: center;
251
259
  display: flex;
@@ -272,6 +280,7 @@
272
280
  }
273
281
 
274
282
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectOptions .IncodeRedirectLinkSent .IncodeRedirectLinkSentActions {
283
+ margin-block: var(--spacing-8, var(--spacing-8, 8px));
275
284
  justify-content: center;
276
285
  align-items: center;
277
286
  gap: var(--spacing-4, var(--spacing-4, 4px));
@@ -4,7 +4,7 @@ import { g as useManager, i as Page, m as useModuleTerminalCallbacks, t as withS
4
4
  import { t as Spacer } from "../spacer-BTetNBo1.js";
5
5
  import { r as Button } from "../incode-logo-wxiGOOpK.js";
6
6
  import { t as IncodeComponent } from "../incodeComponent-CMcbgpFE.js";
7
- import "../extensibility-BQFtxQsh.js";
7
+ import "../extensibility-CtmqxLcR.js";
8
8
  import { t as VerificationResult } from "../verificationResult-Cs1e_oSd.js";
9
9
  import { t as registerIncodeModuleElement } from "../incodeModule-BC-BLasM.js";
10
10
  import { t as _defineProperty } from "../defineProperty-BsIK7Gws.js";
@@ -85,14 +85,14 @@ var LAZY_UI_MODULES = {
85
85
  INE_VALIDATION: () => import("./government-validation/government-validation.es.js").then((m) => m.GovernmentValidation),
86
86
  GEOLOCATION: () => import("./geolocation/geolocation.es.js").then((m) => m.Geolocation),
87
87
  EXTERNAL_VERIFICATION: () => import("./ekycModule-BUoHAnT7.js").then((m) => m.EkycModule),
88
- EKYB: () => import("./ekybModule-DOvqVqkb.js").then((m) => m.EkybModule),
89
- DOCUMENT_CAPTURE: () => import("./documentCapture-CVfw4e3z.js").then((m) => m.DocumentCapture),
90
- ADDRESS: () => import("./documentCapture-CVfw4e3z.js").then((m) => m.DocumentCapture),
88
+ EKYB: () => import("./ekybModule-Ddc7uvk_.js").then((m) => m.EkybModule),
89
+ DOCUMENT_CAPTURE: () => import("./documentCapture-BGSL-slo.js").then((m) => m.DocumentCapture),
90
+ ADDRESS: () => import("./documentCapture-BGSL-slo.js").then((m) => m.DocumentCapture),
91
91
  COMBINED_CONSENT: () => import("./consent/consent.es.js").then((m) => m.Consent),
92
92
  MANDATORY_CONSENT: () => import("./mandatoryConsent-BsIe3qzi.js").then((m) => m.MandatoryConsent),
93
93
  ML_CONSENT: () => import("./mandatoryConsent-BsIe3qzi.js").then((m) => m.MandatoryConsent),
94
94
  SIGNATURE: () => import("./signature/signature.es.js").then((m) => m.Signature),
95
- ID_OCR: () => import("./idOcr-CGhDxTAx.js").then((m) => m.IdOcr),
95
+ ID_OCR: () => import("./idOcr-BPy2bNQ3.js").then((m) => m.IdOcr),
96
96
  CPF_OCR: () => import("./cpfOcr-DSaUS0pr.js").then((m) => m.CpfOcr),
97
97
  ANTIFRAUD: () => import("./antifraud/antifraud.es.js").then((m) => m.Antifraud),
98
98
  CUSTOM_FIELDS: () => import("./customFields-BbJYJVME.js").then((m) => m.CustomFields),
@@ -102,9 +102,9 @@ var LAZY_UI_MODULES = {
102
102
  AE_SIGNATURE: () => import("./ae-signature/ae-signature.es.js").then((m) => m.AeSignature),
103
103
  QE_SIGNATURE: () => import("./qe-signature/qe-signature.es.js").then((m) => m.QeSignature),
104
104
  CROSS_DOCUMENT_DATA_MATCH: () => import("./cross-document-data-match/cross-document-data-match.es.js").then((m) => m.CrossDocumentDataMatch),
105
- DYNAMIC_FORMS: () => import("./dynamicForms-DHdzP389.js").then((m) => m.DynamicForms),
105
+ DYNAMIC_FORMS: () => import("./dynamicForms-DM_Ng5zK.js").then((m) => m.DynamicForms),
106
106
  CERTIFICATE_ISSUANCE: () => import("./certificate-issuance/certificate-issuance.es.js").then((m) => m.CertificateIssuance),
107
- FIELD_COMPARISON: () => import("./fieldComparison-DIome7Mu.js").then((m) => m.FieldComparison),
107
+ FIELD_COMPARISON: () => import("./fieldComparison-BHTY0bHo.js").then((m) => m.FieldComparison),
108
108
  FISCAL_QR: () => import("./fiscal-qr/fiscal-qr.es.js").then((m) => m.FiscalQr),
109
109
  VIDEO_ONBOARDING: () => import("./video-selfie/video-selfie.es.js").then((m) => m.VideoSelfie)
110
110
  };
@@ -6744,10 +6744,8 @@
6744
6744
  background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));
6745
6745
  width: 100%;
6746
6746
  padding-inline: var(--spacing-24, var(--spacing-24, 24px));
6747
- padding-top: var(--spacing-32, var(--spacing-32, 32px));
6748
- padding-bottom: var(--spacing-24, var(--spacing-24, 24px));
6747
+ padding-block: var(--spacing-32, var(--spacing-32, 32px));
6749
6748
  max-width: var(--redirect-card-max-width);
6750
- min-height: min(var(--redirect-card-max-width), var(--redirect-card-min-height));
6751
6749
  flex-direction: column;
6752
6750
  align-items: center;
6753
6751
  display: flex;
@@ -6763,11 +6761,11 @@
6763
6761
  }
6764
6762
 
6765
6763
  .IncodeRedirectRoot .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectOptions {
6766
- align-items: center;
6767
- gap: var(--spacing-32, var(--spacing-32, 32px));
6764
+ margin-bottom: var(--spacing-32, var(--spacing-32, 32px));
6768
6765
  width: 100%;
6769
6766
  max-width: var(--redirect-options-max-width);
6770
6767
  flex-direction: column;
6768
+ align-items: center;
6771
6769
  display: flex;
6772
6770
  }
6773
6771
 
@@ -6779,6 +6777,12 @@
6779
6777
  left: 50%;
6780
6778
  }
6781
6779
 
6780
+ .IncodeRedirectContainer .IncodeRedirectToastContent {
6781
+ align-items: center;
6782
+ gap: var(--spacing-12, var(--spacing-12, 12px));
6783
+ display: inline-flex;
6784
+ }
6785
+
6782
6786
  @keyframes fadeInOut {
6783
6787
  0% {
6784
6788
  opacity: 0;
@@ -6842,12 +6846,11 @@
6842
6846
  }
6843
6847
 
6844
6848
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectBottomNav {
6845
- align-items: center;
6846
- gap: var(--spacing-40, var(--spacing-40, 40px));
6847
6849
  width: 100%;
6848
6850
  max-width: var(--redirect-form-column-max-width);
6849
6851
  flex-direction: column;
6850
6852
  flex: 1;
6853
+ align-items: center;
6851
6854
  display: flex;
6852
6855
  }
6853
6856
 
@@ -6860,7 +6863,7 @@
6860
6863
  }
6861
6864
 
6862
6865
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectBottomNav .IncodeRedirectFooterContentText {
6863
- margin-block: var(--spacing-32, var(--spacing-32, 32px));
6866
+ margin-block: var(--spacing-12, var(--spacing-12, 12px));
6864
6867
  font-family: var(--Button-family, "DM Sans");
6865
6868
  letter-spacing: 0;
6866
6869
  font-size: 18px;
@@ -6868,6 +6871,10 @@
6868
6871
  line-height: 100%;
6869
6872
  }
6870
6873
 
6874
+ .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectBottomNav .IncodeRedirectFooterLogoWrapper {
6875
+ padding-block: var(--spacing-8, var(--spacing-8, 8px));
6876
+ }
6877
+
6871
6878
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectTabs {
6872
6879
  justify-content: center;
6873
6880
  align-items: flex-end;
@@ -6952,6 +6959,7 @@
6952
6959
  }
6953
6960
 
6954
6961
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectOptions .IncodeRedirectLinkSent {
6962
+ margin-top: var(--spacing-32, var(--spacing-32, 32px));
6955
6963
  flex-direction: column;
6956
6964
  align-items: center;
6957
6965
  display: flex;
@@ -6978,6 +6986,7 @@
6978
6986
  }
6979
6987
 
6980
6988
  .IncodeRedirectContainer .IncodeRedirectCard .IncodeRedirectOptions .IncodeRedirectLinkSent .IncodeRedirectLinkSentActions {
6989
+ margin-block: var(--spacing-8, var(--spacing-8, 8px));
6981
6990
  justify-content: center;
6982
6991
  align-items: center;
6983
6992
  gap: var(--spacing-4, var(--spacing-4, 4px));
@@ -5,7 +5,7 @@ import { g as useManager, i as Page, n as ResolvedConfigProvider, r as TerminalE
5
5
  import { t as IncodeComponent } from "../incodeComponent-CMcbgpFE.js";
6
6
  import { t as AutoFocusTitle } from "../autoFocusTitle-C4ex-p3U.js";
7
7
  import { t as registerIncodeModuleElement } from "../incodeModule-BC-BLasM.js";
8
- import { a as resolveApiKey, g as setupSDK, i as HEADLESS_WORKFLOW_MODULE_KEYS, l as LAZY_UI_MODULES, o as extractIncodeStatus, s as UnsupportedModule, t as useModuleLoader, v as isDesktopOrEmulated } from "../useModuleLoader-DY1-p_du.js";
8
+ import { a as resolveApiKey, g as setupSDK, i as HEADLESS_WORKFLOW_MODULE_KEYS, l as LAZY_UI_MODULES, o as extractIncodeStatus, s as UnsupportedModule, t as useModuleLoader, v as isDesktopOrEmulated } from "../useModuleLoader-B9z7CWtS.js";
9
9
  import { resolveWasmConfig, upgradeToWasmHttpClient, warmupWasm } from "@incodetech/core/wasm";
10
10
  import { classifyScoreStatus } from "@incodetech/core/flow";
11
11
  import { bootstrapSession, refreshQrUrlUuid } from "@incodetech/core/session";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@incodetech/web",
3
- "version": "0.0.0-dev-20260728-bbd74326",
3
+ "version": "0.0.0-dev-20260728-dcd649b0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/IncodeTechnologies/incode-web-sdk.git"
@@ -291,7 +291,7 @@
291
291
  "qrcode": "^1.5.4",
292
292
  "signature_pad": "^5.1.3",
293
293
  "tailwindcss": "^4.1.17",
294
- "@incodetech/core": "0.0.0-dev-20260728-bbd74326"
294
+ "@incodetech/core": "0.0.0-dev-20260728-dcd649b0"
295
295
  },
296
296
  "devDependencies": {
297
297
  "@microsoft/api-extractor": "^7.53.3",
@@ -1,2 +0,0 @@
1
- import { t as DocumentCapture } from "./documentCapture-7Hc7LFdQ.js";
2
- export { DocumentCapture };
@@ -1,2 +0,0 @@
1
- import { t as EkybModule } from "./ekybModule-B5goxbvj.js";
2
- export { EkybModule };
@@ -1,2 +0,0 @@
1
- import { t as FieldComparison } from "./fieldComparison-DuNkOXQ3.js";
2
- export { FieldComparison };