@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,62 @@
|
|
|
1
1
|
import { FC } from 'preact/compat';
|
|
2
|
+
import { FunctionComponent } from 'preact';
|
|
2
3
|
import { IdVerificationConfig } from '@incodetech/core/id-verification';
|
|
4
|
+
import { IdVerificationManager } from '@incodetech/core/id-verification';
|
|
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;
|
|
3
56
|
|
|
4
57
|
export declare const IdVerification: FC<IdVerificationProps>;
|
|
5
58
|
|
|
6
|
-
declare type IdVerificationProps = IncodeModuleProps<IdVerificationConfig>;
|
|
59
|
+
declare type IdVerificationProps = IncodeModuleProps<IdVerificationConfig, void, IdVerificationManager>;
|
|
7
60
|
|
|
8
61
|
/**
|
|
9
62
|
* Extra context passed to `onFinish` alongside the result. Lets a host decide
|
|
@@ -25,12 +78,16 @@ declare type IncodeFinishMeta = {
|
|
|
25
78
|
sdkOwnsTerminalScreen?: boolean;
|
|
26
79
|
};
|
|
27
80
|
|
|
28
|
-
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown
|
|
81
|
+
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
|
|
29
82
|
/**
|
|
30
83
|
* Module configuration required to render the flow.
|
|
31
84
|
* For Web Components, this is typically assigned via `element.config = ...`.
|
|
85
|
+
*
|
|
86
|
+
* Also carries optional per-instance `assets`/`animations` override maps;
|
|
87
|
+
* they override the global `setup({ uiConfig })` values for this
|
|
88
|
+
* element only and are ignored by the core manager.
|
|
32
89
|
*/
|
|
33
|
-
config?:
|
|
90
|
+
config?: TConfigInput;
|
|
34
91
|
/**
|
|
35
92
|
* Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
|
|
36
93
|
*/
|
|
@@ -56,10 +113,36 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
|
|
|
56
113
|
onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
|
|
57
114
|
};
|
|
58
115
|
|
|
116
|
+
/**
|
|
117
|
+
* Per-instance asset/animation overrides for a single mounted SDK module.
|
|
118
|
+
*
|
|
119
|
+
* These ride on the module's `config` prop and are published once at the
|
|
120
|
+
* module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
|
|
121
|
+
* reads them via {@link useInstanceOverrides} without any prop drilling.
|
|
122
|
+
*/
|
|
123
|
+
declare type InstanceOverrides = {
|
|
124
|
+
assets?: AssetOverrides;
|
|
125
|
+
animations?: AnimationOverrides;
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
declare type LottieAnimationData = {
|
|
129
|
+
fr: number;
|
|
130
|
+
v: string;
|
|
131
|
+
ip: number;
|
|
132
|
+
op: number;
|
|
133
|
+
w: number;
|
|
134
|
+
h: number;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
/** An SVG imported as a Preact component (the `?react` import shape). */
|
|
138
|
+
declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
|
|
139
|
+
|
|
59
140
|
export { }
|
|
60
141
|
|
|
61
142
|
declare global {
|
|
62
143
|
interface HTMLElementTagNameMap {
|
|
63
|
-
'incode-id-verification': HTMLElement & IncodeModuleProps<IdVerificationConfig
|
|
144
|
+
'incode-id-verification': HTMLElement & IncodeModuleProps<IdVerificationConfig,
|
|
145
|
+
void,
|
|
146
|
+
IdVerificationManager>;
|
|
64
147
|
}
|
|
65
148
|
}
|
package/dist/types/id.d.ts
CHANGED
|
@@ -1,10 +1,65 @@
|
|
|
1
|
+
import { DeepPartial } from '@incodetech/core/flow';
|
|
1
2
|
import { FC } from 'preact/compat';
|
|
3
|
+
import { FunctionComponent } from 'preact';
|
|
2
4
|
import { IdCaptureConfig } from '@incodetech/core/id';
|
|
3
5
|
import { IdCaptureManager } from '@incodetech/core/id';
|
|
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
|
+
};
|
|
6
48
|
|
|
7
|
-
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 Id: FC<Omit<IdProps, "config"> & {
|
|
59
|
+
config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
|
|
60
|
+
}>;
|
|
61
|
+
|
|
62
|
+
declare type IdProps = IncodeModuleProps<IdCaptureConfig, unknown, IdCaptureManager>;
|
|
8
63
|
|
|
9
64
|
/**
|
|
10
65
|
* Extra context passed to `onFinish` alongside the result. Lets a host decide
|
|
@@ -26,12 +81,16 @@ declare type IncodeFinishMeta = {
|
|
|
26
81
|
sdkOwnsTerminalScreen?: boolean;
|
|
27
82
|
};
|
|
28
83
|
|
|
29
|
-
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown
|
|
84
|
+
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
|
|
30
85
|
/**
|
|
31
86
|
* Module configuration required to render the flow.
|
|
32
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.
|
|
33
92
|
*/
|
|
34
|
-
config?:
|
|
93
|
+
config?: TConfigInput;
|
|
35
94
|
/**
|
|
36
95
|
* Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
|
|
37
96
|
*/
|
|
@@ -57,10 +116,34 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
|
|
|
57
116
|
onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
|
|
58
117
|
};
|
|
59
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
|
+
|
|
60
143
|
export { }
|
|
61
144
|
|
|
62
145
|
declare global {
|
|
63
146
|
interface HTMLElementTagNameMap {
|
|
64
|
-
'incode-id': HTMLElement & IncodeModuleProps<IdCaptureConfig,
|
|
147
|
+
'incode-id': HTMLElement & IncodeModuleProps<IdCaptureConfig, unknown, IdCaptureManager>;
|
|
65
148
|
}
|
|
66
149
|
}
|
|
@@ -1,6 +1,58 @@
|
|
|
1
1
|
import { FC } from 'preact/compat';
|
|
2
|
+
import { FunctionComponent } from 'preact';
|
|
2
3
|
import { IdentityReuseConfig } from '@incodetech/core/identity-reuse';
|
|
3
4
|
import { IdentityReuseManager } from '@incodetech/core/identity-reuse';
|
|
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;
|
|
4
56
|
|
|
5
57
|
export declare const IdentityReuse: FC<IdentityReuseProps>;
|
|
6
58
|
|
|
@@ -26,12 +78,16 @@ declare type IncodeFinishMeta = {
|
|
|
26
78
|
sdkOwnsTerminalScreen?: boolean;
|
|
27
79
|
};
|
|
28
80
|
|
|
29
|
-
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown
|
|
81
|
+
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
|
|
30
82
|
/**
|
|
31
83
|
* Module configuration required to render the flow.
|
|
32
84
|
* For Web Components, this is typically assigned via `element.config = ...`.
|
|
85
|
+
*
|
|
86
|
+
* Also carries optional per-instance `assets`/`animations` override maps;
|
|
87
|
+
* they override the global `setup({ uiConfig })` values for this
|
|
88
|
+
* element only and are ignored by the core manager.
|
|
33
89
|
*/
|
|
34
|
-
config?:
|
|
90
|
+
config?: TConfigInput;
|
|
35
91
|
/**
|
|
36
92
|
* Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
|
|
37
93
|
*/
|
|
@@ -57,6 +113,30 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
|
|
|
57
113
|
onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
|
|
58
114
|
};
|
|
59
115
|
|
|
116
|
+
/**
|
|
117
|
+
* Per-instance asset/animation overrides for a single mounted SDK module.
|
|
118
|
+
*
|
|
119
|
+
* These ride on the module's `config` prop and are published once at the
|
|
120
|
+
* module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
|
|
121
|
+
* reads them via {@link useInstanceOverrides} without any prop drilling.
|
|
122
|
+
*/
|
|
123
|
+
declare type InstanceOverrides = {
|
|
124
|
+
assets?: AssetOverrides;
|
|
125
|
+
animations?: AnimationOverrides;
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
declare type LottieAnimationData = {
|
|
129
|
+
fr: number;
|
|
130
|
+
v: string;
|
|
131
|
+
ip: number;
|
|
132
|
+
op: number;
|
|
133
|
+
w: number;
|
|
134
|
+
h: number;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
/** An SVG imported as a Preact component (the `?react` import shape). */
|
|
138
|
+
declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
|
|
139
|
+
|
|
60
140
|
export { }
|
|
61
141
|
|
|
62
142
|
declare global {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,11 +1,74 @@
|
|
|
1
1
|
import { DEFAULT_WASM_VERSION } from '@incodetech/core/wasm';
|
|
2
|
+
import { FeatureManagementRedactedUserInfo } from '@incodetech/core/feature-management';
|
|
3
|
+
import { FunctionComponent } from 'preact';
|
|
2
4
|
import { i18n } from 'i18next';
|
|
5
|
+
import { SVGProps } from 'preact/compat';
|
|
3
6
|
import { WasmConfig } from '@incodetech/core/wasm';
|
|
4
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Allowlisted keys for overridable Lottie animations
|
|
10
|
+
*/
|
|
11
|
+
export 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
|
+
export declare type AnimationOverride = LottieAnimationData | {
|
|
21
|
+
url: string;
|
|
22
|
+
} | {
|
|
23
|
+
animationData: LottieAnimationData;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export declare type AnimationOverrides = Partial<Record<AnimationKey, AnimationOverride>>;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Allowlisted keys for overridable branded SVG illustrations
|
|
30
|
+
*/
|
|
31
|
+
export 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
|
+
export declare type AssetOverride = string | {
|
|
42
|
+
url: string;
|
|
43
|
+
} | {
|
|
44
|
+
raw: string;
|
|
45
|
+
} | {
|
|
46
|
+
svg: SvgComponent;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export declare type AssetOverrides = Partial<Record<AssetKey, AssetOverride>>;
|
|
50
|
+
|
|
5
51
|
export declare function createI18n(options?: I18nOptions): i18n;
|
|
6
52
|
|
|
7
53
|
export { DEFAULT_WASM_VERSION }
|
|
8
54
|
|
|
55
|
+
/**
|
|
56
|
+
* Object form of the `featureManagement` option. Mirrors the core
|
|
57
|
+
* `FeatureManagementSetupOptions` shape — see the core `SetupOptions.featureManagement`
|
|
58
|
+
* docs for the full behavior (identity model, lock semantics, privacy flags).
|
|
59
|
+
*/
|
|
60
|
+
declare type FeatureManagementSetupOptions = {
|
|
61
|
+
clientExperimentId?: string;
|
|
62
|
+
disableStableId?: boolean;
|
|
63
|
+
disablePersistence?: boolean;
|
|
64
|
+
redactedUserInfo?: FeatureManagementRedactedUserInfo;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
declare type FlowSetup = false | {
|
|
68
|
+
preload?: boolean;
|
|
69
|
+
mergeConfig?: boolean;
|
|
70
|
+
};
|
|
71
|
+
|
|
9
72
|
export declare type I18nOptions = {
|
|
10
73
|
lang?: string;
|
|
11
74
|
loadPath?: string;
|
|
@@ -15,6 +78,15 @@ export declare type I18nOptions = {
|
|
|
15
78
|
|
|
16
79
|
declare type LanguageTranslations = Record<string, TranslationValue>;
|
|
17
80
|
|
|
81
|
+
declare type LottieAnimationData = {
|
|
82
|
+
fr: number;
|
|
83
|
+
v: string;
|
|
84
|
+
ip: number;
|
|
85
|
+
op: number;
|
|
86
|
+
w: number;
|
|
87
|
+
h: number;
|
|
88
|
+
};
|
|
89
|
+
|
|
18
90
|
export declare function setI18nInstance(instance: i18n): void;
|
|
19
91
|
|
|
20
92
|
/**
|
|
@@ -22,7 +94,7 @@ export declare function setI18nInstance(instance: i18n): void;
|
|
|
22
94
|
*/
|
|
23
95
|
export declare function setUiConfig(next: UiConfig): void;
|
|
24
96
|
|
|
25
|
-
export declare function setup({ apiURL, token, customHeaders, timeout, wasm, ipLookup, fingerprint, devMode, i18n, uiConfig, }: SetupOptions): Promise<void>;
|
|
97
|
+
export declare function setup({ apiURL, token, customHeaders, timeout, wasm, ipLookup, fingerprint, devMode, featureManagement, environment, i18n, uiConfig, flow, theme, }: SetupOptions): Promise<void>;
|
|
26
98
|
|
|
27
99
|
declare type SetupOptions = {
|
|
28
100
|
apiURL: string;
|
|
@@ -44,8 +116,39 @@ declare type SetupOptions = {
|
|
|
44
116
|
* `SetupOptions.devMode` docs. WASM logging is controlled via `wasm.showLogs`.
|
|
45
117
|
*/
|
|
46
118
|
devMode?: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Enables feature management. Forwarded to core `setup()` — see the core
|
|
121
|
+
* `SetupOptions.featureManagement` docs for the full behavior (identity
|
|
122
|
+
* model, lock semantics, privacy flags, opt-out semantics). Default: `true`.
|
|
123
|
+
*/
|
|
124
|
+
featureManagement?: boolean | FeatureManagementSetupOptions;
|
|
125
|
+
/**
|
|
126
|
+
* Coarse deployment tier. Forwarded to core `setup()` — see the core
|
|
127
|
+
* `SetupOptions.environment` docs. Default: `'production'`.
|
|
128
|
+
*/
|
|
129
|
+
environment?: 'development' | 'staging' | 'production';
|
|
47
130
|
i18n?: I18nOptions;
|
|
48
131
|
uiConfig?: UiConfig;
|
|
132
|
+
/**
|
|
133
|
+
* Controls Flow-backed standalone module configuration. Omit or pass `{}`
|
|
134
|
+
* for lazy resolution, use `preload` to fetch Flow during setup, use
|
|
135
|
+
* `mergeConfig` to merge supplied partial config over Flow config, or pass
|
|
136
|
+
* `false` to disable Flow-backed standalone configuration.
|
|
137
|
+
*/
|
|
138
|
+
flow?: FlowSetup;
|
|
139
|
+
/**
|
|
140
|
+
* Controls the session dashboard theme independently from Flow. Omit or
|
|
141
|
+
* pass `{}` for compatibility-safe lazy loading, use `preload` to fetch and
|
|
142
|
+
* apply it during setup, or pass `false` to disable it.
|
|
143
|
+
*/
|
|
144
|
+
theme?: ThemeSetup;
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
/** An SVG imported as a Preact component (the `?react` import shape). */
|
|
148
|
+
export declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
|
|
149
|
+
|
|
150
|
+
declare type ThemeSetup = false | {
|
|
151
|
+
preload?: boolean;
|
|
49
152
|
};
|
|
50
153
|
|
|
51
154
|
declare type Translations = Partial<Record<string, LanguageTranslations>>;
|
|
@@ -58,6 +161,8 @@ export declare type UiConfig = {
|
|
|
58
161
|
subtitle?: string;
|
|
59
162
|
hideHeader?: boolean;
|
|
60
163
|
hideFooterBranding?: boolean;
|
|
164
|
+
assets?: AssetOverrides;
|
|
165
|
+
animations?: AnimationOverrides;
|
|
61
166
|
};
|
|
62
167
|
|
|
63
168
|
export { }
|
package/dist/types/phone.d.ts
CHANGED
|
@@ -1,6 +1,59 @@
|
|
|
1
|
+
import { DeepPartial } from '@incodetech/core/flow';
|
|
1
2
|
import { FC } from 'preact/compat';
|
|
3
|
+
import { FunctionComponent } from 'preact';
|
|
2
4
|
import { PhoneConfig } from '@incodetech/core/phone';
|
|
3
5
|
import { PhoneManager } from '@incodetech/core/phone';
|
|
6
|
+
import { SVGProps } from 'preact/compat';
|
|
7
|
+
|
|
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;
|
|
4
57
|
|
|
5
58
|
/**
|
|
6
59
|
* Extra context passed to `onFinish` alongside the result. Lets a host decide
|
|
@@ -22,12 +75,16 @@ declare type IncodeFinishMeta = {
|
|
|
22
75
|
sdkOwnsTerminalScreen?: boolean;
|
|
23
76
|
};
|
|
24
77
|
|
|
25
|
-
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown
|
|
78
|
+
declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
|
|
26
79
|
/**
|
|
27
80
|
* Module configuration required to render the flow.
|
|
28
81
|
* For Web Components, this is typically assigned via `element.config = ...`.
|
|
82
|
+
*
|
|
83
|
+
* Also carries optional per-instance `assets`/`animations` override maps;
|
|
84
|
+
* they override the global `setup({ uiConfig })` values for this
|
|
85
|
+
* element only and are ignored by the core manager.
|
|
29
86
|
*/
|
|
30
|
-
config?:
|
|
87
|
+
config?: TConfigInput;
|
|
31
88
|
/**
|
|
32
89
|
* Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
|
|
33
90
|
*/
|
|
@@ -54,36 +111,38 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
|
|
|
54
111
|
};
|
|
55
112
|
|
|
56
113
|
/**
|
|
57
|
-
*
|
|
114
|
+
* Per-instance asset/animation overrides for a single mounted SDK module.
|
|
58
115
|
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* - OTP code entry with resend functionality
|
|
63
|
-
* - Loading states and error handling
|
|
64
|
-
*
|
|
65
|
-
* @example Basic usage
|
|
66
|
-
* ```tsx
|
|
67
|
-
* <Phone
|
|
68
|
-
* config={{
|
|
69
|
-
* otpVerification: true,
|
|
70
|
-
* otpExpirationInMinutes: 5,
|
|
71
|
-
* prefill: false,
|
|
72
|
-
* }}
|
|
73
|
-
* onFinish={() => router.push('/next-step')}
|
|
74
|
-
* onError={(err) => toast.error(err)}
|
|
75
|
-
* />
|
|
76
|
-
* ```
|
|
77
|
-
*
|
|
78
|
-
* @see {@link createPhoneManager} for headless usage
|
|
116
|
+
* These ride on the module's `config` prop and are published once at the
|
|
117
|
+
* module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
|
|
118
|
+
* reads them via {@link useInstanceOverrides} without any prop drilling.
|
|
79
119
|
*/
|
|
80
|
-
|
|
120
|
+
declare type InstanceOverrides = {
|
|
121
|
+
assets?: AssetOverrides;
|
|
122
|
+
animations?: AnimationOverrides;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
declare type LottieAnimationData = {
|
|
126
|
+
fr: number;
|
|
127
|
+
v: string;
|
|
128
|
+
ip: number;
|
|
129
|
+
op: number;
|
|
130
|
+
w: number;
|
|
131
|
+
h: number;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export declare const Phone: FC<Omit<PhoneProps, "config"> & {
|
|
135
|
+
config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
|
|
136
|
+
}>;
|
|
81
137
|
|
|
82
138
|
/**
|
|
83
139
|
* Props for the Phone component
|
|
84
140
|
*/
|
|
85
141
|
declare type PhoneProps = IncodeModuleProps<PhoneConfig, void, PhoneManager>;
|
|
86
142
|
|
|
143
|
+
/** An SVG imported as a Preact component (the `?react` import shape). */
|
|
144
|
+
declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
|
|
145
|
+
|
|
87
146
|
export { }
|
|
88
147
|
|
|
89
148
|
declare global {
|