@incodetech/web 2.1.1 → 2.2.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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-D7VzaZ2P.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-Jgwh943i.js} +5 -5
  12. package/dist/connectionError-Bl5E35Qm.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-Sd-u1WGf.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-CiEguXX9.js} +13 -14
  20. package/dist/{customWatchlist-CYoRNCim.js → customWatchlist-BSAW87qq.js} +9 -9
  21. package/dist/dashboardTheme-FtPiizV0.js +223 -0
  22. package/dist/{dateInputComposed-DuaofcBl.js → dateInputComposed-D0WEYWkS.js} +5 -5
  23. package/dist/dateInputComposed-DKQJz0kJ.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-GFNkI1ly.js} +218 -136
  27. package/dist/documentCapture-sB2_X-we.js +2 -0
  28. package/dist/{dropdownComposed-CoU0enG6.js → dropdownComposed-BXleSN7n.js} +18 -11
  29. package/dist/dropdownComposed-DE-VJgcR.js +1 -0
  30. package/dist/dynamic-forms/styles.css +58 -6
  31. package/dist/{dynamicForms-BifGbC9F.js → dynamicForms-DU5fT72-.js} +53 -45
  32. package/dist/ekyb/ekyb.es.js +1 -1
  33. package/dist/ekyb/styles.css +1 -28
  34. package/dist/{ekybModule-DGnTw5UV.js → ekybModule-CMcpoTgh.js} +51 -27
  35. package/dist/ekybModule-CR9A6Fqb.js +2 -0
  36. package/dist/ekyc/ekyc.es.js +1 -1
  37. package/dist/ekyc/styles.css +2 -2
  38. package/dist/{ekycModule-Dxpdd0ns.js → ekycModule-BTO8iIwh.js} +45 -19
  39. package/dist/ekycModule-CewwzYvk.js +2 -0
  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-COBKJBjU.js} +31 -23
  43. package/dist/email/email.es.js +10 -11
  44. package/dist/{emailInput-DsLkDtER.js → emailInput-mPPvterQ.js} +4 -4
  45. package/dist/{expiredId-BZXLrLk-.js → expiredId-CD5ETLV9.js} +6 -6
  46. package/dist/{extensibility-7sRIN0JC.js → extensibility-DBilbbhC.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-2pfSeXeA.js +2 -0
  51. package/dist/{faceMatch-DyTBoMDm.js → faceMatch-CwDBO9Is.js} +71 -79
  52. package/dist/field-comparison/field-comparison.es.js +1 -1
  53. package/dist/fieldComparison-DUYp39WI.js +2 -0
  54. package/dist/{fieldComparison-L_knHqgw.js → fieldComparison-dDvSYYQP.js} +11 -12
  55. package/dist/finalSuccessScreen-B9kb72WR.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 +84 -48
  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-Dycy1yhN.js} +7 -9
  66. package/dist/{icons-CJJbIpBq.js → icons-D0cfSCBM.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-riTHUOlr.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-cGsd55rc.js} +64 -1
  82. package/dist/incodeComponent-B-daxouV.js +713 -0
  83. package/dist/incodeModule-uyUrSSUM.js +25 -0
  84. package/dist/index.es.js +16 -5
  85. package/dist/inputComposed-CABc288U.js +1 -0
  86. package/dist/{inputComposed-C1R2LAa3.js → inputComposed-Pp_XN1-h.js} +9 -9
  87. package/dist/{mandatoryConsent-D0GTKu-H.js → mandatoryConsent-DSAjFc0h.js} +9 -11
  88. package/dist/manualCaptureButton-BY8dRhGA.js +300 -0
  89. package/dist/{capture-CkGvdDNH.js → manualCaptureButton-BldgUGso.js} +68 -198
  90. package/dist/{modal-OxkFuuiR.js → modal-BlczH_pL.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-Dmz3eRsO.js} +6 -6
  94. package/dist/{otpInput-CnDc6pQm.js → otpInput-B3vUjmBF.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-4xNYiBI1.js +2 -0
  99. package/dist/{pdfViewer-B97DmT9m.js → pdfViewer-BGFFFvmi.js} +5 -7
  100. package/dist/phone/phone.es.js +13 -12
  101. package/dist/{phoneInputComposed-DMiXfF-1.js → phoneInputComposed-D1ZBsd4S.js} +7 -6
  102. package/dist/{processing-BeUMfdJJ.js → processing-vGhs5Gvb.js} +2 -2
  103. package/dist/qe-signature/qe-signature.es.js +7 -4
  104. package/dist/{radioGroupComposed-DuQxslB2.js → radioGroupComposed-CYPHpI6a.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-2OnIN9ff.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-BzyWgQ7J.js} +2 -2
  114. package/dist/spacer-Bnmh-DfR.js +2344 -0
  115. package/dist/{spinner-BMeIEK1d.js → spinner-HP_c74K-.js} +45 -4
  116. package/dist/statusPage-C0vTVW0Q.js +36 -0
  117. package/dist/{successIcon-B5mGvdx1.js → successIcon-Bj8Y9CuI.js} +1 -1
  118. package/dist/{tabs-C__chW-u.js → tabs-B_TxQ9ZQ.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-Cuy2ZEG9.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 +160 -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 +109 -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-D7ezQeZ7.js} +63 -3
  155. package/dist/{useModuleLoader-Bi26kJbg.js → useModuleLoader-BImpfi_R.js} +37 -248
  156. package/dist/{vendor-preact-DThS2ZQ_.js → vendor-preact-mvwZ8mJj.js} +1 -1
  157. package/dist/{verificationResult-BWWkmeiA.js → verificationResult-IUf0w1aR.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-zT9gCfTc.js} +12 -13
  162. package/dist/workflow/styles.css +501 -3977
  163. package/dist/workflow/workflow.es.js +26 -19
  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
@@ -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
+ }
@@ -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?: TConfig;
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
  }
