@incodetech/web 2.2.0-rc.1 → 2.2.0-rc.2

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 (127) 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 +4 -4
  4. package/dist/{autoFocusTitle-D7VzaZ2P.js → autoFocusTitle-Edt8-trP.js} +1 -1
  5. package/dist/certificate-issuance/certificate-issuance.es.js +8 -8
  6. package/dist/{checkbox-Jgwh943i.js → checkbox-gbHumlEi.js} +3 -3
  7. package/dist/{connectionError-Bl5E35Qm.js → connectionError-CvH1vnCt.js} +2 -2
  8. package/dist/consent/consent.es.js +6 -6
  9. package/dist/{countrySelector-Sd-u1WGf.js → countrySelector-DzLvpCfs.js} +1 -1
  10. package/dist/cross-document-data-match/cross-document-data-match.es.js +3 -3
  11. package/dist/curp-validation/curp-validation.es.js +13 -13
  12. package/dist/{customFields-CiEguXX9.js → customFields-DiOcfhlB.js} +8 -8
  13. package/dist/{customWatchlist-BSAW87qq.js → customWatchlist-CC9ZN7fk.js} +4 -4
  14. package/dist/{dateInputComposed-D0WEYWkS.js → dateInputComposed-3jXySs6M.js} +4 -4
  15. package/dist/dateInputComposed-BMauTxWJ.js +1 -0
  16. package/dist/document-capture/document-capture.es.js +1 -1
  17. package/dist/documentCapture-CcnnR36G.js +2 -0
  18. package/dist/{documentCapture-GFNkI1ly.js → documentCapture-Dc9Q2wYc.js} +13 -13
  19. package/dist/{dropdownComposed-BXleSN7n.js → dropdownComposed-Bk8viDop.js} +3 -3
  20. package/dist/dropdownComposed-DLaj01jA.js +1 -0
  21. package/dist/{dynamicForms-DU5fT72-.js → dynamicForms-BZB8JDkM.js} +9 -9
  22. package/dist/ekyb/ekyb.es.js +1 -1
  23. package/dist/{ekybModule-CMcpoTgh.js → ekybModule-C9UhcxKV.js} +12 -12
  24. package/dist/ekybModule-QcD4hQFD.js +2 -0
  25. package/dist/ekyc/ekyc.es.js +1 -1
  26. package/dist/{ekycModule-BTO8iIwh.js → ekycModule-Cp7kPhFr.js} +10 -10
  27. package/dist/ekycModule-DqX1bTFN.js +2 -0
  28. package/dist/electronic-signature/electronic-signature.es.js +1 -1
  29. package/dist/{electronic-signature-COBKJBjU.js → electronic-signature-DGL6y3os.js} +8 -8
  30. package/dist/email/email.es.js +6 -6
  31. package/dist/{emailInput-mPPvterQ.js → emailInput-Du_BH960.js} +2 -2
  32. package/dist/{expiredId-CD5ETLV9.js → expiredId-Cf7_dJQE.js} +4 -4
  33. package/dist/{extensibility-DBilbbhC.js → extensibility-CFhCNmsm.js} +22 -23
  34. package/dist/extensibility.es.js +20 -20
  35. package/dist/face-match/face-match.es.js +1 -1
  36. package/dist/{faceMatch-CwDBO9Is.js → faceMatch-BOJD6ZCq.js} +6 -6
  37. package/dist/faceMatch-Dhm-H0Pg.js +2 -0
  38. package/dist/field-comparison/field-comparison.es.js +1 -1
  39. package/dist/{fieldComparison-dDvSYYQP.js → fieldComparison-D_cMCcwa.js} +7 -7
  40. package/dist/fieldComparison-Fnup635x.js +2 -0
  41. package/dist/{finalSuccessScreen-B9kb72WR.js → finalSuccessScreen-DL08U8_o.js} +8 -8
  42. package/dist/fiscal-qr/fiscal-qr.es.js +7 -7
  43. package/dist/flow/flow.es.js +11 -11
  44. package/dist/geolocation/geolocation.es.js +6 -6
  45. package/dist/government-validation/government-validation.es.js +7 -7
  46. package/dist/{homeScreen-Dycy1yhN.js → homeScreen-D2XpU5z_.js} +5 -5
  47. package/dist/{icons-D0cfSCBM.js → icons-CIjsoS44.js} +1 -1
  48. package/dist/id/id.es.js +18 -19
  49. package/dist/id-selfie-flow/id-selfie-flow.es.js +7 -8
  50. package/dist/id-verification/id-verification.es.js +4 -4
  51. package/dist/{idOcr-riTHUOlr.js → idOcr-DkmZyLVu.js} +8 -8
  52. package/dist/identity-reuse/identity-reuse.es.js +4 -4
  53. package/dist/{incode-logo-cGsd55rc.js → incode-logo-DkPbEPiI.js} +1 -1
  54. package/dist/{incodeComponent-B-daxouV.js → incodeComponent-B6hBTDEE.js} +57 -12
  55. package/dist/{incodeModule-uyUrSSUM.js → incodeModule-CCI32xbn.js} +9 -3
  56. package/dist/{inputComposed-Pp_XN1-h.js → inputComposed-CGB8zKbd.js} +3 -3
  57. package/dist/inputComposed-DDFdXKT3.js +1 -0
  58. package/dist/{mandatoryConsent-DSAjFc0h.js → mandatoryConsent-L7Tpj3tg.js} +6 -6
  59. package/dist/{manualCaptureButton-BY8dRhGA.js → manualCaptureButton-B3ZD52_f.js} +3 -3
  60. package/dist/{manualCaptureButton-BldgUGso.js → manualCaptureButton-ByWujoAK.js} +8 -10
  61. package/dist/{modal-BlczH_pL.js → modal-9-lPt5Hj.js} +2 -2
  62. package/dist/{optionAccessibleLabel-Dmz3eRsO.js → optionAccessibleLabel-Cc91L4JK.js} +3 -3
  63. package/dist/{otpInput-B3vUjmBF.js → otpInput-BWiL_nBW.js} +4 -4
  64. package/dist/{pdfViewer-BGFFFvmi.js → pdfViewer-BbRv7mHX.js} +2 -2
  65. package/dist/pdfViewer-DHgpC35P.js +2 -0
  66. package/dist/phone/phone.es.js +7 -7
  67. package/dist/{phoneInputComposed-D1ZBsd4S.js → phoneInputComposed-Bvy15RAe.js} +4 -4
  68. package/dist/{processing-vGhs5Gvb.js → processing-DN0NyNqR.js} +1 -1
  69. package/dist/qe-signature/qe-signature.es.js +3 -3
  70. package/dist/{radioGroupComposed-CYPHpI6a.js → radioGroupComposed-CPFZJOtR.js} +4 -4
  71. package/dist/redirect-to-mobile/redirect-to-mobile.es.js +11 -11
  72. package/dist/{richText-2OnIN9ff.js → richText-DnGJiTPl.js} +1 -1
  73. package/dist/selfie/selfie.es.js +7 -7
  74. package/dist/signature/signature.es.js +6 -6
  75. package/dist/{snackbar-BzyWgQ7J.js → snackbar-zbTKBgCx.js} +1 -1
  76. package/dist/{spacer-Bnmh-DfR.js → spacer-C6GdxqM-.js} +1 -1
  77. package/dist/{spinner-HP_c74K-.js → spinner-CaEPC8gQ.js} +4 -4
  78. package/dist/{statusPage-C0vTVW0Q.js → statusPage-C-2V2g63.js} +3 -3
  79. package/dist/{tabs-B_TxQ9ZQ.js → tabs-BjLPiKhZ.js} +1 -1
  80. package/dist/{tutorial-Cuy2ZEG9.js → tutorial-B1F5C8Si.js} +8 -8
  81. package/dist/types/ae-signature.d.ts +28 -2
  82. package/dist/types/antifraud.d.ts +28 -2
  83. package/dist/types/authentication.d.ts +28 -2
  84. package/dist/types/certificate-issuance.d.ts +28 -2
  85. package/dist/types/consent.d.ts +28 -2
  86. package/dist/types/cross-document-data-match.d.ts +28 -2
  87. package/dist/types/curp-validation.d.ts +28 -2
  88. package/dist/types/document-capture.d.ts +28 -2
  89. package/dist/types/ekyb.d.ts +28 -2
  90. package/dist/types/ekyc.d.ts +28 -2
  91. package/dist/types/electronic-signature.d.ts +28 -2
  92. package/dist/types/email.d.ts +28 -2
  93. package/dist/types/extensibility.d.ts +55 -2
  94. package/dist/types/face-match.d.ts +28 -2
  95. package/dist/types/field-comparison.d.ts +28 -2
  96. package/dist/types/fiscal-qr.d.ts +28 -2
  97. package/dist/types/flow.d.ts +43 -3
  98. package/dist/types/geolocation.d.ts +28 -2
  99. package/dist/types/government-validation.d.ts +28 -2
  100. package/dist/types/id-selfie-flow.d.ts +28 -2
  101. package/dist/types/id-verification.d.ts +28 -2
  102. package/dist/types/id.d.ts +28 -2
  103. package/dist/types/identity-reuse.d.ts +28 -2
  104. package/dist/types/index.d.ts +46 -0
  105. package/dist/types/phone.d.ts +28 -2
  106. package/dist/types/qe-signature.d.ts +28 -2
  107. package/dist/types/selfie.d.ts +28 -2
  108. package/dist/types/signature.d.ts +28 -2
  109. package/dist/types/video-selfie.d.ts +28 -2
  110. package/dist/types/watchlist.d.ts +28 -2
  111. package/dist/types/workflow.d.ts +44 -3
  112. package/dist/{useModuleLoader-BImpfi_R.js → useModuleLoader-DVvqx4RT.js} +16 -16
  113. package/dist/{verificationResult-IUf0w1aR.js → verificationResult-tgNeUuHO.js} +6 -6
  114. package/dist/video-selfie/video-selfie.es.js +13 -14
  115. package/dist/watchlist/watchlist.es.js +4 -4
  116. package/dist/{watchlistForBusiness-zT9gCfTc.js → watchlistForBusiness-3bO7BVcy.js} +7 -7
  117. package/dist/workflow/workflow.es.js +9 -9
  118. package/package.json +2 -2
  119. package/dist/dateInputComposed-DKQJz0kJ.js +0 -1
  120. package/dist/documentCapture-sB2_X-we.js +0 -2
  121. package/dist/dropdownComposed-DE-VJgcR.js +0 -1
  122. package/dist/ekybModule-CR9A6Fqb.js +0 -2
  123. package/dist/ekycModule-CewwzYvk.js +0 -2
  124. package/dist/faceMatch-2pfSeXeA.js +0 -2
  125. package/dist/fieldComparison-DUYp39WI.js +0 -2
  126. package/dist/inputComposed-CABc288U.js +0 -1
  127. package/dist/pdfViewer-4xNYiBI1.js +0 -2
