@incodetech/web 2.1.1 → 2.2.0-rc.1

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 (205) hide show
  1. package/dist/ae-signature/ae-signature.es.js +7 -4
  2. package/dist/antifraud/antifraud.es.js +6 -6
  3. package/dist/authentication/authentication.es.js +7 -7
  4. package/dist/{autoFocusTitle-CuRu2lPg.js → autoFocusTitle-D7VzaZ2P.js} +6 -3
  5. package/dist/{back-horizontal-hint-xTnSQbzn.js → back-horizontal-hint-BBGuJ75y.js} +1 -1
  6. package/dist/{back-vertical-hint-BWWlHfX2.js → back-vertical-hint-B9usJ5lY.js} +1 -1
  7. package/dist/base.css +425 -3290
  8. package/dist/{bottomSheet-CnWbbUAM.js → bottomSheet-Cp8DLulN.js} +7 -8
  9. package/dist/certificate-issuance/certificate-issuance.es.js +34 -87
  10. package/dist/certificate-issuance/styles.css +0 -41
  11. package/dist/{checkbox-1wUHSoaK.js → checkbox-Jgwh943i.js} +5 -5
  12. package/dist/connectionError-Bl5E35Qm.js +45 -0
  13. package/dist/consent/consent.es.js +10 -12
  14. package/dist/consent/styles.css +5 -4
  15. package/dist/{countrySelector-SvUOyPo0.js → countrySelector-Sd-u1WGf.js} +3 -3
  16. package/dist/cross-document-data-match/cross-document-data-match.es.js +13 -10
  17. package/dist/curp-validation/curp-validation.es.js +28 -29
  18. package/dist/curp-validation/styles.css +47 -0
  19. package/dist/{customFields-BDsXR7A-.js → customFields-CiEguXX9.js} +13 -14
  20. package/dist/{customWatchlist-CYoRNCim.js → customWatchlist-BSAW87qq.js} +9 -9
  21. package/dist/dashboardTheme-FtPiizV0.js +223 -0
  22. package/dist/{dateInputComposed-DuaofcBl.js → dateInputComposed-D0WEYWkS.js} +5 -5
  23. package/dist/dateInputComposed-DKQJz0kJ.js +1 -0
  24. package/dist/document-capture/document-capture.es.js +1 -1
  25. package/dist/document-capture/styles.css +85 -70
  26. package/dist/{documentCapture-DhbO-A-V.js → documentCapture-GFNkI1ly.js} +218 -136
  27. package/dist/documentCapture-sB2_X-we.js +2 -0
  28. package/dist/{dropdownComposed-CoU0enG6.js → dropdownComposed-BXleSN7n.js} +18 -11
  29. package/dist/dropdownComposed-DE-VJgcR.js +1 -0
  30. package/dist/dynamic-forms/styles.css +58 -6
  31. package/dist/{dynamicForms-BifGbC9F.js → dynamicForms-DU5fT72-.js} +53 -45
  32. package/dist/ekyb/ekyb.es.js +1 -1
  33. package/dist/ekyb/styles.css +1 -28
  34. package/dist/{ekybModule-DGnTw5UV.js → ekybModule-CMcpoTgh.js} +51 -27
  35. package/dist/ekybModule-CR9A6Fqb.js +2 -0
  36. package/dist/ekyc/ekyc.es.js +1 -1
  37. package/dist/ekyc/styles.css +2 -2
  38. package/dist/{ekycModule-Dxpdd0ns.js → ekycModule-BTO8iIwh.js} +45 -19
  39. package/dist/ekycModule-CewwzYvk.js +2 -0
  40. package/dist/electronic-signature/electronic-signature.es.js +1 -1
  41. package/dist/{ae-signature → electronic-signature}/styles.css +2 -2
  42. package/dist/{electronic-signature-Ueoffasr.js → electronic-signature-COBKJBjU.js} +31 -23
  43. package/dist/email/email.es.js +10 -11
  44. package/dist/{emailInput-DsLkDtER.js → emailInput-mPPvterQ.js} +4 -4
  45. package/dist/{expiredId-BZXLrLk-.js → expiredId-CD5ETLV9.js} +6 -6
  46. package/dist/{extensibility-7sRIN0JC.js → extensibility-DBilbbhC.js} +440 -374
  47. package/dist/extensibility.es.js +24 -28
  48. package/dist/face-match/face-match.es.js +1 -1
  49. package/dist/face-match/styles.css +9 -609
  50. package/dist/faceMatch-2pfSeXeA.js +2 -0
  51. package/dist/{faceMatch-DyTBoMDm.js → faceMatch-CwDBO9Is.js} +71 -79
  52. package/dist/field-comparison/field-comparison.es.js +1 -1
  53. package/dist/fieldComparison-DUYp39WI.js +2 -0
  54. package/dist/{fieldComparison-L_knHqgw.js → fieldComparison-dDvSYYQP.js} +11 -12
  55. package/dist/finalSuccessScreen-B9kb72WR.js +500 -0
  56. package/dist/fiscal-qr/fiscal-qr.es.js +12 -12
  57. package/dist/flip-animation-CvN8FLNc.js +6996 -0
  58. package/dist/flow/flow.es.js +84 -48
  59. package/dist/flow/styles.css +908 -5423
  60. package/dist/{front-horizontal-hint-B84GgTO1.js → front-horizontal-hint-D3CrWViZ.js} +1 -1
  61. package/dist/{front-vertical-hint-Bs_avngq.js → front-vertical-hint-BoLZvyx5.js} +1 -1
  62. package/dist/geolocation/geolocation.es.js +36 -13
  63. package/dist/geolocation/styles.css +1 -1
  64. package/dist/government-validation/government-validation.es.js +11 -12
  65. package/dist/{homeScreen-B6T0JVh8.js → homeScreen-Dycy1yhN.js} +7 -9
  66. package/dist/{icons-CJJbIpBq.js → icons-D0cfSCBM.js} +92 -7
  67. package/dist/id/id.es.js +222 -52
  68. package/dist/id/styles.css +290 -10
  69. package/dist/id-back-of-card-DO593HH8.js +83 -0
  70. package/dist/id-back-of-card-vertical-DArEQ0hE.js +88 -0
  71. package/dist/id-front-of-card-Bcit7Pnq.js +308 -0
  72. package/dist/id-front-of-card-vertical-Bcr-KXcl.js +278 -0
  73. package/dist/id-laser-h-BaUHzX-d.js +480 -0
  74. package/dist/{id-laser-v-BiUXkM4x.js → id-laser-v-Dv9yEYJE.js} +7 -17
  75. package/dist/id-selfie-flow/id-selfie-flow.es.js +239 -0
  76. package/dist/id-selfie-flow/styles.css +749 -0
  77. package/dist/id-verification/id-verification.es.js +13 -9
  78. package/dist/{idOcr-WFBvqy3b.js → idOcr-riTHUOlr.js} +14 -15
  79. package/dist/identity-reuse/identity-reuse.es.js +6 -8
  80. package/dist/identity-reuse/styles.css +1 -1
  81. package/dist/{incode-logo-57XFniXU.js → incode-logo-cGsd55rc.js} +64 -1
  82. package/dist/incodeComponent-B-daxouV.js +713 -0
  83. package/dist/incodeModule-uyUrSSUM.js +25 -0
  84. package/dist/index.es.js +16 -5
  85. package/dist/inputComposed-CABc288U.js +1 -0
  86. package/dist/{inputComposed-C1R2LAa3.js → inputComposed-Pp_XN1-h.js} +9 -9
  87. package/dist/{mandatoryConsent-D0GTKu-H.js → mandatoryConsent-DSAjFc0h.js} +9 -11
  88. package/dist/manualCaptureButton-BY8dRhGA.js +300 -0
  89. package/dist/{capture-CkGvdDNH.js → manualCaptureButton-BldgUGso.js} +68 -198
  90. package/dist/{modal-OxkFuuiR.js → modal-BlczH_pL.js} +4 -4
  91. package/dist/{modal.hooks-ZrzmHAUa.js → modal.hooks-BvXzNWvY.js} +1 -1
  92. package/dist/{numberedStep-CEb-lFJm.js → numberedStep-DUs77Gy3.js} +1 -1
  93. package/dist/{optionAccessibleLabel-gfF-58Mv.js → optionAccessibleLabel-Dmz3eRsO.js} +6 -6
  94. package/dist/{otpInput-CnDc6pQm.js → otpInput-B3vUjmBF.js} +72 -36
  95. package/dist/{passport-horizontal-hint-Bj0ZJY0g.js → passport-horizontal-hint-DgnU-8bl.js} +1 -1
  96. package/dist/{passport-vertical-hint-Dfk77xUJ.js → passport-vertical-hint-Dd2Wknw7.js} +1 -1
  97. package/dist/{pdf-BqtJTlor.js → pdf-BUoY_2gv.js} +1 -1
  98. package/dist/pdfViewer-4xNYiBI1.js +2 -0
  99. package/dist/{pdfViewer-B97DmT9m.js → pdfViewer-BGFFFvmi.js} +5 -7
  100. package/dist/phone/phone.es.js +13 -12
  101. package/dist/{phoneInputComposed-DMiXfF-1.js → phoneInputComposed-D1ZBsd4S.js} +7 -6
  102. package/dist/{processing-BeUMfdJJ.js → processing-vGhs5Gvb.js} +2 -2
  103. package/dist/qe-signature/qe-signature.es.js +7 -4
  104. package/dist/{radioGroupComposed-DuQxslB2.js → radioGroupComposed-CYPHpI6a.js} +16 -15
  105. package/dist/redirect-to-mobile/redirect-to-mobile.es.js +132 -45
  106. package/dist/redirect-to-mobile/styles.css +20 -10
  107. package/dist/{registerIncodeElement-DaNjbAwZ.js → registerIncodeElement-BduCekz5.js} +1 -1
  108. package/dist/{richText-CB1fmegc.js → richText-2OnIN9ff.js} +3 -1607
  109. package/dist/selfie/selfie.es.js +10 -10
  110. package/dist/selfie/styles.css +16 -949
  111. package/dist/signature/signature.es.js +27 -19
  112. package/dist/{ae-signature/styles2.css → signature/styles.css} +4 -4
  113. package/dist/{snackbar-DS7Mv62v.js → snackbar-BzyWgQ7J.js} +2 -2
  114. package/dist/spacer-Bnmh-DfR.js +2344 -0
  115. package/dist/{spinner-BMeIEK1d.js → spinner-HP_c74K-.js} +45 -4
  116. package/dist/statusPage-C0vTVW0Q.js +36 -0
  117. package/dist/{successIcon-B5mGvdx1.js → successIcon-Bj8Y9CuI.js} +1 -1
  118. package/dist/{tabs-C__chW-u.js → tabs-B_TxQ9ZQ.js} +4 -3
  119. package/dist/themes/dark.css +35 -0
  120. package/dist/themes/light.css +35 -0
  121. package/dist/{tutorial-CCfPuVKX.js → tutorial-Cuy2ZEG9.js} +222 -180
  122. package/dist/types/ae-signature.d.ts +91 -5
  123. package/dist/types/antifraud.d.ts +86 -3
  124. package/dist/types/authentication.d.ts +86 -3
  125. package/dist/types/certificate-issuance.d.ts +86 -3
  126. package/dist/types/consent.d.ts +86 -3
  127. package/dist/types/cross-document-data-match.d.ts +88 -4
  128. package/dist/types/curp-validation.d.ts +86 -3
  129. package/dist/types/document-capture.d.ts +88 -4
  130. package/dist/types/ekyb.d.ts +88 -4
  131. package/dist/types/ekyc.d.ts +88 -4
  132. package/dist/types/electronic-signature.d.ts +87 -4
  133. package/dist/types/email.d.ts +82 -22
  134. package/dist/types/extensibility.d.ts +160 -5
  135. package/dist/types/face-match.d.ts +84 -22
  136. package/dist/types/field-comparison.d.ts +86 -3
  137. package/dist/types/fiscal-qr.d.ts +89 -5
  138. package/dist/types/flow.d.ts +92 -2
  139. package/dist/types/geolocation.d.ts +86 -3
  140. package/dist/types/government-validation.d.ts +86 -3
  141. package/dist/types/id-selfie-flow.d.ts +161 -0
  142. package/dist/types/id-verification.d.ts +87 -4
  143. package/dist/types/id.d.ts +88 -5
  144. package/dist/types/identity-reuse.d.ts +82 -2
  145. package/dist/types/index.d.ts +109 -1
  146. package/dist/types/phone.d.ts +83 -24
  147. package/dist/types/qe-signature.d.ts +91 -5
  148. package/dist/types/redirect-to-mobile.d.ts +4 -1
  149. package/dist/types/selfie.d.ts +86 -3
  150. package/dist/types/signature.d.ts +91 -5
  151. package/dist/types/video-selfie.d.ts +83 -6
  152. package/dist/types/watchlist.d.ts +91 -5
  153. package/dist/types/workflow.d.ts +85 -2
  154. package/dist/{i18n-CU4xq8qC.js → uiConfig-D7ezQeZ7.js} +63 -3
  155. package/dist/{useModuleLoader-Bi26kJbg.js → useModuleLoader-BImpfi_R.js} +37 -248
  156. package/dist/{vendor-preact-DThS2ZQ_.js → vendor-preact-mvwZ8mJj.js} +1 -1
  157. package/dist/{verificationResult-BWWkmeiA.js → verificationResult-IUf0w1aR.js} +26 -15
  158. package/dist/video-selfie/styles.css +349 -1202
  159. package/dist/video-selfie/video-selfie.es.js +120 -381
  160. package/dist/watchlist/watchlist.es.js +16 -13
  161. package/dist/{watchlistForBusiness-D2Uo_TwF.js → watchlistForBusiness-zT9gCfTc.js} +12 -13
  162. package/dist/workflow/styles.css +501 -3977
  163. package/dist/workflow/workflow.es.js +26 -19
  164. package/package.json +22 -20
  165. package/dist/button-Dz6AsbmF.js +0 -40
  166. package/dist/cameraView-DIEzM5ru.js +0 -47
  167. package/dist/cpf-ocr/cpf-ocr.es.js +0 -2
  168. package/dist/cpf-ocr/styles.css +0 -45
  169. package/dist/cpfOcr-B79245-3.js +0 -2
  170. package/dist/cpfOcr-BhxT-lRN.js +0 -92
  171. package/dist/dateInputComposed-DRzZi6uy.js +0 -1
  172. package/dist/documentCapture-DXYYyxZl.js +0 -2
  173. package/dist/dropdownComposed-BAoxIIsE.js +0 -1
  174. package/dist/ekybModule-C6Nttked.js +0 -2
  175. package/dist/ekycModule-CDIEjI6V.js +0 -2
  176. package/dist/errorIcon-BA4T6iy-.js +0 -26
  177. package/dist/faceMatch-B_HvxLm_.js +0 -2
  178. package/dist/fieldComparison-DfNEuEE5.js +0 -2
  179. package/dist/flip-animation-CZYSUtMm.js +0 -6983
  180. package/dist/hooks-CNu7o-v8.js +0 -186
  181. package/dist/id-laser-h-CzPegPMn.js +0 -467
  182. package/dist/incodeComponent-CfzJGETt.js +0 -64
  183. package/dist/incodeModule-B-4_3JrK.js +0 -13
  184. package/dist/inputComposed-BaY5q9WM.js +0 -1
  185. package/dist/loadingIcon-B0ysgiNq.js +0 -148
  186. package/dist/page-DidH_RkX.js +0 -171
  187. package/dist/spinner-BCDCoi9C.js +0 -1
  188. package/dist/statusPage-Bk8nJwXV.js +0 -28
  189. package/dist/transitionSpinner-CuNCqHNi.js +0 -30
  190. package/dist/types/cpf-ocr.d.ts +0 -12
  191. package/dist/typography-BZIpjo97.js +0 -45
  192. package/dist/uiConfig-D2_wawvr.js +0 -25
  193. /package/dist/{aligndevicelottie-DFscByAI.js → aligndevicelottie-CfoZ5Uus.js} +0 -0
  194. /package/dist/{back-tutorial-cI_4VHmE.js → back-tutorial-BHyRHyET.js} +0 -0
  195. /package/dist/{backdevicelottie-COyhTrxM.js → backdevicelottie-yKkczgFy.js} +0 -0
  196. /package/dist/{blurdevicelottie-BLVeJHEG.js → blurdevicelottie-8BbophdM.js} +0 -0
  197. /package/dist/{browser-ponyfill-Df13Th-G.js → browser-ponyfill-CBjGwwPW.js} +0 -0
  198. /package/dist/{defineProperty-Qjefk7Uf.js → defineProperty-BbpBna-2.js} +0 -0
  199. /package/dist/{frontdevicelottie-B4tE2PYQ.js → frontdevicelottie-CFcahVLk.js} +0 -0
  200. /package/dist/{glaredevicelottie-D1pR73sx.js → glaredevicelottie-Cnvah0kz.js} +0 -0
  201. /package/dist/{id-tutorial-DwO90SAm.js → id-tutorial-BOOsXlAJ.js} +0 -0
  202. /package/dist/{lottie_light-C6B2ec41.js → lottie_light-Bv56F2Ae.js} +0 -0
  203. /package/dist/{passport-tutorial-D9JNsMsM.js → passport-tutorial-CeSup6m9.js} +0 -0
  204. /package/dist/{requiredLabelHint-D0RhuMed.js → requiredLabelHint-Dx0WS2cR.js} +0 -0
  205. /package/dist/{selfieTutorial-pB-N-fj5.js → selfieTutorial-CYa8bq6B.js} +0 -0
