@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.
Files changed (205) hide show
  1. package/dist/ae-signature/ae-signature.es.js +7 -4
  2. package/dist/antifraud/antifraud.es.js +6 -6
  3. package/dist/authentication/authentication.es.js +7 -7
  4. package/dist/{autoFocusTitle-CuRu2lPg.js → autoFocusTitle-gLba2mgp.js} +6 -3
  5. package/dist/{back-horizontal-hint-xTnSQbzn.js → back-horizontal-hint-BBGuJ75y.js} +1 -1
  6. package/dist/{back-vertical-hint-BWWlHfX2.js → back-vertical-hint-B9usJ5lY.js} +1 -1
  7. package/dist/base.css +425 -3290
  8. package/dist/{bottomSheet-CnWbbUAM.js → bottomSheet-Cp8DLulN.js} +7 -8
  9. package/dist/certificate-issuance/certificate-issuance.es.js +34 -87
  10. package/dist/certificate-issuance/styles.css +0 -41
  11. package/dist/{checkbox-1wUHSoaK.js → checkbox-C38Elx0O.js} +5 -5
  12. package/dist/connectionError-DAeXp8sE.js +45 -0
  13. package/dist/consent/consent.es.js +10 -12
  14. package/dist/consent/styles.css +5 -4
  15. package/dist/{countrySelector-SvUOyPo0.js → countrySelector-2t-ZTgGo.js} +3 -3
  16. package/dist/cross-document-data-match/cross-document-data-match.es.js +13 -10
  17. package/dist/curp-validation/curp-validation.es.js +28 -29
  18. package/dist/curp-validation/styles.css +47 -0
  19. package/dist/{customFields-BDsXR7A-.js → customFields-B8HQZ7Mh.js} +13 -14
  20. package/dist/{customWatchlist-CYoRNCim.js → customWatchlist-_tUmZ855.js} +9 -9
  21. package/dist/dashboardTheme-CVliZSR-.js +223 -0
  22. package/dist/{dateInputComposed-DuaofcBl.js → dateInputComposed-eRcbt_SL.js} +5 -5
  23. package/dist/dateInputComposed-ks0-opuq.js +1 -0
  24. package/dist/document-capture/document-capture.es.js +1 -1
  25. package/dist/document-capture/styles.css +85 -70
  26. package/dist/{documentCapture-DhbO-A-V.js → documentCapture-BvEGCYj-.js} +218 -136
  27. package/dist/documentCapture-DdHdRPzR.js +2 -0
  28. package/dist/{dropdownComposed-CoU0enG6.js → dropdownComposed-OHDHzt1Q.js} +18 -11
  29. package/dist/dropdownComposed-kjG4UblM.js +1 -0
  30. package/dist/dynamic-forms/styles.css +58 -6
  31. package/dist/{dynamicForms-BifGbC9F.js → dynamicForms-P-4E42IA.js} +53 -45
  32. package/dist/ekyb/ekyb.es.js +1 -1
  33. package/dist/ekyb/styles.css +1 -28
  34. package/dist/ekybModule-CiaxFHXo.js +2 -0
  35. package/dist/{ekybModule-DGnTw5UV.js → ekybModule-DmjkzVWE.js} +51 -27
  36. package/dist/ekyc/ekyc.es.js +1 -1
  37. package/dist/ekyc/styles.css +2 -2
  38. package/dist/ekycModule-BVt10kgv.js +2 -0
  39. package/dist/{ekycModule-Dxpdd0ns.js → ekycModule-Da1Fm7ai.js} +45 -19
  40. package/dist/electronic-signature/electronic-signature.es.js +1 -1
  41. package/dist/{ae-signature → electronic-signature}/styles.css +2 -2
  42. package/dist/{electronic-signature-Ueoffasr.js → electronic-signature-yamI6zHM.js} +31 -23
  43. package/dist/email/email.es.js +10 -11
  44. package/dist/{emailInput-DsLkDtER.js → emailInput-B0P2Q-pk.js} +4 -4
  45. package/dist/{expiredId-BZXLrLk-.js → expiredId-BXXE3srN.js} +6 -6
  46. package/dist/{extensibility-7sRIN0JC.js → extensibility-iJYzpW6H.js} +440 -374
  47. package/dist/extensibility.es.js +24 -28
  48. package/dist/face-match/face-match.es.js +1 -1
  49. package/dist/face-match/styles.css +9 -609
  50. package/dist/faceMatch-D4XFihTc.js +2 -0
  51. package/dist/{faceMatch-DyTBoMDm.js → faceMatch-VtEZvsen.js} +71 -79
  52. package/dist/field-comparison/field-comparison.es.js +1 -1
  53. package/dist/fieldComparison-B_r9Bal7.js +2 -0
  54. package/dist/{fieldComparison-L_knHqgw.js → fieldComparison-NLdDSOEh.js} +11 -12
  55. package/dist/finalSuccessScreen-DryADx1n.js +500 -0
  56. package/dist/fiscal-qr/fiscal-qr.es.js +12 -12
  57. package/dist/flip-animation-CvN8FLNc.js +6996 -0
  58. package/dist/flow/flow.es.js +81 -45
  59. package/dist/flow/styles.css +908 -5423
  60. package/dist/{front-horizontal-hint-B84GgTO1.js → front-horizontal-hint-D3CrWViZ.js} +1 -1
  61. package/dist/{front-vertical-hint-Bs_avngq.js → front-vertical-hint-BoLZvyx5.js} +1 -1
  62. package/dist/geolocation/geolocation.es.js +36 -13
  63. package/dist/geolocation/styles.css +1 -1
  64. package/dist/government-validation/government-validation.es.js +11 -12
  65. package/dist/{homeScreen-B6T0JVh8.js → homeScreen-Pv3v_0ji.js} +7 -9
  66. package/dist/{icons-CJJbIpBq.js → icons--ezYG2Fb.js} +92 -7
  67. package/dist/id/id.es.js +222 -52
  68. package/dist/id/styles.css +290 -10
  69. package/dist/id-back-of-card-DO593HH8.js +83 -0
  70. package/dist/id-back-of-card-vertical-DArEQ0hE.js +88 -0
  71. package/dist/id-front-of-card-Bcit7Pnq.js +308 -0
  72. package/dist/id-front-of-card-vertical-Bcr-KXcl.js +278 -0
  73. package/dist/id-laser-h-BaUHzX-d.js +480 -0
  74. package/dist/{id-laser-v-BiUXkM4x.js → id-laser-v-Dv9yEYJE.js} +7 -17
  75. package/dist/id-selfie-flow/id-selfie-flow.es.js +239 -0
  76. package/dist/id-selfie-flow/styles.css +749 -0
  77. package/dist/id-verification/id-verification.es.js +13 -9
  78. package/dist/{idOcr-WFBvqy3b.js → idOcr-gsIXHq6R.js} +14 -15
  79. package/dist/identity-reuse/identity-reuse.es.js +6 -8
  80. package/dist/identity-reuse/styles.css +1 -1
  81. package/dist/{incode-logo-57XFniXU.js → incode-logo-rGFjZHqi.js} +64 -1
  82. package/dist/incodeComponent-K9ZWg302.js +713 -0
  83. package/dist/incodeModule-CcLzar_X.js +25 -0
  84. package/dist/index.es.js +16 -5
  85. package/dist/{inputComposed-C1R2LAa3.js → inputComposed-BeROn635.js} +9 -9
  86. package/dist/inputComposed-CADVQW-o.js +1 -0
  87. package/dist/{mandatoryConsent-D0GTKu-H.js → mandatoryConsent-BtqB-FxY.js} +9 -11
  88. package/dist/{capture-CkGvdDNH.js → manualCaptureButton-quGa2ufS.js} +68 -198
  89. package/dist/manualCaptureButton-t_oIol88.js +300 -0
  90. package/dist/{modal-OxkFuuiR.js → modal-BjjJFpZu.js} +4 -4
  91. package/dist/{modal.hooks-ZrzmHAUa.js → modal.hooks-BvXzNWvY.js} +1 -1
  92. package/dist/{numberedStep-CEb-lFJm.js → numberedStep-DUs77Gy3.js} +1 -1
  93. package/dist/{optionAccessibleLabel-gfF-58Mv.js → optionAccessibleLabel-DgfHD_mx.js} +6 -6
  94. package/dist/{otpInput-CnDc6pQm.js → otpInput-D5dLXrmC.js} +72 -36
  95. package/dist/{passport-horizontal-hint-Bj0ZJY0g.js → passport-horizontal-hint-DgnU-8bl.js} +1 -1
  96. package/dist/{passport-vertical-hint-Dfk77xUJ.js → passport-vertical-hint-Dd2Wknw7.js} +1 -1
  97. package/dist/{pdf-BqtJTlor.js → pdf-BUoY_2gv.js} +1 -1
  98. package/dist/pdfViewer-CZb6obcZ.js +2 -0
  99. package/dist/{pdfViewer-B97DmT9m.js → pdfViewer-vud1VZv6.js} +5 -7
  100. package/dist/phone/phone.es.js +13 -12
  101. package/dist/{phoneInputComposed-DMiXfF-1.js → phoneInputComposed-CeVWTS_O.js} +7 -6
  102. package/dist/{processing-BeUMfdJJ.js → processing-BsvHyDWa.js} +2 -2
  103. package/dist/qe-signature/qe-signature.es.js +7 -4
  104. package/dist/{radioGroupComposed-DuQxslB2.js → radioGroupComposed-DzNGUbZQ.js} +16 -15
  105. package/dist/redirect-to-mobile/redirect-to-mobile.es.js +132 -45
  106. package/dist/redirect-to-mobile/styles.css +20 -10
  107. package/dist/{registerIncodeElement-DaNjbAwZ.js → registerIncodeElement-BduCekz5.js} +1 -1
  108. package/dist/{richText-CB1fmegc.js → richText-CTHBpZOw.js} +3 -1607
  109. package/dist/selfie/selfie.es.js +10 -10
  110. package/dist/selfie/styles.css +16 -949
  111. package/dist/signature/signature.es.js +27 -19
  112. package/dist/{ae-signature/styles2.css → signature/styles.css} +4 -4
  113. package/dist/{snackbar-DS7Mv62v.js → snackbar-C9Mqrh0e.js} +2 -2
  114. package/dist/spacer-CDlQd12V.js +2344 -0
  115. package/dist/{spinner-BMeIEK1d.js → spinner-CLZ2fz4u.js} +45 -4
  116. package/dist/statusPage--GVFSUJp.js +36 -0
  117. package/dist/{successIcon-B5mGvdx1.js → successIcon-Bj8Y9CuI.js} +1 -1
  118. package/dist/{tabs-C__chW-u.js → tabs-DweBZTV2.js} +4 -3
  119. package/dist/themes/dark.css +35 -0
  120. package/dist/themes/light.css +35 -0
  121. package/dist/{tutorial-CCfPuVKX.js → tutorial-BZZC93Ur.js} +222 -180
  122. package/dist/types/ae-signature.d.ts +91 -5
  123. package/dist/types/antifraud.d.ts +86 -3
  124. package/dist/types/authentication.d.ts +86 -3
  125. package/dist/types/certificate-issuance.d.ts +86 -3
  126. package/dist/types/consent.d.ts +86 -3
  127. package/dist/types/cross-document-data-match.d.ts +88 -4
  128. package/dist/types/curp-validation.d.ts +86 -3
  129. package/dist/types/document-capture.d.ts +88 -4
  130. package/dist/types/ekyb.d.ts +88 -4
  131. package/dist/types/ekyc.d.ts +88 -4
  132. package/dist/types/electronic-signature.d.ts +87 -4
  133. package/dist/types/email.d.ts +82 -22
  134. package/dist/types/extensibility.d.ts +157 -5
  135. package/dist/types/face-match.d.ts +84 -22
  136. package/dist/types/field-comparison.d.ts +86 -3
  137. package/dist/types/fiscal-qr.d.ts +89 -5
  138. package/dist/types/flow.d.ts +92 -2
  139. package/dist/types/geolocation.d.ts +86 -3
  140. package/dist/types/government-validation.d.ts +86 -3
  141. package/dist/types/id-selfie-flow.d.ts +161 -0
  142. package/dist/types/id-verification.d.ts +87 -4
  143. package/dist/types/id.d.ts +88 -5
  144. package/dist/types/identity-reuse.d.ts +82 -2
  145. package/dist/types/index.d.ts +106 -1
  146. package/dist/types/phone.d.ts +83 -24
  147. package/dist/types/qe-signature.d.ts +91 -5
  148. package/dist/types/redirect-to-mobile.d.ts +4 -1
  149. package/dist/types/selfie.d.ts +86 -3
  150. package/dist/types/signature.d.ts +91 -5
  151. package/dist/types/video-selfie.d.ts +83 -6
  152. package/dist/types/watchlist.d.ts +91 -5
  153. package/dist/types/workflow.d.ts +85 -2
  154. package/dist/{i18n-CU4xq8qC.js → uiConfig-B5ASPUL4.js} +26 -3
  155. package/dist/{useModuleLoader-Bi26kJbg.js → useModuleLoader-D_YpuVsS.js} +37 -248
  156. package/dist/{vendor-preact-DThS2ZQ_.js → vendor-preact-mvwZ8mJj.js} +1 -1
  157. package/dist/{verificationResult-BWWkmeiA.js → verificationResult-B8HwR07t.js} +26 -15
  158. package/dist/video-selfie/styles.css +349 -1202
  159. package/dist/video-selfie/video-selfie.es.js +120 -381
  160. package/dist/watchlist/watchlist.es.js +16 -13
  161. package/dist/{watchlistForBusiness-D2Uo_TwF.js → watchlistForBusiness-D8Is99bZ.js} +12 -13
  162. package/dist/workflow/styles.css +501 -3977
  163. package/dist/workflow/workflow.es.js +25 -18
  164. package/package.json +22 -20
  165. package/dist/button-Dz6AsbmF.js +0 -40
  166. package/dist/cameraView-DIEzM5ru.js +0 -47
  167. package/dist/cpf-ocr/cpf-ocr.es.js +0 -2
  168. package/dist/cpf-ocr/styles.css +0 -45
  169. package/dist/cpfOcr-B79245-3.js +0 -2
  170. package/dist/cpfOcr-BhxT-lRN.js +0 -92
  171. package/dist/dateInputComposed-DRzZi6uy.js +0 -1
  172. package/dist/documentCapture-DXYYyxZl.js +0 -2
  173. package/dist/dropdownComposed-BAoxIIsE.js +0 -1
  174. package/dist/ekybModule-C6Nttked.js +0 -2
  175. package/dist/ekycModule-CDIEjI6V.js +0 -2
  176. package/dist/errorIcon-BA4T6iy-.js +0 -26
  177. package/dist/faceMatch-B_HvxLm_.js +0 -2
  178. package/dist/fieldComparison-DfNEuEE5.js +0 -2
  179. package/dist/flip-animation-CZYSUtMm.js +0 -6983
  180. package/dist/hooks-CNu7o-v8.js +0 -186
  181. package/dist/id-laser-h-CzPegPMn.js +0 -467
  182. package/dist/incodeComponent-CfzJGETt.js +0 -64
  183. package/dist/incodeModule-B-4_3JrK.js +0 -13
  184. package/dist/inputComposed-BaY5q9WM.js +0 -1
  185. package/dist/loadingIcon-B0ysgiNq.js +0 -148
  186. package/dist/page-DidH_RkX.js +0 -171
  187. package/dist/spinner-BCDCoi9C.js +0 -1
  188. package/dist/statusPage-Bk8nJwXV.js +0 -28
  189. package/dist/transitionSpinner-CuNCqHNi.js +0 -30
  190. package/dist/types/cpf-ocr.d.ts +0 -12
  191. package/dist/typography-BZIpjo97.js +0 -45
  192. package/dist/uiConfig-D2_wawvr.js +0 -25
  193. /package/dist/{aligndevicelottie-DFscByAI.js → aligndevicelottie-CfoZ5Uus.js} +0 -0
  194. /package/dist/{back-tutorial-cI_4VHmE.js → back-tutorial-BHyRHyET.js} +0 -0
  195. /package/dist/{backdevicelottie-COyhTrxM.js → backdevicelottie-yKkczgFy.js} +0 -0
  196. /package/dist/{blurdevicelottie-BLVeJHEG.js → blurdevicelottie-8BbophdM.js} +0 -0
  197. /package/dist/{browser-ponyfill-Df13Th-G.js → browser-ponyfill-CBjGwwPW.js} +0 -0
  198. /package/dist/{defineProperty-Qjefk7Uf.js → defineProperty-BbpBna-2.js} +0 -0
  199. /package/dist/{frontdevicelottie-B4tE2PYQ.js → frontdevicelottie-CFcahVLk.js} +0 -0
  200. /package/dist/{glaredevicelottie-D1pR73sx.js → glaredevicelottie-Cnvah0kz.js} +0 -0
  201. /package/dist/{id-tutorial-DwO90SAm.js → id-tutorial-BOOsXlAJ.js} +0 -0
  202. /package/dist/{lottie_light-C6B2ec41.js → lottie_light-Bv56F2Ae.js} +0 -0
  203. /package/dist/{passport-tutorial-D9JNsMsM.js → passport-tutorial-CeSup6m9.js} +0 -0
  204. /package/dist/{requiredLabelHint-D0RhuMed.js → requiredLabelHint-Dx0WS2cR.js} +0 -0
  205. /package/dist/{selfieTutorial-pB-N-fj5.js → selfieTutorial-CYa8bq6B.js} +0 -0