@@ -129,15 +129,17 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
129
129
  };
130
130
 
131
131
  /**
132
- * Per-instance asset/animation overrides for a single mounted SDK module.
132
+ * Per-instance overrides for a single mounted SDK module.
133
133
  *
134
134
  * These ride on the module's `config` prop and are published once at the
135
135
  * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
136
- * reads them via {@link useInstanceOverrides} without any prop drilling.
136
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
137
+ * any prop drilling.
137
138
  */
138
139
  declare type InstanceOverrides = {
139
140
  assets?: AssetOverrides;
140
141
  animations?: AnimationOverrides;
142
+ spinner?: SpinnerPresentation;
141
143
  };
142
144
 
143
145
  declare type LottieAnimationData = {
@@ -149,6 +151,30 @@ declare type LottieAnimationData = {
149
151
  h: number;
150
152
  };
151
153
 
154
+ /**
155
+ * Host-facing loader presentation, settable globally via
156
+ * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
157
+ *
158
+ * Copy is deliberately absent. Loader text comes from i18n (`loadingCircle.*`),
159
+ * which keeps it localizable — a literal string here would freeze in whatever
160
+ * language the host typed it in when the user switches language mid-flow — and
161
+ * leaves one source of truth for user-facing strings.
162
+ */
163
+ declare type SpinnerPresentation = {
164
+ renderMode?: SpinnerRenderMode;
165
+ size?: SpinnerSize;
166
+ };
167
+
168
+ /**
169
+ * Which parts of a loader render.
170
+ *
171
+ * An enum rather than a pair of booleans so the meaningless fourth state —
172
+ * neither icon nor text, i.e. a blank screen — is unrepresentable.
173
+ */
174
+ declare type SpinnerRenderMode = 'spinnerAndText' | 'spinnerOnly' | 'textOnly';
175
+
176
+ declare type SpinnerSize = 'small' | 'medium' | 'large';
177
+
152
178
  /** An SVG imported as a Preact component (the `?react` import shape). */
153
179
  declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
154
180
 
@@ -114,15 +114,17 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
114
114
  };
