@incodetech/core 2.2.0 → 2.3.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/THIRD_PARTY_NOTICES.txt +281 -0
- package/dist/BaseWasmProvider-Dyi6dKp1.d.ts +65 -0
- package/dist/{BrowserDiagnosticsCryptoProvider-B8vorxN5.esm.js → BrowserDiagnosticsCryptoProvider-CU6kBvqv.esm.js} +1 -1
- package/dist/{BrowserVisibilityObserverProvider-BX1BiLDK.esm.js → BrowserVisibilityObserverProvider-BrJN1B8A.esm.js} +2 -0
- package/dist/FaceDetectionProvider-BfhWkK90.esm.js +431 -0
- package/dist/FaceDetectionProvider-LdZ47bWy.d.ts +36 -0
- package/dist/{IIdCaptureCapability-DHTT3FC2.d.ts → IIdCaptureCapability-RNiFhvXR.d.ts} +7 -33
- package/dist/IWasmUtilCapability-CNWRl7jr.d.ts +117 -0
- package/dist/{MotionSensorProvider-DGiV77J_.esm.js → MotionSensorProvider-BgTYwg9L.esm.js} +1 -1
- package/dist/{StreamCanvasCapture-D2XcXCZ4.esm.js → StreamCanvasCapture-C9jtgBdT.esm.js} +2 -2
- package/dist/{deepsightService-DLVQS_RH.d.ts → StreamCanvasCapture-_8gdW5Lk.d.ts} +54 -41
- package/dist/StreamCanvasProcessingSession-CBnbTnOr.esm.js +42 -0
- package/dist/{addressSearch-D1XpBdUS.esm.js → addressSearch-DyHGgeX8.esm.js} +1 -1
- package/dist/advanceableErrors-CpF2cBy6.esm.js +21 -0
- package/dist/ae-signature.d.ts +4 -2
- package/dist/ae-signature.esm.js +1 -1
- package/dist/antifraud.esm.js +2 -2
- package/dist/{antifraudManager-CQFNgSPt.esm.js → antifraudManager-DNkw66oW.esm.js} +2 -2
- package/dist/{antifraudStateMachine-Bf_JVNwn.esm.js → antifraudStateMachine-DBeq47D2.esm.js} +1 -1
- package/dist/{apiError-BA1d_au0.esm.js → apiError-Budb6m6w.esm.js} +14 -2
- package/dist/authentication.d.ts +3 -3
- package/dist/authentication.esm.js +2 -2
- package/dist/{authenticationManager-BBMGTcwW.d.ts → authenticationManager-CjXBjC-c.d.ts} +7 -1
- package/dist/{authenticationManager-zh9TC62P.esm.js → authenticationManager-cMXhG70r.esm.js} +5 -5
- package/dist/{authenticationStateMachine-xzi-vnvE.esm.js → authenticationStateMachine-MOYz4HCf.esm.js} +6 -62
- package/dist/avatar.d.ts +1 -2
- package/dist/avatar.esm.js +1 -1
- package/dist/{backCameraStream-CUeYm5eu.esm.js → backCameraStream-BOtyQowf.esm.js} +83 -22
- package/dist/{camera-_2sXMXiF.esm.js → camera-sIa9ceW2.esm.js} +19 -1
- package/dist/camera.esm.js +1 -1
- package/dist/{canvas-E1zGkel4.esm.js → canvas-BxFzWTt-.esm.js} +19 -0
- package/dist/certificate-issuance.d.ts +2 -302
- package/dist/certificate-issuance.esm.js +3 -66
- package/dist/certificateIssuanceManager-C3-CI0_s.esm.js +69 -0
- package/dist/certificateIssuanceManager-DCgEidHz.d.ts +312 -0
- package/dist/{certificateIssuanceStateMachine-D_R92TYu.esm.js → certificateIssuanceStateMachine-CxqS_nD-.esm.js} +1 -1
- package/dist/consent.d.ts +1 -1
- package/dist/consent.esm.js +2 -2
- package/dist/{consentManager-BxjpLZAG.esm.js → consentManager-B6E1XJDw.esm.js} +2 -2
- package/dist/{consentManager-3Pbtj-RV.d.ts → consentManager-BhYFeKiG.d.ts} +4 -4
- package/dist/{consentStateMachine-D9D4ON8Z.esm.js → consentStateMachine-DTSfdGiW.esm.js} +1 -1
- package/dist/createCameraCycleOwnership-CX3hJGKc.esm.js +826 -0
- package/dist/{createFaceAvatar-DQKaRise.esm.js → createFaceAvatar-BNHdeFj8.esm.js} +2 -2
- package/dist/createFaceAvatar-BlcTYgJv.d.ts +497 -0
- package/dist/cross-document-data-match.esm.js +1 -1
- package/dist/{crossDocumentDataMatchManager-CGT0V6RV.esm.js → crossDocumentDataMatchManager-9XhFVZ5S.esm.js} +2 -2
- package/dist/curp-validation.d.ts +1 -1
- package/dist/curp-validation.esm.js +2 -2
- package/dist/{curpValidationManager-6Nmkn5u1.esm.js → curpValidationManager-DbIMYFcJ.esm.js} +2 -2
- package/dist/{curpValidationManager-DVGr7Fq7.d.ts → curpValidationManager-SSKNrm5Z.d.ts} +1 -1
- package/dist/{curpValidationStateMachine-Ds7KMacK.esm.js → curpValidationStateMachine-g5kMfuLj.esm.js} +1 -1
- package/dist/custom-fields.d.ts +2 -114
- package/dist/custom-fields.esm.js +2 -232
- package/dist/custom-watchlist.d.ts +2 -51
- package/dist/custom-watchlist.esm.js +3 -70
- package/dist/customFieldsManager-8-W2KY4n.d.ts +141 -0
- package/dist/customFieldsManager-CzWZTkW-.esm.js +264 -0
- package/dist/customWatchlistManager-DWTED5Ur.esm.js +73 -0
- package/dist/customWatchlistManager-PBWHr_oM.d.ts +64 -0
- package/dist/{customWatchlistStateMachine-YWSgKLbF.esm.js → customWatchlistStateMachine-DOQou6TW.esm.js} +1 -1
- package/dist/{deepsightLoader--wMKWECS.esm.js → deepsightLoader-DDv3vhXU.esm.js} +27 -71
- package/dist/device.d.ts +25 -2
- package/dist/device.esm.js +69 -7
- package/dist/document-capture.d.ts +2 -2
- package/dist/document-capture.esm.js +2 -2
- package/dist/{documentCaptureManager-DsQQhWry.esm.js → documentCaptureManager-CwAiM9WY.esm.js} +2 -2
- package/dist/{documentCaptureManager-B3t0ydtg.d.ts → documentCaptureManager-DensIj5F.d.ts} +83 -83
- package/dist/{documentCaptureStateMachine-BM4Ex_5x.esm.js → documentCaptureStateMachine-DfGOBapD.esm.js} +5 -5
- package/dist/dynamic-forms.d.ts +1 -1
- package/dist/dynamic-forms.esm.js +2 -2
- package/dist/{dynamicFormsManager-fFVIRBNv.esm.js → dynamicFormsManager-BbS-XMFc.esm.js} +16 -5
- package/dist/{dynamicFormsManager-fhK0yINk.d.ts → dynamicFormsManager-D5R_uxLQ.d.ts} +25 -3
- package/dist/{dynamicFormsStateMachine-D6D7oEYk.esm.js → dynamicFormsStateMachine-D8zHBCh4.esm.js} +35 -3
- package/dist/ekyb.d.ts +1 -1
- package/dist/ekyb.esm.js +3 -3
- package/dist/{ekybManager-Y3MkoXpC.esm.js → ekybManager-5aiac8wL.esm.js} +2 -2
- package/dist/{ekybStateMachine-3nlnqdlr.esm.js → ekybStateMachine-Bn2IE9rx.esm.js} +3 -3
- package/dist/ekyc.esm.js +2 -2
- package/dist/{ekycManager-DgT48ky6.esm.js → ekycManager-BlQ-Qj4E.esm.js} +2 -2
- package/dist/{ekycStateMachine-CQwqiR-R.esm.js → ekycStateMachine-CshSNJhh.esm.js} +2 -2
- package/dist/electronic-signature.d.ts +3 -3
- package/dist/electronic-signature.esm.js +2 -2
- package/dist/{electronicSignatureManager-DGbAJ00W.esm.js → electronicSignatureManager-BJJH0Tvi.esm.js} +357 -51
- package/dist/electronicSignatureManager-Ds-KEVTq.d.ts +2786 -0
- package/dist/email.esm.js +2 -2
- package/dist/{emailManager-BY0jeYwR.esm.js → emailManager-bR1N5rV_.esm.js} +2 -2
- package/dist/{emailStateMachine-Crw8QVmc.esm.js → emailStateMachine-Bc_6oIYw.esm.js} +1 -1
- package/dist/{endpoints-CCzL3XD_.esm.js → endpoints-B-3Q-LUw.esm.js} +24 -10
- package/dist/{events-DYiyoSlx.esm.js → events-ijlbX_Wx.esm.js} +2 -2
- package/dist/events.d.ts +1 -1
- package/dist/events.esm.js +1 -1
- package/dist/extensibility.d.ts +24 -64
- package/dist/extensibility.esm.js +35 -29
- package/dist/face-match.esm.js +2 -2
- package/dist/{faceCaptureManagerFactory-CVnZ0fa5.esm.js → faceCaptureManagerFactory-B7Ms6pSs.esm.js} +68 -7
- package/dist/{faceCaptureManagerFactory-BxWPpxyd.d.ts → faceCaptureManagerFactory-BeUl8fl1.d.ts} +86 -54
- package/dist/faceCaptureSetup-bkAlr5d8.esm.js +2067 -0
- package/dist/{faceMatchManager-Ri4UbNz0.esm.js → faceMatchManager-Bmv0HzuY.esm.js} +2 -2
- package/dist/{faceMatchStateMachine-20DdZ3jg.esm.js → faceMatchStateMachine-mRIHQ3dA.esm.js} +1 -1
- package/dist/{feature-management-CPQ4qv3F.esm.js → feature-management-E0mq0pMs.esm.js} +32 -7
- package/dist/feature-management.d.ts +1 -1
- package/dist/feature-management.esm.js +1 -1
- package/dist/field-comparison.esm.js +1 -1
- package/dist/{fieldComparisonManager-Cg6kPQQx.esm.js → fieldComparisonManager-CC-klG0h.esm.js} +2 -2
- package/dist/fiscal-qr.d.ts +2 -56
- package/dist/fiscal-qr.esm.js +2 -308
- package/dist/fiscalQrManager-B1STmT6z.d.ts +71 -0
- package/dist/fiscalQrManager-BunLVFbd.esm.js +34143 -0
- package/dist/flow-events.d.ts +1 -1
- package/dist/flow.d.ts +212 -185
- package/dist/flow.esm.js +119 -30
- package/dist/{flowCompletionService-tfeoGre9.esm.js → flowCompletionService-DJp1odGN.esm.js} +2 -2
- package/dist/{flowServices-f5Ruz7R9.esm.js → flowServices-DjPFGs_D.esm.js} +91 -26
- package/dist/geolocation.esm.js +2 -2
- package/dist/{geolocationManager-CH6RfqFH.esm.js → geolocationManager-D5906YXx.esm.js} +2 -2
- package/dist/{geolocationStateMachine-DmbWFely.esm.js → geolocationStateMachine-BVOduc3y.esm.js} +3 -3
- package/dist/getBrowser-CBiibsL-.esm.js +19 -0
- package/dist/{getBrowser-DNrQeL4T.esm.js → getBrowser-Cbe1C4Tn.esm.js} +2 -1
- package/dist/{getDeviceClass-9y-kbVDw.esm.js → getDeviceClass-5NYZg9s6.esm.js} +2 -2
- package/dist/getParsedUserAgent-B2iFDql1.esm.js +1278 -0
- package/dist/government-validation.d.ts +2 -85
- package/dist/government-validation.esm.js +3 -120
- package/dist/governmentValidationManager-CacFOtKO.esm.js +79 -0
- package/dist/governmentValidationManager-D02vT4yY.d.ts +63 -0
- package/dist/governmentValidationStateMachine-CoaZOSTP.esm.js +54 -0
- package/dist/home.d.ts +1 -1
- package/dist/home.esm.js +1 -1
- package/dist/id-ocr.d.ts +2 -2
- package/dist/id-ocr.esm.js +2 -2
- package/dist/id-selfie-flow.d.ts +3 -2
- package/dist/id-selfie-flow.esm.js +11 -10
- package/dist/id-verification.esm.js +2 -2
- package/dist/id.d.ts +29 -5
- package/dist/id.esm.js +48 -46
- package/dist/idCaptureDefaults-CbPA-Auz.esm.js +727 -0
- package/dist/{idCaptureManager-CqrqSjJV.d.ts → idCaptureManager-DKESug0R.d.ts} +230 -43
- package/dist/{idCaptureManager-BYwTZ2H8.esm.js → idCaptureManager-rfV9dIXy.esm.js} +259 -46
- package/dist/{idCaptureServices-44kwQItl.esm.js → idCaptureServices-i1KxugN7.esm.js} +285 -72
- package/dist/idCaptureStateMachine-Ne_PXth_.esm.js +5333 -0
- package/dist/{idOcrManager-DXc_xRN7.d.ts → idOcrManager-BF_cXZq8.d.ts} +1 -1
- package/dist/{idOcrManager-BIQYQXXj.esm.js → idOcrManager-r46XfZGE.esm.js} +2 -2
- package/dist/{idOcrStateMachine-cSxzHpHt.esm.js → idOcrStateMachine-ClDEP-VI.esm.js} +1 -1
- package/dist/{idVerificationManager-JpV_SAsl.esm.js → idVerificationManager-DT42c77H.esm.js} +2 -2
- package/dist/{idVerificationStateMachine-nPeUNyFq.esm.js → idVerificationStateMachine-DbDVIh9t.esm.js} +1 -1
- package/dist/identity-reuse.esm.js +2 -2
- package/dist/{identityReuseManager-kNCg9AbD.esm.js → identityReuseManager-yG3acUrQ.esm.js} +2 -2
- package/dist/{identityReuseStateMachine-DyulxDjP.esm.js → identityReuseStateMachine-BhAkuIra.esm.js} +1 -1
- package/dist/{index-CLMF0QLQ.d.ts → index-DLcJT5YP.d.ts} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/{invokeOnCaptureCallback-GpvMuz9o.esm.js → invokeOnCaptureCallback-BjzPjJ_p.esm.js} +1 -1
- package/dist/mandatory-consent.d.ts +2 -2
- package/dist/mandatory-consent.esm.js +2 -2
- package/dist/{mandatoryConsentManager-B4Niyg_u.esm.js → mandatoryConsentManager-7dI0D08q.esm.js} +2 -2
- package/dist/{mandatoryConsentManager-DyPzUmsZ.d.ts → mandatoryConsentManager-vhv1co_n.d.ts} +1 -1
- package/dist/{mandatoryConsentStateMachine-B4-1u-L8.esm.js → mandatoryConsentStateMachine-DC5Mo6M1.esm.js} +1 -1
- package/dist/multipartRecordingService-OEgIRvqC.esm.js +605 -0
- package/dist/{permissionGuards-KINpmKtI.esm.js → permissionGuards-uYZYFu4J.esm.js} +1 -1
- package/dist/{permissionServices-UvUcOSRb.esm.js → permissionServices-Bj_fyWtv.esm.js} +5 -5
- package/dist/personhood.d.ts +6 -5
- package/dist/personhood.esm.js +10 -10
- package/dist/phone.esm.js +2 -2
- package/dist/{phoneManager-FsJ0W2Ei.esm.js → phoneManager-IjhSv5XS.esm.js} +2 -2
- package/dist/{phoneStateMachine-Ba0wKHyX.esm.js → phoneStateMachine-CXdXufKg.esm.js} +1 -1
- package/dist/{platform-BJrm5nzZ.esm.js → platform-DkcRc9JV.esm.js} +29 -1
- package/dist/qe-signature.d.ts +5 -3
- package/dist/qe-signature.esm.js +2 -2
- package/dist/redirect-to-mobile.esm.js +2 -2
- package/dist/{redirectToMobileManager-y4VQB11M.esm.js → redirectToMobileManager-FLEWJtv8.esm.js} +2 -2
- package/dist/{redirectToMobileStateMachine-Cyv2x0PP.esm.js → redirectToMobileStateMachine-CSWWgUTO.esm.js} +1 -1
- package/dist/{rolldown-runtime-FZ4Itg2g.esm.js → rolldown-runtime-FDOR9p9I.esm.js} +1 -19
- package/dist/{runChildModule-Dukuw23X.esm.js → runChildModule-CI1gGWN1.esm.js} +3 -21
- package/dist/safeStorage-B-trhxg6.esm.js +423 -0
- package/dist/{sdkVersion-D1Bm59g6.esm.js → sdkVersion-BZh6dj53.esm.js} +1 -1
- package/dist/selfie.d.ts +5 -5
- package/dist/selfie.esm.js +14 -76
- package/dist/{selfieErrorUtils-C2PYBVsp.esm.js → selfieErrorUtils-UiQ46EBa.esm.js} +30 -4
- package/dist/{selfieManager-DwlCppg0.d.ts → selfieManager-4RRLi21P.d.ts} +8 -11
- package/dist/{selfieManager-Bj6B2ZVy.esm.js → selfieManager-B-2c1n_x.esm.js} +5 -5
- package/dist/selfieStateMachine-Bzx41R8d.esm.js +69 -0
- package/dist/{session-BFdLgN4i.esm.js → session-3LmvAU4S.esm.js} +4 -5
- package/dist/session.d.ts +21 -11
- package/dist/session.esm.js +5 -5
- package/dist/{sessionInitializer-dlfDehHk.esm.js → sessionInitializer-BFk33E67.esm.js} +187 -68
- package/dist/{setup-BIAtLa8k.esm.js → setup-BWG-hivt.esm.js} +226 -100
- package/dist/{setup-BgoWtvIS.d.ts → setup-Cv-JM9QC.d.ts} +63 -69
- package/dist/signature.esm.js +2 -2
- package/dist/{signatureManager-Ca43yhwk.esm.js → signatureManager-B72np4ZO.esm.js} +2 -2
- package/dist/{signatureStateMachine-K1LMRrxG.esm.js → signatureStateMachine-ce_XMA3l.esm.js} +1 -1
- package/dist/{src-0Jurt29N.esm.js → src-35ekGRzK.esm.js} +1 -1
- package/dist/{stats-B0nFKawG.esm.js → stats-CZcy2J53.esm.js} +1 -1
- package/dist/stats.esm.js +1 -1
- package/dist/{trueSightService---iW2KKJ.esm.js → trueSightService-BN-Hzw82.esm.js} +7 -7
- package/dist/trust-graph.esm.js +1 -1
- package/dist/{types-BX_XkMsQ2.d.ts → types-9_esGTPj.d.ts} +1 -1
- package/dist/types-BT_Oalip.d.ts +1 -0
- package/dist/{types-DelMqZLe.d.ts → types-BjSly8cp.d.ts} +1 -1
- package/dist/{types-Hmd7U0JA.d.ts → types-Bnl58jUQ.d.ts} +6 -85
- package/dist/types-ChAowIxT.d.ts +6 -0
- package/dist/{types-DVmXIdzW.d.ts → types-D0gekt4U.d.ts} +38 -5
- package/dist/types-DgDvvzg0.d.ts +10 -0
- package/dist/{types-KPvmag_B.d.ts → types-Do5rEXij.d.ts} +7 -4
- package/dist/{types-Bdf8_LYB2.d.ts → types-byBHOzCG2.d.ts} +305 -25
- package/dist/video-selfie.d.ts +59 -35
- package/dist/video-selfie.esm.js +510 -601
- package/dist/{videoSelfieCameraWarmer-NEhFZvWx.esm.js → videoSelfieCameraWarmer-B8PcYqmz.esm.js} +14 -153
- package/dist/videoSelfieFlowModuleMachine-BUe2uACW.esm.js +32 -0
- package/dist/{videoSelfieStepDetector-D3oo2ofo.d.ts → videoSelfieStepDetector-Co0Gu2k2.d.ts} +59 -13
- package/dist/virtualCameraCheck-Cjab7FTI.esm.js +48 -0
- package/dist/warmup-CUUnwYxe.esm.js +714 -0
- package/dist/warmup-Cis2p6O0.d.ts +128 -0
- package/dist/wasm.d.ts +30 -6
- package/dist/wasm.esm.js +36 -4
- package/dist/{wasmDsFlagSync-BqUCwLY8.esm.js → wasmDsFlagSync-B2e8p268.esm.js} +2 -2
- package/dist/{wasmWebClient-DM8lkb0z.esm.js → wasmWebClient-B7baE-Wf.esm.js} +358 -28
- package/dist/watchlist-for-business.d.ts +2 -78
- package/dist/watchlist-for-business.esm.js +3 -102
- package/dist/watchlist.esm.js +2 -2
- package/dist/watchlistForBusinessManager-CIMkpEhu.esm.js +107 -0
- package/dist/watchlistForBusinessManager-CsnJnG-C.d.ts +99 -0
- package/dist/{watchlistForBusinessStateMachine-CxFnlshm.esm.js → watchlistForBusinessStateMachine-CJ-MvUre.esm.js} +13 -6
- package/dist/{watchlistManager-LoNZH9qm.esm.js → watchlistManager-CixcLNDT.esm.js} +2 -2
- package/dist/{watchlistStateMachine-DIKQDoUT.esm.js → watchlistStateMachine-CBqk2w-h.esm.js} +1 -1
- package/dist/workflow.d.ts +12 -8
- package/dist/workflow.esm.js +48 -39
- package/package.json +4 -10
- package/dist/BrowserStorageProvider-k-FDkC4W.esm.js +0 -67
- package/dist/FaceDetectionProvider-Mh6q3EbA.d.ts +0 -349
- package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +0 -23
- package/dist/IStorageCapability-ORkQfK3F.d.ts +0 -242
- package/dist/OpenViduRecordingProvider-Du98qevC.esm.js +0 -85
- package/dist/createFaceAvatar-BEj18KXi.d.ts +0 -50
- package/dist/document-upload.d.ts +0 -325
- package/dist/document-upload.esm.js +0 -197
- package/dist/electronicSignatureManager-CcUXQZS7.d.ts +0 -1300
- package/dist/faceCaptureSetup-Cd-04W_X.esm.js +0 -863
- package/dist/getBrowser-Cb8Zgrgp.esm.js +0 -7
- package/dist/getParsedUserAgent-pJjATANs.esm.js +0 -1622
- package/dist/governmentValidationStateMachine-CK9DrZXX.esm.js +0 -226
- package/dist/idCaptureDefaults-WeHbQM7W.esm.js +0 -225
- package/dist/idCaptureStateMachine-kZ5OpdfM.esm.js +0 -3342
- package/dist/lib-DAyUtOTj.esm.js +0 -12420
- package/dist/manualReviewService-D4IkipnN.esm.js +0 -15
- package/dist/mediaRecorderOptions-dALSV8af.esm.js +0 -40
- package/dist/onDeviceFaceResults-CUHwyZT4.esm.js +0 -646
- package/dist/openviduLazy-CCDpFWg1.esm.js +0 -10
- package/dist/recordingService-3NSENVwp.esm.js +0 -329
- package/dist/safeStorage-Ep56I-f_.esm.js +0 -982
- package/dist/selfieStateMachine-CHV_WNst.esm.js +0 -55
- package/dist/trueSight-B_icM8r2.esm.js +0 -1
- package/dist/types-EELWyWpd.d.ts +0 -6
- package/dist/types-Vb4P9ovf.d.ts +0 -22
- package/dist/warmup-Dv2alr2-.d.ts +0 -82
- package/dist/wasmDefaults-DTUrftxR.esm.js +0 -125
- package/dist/{Face2DProvider-UUQt_vRC.esm.js → Face2DProvider-BF48sz5c.esm.js} +1 -1
- package/dist/{PrivacyLensProvider-D8PS7AJa.esm.js → PrivacyLensProvider-EwnC_C5n.esm.js} +1 -1
- /package/dist/{types-BfgmV7s72.d.ts → types-BfgmV7s7.d.ts} +0 -0
- /package/dist/{types-CJ7Yl9K-2.d.ts → types-CJ7Yl9K-.d.ts} +0 -0
|
@@ -1,232 +1,2 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
|
|
3
|
-
import { t as topLevelStateName } from "./topLevelStateName-B5i2avbh.esm.js";
|
|
4
|
-
import { t as endpoints } from "./endpoints-CCzL3XD_.esm.js";
|
|
5
|
-
import { i as assign, s as createActor, t as setup, u as createManager } from "./xstate.esm-BuFLFuzz.esm.js";
|
|
6
|
-
import { n as fromPromise } from "./xstate-actors.esm-BXeQ-Ucz.esm.js";
|
|
7
|
-
import { t as isoDateToMs } from "./dateUtils-CvG0FvK8.esm.js";
|
|
8
|
-
//#region src/modules/custom-fields/customFieldsServices.ts
|
|
9
|
-
async function submitCustomFields(params, signal) {
|
|
10
|
-
const res = await api.post(endpoints.addCustomFields, params.fields, { signal });
|
|
11
|
-
if (!res.ok) throw new Error(`POST ${endpoints.addCustomFields} failed: ${res.status} ${res.statusText}`);
|
|
12
|
-
return res.data;
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
//#region src/modules/custom-fields/customFieldsStateMachine.ts
|
|
16
|
-
function transformFields(fields, customFields) {
|
|
17
|
-
const result = {};
|
|
18
|
-
for (const [key, value] of Object.entries(fields)) if (customFields.find((f) => f.name === key)?.type === "DATE" && typeof value === "string" && value !== "") result[key] = isoDateToMs(value);
|
|
19
|
-
else result[key] = value;
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
22
|
-
const customFieldsMachine = setup({
|
|
23
|
-
types: {
|
|
24
|
-
context: {},
|
|
25
|
-
events: {},
|
|
26
|
-
input: {}
|
|
27
|
-
},
|
|
28
|
-
actors: { submitFields: fromPromise(async ({ input, signal }) => {
|
|
29
|
-
return submitCustomFields({ fields: transformFields(input.fields, input.customFields) }, signal);
|
|
30
|
-
}) },
|
|
31
|
-
actions: {
|
|
32
|
-
setField: assign(({ context, event }) => {
|
|
33
|
-
const e = event;
|
|
34
|
-
return { fields: {
|
|
35
|
-
...context.fields,
|
|
36
|
-
[e.name]: e.value
|
|
37
|
-
} };
|
|
38
|
-
}),
|
|
39
|
-
markSuccess: assign({ result: "success" }),
|
|
40
|
-
markFailed: assign({ result: "failed" })
|
|
41
|
-
},
|
|
42
|
-
guards: { apiSucceeded: ({ event }) => event.output.success }
|
|
43
|
-
}).createMachine({
|
|
44
|
-
id: "customFields",
|
|
45
|
-
initial: "idle",
|
|
46
|
-
context: ({ input }) => ({
|
|
47
|
-
config: input.config,
|
|
48
|
-
fields: {},
|
|
49
|
-
result: null
|
|
50
|
-
}),
|
|
51
|
-
states: {
|
|
52
|
-
idle: { on: { LOAD: { target: "inputting" } } },
|
|
53
|
-
inputting: { on: {
|
|
54
|
-
FIELD_CHANGED: { actions: "setField" },
|
|
55
|
-
SUBMIT: { target: "submitting" }
|
|
56
|
-
} },
|
|
57
|
-
submitting: { invoke: {
|
|
58
|
-
id: "submitFields",
|
|
59
|
-
src: "submitFields",
|
|
60
|
-
input: ({ context }) => ({
|
|
61
|
-
fields: context.fields,
|
|
62
|
-
customFields: context.config.customFields
|
|
63
|
-
}),
|
|
64
|
-
onDone: [{
|
|
65
|
-
target: "success",
|
|
66
|
-
guard: "apiSucceeded"
|
|
67
|
-
}, {
|
|
68
|
-
target: "finished",
|
|
69
|
-
actions: "markFailed"
|
|
70
|
-
}],
|
|
71
|
-
onError: {
|
|
72
|
-
target: "finished",
|
|
73
|
-
actions: "markFailed"
|
|
74
|
-
}
|
|
75
|
-
} },
|
|
76
|
-
success: { after: { 3e3: {
|
|
77
|
-
target: "finished",
|
|
78
|
-
actions: "markSuccess"
|
|
79
|
-
} } },
|
|
80
|
-
finished: { type: "final" }
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
//#endregion
|
|
84
|
-
//#region src/modules/custom-fields/customFieldsActor.ts
|
|
85
|
-
function createCustomFieldsActor(options) {
|
|
86
|
-
return createActor(customFieldsMachine, { input: { config: options.config } }).start();
|
|
87
|
-
}
|
|
88
|
-
//#endregion
|
|
89
|
-
//#region src/modules/custom-fields/customFieldsManager.ts
|
|
90
|
-
/**
|
|
91
|
-
* Maps a custom-fields state-machine snapshot to the exact Figma "Tracked
|
|
92
|
-
* Events" screen name. Returned strings are the Figma-verbatim absolute
|
|
93
|
-
* analytics path emitted as-is on `event.screen` by
|
|
94
|
-
* `createManagerInstrumentation`'s `getEventScreenName` path. See
|
|
95
|
-
* `docs/patterns/INSTRUMENTATION.md`.
|
|
96
|
-
*
|
|
97
|
-
* Source of truth: Custom Fields Figma file → Tracked Events canvas
|
|
98
|
-
* (`https://www.figma.com/design/Fb4Jp6kal8clAD05Kh6l4e/Custom-fields---Latest-Design?node-id=2026-30075`).
|
|
99
|
-
* The canvas mixes two casings — sections name the input surfaces
|
|
100
|
-
* `Customfield.{empty,filled}` (capital `C`) and the post-input surfaces
|
|
101
|
-
* `customfield.{processing,complete}` (lowercase `c`). Both spellings are
|
|
102
|
-
* preserved verbatim as Figma is the source of truth.
|
|
103
|
-
*
|
|
104
|
-
* State → screen mapping rationale:
|
|
105
|
-
*
|
|
106
|
-
* - `idle`/`inputting` collapse to `Customfield.empty` — the SM stays in
|
|
107
|
-
* `inputting` throughout typing (field-level `FIELD_CHANGED` events are
|
|
108
|
-
* context-only and don't fire a new `screenOpened`). The Figma
|
|
109
|
-
* `Customfield.filled` surface is therefore a UI sub-state of `inputting`
|
|
110
|
-
* (computed in `mapState` as `canSubmit`), not a discrete SM state, and
|
|
111
|
-
* collapses onto the section's primary `Customfield.empty` screen.
|
|
112
|
-
* - `submitting` → `customfield.processing` — submit in-flight.
|
|
113
|
-
* - `success` → `customfield.complete` — happy-path success surface (auto-
|
|
114
|
-
* advances to `finished` after 3 s).
|
|
115
|
-
* - `finished` is intentionally unmapped: it is dual-outcome (success or
|
|
116
|
-
* failed — failures route here with `result: 'failed'` since the machine
|
|
117
|
-
* has no `error` state) and Figma defines no failure screen. Mapping
|
|
118
|
-
* `finished` onto `customfield.complete` would mis-report failures, so the
|
|
119
|
-
* adapter falls back to the generic `<module>.finished` default.
|
|
120
|
-
*/
|
|
121
|
-
function getCustomFieldsScreenName(snapshot) {
|
|
122
|
-
const stateName = topLevelStateName(snapshot.value);
|
|
123
|
-
if (stateName === void 0) return void 0;
|
|
124
|
-
switch (stateName) {
|
|
125
|
-
case "idle":
|
|
126
|
-
case "inputting": return "Customfield.empty";
|
|
127
|
-
case "submitting": return "customfield.processing";
|
|
128
|
-
case "success": return "customfield.complete";
|
|
129
|
-
default: return;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
function toDisplayLabel(field) {
|
|
133
|
-
if (field.alias) return field.alias;
|
|
134
|
-
return field.name.replace(/([A-Z])/g, " $1").replace(/^./, (s) => s.toUpperCase());
|
|
135
|
-
}
|
|
136
|
-
function isFormComplete(fields, customFields) {
|
|
137
|
-
return customFields.every((f) => {
|
|
138
|
-
if (f.type === "BOOLEAN") return true;
|
|
139
|
-
const value = fields[f.name];
|
|
140
|
-
return value !== void 0 && value !== "";
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
function mapState(snapshot) {
|
|
144
|
-
const typedSnapshot = snapshot;
|
|
145
|
-
const { context } = typedSnapshot;
|
|
146
|
-
if (typedSnapshot.matches("idle")) return { status: "idle" };
|
|
147
|
-
if (typedSnapshot.matches("inputting")) return {
|
|
148
|
-
status: "inputting",
|
|
149
|
-
title: context.config.title,
|
|
150
|
-
customFields: context.config.customFields.map((f) => ({
|
|
151
|
-
...f,
|
|
152
|
-
label: toDisplayLabel(f)
|
|
153
|
-
})),
|
|
154
|
-
canSubmit: isFormComplete(context.fields, context.config.customFields)
|
|
155
|
-
};
|
|
156
|
-
if (typedSnapshot.matches("submitting")) return {
|
|
157
|
-
status: "submitting",
|
|
158
|
-
title: context.config.title
|
|
159
|
-
};
|
|
160
|
-
if (typedSnapshot.matches("success")) return { status: "success" };
|
|
161
|
-
return {
|
|
162
|
-
status: "finished",
|
|
163
|
-
result: typedSnapshot.context.result
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
function createApi({ actor }) {
|
|
167
|
-
return {
|
|
168
|
-
/**
|
|
169
|
-
* Initializes the custom fields flow.
|
|
170
|
-
* Transitions from 'idle' to 'inputting'.
|
|
171
|
-
* Must be called before any other method.
|
|
172
|
-
*/
|
|
173
|
-
load() {
|
|
174
|
-
actor.send({ type: "LOAD" });
|
|
175
|
-
},
|
|
176
|
-
/**
|
|
177
|
-
* Updates the value of a single field.
|
|
178
|
-
* Should be called when state is 'inputting'.
|
|
179
|
-
*
|
|
180
|
-
* @param name - The field name (matches CustomField.name)
|
|
181
|
-
* @param value - The field value (string, number, or boolean)
|
|
182
|
-
*/
|
|
183
|
-
setField(name, value) {
|
|
184
|
-
actor.send({
|
|
185
|
-
type: "FIELD_CHANGED",
|
|
186
|
-
name,
|
|
187
|
-
value
|
|
188
|
-
});
|
|
189
|
-
},
|
|
190
|
-
/**
|
|
191
|
-
* Submits all custom field values to the backend.
|
|
192
|
-
* Transitions to 'submitting', then 'finished' regardless of outcome.
|
|
193
|
-
*/
|
|
194
|
-
submit() {
|
|
195
|
-
actor.send({ type: "SUBMIT" });
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Creates a custom fields manager for headless or UI-driven usage.
|
|
201
|
-
*
|
|
202
|
-
* @param options - Configuration options
|
|
203
|
-
* @param options.config - Custom fields configuration (title + field definitions)
|
|
204
|
-
*
|
|
205
|
-
* @returns Custom fields manager with state, API methods, and subscription
|
|
206
|
-
*
|
|
207
|
-
* @example Headless usage
|
|
208
|
-
* ```typescript
|
|
209
|
-
* const manager = createCustomFieldsManager({
|
|
210
|
-
* config: {
|
|
211
|
-
* title: 'Additional Information',
|
|
212
|
-
* customFields: [{ name: 'company', alias: 'Company', type: 'STRING' }],
|
|
213
|
-
* },
|
|
214
|
-
* });
|
|
215
|
-
*
|
|
216
|
-
* manager.subscribe((state) => console.log(state.status));
|
|
217
|
-
* manager.load();
|
|
218
|
-
* manager.setField('company', 'Incode');
|
|
219
|
-
* manager.submit();
|
|
220
|
-
* manager.stop();
|
|
221
|
-
* ```
|
|
222
|
-
*/
|
|
223
|
-
function createCustomFieldsManager(options) {
|
|
224
|
-
return createManager({
|
|
225
|
-
actor: createCustomFieldsActor(options),
|
|
226
|
-
mapState,
|
|
227
|
-
createApi,
|
|
228
|
-
instrumentation: createManagerInstrumentation(eventModuleNames.customFields, { getEventScreenName: getCustomFieldsScreenName })
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
//#endregion
|
|
232
|
-
export { createCustomFieldsManager, customFieldsMachine };
|
|
1
|
+
import { n as createCustomFieldsManagerFromActor, r as customFieldsMachine, t as createCustomFieldsManager } from "./customFieldsManager-CzWZTkW-.esm.js";
|
|
2
|
+
export { createCustomFieldsManager, createCustomFieldsManagerFromActor, customFieldsMachine };
|
|
@@ -1,53 +1,4 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
//#region src/modules/custom-watchlist/customWatchlistStateMachine.d.ts
|
|
3
|
-
type CustomWatchlistResult = 'success' | 'skipped';
|
|
4
|
-
declare const customWatchlistMachine: any;
|
|
5
|
-
//#endregion
|
|
6
|
-
//#region src/modules/custom-watchlist/customWatchlistManager.d.ts
|
|
7
|
-
type CustomWatchlistIdleState = {
|
|
8
|
-
status: 'idle';
|
|
9
|
-
};
|
|
10
|
-
type CustomWatchlistProcessingState = {
|
|
11
|
-
status: 'processing';
|
|
12
|
-
};
|
|
13
|
-
type CustomWatchlistSuccessState = {
|
|
14
|
-
status: 'success';
|
|
15
|
-
};
|
|
16
|
-
type CustomWatchlistFinishedState = {
|
|
17
|
-
status: 'finished';
|
|
18
|
-
result: CustomWatchlistResult;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Union of all possible custom watchlist manager states.
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```typescript
|
|
25
|
-
* const state = customWatchlistManager.getState();
|
|
26
|
-
* if (state.status === 'finished') {
|
|
27
|
-
* console.log('Custom watchlist check complete');
|
|
28
|
-
* }
|
|
29
|
-
* ```
|
|
30
|
-
*/
|
|
31
|
-
type CustomWatchlistState = CustomWatchlistIdleState | CustomWatchlistProcessingState | CustomWatchlistSuccessState | CustomWatchlistFinishedState;
|
|
32
|
-
/**
|
|
33
|
-
* Creates a custom watchlist manager for headless or UI-driven usage.
|
|
34
|
-
*
|
|
35
|
-
* @example Headless usage
|
|
36
|
-
* ```typescript
|
|
37
|
-
* const manager = createCustomWatchlistManager();
|
|
38
|
-
* manager.subscribe((state) => console.log(state.status));
|
|
39
|
-
* manager.load();
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
declare function createCustomWatchlistManager(): Manager<CustomWatchlistState> & {
|
|
43
|
-
/**
|
|
44
|
-
* Kicks off the custom watchlist check.
|
|
45
|
-
* Transitions from 'idle' to 'processing'.
|
|
46
|
-
*/
|
|
47
|
-
load(): void;
|
|
48
|
-
};
|
|
49
|
-
type CustomWatchlistManager = ReturnType<typeof createCustomWatchlistManager>;
|
|
50
|
-
//#endregion
|
|
1
|
+
import { a as CustomWatchlistActor, i as createCustomWatchlistManagerFromActor, n as CustomWatchlistState, o as customWatchlistMachine, r as createCustomWatchlistManager, t as CustomWatchlistManager } from "./customWatchlistManager-PBWHr_oM.js";
|
|
51
2
|
//#region src/modules/custom-watchlist/types.d.ts
|
|
52
3
|
/**
|
|
53
4
|
* Configuration for the custom watchlist module (INCODE_WATCHLIST flow key).
|
|
@@ -62,4 +13,4 @@ type CustomWatchlistConfig = {
|
|
|
62
13
|
autoExecution: boolean;
|
|
63
14
|
};
|
|
64
15
|
//#endregion
|
|
65
|
-
export { type CustomWatchlistConfig, type CustomWatchlistManager, type CustomWatchlistState, createCustomWatchlistManager, customWatchlistMachine };
|
|
16
|
+
export { type CustomWatchlistActor, type CustomWatchlistConfig, type CustomWatchlistManager, type CustomWatchlistState, createCustomWatchlistManager, createCustomWatchlistManagerFromActor, customWatchlistMachine };
|
|
@@ -1,70 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
|
|
4
|
-
import { t as customWatchlistMachine } from "./customWatchlistStateMachine-YWSgKLbF.esm.js";
|
|
5
|
-
//#region src/modules/custom-watchlist/customWatchlistActor.ts
|
|
6
|
-
function createCustomWatchlistActor() {
|
|
7
|
-
return createActor(customWatchlistMachine).start();
|
|
8
|
-
}
|
|
9
|
-
//#endregion
|
|
10
|
-
//#region src/modules/custom-watchlist/customWatchlistManager.ts
|
|
11
|
-
/**
|
|
12
|
-
* Maps a Custom Watchlist state-machine snapshot to the exact Figma
|
|
13
|
-
* "Tracked Events" screen name. Source: Watchlist | Custom Watchlist
|
|
14
|
-
* Figma file (`https://www.figma.com/design/Xm4BgXotNwdi5iRdHTIX0N/Watchlist-%7C-Custom-Watchlist----Latest-Design?node-id=3031-82920`).
|
|
15
|
-
* Family is `watchlist.*`, shared with the global watchlist manager — both
|
|
16
|
-
* keep their own module token (`watchlist` vs `customWatchlist`) per the
|
|
17
|
-
* AdSign/QSign precedent.
|
|
18
|
-
*
|
|
19
|
-
* `idle` and `finished` are intentionally unmapped — the Figma canvas does
|
|
20
|
-
* not define screens for them; `finished` collapses into `moduleClosed`.
|
|
21
|
-
*/
|
|
22
|
-
function getCustomWatchlistScreenName(snapshot) {
|
|
23
|
-
const stateName = topLevelStateName(snapshot.value);
|
|
24
|
-
if (stateName === void 0) return void 0;
|
|
25
|
-
switch (stateName) {
|
|
26
|
-
case "processing": return "watchlist.processing";
|
|
27
|
-
case "success": return "watchlist.success";
|
|
28
|
-
default: return;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
function mapState(snapshot) {
|
|
32
|
-
const typedSnapshot = snapshot;
|
|
33
|
-
if (typedSnapshot.matches("processing")) return { status: "processing" };
|
|
34
|
-
if (typedSnapshot.matches("success")) return { status: "success" };
|
|
35
|
-
if (typedSnapshot.matches("finished")) return {
|
|
36
|
-
status: "finished",
|
|
37
|
-
result: typedSnapshot.context.result ?? "skipped"
|
|
38
|
-
};
|
|
39
|
-
return { status: "idle" };
|
|
40
|
-
}
|
|
41
|
-
function createApi({ actor }) {
|
|
42
|
-
return {
|
|
43
|
-
/**
|
|
44
|
-
* Kicks off the custom watchlist check.
|
|
45
|
-
* Transitions from 'idle' to 'processing'.
|
|
46
|
-
*/
|
|
47
|
-
load() {
|
|
48
|
-
actor.send({ type: "LOAD" });
|
|
49
|
-
} };
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Creates a custom watchlist manager for headless or UI-driven usage.
|
|
53
|
-
*
|
|
54
|
-
* @example Headless usage
|
|
55
|
-
* ```typescript
|
|
56
|
-
* const manager = createCustomWatchlistManager();
|
|
57
|
-
* manager.subscribe((state) => console.log(state.status));
|
|
58
|
-
* manager.load();
|
|
59
|
-
* ```
|
|
60
|
-
*/
|
|
61
|
-
function createCustomWatchlistManager() {
|
|
62
|
-
return createManager({
|
|
63
|
-
actor: createCustomWatchlistActor(),
|
|
64
|
-
mapState,
|
|
65
|
-
createApi,
|
|
66
|
-
instrumentation: createManagerInstrumentation(eventModuleNames.customWatchList, { getEventScreenName: getCustomWatchlistScreenName })
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
//#endregion
|
|
70
|
-
export { createCustomWatchlistManager, customWatchlistMachine };
|
|
1
|
+
import { t as customWatchlistMachine } from "./customWatchlistStateMachine-DOQou6TW.esm.js";
|
|
2
|
+
import { n as createCustomWatchlistManagerFromActor, t as createCustomWatchlistManager } from "./customWatchlistManager-DWTED5Ur.esm.js";
|
|
3
|
+
export { createCustomWatchlistManager, createCustomWatchlistManagerFromActor, customWatchlistMachine };
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { i as ActorRefFrom } from "./spawn-D9jgw9pW.js";
|
|
2
|
+
import { t as Manager } from "./Manager-CQQ99QOI.js";
|
|
3
|
+
import "./Actor-iTq7YY48.js";
|
|
4
|
+
//#region src/modules/custom-fields/types.d.ts
|
|
5
|
+
type CustomFieldType = 'INTEGER' | 'DOUBLE' | 'BOOLEAN' | 'STRING' | 'DATE';
|
|
6
|
+
type CustomField = {
|
|
7
|
+
name: string;
|
|
8
|
+
alias: string;
|
|
9
|
+
type: CustomFieldType;
|
|
10
|
+
};
|
|
11
|
+
type CustomFieldsConfig = {
|
|
12
|
+
title: string;
|
|
13
|
+
customFields: CustomField[];
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/modules/custom-fields/customFieldsStateMachine.d.ts
|
|
17
|
+
type CustomFieldsResult = 'success' | 'failed';
|
|
18
|
+
type CustomFieldsValidationErrors = Record<string, string>;
|
|
19
|
+
declare const customFieldsMachine: any;
|
|
20
|
+
type CustomFieldsMachine = typeof customFieldsMachine;
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region src/modules/custom-fields/customFieldsActor.d.ts
|
|
23
|
+
type CreateCustomFieldsActorOptions = {
|
|
24
|
+
config: CustomFieldsConfig;
|
|
25
|
+
};
|
|
26
|
+
type CustomFieldsActor = ActorRefFrom<CustomFieldsMachine>;
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/modules/custom-fields/customFieldsManager.d.ts
|
|
29
|
+
/**
|
|
30
|
+
* A `CustomField` enriched with a computed `label` for display.
|
|
31
|
+
* Label is derived from `alias` when present, otherwise auto-formatted from `name`.
|
|
32
|
+
*/
|
|
33
|
+
type MappedCustomField = CustomField & {
|
|
34
|
+
label: string;
|
|
35
|
+
};
|
|
36
|
+
/** Custom fields manager is in initial state, waiting for `load()` to be called */
|
|
37
|
+
type CustomFieldsIdleState = {
|
|
38
|
+
status: 'idle';
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Ready for field input — use `setField()` and `submit()`
|
|
42
|
+
* @property title - Form title from configuration
|
|
43
|
+
* @property customFields - Field definitions with computed display labels
|
|
44
|
+
* @property validationErrors - Required-field errors surfaced after a failed submit attempt
|
|
45
|
+
* @property canSubmit - Optimistically true until validation errors are displayed
|
|
46
|
+
*/
|
|
47
|
+
type CustomFieldsInputtingState = {
|
|
48
|
+
status: 'inputting';
|
|
49
|
+
title: string;
|
|
50
|
+
customFields: MappedCustomField[];
|
|
51
|
+
validationErrors?: CustomFieldsValidationErrors;
|
|
52
|
+
canSubmit: boolean;
|
|
53
|
+
};
|
|
54
|
+
/** Fields are being submitted to the backend */
|
|
55
|
+
type CustomFieldsSubmittingState = {
|
|
56
|
+
status: 'submitting';
|
|
57
|
+
title: string;
|
|
58
|
+
};
|
|
59
|
+
/** API call succeeded — success page is visible for ~3 s before finishing */
|
|
60
|
+
type CustomFieldsSuccessState = {
|
|
61
|
+
status: 'success';
|
|
62
|
+
};
|
|
63
|
+
/** Custom fields flow complete. `result` indicates whether the API call succeeded or failed. */
|
|
64
|
+
type CustomFieldsFinishedState = {
|
|
65
|
+
status: 'finished';
|
|
66
|
+
result: CustomFieldsResult | null;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Union of all possible custom fields manager states.
|
|
70
|
+
*/
|
|
71
|
+
type CustomFieldsState = CustomFieldsIdleState | CustomFieldsInputtingState | CustomFieldsSubmittingState | CustomFieldsSuccessState | CustomFieldsFinishedState;
|
|
72
|
+
/**
|
|
73
|
+
* Creates a custom fields manager for headless or UI-driven usage.
|
|
74
|
+
*
|
|
75
|
+
* @param options - Configuration options
|
|
76
|
+
* @param options.config - Custom fields configuration (title + field definitions)
|
|
77
|
+
*
|
|
78
|
+
* @returns Custom fields manager with state, API methods, and subscription
|
|
79
|
+
*
|
|
80
|
+
* @example Headless usage
|
|
81
|
+
* ```typescript
|
|
82
|
+
* const manager = createCustomFieldsManager({
|
|
83
|
+
* config: {
|
|
84
|
+
* title: 'Additional Information',
|
|
85
|
+
* customFields: [{ name: 'company', alias: 'Company', type: 'STRING' }],
|
|
86
|
+
* },
|
|
87
|
+
* });
|
|
88
|
+
*
|
|
89
|
+
* manager.subscribe((state) => console.log(state.status));
|
|
90
|
+
* manager.load();
|
|
91
|
+
* manager.setField('company', 'Incode');
|
|
92
|
+
* manager.submit();
|
|
93
|
+
* manager.stop();
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
declare function createCustomFieldsManager(options: CreateCustomFieldsActorOptions): Manager<CustomFieldsState> & {
|
|
97
|
+
/**
|
|
98
|
+
* Initializes the custom fields flow.
|
|
99
|
+
* Transitions from 'idle' to 'inputting'.
|
|
100
|
+
* Must be called before any other method.
|
|
101
|
+
*/
|
|
102
|
+
load(): void;
|
|
103
|
+
/**
|
|
104
|
+
* Updates the value of a single field.
|
|
105
|
+
* Should be called when state is 'inputting'.
|
|
106
|
+
*
|
|
107
|
+
* @param name - The field name (matches CustomField.name)
|
|
108
|
+
* @param value - The field value (string, number, or boolean)
|
|
109
|
+
*/
|
|
110
|
+
setField(name: string, value: string | number | boolean): void;
|
|
111
|
+
/**
|
|
112
|
+
* Submits all custom field values to the backend.
|
|
113
|
+
* Transitions to 'submitting', then 'finished' regardless of outcome.
|
|
114
|
+
*/
|
|
115
|
+
submit(): void;
|
|
116
|
+
};
|
|
117
|
+
declare function createCustomFieldsManagerFromActor(actor: CustomFieldsActor): Manager<CustomFieldsState> & {
|
|
118
|
+
/**
|
|
119
|
+
* Initializes the custom fields flow.
|
|
120
|
+
* Transitions from 'idle' to 'inputting'.
|
|
121
|
+
* Must be called before any other method.
|
|
122
|
+
*/
|
|
123
|
+
load(): void;
|
|
124
|
+
/**
|
|
125
|
+
* Updates the value of a single field.
|
|
126
|
+
* Should be called when state is 'inputting'.
|
|
127
|
+
*
|
|
128
|
+
* @param name - The field name (matches CustomField.name)
|
|
129
|
+
* @param value - The field value (string, number, or boolean)
|
|
130
|
+
*/
|
|
131
|
+
setField(name: string, value: string | number | boolean): void;
|
|
132
|
+
/**
|
|
133
|
+
* Submits all custom field values to the backend.
|
|
134
|
+
* Transitions to 'submitting', then 'finished' regardless of outcome.
|
|
135
|
+
*/
|
|
136
|
+
submit(): void;
|
|
137
|
+
};
|
|
138
|
+
/** Type representing a custom fields manager instance. */
|
|
139
|
+
type CustomFieldsManager = ReturnType<typeof createCustomFieldsManager>;
|
|
140
|
+
//#endregion
|
|
141
|
+
export { createCustomFieldsManagerFromActor as a, customFieldsMachine as c, CustomFieldsConfig as d, createCustomFieldsManager as i, CustomField as l, CustomFieldsState as n, CustomFieldsActor as o, MappedCustomField as r, CustomFieldsValidationErrors as s, CustomFieldsManager as t, CustomFieldType as u };
|