@incodetech/web 0.0.0-dev-20260909-861bc6b6 → 0.0.0-dev-20260909-14ef44cf

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 (90) hide show
  1. package/dist/ae-signature/ae-signature.es.js +3 -3
  2. package/dist/antifraud/antifraud.es.js +3 -3
  3. package/dist/authentication/authentication.es.js +2 -2
  4. package/dist/certificate-issuance/certificate-issuance.es.js +4 -4
  5. package/dist/consent/consent.es.js +4 -4
  6. package/dist/{countrySelector-DZaiHuqa.js → countrySelector-DKg5Ds1n.js} +2 -2
  7. package/dist/cross-document-data-match/cross-document-data-match.es.js +3 -3
  8. package/dist/curp-validation/curp-validation.es.js +4 -4
  9. package/dist/{customFields-DnGzKZ2X.js → customFields-CNoRKnPl.js} +4 -4
  10. package/dist/{customWatchlist-DanoBwan.js → customWatchlist-ThbdoH2_.js} +4 -4
  11. package/dist/document-capture/document-capture.es.js +1 -1
  12. package/dist/{documentCapture-AXtF-c5W.js → documentCapture-DX5zyk3c.js} +6 -6
  13. package/dist/documentCapture-DgSmPfdz.js +2 -0
  14. package/dist/{dropdownComposed-6mdPv1kw.js → dropdownComposed-QhS8uwDE.js} +1 -1
  15. package/dist/{dynamicForms-Dyqe8uCQ.js → dynamic-forms/dynamic-forms.es.js} +7 -7
  16. package/dist/ekyb/ekyb.es.js +1 -1
  17. package/dist/{ekybModule-V_DllNKA.js → ekybModule-CLORvLGs.js} +7 -7
  18. package/dist/ekybModule-D5jakNDp.js +2 -0
  19. package/dist/ekyc/ekyc.es.js +1 -1
  20. package/dist/{ekycModule-C0hqcp2Q.js → ekycModule-CabDUmu7.js} +5 -5
  21. package/dist/ekycModule-CgLgN1XM.js +2 -0
  22. package/dist/electronic-signature/electronic-signature.es.js +1 -1
  23. package/dist/{electronic-signature-eZwx3GrW.js → electronic-signature-CZwV6Z7-.js} +4 -4
  24. package/dist/email/email.es.js +5 -5
  25. package/dist/{emailInput-DXydOqlS.js → emailInput-CZmNT4xf.js} +1 -1
  26. package/dist/{extensibility-D8xDocE-.js → extensibility-DwFhaxCo.js} +14 -14
  27. package/dist/extensibility.es.js +4 -4
  28. package/dist/face-match/face-match.es.js +1 -1
  29. package/dist/faceMatch-BM-FVaiU.js +2 -0
  30. package/dist/{faceMatch-aPVrZOBq.js → faceMatch-DXTrrC-m.js} +5 -5
  31. package/dist/field-comparison/field-comparison.es.js +1 -1
  32. package/dist/{fieldComparison-DxSy3OYc.js → fieldComparison-BOROqbI9.js} +4 -4
  33. package/dist/fieldComparison-D7LH3ZoD.js +2 -0
  34. package/dist/{finalSuccessScreen-rshXO2Xy.js → finalSuccessScreen-Drn9GVQR.js} +4 -4
  35. package/dist/fiscal-qr/fiscal-qr.es.js +4 -4
  36. package/dist/flow/flow.es.js +5 -5
  37. package/dist/geolocation/geolocation.es.js +4 -4
  38. package/dist/government-validation/government-validation.es.js +2 -2
  39. package/dist/{homeScreen-DDPUaSqh.js → homeScreen-zaTBPYZP.js} +2 -2
  40. package/dist/id/id.es.js +11 -11
  41. package/dist/id-selfie-flow/id-selfie-flow.es.js +4 -4
  42. package/dist/id-verification/id-verification.es.js +3 -3
  43. package/dist/{idOcr-D3kWrvFc.js → idOcr-BuInTg8J.js} +3 -3
  44. package/dist/identity-reuse/identity-reuse.es.js +4 -4
  45. package/dist/{incodeModule-BaCrMD79.js → incodeModule-DNwi5PIv.js} +1 -1
  46. package/dist/{mandatoryConsent-DQQDMwst.js → mandatoryConsent-Dh0qqIS8.js} +4 -4
  47. package/dist/{optionAccessibleLabel-Bfroeqhf.js → optionAccessibleLabel-DFs_dU6k.js} +1 -1
  48. package/dist/pdfViewer-B41kWu8T.js +2 -0
  49. package/dist/{pdfViewer--xguO-zw.js → pdfViewer-BztufNDo.js} +2 -2
  50. package/dist/phone/phone.es.js +4 -4
  51. package/dist/qe-signature/qe-signature.es.js +3 -3
  52. package/dist/redirect-to-mobile/redirect-to-mobile.es.js +4 -4
  53. package/dist/{richText-Bv9EHKC5.js → richText-CmgFuzHO.js} +1 -1
  54. package/dist/selfie/selfie.es.js +5 -5
  55. package/dist/signature/signature.es.js +4 -4
  56. package/dist/{spacer-hseodDV6.js → spacer-DI-GUPzr.js} +7 -7
  57. package/dist/{spinner-Czd9caTj.js → spinner-79XGZYai.js} +1 -1
  58. package/dist/{tabs--fOWNR5f.js → tabs-D593NLWd.js} +1 -1
  59. package/dist/types/dynamic-forms.d.ts +177 -0
  60. package/dist/{useModuleLoader-DqdtmetG.js → useModuleLoader-CMxfEBdJ.js} +16 -16
  61. package/dist/video-selfie/video-selfie.es.js +6 -6
  62. package/dist/watchlist/watchlist.es.js +4 -4
  63. package/dist/{watchlistForBusiness-BPErAAKO.js → watchlistForBusiness-B3au4z_B.js} +5 -5
  64. package/dist/workflow/workflow.es.js +4 -4
  65. package/package.json +11 -2
  66. package/dist/documentCapture-CMmdeqrx.js +0 -2
  67. package/dist/ekybModule-BCEQLAAj.js +0 -2
  68. package/dist/ekycModule-mkWtDqdi.js +0 -2
  69. package/dist/faceMatch-CXwjqW9A.js +0 -2
  70. package/dist/fieldComparison-DFIqwh0x.js +0 -2
  71. package/dist/pdfViewer-q6rbPPns.js +0 -2
  72. package/dist/types/dynamic-forms/styles.d.ts +0 -1
  73. /package/dist/{aligndevicelottie-BFkmrWUd.js → aligndevicelottie-DD49iAwf.js} +0 -0
  74. /package/dist/{back-horizontal-hint-CjEmCsGo.js → back-horizontal-hint-DcL2aeXz.js} +0 -0
  75. /package/dist/{back-tutorial-B9EZ8ww2.js → back-tutorial-BggT_Ad7.js} +0 -0
  76. /package/dist/{back-vertical-hint-B3zlltNN.js → back-vertical-hint-IHJzvCUW.js} +0 -0
  77. /package/dist/{backdevicelottie-DiCUQ98s.js → backdevicelottie-Dw7W6vlg.js} +0 -0
  78. /package/dist/{blurdevicelottie-CoknzQfn.js → blurdevicelottie-DPY8NMNI.js} +0 -0
  79. /package/dist/{flip-animation-yAPYAGAZ.js → flip-animation-D3Zr5EgF.js} +0 -0
  80. /package/dist/{front-horizontal-hint-DA6ocwiN.js → front-horizontal-hint-BplEh02R.js} +0 -0
  81. /package/dist/{front-vertical-hint-BF37RpT3.js → front-vertical-hint-D_dkG5uT.js} +0 -0
  82. /package/dist/{frontdevicelottie-Dn_eZ-W9.js → frontdevicelottie-CgADJyDu.js} +0 -0
  83. /package/dist/{glaredevicelottie-BuICw6Af.js → glaredevicelottie-ep0zWB24.js} +0 -0
  84. /package/dist/{id-laser-h-hA8RLJVe.js → id-laser-h-CbY0k-mZ.js} +0 -0
  85. /package/dist/{id-laser-v-D5OXqaUu.js → id-laser-v-BdjZEhnE.js} +0 -0
  86. /package/dist/{id-tutorial-fm4yjcaE.js → id-tutorial-kabKpVGr.js} +0 -0
  87. /package/dist/{passport-horizontal-hint-CnovFz6E.js → passport-horizontal-hint-CFRGHRVa.js} +0 -0
  88. /package/dist/{passport-tutorial-B2fVNB6x.js → passport-tutorial-KbO7bbXm.js} +0 -0
  89. /package/dist/{passport-vertical-hint-BQCBCuIo.js → passport-vertical-hint-BPaLhlho.js} +0 -0
  90. /package/dist/{selfieTutorial-Bza0IcKn.js → selfieTutorial-B30HiUvv.js} +0 -0