115
115
 
116
116
  /**
117
- * Per-instance asset/animation overrides for a single mounted SDK module.
117
+ * Per-instance overrides for a single mounted SDK module.
118
118
  *
119
119
  * These ride on the module's `config` prop and are published once at the
120
120
  * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
121
- * reads them via {@link useInstanceOverrides} without any prop drilling.
121
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
122
+ * any prop drilling.
122
123
  */
123
124
  declare type InstanceOverrides = {
124
125
  assets?: AssetOverrides;
125
126
  animations?: AnimationOverrides;
127
+ spinner?: SpinnerPresentation;
126
128
  };
127
129
 
128
130
  declare type LottieAnimationData = {
@@ -134,6 +136,30 @@ declare type LottieAnimationData = {
134
136
  h: number;
135
137
  };
136
138
 
139
+ /**
140
+ * Host-facing loader presentation, settable globally via
141
+ * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
142
+ *
143
+ * Copy is deliberately absent. Loader text comes from i18n (`loadingCircle.*`),
144
+ * which keeps it localizable — a literal string here would freeze in whatever
145
+ * language the host typed it in when the user switches language mid-flow — and
146
+ * leaves one source of truth for user-facing strings.
147
+ */
148
+ declare type SpinnerPresentation = {
149
+ renderMode?: SpinnerRenderMode;
150
+ size?: SpinnerSize;
151
+ };
152
+
153
+ /**
154
+ * Which parts of a loader render.
155
+ *
156
+ * An enum rather than a pair of booleans so the meaningless fourth state —
157
+ * neither icon nor text, i.e. a blank screen — is unrepresentable.
158
+ */
159
+ declare type SpinnerRenderMode = 'spinnerAndText' | 'spinnerOnly' | 'textOnly';
160
+
161
+ declare type SpinnerSize = 'small' | 'medium' | 'large';
162
+
137
163
  /** An SVG imported as a Preact component (the `?react` import shape). */
138
164
  declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
139
165
 
@@ -117,15 +117,17 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
117
117
  };
