@incodetech/core 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.
- package/dist/{3dAvatarProvider-BwOmTMOy.esm.js → 3dAvatarProvider-g02DTFqT.esm.js} +811 -880
- package/dist/Actor-iTq7YY48.d.ts +1 -0
- package/dist/BrowserDiagnosticsCryptoProvider-BwGL3Lmi.esm.js +95 -0
- package/dist/BrowserLazyImportProvider-BhoA957O.esm.js +114 -0
- package/dist/{BrowserStorageProvider-CBHBhKQN.esm.js → BrowserStorageProvider-k-FDkC4W.esm.js} +2 -4
- package/dist/{BrowserTimerProvider-CHloo0eQ.esm.js → BrowserTimerProvider-BXhgNxLt.esm.js} +1 -2
- package/dist/{BrowserVisibilityObserverProvider-GBS6XSii.esm.js → BrowserVisibilityObserverProvider-BX1BiLDK.esm.js} +1 -2
- package/dist/Face2DProvider-UUQt_vRC.esm.js +437 -0
- package/dist/{createFaceAvatar-CpdYp9Iy.d.ts → FaceDetectionProvider-Mh6q3EbA.d.ts} +107 -159
- package/dist/IBrowserEnvironmentCapability-DEaRRk-R.esm.js +9 -0
- package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +23 -0
- package/dist/IFeatureManagementCapability-DdEUp6tB.d.ts +1125 -0
- package/dist/IIdCaptureCapability-DHTT3FC2.d.ts +237 -0
- package/dist/IStorageCapability-ORkQfK3F.d.ts +242 -0
- package/dist/{ITimerCapability-DJ73P4RK.esm.js → ITimerCapability-DgdDzp8G.esm.js} +1 -2
- package/dist/{Manager-goNPc_h_.d.ts → Manager-CQQ99QOI.d.ts} +1 -0
- package/dist/{MotionSensorProvider-BHuHoYvJ.esm.js → MotionSensorProvider-DGiV77J_.esm.js} +2 -37
- package/dist/{OpenViduRecordingProvider-CK6A5kiU.esm.js → OpenViduRecordingProvider-Du98qevC.esm.js} +2 -4
- package/dist/PrivacyLensProvider-D8PS7AJa.esm.js +405 -0
- package/dist/StateMachine-EDpYWy0i.d.ts +6 -0
- package/dist/{StreamCanvasCapture-CAqUdVkM.esm.js → StreamCanvasCapture-D2XcXCZ4.esm.js} +2 -4
- package/dist/{addressSearch-D7msRieq.esm.js → addressSearch-DQyrvDQj.esm.js} +10 -21
- package/dist/ae-signature.d.ts +4 -6
- package/dist/ae-signature.esm.js +10 -11
- package/dist/antifraud.d.ts +1 -6
- package/dist/antifraud.esm.js +3 -8
- package/dist/{antifraudManager-5KA84wtF.esm.js → antifraudManager-B8Plzf7a.esm.js} +11 -8
- package/dist/{antifraudManager-DCiNI6np.d.ts → antifraudManager-BY36bS12.d.ts} +3 -3
- package/dist/{antifraudStateMachine-BQVw46N5.esm.js → antifraudStateMachine-r4VxSBS4.esm.js} +5 -7
- package/dist/api-Bx3gKW_y.esm.js +129 -0
- package/dist/{apiError-DkOXfFBu.esm.js → apiError-oiEnJIlk.esm.js} +25 -3
- package/dist/authentication.d.ts +3 -19
- package/dist/authentication.esm.js +3 -35
- package/dist/{authenticationManager-BeT6tNZm.d.ts → authenticationManager-BBMGTcwW.d.ts} +3 -4
- package/dist/{authenticationManager-BryLnSaF.esm.js → authenticationManager-Dq_tudSW.esm.js} +7 -10
- package/dist/{authenticationStateMachine-DbdxfGHx.esm.js → authenticationStateMachine-D4koAtP3.esm.js} +11 -15
- package/dist/avatar.d.ts +2 -2
- package/dist/avatar.esm.js +2 -3
- package/dist/avatar2dWarm-DqucNFX4.esm.js +1330 -0
- package/dist/avatarStats-CdUOb3VD.esm.js +136 -0
- package/dist/{backCameraStream-ChrMTJv-.esm.js → backCameraStream-CUeYm5eu.esm.js} +20 -8
- package/dist/browser-DlFgHpoC-DnyrCR8r.esm.js +1513 -0
- package/dist/callback-645_omgz.d.ts +133 -0
- package/dist/camera-_2sXMXiF.esm.js +140 -0
- package/dist/camera.d.ts +19 -2
- package/dist/camera.esm.js +2 -6
- package/dist/{canvas-Pi10hG_l.esm.js → canvas-E1zGkel4.esm.js} +1 -2
- package/dist/certificate-issuance.d.ts +34 -39
- package/dist/certificate-issuance.esm.js +4 -11
- package/dist/{certificateIssuanceStateMachine-DlZQT1_u.esm.js → certificateIssuanceStateMachine-COd7_l2T.esm.js} +7 -11
- package/dist/consent.d.ts +1 -4
- package/dist/consent.esm.js +3 -8
- package/dist/{consentManager-BwNu-uC-.esm.js → consentManager-BApTlfA0.esm.js} +5 -7
- package/dist/{consentManager-B4PMGXW-.d.ts → consentManager-uhDPdU6i.d.ts} +55 -61
- package/dist/{consentStateMachine-BOkVFiU7.esm.js → consentStateMachine-WD-S-Yhs.esm.js} +5 -7
- package/dist/{cpf-16m_cGAM.esm.js → cpf-BIADjddF.esm.js} +1 -2
- package/dist/createFaceAvatar-BEj18KXi.d.ts +50 -0
- package/dist/createFaceAvatar-DQKaRise.esm.js +103 -0
- package/dist/cross-document-data-match.d.ts +2 -26
- package/dist/cross-document-data-match.esm.js +2 -71
- package/dist/crossDocumentDataMatchManager-Dq8Z3SOg.d.ts +41 -0
- package/dist/crossDocumentDataMatchManager-OmYvyung.esm.js +84 -0
- package/dist/curp-validation.d.ts +1 -11
- package/dist/curp-validation.esm.js +3 -8
- package/dist/{curpValidationManager-CoqODZx5.d.ts → curpValidationManager-DVGr7Fq7.d.ts} +4 -6
- package/dist/{curpValidationManager-Cbji2inV.esm.js → curpValidationManager-UZxcrsrz.esm.js} +11 -7
- package/dist/{curpValidationStateMachine-Dlw4qfFb.esm.js → curpValidationStateMachine-9KwnqeoB.esm.js} +22 -14
- package/dist/custom-fields.d.ts +2 -5
- package/dist/custom-fields.esm.js +24 -11
- package/dist/custom-watchlist.d.ts +1 -3
- package/dist/custom-watchlist.esm.js +11 -10
- package/dist/{customWatchlistStateMachine-D8w0mNxm.esm.js → customWatchlistStateMachine-B_ey3TFj.esm.js} +5 -7
- package/dist/{dateUtils-BW6mBV6p.esm.js → dateUtils-CvG0FvK8.esm.js} +1 -2
- package/dist/{deepsightService-CViys6T4.esm.js → deepsightLoader-CWE0SvF1.esm.js} +68 -14
- package/dist/{deepsightService-BuTOFTr8.d.ts → deepsightService-DLVQS_RH.d.ts} +41 -2
- package/dist/device.d.ts +10 -2
- package/dist/device.esm.js +21 -21
- package/dist/document-capture.d.ts +3 -1816
- package/dist/document-capture.esm.js +3 -245
- package/dist/document-upload.d.ts +48 -55
- package/dist/document-upload.esm.js +8 -14
- package/dist/documentCaptureManager-B3t0ydtg.d.ts +2062 -0
- package/dist/documentCaptureManager-DszmcU-l.esm.js +296 -0
- package/dist/{documentCaptureStateMachine-BkTvU3yq.esm.js → documentCaptureStateMachine-D2jBwwVb.esm.js} +66 -40
- package/dist/dynamic-forms.d.ts +2 -4
- package/dist/dynamic-forms.esm.js +3 -9
- package/dist/{dynamicFormsManager-CHXUBNs4.esm.js → dynamicFormsManager-B-OmpJkU.esm.js} +48 -9
- package/dist/{dynamicFormsManager-CKZkE7Wo.d.ts → dynamicFormsManager-fhK0yINk.d.ts} +22 -46
- package/dist/{dynamicFormsStateMachine-DJ1HGZff.esm.js → dynamicFormsStateMachine-D_3oLtOE.esm.js} +161 -34
- package/dist/ekyb.d.ts +5 -137
- package/dist/ekyb.esm.js +4 -179
- package/dist/ekybManager-BJVp2ahf.esm.js +178 -0
- package/dist/ekybManager-Dzswb_b8.d.ts +114 -0
- package/dist/{ekybStateMachine-D9GzA4MW.esm.js → ekybStateMachine-BYcc9VaR.esm.js} +16 -193
- package/dist/ekyc.d.ts +2 -79
- package/dist/ekyc.esm.js +4 -154
- package/dist/ekycManager-BFpHbBoT.d.ts +97 -0
- package/dist/ekycManager-oTstTJuL.esm.js +156 -0
- package/dist/{ekycStateMachine-DnVRiu3s.esm.js → ekycStateMachine-DHvksnrr.esm.js} +141 -423
- package/dist/ekycUtils-Dew1rBG0.esm.js +223 -0
- package/dist/electronic-signature.d.ts +3 -5
- package/dist/electronic-signature.esm.js +2 -10
- package/dist/{electronicSignatureManager-DESRgObX.esm.js → electronicSignatureManager-CApcBEQd.esm.js} +47 -33
- package/dist/{index-36QX_21w.d.ts → electronicSignatureManager-CcUXQZS7.d.ts} +220 -251
- package/dist/email.d.ts +1 -5
- package/dist/email.esm.js +3 -10
- package/dist/{emailManager-CMS4q_r6.d.ts → emailManager-CADXW_9X.d.ts} +4 -7
- package/dist/{emailManager-B9Vrv3Ma.esm.js → emailManager-tE-YvNtS.esm.js} +76 -12
- package/dist/{emailStateMachine-CbmKFVSi.esm.js → emailStateMachine-Bm894MHB.esm.js} +7 -9
- package/dist/{endpoints-CwrFQfW7.esm.js → endpoints-CCzL3XD_.esm.js} +55 -6
- package/dist/{events-1wxZ97yf.esm.js → events-CxfNJVZW.esm.js} +43 -176
- package/dist/events.d.ts +28 -10
- package/dist/events.esm.js +2 -4
- package/dist/extensibility.d.ts +37 -37
- package/dist/extensibility.esm.js +31 -80
- package/dist/{externalFetch-hvmz_npP.esm.js → externalFetch-BKBThAUC.esm.js} +2 -4
- package/dist/face-match.d.ts +2 -225
- package/dist/face-match.esm.js +3 -173
- package/dist/{faceCaptureManagerFactory-C9TiGbkA.esm.js → faceCaptureManagerFactory-4VejGOQX.esm.js} +52 -31
- package/dist/{faceCaptureManagerFactory-DiJ64oem.d.ts → faceCaptureManagerFactory-BxWPpxyd.d.ts} +63 -24
- package/dist/{faceCaptureSetup-BqhqfFHL.esm.js → faceCaptureSetup-BB5KEtbV.esm.js} +57 -36
- package/dist/faceMatchManager-BXp2WUT-.esm.js +201 -0
- package/dist/faceMatchManager-BnvrZM2F.d.ts +268 -0
- package/dist/{faceMatchStateMachine-MDb30gCm.esm.js → faceMatchStateMachine-CJiO2yLO.esm.js} +14 -10
- package/dist/feature-management-DS_Nj5Gg.esm.js +615 -0
- package/dist/feature-management.d.ts +173 -0
- package/dist/feature-management.esm.js +2 -0
- package/dist/field-comparison.d.ts +1 -4
- package/dist/field-comparison.esm.js +2 -7
- package/dist/{fieldComparisonManager-OLKVsG2Z.d.ts → fieldComparisonManager-CBvEGxFx.d.ts} +3 -5
- package/dist/{fieldComparisonManager-Cw4uzD7S.esm.js → fieldComparisonManager-DhnYdYZ2.esm.js} +6 -11
- package/dist/fiscal-qr.d.ts +1 -6
- package/dist/fiscal-qr.esm.js +14 -29
- package/dist/flow-events.d.ts +2 -9
- package/dist/flow.d.ts +59 -21
- package/dist/flow.esm.js +132 -49
- package/dist/{flowCompletionService-B6P6_EF3.esm.js → flowCompletionService-Bt3wD28k.esm.js} +4 -6
- package/dist/flowServices-b0Pd4F1K.esm.js +620 -0
- package/dist/geolocation.d.ts +1 -4
- package/dist/geolocation.esm.js +3 -9
- package/dist/geolocationManager-Cz744E5S.d.ts +506 -0
- package/dist/{geolocationManager-CF6-NizA.esm.js → geolocationManager-DGwnL5lg.esm.js} +44 -16
- package/dist/{geolocationStateMachine-CD2XJs1b.esm.js → geolocationStateMachine-il6jz5DZ.esm.js} +53 -28
- package/dist/{getBrowser-1yNcfFZR.esm.js → getBrowser-Cb8Zgrgp.esm.js} +1 -2
- package/dist/getBrowser-DNrQeL4T.esm.js +16 -0
- package/dist/getDeviceClass-9y-kbVDw.esm.js +19 -0
- package/dist/{getDeviceClass-C-Dg6IsJ.esm.js → getDeviceClass-CeBiEayS.esm.js} +1 -2
- package/dist/getParsedUserAgent-pJjATANs.esm.js +1622 -0
- package/dist/government-validation.d.ts +3 -6
- package/dist/government-validation.esm.js +7 -13
- package/dist/{governmentValidationStateMachine-BE5wiQ7Y.esm.js → governmentValidationStateMachine-BYKYUdza.esm.js} +8 -11
- package/dist/home.d.ts +14 -22
- package/dist/home.esm.js +3 -8
- package/dist/http.d.ts +0 -1
- package/dist/http.esm.js +2 -4
- package/dist/id-ocr.d.ts +8 -7
- package/dist/id-ocr.esm.js +20 -9
- package/dist/id-selfie-flow.d.ts +179 -0
- package/dist/id-selfie-flow.esm.js +917 -0
- package/dist/id-verification.d.ts +2 -191
- package/dist/id-verification.esm.js +3 -43
- package/dist/id.d.ts +7 -18
- package/dist/id.esm.js +47 -53
- package/dist/{idCaptureDefaults-CZajItdO.esm.js → idCaptureDefaults-WeHbQM7W.esm.js} +54 -17
- package/dist/idCaptureManager-BjU-Wyow.d.ts +429 -0
- package/dist/{idCaptureManager-DASPUMtC.esm.js → idCaptureManager-DgohUfUQ.esm.js} +173 -34
- package/dist/idCaptureServices-RDiDS9tg.esm.js +396 -0
- package/dist/{idCaptureStateMachine-DZ2ZTSxu.esm.js → idCaptureStateMachine-DWocZD_m.esm.js} +438 -585
- package/dist/{idOcrManager-Tm4LzKR0.esm.js → idOcrManager-CvJZhmBR.esm.js} +4 -7
- package/dist/{idOcrManager-DLfAjDZn.d.ts → idOcrManager-DXc_xRN7.d.ts} +62 -229
- package/dist/{idOcrStateMachine-BJxZCxwS.esm.js → idOcrStateMachine-Bq_e3l4E.esm.js} +15 -20
- package/dist/idVerificationManager-BB4Pj_N6.d.ts +197 -0
- package/dist/idVerificationManager-CduNXhWd.esm.js +51 -0
- package/dist/{idVerificationStateMachine-DXN9WcdM.esm.js → idVerificationStateMachine-GEQWUPU2.esm.js} +5 -7
- package/dist/identity-reuse.d.ts +1 -4
- package/dist/identity-reuse.esm.js +3 -8
- package/dist/{identityReuseManager-LjkPvSQN.esm.js → identityReuseManager-D5vXknnJ.esm.js} +24 -7
- package/dist/{identityReuseManager-CLVOYxcp.d.ts → identityReuseManager-v2TH5g7e.d.ts} +38 -43
- package/dist/{identityReuseStateMachine-Bp-zONoV.esm.js → identityReuseStateMachine-AubRPhIi.esm.js} +6 -8
- package/dist/index-B8weJxmL.d.ts +1 -0
- package/dist/index-BKOWUhxG.d.ts +258 -0
- package/dist/{index-DrpWp15Z.d.ts → index-CLMF0QLQ.d.ts} +3 -3
- package/dist/index.d.ts +1 -3
- package/dist/index.esm.js +2 -15
- package/dist/{invokeOnCaptureCallback-CCS2Ruzi.esm.js → invokeOnCaptureCallback-1m1VJ3Q4.esm.js} +2 -4
- package/dist/{lib-Bjd6nOLG.esm.js → lib-DAyUtOTj.esm.js} +1510 -1589
- package/dist/mandatory-consent.d.ts +2 -10
- package/dist/mandatory-consent.esm.js +3 -8
- package/dist/{mandatoryConsentManager-DeBmOHcQ.d.ts → mandatoryConsentManager-B29kR0XA.d.ts} +60 -85
- package/dist/{mandatoryConsentManager-DZ26sg4B.esm.js → mandatoryConsentManager-BeELm1zS.esm.js} +4 -7
- package/dist/{mandatoryConsentStateMachine-_44ZoDSh.esm.js → mandatoryConsentStateMachine-zroQGzwb.esm.js} +5 -7
- package/dist/manualReviewService-D4IkipnN.esm.js +15 -0
- package/dist/{mediaRecorderOptions-CClCKAiF.esm.js → mediaRecorderOptions-dALSV8af.esm.js} +2 -4
- package/dist/{mediapipeShared-Bcmkzs3x.esm.js → mediapipeShared-B6oNoXEQ.esm.js} +21 -9
- package/dist/{onDeviceFaceResults-DILtthks.esm.js → onDeviceFaceResults-C6IRJHQB.esm.js} +30 -87
- package/dist/openviduLazy-CCDpFWg1.esm.js +10 -0
- package/dist/{otp-B1YeyRXu.d.ts → otp-CEWfTj9v.d.ts} +0 -1
- package/dist/{otp-uaXiKt_R.esm.js → otp-D2k3PeSL.esm.js} +3 -14
- package/dist/{permissionGuards-BNOe4Tnu.esm.js → permissionGuards-KINpmKtI.esm.js} +2 -4
- package/dist/{permissionServices-C_kxhNeo.esm.js → permissionServices-UvUcOSRb.esm.js} +35 -28
- package/dist/personhood.d.ts +13 -20
- package/dist/personhood.esm.js +153 -85
- package/dist/phone.d.ts +1 -5
- package/dist/phone.esm.js +3 -10
- package/dist/{phoneManager-_KtitbUA.d.ts → phoneManager-BBU8Lq0O.d.ts} +4 -7
- package/dist/{phoneManager-CRblfdcI.esm.js → phoneManager-Cpiai2IM.esm.js} +82 -12
- package/dist/{phoneStateMachine-DjFGWMjQ.esm.js → phoneStateMachine-E1fUUcNM.esm.js} +7 -9
- package/dist/{platform-0Ot-bF_a.esm.js → platform-BJrm5nzZ.esm.js} +31 -11
- package/dist/privacyLensWorker-DI-Rg83h.esm.js +355 -0
- package/dist/qe-signature.d.ts +4 -6
- package/dist/qe-signature.esm.js +10 -11
- package/dist/{recordingService-CxaYkITO.esm.js → recordingService-N4RhdyiT.esm.js} +13 -31
- package/dist/redirect-to-mobile.d.ts +2 -6
- package/dist/redirect-to-mobile.esm.js +3 -10
- package/dist/{redirectToMobileManager-dv29o_LS.d.ts → redirectToMobileManager-BD2PvT5B.d.ts} +8 -44
- package/dist/{redirectToMobileManager-DbuNUlru.esm.js → redirectToMobileManager-C0dfc7f6.esm.js} +28 -8
- package/dist/{redirectToMobileStateMachine-BRaIJWOM.esm.js → redirectToMobileStateMachine-C9SYCJcH.esm.js} +74 -18
- package/dist/rolldown-runtime-FZ4Itg2g.esm.js +42 -0
- package/dist/{runChildModule-kojSv3MH.esm.js → runChildModule-DpRmKWV0.esm.js} +10 -9
- package/dist/{WasmUtilProvider-BgzcXBdl.esm.js → safeStorage-Ep56I-f_.esm.js} +98 -473
- package/dist/selfie.d.ts +8 -21
- package/dist/selfie.esm.js +40 -47
- package/dist/selfieErrorUtils-C2PYBVsp.esm.js +90 -0
- package/dist/{selfieManager-B1Px3GGa.esm.js → selfieManager-CmoNiluM.esm.js} +7 -10
- package/dist/{selfieManager-4juKfrHG.d.ts → selfieManager-DwlCppg0.d.ts} +3 -4
- package/dist/{selfieStateMachine-D0TS93Tu.esm.js → selfieStateMachine-L9pghTly.esm.js} +14 -29
- package/dist/{session-CLsU2Jnb.esm.js → session-DeR_I24J.esm.js} +16 -7
- package/dist/session.d.ts +12 -10
- package/dist/session.esm.js +5 -15
- package/dist/sessionInitializer-DNgRpf5Y.esm.js +1865 -0
- package/dist/{setup-CfNsYAeB.esm.js → setup-DuYKUt0r.esm.js} +319 -137
- package/dist/{setup-CmA2apmN.d.ts → setup-DywQeePQ.d.ts} +186 -4
- package/dist/signature.d.ts +2 -96
- package/dist/signature.esm.js +3 -108
- package/dist/signatureManager-DGBSWz2_.d.ts +106 -0
- package/dist/signatureManager-DdPgcmou.esm.js +113 -0
- package/dist/{signatureStateMachine-CdhlMih-.esm.js → signatureStateMachine-Cf73DGWO.esm.js} +5 -7
- package/dist/spawn-D9jgw9pW.d.ts +1441 -0
- package/dist/src-0Jurt29N.esm.js +4482 -0
- package/dist/{stats-BVy52wLy.esm.js → stats-B0nFKawG.esm.js} +3 -5
- package/dist/stats.esm.js +2 -5
- package/dist/topLevelStateName-B5i2avbh.esm.js +41 -0
- package/dist/{tri-CFAPtAUM.esm.js → tri-4RsGrIt6.esm.js} +3 -119
- package/dist/tri.d.ts +2 -2
- package/dist/tri.esm-BIjHhBJ2.esm.js +2620 -0
- package/dist/tri.esm.js +2 -4
- package/dist/trueSight-BTl_vvd3.esm.js +1 -0
- package/dist/trueSightService-s3T95geD.esm.js +1894 -0
- package/dist/trust-graph.d.ts +4 -5
- package/dist/trust-graph.esm.js +13 -9
- package/dist/types-BEwVKkLJ.d.ts +15 -0
- package/dist/{types-BKLb3C42.esm.js → types-BN5RPPIZ.esm.js} +1 -2
- package/dist/types-BSBzhHRH.d.ts +57 -0
- package/dist/types-BX_XkMsQ2.d.ts +21 -0
- package/dist/types-BfHiko5D.d.ts +48 -0
- package/dist/{types-D8Cl1N2Z.d.ts → types-BfgmV7s72.d.ts} +2 -2
- package/dist/types-CJ7Yl9K-2.d.ts +164 -0
- package/dist/types-DPIDuhut.d.ts +40 -0
- package/dist/types-DVmXIdzW.d.ts +82 -0
- package/dist/types-DelMqZLe.d.ts +105 -0
- package/dist/types-EELWyWpd.d.ts +6 -0
- package/dist/{types-fO6KIdol.d.ts → types-Hmd7U0JA.d.ts} +80 -6
- package/dist/{types-BUgeB2X6.d.ts → types-KPvmag_B.d.ts} +7 -7
- package/dist/types-M6eb82ra2.d.ts +589 -0
- package/dist/{types-DV3wkhQ4.d.ts → types-Vb4P9ovf.d.ts} +1 -3
- package/dist/{urlUtils-CpiYwn7w.esm.js → urlUtils-D6phjq1-.esm.js} +1 -2
- package/dist/{video-ZY92rkel.esm.js → video-BtSWtHy1.esm.js} +1 -2
- package/dist/video-selfie.d.ts +71 -117
- package/dist/video-selfie.esm.js +575 -643
- package/dist/videoSelfieCameraWarmer-DPx5Lm3d.esm.js +651 -0
- package/dist/videoSelfieStepDetector-D3oo2ofo.d.ts +123 -0
- package/dist/wasm.d.ts +2 -4
- package/dist/wasm.esm.js +4 -15
- package/dist/wasmDefaults-DTUrftxR.esm.js +125 -0
- package/dist/{wasmDsFlagSync-Ch0mFJNT.esm.js → wasmDsFlagSync-BqUCwLY8.esm.js} +2 -4
- package/dist/wasmWebClient-DM8lkb0z.esm.js +407 -0
- package/dist/watchlist-for-business.d.ts +1 -3
- package/dist/watchlist-for-business.esm.js +9 -9
- package/dist/watchlist.d.ts +1 -52
- package/dist/watchlist.esm.js +3 -70
- package/dist/{watchlistForBusinessStateMachine-R1Yp1g5A.esm.js → watchlistForBusinessStateMachine-BcBMkMvV.esm.js} +5 -7
- package/dist/watchlistManager-CjSMmbyq.esm.js +83 -0
- package/dist/watchlistManager-DLXef90v.d.ts +68 -0
- package/dist/{watchlistStateMachine-D07UVq1m.esm.js → watchlistStateMachine-Bl7Wy9Cm.esm.js} +5 -7
- package/dist/workflow.d.ts +239 -203
- package/dist/workflow.esm.js +156 -101
- package/dist/xstate-actors.esm-CtI5S0f4.esm.js +310 -0
- package/dist/{xstate.esm-nY3M5UYm.esm.js → xstate.esm-Cf4e0Cfd.esm.js} +136 -610
- package/package.json +14 -9
- package/dist/Actor-BwgmOPkb.d.ts +0 -2
- package/dist/Face2DProvider-CZU11g6r.esm.js +0 -824
- package/dist/FaceDetectionProvider-CPWg-PAH.d.ts +0 -119
- package/dist/IWasmUtilCapability-DaSNxgA8.d.ts +0 -150
- package/dist/PrivacyLensProvider-B_zrV25p.esm.js +0 -339
- package/dist/StateMachine-D5WO6lHS.d.ts +0 -2
- package/dist/StreamCanvasCapture-DHaWferF.d.ts +0 -42
- package/dist/ae-signature-Pp4oCAHD.esm.js +0 -12
- package/dist/api-DsbUi7TO.esm.js +0 -72
- package/dist/browser-DlFgHpoC-Br3G10gw.esm.js +0 -1425
- package/dist/browserSimulation-DZwEy9bu.esm.js +0 -2804
- package/dist/camera-CxxXV0VN.esm.js +0 -79
- package/dist/canvas-90BqS0NF.d.ts +0 -112
- package/dist/chunk-CIKcdghV.esm.js +0 -49
- package/dist/clientLifecycle-VyzRfALg.esm.js +0 -534
- package/dist/cpf-ocr.d.ts +0 -10
- package/dist/cpf-ocr.esm.js +0 -8
- package/dist/cpfOcrManager-9eM4z4o7.esm.js +0 -190
- package/dist/cpfOcrManager-C5U9E0hf.d.ts +0 -216
- package/dist/createFaceAvatar-BZSg2MNo.esm.js +0 -46
- package/dist/deepsightLoader-CU_tiLMx.esm.js +0 -62
- package/dist/flowServices-DkQmOkLV.esm.js +0 -208
- package/dist/geolocationManager-DaHYFkVO.d.ts +0 -156
- package/dist/getDeviceClass-DIjnTPjR.esm.js +0 -14
- package/dist/http-CnsKEaJY.esm.js +0 -0
- package/dist/idCaptureManager-CwuXtVu6.d.ts +0 -1013
- package/dist/index-BAyZ8_iI.d.ts +0 -93
- package/dist/openviduLazy-jPgABwrt.esm.js +0 -3
- package/dist/openviduLazy-wEojM41w.esm.js +0 -12
- package/dist/qe-signature-BnWIpR-O.esm.js +0 -12
- package/dist/sessionInitializer-Dj7-aJaP.esm.js +0 -547
- package/dist/tri.esm-DDJ1zOqG.esm.js +0 -2593
- package/dist/types-BcF-fii5.d.ts +0 -5
- package/dist/videoSelfieSteps-Djpv7cjb.esm.js +0 -58
- /package/dist/{IVisibilityObserverCapability-BZ1rE7ly.d.ts → IVisibilityObserverCapability-D4tvIB5v.d.ts} +0 -0
- /package/dist/{camera-CKU96nwJ.d.ts → camera-9wWD-pwg.d.ts} +0 -0
- /package/dist/{flowCompletionService-BOSTlAWo.d.ts → flowCompletionService-BlAHsKyv.d.ts} +0 -0
- /package/dist/{types-BgjMAEXl.d.ts → types-Bk_6dmDa.d.ts} +0 -0
- /package/dist/{warmup-Dd0iq6KF.d.ts → warmup-Dv2alr2-.d.ts} +0 -0
|
@@ -1,47 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Input types supported by dynamic form questions.
|
|
8
|
-
* `inputType` on `Question` is optional so unknown future API values degrade
|
|
9
|
-
* gracefully to the text fallback rather than requiring this union to be widened.
|
|
10
|
-
*/
|
|
11
|
-
type InputType = 'TEXT' | 'DATE' | 'COUNTRY' | 'NATIONALITY' | 'NUMBER' | 'EMAIL' | 'PHONE' | 'CPF' | 'NAME' | 'YESNO' | 'SELECT' | 'MULTISELECT';
|
|
12
|
-
/**
|
|
13
|
-
* A single question within a dynamic form screen.
|
|
14
|
-
*/
|
|
15
|
-
type Question = {
|
|
16
|
-
questionId: string;
|
|
17
|
-
/** Display label shown to the user */
|
|
18
|
-
question: string;
|
|
19
|
-
inputType?: InputType;
|
|
20
|
-
/** Fallback type used when `inputType` is absent */
|
|
21
|
-
overrides?: InputType;
|
|
22
|
-
isPredefined?: boolean;
|
|
23
|
-
isOptional?: boolean;
|
|
24
|
-
options?: string[];
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* A single screen within the dynamic form flow.
|
|
28
|
-
*/
|
|
29
|
-
type Screen = {
|
|
30
|
-
title?: string;
|
|
31
|
-
hideTitle?: boolean;
|
|
32
|
-
questions: Question[];
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
* Configuration for the dynamic forms module.
|
|
36
|
-
* Provide either `screens` (pre-loaded) or `flowId` (fetched from API).
|
|
37
|
-
*/
|
|
38
|
-
type DynamicFormsConfig = {
|
|
39
|
-
/** Flow ID used to fetch screens from the API when `screens` is not provided */
|
|
40
|
-
flowId?: string;
|
|
41
|
-
/** Pre-loaded screens — skips the API fetch when provided */
|
|
42
|
-
screens?: Screen[];
|
|
43
|
-
};
|
|
44
|
-
//#endregion
|
|
1
|
+
import { i as ActorRefFrom } from "./spawn-D9jgw9pW.js";
|
|
2
|
+
import { t as Manager } from "./Manager-CQQ99QOI.js";
|
|
3
|
+
import "./Actor-iTq7YY48.js";
|
|
4
|
+
import { i as Screen, t as DynamicFormsConfig } from "./types-BSBzhHRH.js";
|
|
45
5
|
//#region src/modules/dynamic-forms/dynamicFormsFields.d.ts
|
|
46
6
|
/** Map of `questionId` → currently-displayed i18n error key. */
|
|
47
7
|
type DynamicFormsValidationErrors = Partial<Record<string, string>>;
|
|
@@ -86,6 +46,10 @@ type DynamicFormsInputtingState = {
|
|
|
86
46
|
answerValidity: Record<string, boolean>;
|
|
87
47
|
validationErrors?: DynamicFormsValidationErrors;
|
|
88
48
|
canSubmit: boolean;
|
|
49
|
+
/** questionIds that received a prefilled value — show the "from ID" marker. */
|
|
50
|
+
prefilledQuestionIds: string[];
|
|
51
|
+
/** questionIds prefilled with a non-editable value — render read-only. */
|
|
52
|
+
nonEditableQuestionIds: string[];
|
|
89
53
|
};
|
|
90
54
|
/**
|
|
91
55
|
* Submitting the current screen's answers to the backend.
|
|
@@ -105,6 +69,10 @@ type DynamicFormsSubmittingState = {
|
|
|
105
69
|
answers: Record<string, string>;
|
|
106
70
|
answerValidity: Record<string, boolean>;
|
|
107
71
|
validationErrors?: DynamicFormsValidationErrors;
|
|
72
|
+
/** questionIds that received a prefilled value — show the "from ID" marker. */
|
|
73
|
+
prefilledQuestionIds: string[];
|
|
74
|
+
/** questionIds prefilled with a non-editable value — render read-only. */
|
|
75
|
+
nonEditableQuestionIds: string[];
|
|
108
76
|
};
|
|
109
77
|
/**
|
|
110
78
|
* All screens submitted — success screen visible for ~3 s before
|
|
@@ -133,10 +101,18 @@ type DynamicFormsMisconfiguredState = {
|
|
|
133
101
|
type DynamicFormsClosedState = {
|
|
134
102
|
status: 'closed';
|
|
135
103
|
};
|
|
104
|
+
/**
|
|
105
|
+
* Login-hint lockout — the backend reported status `4302` ("Login hint attempts
|
|
106
|
+
* exceeded") on a form-answer rejection. Terminal, non-recoverable screen with
|
|
107
|
+
* no retry; the module parks here (user must contact their administrator).
|
|
108
|
+
*/
|
|
109
|
+
type DynamicFormsAttemptsExhaustedState = {
|
|
110
|
+
status: 'attemptsExhausted';
|
|
111
|
+
};
|
|
136
112
|
/**
|
|
137
113
|
* Union of all possible dynamic forms manager states.
|
|
138
114
|
*/
|
|
139
|
-
type DynamicFormsState = DynamicFormsIdleState | DynamicFormsLoadingState | DynamicFormsInputtingState | DynamicFormsSubmittingState | DynamicFormsSuccessState | DynamicFormsFinishedState | DynamicFormsMisconfiguredState | DynamicFormsClosedState;
|
|
115
|
+
type DynamicFormsState = DynamicFormsIdleState | DynamicFormsLoadingState | DynamicFormsInputtingState | DynamicFormsSubmittingState | DynamicFormsSuccessState | DynamicFormsFinishedState | DynamicFormsMisconfiguredState | DynamicFormsClosedState | DynamicFormsAttemptsExhaustedState;
|
|
140
116
|
/**
|
|
141
117
|
* Creates a dynamic forms manager for headless or UI-driven usage.
|
|
142
118
|
*
|
|
@@ -236,4 +212,4 @@ declare function createDynamicFormsManagerFromActor(actor: DynamicFormsActor): M
|
|
|
236
212
|
/** Type representing a dynamic forms manager instance. */
|
|
237
213
|
type DynamicFormsManager = ReturnType<typeof createDynamicFormsManager>;
|
|
238
214
|
//#endregion
|
|
239
|
-
export { DynamicFormsActor as a, DynamicFormsValidationErrors as c,
|
|
215
|
+
export { DynamicFormsActor as a, DynamicFormsValidationErrors as c, createDynamicFormsManagerFromActor as i, DynamicFormsState as n, DynamicFormsResult as o, createDynamicFormsManager as r, dynamicFormsMachine as s, DynamicFormsManager as t };
|
package/dist/{dynamicFormsStateMachine-DJ1HGZff.esm.js → dynamicFormsStateMachine-D_3oLtOE.esm.js}
RENAMED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { t as api } from "./api-
|
|
2
|
-
import { t as endpoints } from "./endpoints-
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
|
|
1
|
+
import { t as api } from "./api-Bx3gKW_y.esm.js";
|
|
2
|
+
import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
|
|
3
|
+
import { r as toIncodeApiError, t as IncodeApiError } from "./apiError-oiEnJIlk.esm.js";
|
|
4
|
+
import { r as assign, t as setup } from "./xstate.esm-Cf4e0Cfd.esm.js";
|
|
5
|
+
import { n as fromPromise } from "./xstate-actors.esm-CtI5S0f4.esm.js";
|
|
6
|
+
import { t as isoDateToMs } from "./dateUtils-CvG0FvK8.esm.js";
|
|
6
7
|
//#region src/modules/dynamic-forms/dynamicFormsFields.ts
|
|
7
8
|
function getEffectiveType(question) {
|
|
8
9
|
return question.inputType ?? question.overrides ?? "TEXT";
|
|
@@ -31,7 +32,6 @@ function buildScreenFields(formScreen) {
|
|
|
31
32
|
validation: buildQuestionValidation(q)
|
|
32
33
|
}));
|
|
33
34
|
}
|
|
34
|
-
|
|
35
35
|
//#endregion
|
|
36
36
|
//#region src/modules/dynamic-forms/dynamicFormsValidators.ts
|
|
37
37
|
const VALIDATORS = {
|
|
@@ -67,7 +67,6 @@ function validateScreenField(answers, questionId, fields, answerValidity) {
|
|
|
67
67
|
answerValidity
|
|
68
68
|
}, field.validation);
|
|
69
69
|
}
|
|
70
|
-
|
|
71
70
|
//#endregion
|
|
72
71
|
//#region src/modules/dynamic-forms/dynamicFormsServices.ts
|
|
73
72
|
async function fetchForms(flowId, signal) {
|
|
@@ -76,17 +75,46 @@ async function fetchForms(flowId, signal) {
|
|
|
76
75
|
if (!res.ok) throw new Error(`GET ${endpoints.moduleConfig} failed: ${res.status} ${res.statusText}`);
|
|
77
76
|
return res.data;
|
|
78
77
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Fetches Form Pre-fill values resolved from the interview. Keyed by session
|
|
80
|
+
* token (no flowId param). Called once per form only when >=1 question has a
|
|
81
|
+
* `prefillSource`. A failure throws — the machine degrades to a blank form.
|
|
82
|
+
*/
|
|
83
|
+
async function fetchPrefill(signal) {
|
|
84
|
+
const res = await api.get(endpoints.dynamicFormsPrefill, { signal });
|
|
85
|
+
if (!res.ok) throw new Error(`GET ${endpoints.dynamicFormsPrefill} failed: ${res.status} ${res.statusText}`);
|
|
85
86
|
return res.data;
|
|
86
87
|
}
|
|
87
|
-
|
|
88
|
+
async function submitFormAnswer(params, signal) {
|
|
89
|
+
try {
|
|
90
|
+
return (await api.post(endpoints.dynamicFormsSubmitAnswer, {
|
|
91
|
+
questionId: params.questionId,
|
|
92
|
+
answerDetails: { singleAnswer: params.singleAnswer }
|
|
93
|
+
}, { signal })).data;
|
|
94
|
+
} catch (error) {
|
|
95
|
+
throw toIncodeApiError(endpoints.dynamicFormsSubmitAnswer, error);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
88
98
|
//#endregion
|
|
89
99
|
//#region src/modules/dynamic-forms/dynamicFormsStateMachine.ts
|
|
100
|
+
const INVALID_LOGIN_HINT_STATUS = 4301;
|
|
101
|
+
const LOGIN_HINT_LOCKED_STATUS = 4302;
|
|
102
|
+
/**
|
|
103
|
+
* Thrown from the submit actor when a form answer is rejected with a login-hint
|
|
104
|
+
* status ({@link INVALID_LOGIN_HINT_STATUS} or {@link LOGIN_HINT_LOCKED_STATUS}).
|
|
105
|
+
* Carries the failing question so the inline error attaches to the right field,
|
|
106
|
+
* the backend status so the machine can decide between "retry" and "locked", and
|
|
107
|
+
* the answers already accepted before the failure so a retry doesn't re-POST them.
|
|
108
|
+
*/
|
|
109
|
+
var LoginHintSubmitError = class extends Error {
|
|
110
|
+
constructor(questionId, status, submitted) {
|
|
111
|
+
super("Login hint rejected");
|
|
112
|
+
this.name = "LoginHintSubmitError";
|
|
113
|
+
this.questionId = questionId;
|
|
114
|
+
this.status = status;
|
|
115
|
+
this.submitted = submitted;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
90
118
|
function transformAnswerValue(inputType, value) {
|
|
91
119
|
switch (inputType) {
|
|
92
120
|
case "CPF": return value.replace(/[-.]/g, "");
|
|
@@ -106,6 +134,37 @@ const upsertKey = (errors, key, message) => {
|
|
|
106
134
|
else delete next[key];
|
|
107
135
|
return Object.keys(next).length > 0 ? next : void 0;
|
|
108
136
|
};
|
|
137
|
+
/**
|
|
138
|
+
* Seeds the first screen's sole answer from `config.prefillValue`, but ONLY when
|
|
139
|
+
* the form is exactly one screen with one question — so an unrelated multi-field
|
|
140
|
+
* form never gets a stray value stuffed in. The single-question guard lives here
|
|
141
|
+
* (the machine owns the screens); the seeded answer stays editable. Blank or
|
|
142
|
+
* whitespace-only values (e.g. `?login_hint=%20`) are ignored.
|
|
143
|
+
*/
|
|
144
|
+
function buildPrefillAnswers(screens, prefillValue) {
|
|
145
|
+
const value = prefillValue?.trim();
|
|
146
|
+
if (!value || screens.length !== 1) return {};
|
|
147
|
+
const { questions } = screens[0];
|
|
148
|
+
if (questions.length !== 1) return {};
|
|
149
|
+
return { [questions[0].questionId]: value };
|
|
150
|
+
}
|
|
151
|
+
const PREFILL_UNSUPPORTED_TYPES = /* @__PURE__ */ new Set(["PHONE", "MULTISELECT"]);
|
|
152
|
+
function effectiveInputType(question) {
|
|
153
|
+
return question.inputType ?? question.overrides ?? "TEXT";
|
|
154
|
+
}
|
|
155
|
+
function isPrefillSupported(question) {
|
|
156
|
+
return !PREFILL_UNSUPPORTED_TYPES.has(effectiveInputType(question));
|
|
157
|
+
}
|
|
158
|
+
/** The prefilled values that belong to a given screen's questions. */
|
|
159
|
+
function pickPrefillForScreen(formScreen, prefilledValues) {
|
|
160
|
+
if (!formScreen) return {};
|
|
161
|
+
const picked = {};
|
|
162
|
+
for (const question of formScreen.questions) {
|
|
163
|
+
const value = prefilledValues[question.questionId];
|
|
164
|
+
if (value !== void 0) picked[question.questionId] = value;
|
|
165
|
+
}
|
|
166
|
+
return picked;
|
|
167
|
+
}
|
|
109
168
|
const dynamicFormsMachine = setup({
|
|
110
169
|
types: {
|
|
111
170
|
context: {},
|
|
@@ -116,27 +175,34 @@ const dynamicFormsMachine = setup({
|
|
|
116
175
|
fetchScreens: fromPromise(async ({ input, signal }) => {
|
|
117
176
|
return fetchForms(input.flowId, signal);
|
|
118
177
|
}),
|
|
178
|
+
fetchPrefill: fromPromise(async ({ signal }) => fetchPrefill(signal)),
|
|
119
179
|
submitScreenAnswers: fromPromise(async ({ input, signal }) => {
|
|
120
|
-
const { screen: formScreen, answers } = input;
|
|
180
|
+
const { screen: formScreen, answers, submittedAnswers } = input;
|
|
181
|
+
const submitted = { ...submittedAnswers };
|
|
121
182
|
for (const question of formScreen.questions) {
|
|
122
183
|
const singleAnswer = transformAnswerValue(question.inputType ?? question.overrides ?? "TEXT", answers[question.questionId] ?? "");
|
|
184
|
+
if (submitted[question.questionId] === singleAnswer) continue;
|
|
123
185
|
try {
|
|
124
186
|
await submitFormAnswer({
|
|
125
187
|
questionId: question.questionId,
|
|
126
188
|
singleAnswer
|
|
127
189
|
}, signal);
|
|
128
|
-
|
|
190
|
+
submitted[question.questionId] = singleAnswer;
|
|
191
|
+
} catch (error) {
|
|
192
|
+
if (error instanceof IncodeApiError && (error.status === INVALID_LOGIN_HINT_STATUS || error.status === LOGIN_HINT_LOCKED_STATUS)) throw new LoginHintSubmitError(question.questionId, error.status, submitted);
|
|
193
|
+
}
|
|
129
194
|
}
|
|
130
195
|
return { success: true };
|
|
131
196
|
})
|
|
132
197
|
},
|
|
133
198
|
actions: {
|
|
134
|
-
setScreens: assign(({ event }) => {
|
|
199
|
+
setScreens: assign(({ context, event }) => {
|
|
135
200
|
const screens = event.output.screens;
|
|
136
201
|
const firstScreen = screens[0];
|
|
137
202
|
return {
|
|
138
203
|
screens,
|
|
139
|
-
answers:
|
|
204
|
+
answers: buildPrefillAnswers(screens, context.config.prefillValue),
|
|
205
|
+
submittedAnswers: {},
|
|
140
206
|
currentScreenFields: firstScreen ? buildScreenFields(firstScreen) : []
|
|
141
207
|
};
|
|
142
208
|
}),
|
|
@@ -174,20 +240,59 @@ const dynamicFormsMachine = setup({
|
|
|
174
240
|
const nextScreen = context.screens[nextIndex];
|
|
175
241
|
return {
|
|
176
242
|
currentScreenIndex: nextIndex,
|
|
177
|
-
answers:
|
|
243
|
+
answers: pickPrefillForScreen(nextScreen, context.prefilledValues),
|
|
244
|
+
submittedAnswers: {},
|
|
178
245
|
answerValidity: {},
|
|
179
246
|
currentScreenFields: nextScreen ? buildScreenFields(nextScreen) : [],
|
|
180
247
|
validationErrors: void 0
|
|
181
248
|
};
|
|
182
249
|
}),
|
|
250
|
+
seedPrefill: assign(({ context, event }) => {
|
|
251
|
+
const resolved = event.output;
|
|
252
|
+
const typeById = /* @__PURE__ */ new Map();
|
|
253
|
+
for (const formScreen of context.screens) for (const question of formScreen.questions) typeById.set(question.questionId, effectiveInputType(question));
|
|
254
|
+
const prefilledValues = {};
|
|
255
|
+
const nonEditableQuestionIds = [];
|
|
256
|
+
for (const questionId of Object.keys(resolved)) {
|
|
257
|
+
const type = typeById.get(questionId);
|
|
258
|
+
if (!type || PREFILL_UNSUPPORTED_TYPES.has(type)) continue;
|
|
259
|
+
prefilledValues[questionId] = resolved[questionId].value;
|
|
260
|
+
if (resolved[questionId].editable === false) nonEditableQuestionIds.push(questionId);
|
|
261
|
+
}
|
|
262
|
+
return {
|
|
263
|
+
prefilledValues,
|
|
264
|
+
nonEditableQuestionIds,
|
|
265
|
+
answers: {
|
|
266
|
+
...context.answers,
|
|
267
|
+
...prefilledValues
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
}),
|
|
183
271
|
markCompleted: assign({ result: "completed" }),
|
|
184
|
-
markSkipped: assign({ result: "skipped" })
|
|
272
|
+
markSkipped: assign({ result: "skipped" }),
|
|
273
|
+
setLoginHintError: assign(({ context, event }) => {
|
|
274
|
+
const err = event.error;
|
|
275
|
+
if (!(err instanceof LoginHintSubmitError)) return {};
|
|
276
|
+
return {
|
|
277
|
+
validationErrors: upsertKey(context.validationErrors, err.questionId, "forms.errors.invalidLoginHint"),
|
|
278
|
+
submittedAnswers: err.submitted
|
|
279
|
+
};
|
|
280
|
+
})
|
|
185
281
|
},
|
|
186
282
|
guards: {
|
|
187
283
|
hasPreloadedScreens: ({ context }) => (context.config.screens?.length ?? 0) > 0,
|
|
188
284
|
hasFlowId: ({ context }) => !!context.config.flowId,
|
|
285
|
+
hasPrefillSources: ({ context }) => context.screens.some((formScreen) => formScreen.questions.some((question) => question.prefillSource != null && isPrefillSupported(question))),
|
|
189
286
|
isLastScreen: ({ context }) => context.currentScreenIndex >= context.screens.length - 1,
|
|
190
|
-
isScreenValid: ({ context }) => Object.keys(context.validationErrors ?? {}).length === 0
|
|
287
|
+
isScreenValid: ({ context }) => Object.keys(context.validationErrors ?? {}).length === 0,
|
|
288
|
+
isLoginHintLocked: ({ event }) => {
|
|
289
|
+
const err = event.error;
|
|
290
|
+
return err instanceof LoginHintSubmitError && err.status === LOGIN_HINT_LOCKED_STATUS;
|
|
291
|
+
},
|
|
292
|
+
isLoginHintInvalid: ({ event }) => {
|
|
293
|
+
const err = event.error;
|
|
294
|
+
return err instanceof LoginHintSubmitError && err.status === INVALID_LOGIN_HINT_STATUS;
|
|
295
|
+
}
|
|
191
296
|
}
|
|
192
297
|
}).createMachine({
|
|
193
298
|
id: "dynamicForms",
|
|
@@ -199,16 +304,19 @@ const dynamicFormsMachine = setup({
|
|
|
199
304
|
config: input.config,
|
|
200
305
|
screens,
|
|
201
306
|
currentScreenIndex: 0,
|
|
202
|
-
answers:
|
|
307
|
+
answers: buildPrefillAnswers(screens, input.config.prefillValue),
|
|
308
|
+
submittedAnswers: {},
|
|
203
309
|
answerValidity: {},
|
|
204
310
|
currentScreenFields: firstScreen ? buildScreenFields(firstScreen) : [],
|
|
311
|
+
prefilledValues: {},
|
|
312
|
+
nonEditableQuestionIds: [],
|
|
205
313
|
result: null
|
|
206
314
|
};
|
|
207
315
|
},
|
|
208
316
|
states: {
|
|
209
317
|
idle: { on: { LOAD: [
|
|
210
318
|
{
|
|
211
|
-
target: "
|
|
319
|
+
target: "resolvingPrefill",
|
|
212
320
|
guard: "hasPreloadedScreens"
|
|
213
321
|
},
|
|
214
322
|
{
|
|
@@ -222,7 +330,7 @@ const dynamicFormsMachine = setup({
|
|
|
222
330
|
src: "fetchScreens",
|
|
223
331
|
input: ({ context }) => ({ flowId: context.config.flowId ?? "" }),
|
|
224
332
|
onDone: {
|
|
225
|
-
target: "
|
|
333
|
+
target: "resolvingPrefill",
|
|
226
334
|
actions: "setScreens"
|
|
227
335
|
},
|
|
228
336
|
onError: {
|
|
@@ -230,6 +338,19 @@ const dynamicFormsMachine = setup({
|
|
|
230
338
|
actions: "markSkipped"
|
|
231
339
|
}
|
|
232
340
|
} },
|
|
341
|
+
resolvingPrefill: { always: [{
|
|
342
|
+
guard: "hasPrefillSources",
|
|
343
|
+
target: "prefilling"
|
|
344
|
+
}, { target: "inputting" }] },
|
|
345
|
+
prefilling: { invoke: {
|
|
346
|
+
id: "fetchPrefill",
|
|
347
|
+
src: "fetchPrefill",
|
|
348
|
+
onDone: {
|
|
349
|
+
target: "inputting",
|
|
350
|
+
actions: "seedPrefill"
|
|
351
|
+
},
|
|
352
|
+
onError: { target: "inputting" }
|
|
353
|
+
} },
|
|
233
354
|
inputting: {
|
|
234
355
|
initial: "editing",
|
|
235
356
|
states: {
|
|
@@ -253,7 +374,8 @@ const dynamicFormsMachine = setup({
|
|
|
253
374
|
src: "submitScreenAnswers",
|
|
254
375
|
input: ({ context }) => ({
|
|
255
376
|
screen: context.screens[context.currentScreenIndex],
|
|
256
|
-
answers: context.answers
|
|
377
|
+
answers: context.answers,
|
|
378
|
+
submittedAnswers: context.submittedAnswers
|
|
257
379
|
}),
|
|
258
380
|
onDone: [{
|
|
259
381
|
target: "success",
|
|
@@ -262,13 +384,18 @@ const dynamicFormsMachine = setup({
|
|
|
262
384
|
target: "inputting",
|
|
263
385
|
actions: "advanceScreen"
|
|
264
386
|
}],
|
|
265
|
-
onError: [
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
387
|
+
onError: [
|
|
388
|
+
{
|
|
389
|
+
guard: "isLoginHintLocked",
|
|
390
|
+
target: "attemptsExhausted"
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
guard: "isLoginHintInvalid",
|
|
394
|
+
target: "inputting",
|
|
395
|
+
actions: "setLoginHintError"
|
|
396
|
+
},
|
|
397
|
+
{ target: "inputting" }
|
|
398
|
+
]
|
|
272
399
|
} },
|
|
273
400
|
success: { after: { 3e3: {
|
|
274
401
|
target: "finished",
|
|
@@ -276,9 +403,9 @@ const dynamicFormsMachine = setup({
|
|
|
276
403
|
} } },
|
|
277
404
|
finished: { type: "final" },
|
|
278
405
|
misconfigured: { on: { CLOSE: { target: "closed" } } },
|
|
406
|
+
attemptsExhausted: {},
|
|
279
407
|
closed: { type: "final" }
|
|
280
408
|
}
|
|
281
409
|
});
|
|
282
|
-
|
|
283
410
|
//#endregion
|
|
284
|
-
export { dynamicFormsMachine as t };
|
|
411
|
+
export { dynamicFormsMachine as t };
|
package/dist/ekyb.d.ts
CHANGED
|
@@ -1,140 +1,8 @@
|
|
|
1
|
-
import "./StateMachine-
|
|
2
|
-
import {
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import { c as AddressSuggestion, l as FieldDef } from "./types-BgjMAEXl.js";
|
|
7
|
-
import "./canvas-90BqS0NF.js";
|
|
8
|
-
import "./createFaceAvatar-CpdYp9Iy.js";
|
|
9
|
-
import { i as FlowModuleConfig } from "./types-BUgeB2X6.js";
|
|
10
|
-
|
|
11
|
-
//#region src/modules/ekyb/types.d.ts
|
|
12
|
-
type UboEntry = {
|
|
13
|
-
id: string;
|
|
14
|
-
name: string;
|
|
15
|
-
surname: string;
|
|
16
|
-
};
|
|
17
|
-
type EkybFormValues = {
|
|
18
|
-
country: string;
|
|
19
|
-
businessName?: string;
|
|
20
|
-
street?: string;
|
|
21
|
-
houseNo?: string;
|
|
22
|
-
addressLine2?: string;
|
|
23
|
-
city?: string;
|
|
24
|
-
state?: string;
|
|
25
|
-
postalCode?: string;
|
|
26
|
-
taxId?: string;
|
|
27
|
-
};
|
|
28
|
-
type EkybConfig = {
|
|
29
|
-
flowId?: string;
|
|
30
|
-
verificationFields?: string[];
|
|
31
|
-
checkBusinessName?: boolean;
|
|
32
|
-
checkAddress?: boolean;
|
|
33
|
-
checkTaxId?: boolean;
|
|
34
|
-
checkUniqueBeneficialOwner?: boolean;
|
|
35
|
-
};
|
|
36
|
-
type EkybValidationRule = {
|
|
37
|
-
type: 'required';
|
|
38
|
-
} | {
|
|
39
|
-
type: 'streetLevelRequired';
|
|
40
|
-
} | {
|
|
41
|
-
type: 'cnpj';
|
|
42
|
-
} | {
|
|
43
|
-
type: 'postalCodeFormat';
|
|
44
|
-
country: string;
|
|
45
|
-
};
|
|
46
|
-
type EkybValidationError = {
|
|
47
|
-
key: string;
|
|
48
|
-
params?: Record<string, string | number>;
|
|
49
|
-
};
|
|
50
|
-
type EkybValidationErrors = Partial<Record<string, EkybValidationError>>;
|
|
51
|
-
type EkybFieldDef = FieldDef & {
|
|
52
|
-
optionalForCountries?: string[];
|
|
53
|
-
validation?: EkybValidationRule[];
|
|
54
|
-
};
|
|
55
|
-
type EkybCountry = 'BR' | 'US' | 'GB' | 'ES' | 'IT' | 'FR' | 'DE' | 'IL' | 'MX' | 'CN' | 'NG' | 'CM' | 'KE';
|
|
56
|
-
//#endregion
|
|
57
|
-
//#region src/modules/ekyb/ekybStateMachine.d.ts
|
|
58
|
-
declare const ekybMachine: any;
|
|
59
|
-
//#endregion
|
|
60
|
-
//#region src/modules/ekyb/ekybActor.d.ts
|
|
61
|
-
type CreateEkybActorOptions = {
|
|
62
|
-
config: EkybConfig;
|
|
63
|
-
};
|
|
64
|
-
//#endregion
|
|
65
|
-
//#region src/modules/ekyb/ekybManager.d.ts
|
|
66
|
-
|
|
67
|
-
type EkybLoadingState = {
|
|
68
|
-
status: 'loading';
|
|
69
|
-
};
|
|
70
|
-
type EkybFormState = {
|
|
71
|
-
status: 'form';
|
|
72
|
-
country: string;
|
|
73
|
-
availableCountries: readonly string[];
|
|
74
|
-
fields: EkybFieldDef[];
|
|
75
|
-
values: EkybFormValues;
|
|
76
|
-
validationErrors?: EkybValidationErrors;
|
|
77
|
-
/**
|
|
78
|
-
* True when no validation errors are currently displayed.
|
|
79
|
-
* Optimistic semantic: starts true on initial empty form.
|
|
80
|
-
* Derived as `Object.keys(validationErrors ?? {}).length === 0`.
|
|
81
|
-
*/
|
|
82
|
-
isValid: boolean;
|
|
83
|
-
ubos: UboEntry[];
|
|
84
|
-
canAddUbo: boolean;
|
|
85
|
-
addressSuggestions: AddressSuggestion[];
|
|
86
|
-
};
|
|
87
|
-
type EkybSubmittingState = {
|
|
88
|
-
status: 'submitting';
|
|
89
|
-
};
|
|
90
|
-
type EkybSuccessState = {
|
|
91
|
-
status: 'success';
|
|
92
|
-
};
|
|
93
|
-
type EkybErrorState = {
|
|
94
|
-
status: 'error';
|
|
95
|
-
errorMessage: string;
|
|
96
|
-
};
|
|
97
|
-
type EkybFinishedState = {
|
|
98
|
-
status: 'finished';
|
|
99
|
-
};
|
|
100
|
-
type EkybClosedState = {
|
|
101
|
-
status: 'closed';
|
|
102
|
-
};
|
|
103
|
-
/**
|
|
104
|
-
* Discriminated union of all possible eKYB manager states.
|
|
105
|
-
*/
|
|
106
|
-
type EkybState = EkybLoadingState | EkybFormState | EkybSubmittingState | EkybSuccessState | EkybErrorState | EkybFinishedState | EkybClosedState;
|
|
107
|
-
/**
|
|
108
|
-
* Creates an eKYB manager for headless or UI-driven usage.
|
|
109
|
-
*/
|
|
110
|
-
declare function createEkybManager(options: CreateEkybActorOptions): Manager<EkybState> & {
|
|
111
|
-
/** Initializes the eKYB flow — builds form fields from the provided config */
|
|
112
|
-
load(): void;
|
|
113
|
-
/** Sets the country and resets/revalidates fields */
|
|
114
|
-
setCountry(country: string): void;
|
|
115
|
-
/** Sets a form field value and clears its current validation error */
|
|
116
|
-
setField(name: string, value: string): void;
|
|
117
|
-
/** Runs single-field validation (call on blur) */
|
|
118
|
-
validateField(name: string): void;
|
|
119
|
-
/** Adds a new UBO entry (max 8) */
|
|
120
|
-
addUbo(): void;
|
|
121
|
-
/** Removes a UBO entry by index */
|
|
122
|
-
removeUbo(index: number): void;
|
|
123
|
-
/** Sets a UBO field (name or surname) */
|
|
124
|
-
setUboField(index: number, field: "name" | "surname", value: string): void;
|
|
125
|
-
/** Searches for address suggestions (debounced) */
|
|
126
|
-
searchAddress(query: string): void;
|
|
127
|
-
/** Fills address fields from a selected suggestion */
|
|
128
|
-
selectAddress(suggestion: AddressSuggestion): void;
|
|
129
|
-
/** Submits the form (requires isValid to be true) */
|
|
130
|
-
submit(): void;
|
|
131
|
-
/** Retries from failure state, returning to the form */
|
|
132
|
-
retry(): void;
|
|
133
|
-
/** Closes/dismisses the module */
|
|
134
|
-
close(): void;
|
|
135
|
-
};
|
|
136
|
-
type EkybManager = ReturnType<typeof createEkybManager>;
|
|
137
|
-
//#endregion
|
|
1
|
+
import "./StateMachine-EDpYWy0i.js";
|
|
2
|
+
import { c as AddressSuggestion } from "./types-Bk_6dmDa.js";
|
|
3
|
+
import { i as FlowModuleConfig } from "./types-KPvmag_B.js";
|
|
4
|
+
import { a as EkybValidationError, n as EkybCountry, o as EkybValidationErrors, r as EkybFieldDef, s as UboEntry, t as EkybConfig } from "./types-BfHiko5D.js";
|
|
5
|
+
import { n as EkybState, o as ekybMachine, r as createEkybManager, t as EkybManager } from "./ekybManager-Dzswb_b8.js";
|
|
138
6
|
//#region src/modules/ekyb/ekybServices.d.ts
|
|
139
7
|
type EkybFlowConfig = FlowModuleConfig['EKYB'];
|
|
140
8
|
//#endregion
|