@@ -1,9 +1,9 @@
1
1
  import { o as useTranslation } from "../uiConfig-DG7HXVR0.js";
2
2
  import { h as q, v as u } from "../vendor-preact-C0jX1Cbq.js";
3
- import { At as isTerminalModuleState, K as PhoneInputComposed, Nt as useManager, St as Page, et as Checkbox, jt as useModuleTerminalCallbacks, mt as IncodeComponent, tt as OtpInput, vt as withStandaloneModuleBootstrap } from "../extensibility-D8xDocE-.js";
4
- import { t as Spacer } from "../spacer-hseodDV6.js";
5
- import { A as Button } from "../dropdownComposed-6mdPv1kw.js";
6
- import { t as registerIncodeModuleElement } from "../incodeModule-BaCrMD79.js";
3
+ import { At as isTerminalModuleState, K as PhoneInputComposed, Nt as useManager, St as Page, et as Checkbox, jt as useModuleTerminalCallbacks, mt as IncodeComponent, tt as OtpInput, vt as withStandaloneModuleBootstrap } from "../extensibility-DwFhaxCo.js";
4
+ import { t as Spacer } from "../spacer-DI-GUPzr.js";
5
+ import { A as Button } from "../dropdownComposed-QhS8uwDE.js";
6
+ import { t as registerIncodeModuleElement } from "../incodeModule-DNwi5PIv.js";
7
7
  import { createPhoneManager } from "@incodetech/core/phone";
8
8
  //#region src/modules/phone/phone.tsx