118
118
 
119
119
  /**
120
- * Per-instance asset/animation overrides for a single mounted SDK module.
120
+ * Per-instance overrides for a single mounted SDK module.
121
121
  *
122
122
  * These ride on the module's `config` prop and are published once at the
123
123
  * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
124
- * reads them via {@link useInstanceOverrides} without any prop drilling.
124
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
125
+ * any prop drilling.
125
126
  */
126
127
  declare type InstanceOverrides = {
127
128
  assets?: AssetOverrides;
128
129
  animations?: AnimationOverrides;
130
+ spinner?: SpinnerPresentation;
129
131
  };
130
132
 
131
133
  declare type LottieAnimationData = {
@@ -137,6 +139,30 @@ declare type LottieAnimationData = {
137
139
  h: number;
138
140
  };
139
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
+
140
166
  /** An SVG imported as a Preact component (the `?react` import shape). */
141
167
  declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
142
168
 
@@ -114,15 +114,17 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
114
114
  };
115
115
 
116
116
  /**
117
- * Per-instance asset/animation overrides for a single mounted SDK module.
117
+ * Per-instance overrides for a single mounted SDK module.
118
118
  *
119
119
  * These ride on the module's `config` prop and are published once at the
120
120
  * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
121
- * reads them via {@link useInstanceOverrides} without any prop drilling.
121
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
122
+ * any prop drilling.
122
123
  */
123
124
  declare type InstanceOverrides = {
124
125
  assets?: AssetOverrides;
125
126
  animations?: AnimationOverrides;
127
+ spinner?: SpinnerPresentation;
126
128
  };
127
129
 