@@ -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
- export declare const Id: FC<IdProps>;
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 IdProps = IncodeModuleProps<IdCaptureConfig, void, IdCaptureManager>;
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?: 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,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, void, IdCaptureManager>;
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?: TConfig;
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 {
@@ -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,14 +78,26 @@ 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
  /**
21
93
  * Sets global UI configuration defaults for `@incodetech/ui`.
94
+ *
95
+ * Replaces (does not merge with) the previous host-supplied config, so omitting
96
+ * a field clears it. The dashboard theme is held separately and is unaffected.
22
97
  */
23
98
  export declare function setUiConfig(next: UiConfig): void;
24
99
 
25
- export declare function setup({ apiURL, token, customHeaders, timeout, wasm, ipLookup, fingerprint, devMode, i18n, uiConfig, }: SetupOptions): Promise<void>;
100
+ export declare function setup({ apiURL, token, customHeaders, timeout, wasm, ipLookup, fingerprint, devMode, featureManagement, environment, i18n, uiConfig, flow, theme, }: SetupOptions): Promise<void>;
26
101
 
27
102
  declare type SetupOptions = {
28
103
  apiURL: string;
@@ -44,8 +119,39 @@ declare type SetupOptions = {
44
119
  * `SetupOptions.devMode` docs. WASM logging is controlled via `wasm.showLogs`.
45
120
  */
46
121
  devMode?: boolean;
122
+ /**
123
+ * Enables feature management. Forwarded to core `setup()` — see the core
124
+ * `SetupOptions.featureManagement` docs for the full behavior (identity
125
+ * model, lock semantics, privacy flags, opt-out semantics). Default: `true`.
126
+ */
127
+ featureManagement?: boolean | FeatureManagementSetupOptions;
128
+ /**
129
+ * Coarse deployment tier. Forwarded to core `setup()` — see the core
130
+ * `SetupOptions.environment` docs. Default: `'production'`.
131
+ */
132
+ environment?: 'development' | 'staging' | 'production';
47
133
  i18n?: I18nOptions;
48
134
  uiConfig?: UiConfig;
135
+ /**
136
+ * Controls Flow-backed standalone module configuration. Omit or pass `{}`
137
+ * for lazy resolution, use `preload` to fetch Flow during setup, use
138
+ * `mergeConfig` to merge supplied partial config over Flow config, or pass
139
+ * `false` to disable Flow-backed standalone configuration.
140
+ */
141
+ flow?: FlowSetup;
142
+ /**
143
+ * Controls the session dashboard theme independently from Flow. Omit or
144
+ * pass `{}` for compatibility-safe lazy loading, use `preload` to fetch and
145
+ * apply it during setup, or pass `false` to disable it.
146
+ */
147
+ theme?: ThemeSetup;
148
+ };
149
+
150
+ /** An SVG imported as a Preact component (the `?react` import shape). */
151
+ export declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
152
+
153
+ declare type ThemeSetup = false | {
154
+ preload?: boolean;
49
155
  };
50
156
 
51
157
  declare type Translations = Partial<Record<string, LanguageTranslations>>;
@@ -58,6 +164,8 @@ export declare type UiConfig = {
58
164
  subtitle?: string;
59
165
  hideHeader?: boolean;
60
166
  hideFooterBranding?: boolean;
167
+ assets?: AssetOverrides;
168
+ animations?: AnimationOverrides;
61
169
  };
62
170
 
63
171
  export { }