@incodetech/web 2.1.1 → 2.2.0-rc.0
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/ae-signature/ae-signature.es.js +7 -4
- package/dist/antifraud/antifraud.es.js +6 -6
- package/dist/authentication/authentication.es.js +7 -7
- package/dist/{autoFocusTitle-CuRu2lPg.js → autoFocusTitle-gLba2mgp.js} +6 -3
- package/dist/{back-horizontal-hint-xTnSQbzn.js → back-horizontal-hint-BBGuJ75y.js} +1 -1
- package/dist/{back-vertical-hint-BWWlHfX2.js → back-vertical-hint-B9usJ5lY.js} +1 -1
- package/dist/base.css +425 -3290
- package/dist/{bottomSheet-CnWbbUAM.js → bottomSheet-Cp8DLulN.js} +7 -8
- package/dist/certificate-issuance/certificate-issuance.es.js +34 -87
- package/dist/certificate-issuance/styles.css +0 -41
- package/dist/{checkbox-1wUHSoaK.js → checkbox-C38Elx0O.js} +5 -5
- package/dist/connectionError-DAeXp8sE.js +45 -0
- package/dist/consent/consent.es.js +10 -12
- package/dist/consent/styles.css +5 -4
- package/dist/{countrySelector-SvUOyPo0.js → countrySelector-2t-ZTgGo.js} +3 -3
- package/dist/cross-document-data-match/cross-document-data-match.es.js +13 -10
- package/dist/curp-validation/curp-validation.es.js +28 -29
- package/dist/curp-validation/styles.css +47 -0
- package/dist/{customFields-BDsXR7A-.js → customFields-B8HQZ7Mh.js} +13 -14
- package/dist/{customWatchlist-CYoRNCim.js → customWatchlist-_tUmZ855.js} +9 -9
- package/dist/dashboardTheme-CVliZSR-.js +223 -0
- package/dist/{dateInputComposed-DuaofcBl.js → dateInputComposed-eRcbt_SL.js} +5 -5
- package/dist/dateInputComposed-ks0-opuq.js +1 -0
- package/dist/document-capture/document-capture.es.js +1 -1
- package/dist/document-capture/styles.css +85 -70
- package/dist/{documentCapture-DhbO-A-V.js → documentCapture-BvEGCYj-.js} +218 -136
- package/dist/documentCapture-DdHdRPzR.js +2 -0
- package/dist/{dropdownComposed-CoU0enG6.js → dropdownComposed-OHDHzt1Q.js} +18 -11
- package/dist/dropdownComposed-kjG4UblM.js +1 -0
- package/dist/dynamic-forms/styles.css +58 -6
- package/dist/{dynamicForms-BifGbC9F.js → dynamicForms-P-4E42IA.js} +53 -45
- package/dist/ekyb/ekyb.es.js +1 -1
- package/dist/ekyb/styles.css +1 -28
- package/dist/ekybModule-CiaxFHXo.js +2 -0
- package/dist/{ekybModule-DGnTw5UV.js → ekybModule-DmjkzVWE.js} +51 -27
- package/dist/ekyc/ekyc.es.js +1 -1
- package/dist/ekyc/styles.css +2 -2
- package/dist/ekycModule-BVt10kgv.js +2 -0
- package/dist/{ekycModule-Dxpdd0ns.js → ekycModule-Da1Fm7ai.js} +45 -19
- package/dist/electronic-signature/electronic-signature.es.js +1 -1
- package/dist/{ae-signature → electronic-signature}/styles.css +2 -2
- package/dist/{electronic-signature-Ueoffasr.js → electronic-signature-yamI6zHM.js} +31 -23
- package/dist/email/email.es.js +10 -11
- package/dist/{emailInput-DsLkDtER.js → emailInput-B0P2Q-pk.js} +4 -4
- package/dist/{expiredId-BZXLrLk-.js → expiredId-BXXE3srN.js} +6 -6
- package/dist/{extensibility-7sRIN0JC.js → extensibility-iJYzpW6H.js} +440 -374
- package/dist/extensibility.es.js +24 -28
- package/dist/face-match/face-match.es.js +1 -1
- package/dist/face-match/styles.css +9 -609
- package/dist/faceMatch-D4XFihTc.js +2 -0
- package/dist/{faceMatch-DyTBoMDm.js → faceMatch-VtEZvsen.js} +71 -79
- package/dist/field-comparison/field-comparison.es.js +1 -1
- package/dist/fieldComparison-B_r9Bal7.js +2 -0
- package/dist/{fieldComparison-L_knHqgw.js → fieldComparison-NLdDSOEh.js} +11 -12
- package/dist/finalSuccessScreen-DryADx1n.js +500 -0
- package/dist/fiscal-qr/fiscal-qr.es.js +12 -12
- package/dist/flip-animation-CvN8FLNc.js +6996 -0
- package/dist/flow/flow.es.js +81 -45
- package/dist/flow/styles.css +908 -5423
- package/dist/{front-horizontal-hint-B84GgTO1.js → front-horizontal-hint-D3CrWViZ.js} +1 -1
- package/dist/{front-vertical-hint-Bs_avngq.js → front-vertical-hint-BoLZvyx5.js} +1 -1
- package/dist/geolocation/geolocation.es.js +36 -13
- package/dist/geolocation/styles.css +1 -1
- package/dist/government-validation/government-validation.es.js +11 -12
- package/dist/{homeScreen-B6T0JVh8.js → homeScreen-Pv3v_0ji.js} +7 -9
- package/dist/{icons-CJJbIpBq.js → icons--ezYG2Fb.js} +92 -7
- package/dist/id/id.es.js +222 -52
- package/dist/id/styles.css +290 -10
- package/dist/id-back-of-card-DO593HH8.js +83 -0
- package/dist/id-back-of-card-vertical-DArEQ0hE.js +88 -0
- package/dist/id-front-of-card-Bcit7Pnq.js +308 -0
- package/dist/id-front-of-card-vertical-Bcr-KXcl.js +278 -0
- package/dist/id-laser-h-BaUHzX-d.js +480 -0
- package/dist/{id-laser-v-BiUXkM4x.js → id-laser-v-Dv9yEYJE.js} +7 -17
- package/dist/id-selfie-flow/id-selfie-flow.es.js +239 -0
- package/dist/id-selfie-flow/styles.css +749 -0
- package/dist/id-verification/id-verification.es.js +13 -9
- package/dist/{idOcr-WFBvqy3b.js → idOcr-gsIXHq6R.js} +14 -15
- package/dist/identity-reuse/identity-reuse.es.js +6 -8
- package/dist/identity-reuse/styles.css +1 -1
- package/dist/{incode-logo-57XFniXU.js → incode-logo-rGFjZHqi.js} +64 -1
- package/dist/incodeComponent-K9ZWg302.js +713 -0
- package/dist/incodeModule-CcLzar_X.js +25 -0
- package/dist/index.es.js +16 -5
- package/dist/{inputComposed-C1R2LAa3.js → inputComposed-BeROn635.js} +9 -9
- package/dist/inputComposed-CADVQW-o.js +1 -0
- package/dist/{mandatoryConsent-D0GTKu-H.js → mandatoryConsent-BtqB-FxY.js} +9 -11
- package/dist/{capture-CkGvdDNH.js → manualCaptureButton-quGa2ufS.js} +68 -198
- package/dist/manualCaptureButton-t_oIol88.js +300 -0
- package/dist/{modal-OxkFuuiR.js → modal-BjjJFpZu.js} +4 -4
- package/dist/{modal.hooks-ZrzmHAUa.js → modal.hooks-BvXzNWvY.js} +1 -1
- package/dist/{numberedStep-CEb-lFJm.js → numberedStep-DUs77Gy3.js} +1 -1
- package/dist/{optionAccessibleLabel-gfF-58Mv.js → optionAccessibleLabel-DgfHD_mx.js} +6 -6
- package/dist/{otpInput-CnDc6pQm.js → otpInput-D5dLXrmC.js} +72 -36
- package/dist/{passport-horizontal-hint-Bj0ZJY0g.js → passport-horizontal-hint-DgnU-8bl.js} +1 -1
- package/dist/{passport-vertical-hint-Dfk77xUJ.js → passport-vertical-hint-Dd2Wknw7.js} +1 -1
- package/dist/{pdf-BqtJTlor.js → pdf-BUoY_2gv.js} +1 -1
- package/dist/pdfViewer-CZb6obcZ.js +2 -0
- package/dist/{pdfViewer-B97DmT9m.js → pdfViewer-vud1VZv6.js} +5 -7
- package/dist/phone/phone.es.js +13 -12
- package/dist/{phoneInputComposed-DMiXfF-1.js → phoneInputComposed-CeVWTS_O.js} +7 -6
- package/dist/{processing-BeUMfdJJ.js → processing-BsvHyDWa.js} +2 -2
- package/dist/qe-signature/qe-signature.es.js +7 -4
- package/dist/{radioGroupComposed-DuQxslB2.js → radioGroupComposed-DzNGUbZQ.js} +16 -15
- package/dist/redirect-to-mobile/redirect-to-mobile.es.js +132 -45
- package/dist/redirect-to-mobile/styles.css +20 -10
- package/dist/{registerIncodeElement-DaNjbAwZ.js → registerIncodeElement-BduCekz5.js} +1 -1
- package/dist/{richText-CB1fmegc.js → richText-CTHBpZOw.js} +3 -1607
- package/dist/selfie/selfie.es.js +10 -10
- package/dist/selfie/styles.css +16 -949
- package/dist/signature/signature.es.js +27 -19
- package/dist/{ae-signature/styles2.css → signature/styles.css} +4 -4
- package/dist/{snackbar-DS7Mv62v.js → snackbar-C9Mqrh0e.js} +2 -2
- package/dist/spacer-CDlQd12V.js +2344 -0
- package/dist/{spinner-BMeIEK1d.js → spinner-CLZ2fz4u.js} +45 -4
- package/dist/statusPage--GVFSUJp.js +36 -0
- package/dist/{successIcon-B5mGvdx1.js → successIcon-Bj8Y9CuI.js} +1 -1
- package/dist/{tabs-C__chW-u.js → tabs-DweBZTV2.js} +4 -3
- package/dist/themes/dark.css +35 -0
- package/dist/themes/light.css +35 -0
- package/dist/{tutorial-CCfPuVKX.js → tutorial-BZZC93Ur.js} +222 -180
- package/dist/types/ae-signature.d.ts +91 -5
- package/dist/types/antifraud.d.ts +86 -3
- package/dist/types/authentication.d.ts +86 -3
- package/dist/types/certificate-issuance.d.ts +86 -3
- package/dist/types/consent.d.ts +86 -3
- package/dist/types/cross-document-data-match.d.ts +88 -4
- package/dist/types/curp-validation.d.ts +86 -3
- package/dist/types/document-capture.d.ts +88 -4
- package/dist/types/ekyb.d.ts +88 -4
- package/dist/types/ekyc.d.ts +88 -4
- package/dist/types/electronic-signature.d.ts +87 -4
- package/dist/types/email.d.ts +82 -22
- package/dist/types/extensibility.d.ts +157 -5
- package/dist/types/face-match.d.ts +84 -22
- package/dist/types/field-comparison.d.ts +86 -3
- package/dist/types/fiscal-qr.d.ts +89 -5
- package/dist/types/flow.d.ts +92 -2
- package/dist/types/geolocation.d.ts +86 -3
- package/dist/types/government-validation.d.ts +86 -3
- package/dist/types/id-selfie-flow.d.ts +161 -0
- package/dist/types/id-verification.d.ts +87 -4
- package/dist/types/id.d.ts +88 -5
- package/dist/types/identity-reuse.d.ts +82 -2
- package/dist/types/index.d.ts +106 -1
- package/dist/types/phone.d.ts +83 -24
- package/dist/types/qe-signature.d.ts +91 -5
- package/dist/types/redirect-to-mobile.d.ts +4 -1
- package/dist/types/selfie.d.ts +86 -3
- package/dist/types/signature.d.ts +91 -5
- package/dist/types/video-selfie.d.ts +83 -6
- package/dist/types/watchlist.d.ts +91 -5
- package/dist/types/workflow.d.ts +85 -2
- package/dist/{i18n-CU4xq8qC.js → uiConfig-B5ASPUL4.js} +26 -3
- package/dist/{useModuleLoader-Bi26kJbg.js → useModuleLoader-D_YpuVsS.js} +37 -248
- package/dist/{vendor-preact-DThS2ZQ_.js → vendor-preact-mvwZ8mJj.js} +1 -1
- package/dist/{verificationResult-BWWkmeiA.js → verificationResult-B8HwR07t.js} +26 -15
- package/dist/video-selfie/styles.css +349 -1202
- package/dist/video-selfie/video-selfie.es.js +120 -381
- package/dist/watchlist/watchlist.es.js +16 -13
- package/dist/{watchlistForBusiness-D2Uo_TwF.js → watchlistForBusiness-D8Is99bZ.js} +12 -13
- package/dist/workflow/styles.css +501 -3977
- package/dist/workflow/workflow.es.js +25 -18
- package/package.json +22 -20
- package/dist/button-Dz6AsbmF.js +0 -40
- package/dist/cameraView-DIEzM5ru.js +0 -47
- package/dist/cpf-ocr/cpf-ocr.es.js +0 -2
- package/dist/cpf-ocr/styles.css +0 -45
- package/dist/cpfOcr-B79245-3.js +0 -2
- package/dist/cpfOcr-BhxT-lRN.js +0 -92
- package/dist/dateInputComposed-DRzZi6uy.js +0 -1
- package/dist/documentCapture-DXYYyxZl.js +0 -2
- package/dist/dropdownComposed-BAoxIIsE.js +0 -1
- package/dist/ekybModule-C6Nttked.js +0 -2
- package/dist/ekycModule-CDIEjI6V.js +0 -2
- package/dist/errorIcon-BA4T6iy-.js +0 -26
- package/dist/faceMatch-B_HvxLm_.js +0 -2
- package/dist/fieldComparison-DfNEuEE5.js +0 -2
- package/dist/flip-animation-CZYSUtMm.js +0 -6983
- package/dist/hooks-CNu7o-v8.js +0 -186
- package/dist/id-laser-h-CzPegPMn.js +0 -467
- package/dist/incodeComponent-CfzJGETt.js +0 -64
- package/dist/incodeModule-B-4_3JrK.js +0 -13
- package/dist/inputComposed-BaY5q9WM.js +0 -1
- package/dist/loadingIcon-B0ysgiNq.js +0 -148
- package/dist/page-DidH_RkX.js +0 -171
- package/dist/spinner-BCDCoi9C.js +0 -1
- package/dist/statusPage-Bk8nJwXV.js +0 -28
- package/dist/transitionSpinner-CuNCqHNi.js +0 -30
- package/dist/types/cpf-ocr.d.ts +0 -12
- package/dist/typography-BZIpjo97.js +0 -45
- package/dist/uiConfig-D2_wawvr.js +0 -25
- /package/dist/{aligndevicelottie-DFscByAI.js → aligndevicelottie-CfoZ5Uus.js} +0 -0
- /package/dist/{back-tutorial-cI_4VHmE.js → back-tutorial-BHyRHyET.js} +0 -0
- /package/dist/{backdevicelottie-COyhTrxM.js → backdevicelottie-yKkczgFy.js} +0 -0
- /package/dist/{blurdevicelottie-BLVeJHEG.js → blurdevicelottie-8BbophdM.js} +0 -0
- /package/dist/{browser-ponyfill-Df13Th-G.js → browser-ponyfill-CBjGwwPW.js} +0 -0
- /package/dist/{defineProperty-Qjefk7Uf.js → defineProperty-BbpBna-2.js} +0 -0
- /package/dist/{frontdevicelottie-B4tE2PYQ.js → frontdevicelottie-CFcahVLk.js} +0 -0
- /package/dist/{glaredevicelottie-D1pR73sx.js → glaredevicelottie-Cnvah0kz.js} +0 -0
- /package/dist/{id-tutorial-DwO90SAm.js → id-tutorial-BOOsXlAJ.js} +0 -0
- /package/dist/{lottie_light-C6B2ec41.js → lottie_light-Bv56F2Ae.js} +0 -0
- /package/dist/{passport-tutorial-D9JNsMsM.js → passport-tutorial-CeSup6m9.js} +0 -0
- /package/dist/{requiredLabelHint-D0RhuMed.js → requiredLabelHint-Dx0WS2cR.js} +0 -0
- /package/dist/{selfieTutorial-pB-N-fj5.js → selfieTutorial-CYa8bq6B.js} +0 -0
|
@@ -1,9 +1,65 @@
|
|
|
1
|
+
import { DeepPartial } from '@incodetech/core/flow';
|
|
1
2
|
import { FC } from 'preact/compat';
|
|
2
3
|
import { FiscalQrConfig } from '@incodetech/core/fiscal-qr';
|
|
4
|
+
import { FiscalQrManager } from '@incodetech/core/fiscal-qr';
|
|
5
|
+
import { FunctionComponent } from 'preact';
|
|
6
|
+
import { SVGProps } from 'preact/compat';
|
|
3
7
|
|
|
4
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Allowlisted keys for overridable Lottie animations
|
|
10
|
+
*/
|
|
11
|
+
declare type AnimationKey = 'id.tutorial.front' | 'id.tutorial.back' | 'id.tutorial.passport' | 'id.flip' | 'id.processing' | 'selfie.tutorial' | 'loader.spinner';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A customer-supplied replacement for a built-in Lottie animation.
|
|
15
|
+
*
|
|
16
|
+
* - `LottieAnimationData` — a parsed Lottie JSON object.
|
|
17
|
+
* - `{ url }` — fetched and cached at runtime.
|
|
18
|
+
* - `{ animationData }` — explicit object form.
|
|
19
|
+
*/
|
|
20
|
+
declare type AnimationOverride = LottieAnimationData | {
|
|
21
|
+
url: string;
|
|
22
|
+
} | {
|
|
23
|
+
animationData: LottieAnimationData;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
declare type AnimationOverrides = Partial<Record<AnimationKey, AnimationOverride>>;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Allowlisted keys for overridable branded SVG illustrations
|
|
30
|
+
*/
|
|
31
|
+
declare type AssetKey = 'faceMatch.success' | 'faceMatch.fail' | 'documentCapture.tutorial' | 'id.uploadScreen' | 'id.ageVerification.dob' | 'id.ageVerification.scan' | 'id.ageVerification.privacy' | 'videoSelfie.success' | 'videoSelfie.fail' | 'videoSelfie.tutorial.permission' | 'videoSelfie.tutorial.selfie' | 'videoSelfie.tutorial.frontId' | 'videoSelfie.tutorial.backId' | 'videoSelfie.tutorial.poa' | 'videoSelfie.tutorial.questions' | 'videoSelfie.tutorial.speech' | 'loader.spinner';
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* A customer-supplied replacement for a built-in SVG illustration.
|
|
35
|
+
*
|
|
36
|
+
* - `string` — a URL, or raw `<svg …>` markup (detected by a leading `<`).
|
|
37
|
+
* - `{ url }` — fetched and rendered via `<img>`; no script execution.
|
|
38
|
+
* - `{ raw }` — inline markup; sanitized before injection.
|
|
39
|
+
* - `{ svg }` — a precompiled component, for build-time integrations.
|
|
40
|
+
*/
|
|
41
|
+
declare type AssetOverride = string | {
|
|
42
|
+
url: string;
|
|
43
|
+
} | {
|
|
44
|
+
raw: string;
|
|
45
|
+
} | {
|
|
46
|
+
svg: SvgComponent;
|
|
47
|
+
};
|
|
5
48
|
|
|
6
|
-
declare type
|
|
49
|
+
declare type AssetOverrides = Partial<Record<AssetKey, AssetOverride>>;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* A module `config` intersected with the per-instance override maps. Typed at
|
|
53
|
+
* the UI boundary so core config types (e.g. `IdCaptureConfig`) stay untouched;
|
|
54
|
+
* `FlowConfig` also declares the maps directly.
|
|
55
|
+
*/
|
|
56
|
+
declare type ConfigWithOverrides<TConfig> = TConfig & InstanceOverrides;
|
|
57
|
+
|
|
58
|
+
export declare const FiscalQr: FC<Omit<FiscalQrProps, "config"> & {
|
|
59
|
+
config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
|
|
60
|
+
}>;
|
|
61
|
+
|
|
62
|
+
declare type FiscalQrProps = IncodeModuleProps<FiscalQrConfig, void, FiscalQrManager>;
|
|
7
63
|
|
|
8
64
|
/**
|
|
9
65
|
* Extra context passed to `onFinish` alongside the result. Lets a host decide
|
|
@@ -25,12 +81,16 @@ declare type IncodeFinishMeta = {
|
|
|
25
81
|
sdkOwnsTerminalScreen?: boolean;
|
|
26
82
|
};
|
|
27
83
|
|
|
28
|
-
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown
|
|
84
|
+
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
|
|
29
85
|
/**
|
|
30
86
|
* Module configuration required to render the flow.
|
|
31
87
|
* For Web Components, this is typically assigned via `element.config = ...`.
|
|
88
|
+
*
|
|
89
|
+
* Also carries optional per-instance `assets`/`animations` override maps;
|
|
90
|
+
* they override the global `setup({ uiConfig })` values for this
|
|
91
|
+
* element only and are ignored by the core manager.
|
|
32
92
|
*/
|
|
33
|
-
config?:
|
|
93
|
+
config?: TConfigInput;
|
|
34
94
|
/**
|
|
35
95
|
* Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
|
|
36
96
|
*/
|
|
@@ -56,10 +116,34 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
|
|
|
56
116
|
onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
|
|
57
117
|
};
|
|
58
118
|
|
|
119
|
+
/**
|
|
120
|
+
* Per-instance asset/animation overrides for a single mounted SDK module.
|
|
121
|
+
*
|
|
122
|
+
* These ride on the module's `config` prop and are published once at the
|
|
123
|
+
* module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
|
|
124
|
+
* reads them via {@link useInstanceOverrides} without any prop drilling.
|
|
125
|
+
*/
|
|
126
|
+
declare type InstanceOverrides = {
|
|
127
|
+
assets?: AssetOverrides;
|
|
128
|
+
animations?: AnimationOverrides;
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
declare type LottieAnimationData = {
|
|
132
|
+
fr: number;
|
|
133
|
+
v: string;
|
|
134
|
+
ip: number;
|
|
135
|
+
op: number;
|
|
136
|
+
w: number;
|
|
137
|
+
h: number;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
/** An SVG imported as a Preact component (the `?react` import shape). */
|
|
141
|
+
declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
|
|
142
|
+
|
|
59
143
|
export { }
|
|
60
144
|
|
|
61
145
|
declare global {
|
|
62
146
|
interface HTMLElementTagNameMap {
|
|
63
|
-
'incode-fiscal-qr': HTMLElement & IncodeModuleProps<FiscalQrConfig>;
|
|
147
|
+
'incode-fiscal-qr': HTMLElement & IncodeModuleProps<FiscalQrConfig, void, FiscalQrManager>;
|
|
64
148
|
}
|
|
65
149
|
}
|
package/dist/types/flow.d.ts
CHANGED
|
@@ -2,20 +2,74 @@ import { CreateSessionOptions } from '@incodetech/core/session';
|
|
|
2
2
|
import { FC } from 'preact/compat';
|
|
3
3
|
import { FinishStatus } from '@incodetech/core/flow';
|
|
4
4
|
import { FlowEvent } from '@incodetech/core/flow-events';
|
|
5
|
+
import { FunctionComponent } from 'preact';
|
|
6
|
+
import { SVGProps } from 'preact/compat';
|
|
5
7
|
import { WasmConfig } from '@incodetech/core/wasm';
|
|
6
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Allowlisted keys for overridable Lottie animations
|
|
11
|
+
*/
|
|
12
|
+
declare type AnimationKey = 'id.tutorial.front' | 'id.tutorial.back' | 'id.tutorial.passport' | 'id.flip' | 'id.processing' | 'selfie.tutorial' | 'loader.spinner';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* A customer-supplied replacement for a built-in Lottie animation.
|
|
16
|
+
*
|
|
17
|
+
* - `LottieAnimationData` — a parsed Lottie JSON object.
|
|
18
|
+
* - `{ url }` — fetched and cached at runtime.
|
|
19
|
+
* - `{ animationData }` — explicit object form.
|
|
20
|
+
*/
|
|
21
|
+
declare type AnimationOverride = LottieAnimationData | {
|
|
22
|
+
url: string;
|
|
23
|
+
} | {
|
|
24
|
+
animationData: LottieAnimationData;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
declare type AnimationOverrides = Partial<Record<AnimationKey, AnimationOverride>>;
|
|
28
|
+
|
|
7
29
|
declare type ApiKeySessionBootstrap = {
|
|
8
30
|
apiKey: string;
|
|
9
31
|
clientId?: string;
|
|
10
32
|
};
|
|
11
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Allowlisted keys for overridable branded SVG illustrations
|
|
36
|
+
*/
|
|
37
|
+
declare type AssetKey = 'faceMatch.success' | 'faceMatch.fail' | 'documentCapture.tutorial' | 'id.uploadScreen' | 'id.ageVerification.dob' | 'id.ageVerification.scan' | 'id.ageVerification.privacy' | 'videoSelfie.success' | 'videoSelfie.fail' | 'videoSelfie.tutorial.permission' | 'videoSelfie.tutorial.selfie' | 'videoSelfie.tutorial.frontId' | 'videoSelfie.tutorial.backId' | 'videoSelfie.tutorial.poa' | 'videoSelfie.tutorial.questions' | 'videoSelfie.tutorial.speech' | 'loader.spinner';
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* A customer-supplied replacement for a built-in SVG illustration.
|
|
41
|
+
*
|
|
42
|
+
* - `string` — a URL, or raw `<svg …>` markup (detected by a leading `<`).
|
|
43
|
+
* - `{ url }` — fetched and rendered via `<img>`; no script execution.
|
|
44
|
+
* - `{ raw }` — inline markup; sanitized before injection.
|
|
45
|
+
* - `{ svg }` — a precompiled component, for build-time integrations.
|
|
46
|
+
*/
|
|
47
|
+
declare type AssetOverride = string | {
|
|
48
|
+
url: string;
|
|
49
|
+
} | {
|
|
50
|
+
raw: string;
|
|
51
|
+
} | {
|
|
52
|
+
svg: SvgComponent;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
declare type AssetOverrides = Partial<Record<AssetKey, AssetOverride>>;
|
|
56
|
+
|
|
12
57
|
declare type ClientIdSessionBootstrap = {
|
|
13
58
|
apiKey?: string;
|
|
14
59
|
clientId: string;
|
|
15
60
|
};
|
|
16
61
|
|
|
62
|
+
/**
|
|
63
|
+
* A module `config` intersected with the per-instance override maps. Typed at
|
|
64
|
+
* the UI boundary so core config types (e.g. `IdCaptureConfig`) stay untouched;
|
|
65
|
+
* `FlowConfig` also declares the maps directly.
|
|
66
|
+
*/
|
|
67
|
+
declare type ConfigWithOverrides<TConfig> = TConfig & InstanceOverrides;
|
|
68
|
+
|
|
17
69
|
declare type FlowBaseConfig = {
|
|
18
70
|
authHint?: string;
|
|
71
|
+
/** Login-hint prefill forwarded to the Dynamic Forms module's `prefillValue`. Distinct from `authHint`. */
|
|
72
|
+
loginHintPrefill?: string;
|
|
19
73
|
wasmConfig?: WasmConfig;
|
|
20
74
|
lang?: string;
|
|
21
75
|
disableDashboardTheme?: boolean;
|
|
@@ -43,6 +97,14 @@ declare type FlowUiConfig = {
|
|
|
43
97
|
onWasmWarmup?: (pipelines: string[]) => void;
|
|
44
98
|
onUrlUuidRefreshed?: (urlUuid: string) => void;
|
|
45
99
|
spinnerConfig?: SpinnerConfig;
|
|
100
|
+
/**
|
|
101
|
+
* Per-instance branded-asset overrides for this flow. Override
|
|
102
|
+
* the global `setup({ uiConfig })` values for this flow instance and its
|
|
103
|
+
* modules; keyed to the published allowlist.
|
|
104
|
+
*/
|
|
105
|
+
assets?: AssetOverrides;
|
|
106
|
+
/** Per-instance Lottie-animation overrides for this flow. */
|
|
107
|
+
animations?: AnimationOverrides;
|
|
46
108
|
};
|
|
47
109
|
|
|
48
110
|
/**
|
|
@@ -69,12 +131,16 @@ export declare const IncodeFlow: FC<IncodeFlowProps>;
|
|
|
69
131
|
|
|
70
132
|
declare type IncodeFlowProps = IncodeModuleProps<FlowConfig, FinishStatus>;
|
|
71
133
|
|
|
72
|
-
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown
|
|
134
|
+
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
|
|
73
135
|
/**
|
|
74
136
|
* Module configuration required to render the flow.
|
|
75
137
|
* For Web Components, this is typically assigned via `element.config = ...`.
|
|
138
|
+
*
|
|
139
|
+
* Also carries optional per-instance `assets`/`animations` override maps;
|
|
140
|
+
* they override the global `setup({ uiConfig })` values for this
|
|
141
|
+
* element only and are ignored by the core manager.
|
|
76
142
|
*/
|
|
77
|
-
config?:
|
|
143
|
+
config?: TConfigInput;
|
|
78
144
|
/**
|
|
79
145
|
* Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
|
|
80
146
|
*/
|
|
@@ -100,6 +166,27 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
|
|
|
100
166
|
onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
|
|
101
167
|
};
|
|
102
168
|
|
|
169
|
+
/**
|
|
170
|
+
* Per-instance asset/animation overrides for a single mounted SDK module.
|
|
171
|
+
*
|
|
172
|
+
* These ride on the module's `config` prop and are published once at the
|
|
173
|
+
* module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
|
|
174
|
+
* reads them via {@link useInstanceOverrides} without any prop drilling.
|
|
175
|
+
*/
|
|
176
|
+
declare type InstanceOverrides = {
|
|
177
|
+
assets?: AssetOverrides;
|
|
178
|
+
animations?: AnimationOverrides;
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
declare type LottieAnimationData = {
|
|
182
|
+
fr: number;
|
|
183
|
+
v: string;
|
|
184
|
+
ip: number;
|
|
185
|
+
op: number;
|
|
186
|
+
w: number;
|
|
187
|
+
h: number;
|
|
188
|
+
};
|
|
189
|
+
|
|
103
190
|
/**
|
|
104
191
|
* Preload runs before the Flow component mounts and only prefetches the flow
|
|
105
192
|
* config + theme — it never burns a urlUuid. Allowing one would silently skip
|
|
@@ -135,6 +222,9 @@ declare type SpinnerConfig = {
|
|
|
135
222
|
|
|
136
223
|
declare type SpinnerSize = 'small' | 'medium' | 'large';
|
|
137
224
|
|
|
225
|
+
/** An SVG imported as a Preact component (the `?react` import shape). */
|
|
226
|
+
declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
|
|
227
|
+
|
|
138
228
|
declare type TokenFlowRuntimeConfig = FlowBaseConfig & {
|
|
139
229
|
token: string;
|
|
140
230
|
/** QR anti-phishing token from the incoming URL (mobile leg of a desktop→mobile redirect).
|
|
@@ -1,8 +1,63 @@
|
|
|
1
|
+
import { DeepPartial } from '@incodetech/core/flow';
|
|
1
2
|
import { FC } from 'preact/compat';
|
|
3
|
+
import { FunctionComponent } from 'preact';
|
|
2
4
|
import { GeolocationConfig } from '@incodetech/core/geolocation';
|
|
3
5
|
import { GeolocationManager } from '@incodetech/core/geolocation';
|
|
6
|
+
import { SVGProps } from 'preact/compat';
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Allowlisted keys for overridable Lottie animations
|
|
10
|
+
*/
|
|
11
|
+
declare type AnimationKey = 'id.tutorial.front' | 'id.tutorial.back' | 'id.tutorial.passport' | 'id.flip' | 'id.processing' | 'selfie.tutorial' | 'loader.spinner';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A customer-supplied replacement for a built-in Lottie animation.
|
|
15
|
+
*
|
|
16
|
+
* - `LottieAnimationData` — a parsed Lottie JSON object.
|
|
17
|
+
* - `{ url }` — fetched and cached at runtime.
|
|
18
|
+
* - `{ animationData }` — explicit object form.
|
|
19
|
+
*/
|
|
20
|
+
declare type AnimationOverride = LottieAnimationData | {
|
|
21
|
+
url: string;
|
|
22
|
+
} | {
|
|
23
|
+
animationData: LottieAnimationData;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
declare type AnimationOverrides = Partial<Record<AnimationKey, AnimationOverride>>;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Allowlisted keys for overridable branded SVG illustrations
|
|
30
|
+
*/
|
|
31
|
+
declare type AssetKey = 'faceMatch.success' | 'faceMatch.fail' | 'documentCapture.tutorial' | 'id.uploadScreen' | 'id.ageVerification.dob' | 'id.ageVerification.scan' | 'id.ageVerification.privacy' | 'videoSelfie.success' | 'videoSelfie.fail' | 'videoSelfie.tutorial.permission' | 'videoSelfie.tutorial.selfie' | 'videoSelfie.tutorial.frontId' | 'videoSelfie.tutorial.backId' | 'videoSelfie.tutorial.poa' | 'videoSelfie.tutorial.questions' | 'videoSelfie.tutorial.speech' | 'loader.spinner';
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* A customer-supplied replacement for a built-in SVG illustration.
|
|
35
|
+
*
|
|
36
|
+
* - `string` — a URL, or raw `<svg …>` markup (detected by a leading `<`).
|
|
37
|
+
* - `{ url }` — fetched and rendered via `<img>`; no script execution.
|
|
38
|
+
* - `{ raw }` — inline markup; sanitized before injection.
|
|
39
|
+
* - `{ svg }` — a precompiled component, for build-time integrations.
|
|
40
|
+
*/
|
|
41
|
+
declare type AssetOverride = string | {
|
|
42
|
+
url: string;
|
|
43
|
+
} | {
|
|
44
|
+
raw: string;
|
|
45
|
+
} | {
|
|
46
|
+
svg: SvgComponent;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
declare type AssetOverrides = Partial<Record<AssetKey, AssetOverride>>;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* A module `config` intersected with the per-instance override maps. Typed at
|
|
53
|
+
* the UI boundary so core config types (e.g. `IdCaptureConfig`) stay untouched;
|
|
54
|
+
* `FlowConfig` also declares the maps directly.
|
|
55
|
+
*/
|
|
56
|
+
declare type ConfigWithOverrides<TConfig> = TConfig & InstanceOverrides;
|
|
57
|
+
|
|
58
|
+
declare const Geolocation_2: FC<Omit<GeolocationProps, "config"> & {
|
|
59
|
+
config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
|
|
60
|
+
}>;
|
|
6
61
|
export { Geolocation_2 as Geolocation }
|
|
7
62
|
|
|
8
63
|
declare type GeolocationProps = IncodeModuleProps<GeolocationConfig> & {
|
|
@@ -29,12 +84,16 @@ declare type IncodeFinishMeta = {
|
|
|
29
84
|
sdkOwnsTerminalScreen?: boolean;
|
|
30
85
|
};
|
|
31
86
|
|
|
32
|
-
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown
|
|
87
|
+
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
|
|
33
88
|
/**
|
|
34
89
|
* Module configuration required to render the flow.
|
|
35
90
|
* For Web Components, this is typically assigned via `element.config = ...`.
|
|
91
|
+
*
|
|
92
|
+
* Also carries optional per-instance `assets`/`animations` override maps;
|
|
93
|
+
* they override the global `setup({ uiConfig })` values for this
|
|
94
|
+
* element only and are ignored by the core manager.
|
|
36
95
|
*/
|
|
37
|
-
config?:
|
|
96
|
+
config?: TConfigInput;
|
|
38
97
|
/**
|
|
39
98
|
* Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
|
|
40
99
|
*/
|
|
@@ -60,6 +119,30 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
|
|
|
60
119
|
onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
|
|
61
120
|
};
|
|
62
121
|
|
|
122
|
+
/**
|
|
123
|
+
* Per-instance asset/animation overrides for a single mounted SDK module.
|
|
124
|
+
*
|
|
125
|
+
* These ride on the module's `config` prop and are published once at the
|
|
126
|
+
* module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
|
|
127
|
+
* reads them via {@link useInstanceOverrides} without any prop drilling.
|
|
128
|
+
*/
|
|
129
|
+
declare type InstanceOverrides = {
|
|
130
|
+
assets?: AssetOverrides;
|
|
131
|
+
animations?: AnimationOverrides;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
declare type LottieAnimationData = {
|
|
135
|
+
fr: number;
|
|
136
|
+
v: string;
|
|
137
|
+
ip: number;
|
|
138
|
+
op: number;
|
|
139
|
+
w: number;
|
|
140
|
+
h: number;
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
/** An SVG imported as a Preact component (the `?react` import shape). */
|
|
144
|
+
declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
|
|
145
|
+
|
|
63
146
|
export { }
|
|
64
147
|
|
|
65
148
|
declare global {
|
|
@@ -1,7 +1,62 @@
|
|
|
1
|
+
import { DeepPartial } from '@incodetech/core/flow';
|
|
1
2
|
import { FC } from 'preact/compat';
|
|
3
|
+
import { FunctionComponent } from 'preact';
|
|
2
4
|
import { GovernmentValidationConfig } from '@incodetech/core/government-validation';
|
|
5
|
+
import { SVGProps } from 'preact/compat';
|
|
3
6
|
|
|
4
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Allowlisted keys for overridable Lottie animations
|
|
9
|
+
*/
|
|
10
|
+
declare type AnimationKey = 'id.tutorial.front' | 'id.tutorial.back' | 'id.tutorial.passport' | 'id.flip' | 'id.processing' | 'selfie.tutorial' | 'loader.spinner';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A customer-supplied replacement for a built-in Lottie animation.
|
|
14
|
+
*
|
|
15
|
+
* - `LottieAnimationData` — a parsed Lottie JSON object.
|
|
16
|
+
* - `{ url }` — fetched and cached at runtime.
|
|
17
|
+
* - `{ animationData }` — explicit object form.
|
|
18
|
+
*/
|
|
19
|
+
declare type AnimationOverride = LottieAnimationData | {
|
|
20
|
+
url: string;
|
|
21
|
+
} | {
|
|
22
|
+
animationData: LottieAnimationData;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
declare type AnimationOverrides = Partial<Record<AnimationKey, AnimationOverride>>;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Allowlisted keys for overridable branded SVG illustrations
|
|
29
|
+
*/
|
|
30
|
+
declare type AssetKey = 'faceMatch.success' | 'faceMatch.fail' | 'documentCapture.tutorial' | 'id.uploadScreen' | 'id.ageVerification.dob' | 'id.ageVerification.scan' | 'id.ageVerification.privacy' | 'videoSelfie.success' | 'videoSelfie.fail' | 'videoSelfie.tutorial.permission' | 'videoSelfie.tutorial.selfie' | 'videoSelfie.tutorial.frontId' | 'videoSelfie.tutorial.backId' | 'videoSelfie.tutorial.poa' | 'videoSelfie.tutorial.questions' | 'videoSelfie.tutorial.speech' | 'loader.spinner';
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A customer-supplied replacement for a built-in SVG illustration.
|
|
34
|
+
*
|
|
35
|
+
* - `string` — a URL, or raw `<svg …>` markup (detected by a leading `<`).
|
|
36
|
+
* - `{ url }` — fetched and rendered via `<img>`; no script execution.
|
|
37
|
+
* - `{ raw }` — inline markup; sanitized before injection.
|
|
38
|
+
* - `{ svg }` — a precompiled component, for build-time integrations.
|
|
39
|
+
*/
|
|
40
|
+
declare type AssetOverride = string | {
|
|
41
|
+
url: string;
|
|
42
|
+
} | {
|
|
43
|
+
raw: string;
|
|
44
|
+
} | {
|
|
45
|
+
svg: SvgComponent;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
declare type AssetOverrides = Partial<Record<AssetKey, AssetOverride>>;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* A module `config` intersected with the per-instance override maps. Typed at
|
|
52
|
+
* the UI boundary so core config types (e.g. `IdCaptureConfig`) stay untouched;
|
|
53
|
+
* `FlowConfig` also declares the maps directly.
|
|
54
|
+
*/
|
|
55
|
+
declare type ConfigWithOverrides<TConfig> = TConfig & InstanceOverrides;
|
|
56
|
+
|
|
57
|
+
export declare const GovernmentValidation: FC<Omit<GovernmentValidationProps, "config"> & {
|
|
58
|
+
config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
|
|
59
|
+
}>;
|
|
5
60
|
|
|
6
61
|
declare type GovernmentValidationProps = IncodeModuleProps<GovernmentValidationConfig>;
|
|
7
62
|
|
|
@@ -25,12 +80,16 @@ declare type IncodeFinishMeta = {
|
|
|
25
80
|
sdkOwnsTerminalScreen?: boolean;
|
|
26
81
|
};
|
|
27
82
|
|
|
28
|
-
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown
|
|
83
|
+
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
|
|
29
84
|
/**
|
|
30
85
|
* Module configuration required to render the flow.
|
|
31
86
|
* For Web Components, this is typically assigned via `element.config = ...`.
|
|
87
|
+
*
|
|
88
|
+
* Also carries optional per-instance `assets`/`animations` override maps;
|
|
89
|
+
* they override the global `setup({ uiConfig })` values for this
|
|
90
|
+
* element only and are ignored by the core manager.
|
|
32
91
|
*/
|
|
33
|
-
config?:
|
|
92
|
+
config?: TConfigInput;
|
|
34
93
|
/**
|
|
35
94
|
* Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
|
|
36
95
|
*/
|
|
@@ -56,4 +115,28 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
|
|
|
56
115
|
onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
|
|
57
116
|
};
|
|
58
117
|
|
|
118
|
+
/**
|
|
119
|
+
* Per-instance asset/animation overrides for a single mounted SDK module.
|
|
120
|
+
*
|
|
121
|
+
* These ride on the module's `config` prop and are published once at the
|
|
122
|
+
* module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
|
|
123
|
+
* reads them via {@link useInstanceOverrides} without any prop drilling.
|
|
124
|
+
*/
|
|
125
|
+
declare type InstanceOverrides = {
|
|
126
|
+
assets?: AssetOverrides;
|
|
127
|
+
animations?: AnimationOverrides;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
declare type LottieAnimationData = {
|
|
131
|
+
fr: number;
|
|
132
|
+
v: string;
|
|
133
|
+
ip: number;
|
|
134
|
+
op: number;
|
|
135
|
+
w: number;
|
|
136
|
+
h: number;
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
/** An SVG imported as a Preact component (the `?react` import shape). */
|
|
140
|
+
declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
|
|
141
|
+
|
|
59
142
|
export { }
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { FC } from 'preact/compat';
|
|
2
|
+
import { FinishStatus } from '@incodetech/core/flow';
|
|
3
|
+
import { FunctionComponent } from 'preact';
|
|
4
|
+
import { IdSelfieFlowConfig } from '@incodetech/core/id-selfie-flow';
|
|
5
|
+
import { SVGProps } from 'preact/compat';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Allowlisted keys for overridable Lottie animations
|
|
9
|
+
*/
|
|
10
|
+
declare type AnimationKey = 'id.tutorial.front' | 'id.tutorial.back' | 'id.tutorial.passport' | 'id.flip' | 'id.processing' | 'selfie.tutorial' | 'loader.spinner';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A customer-supplied replacement for a built-in Lottie animation.
|
|
14
|
+
*
|
|
15
|
+
* - `LottieAnimationData` — a parsed Lottie JSON object.
|
|
16
|
+
* - `{ url }` — fetched and cached at runtime.
|
|
17
|
+
* - `{ animationData }` — explicit object form.
|
|
18
|
+
*/
|
|
19
|
+
declare type AnimationOverride = LottieAnimationData | {
|
|
20
|
+
url: string;
|
|
21
|
+
} | {
|
|
22
|
+
animationData: LottieAnimationData;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
declare type AnimationOverrides = Partial<Record<AnimationKey, AnimationOverride>>;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Allowlisted keys for overridable branded SVG illustrations
|
|
29
|
+
*/
|
|
30
|
+
declare type AssetKey = 'faceMatch.success' | 'faceMatch.fail' | 'documentCapture.tutorial' | 'id.uploadScreen' | 'id.ageVerification.dob' | 'id.ageVerification.scan' | 'id.ageVerification.privacy' | 'videoSelfie.success' | 'videoSelfie.fail' | 'videoSelfie.tutorial.permission' | 'videoSelfie.tutorial.selfie' | 'videoSelfie.tutorial.frontId' | 'videoSelfie.tutorial.backId' | 'videoSelfie.tutorial.poa' | 'videoSelfie.tutorial.questions' | 'videoSelfie.tutorial.speech' | 'loader.spinner';
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A customer-supplied replacement for a built-in SVG illustration.
|
|
34
|
+
*
|
|
35
|
+
* - `string` — a URL, or raw `<svg …>` markup (detected by a leading `<`).
|
|
36
|
+
* - `{ url }` — fetched and rendered via `<img>`; no script execution.
|
|
37
|
+
* - `{ raw }` — inline markup; sanitized before injection.
|
|
38
|
+
* - `{ svg }` — a precompiled component, for build-time integrations.
|
|
39
|
+
*/
|
|
40
|
+
declare type AssetOverride = string | {
|
|
41
|
+
url: string;
|
|
42
|
+
} | {
|
|
43
|
+
raw: string;
|
|
44
|
+
} | {
|
|
45
|
+
svg: SvgComponent;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
declare type AssetOverrides = Partial<Record<AssetKey, AssetOverride>>;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* A module `config` intersected with the per-instance override maps. Typed at
|
|
52
|
+
* the UI boundary so core config types (e.g. `IdCaptureConfig`) stay untouched;
|
|
53
|
+
* `FlowConfig` also declares the maps directly.
|
|
54
|
+
*/
|
|
55
|
+
declare type ConfigWithOverrides<TConfig> = TConfig & InstanceOverrides;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* ID + Selfie flow UI component (PoC). Runs the regular ID + selfie capture
|
|
59
|
+
* pipeline behind the Video Selfie continuous-camera UX.
|
|
60
|
+
*
|
|
61
|
+
* Config is resolved from the active session's FLOW configuration (the same
|
|
62
|
+
* dashboard config the regular ID and SELFIE modules read — steps, attempts,
|
|
63
|
+
* tutorial, selfie validations); any `config` prop values win over the
|
|
64
|
+
* flow-derived ones.
|
|
65
|
+
*
|
|
66
|
+
* @see {@link createIdSelfieFlowManager} for headless usage.
|
|
67
|
+
*/
|
|
68
|
+
export declare const IdSelfieFlow: FC<IdSelfieFlowProps>;
|
|
69
|
+
|
|
70
|
+
/** Props for the {@link IdSelfieFlow} component. */
|
|
71
|
+
declare type IdSelfieFlowProps = Omit<IncodeModuleProps<IdSelfieFlowConfig>, 'onFinish'> & {
|
|
72
|
+
/** Fired on completion with the session's finish status. */
|
|
73
|
+
onFinish?: (finishStatus?: FinishStatus) => void;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Extra context passed to `onFinish` alongside the result. Lets a host decide
|
|
78
|
+
* how to react to the terminal state without inspecting the DOM. Only the
|
|
79
|
+
* workflow module sets these fields today.
|
|
80
|
+
*/
|
|
81
|
+
declare type IncodeFinishMeta = {
|
|
82
|
+
/**
|
|
83
|
+
* True when the SDK owns the terminal screen — it has already rendered its
|
|
84
|
+
* own finish UI (today, the workflow's `showFinishScreenBySessionStatus`
|
|
85
|
+
* screen), so the host should not render its own completion screen on top.
|
|
86
|
+
* `onFinish` still fires so the host can run side effects (e.g. notify an
|
|
87
|
+
* OAuth parent).
|
|
88
|
+
*
|
|
89
|
+
* Advisory only: the SDK cannot stop a host from rendering. This works solely
|
|
90
|
+
* because the host reads this flag — a host that ignores it will still
|
|
91
|
+
* replace the SDK screen. Not a guarantee.
|
|
92
|
+
*/
|
|
93
|
+
sdkOwnsTerminalScreen?: boolean;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
|
|
97
|
+
/**
|
|
98
|
+
* Module configuration required to render the flow.
|
|
99
|
+
* For Web Components, this is typically assigned via `element.config = ...`.
|
|
100
|
+
*
|
|
101
|
+
* Also carries optional per-instance `assets`/`animations` override maps;
|
|
102
|
+
* they override the global `setup({ uiConfig })` values for this
|
|
103
|
+
* element only and are ignored by the core manager.
|
|
104
|
+
*/
|
|
105
|
+
config?: TConfigInput;
|
|
106
|
+
/**
|
|
107
|
+
* Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
|
|
108
|
+
*/
|
|
109
|
+
manager?: TManager;
|
|
110
|
+
/**
|
|
111
|
+
* Callback invoked when the module completes successfully.
|
|
112
|
+
* @param result - Optional result data from the module completion
|
|
113
|
+
* @param meta - Optional context about how the module resolved (e.g. whether
|
|
114
|
+
* the SDK rendered its own terminal finish screen). See {@link IncodeFinishMeta}.
|
|
115
|
+
*/
|
|
116
|
+
onFinish?: (result?: TResult, meta?: IncodeFinishMeta) => void;
|
|
117
|
+
/**
|
|
118
|
+
* Callback invoked when a fatal module error occurs.
|
|
119
|
+
*
|
|
120
|
+
* @param error - Human-readable error message.
|
|
121
|
+
* @param errorCode - Optional numeric code (e.g. HTTP status). Populated by
|
|
122
|
+
* the workflow and flow modules on QR validation failures —
|
|
123
|
+
* `4026` (`expiredUUID`), `4081` (`invalidQRuuid`) or `4083` (`onboardingUrlAlreadyUsed`).
|
|
124
|
+
* @param moduleErrorCode - Optional machine-readable error code (e.g. a
|
|
125
|
+
* `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
|
|
126
|
+
* branch on the specific terminal error without parsing the message string.
|
|
127
|
+
*/
|
|
128
|
+
onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Per-instance asset/animation overrides for a single mounted SDK module.
|
|
133
|
+
*
|
|
134
|
+
* These ride on the module's `config` prop and are published once at the
|
|
135
|
+
* module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
|
|
136
|
+
* reads them via {@link useInstanceOverrides} without any prop drilling.
|
|
137
|
+
*/
|
|
138
|
+
declare type InstanceOverrides = {
|
|
139
|
+
assets?: AssetOverrides;
|
|
140
|
+
animations?: AnimationOverrides;
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
declare type LottieAnimationData = {
|
|
144
|
+
fr: number;
|
|
145
|
+
v: string;
|
|
146
|
+
ip: number;
|
|
147
|
+
op: number;
|
|
148
|
+
w: number;
|
|
149
|
+
h: number;
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
/** An SVG imported as a Preact component (the `?react` import shape). */
|
|
153
|
+
declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
|
|
154
|
+
|
|
155
|
+
export { }
|
|
156
|
+
|
|
157
|
+
declare global {
|
|
158
|
+
interface HTMLElementTagNameMap {
|
|
159
|
+
'incode-id-selfie-flow': HTMLElement & IncodeModuleProps<IdSelfieFlowConfig>;
|
|
160
|
+
}
|
|
161
|
+
}
|