128
130
  declare type LottieAnimationData = {
@@ -134,6 +136,30 @@ declare type LottieAnimationData = {
134
136
  h: number;
135
137
  };
136
138
 
139
+ /**
140
+ * Host-facing loader presentation, settable globally via
141
+ * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
142
+ *
143
+ * Copy is deliberately absent. Loader text comes from i18n (`loadingCircle.*`),
144
+ * which keeps it localizable — a literal string here would freeze in whatever
145
+ * language the host typed it in when the user switches language mid-flow — and
146
+ * leaves one source of truth for user-facing strings.
147
+ */
148
+ declare type SpinnerPresentation = {
149
+ renderMode?: SpinnerRenderMode;
150
+ size?: SpinnerSize;
151
+ };
152
+
153
+ /**
154
+ * Which parts of a loader render.
155
+ *
156
+ * An enum rather than a pair of booleans so the meaningless fourth state —
157
+ * neither icon nor text, i.e. a blank screen — is unrepresentable.
158
+ */
159
+ declare type SpinnerRenderMode = 'spinnerAndText' | 'spinnerOnly' | 'textOnly';
160
+
161
+ declare type SpinnerSize = 'small' | 'medium' | 'large';
162
+
137
163
  /** An SVG imported as a Preact component (the `?react` import shape). */
138
164
  declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
139
165
 
@@ -147,6 +147,47 @@ declare type SetupOptions = {
147
147
  theme?: ThemeSetup;
148
148
  };
149
149
 
150
+ /**
151
+ * The presentation fields plus the legacy inline copy accepted by
152
+ * `<incode-flow>` / `<incode-workflow>`.
153
+ */
154
+ export declare type SpinnerConfig = SpinnerPresentation & {
155
+ /**
156
+ * @deprecated Set loader copy via i18n translations (`loadingCircle.holdOn`).
157
+ * TODO(2.3.0): remove.
158
+ */
159
+ title?: string;
160
+ /**
161
+ * @deprecated Set loader copy via i18n translations (`loadingCircle.validating`).
162
+ * TODO(2.3.0): remove.
163
+ */
164
+ subtitle?: string;
165
+ };
166
+
167
+ /**
168
+ * Host-facing loader presentation, settable globally via
169
+ * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
170
+ *
171
+ * Copy is deliberately absent. Loader text comes from i18n (`loadingCircle.*`),
172
+ * which keeps it localizable — a literal string here would freeze in whatever
173
+ * language the host typed it in when the user switches language mid-flow — and
174
+ * leaves one source of truth for user-facing strings.
175
+ */
176
+ export declare type SpinnerPresentation = {
177
+ renderMode?: SpinnerRenderMode;
178
+ size?: SpinnerSize;
179
+ };
180
+
181
+ /**
182
+ * Which parts of a loader render.
183
+ *
184
+ * An enum rather than a pair of booleans so the meaningless fourth state —
185
+ * neither icon nor text, i.e. a blank screen — is unrepresentable.
186
+ */
187
+ export declare type SpinnerRenderMode = 'spinnerAndText' | 'spinnerOnly' | 'textOnly';
188
+
189
+ export declare type SpinnerSize = 'small' | 'medium' | 'large';
190
+
150
191
  /** An SVG imported as a Preact component (the `?react` import shape). */
151
192
  export declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
152
193
 
@@ -166,6 +207,11 @@ export declare type UiConfig = {
166
207
  hideFooterBranding?: boolean;
167
208
  assets?: AssetOverrides;
168
209
  animations?: AnimationOverrides;
210
+ /**
211
+ * Global loader presentation. Copy stays in i18n — see
212
+ * {@link SpinnerPresentation}.
213
+ */
214
+ spinner?: SpinnerPresentation;
169
215
  };
170
216
 
171
217
  export { }
@@ -111,15 +111,17 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
111
111
  };
112
112
 
113
113
  /**
114
- * Per-instance asset/animation overrides for a single mounted SDK module.
114
+ * Per-instance overrides for a single mounted SDK module.
115
115
  *
116
116
  * These ride on the module's `config` prop and are published once at the
117
117
  * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
118
- * reads them via {@link useInstanceOverrides} without any prop drilling.
118
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
119
+ * any prop drilling.
119
120
  */
120
121
  declare type InstanceOverrides = {
121
122
  assets?: AssetOverrides;
122
123
  animations?: AnimationOverrides;
124
+ spinner?: SpinnerPresentation;
123
125
  };
124
126
 