@@ -1,11 +1,66 @@
1
1
  import { AntifraudConfig } from '@incodetech/core/antifraud';
2
2
  import { AntifraudManager } from '@incodetech/core/antifraud';
3
+ import { DeepPartial } from '@incodetech/core/flow';
3
4
  import { FC } from 'preact/compat';
5
+ import { FunctionComponent } from 'preact';
6
+ import { SVGProps } from 'preact/compat';
4
7
 
5
- export declare const Antifraud: FC<AntifraudProps>;
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
+ export declare const Antifraud: FC<Omit<AntifraudProps, "config"> & {
29
+ config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
30
+ }>;
6
31
 
7
32
  declare type AntifraudProps = IncodeModuleProps<AntifraudConfig, void, AntifraudManager>;
8
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
+
57
+ /**
58
+ * A module `config` intersected with the per-instance override maps. Typed at
59
+ * the UI boundary so core config types (e.g. `IdCaptureConfig`) stay untouched;
60
+ * `FlowConfig` also declares the maps directly.
61
+ */
62
+ declare type ConfigWithOverrides<TConfig> = TConfig & InstanceOverrides;
63
+
9
64
  /**
10
65
  * Extra context passed to `onFinish` alongside the result. Lets a host decide
11
66
  * how to react to the terminal state without inspecting the DOM. Only the
@@ -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?: TConfig;
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,6 +116,30 @@ 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 {
@@ -1,13 +1,68 @@
1
1
  import { AuthenticationConfig } from '@incodetech/core/authentication';
2
2
  import { AuthenticationManager } from '@incodetech/core/authentication';
3
+ import { DeepPartial } from '@incodetech/core/flow';
3
4
  import { FC } from 'preact/compat';
5
+ import { FunctionComponent } from 'preact';
6
+ import { SVGProps } from 'preact/compat';
4
7
 
5
- export declare const Authentication: FC<AuthenticationProps>;
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
+ export declare const Authentication: FC<Omit<AuthenticationProps, "config"> & {
52
+ config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
53
+ }>;
6
54
 
7
55
  declare type AuthenticationProps = IncodeModuleProps<AuthenticationConfig & {
8
56
  authHint?: string;
9
57
  }, void, AuthenticationManager>;
10
58
 
59
+ /**
60
+ * A module `config` intersected with the per-instance override maps. Typed at
61
+ * the UI boundary so core config types (e.g. `IdCaptureConfig`) stay untouched;
62
+ * `FlowConfig` also declares the maps directly.
63
+ */
64
+ declare type ConfigWithOverrides<TConfig> = TConfig & InstanceOverrides;
65
+
11
66
  /**
12
67
  * Extra context passed to `onFinish` alongside the result. Lets a host decide
13
68
  * how to react to the terminal state without inspecting the DOM. Only the
@@ -28,12 +83,16 @@ declare type IncodeFinishMeta = {
28
83
  sdkOwnsTerminalScreen?: boolean;
29
84
  };
30
85
 
31
- declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
86
+ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
32
87
  /**
33
88
  * Module configuration required to render the flow.
34
89
  * For Web Components, this is typically assigned via `element.config = ...`.
90
+ *
91
+ * Also carries optional per-instance `assets`/`animations` override maps;
92
+ * they override the global `setup({ uiConfig })` values for this
93
+ * element only and are ignored by the core manager.
35
94
  */