9
9
  /**
@@ -1,7 +1,7 @@
1
1
  import { v as u } from "../vendor-preact-C0jX1Cbq.js";
2
- import { vt as withStandaloneModuleBootstrap } from "../extensibility-D8xDocE-.js";
3
- import { n as ElectronicSignature } from "../electronic-signature-eZwx3GrW.js";
4
- import { t as registerIncodeModuleElement } from "../incodeModule-BaCrMD79.js";
2
+ import { vt as withStandaloneModuleBootstrap } from "../extensibility-DwFhaxCo.js";
3
+ import { n as ElectronicSignature } from "../electronic-signature-CZwV6Z7-.js";
4
+ import { t as registerIncodeModuleElement } from "../incodeModule-DNwi5PIv.js";
5
5
  //#region src/modules/qe-signature/qe-signature.tsx
6
6
  var QeSignatureWithLocalConfig = ({ config, manager, onFinish, onError }) => {
7
7
  return /* @__PURE__ */ u(ElectronicSignature, {
@@ -1,11 +1,11 @@
1
1
  import { t as __commonJSMin } from "../rolldown-runtime--E5BIlTp.js";
2
2
  import { a as Trans, o as useTranslation } from "../uiConfig-DG7HXVR0.js";
3
3
  import { S as k, _ as y, c as A, f as d, h as q, p as g, v as u } from "../vendor-preact-C0jX1Cbq.js";
4
- import { Ct as VerifiedByIncodeLogo, K as PhoneInputComposed, Nt as useManager, Tt as TransitionSpinner, X as getCountryByCallingCode, _t as Snackbar, gt as AutoFocusTitle, jt as useModuleTerminalCallbacks, mt as IncodeComponent, nt as formatResendTimer, rt as useResendTimerAnnouncements, vt as withStandaloneModuleBootstrap, wt as usePageUiConfig } from "../extensibility-D8xDocE-.js";
5
- import { t as Spacer } from "../spacer-hseodDV6.js";
6
- import { A as Button, O as incode_logo_default, d as SuccessIcon, k as ErrorIcon } from "../dropdownComposed-6mdPv1kw.js";
4
+ import { Ct as VerifiedByIncodeLogo, K as PhoneInputComposed, Nt as useManager, Tt as TransitionSpinner, X as getCountryByCallingCode, _t as Snackbar, gt as AutoFocusTitle, jt as useModuleTerminalCallbacks, mt as IncodeComponent, nt as formatResendTimer, rt as useResendTimerAnnouncements, vt as withStandaloneModuleBootstrap, wt as usePageUiConfig } from "../extensibility-DwFhaxCo.js";
5
+ import { t as Spacer } from "../spacer-DI-GUPzr.js";
6
+ import { A as Button, O as incode_logo_default, d as SuccessIcon, k as ErrorIcon } from "../dropdownComposed-QhS8uwDE.js";
7
7
  import { t as registerIncodeElement } from "../registerIncodeElement-BMz2FMUm.js";
8
- import { t as Tabs } from "../tabs--fOWNR5f.js";
8
+ import { t as Tabs } from "../tabs-D593NLWd.js";
9
9
  import { createRedirectToMobileManager } from "@incodetech/core/redirect-to-mobile";
10
10
  //#region src/modules/redirect-to-mobile/redirectHeader.tsx
11
11
  var RedirectHeader = ({ logoSrc }) => {
@@ -1,5 +1,5 @@
1
1
  import { v as u } from "./vendor-preact-C0jX1Cbq.js";
2
- import { u as purify } from "./spacer-hseodDV6.js";
2
+ import { u as purify } from "./spacer-DI-GUPzr.js";
3
3
  import { t as _defineProperty } from "./defineProperty-BvSzJNzg.js";
4
4
  //#region ../../node_modules/.pnpm/marked@17.0.5/node_modules/marked/lib/marked.esm.js
5
5
  var _Class;
@@ -1,10 +1,10 @@
1
1
  import { o as useTranslation } from "../uiConfig-DG7HXVR0.js";
2
2
  import { S as k, _ as y, c as A, v as u } from "../vendor-preact-C0jX1Cbq.js";
3
- import { At as isTerminalModuleState, Nt as useManager, S as Capture, St as Page, Tt as TransitionSpinner, ft as Processing, jt as useModuleTerminalCallbacks, mt as IncodeComponent, vt as withStandaloneModuleBootstrap, w as Permissions, x as Tutorial } from "../extensibility-D8xDocE-.js";
4
- import { i as preloadAnimations } from "../spacer-hseodDV6.js";
5
- import { t as Spinner } from "../spinner-Czd9caTj.js";
6
- import { A as Button, b as ChevronRightIcon, d as SuccessIcon, k as ErrorIcon } from "../dropdownComposed-6mdPv1kw.js";
7
- import { t as registerIncodeModuleElement } from "../incodeModule-BaCrMD79.js";
3
+ import { At as isTerminalModuleState, Nt as useManager, S as Capture, St as Page, Tt as TransitionSpinner, ft as Processing, jt as useModuleTerminalCallbacks, mt as IncodeComponent, vt as withStandaloneModuleBootstrap, w as Permissions, x as Tutorial } from "../extensibility-DwFhaxCo.js";
4
+ import { i as preloadAnimations } from "../spacer-DI-GUPzr.js";
5
+ import { t as Spinner } from "../spinner-79XGZYai.js";
6
+ import { A as Button, b as ChevronRightIcon, d as SuccessIcon, k as ErrorIcon } from "../dropdownComposed-QhS8uwDE.js";
7
+ import { t as registerIncodeModuleElement } from "../incodeModule-DNwi5PIv.js";
8
8
  import { createSelfieManager } from "@incodetech/core/selfie";
9
9
  //#region src/modules/selfie/manualUpload/manualUploadError.tsx
10
10
  /** `role="alert"` announces the rejection once on insert (SC 4.1.3). */
@@ -1,9 +1,9 @@
1
1
  import { o as useTranslation } from "../uiConfig-DG7HXVR0.js";
2
2
  import { _ as y, c as A, f as d, h as q, i as D, l as F, v as u } from "../vendor-preact-C0jX1Cbq.js";
3
- import { Nt as useManager, St as Page, jt as useModuleTerminalCallbacks, mt as IncodeComponent, ut as VerificationResult, vt as withStandaloneModuleBootstrap } from "../extensibility-D8xDocE-.js";
4
- import { t as Spacer } from "../spacer-hseodDV6.js";
5
- import { A as Button } from "../dropdownComposed-6mdPv1kw.js";
6
- import { t as registerIncodeModuleElement } from "../incodeModule-BaCrMD79.js";
3
+ import { Nt as useManager, St as Page, jt as useModuleTerminalCallbacks, mt as IncodeComponent, ut as VerificationResult, vt as withStandaloneModuleBootstrap } from "../extensibility-DwFhaxCo.js";
4
+ import { t as Spacer } from "../spacer-DI-GUPzr.js";
5
+ import { A as Button } from "../dropdownComposed-QhS8uwDE.js";
6
+ import { t as registerIncodeModuleElement } from "../incodeModule-DNwi5PIv.js";
7
7
  import { t as _defineProperty } from "../defineProperty-BvSzJNzg.js";
8
8
  import { createSignatureManager } from "@incodetech/core/signature";
9
9
  //#region ../../node_modules/.pnpm/signature_pad@5.1.3/node_modules/signature_pad/dist/signature_pad.js
@@ -1683,30 +1683,30 @@ var assetRegistry = {
1683
1683
  };
1684
1684
  var animationRegistry = {
1685
1685
  "id.tutorial.front": {
1686
- default: () => import("./id-tutorial-fm4yjcaE.js").then(defaultExport),
1686
+ default: () => import("./id-tutorial-kabKpVGr.js").then(defaultExport),
1687
1687
  a11y: decorative
1688
1688
  },
1689
1689
  "id.tutorial.back": {
1690
- default: () => import("./back-tutorial-B9EZ8ww2.js").then(defaultExport),
1690
+ default: () => import("./back-tutorial-BggT_Ad7.js").then(defaultExport),
1691
1691
  a11y: decorative
1692
1692
  },
1693
1693
  "id.tutorial.passport": {
1694
- default: () => import("./passport-tutorial-B2fVNB6x.js").then(defaultExport),
1694
+ default: () => import("./passport-tutorial-KbO7bbXm.js").then(defaultExport),
1695
1695
  a11y: decorative
1696
1696
  },
1697
1697
  "id.flip": {
1698
- default: () => import("./flip-animation-yAPYAGAZ.js").then(defaultExport),
1698
+ default: () => import("./flip-animation-D3Zr5EgF.js").then(defaultExport),
1699
1699
  a11y: decorative
1700
1700
  },
1701
1701
  "id.processing": {
1702
1702
  default: {
1703
- horizontal: () => import("./id-laser-h-hA8RLJVe.js").then(defaultExport),
1704
- vertical: () => import("./id-laser-v-D5OXqaUu.js").then(defaultExport)
1703
+ horizontal: () => import("./id-laser-h-CbY0k-mZ.js").then(defaultExport),
1704
+ vertical: () => import("./id-laser-v-BdjZEhnE.js").then(defaultExport)
1705
1705
  },
1706
1706
  a11y: decorative
1707
1707
  },
1708
1708
  "selfie.tutorial": {
1709
- default: () => import("./selfieTutorial-Bza0IcKn.js").then(defaultExport),
1709
+ default: () => import("./selfieTutorial-B30HiUvv.js").then(defaultExport),
1710
1710
  a11y: decorative
1711
1711
  },
1712
1712
  "loader.spinner": {
@@ -1,5 +1,5 @@
1
1
  import { S as k, _ as y, c as A, i as D, v as u } from "./vendor-preact-C0jX1Cbq.js";
2
- import { d as cn, n as LoadingIcon, t as Spacer } from "./spacer-hseodDV6.js";
2
+ import { d as cn, n as LoadingIcon, t as Spacer } from "./spacer-DI-GUPzr.js";
3
3
  //#region src/shared/typography/typography.tsx
4
4
  var Title = D(({ children, className, ...rest }, ref) => {
5
5
  return /* @__PURE__ */ u("h2", {
@@ -1,5 +1,5 @@
1
1
  import { b as Q, f as d, g as x, p as g, v as u } from "./vendor-preact-C0jX1Cbq.js";
2
- import { d as cn } from "./spacer-hseodDV6.js";
2
+ import { d as cn } from "./spacer-DI-GUPzr.js";
3
3
  //#region src/shared/tabs/tabs.tsx
4
4
  var TabsContext = Q(null);
5
5
  var useTabsContext = () => {
@@ -0,0 +1,177 @@
1
+ import { DeepPartial } from '@incodetech/core/flow';
2
+ import { DynamicFormsConfig } from '@incodetech/core/dynamic-forms';
3
+ import { DynamicFormsManager } from '@incodetech/core/dynamic-forms';
4
+ import { FC } from 'preact/compat';
5
+ import { FunctionComponent } from 'preact';
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;
57
+
58
+ export declare const DynamicForms: FC<Omit<DynamicFormsProps, "config"> & {
59
+ config?: (Omit<unknown, never> & DeepPartial<Pick<unknown, never>>) | undefined;
60
+ }>;
61
+
62
+ declare type DynamicFormsProps = IncodeModuleProps<DynamicFormsConfig, void, DynamicFormsManager>;
63
+
64
+ /**
65
+ * Extra context passed to `onFinish` alongside the result. Lets a host decide
66
+ * how to react to the terminal state without inspecting the DOM. Only the
67
+ * workflow module sets these fields today.
68
+ */
69
+ declare type IncodeFinishMeta = {
70
+ /**
71
+ * True when the SDK owns the terminal screen — it has already rendered its
72
+ * own finish UI (today, the workflow's `showFinishScreenBySessionStatus`
73
+ * screen), so the host should not render its own completion screen on top.
74
+ * `onFinish` still fires so the host can run side effects (e.g. notify an
75
+ * OAuth parent).
76
+ *
77
+ * Advisory only: the SDK cannot stop a host from rendering. This works solely
78
+ * because the host reads this flag — a host that ignores it will still
79
+ * replace the SDK screen. Not a guarantee.
80
+ */
81
+ sdkOwnsTerminalScreen?: boolean;
82
+ };
83
+
84
+ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TConfigInput = ConfigWithOverrides<TConfig>> = {
85
+ /**
86
+ * Module configuration required to render the flow.
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.
92
+ */
93
+ config?: TConfigInput;
94
+ /**
95
+ * Optional pre-built manager. When provided, the module does not create or manage the manager lifecycle.
96
+ */
97
+ manager?: TManager;
98
+ /**
99
+ * Callback invoked when the module completes successfully.
100
+ * @param result - Optional result data from the module completion
101
+ * @param meta - Optional context about how the module resolved (e.g. whether
102
+ * the SDK rendered its own terminal finish screen). See {@link IncodeFinishMeta}.
103
+ */
104
+ onFinish?: (result?: TResult, meta?: IncodeFinishMeta) => void;
105
+ /**
106
+ * Callback invoked when a fatal module error occurs.
107
+ *
108
+ * @param error - Human-readable error message.
109
+ * @param errorCode - Optional numeric code (e.g. HTTP status). Populated by
110
+ * the workflow and flow modules on QR validation failures —
111
+ * `4026` (`expiredUUID`), `4081` (`invalidQRuuid`) or `4083` (`onboardingUrlAlreadyUsed`).
112
+ * @param moduleErrorCode - Optional machine-readable error code (e.g. a
113
+ * `FaceErrorCode` such as `NONEXISTENT_CUSTOMER`). Lets an orchestrator
114
+ * branch on the specific terminal error without parsing the message string.
115
+ */
116
+ onError?: (error: string | undefined, errorCode?: number, moduleErrorCode?: string) => void;
117
+ };
118
+
119
+ /**
120
+ * Per-instance 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
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
125
+ * any prop drilling.
126
+ */
127
+ declare type InstanceOverrides = {
128
+ assets?: AssetOverrides;
129
+ animations?: AnimationOverrides;
130
+ spinner?: SpinnerPresentation;
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
+ /**
143
+ * Host-facing loader presentation, settable globally via
144
+ * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
145
+ *
146
+ * Copy is deliberately absent. Loader text comes from i18n (`loadingCircle.*`),
147
+ * which keeps it localizable — a literal string here would freeze in whatever
148
+ * language the host typed it in when the user switches language mid-flow — and
149
+ * leaves one source of truth for user-facing strings.
150
+ */
151
+ declare type SpinnerPresentation = {
152
+ renderMode?: SpinnerRenderMode;
153
+ size?: SpinnerSize;
154
+ };
155
+
156
+ /**
157
+ * Which parts of a loader render.
158
+ *
159
+ * An enum rather than a pair of booleans so the meaningless fourth state —
160
+ * neither icon nor text, i.e. a blank screen — is unrepresentable.
161
+ */
162
+ declare type SpinnerRenderMode = 'spinnerAndText' | 'spinnerOnly' | 'textOnly';
163
+
164
+ declare type SpinnerSize = 'small' | 'medium' | 'large';
165
+
166
+ /** An SVG imported as a Preact component (the `?react` import shape). */
167
+ declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
168
+
169
+ export { }
170
+
171
+ declare global {
172
+ interface HTMLElementTagNameMap {
173
+ 'incode-dynamic-forms': HTMLElement & IncodeModuleProps<DynamicFormsConfig,
174
+ void,
175
+ DynamicFormsManager>;
176
+ }
177
+ }
@@ -1,8 +1,8 @@
1
1
  import { c as setI18nInstance, l as createI18n, s as hasI18nInstance } from "./uiConfig-DG7HXVR0.js";
2
2
  import { _ as y, c as A, f as d, v as u } from "./vendor-preact-C0jX1Cbq.js";
3
3
  import { a as getStandaloneSetupPolicy, n as preloadDashboardTheme } from "./dashboardTheme-CwGkC76p.js";
4
- import "./extensibility-D8xDocE-.js";
5
- import { A as Button } from "./dropdownComposed-6mdPv1kw.js";
4
+ import "./extensibility-DwFhaxCo.js";
5
+ import { A as Button } from "./dropdownComposed-QhS8uwDE.js";
6
6
  import { initializeWasmUtil, resolveWasmConfigForPipelines, setWasmConfig, upgradeToWasmHttpClient, warmupWasm } from "@incodetech/core/wasm";
7
7
  import { isDesktopOrEmulated } from "@incodetech/core/device";
8
8
  import { createOrchestratedFlowManager, getFlow, getRequiredWasmPipelines } from "@incodetech/core/flow";
@@ -33,7 +33,7 @@ function isDesktopOrEmulated$1() {
33
33
  //#endregion
34
34
  //#region src/modules/flow/flowInit.ts
35
35
  var lazyIdModule = () => import("./id/id.es.js").then((m) => m.Id);
36
- var loadLazyHomeScreen = () => import("./homeScreen-DDPUaSqh.js").then((m) => m.HomeScreen);
36
+ var loadLazyHomeScreen = () => import("./homeScreen-zaTBPYZP.js").then((m) => m.HomeScreen);
37
37
  var homeScreenPreloadPromise;
38
38
  /**
39
39
  * Headless flow keys: backend-only steps with no UI. `<incode-flow>` renders
@@ -97,31 +97,31 @@ var LAZY_UI_MODULES = {
97
97
  ID_CAPTURE: lazyIdModule,
98
98
  TUTORIAL_ID: lazyIdModule,
99
99
  SECOND_ID: lazyIdModule,
100
- FACE_MATCH: () => import("./faceMatch-CXwjqW9A.js").then((m) => m.FaceMatch),
100
+ FACE_MATCH: () => import("./faceMatch-BM-FVaiU.js").then((m) => m.FaceMatch),
101
101
  CURP_VALIDATION: () => import("./curp-validation/curp-validation.es.js").then((m) => m.CurpValidation),
102
102
  GOVT_VALIDATION_PROVISIONING: () => import("./government-validation/government-validation.es.js").then((m) => m.GovernmentValidation),
103
103
  INE_VALIDATION: () => import("./government-validation/government-validation.es.js").then((m) => m.GovernmentValidation),
104
104
  GEOLOCATION: () => import("./geolocation/geolocation.es.js").then((m) => m.Geolocation),
105
- EXTERNAL_VERIFICATION: () => import("./ekycModule-mkWtDqdi.js").then((m) => m.EkycModule),
106
- EKYB: () => import("./ekybModule-BCEQLAAj.js").then((m) => m.EkybModule),
107
- DOCUMENT_CAPTURE: () => import("./documentCapture-CMmdeqrx.js").then((m) => m.DocumentCapture),
108
- ADDRESS: () => import("./documentCapture-CMmdeqrx.js").then((m) => m.DocumentCapture),
105
+ EXTERNAL_VERIFICATION: () => import("./ekycModule-CgLgN1XM.js").then((m) => m.EkycModule),
106
+ EKYB: () => import("./ekybModule-D5jakNDp.js").then((m) => m.EkybModule),
107
+ DOCUMENT_CAPTURE: () => import("./documentCapture-DgSmPfdz.js").then((m) => m.DocumentCapture),
108
+ ADDRESS: () => import("./documentCapture-DgSmPfdz.js").then((m) => m.DocumentCapture),
109
109
  COMBINED_CONSENT: () => import("./consent/consent.es.js").then((m) => m.Consent),
110
- MANDATORY_CONSENT: () => import("./mandatoryConsent-DQQDMwst.js").then((m) => m.MandatoryConsent),
111
- ML_CONSENT: () => import("./mandatoryConsent-DQQDMwst.js").then((m) => m.MandatoryConsent),
110
+ MANDATORY_CONSENT: () => import("./mandatoryConsent-Dh0qqIS8.js").then((m) => m.MandatoryConsent),
111
+ ML_CONSENT: () => import("./mandatoryConsent-Dh0qqIS8.js").then((m) => m.MandatoryConsent),
112
112
  SIGNATURE: () => import("./signature/signature.es.js").then((m) => m.Signature),
113
- ID_OCR: () => import("./idOcr-D3kWrvFc.js").then((m) => m.IdOcr),
113
+ ID_OCR: () => import("./idOcr-BuInTg8J.js").then((m) => m.IdOcr),
114
114
  ANTIFRAUD: () => import("./antifraud/antifraud.es.js").then((m) => m.Antifraud),
115
- CUSTOM_FIELDS: () => import("./customFields-DnGzKZ2X.js").then((m) => m.CustomFields),
115
+ CUSTOM_FIELDS: () => import("./customFields-CNoRKnPl.js").then((m) => m.CustomFields),
116
116
  WATCHLIST: () => import("./watchlist/watchlist.es.js").then((m) => m.Watchlist),
117
- WATCHLIST_BUSINESS: () => import("./watchlistForBusiness-BPErAAKO.js").then((m) => m.WatchlistForBusiness),
118
- INCODE_WATCHLIST: () => import("./customWatchlist-DanoBwan.js").then((m) => m.CustomWatchlist),
117
+ WATCHLIST_BUSINESS: () => import("./watchlistForBusiness-B3au4z_B.js").then((m) => m.WatchlistForBusiness),
118
+ INCODE_WATCHLIST: () => import("./customWatchlist-ThbdoH2_.js").then((m) => m.CustomWatchlist),
119
119
  AE_SIGNATURE: () => import("./ae-signature/ae-signature.es.js").then((m) => m.AeSignature),
120
120
  QE_SIGNATURE: () => import("./qe-signature/qe-signature.es.js").then((m) => m.QeSignature),
121
121
  CROSS_DOCUMENT_DATA_MATCH: () => import("./cross-document-data-match/cross-document-data-match.es.js").then((m) => m.CrossDocumentDataMatch),
122
- DYNAMIC_FORMS: () => import("./dynamicForms-Dyqe8uCQ.js").then((m) => m.DynamicForms),
122
+ DYNAMIC_FORMS: () => import("./dynamic-forms/dynamic-forms.es.js").then((m) => m.DynamicForms),
123
123
  CERTIFICATE_ISSUANCE: () => import("./certificate-issuance/certificate-issuance.es.js").then((m) => m.CertificateIssuance),
124
- FIELD_COMPARISON: () => import("./fieldComparison-DFIqwh0x.js").then((m) => m.FieldComparison),
124
+ FIELD_COMPARISON: () => import("./fieldComparison-D7LH3ZoD.js").then((m) => m.FieldComparison),
125
125
  FISCAL_QR: () => import("./fiscal-qr/fiscal-qr.es.js").then((m) => m.FiscalQr),
126
126
  VIDEO_ONBOARDING: () => import("./video-selfie/video-selfie.es.js").then((m) => m.VideoSelfie)
127
127
  };
@@ -1,11 +1,11 @@
1
1
  import { o as useTranslation } from "../uiConfig-DG7HXVR0.js";
2
2
  import { S as k, _ as y, c as A, f as d, h as q, u as T, v as u } from "../vendor-preact-C0jX1Cbq.js";
3
- import { Dt as useTimeoutHandle, N as CameraView, Nt as useManager, St as Page, Tt as TransitionSpinner, jt as useModuleTerminalCallbacks, mt as IncodeComponent, s as preloadCaptureAnimations, vt as withStandaloneModuleBootstrap, w as Permissions, xt as TerminalErrorPage } from "../extensibility-D8xDocE-.js";
4
- import { d as cn, n as LoadingIcon } from "../spacer-hseodDV6.js";
5
- import { n as Title } from "../spinner-Czd9caTj.js";
6
- import { A as Button, d as SuccessIcon } from "../dropdownComposed-6mdPv1kw.js";
7
- import { t as registerIncodeModuleElement } from "../incodeModule-BaCrMD79.js";
8
- import { a as IdFlipModal, c as VideoSelfieTutorial, i as IdMask, l as useVideoSelfiePermissions, n as SwitchingCameraScreen, o as preloadIdFlipAnimation, r as StepsHeader, s as SelfieMask, t as VideoSelfieFinalSuccessScreen } from "../finalSuccessScreen-rshXO2Xy.js";
3
+ import { Dt as useTimeoutHandle, N as CameraView, Nt as useManager, St as Page, Tt as TransitionSpinner, jt as useModuleTerminalCallbacks, mt as IncodeComponent, s as preloadCaptureAnimations, vt as withStandaloneModuleBootstrap, w as Permissions, xt as TerminalErrorPage } from "../extensibility-DwFhaxCo.js";
4
+ import { d as cn, n as LoadingIcon } from "../spacer-DI-GUPzr.js";
5
+ import { n as Title } from "../spinner-79XGZYai.js";
6
+ import { A as Button, d as SuccessIcon } from "../dropdownComposed-QhS8uwDE.js";
7
+ import { t as registerIncodeModuleElement } from "../incodeModule-DNwi5PIv.js";
8
+ import { a as IdFlipModal, c as VideoSelfieTutorial, i as IdMask, l as useVideoSelfiePermissions, n as SwitchingCameraScreen, o as preloadIdFlipAnimation, r as StepsHeader, s as SelfieMask, t as VideoSelfieFinalSuccessScreen } from "../finalSuccessScreen-Drn9GVQR.js";
9
9
  import { eventModuleNames, eventScreenNames, screenEvent, videoSelfieEvents } from "@incodetech/core/events";
10
10
  import { VIDEO_SELFIE_VALIDATION_ATTEMPTS_EXHAUSTED_CODE, createConsentRecorder, createVideoSelfieCameraWarmer, createVideoSelfieRecordingManager, facingModeForStep, getVideoSelfieQuestions, getVoiceConsentPhrase, resolveVideoSelfieSteps } from "@incodetech/core/video-selfie";
11
11
  //#region src/modules/video-selfie/poaMask.tsx
@@ -1,9 +1,9 @@
1
1
  import { o as useTranslation } from "../uiConfig-DG7HXVR0.js";
2
2
  import { _ as y, v as u } from "../vendor-preact-C0jX1Cbq.js";
3
- import { Nt as useManager, jt as useModuleTerminalCallbacks, lt as StatusPage, mt as IncodeComponent, vt as withStandaloneModuleBootstrap } from "../extensibility-D8xDocE-.js";
4
- import { n as LoadingIcon } from "../spacer-hseodDV6.js";
5
- import { d as SuccessIcon } from "../dropdownComposed-6mdPv1kw.js";
6
- import { t as registerIncodeModuleElement } from "../incodeModule-BaCrMD79.js";
3
+ import { Nt as useManager, jt as useModuleTerminalCallbacks, lt as StatusPage, mt as IncodeComponent, vt as withStandaloneModuleBootstrap } from "../extensibility-DwFhaxCo.js";
4
+ import { n as LoadingIcon } from "../spacer-DI-GUPzr.js";
5
+ import { d as SuccessIcon } from "../dropdownComposed-QhS8uwDE.js";
6
+ import { t as registerIncodeModuleElement } from "../incodeModule-DNwi5PIv.js";
7
7
  import { createWatchlistManager } from "@incodetech/core/watchlist";
8
8
  //#region src/modules/watchlist/watchlist.tsx
9
9
  var WatchlistContent = ({ manager: externalManager, onFinish }) => {
@@ -1,10 +1,10 @@
1
1
  import { o as useTranslation } from "./uiConfig-DG7HXVR0.js";
2
2
  import { _ as y, v as u } from "./vendor-preact-C0jX1Cbq.js";
3
- import { Nt as useManager, St as Page, at as InputComposed, jt as useModuleTerminalCallbacks, lt as StatusPage, mt as IncodeComponent, vt as withStandaloneModuleBootstrap } from "./extensibility-D8xDocE-.js";
4
- import { n as LoadingIcon } from "./spacer-hseodDV6.js";
5
- import { A as Button, d as SuccessIcon } from "./dropdownComposed-6mdPv1kw.js";
6
- import { t as registerIncodeModuleElement } from "./incodeModule-BaCrMD79.js";
7
- import { t as CountrySelector } from "./countrySelector-DZaiHuqa.js";
3
+ import { Nt as useManager, St as Page, at as InputComposed, jt as useModuleTerminalCallbacks, lt as StatusPage, mt as IncodeComponent, vt as withStandaloneModuleBootstrap } from "./extensibility-DwFhaxCo.js";
4
+ import { n as LoadingIcon } from "./spacer-DI-GUPzr.js";
5
+ import { A as Button, d as SuccessIcon } from "./dropdownComposed-QhS8uwDE.js";
6
+ import { t as registerIncodeModuleElement } from "./incodeModule-DNwi5PIv.js";
7
+ import { t as CountrySelector } from "./countrySelector-DKg5Ds1n.js";
8
8
  import { createWatchlistForBusinessManager } from "@incodetech/core/watchlist-for-business";
9
9
  //#region src/modules/watchlist-for-business/watchlistForBusiness.tsx
10
10
  var WatchlistForBusinessContent = ({ manager: externalManager, onFinish }) => {
@@ -1,9 +1,9 @@
1
1
  import { o as useTranslation, t as setThemeUiConfig, u as readStoredLanguage } from "../uiConfig-DG7HXVR0.js";
2
2
  import { _ as y, a as P, c as A, f as d, s as z, v as u } from "../vendor-preact-C0jX1Cbq.js";
3
3
  import { i as fetchAndApplyTheme } from "../dashboardTheme-CwGkC76p.js";
4
- import { Nt as useManager, St as Page, Tt as TransitionSpinner, gt as AutoFocusTitle, mt as IncodeComponent, xt as TerminalErrorPage, yt as ResolvedConfigProvider } from "../extensibility-D8xDocE-.js";
5
- import { t as registerIncodeModuleElement } from "../incodeModule-BaCrMD79.js";
6
- import { a as resolveApiKey, g as setupSDK, i as HEADLESS_WORKFLOW_MODULE_KEYS, l as LAZY_UI_MODULES, o as extractIncodeStatus, s as UnsupportedModule, t as useModuleLoader, v as isDesktopOrEmulated, y as resolveSessionLanguage } from "../useModuleLoader-DqdtmetG.js";
4
+ import { Nt as useManager, St as Page, Tt as TransitionSpinner, gt as AutoFocusTitle, mt as IncodeComponent, xt as TerminalErrorPage, yt as ResolvedConfigProvider } from "../extensibility-DwFhaxCo.js";
5
+ import { t as registerIncodeModuleElement } from "../incodeModule-DNwi5PIv.js";
6
+ import { a as resolveApiKey, g as setupSDK, i as HEADLESS_WORKFLOW_MODULE_KEYS, l as LAZY_UI_MODULES, o as extractIncodeStatus, s as UnsupportedModule, t as useModuleLoader, v as isDesktopOrEmulated, y as resolveSessionLanguage } from "../useModuleLoader-CMxfEBdJ.js";
7
7
  import { resolveWasmConfigForPipelines, setWasmConfig, upgradeToWasmHttpClient, warmupWasm } from "@incodetech/core/wasm";
8
8
  import { classifyScoreStatus } from "@incodetech/core/flow";
9
9
  import { bootstrapSession, refreshQrUrlUuid } from "@incodetech/core/session";
@@ -262,7 +262,7 @@ function useWorkflowInitialization(options) {
262
262
  }
263
263
  //#endregion
264
264
  //#region src/modules/workflow/workflow.tsx
265
- var LazyHomeScreen = z(() => import("../homeScreen-DDPUaSqh.js").then((module) => ({ default: module.HomeScreen })));
265
+ var LazyHomeScreen = z(() => import("../homeScreen-zaTBPYZP.js").then((module) => ({ default: module.HomeScreen })));
266
266
  function mapModuleConfig(options) {
267
267
  const { moduleKey, config, workflowId, authHint, loginHintPrefill, lang, mergeSessionRecordings, ageAssurance } = options;
268
268
  switch (moduleKey) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@incodetech/web",
3
- "version": "0.0.0-dev-20260909-861bc6b6",
3
+ "version": "0.0.0-dev-20260909-14ef44cf",
4
4
  "license": "ISC",
5
5
  "repository": {
6
6
  "type": "git",
@@ -257,6 +257,15 @@
257
257
  "source": "./src/modules/workflow/styles.css",
258
258
  "default": "./dist/workflow/styles.css"
259
259
  },
260
+ "./dynamic-forms": {
261
+ "source": "./src/modules/dynamic-forms/dynamic-forms.tsx",
262
+ "types": "./dist/types/dynamic-forms.d.ts",
263
+ "import": "./dist/dynamic-forms/dynamic-forms.es.js"
264
+ },
265
+ "./dynamic-forms/styles.css": {
266
+ "source": "./src/modules/dynamic-forms/styles.css",
267
+ "default": "./dist/dynamic-forms/styles.css"
268
+ },
260
269
  "./cross-document-data-match": {
261
270
  "source": "./src/modules/cross-document-data-match/cross-document-data-match.tsx",
262
271
  "types": "./dist/types/cross-document-data-match.d.ts",
@@ -278,7 +287,7 @@
278
287
  ],
279
288
  "dependencies": {
280
289
  "preact": "^10.27.2",
281
- "@incodetech/core": "0.0.0-dev-20260909-861bc6b6"
290
+ "@incodetech/core": "0.0.0-dev-20260909-14ef44cf"
282
291
  },
283
292
  "devDependencies": {
284
293
  "@fontsource/dm-sans": "^5.2.8",
@@ -1,2 +0,0 @@
1
- import { t as DocumentCapture } from "./documentCapture-AXtF-c5W.js";
2
- export { DocumentCapture };
@@ -1,2 +0,0 @@
1
- import { t as EkybModule } from "./ekybModule-V_DllNKA.js";
2
- export { EkybModule };
@@ -1,2 +0,0 @@
1
- import { t as EkycModule } from "./ekycModule-C0hqcp2Q.js";
2
- export { EkycModule };
@@ -1,2 +0,0 @@
1
- import { t as FaceMatch } from "./faceMatch-aPVrZOBq.js";
2
- export { FaceMatch };
@@ -1,2 +0,0 @@
1
- import { t as FieldComparison } from "./fieldComparison-DxSy3OYc.js";
2
- export { FieldComparison };
@@ -1,2 +0,0 @@
1
- import { t as PdfViewer } from "./pdfViewer--xguO-zw.js";
2
- export { PdfViewer };
@@ -1 +0,0 @@
1
- export {}