125
127
  declare type LottieAnimationData = {
@@ -140,6 +142,30 @@ export declare const Phone: FC<Omit<PhoneProps, "config"> & {
140
142
  */
141
143
  declare type PhoneProps = IncodeModuleProps<PhoneConfig, void, PhoneManager>;
142
144
 
145
+ /**
146
+ * Host-facing loader presentation, settable globally via
147
+ * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
148
+ *
149
+ * Copy is deliberately absent. Loader text comes from i18n (`loadingCircle.*`),
150
+ * which keeps it localizable — a literal string here would freeze in whatever
151
+ * language the host typed it in when the user switches language mid-flow — and
152
+ * leaves one source of truth for user-facing strings.
153
+ */
154
+ declare type SpinnerPresentation = {
155
+ renderMode?: SpinnerRenderMode;
156
+ size?: SpinnerSize;
157
+ };
158
+
159
+ /**
160
+ * Which parts of a loader render.
161
+ *
162
+ * An enum rather than a pair of booleans so the meaningless fourth state —
163
+ * neither icon nor text, i.e. a blank screen — is unrepresentable.
164
+ */
165
+ declare type SpinnerRenderMode = 'spinnerAndText' | 'spinnerOnly' | 'textOnly';
166
+
167
+ declare type SpinnerSize = 'small' | 'medium' | 'large';
168
+
143
169
  /** An SVG imported as a Preact component (the `?react` import shape). */
144
170
  declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
145
171
 
@@ -111,15 +111,17 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
111
111
  };
112
112
 
113
113
  /**
114
- * Per-instance asset/animation overrides for a single mounted SDK module.
114
+ * Per-instance overrides for a single mounted SDK module.
115
115
  *
116
116
  * These ride on the module's `config` prop and are published once at the
117
117
  * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
118
- * reads them via {@link useInstanceOverrides} without any prop drilling.
118
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
119
+ * any prop drilling.
119
120
  */
120
121
  declare type InstanceOverrides = {
121
122
  assets?: AssetOverrides;
122
123
  animations?: AnimationOverrides;
124
+ spinner?: SpinnerPresentation;
123
125
  };
124
126
 
125
127
  declare type LottieAnimationData = {
@@ -137,6 +139,30 @@ export declare const QeSignature: FC<Omit<QeSignatureModuleProps, "config"> & {
137
139
 
138
140
  declare type QeSignatureModuleProps = IncodeModuleProps<QeSignatureConfig, void, QeSignatureManager>;
139
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
+
140
166
  /** An SVG imported as a Preact component (the `?react` import shape). */
141
167
  declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
142
168
 
@@ -111,15 +111,17 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
111
111
  };
112
112
 
113
113
  /**
114
- * Per-instance asset/animation overrides for a single mounted SDK module.
114
+ * Per-instance overrides for a single mounted SDK module.
115
115
  *
116
116
  * These ride on the module's `config` prop and are published once at the
117
117
  * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
118
- * reads them via {@link useInstanceOverrides} without any prop drilling.
118
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
119
+ * any prop drilling.
119
120
  */
120
121
  declare type InstanceOverrides = {
121
122
  assets?: AssetOverrides;
122
123
  animations?: AnimationOverrides;
124
+ spinner?: SpinnerPresentation;
123
125
  };
124
126
 
125
127
  declare type LottieAnimationData = {
@@ -137,6 +139,30 @@ export declare const Selfie: FC<Omit<SelfieProps, "config"> & {
137
139
 
138
140
  declare type SelfieProps = IncodeModuleProps<SelfieConfig, void, SelfieManager>;
139
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
+
140
166
  /** An SVG imported as a Preact component (the `?react` import shape). */
141
167
  declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
142
168
 
@@ -111,15 +111,17 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
111
111
  };
112
112
 
113
113
  /**
114
- * Per-instance asset/animation overrides for a single mounted SDK module.
114
+ * Per-instance overrides for a single mounted SDK module.
115
115
  *
116
116
  * These ride on the module's `config` prop and are published once at the
117
117
  * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
118
- * reads them via {@link useInstanceOverrides} without any prop drilling.
118
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
119
+ * any prop drilling.
119
120
  */
120
121
  declare type InstanceOverrides = {
121
122
  assets?: AssetOverrides;
122
123
  animations?: AnimationOverrides;
124
+ spinner?: SpinnerPresentation;
123
125
  };
124
126
 
125
127
  declare type LottieAnimationData = {
@@ -137,6 +139,30 @@ export declare const Signature: FC<Omit<SignatureProps, "config"> & {
137
139
 
138
140
  declare type SignatureProps = IncodeModuleProps<SignatureConfig, void, SignatureManager>;
139
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
+
140
166
  /** An SVG imported as a Preact component (the `?react` import shape). */
141
167
  declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
142
168
 
@@ -110,15 +110,17 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
110
110
  };
111
111
 
112
112
  /**
113
- * Per-instance asset/animation overrides for a single mounted SDK module.
113
+ * Per-instance overrides for a single mounted SDK module.
114
114
  *
115
115
  * These ride on the module's `config` prop and are published once at the
116
116
  * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
117
- * reads them via {@link useInstanceOverrides} without any prop drilling.
117
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
118
+ * any prop drilling.
118
119
  */
119
120
  declare type InstanceOverrides = {
120
121
  assets?: AssetOverrides;
121
122
  animations?: AnimationOverrides;
123
+ spinner?: SpinnerPresentation;
122
124
  };
123
125
 
124
126
  declare type LottieAnimationData = {
@@ -130,6 +132,30 @@ declare type LottieAnimationData = {
130
132
  h: number;
131
133
  };
132
134
 
135
+ /**
136
+ * Host-facing loader presentation, settable globally via
137
+ * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
138
+ *
139
+ * Copy is deliberately absent. Loader text comes from i18n (`loadingCircle.*`),
140
+ * which keeps it localizable — a literal string here would freeze in whatever
141
+ * language the host typed it in when the user switches language mid-flow — and
142
+ * leaves one source of truth for user-facing strings.
143
+ */
144
+ declare type SpinnerPresentation = {
145
+ renderMode?: SpinnerRenderMode;
146
+ size?: SpinnerSize;
147
+ };
148
+
149
+ /**
150
+ * Which parts of a loader render.
151
+ *
152
+ * An enum rather than a pair of booleans so the meaningless fourth state —
153
+ * neither icon nor text, i.e. a blank screen — is unrepresentable.
154
+ */
155
+ declare type SpinnerRenderMode = 'spinnerAndText' | 'spinnerOnly' | 'textOnly';
156
+
157
+ declare type SpinnerSize = 'small' | 'medium' | 'large';
158
+
133
159
  /** An SVG imported as a Preact component (the `?react` import shape). */
134
160
  declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
135
161
 
@@ -111,15 +111,17 @@ declare type IncodeModuleProps<TConfig, TResult = void, TManager = unknown, TCon
111
111
  };
112
112
 
113
113
  /**
114
- * Per-instance asset/animation overrides for a single mounted SDK module.
114
+ * Per-instance overrides for a single mounted SDK module.
115
115
  *
116
116
  * These ride on the module's `config` prop and are published once at the
117
117
  * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
118
- * reads them via {@link useInstanceOverrides} without any prop drilling.
118
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
119
+ * any prop drilling.
119
120
  */
120
121
  declare type InstanceOverrides = {
121
122
  assets?: AssetOverrides;
122
123
  animations?: AnimationOverrides;
124
+ spinner?: SpinnerPresentation;
123
125
  };
124
126
 
125
127
  declare type LottieAnimationData = {
@@ -131,6 +133,30 @@ declare type LottieAnimationData = {
131
133
  h: number;
132
134
  };
133
135
 
136
+ /**
137
+ * Host-facing loader presentation, settable globally via
138
+ * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
139
+ *
140
+ * Copy is deliberately absent. Loader text comes from i18n (`loadingCircle.*`),
141
+ * which keeps it localizable — a literal string here would freeze in whatever
142
+ * language the host typed it in when the user switches language mid-flow — and
143
+ * leaves one source of truth for user-facing strings.
144
+ */
145
+ declare type SpinnerPresentation = {
146
+ renderMode?: SpinnerRenderMode;
147
+ size?: SpinnerSize;
148
+ };
149
+
150
+ /**
151
+ * Which parts of a loader render.
152
+ *
153
+ * An enum rather than a pair of booleans so the meaningless fourth state —
154
+ * neither icon nor text, i.e. a blank screen — is unrepresentable.
155
+ */
156
+ declare type SpinnerRenderMode = 'spinnerAndText' | 'spinnerOnly' | 'textOnly';
157
+
158
+ declare type SpinnerSize = 'small' | 'medium' | 'large';
159
+
134
160
  /** An SVG imported as a Preact component (the `?react` import shape). */
135
161
  declare type SvgComponent = FunctionComponent<SVGProps<SVGSVGElement>>;
136
162
 
@@ -126,15 +126,17 @@ export declare const IncodeWorkflow: FC<IncodeWorkflowProps>;
126
126
  declare type IncodeWorkflowProps = IncodeModuleProps<WorkflowComponentConfig, FinishStatus>;
127
127
 
128
128
  /**
129
- * Per-instance asset/animation overrides for a single mounted SDK module.
129
+ * Per-instance overrides for a single mounted SDK module.
130
130
  *
131
131
  * These ride on the module's `config` prop and are published once at the
132
132
  * module root by `registerIncodeModuleElement`, so a deep `<Asset>`/`<AnimatedAsset>`
133
- * reads them via {@link useInstanceOverrides} without any prop drilling.
133
+ * or `<TransitionSpinner>` reads them via {@link useInstanceOverrides} without
134
+ * any prop drilling.
134
135
  */
135
136
  declare type InstanceOverrides = {
136
137
  assets?: AssetOverrides;
137
138
  animations?: AnimationOverrides;
139
+ spinner?: SpinnerPresentation;
138
140
  };
139
141
 
140
142
  declare type LottieAnimationData = {
@@ -175,12 +177,45 @@ declare type SelfLoadingWorkflowRuntimeConfig = WorkflowBaseConfig & SelfLoading
175
177
  interviewId?: never;
176
178
  };
177
179
 
178
- declare type SpinnerConfig = {
180
+ /**
181
+ * The presentation fields plus the legacy inline copy accepted by
182
+ * `<incode-flow>` / `<incode-workflow>`.
183
+ */
184
+ declare type SpinnerConfig = SpinnerPresentation & {
185
+ /**
186
+ * @deprecated Set loader copy via i18n translations (`loadingCircle.holdOn`).
187
+ * TODO(2.3.0): remove.
188
+ */
179
189
  title?: string;
190
+ /**
191
+ * @deprecated Set loader copy via i18n translations (`loadingCircle.validating`).
192
+ * TODO(2.3.0): remove.
193
+ */
180
194
  subtitle?: string;
195
+ };
196
+
197
+ /**
198
+ * Host-facing loader presentation, settable globally via
199
+ * `setup({ uiConfig: { spinner } })` or per element via `config.spinner`.
200
+ *
201
+ * Copy is deliberately absent. Loader text comes from i18n (`loadingCircle.*`),
202
+ * which keeps it localizable — a literal string here would freeze in whatever
203
+ * language the host typed it in when the user switches language mid-flow — and
204
+ * leaves one source of truth for user-facing strings.
205
+ */
206
+ declare type SpinnerPresentation = {
207
+ renderMode?: SpinnerRenderMode;
181
208
  size?: SpinnerSize;
182
209
  };
183
210
 
211
+ /**
212
+ * Which parts of a loader render.
213
+ *
214
+ * An enum rather than a pair of booleans so the meaningless fourth state —
215
+ * neither icon nor text, i.e. a blank screen — is unrepresentable.
216
+ */
217
+ declare type SpinnerRenderMode = 'spinnerAndText' | 'spinnerOnly' | 'textOnly';
218
+
184
219
  declare type SpinnerSize = 'small' | 'medium' | 'large';
185
220
 
186
221
  /** An SVG imported as a Preact component (the `?react` import shape). */
@@ -216,6 +251,12 @@ declare type WorkflowBaseConfig = {
216
251
  disableDashboardTheme?: boolean;
217
252
  wasmConfig?: WasmConfig | false;
218
253
  spinnerConfig?: SpinnerConfig;
254
+ /**
255
+ * Per-instance loader presentation for this workflow and its modules.
256
+ * Overrides the global `setup({ uiConfig: { spinner } })` value. Copy stays
257
+ * in i18n.
258
+ */
259
+ spinner?: SpinnerPresentation;
219
260
  customModuleCallback?: CustomModuleCallback;
220
261
  /** Whether the device is a desktop. Determines desktop-to-mobile redirect injection. Defaults to true. */
221
262
  isDesktop?: boolean;