36
- config?: TConfig;
95
+ config?: TConfigInput;
37
96
  /**
38
97
  * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
39
98
  */
@@ -59,6 +118,30 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
59
118
  onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
60
119
  };
61
120
 
121
+ /**
122
+ * Per-instance asset/animation overrides for a single mounted SDK module.
123
+ *
124
+ * These ride on the module's `config` prop and are published once at the
125
+ * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
126
+ * reads them via {@link useInstanceOverrides} without any prop drilling.
127
+ */
128
+ declare type InstanceOverrides = {
129
+ assets?: AssetOverrides;
130
+ animations?: AnimationOverrides;
131
+ };
132
+
133
+ declare type LottieAnimationData = {
134
+ fr: number;
135
+ v: string;
136
+ ip: number;
137
+ op: number;
138
+ w: number;
139
+ h: number;
140
+ };
141
+
142
+ /** An SVG imported as a Preact component (the `?react` import shape). */
143
+ declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
144
+
62
145
  export { }
63
146
 
64
147
  declare global {
@@ -1,13 +1,68 @@
1
1
  import { CertificateIssuanceConfig } from '@incodetech/core/certificate-issuance';
2
2
  import { CertificateIssuanceManager } from '@incodetech/core/certificate-issuance';
3
+ import { DeepPartial } from '@incodetech/core/flow';
3
4
  import { FC } from 'preact/compat';
5
+ import { FunctionComponent } from 'preact';
6
+ import { SVGProps } from 'preact/compat';
4
7
 
5
- export declare const CertificateIssuance: FC<CertificateIssuanceProps>;
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
+ export declare const CertificateIssuance: FC<Omit<CertificateIssuanceProps, "config"> & {
52
+ config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
53
+ }>;
6
54
 
7
55
  declare type CertificateIssuanceProps = IncodeModuleProps<CertificateIssuanceConfig> & {
8
56
  manager?: CertificateIssuanceManager;
9
57
  };
10
58
 
59
+ /**
60
+ * A module `config` intersected with the per-instance override maps. Typed at
61
+ * the UI boundary so core config types (e.g. `IdCaptureConfig`) stay untouched;
62
+ * `FlowConfig` also declares the maps directly.
63
+ */
64
+ declare type ConfigWithOverrides<TConfig> = TConfig & InstanceOverrides;
65
+
11
66
  /**
12
67
  * Extra context passed to `onFinish` alongside the result. Lets a host decide
13
68
  * how to react to the terminal state without inspecting the DOM. Only the
@@ -28,12 +83,16 @@ declare type IncodeFinishMeta = {
28
83
  sdkOwnsTerminalScreen?: boolean;
29
84
  };
30
85
 
31
- declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
86
+ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
32
87
  /**
33
88
  * Module configuration required to render the flow.
34
89
  * For Web Components, this is typically assigned via `element.config = ...`.
90
+ *
91
+ * Also carries optional per-instance `assets`/`animations` override maps;
92
+ * they override the global `setup({ uiConfig })` values for this
93
+ * element only and are ignored by the core manager.
35
94
  */
36
- config?: TConfig;
95
+ config?: TConfigInput;
37
96
  /**
38
97
  * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
39
98
  */
@@ -59,6 +118,30 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown> = {
59
118
  onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
60
119
  };
61
120
 
121
+ /**
122
+ * Per-instance asset/animation overrides for a single mounted SDK module.
123
+ *
124
+ * These ride on the module's `config` prop and are published once at the
125
+ * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
126
+ * reads them via {@link useInstanceOverrides} without any prop drilling.
127
+ */
128
+ declare type InstanceOverrides = {
129
+ assets?: AssetOverrides;
130
+ animations?: AnimationOverrides;
131
+ };
132
+
133
+ declare type LottieAnimationData = {
134
+ fr: number;
135
+ v: string;
136
+ ip: number;
137
+ op: number;
138
+ w: number;
139
+ h: number;
140
+ };
141
+
142
+ /** An SVG imported as a Preact component (the `?react` import shape). */
143
+ declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
144
+
62
145
  export { }
63
146
 
64
147
  declare global {
@@ -1,8 +1,63 @@
1
1
  import { ConsentConfig } from '@incodetech/core/consent';
2
2
  import { ConsentManager } from '@incodetech/core/consent';
3
+ import { DeepPartial } from '@incodetech/core/flow';
3
4
  import { FC } from 'preact/compat';
5
+ import { FunctionComponent } from 'preact';
6
+ import { SVGProps } from 'preact/compat';
4
7
 
5
- export declare const Consent: FC<ConsentProps>;
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
+ export declare const Consent: FC<Omit<ConsentProps, "config"> & {
59
+ config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
60
+ }>;
6
61
 
7
62
  declare type ConsentProps = IncodeModuleProps<ConsentConfig, void, ConsentManager>;
8
63
 
@@ -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?: TConfig;
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,6 +116,30 @@ 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 {
@@ -1,9 +1,65 @@
1
1
  import { CrossDocumentDataMatchConfig } from '@incodetech/core/cross-document-data-match';
2
+ import { CrossDocumentDataMatchManager } from '@incodetech/core/cross-document-data-match';
3
+ import { DeepPartial } from '@incodetech/core/flow';
2
4
  import { FC } from 'preact/compat';
5
+ import { FunctionComponent } from 'preact';
6
+ import { SVGProps } from 'preact/compat';
3
7
 
4
- export declare const CrossDocumentDataMatch: FC<CrossDocumentDataMatchProps>;
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 CrossDocumentDataMatchProps = IncodeModuleProps<CrossDocumentDataMatchConfig>;
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 CrossDocumentDataMatch: FC<Omit<CrossDocumentDataMatchProps, "config"> & {
59
+ config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
60
+ }>;
61
+
62
+ declare type CrossDocumentDataMatchProps = IncodeModuleProps<CrossDocumentDataMatchConfig, void, CrossDocumentDataMatchManager>;
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?: TConfig;
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,4 +116,28 @@ 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 { }