@@ -1,7 +1,7 @@
1
- import { h as q, l as A, v as u } from "./vendor-preact-DThS2ZQ_.js";
2
- import { i as useModalFocusCapture, n as useModalBodyScrollLock, o as useModalTabCycle, r as useModalEscapeDismiss, s as useModalVisualViewportBounds } from "./modal.hooks-ZrzmHAUa.js";
1
+ import { h as q, l as A, v as u } from "./vendor-preact-mvwZ8mJj.js";
2
+ import { i as useModalFocusCapture, n as useModalBodyScrollLock, o as useModalTabCycle, r as useModalEscapeDismiss, s as useModalVisualViewportBounds } from "./modal.hooks-BvXzNWvY.js";
3
3
  //#region src/shared/bottomSheet/bottomSheet.tsx
4
- var BottomSheet = ({ isOpen = false, onClose, labelledById, children }) => {
4
+ var BottomSheet = ({ isOpen = false, onClose, labelledById, children, returnFocusRef }) => {
5
5
  const dialogRef = A(null);
6
6
  const overlayRef = A(null);
7
7
  const requestClose = q(() => {
@@ -9,19 +9,19 @@ var BottomSheet = ({ isOpen = false, onClose, labelledById, children }) => {
9
9
  }, [onClose]);
10
10
  useModalBodyScrollLock(isOpen);
11
11
  useModalEscapeDismiss(isOpen, true, requestClose);
12
- useModalFocusCapture(isOpen, dialogRef);
12
+ useModalFocusCapture(isOpen, dialogRef, true, returnFocusRef);
13
13
  useModalTabCycle(isOpen, dialogRef);
14
14
  useModalVisualViewportBounds(isOpen, overlayRef);
15
15
  if (!isOpen) return null;
16
16
  return /* @__PURE__ */ u("div", {
17
17
  ref: overlayRef,
18
18
  class: "IncodeBottomSheetOverlay",
19
- onClick: (event) => {
20
- if (event.target === event.currentTarget) requestClose();
19
+ onPointerUp: (event) => {
20
+ const target = event.target;
21
+ if (!dialogRef.current?.contains(target)) requestClose();
21
22
  },
22
23
  children: /* @__PURE__ */ u("div", {
23
24
  class: "IncodeBottomSheetContainer",
24
- onClick: requestClose,
25
25
  children: /* @__PURE__ */ u("div", {
26
26
  ref: dialogRef,
27
27
  class: "IncodeBottomSheet",
@@ -29,7 +29,6 @@ var BottomSheet = ({ isOpen = false, onClose, labelledById, children }) => {
29
29
  "aria-modal": "true",
30
30
  "aria-labelledby": labelledById,
31
31
  tabIndex: -1,
32
- onClick: (event) => event.stopPropagation(),
33
32
  children
34
33
  })
35
34
  })
@@ -1,18 +1,14 @@
1
- import { n as useTranslation } from "../i18n-CU4xq8qC.js";
2
- import { _ as y, d as T, l as A, v as u } from "../vendor-preact-DThS2ZQ_.js";
3
- import { c as useModuleTerminalCallbacks, u as useManager } from "../hooks-CNu7o-v8.js";
4
- import { t as IncodeComponent } from "../incodeComponent-CfzJGETt.js";
5
- import { r as Spacer } from "../loadingIcon-B0ysgiNq.js";
6
- import { t as Page } from "../page-DidH_RkX.js";
7
- import "../extensibility-7sRIN0JC.js";
8
- import { a as TypographyH5, o as TypographyP } from "../typography-BZIpjo97.js";
9
- import { t as Button } from "../button-Dz6AsbmF.js";
10
- import "../icons-CJJbIpBq.js";
11
- import { t as SuccessIcon } from "../successIcon-B5mGvdx1.js";
12
- import { t as AutoFocusTitle } from "../autoFocusTitle-CuRu2lPg.js";
13
- import { t as VerificationResult } from "../verificationResult-BWWkmeiA.js";
14
- import { t as InputComposed } from "../inputComposed-C1R2LAa3.js";
15
- import { t as registerIncodeModuleElement } from "../incodeModule-B-4_3JrK.js";
1
+ import { a as useTranslation } from "../uiConfig-D7ezQeZ7.js";
2
+ import { _ as y, d as T, l as A, v as u } from "../vendor-preact-mvwZ8mJj.js";
3
+ import { _ as useModuleTerminalCallbacks, o as Page, r as withStandaloneModuleBootstrap, t as IncodeComponent, y as useManager } from "../incodeComponent-B-daxouV.js";
4
+ import { t as Spacer } from "../spacer-Bnmh-DfR.js";
5
+ import { o as TypographyH5 } from "../spinner-HP_c74K-.js";
6
+ import { r as Button } from "../incode-logo-cGsd55rc.js";
7
+ import { y as PasswordInputComposed } from "../extensibility-DBilbbhC.js";
8
+ import { t as SuccessIcon } from "../successIcon-Bj8Y9CuI.js";
9
+ import { t as AutoFocusTitle } from "../autoFocusTitle-D7VzaZ2P.js";
10
+ import { t as VerificationResult } from "../verificationResult-IUf0w1aR.js";
11
+ import { t as registerIncodeModuleElement } from "../incodeModule-uyUrSSUM.js";
16
12
  import { MIN_PASSWORD_LENGTH, PASSWORD_VALIDATION_KEYS, REQUIREMENT_I18N_KEYS, createCertificateIssuanceManager } from "@incodetech/core/certificate-issuance";
17
13
  //#region src/modules/certificate-issuance/downloadScreen.tsx
18
14
  var DownloadScreen = ({ blob, onDownloaded, onError }) => {
@@ -69,61 +65,14 @@ var DownloadScreen = ({ blob, onDownloaded, onError }) => {
69
65
  });
70
66
  };
71
67
  //#endregion
72
- //#region src/modules/certificate-issuance/password/ellipseIcon.tsx
73
- var EllipseIcon = ({ size = 16 }) => {
74
- return /* @__PURE__ */ u("svg", {
75
- xmlns: "http://www.w3.org/2000/svg",
76
- width: size,
77
- height: size,
78
- viewBox: "0 0 16 16",
79
- fill: "none",
80
- "aria-hidden": "true",
81
- children: [/* @__PURE__ */ u("title", { children: "Ellipse icon" }), /* @__PURE__ */ u("circle", {
82
- cx: "8",
83
- cy: "8",
84
- r: "5.585",
85
- stroke: "var(--icon-neutral-500)",
86
- "stroke-width": "1.5"
87
- })]
88
- });
89
- };
90
- //#endregion
91
- //#region src/modules/certificate-issuance/password/passwordRequirements.tsx
92
- var PasswordRequirements = ({ validations }) => {
93
- const { t } = useTranslation();
94
- return /* @__PURE__ */ u("ul", {
95
- class: "IncodeCertificateIssuanceRequirements",
96
- "aria-live": "polite",
97
- "data-testid": "password-requirements",
98
- children: PASSWORD_VALIDATION_KEYS.map((key) => {
99
- const passed = validations[key];
100
- return /* @__PURE__ */ u("li", {
101
- class: "IncodeCertificateIssuanceRequirement",
102
- "data-testid": `password-requirement-${key}`,
103
- "data-met": passed,
104
- children: [
105
- /* @__PURE__ */ u("span", {
106
- "aria-hidden": "true",
107
- class: "IncodeCertificateIssuanceRequirementIcon",
108
- children: passed ? /* @__PURE__ */ u(SuccessIcon, { size: 16 }) : /* @__PURE__ */ u(EllipseIcon, {})
109
- }),
110
- /* @__PURE__ */ u("span", {
111
- class: "IncodeCertificateIssuanceRequirementLabel",
112
- children: t(REQUIREMENT_I18N_KEYS[key], { min: MIN_PASSWORD_LENGTH })
113
- }),
114
- /* @__PURE__ */ u("span", {
115
- class: "IncodeSrOnly",
116
- children: passed ? t("certificateIssuance.password.requirementMet") : t("certificateIssuance.password.requirementNotMet")
117
- })
118
- ]
119
- }, key);
120
- })
121
- });
122
- };
123
- //#endregion
124
68
  //#region src/modules/certificate-issuance/password/passwordScreen.tsx
125
69
  var PasswordScreen = ({ password, passwordValidations, canSubmit, onPasswordChange, onSubmit }) => {
126
70
  const { t } = useTranslation();
71
+ const requirements = T(() => PASSWORD_VALIDATION_KEYS.map((key) => ({
72
+ key,
73
+ label: t(REQUIREMENT_I18N_KEYS[key], { min: MIN_PASSWORD_LENGTH }),
74
+ met: passwordValidations[key]
75
+ })), [passwordValidations, t]);
127
76
  return /* @__PURE__ */ u(Page, {
128
77
  title: t("certificateIssuance.password.title"),
129
78
  subtitle: t("certificateIssuance.password.description"),
@@ -134,25 +83,22 @@ var PasswordScreen = ({ password, passwordValidations, canSubmit, onPasswordChan
134
83
  className: "IncodeCertificateIssuancePasswordSection",
135
84
  children: /* @__PURE__ */ u("div", {
136
85
  className: "IncodeCertificateIssuancePassword",
137
- children: [
138
- /* @__PURE__ */ u(InputComposed, {
139
- id: "certificate-password",
140
- "data-testid": "certificate-password",
141
- type: "password",
142
- placeholder: t("certificateIssuance.password.placeholder"),
143
- value: password,
144
- autocomplete: "new-password",
145
- onInput: (e) => {
146
- onPasswordChange(e.target.value);
147
- },
148
- closeButton: {
149
- show: password.length > 0,
150
- onClose: () => onPasswordChange("")
151
- }
152
- }),
153
- /* @__PURE__ */ u(TypographyP, { children: t("certificateIssuance.passwordRequirements.description") }),
154
- /* @__PURE__ */ u(PasswordRequirements, { validations: passwordValidations })
155
- ]
86
+ children: /* @__PURE__ */ u(PasswordInputComposed, {
87
+ id: "certificate-password",
88
+ "data-testid": "certificate-password",
89
+ placeholder: t("certificateIssuance.password.placeholder"),
90
+ value: password,
91
+ autocomplete: "new-password",
92
+ showPasswordAriaLabel: t("certificateIssuance.password.show"),
93
+ hidePasswordAriaLabel: t("certificateIssuance.password.hide"),
94
+ requirementsHeading: t("certificateIssuance.passwordRequirements.description"),
95
+ requirements,
96
+ requirementMetLabel: t("certificateIssuance.password.requirementMet"),
97
+ requirementUnmetLabel: t("certificateIssuance.password.requirementNotMet"),
98
+ onInput: (e) => {
99
+ onPasswordChange(e.target.value);
100
+ }
101
+ })
156
102
  })
157
103
  }), /* @__PURE__ */ u(Button, {
158
104
  disabled: !canSubmit,
@@ -236,7 +182,7 @@ var CertificateIssuanceContent = ({ config, manager: externalManager, onFinish }
236
182
  default: return state;
237
183
  }
238
184
  };
239
- var CertificateIssuance = ({ config, manager, onFinish }) => {
185
+ var CertificateIssuanceWithLocalConfig = ({ config, manager, onFinish }) => {
240
186
  if (!config) return null;
241
187
  return /* @__PURE__ */ u(IncodeComponent, { children: /* @__PURE__ */ u(CertificateIssuanceContent, {
242
188
  config,
@@ -244,6 +190,7 @@ var CertificateIssuance = ({ config, manager, onFinish }) => {
244
190
  onFinish
245
191
  }) });
246
192
  };
193
+ var CertificateIssuance = withStandaloneModuleBootstrap(CertificateIssuanceWithLocalConfig, "CERTIFICATE_ISSUANCE", { supportsExternalManager: true });
247
194
  registerIncodeModuleElement(CertificateIssuance, "incode-certificate-issuance");
248
195
  //#endregion
249
196
  export { CertificateIssuance };
@@ -71,44 +71,3 @@
71
71
  letter-spacing: var(--typography-headline-h5-letter-spacing);
72
72
  color: var(--color-text-body-secondary, var(--text-body-500-secondary));
73
73
  }
74
-
75
- .IncodeCertificateIssuanceRequirements {
76
- gap: var(--spacing-8, var(--spacing-8, 8px));
77
- flex-direction: column;
78
- list-style: none;
79
- display: flex;
80
- }
81
-
82
- .IncodeCertificateIssuanceRequirement {
83
- align-items: center;
84
- gap: var(--spacing-4, var(--spacing-4, 4px));
85
- display: flex;
86
- }
87
-
88
- .IncodeCertificateIssuanceRequirementIcon {
89
- flex-shrink: 0;
90
- justify-content: center;
91
- align-items: center;
92
- display: flex;
93
- }
94
-
95
- .IncodeCertificateIssuanceRequirementLabel {
96
- font-family: var(--typography-body-family);
97
- font-size: var(--typography-body-m-regular-size);
98
- font-weight: var(--typography-body-m-regular-weight);
99
- line-height: var(--typography-body-m-regular-line-height);
100
- letter-spacing: var(--typography-body-m-regular-letter-spacing);
101
- color: var(--color-input-text-helper-default, var(--input-text-helper-default));
102
- }
103
-
104
- .IncodeSrOnly {
105
- clip-path: inset(50%);
106
- white-space: nowrap;
107
- border-width: 0;
108
- width: 1px;
109
- height: 1px;
110
- margin: -1px;
111
- padding: 0;
112
- position: absolute;
113
- overflow: hidden;
114
- }
@@ -1,7 +1,7 @@
1
- import { a as D, p as d, v as u } from "./vendor-preact-DThS2ZQ_.js";
2
- import { n as cn } from "./loadingIcon-B0ysgiNq.js";
3
- import { t as ErrorIcon } from "./errorIcon-BA4T6iy-.js";
4
- import { d as CheckmarkIcon } from "./icons-CJJbIpBq.js";
1
+ import { a as D, p as d, v as u } from "./vendor-preact-mvwZ8mJj.js";
2
+ import { u as cn } from "./spacer-Bnmh-DfR.js";
3
+ import { n as ErrorIcon } from "./incode-logo-cGsd55rc.js";
4
+ import { m as CheckmarkIcon } from "./icons-D0cfSCBM.js";
5
5
  //#region src/shared/checkbox/checkbox.tsx
6
6
  var Checkbox = D(({ id, label, labelHint, size = "m", checked, defaultChecked, disabled = false, required = false, name, value, onChange, error, helper, showErrorIcon = true, class: className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-invalid": ariaInvalid, ...restProps }, ref) => {
7
7
  const [internalChecked, setInternalChecked] = d(!!defaultChecked);
@@ -28,7 +28,7 @@ var Checkbox = D(({ id, label, labelHint, size = "m", checked, defaultChecked, d
28
28
  class: cn("IncodeCheckboxLabel", { IncodeCheckboxLabelDisabled: isDisabled }),
29
29
  htmlFor: id,
30
30
  children: [/* @__PURE__ */ u("div", {
31
- class: "relative inline-flex",
31
+ class: "IncodeCheckboxControl",
32
32
  children: [/* @__PURE__ */ u("input", {
33
33
  ref,
34
34
  type: "checkbox",
@@ -0,0 +1,45 @@
1
+ import { a as useTranslation } from "./uiConfig-D7ezQeZ7.js";
2
+ import { v as u } from "./vendor-preact-mvwZ8mJj.js";
3
+ import { r as Button } from "./incode-logo-cGsd55rc.js";
4
+ import { t as StatusPage } from "./statusPage-C0vTVW0Q.js";
5
+ //#region src/shared/connectionError/NoNetworkIcon.tsx
6
+ var NoNetworkIcon = ({ size = 32 }) => /* @__PURE__ */ u("svg", {
7
+ width: size,
8
+ height: size,
9
+ viewBox: "0 0 32 32",
10
+ fill: "none",
11
+ "aria-hidden": "true",
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ children: /* @__PURE__ */ u("path", {
14
+ d: "M5.76851 4.74117C6.31338 4.24592 7.156 4.28617 7.65131 4.83101L20.3847 18.8368C20.4974 18.9196 20.6085 19.0051 20.7167 19.0946C20.8955 19.2427 21.0255 19.4282 21.1054 19.6298L26.2704 25.3114C26.7653 25.8562 26.7251 26.699 26.1806 27.1942C25.6357 27.6895 24.7921 27.6492 24.2968 27.1044L18.6113 20.8505C17.8196 20.3301 16.8826 20.0637 15.9277 20.0976C14.8042 20.1375 13.7339 20.5889 12.9208 21.3651C12.3882 21.8737 11.5436 21.8538 11.0351 21.3212C10.5273 20.7886 10.5468 19.9447 11.079 19.4364C12.289 18.2812 13.859 17.5811 15.5204 17.4501L13.1933 14.8906C11.5724 15.3528 10.0882 16.2132 8.87787 17.3974C8.35154 17.9124 7.50714 17.9032 6.99214 17.3769C6.47722 16.8505 6.48634 16.0061 7.01264 15.4911C8.23115 14.2989 9.66965 13.3667 11.2402 12.7421L9.16987 10.4648C7.60544 11.2159 6.17457 12.2232 4.93843 13.4472C4.41517 13.9653 3.57082 13.9607 3.05269 13.4374C2.53495 12.9141 2.53835 12.0697 3.06148 11.5517C4.32081 10.3047 5.75306 9.25083 7.31049 8.41889L5.67866 6.62398C5.18343 6.07911 5.22371 5.23649 5.76851 4.74117ZM15.9999 22.6659C17.1044 22.6659 17.9997 23.5615 17.9999 24.6659C17.9999 25.7705 17.1045 26.6659 15.9999 26.6659C14.8955 26.6658 13.9999 25.7704 13.9999 24.6659C14.0001 23.5616 14.8956 22.666 15.9999 22.6659ZM17.4843 13.204C17.6613 12.4894 18.3839 12.0537 19.0986 12.2304C21.3018 12.7761 23.3184 13.9031 24.9374 15.4941C25.4626 16.0102 25.4702 16.8546 24.954 17.3798C24.4378 17.9045 23.5933 17.9124 23.0683 17.3964C21.7898 16.14 20.1978 15.2492 18.4579 14.8183C17.7436 14.6411 17.3077 13.9185 17.4843 13.204ZM15.9745 6.25679C20.8097 6.24487 25.4527 8.14859 28.8866 11.5527C29.4095 12.071 29.4136 12.9154 28.8954 13.4384C28.377 13.9613 27.5326 13.9646 27.0097 13.4462C24.076 10.538 20.1084 8.9107 15.9775 8.92182H15.9726C15.2238 8.92088 14.4753 8.97508 13.7343 9.08295C13.0058 9.18891 12.3289 8.68438 12.2226 7.956C12.1168 7.22763 12.6213 6.55059 13.3495 6.44429C14.2173 6.31795 15.0937 6.25593 15.9706 6.25679V6.25581L15.9736 6.25679L15.9755 6.25581L15.9745 6.25679Z",
15
+ fill: "var(--icon-status-negative)"
16
+ })
17
+ });
18
+ //#endregion
19
+ //#region src/shared/connectionError/connectionError.tsx
20
+ /**
21
+ * Full-screen "no internet connection" state, shown whenever a backend request
22
+ * fails due to lost connectivity. Flow-agnostic and cross-cutting — any module
23
+ * can render it on a connectivity failure — so it lives in `shared/` rather
24
+ * than inside a single module. Composes the shared `StatusPage` primitive
25
+ * (icon + title + subtitle + actions) so it stays visually consistent with the
26
+ * rest of the status/result screens. Copy defaults to the shared
27
+ * `connectionError.*` namespace and can be overridden per caller.
28
+ */
29
+ var ConnectionError = ({ onRefresh, title, subtitle, refreshLabel }) => {
30
+ const { t } = useTranslation();
31
+ return /* @__PURE__ */ u(StatusPage, {
32
+ variant: "connectionError",
33
+ hideFooterBranding: true,
34
+ icon: /* @__PURE__ */ u(NoNetworkIcon, { size: 32 }),
35
+ title: title ?? t("connectionError.title"),
36
+ subtitle: subtitle ?? t("connectionError.subtitle"),
37
+ actions: /* @__PURE__ */ u(Button, {
38
+ onClick: onRefresh,
39
+ "data-testid": "connection-error-refresh",
40
+ children: refreshLabel ?? t("connectionError.refresh")
41
+ })
42
+ });
43
+ };
44
+ //#endregion
45
+ export { ConnectionError as t };
@@ -1,14 +1,11 @@
1
- import { n as useTranslation } from "../i18n-CU4xq8qC.js";
2
- import { d as T, v as u } from "../vendor-preact-DThS2ZQ_.js";
3
- import { c as useModuleTerminalCallbacks, s as isTerminalModuleState, u as useManager } from "../hooks-CNu7o-v8.js";
4
- import { t as IncodeComponent } from "../incodeComponent-CfzJGETt.js";
5
- import { t as Page } from "../page-DidH_RkX.js";
6
- import { t as TransitionSpinner } from "../transitionSpinner-CuNCqHNi.js";
7
- import { t as Button } from "../button-Dz6AsbmF.js";
8
- import { t as Checkbox } from "../checkbox-1wUHSoaK.js";
9
- import { t as registerIncodeModuleElement } from "../incodeModule-B-4_3JrK.js";
10
- import { t as RichText } from "../richText-CB1fmegc.js";
11
- import { n as getRequiredHintMode, t as getFieldHint } from "../requiredLabelHint-D0RhuMed.js";
1
+ import { a as useTranslation } from "../uiConfig-D7ezQeZ7.js";
2
+ import { d as T, v as u } from "../vendor-preact-mvwZ8mJj.js";
3
+ import { _ as useModuleTerminalCallbacks, g as isTerminalModuleState, l as TransitionSpinner, o as Page, r as withStandaloneModuleBootstrap, t as IncodeComponent, y as useManager } from "../incodeComponent-B-daxouV.js";
4
+ import { r as Button } from "../incode-logo-cGsd55rc.js";
5
+ import { t as Checkbox } from "../checkbox-Jgwh943i.js";
6
+ import { t as registerIncodeModuleElement } from "../incodeModule-uyUrSSUM.js";
7
+ import { t as RichText } from "../richText-2OnIN9ff.js";
8
+ import { n as getRequiredHintMode, t as getFieldHint } from "../requiredLabelHint-Dx0WS2cR.js";
12
9
  import { createConsentManager } from "@incodetech/core/consent";
13
10
  //#region src/modules/consent/consent.tsx
14
11
  var stopLinkPropagation = (event) => {
@@ -93,7 +90,7 @@ var ConsentContent = ({ config, manager: externalManager, onFinish, onError }) =
93
90
  })
94
91
  }, "ready");
95
92
  };
96
- var Consent = ({ config, manager, onFinish, onError }) => {
93
+ var ConsentWithLocalConfig = ({ config, manager, onFinish, onError }) => {
97
94
  return /* @__PURE__ */ u(IncodeComponent, { children: config || manager ? /* @__PURE__ */ u(ConsentContent, {
98
95
  config,
99
96
  manager,
@@ -101,6 +98,7 @@ var Consent = ({ config, manager, onFinish, onError }) => {
101
98
  onError
102
99
  }) : null });
103
100
  };
101
+ var Consent = withStandaloneModuleBootstrap(ConsentWithLocalConfig, "COMBINED_CONSENT", { supportsExternalManager: true });
104
102
  registerIncodeModuleElement(Consent, "incode-consent");
105
103
  //#endregion
106
104
  export { Consent };
@@ -41,6 +41,11 @@
41
41
  color: var(--color-text-body-primary, var(--text-body-800-primary));
42
42
  }
43
43
 
44
+ .IncodeConsentPage .IncodeConsentBody .IncodeRichText .markup a, .IncodeConsentPage .IncodeConsentBody .IncodeRichText a {
45
+ color: var(--color-icon-brand-600, var(--icon-brand-600));
46
+ text-decoration-line: underline;
47
+ }
48
+
44
49
  .IncodeConsentPage .IncodeConsentSubtitle {
45
50
  font-family: var(--typography-body-family);
46
51
  font-size: var(--typography-body-m-regular-size);
@@ -99,10 +104,6 @@
99
104
  display: inline;
100
105
  }
101
106
 
102
- .IncodeConsentPage .IncodeConsentCheckboxLabel .IncodeRichText .markup a, .IncodeConsentPage .IncodeConsentCheckboxLabel .IncodeRichText a {
103
- color: var(--color-link-default, var(--link-default));
104
- }
105
-
106
107
  .IncodeConsentPage .IncodeConsentButton {
107
108
  margin-bottom: var(--spacing-16, var(--spacing-16, 16px));
108
109
  width: 100%;
@@ -1,6 +1,6 @@
1
- import { n as useTranslation } from "./i18n-CU4xq8qC.js";
2
- import { d as T, v as u } from "./vendor-preact-DThS2ZQ_.js";
3
- import { t as DropdownComposed } from "./dropdownComposed-CoU0enG6.js";
1
+ import { a as useTranslation } from "./uiConfig-D7ezQeZ7.js";
2
+ import { d as T, v as u } from "./vendor-preact-mvwZ8mJj.js";
3
+ import { t as DropdownComposed } from "./dropdownComposed-BXleSN7n.js";
4
4
  //#region src/shared/countrySelector/countrySelector.tsx
5
5
  var DEFAULT_COUNTRY_CODES = [
6
6
  "BR",
@@ -1,22 +1,25 @@
1
- import { _ as y, v as u } from "../vendor-preact-DThS2ZQ_.js";
2
- import { c as useModuleTerminalCallbacks, u as useManager } from "../hooks-CNu7o-v8.js";
3
- import { t as IncodeComponent } from "../incodeComponent-CfzJGETt.js";
4
- import { t as Spinner } from "../spinner-BMeIEK1d.js";
5
- import { t as registerIncodeModuleElement } from "../incodeModule-B-4_3JrK.js";
1
+ import { _ as y, v as u } from "../vendor-preact-mvwZ8mJj.js";
2
+ import { _ as useModuleTerminalCallbacks, r as withStandaloneModuleBootstrap, t as IncodeComponent, y as useManager } from "../incodeComponent-B-daxouV.js";
3
+ import { t as Spinner } from "../spinner-HP_c74K-.js";
4
+ import { t as registerIncodeModuleElement } from "../incodeModule-uyUrSSUM.js";
6
5
  import { createCrossDocumentDataMatchManager } from "@incodetech/core/cross-document-data-match";
7
6
  //#region src/modules/cross-document-data-match/cross-document-data-match.tsx
8
- var CrossDocumentDataMatchContent = ({ onFinish }) => {
9
- const [state, manager] = useManager(() => createCrossDocumentDataMatchManager());
7
+ var CrossDocumentDataMatchContent = ({ manager: externalManager, onFinish }) => {
8
+ const [state, manager] = useManager(() => externalManager ?? createCrossDocumentDataMatchManager(), { manageLifecycle: !externalManager });
10
9
  y(() => {
11
- manager.load();
12
- }, [manager]);
10
+ if (!externalManager) manager.load();
11
+ }, [manager, externalManager]);
13
12
  useModuleTerminalCallbacks({
14
13
  status: state.status === "finished" ? "finished" : "loading",
15
14
  onFinish
16
15
  });
17
16
  return /* @__PURE__ */ u(Spinner, { fullScreen: true });
18
17
  };
19
- var CrossDocumentDataMatch = ({ onFinish }) => /* @__PURE__ */ u(IncodeComponent, { children: /* @__PURE__ */ u(CrossDocumentDataMatchContent, { onFinish }) });
18
+ var CrossDocumentDataMatchWithLocalConfig = ({ manager, onFinish }) => /* @__PURE__ */ u(IncodeComponent, { children: /* @__PURE__ */ u(CrossDocumentDataMatchContent, {
19
+ manager,
20
+ onFinish
21
+ }) });
22
+ var CrossDocumentDataMatch = withStandaloneModuleBootstrap(CrossDocumentDataMatchWithLocalConfig, "CROSS_DOCUMENT_DATA_MATCH", { supportsExternalManager: true });
20
23
  registerIncodeModuleElement(CrossDocumentDataMatch, "incode-cross-document-data-match");
21
24
  //#endregion
22
25
  export { CrossDocumentDataMatch };
@@ -1,22 +1,18 @@
1
- import { n as useTranslation } from "../i18n-CU4xq8qC.js";
2
- import { d as T, v as u, x as k } from "../vendor-preact-DThS2ZQ_.js";
3
- import { c as useModuleTerminalCallbacks, u as useManager } from "../hooks-CNu7o-v8.js";
4
- import { t as IncodeComponent } from "../incodeComponent-CfzJGETt.js";
5
- import { r as Spacer } from "../loadingIcon-B0ysgiNq.js";
6
- import { t as Page } from "../page-DidH_RkX.js";
7
- import { t as TransitionSpinner } from "../transitionSpinner-CuNCqHNi.js";
8
- import { t as Button } from "../button-Dz6AsbmF.js";
9
- import { t as ErrorIcon } from "../errorIcon-BA4T6iy-.js";
10
- import "../icons-CJJbIpBq.js";
11
- import { t as SuccessIcon } from "../successIcon-B5mGvdx1.js";
12
- import { t as AutoFocusTitle } from "../autoFocusTitle-CuRu2lPg.js";
13
- import { t as InputComposed } from "../inputComposed-C1R2LAa3.js";
14
- import { t as DropdownComposed } from "../dropdownComposed-CoU0enG6.js";
15
- import "../dropdownComposed-BAoxIIsE.js";
16
- import { t as DateInputComposed } from "../dateInputComposed-DuaofcBl.js";
17
- import "../dateInputComposed-DRzZi6uy.js";
18
- import { t as registerIncodeModuleElement } from "../incodeModule-B-4_3JrK.js";
19
- import { n as getRequiredHintMode, t as getFieldHint } from "../requiredLabelHint-D0RhuMed.js";
1
+ import { a as useTranslation } from "../uiConfig-D7ezQeZ7.js";
2
+ import { S as k, d as T, v as u } from "../vendor-preact-mvwZ8mJj.js";
3
+ import { _ as useModuleTerminalCallbacks, l as TransitionSpinner, o as Page, r as withStandaloneModuleBootstrap, t as IncodeComponent, y as useManager } from "../incodeComponent-B-daxouV.js";
4
+ import { t as Spacer } from "../spacer-Bnmh-DfR.js";
5
+ import { n as ErrorIcon, r as Button } from "../incode-logo-cGsd55rc.js";
6
+ import "../icons-D0cfSCBM.js";
7
+ import { t as SuccessIcon } from "../successIcon-Bj8Y9CuI.js";
8
+ import { t as AutoFocusTitle } from "../autoFocusTitle-D7VzaZ2P.js";
9
+ import { t as InputComposed } from "../inputComposed-Pp_XN1-h.js";
10
+ import { t as DropdownComposed } from "../dropdownComposed-BXleSN7n.js";
11
+ import "../dropdownComposed-DE-VJgcR.js";
12
+ import { t as DateInputComposed } from "../dateInputComposed-D0WEYWkS.js";
13
+ import "../dateInputComposed-DKQJz0kJ.js";
14
+ import { t as registerIncodeModuleElement } from "../incodeModule-uyUrSSUM.js";
15
+ import { n as getRequiredHintMode, t as getFieldHint } from "../requiredLabelHint-Dx0WS2cR.js";
20
16
  import { GENERATE_CURP_FIELDS, createCurpValidationManager, mexicanStates } from "@incodetech/core/curp-validation";
21
17
  //#region src/modules/curp-validation/curpInput.tsx
22
18
  var CurpInput = ({ curp, errorKey, onCurpChange, onCurpBlur, onVerify, onSwitchToGenerate, disabled = false, placeholder, continueLabel, dontHaveLabel }) => {
@@ -182,17 +178,19 @@ var GenerateCurpFormComponent = ({ form, validationErrors, onFormChange, onValid
182
178
  };
183
179
  return /* @__PURE__ */ u("div", {
184
180
  class: "IncodeCurpValidation IncodeGenerateCurpForm",
185
- children: [
186
- GENERATE_CURP_FIELDS.map(renderField),
187
- /* @__PURE__ */ u(Spacer, { size: 16 }),
188
- /* @__PURE__ */ u(Button, {
181
+ children: [/* @__PURE__ */ u("div", {
182
+ class: "IncodeGenerateCurpFields",
183
+ children: GENERATE_CURP_FIELDS.map(renderField)
184
+ }), /* @__PURE__ */ u("div", {
185
+ class: "IncodeGenerateCurpFooter",
186
+ children: /* @__PURE__ */ u(Button, {
189
187
  type: "button",
190
188
  onClick: onGenerate,
191
189
  disabled: hasValidationErrors || disabled,
192
190
  "data-testid": "curp-generate",
193
191
  children: labels.generate
194
192
  })
195
- ]
193
+ })]
196
194
  });
197
195
  };
198
196
  //#endregion
@@ -225,9 +223,9 @@ var CurpValidationContent = ({ config, manager: externalManager, onFinish, onErr
225
223
  continueLabel: t("curp.continue") ?? "Continue",
226
224
  dontHaveLabel: t("curp.dontHave") ?? "I don't have my CURP"
227
225
  })
228
- });
226
+ }, state.status);
229
227
  if (state.status === "generateCurp") return /* @__PURE__ */ u(Page, {
230
- className: "IncodeCurpValidationPage",
228
+ className: "IncodeCurpValidationPage IncodeCurpGeneratePage",
231
229
  title: t("curp.generate") ?? "Generate your CURP",
232
230
  hideFooterBranding: true,
233
231
  children: /* @__PURE__ */ u(GenerateCurpFormComponent, {
@@ -237,7 +235,7 @@ var CurpValidationContent = ({ config, manager: externalManager, onFinish, onErr
237
235
  onValidateField: (field) => manager.validateField(field),
238
236
  onGenerate: () => manager.generate()
239
237
  })
240
- });
238
+ }, state.status);
241
239
  if (state.status === "confirmCurp") return /* @__PURE__ */ u(Page, {
242
240
  className: "IncodeCurpValidationPage",
243
241
  title: t("curp.status.confirm") ?? "Confirm your CURP",
@@ -260,7 +258,7 @@ var CurpValidationContent = ({ config, manager: externalManager, onFinish, onErr
260
258
  })
261
259
  ]
262
260
  })
263
- });
261
+ }, state.status);
264
262
  if (state.status === "success") return /* @__PURE__ */ u(Page, {
265
263
  className: "IncodeCurpValidationPage",
266
264
  children: /* @__PURE__ */ u("div", {
@@ -310,7 +308,7 @@ var CurpValidationContent = ({ config, manager: externalManager, onFinish, onErr
310
308
  if (state.status === "finished" || state.status === "closed") return null;
311
309
  return null;
312
310
  };
313
- var CurpValidation = ({ config, manager, onFinish, onError }) => {
311
+ var CurpValidationWithLocalConfig = ({ config, manager, onFinish, onError }) => {
314
312
  return /* @__PURE__ */ u(IncodeComponent, { children: config || manager ? /* @__PURE__ */ u(CurpValidationContent, {
315
313
  config,
316
314
  manager,
@@ -318,6 +316,7 @@ var CurpValidation = ({ config, manager, onFinish, onError }) => {
318
316
  onError
319
317
  }) : null });
320
318
  };
319
+ var CurpValidation = withStandaloneModuleBootstrap(CurpValidationWithLocalConfig, "CURP_VALIDATION", { supportsExternalManager: true });
321
320
  registerIncodeModuleElement(CurpValidation, "incode-curp-validation");
322
321
  //#endregion
323
322
  export { CurpValidation };
@@ -7,6 +7,21 @@
7
7
  display: flex;
8
8
  }
9
9
 
10
+ @media (min-width: 48rem) {
11
+ .IncodeCurpValidationPage.IncodeCurpGeneratePage.IncodePageContainer {
12
+ align-items: stretch;
13
+ }
14
+
15
+ .IncodeCurpValidationPage.IncodeCurpGeneratePage .IncodePageInner {
16
+ height: 100%;
17
+ min-height: var(--spacing-0, var(--spacing-none, 0px));
18
+ }
19
+
20
+ .IncodeCurpValidationPage.IncodeCurpGeneratePage .IncodePageContent {
21
+ min-height: var(--spacing-0, var(--spacing-none, 0px));
22
+ }
23
+ }
24
+
10
25
  .IncodeCurpValidationPage .IncodeCurpValidation {
11
26
  flex-direction: column;
12
27
  align-items: center;
@@ -36,11 +51,43 @@
36
51
  .IncodeCurpValidationPage .IncodeGenerateCurpForm {
37
52
  width: 100%;
38
53
  max-width: var(--incode-form-max-w);
54
+ flex-direction: column;
55
+ display: flex;
56
+ }
57
+
58
+ @media (min-width: 48rem) {
59
+ .IncodeCurpValidationPage .IncodeGenerateCurpForm {
60
+ min-height: var(--spacing-0, var(--spacing-none, 0px));
61
+ }
62
+ }
63
+
64
+ .IncodeCurpValidationPage .IncodeGenerateCurpFields {
39
65
  gap: var(--spacing-8, var(--spacing-8, 8px));
40
66
  flex-direction: column;
67
+ width: 100%;
41
68
  display: flex;
42
69
  }
43
70
 
71
+ @media (min-width: 48rem) {
72
+ .IncodeCurpValidationPage .IncodeGenerateCurpFields {
73
+ min-height: var(--spacing-0, var(--spacing-none, 0px));
74
+ padding-bottom: var(--spacing-8, var(--spacing-8, 8px));
75
+ flex: 1;
76
+ overflow-y: auto;
77
+ }
78
+ }
79
+
80
+ .IncodeCurpValidationPage .IncodeGenerateCurpFooter {
81
+ width: 100%;
82
+ padding-top: var(--spacing-16, var(--spacing-16, 16px));
83
+ }
84
+
85
+ @media (min-width: 48rem) {
86
+ .IncodeCurpValidationPage .IncodeGenerateCurpFooter {
87
+ flex-shrink: 0;
88
+ }
89
+ }
90
+
44
91
  .IncodeCurpValidationPage .IncodeCurpConfirm {
45
92
  width: 100%;
46
93
  max-width: var(--incode-curp-confirm-max-w);