@incodetech/web 0.0.0-dev-20260706-82e1bca3 → 0.0.0-dev-20260706-cca97758

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.
@@ -12,7 +12,7 @@ import { t as DropdownComposed } from "./dropdownComposed-CoU0enG6.js";
12
12
  import { t as DateInputComposed } from "./dateInputComposed-DuaofcBl.js";
13
13
  import { t as registerIncodeModuleElement } from "./incodeModule-B-4_3JrK.js";
14
14
  import { n as getRequiredHintMode, t as getFieldHint } from "./requiredLabelHint-D0RhuMed.js";
15
- import { t as EmailInput } from "./emailInput-B_6p2Bbd.js";
15
+ import { t as EmailInput } from "./emailInput-DsLkDtER.js";
16
16
  import { formatCPF, isValidCPF } from "@incodetech/core/cpf-ocr";
17
17
  import { createDynamicFormsManager } from "@incodetech/core/dynamic-forms";
18
18
  //#region src/modules/dynamic-forms/dynamicForms.tsx
@@ -52,6 +52,7 @@ var QuestionInput = ({ question, value, disabled = false, error, labelHint, onCh
52
52
  class: "IncodeDynamicFormsField",
53
53
  children: /* @__PURE__ */ u(DropdownComposed, {
54
54
  id,
55
+ "data-testid": id,
55
56
  name: question.questionId,
56
57
  label,
57
58
  labelHint,
@@ -69,6 +70,7 @@ var QuestionInput = ({ question, value, disabled = false, error, labelHint, onCh
69
70
  class: "IncodeDynamicFormsField",
70
71
  children: /* @__PURE__ */ u(DateInputComposed, {
71
72
  id,
73
+ "data-testid": id,
72
74
  name: question.questionId,
73
75
  label,
74
76
  labelHint,
@@ -87,6 +89,7 @@ var QuestionInput = ({ question, value, disabled = false, error, labelHint, onCh
87
89
  onFocusOut: () => onBlur?.(question.questionId),
88
90
  children: /* @__PURE__ */ u(PhoneInputComposed, {
89
91
  id,
92
+ "data-testid": id,
90
93
  label,
91
94
  labelHint,
92
95
  value,
@@ -105,6 +108,7 @@ var QuestionInput = ({ question, value, disabled = false, error, labelHint, onCh
105
108
  class: "IncodeDynamicFormsField",
106
109
  children: /* @__PURE__ */ u(DropdownComposed, {
107
110
  id,
111
+ "data-testid": id,
108
112
  label,
109
113
  labelHint,
110
114
  value,
@@ -126,6 +130,7 @@ var QuestionInput = ({ question, value, disabled = false, error, labelHint, onCh
126
130
  class: "IncodeDynamicFormsField",
127
131
  children: /* @__PURE__ */ u(DropdownComposed, {
128
132
  id,
133
+ "data-testid": id,
129
134
  label,
130
135
  labelHint,
131
136
  value,
@@ -142,6 +147,8 @@ var QuestionInput = ({ question, value, disabled = false, error, labelHint, onCh
142
147
  if (effectiveType === "EMAIL") return /* @__PURE__ */ u("div", {
143
148
  class: "IncodeDynamicFormsField",
144
149
  children: /* @__PURE__ */ u(EmailInput, {
150
+ id,
151
+ "data-testid": id,
145
152
  value,
146
153
  emailError: error,
147
154
  label,
@@ -159,6 +166,7 @@ var QuestionInput = ({ question, value, disabled = false, error, labelHint, onCh
159
166
  class: "IncodeDynamicFormsField",
160
167
  children: /* @__PURE__ */ u(InputComposed, {
161
168
  id,
169
+ "data-testid": id,
162
170
  name: question.questionId,
163
171
  label,
164
172
  labelHint,
@@ -182,6 +190,7 @@ var QuestionInput = ({ question, value, disabled = false, error, labelHint, onCh
182
190
  class: "IncodeDynamicFormsField",
183
191
  children: /* @__PURE__ */ u(InputComposed, {
184
192
  id,
193
+ "data-testid": id,
185
194
  name: question.questionId,
186
195
  label,
187
196
  labelHint,
@@ -203,6 +212,7 @@ var QuestionInput = ({ question, value, disabled = false, error, labelHint, onCh
203
212
  class: "IncodeDynamicFormsField",
204
213
  children: /* @__PURE__ */ u(InputComposed, {
205
214
  id,
215
+ "data-testid": id,
206
216
  name: question.questionId,
207
217
  label,
208
218
  labelHint,
@@ -262,6 +272,7 @@ var ScreenForm = ({ screen, answers, validationErrors, canSubmit, isSubmitting =
262
272
  }, question.questionId);
263
273
  }), /* @__PURE__ */ u(Button, {
264
274
  type: "submit",
275
+ "data-testid": "dynamic-forms-submit",
265
276
  disabled: !canSubmit,
266
277
  isLoading: isSubmitting,
267
278
  children: t("common.continue")
@@ -7,7 +7,7 @@ import { t as Page } from "../page-DidH_RkX.js";
7
7
  import { t as Button } from "../button-Dz6AsbmF.js";
8
8
  import { t as OtpInput } from "../otpInput-CnDc6pQm.js";
9
9
  import { t as registerIncodeModuleElement } from "../incodeModule-B-4_3JrK.js";
10
- import { t as EmailInput } from "../emailInput-B_6p2Bbd.js";
10
+ import { t as EmailInput } from "../emailInput-DsLkDtER.js";
11
11
  import { createEmailManager } from "@incodetech/core/email";
12
12
  //#region src/modules/email/email.tsx
13
13
  /**
@@ -4,7 +4,7 @@ import "./extensibility-7sRIN0JC.js";
4
4
  import { t as InputComposed } from "./inputComposed-C1R2LAa3.js";
5
5
  //#region src/modules/email/emailInput.tsx
6
6
  var EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/;
7
- var EmailInput = ({ value, emailError, label, labelHint, disabled = false, required = false, onEmailChange, onBlur }) => {
7
+ var EmailInput = ({ value, emailError, label, labelHint, disabled = false, required = false, id = "email-input", "data-testid": dataTestId, onEmailChange, onBlur }) => {
8
8
  const { t } = useTranslation();
9
9
  const handleEmailChange = (e) => {
10
10
  const trimmed = e.target.value.trim();
@@ -16,7 +16,7 @@ var EmailInput = ({ value, emailError, label, labelHint, disabled = false, requi
16
16
  class: "IncodeEmailInputContainer",
17
17
  onFocusOut: onBlur,
18
18
  children: /* @__PURE__ */ u(InputComposed, {
19
- id: "email-input",
19
+ id,
20
20
  type: "email",
21
21
  value,
22
22
  onInput: handleEmailChange,
@@ -25,7 +25,7 @@ var EmailInput = ({ value, emailError, label, labelHint, disabled = false, requi
25
25
  required,
26
26
  label,
27
27
  labelHint,
28
- "data-testid": "email-input",
28
+ "data-testid": dataTestId ?? id,
29
29
  "aria-label": !label ? "Email address" : void 0,
30
30
  "aria-invalid": emailError ? "true" : void 0,
31
31
  autocomplete: "email",
@@ -5,7 +5,7 @@ import { u as useManager } from "../hooks-CNu7o-v8.js";
5
5
  import { t as IncodeComponent } from "../incodeComponent-CfzJGETt.js";
6
6
  import { t as TransitionSpinner } from "../transitionSpinner-CuNCqHNi.js";
7
7
  import { t as registerIncodeModuleElement } from "../incodeModule-B-4_3JrK.js";
8
- import { a as resolveApiKey, b as TerminalErrorPage, c as HEADLESS_FLOW_MODULE_KEYS, d as fetchTheme, f as initializeFlowManager, g as preloadRedirectToMobile, h as preloadHomeScreen, l as LAZY_UI_MODULES, m as preloadFirstModule, n as useModulePreloader, o as extractIncodeStatus, p as isDesktopOrEmulated, r as usePrefetchNextModule, s as UnsupportedModule, t as useModuleLoader, u as createFlowManager, v as warmupWasmIfNeeded } from "../useModuleLoader-2akO1Igj.js";
8
+ import { a as resolveApiKey, b as TerminalErrorPage, c as HEADLESS_FLOW_MODULE_KEYS, d as fetchTheme, f as initializeFlowManager, g as preloadRedirectToMobile, h as preloadHomeScreen, l as LAZY_UI_MODULES, m as preloadFirstModule, n as useModulePreloader, o as extractIncodeStatus, p as isDesktopOrEmulated, r as usePrefetchNextModule, s as UnsupportedModule, t as useModuleLoader, u as createFlowManager, v as warmupWasmIfNeeded } from "../useModuleLoader-Gvo9qscB.js";
9
9
  import { getRequiredWasmPipelines } from "@incodetech/core/flow";
10
10
  import { bootstrapSession, refreshQrUrlUuid } from "@incodetech/core/session";
11
11
  //#region src/shared/processing/useDelayedFlag.ts
@@ -6888,20 +6888,29 @@
6888
6888
  margin-top: var(--spacing-32, var(--spacing-32, 32px));
6889
6889
  height: 100%;
6890
6890
  min-height: var(--spacing-0, var(--spacing-none, 0px));
6891
+ flex-direction: column;
6891
6892
  justify-content: flex-start;
6892
6893
  align-items: center;
6893
- gap: var(--spacing-16, var(--spacing-16, 16px));
6894
6894
  width: 100%;
6895
- scroll-padding-bottom: var(--spacing-96, 96px);
6895
+ display: flex;
6896
+ }
6897
+
6898
+ .IncodeIdOcrPage .IncodeIdOcrFields {
6899
+ min-height: var(--spacing-0, var(--spacing-none, 0px));
6900
+ justify-content: flex-start;
6901
+ align-items: center;
6902
+ gap: var(--spacing-16, var(--spacing-16, 16px));
6896
6903
  flex-direction: column;
6904
+ flex: 1;
6905
+ width: 100%;
6897
6906
  display: flex;
6898
6907
  overflow-y: auto;
6899
6908
  }
6900
6909
 
6901
6910
  .IncodeIdOcrPage .IncodeIdOcrButton {
6902
- bottom: var(--spacing-0, var(--spacing-none, 0px));
6903
6911
  width: 100%;
6904
- position: sticky;
6912
+ padding-top: var(--spacing-16, var(--spacing-16, 16px));
6913
+ flex-shrink: 0;
6905
6914
  }
6906
6915
 
6907
6916
  .IncodeIdOcrPage .IncodeIdOcrRadioGroup {
@@ -26,20 +26,29 @@
26
26
  margin-top: var(--spacing-32, var(--spacing-32, 32px));
27
27
  height: 100%;
28
28
  min-height: var(--spacing-0, var(--spacing-none, 0px));
29
+ flex-direction: column;
29
30
  justify-content: flex-start;
30
31
  align-items: center;
31
- gap: var(--spacing-16, var(--spacing-16, 16px));
32
32
  width: 100%;
33
- scroll-padding-bottom: var(--spacing-96, 96px);
33
+ display: flex;
34
+ }
35
+
36
+ .IncodeIdOcrPage .IncodeIdOcrFields {
37
+ min-height: var(--spacing-0, var(--spacing-none, 0px));
38
+ justify-content: flex-start;
39
+ align-items: center;
40
+ gap: var(--spacing-16, var(--spacing-16, 16px));
34
41
  flex-direction: column;
42
+ flex: 1;
43
+ width: 100%;
35
44
  display: flex;
36
45
  overflow-y: auto;
37
46
  }
38
47
 
39
48
  .IncodeIdOcrPage .IncodeIdOcrButton {
40
- bottom: var(--spacing-0, var(--spacing-none, 0px));
41
49
  width: 100%;
42
- position: sticky;
50
+ padding-top: var(--spacing-16, var(--spacing-16, 16px));
51
+ flex-shrink: 0;
43
52
  }
44
53
 
45
54
  .IncodeIdOcrPage .IncodeIdOcrRadioGroup {
@@ -77,7 +77,11 @@ var IdOcrForm = ({ fields, data, validationErrors, isReadonly, onChange, onBlur,
77
77
  };
78
78
  return /* @__PURE__ */ u("div", {
79
79
  className: "IncodeIdOcrForm",
80
- children: [visibleFields.map(renderField), /* @__PURE__ */ u("div", {
80
+ children: [/* @__PURE__ */ u("div", {
81
+ className: "IncodeIdOcrFields",
82
+ tabIndex: isReadonly ? 0 : void 0,
83
+ children: visibleFields.map(renderField)
84
+ }), /* @__PURE__ */ u("div", {
81
85
  className: "IncodeIdOcrButton",
82
86
  children: /* @__PURE__ */ u(Button, {
83
87
  onClick: onContinue,
@@ -303,7 +303,7 @@ var LAZY_UI_MODULES = {
303
303
  MANDATORY_CONSENT: () => import("./mandatoryConsent-D0GTKu-H.js").then((m) => m.MandatoryConsent),
304
304
  ML_CONSENT: () => import("./mandatoryConsent-D0GTKu-H.js").then((m) => m.MandatoryConsent),
305
305
  SIGNATURE: () => import("./signature/signature.es.js").then((m) => m.Signature),
306
- ID_OCR: () => import("./idOcr-BHJ09677.js").then((m) => m.IdOcr),
306
+ ID_OCR: () => import("./idOcr-WFBvqy3b.js").then((m) => m.IdOcr),
307
307
  CPF_OCR: () => import("./cpfOcr-B79245-3.js").then((m) => m.CpfOcr),
308
308
  ANTIFRAUD: () => import("./antifraud/antifraud.es.js").then((m) => m.Antifraud),
309
309
  CUSTOM_FIELDS: () => import("./customFields-BDsXR7A-.js").then((m) => m.CustomFields),
@@ -313,7 +313,7 @@ var LAZY_UI_MODULES = {
313
313
  AE_SIGNATURE: () => import("./ae-signature/ae-signature.es.js").then((m) => m.AeSignature),
314
314
  QE_SIGNATURE: () => import("./qe-signature/qe-signature.es.js").then((m) => m.QeSignature),
315
315
  CROSS_DOCUMENT_DATA_MATCH: () => import("./cross-document-data-match/cross-document-data-match.es.js").then((m) => m.CrossDocumentDataMatch),
316
- DYNAMIC_FORMS: () => import("./dynamicForms-CS64eHOW.js").then((m) => m.DynamicForms),
316
+ DYNAMIC_FORMS: () => import("./dynamicForms-BifGbC9F.js").then((m) => m.DynamicForms),
317
317
  CERTIFICATE_ISSUANCE: () => import("./certificate-issuance/certificate-issuance.es.js").then((m) => m.CertificateIssuance),
318
318
  FIELD_COMPARISON: () => import("./fieldComparison-DfNEuEE5.js").then((m) => m.FieldComparison),
319
319
  FISCAL_QR: () => import("./fiscal-qr/fiscal-qr.es.js").then((m) => m.FiscalQr),
@@ -5580,20 +5580,29 @@
5580
5580
  margin-top: var(--spacing-32, var(--spacing-32, 32px));
5581
5581
  height: 100%;
5582
5582
  min-height: var(--spacing-0, var(--spacing-none, 0px));
5583
+ flex-direction: column;
5583
5584
  justify-content: flex-start;
5584
5585
  align-items: center;
5585
- gap: var(--spacing-16, var(--spacing-16, 16px));
5586
5586
  width: 100%;
5587
- scroll-padding-bottom: var(--spacing-96, 96px);
5587
+ display: flex;
5588
+ }
5589
+
5590
+ .IncodeIdOcrPage .IncodeIdOcrFields {
5591
+ min-height: var(--spacing-0, var(--spacing-none, 0px));
5592
+ justify-content: flex-start;
5593
+ align-items: center;
5594
+ gap: var(--spacing-16, var(--spacing-16, 16px));
5588
5595
  flex-direction: column;
5596
+ flex: 1;
5597
+ width: 100%;
5589
5598
  display: flex;
5590
5599
  overflow-y: auto;
5591
5600
  }
5592
5601
 
5593
5602
  .IncodeIdOcrPage .IncodeIdOcrButton {
5594
- bottom: var(--spacing-0, var(--spacing-none, 0px));
5595
5603
  width: 100%;
5596
- position: sticky;
5604
+ padding-top: var(--spacing-16, var(--spacing-16, 16px));
5605
+ flex-shrink: 0;
5597
5606
  }
5598
5607
 
5599
5608
  .IncodeIdOcrPage .IncodeIdOcrRadioGroup {
@@ -7,7 +7,7 @@ import { t as Page } from "../page-DidH_RkX.js";
7
7
  import { t as TransitionSpinner } from "../transitionSpinner-CuNCqHNi.js";
8
8
  import { t as AutoFocusTitle } from "../autoFocusTitle-CuRu2lPg.js";
9
9
  import { t as registerIncodeModuleElement } from "../incodeModule-B-4_3JrK.js";
10
- import { _ as setupSDK, a as resolveApiKey, b as TerminalErrorPage, i as HEADLESS_WORKFLOW_MODULE_KEYS, l as LAZY_UI_MODULES, o as extractIncodeStatus, p as isDesktopOrEmulated, s as UnsupportedModule, t as useModuleLoader, y as fetchAndApplyTheme } from "../useModuleLoader-2akO1Igj.js";
10
+ import { _ as setupSDK, a as resolveApiKey, b as TerminalErrorPage, i as HEADLESS_WORKFLOW_MODULE_KEYS, l as LAZY_UI_MODULES, o as extractIncodeStatus, p as isDesktopOrEmulated, s as UnsupportedModule, t as useModuleLoader, y as fetchAndApplyTheme } from "../useModuleLoader-Gvo9qscB.js";
11
11
  import { resolveWasmConfig, upgradeToWasmHttpClient, warmupWasm } from "@incodetech/core/wasm";
12
12
  import { classifyScoreStatus } from "@incodetech/core/flow";
13
13
  import { bootstrapSession, refreshQrUrlUuid } from "@incodetech/core/session";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@incodetech/web",
3
- "version": "0.0.0-dev-20260706-82e1bca3",
3
+ "version": "0.0.0-dev-20260706-cca97758",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/IncodeTechnologies/incode-web-sdk.git"
@@ -291,7 +291,7 @@
291
291
  "qrcode": "^1.5.4",
292
292
  "signature_pad": "^5.1.3",
293
293
  "tailwindcss": "^4.1.17",
294
- "@incodetech/core": "0.0.0-dev-20260706-82e1bca3"
294
+ "@incodetech/core": "0.0.0-dev-20260706-cca97758"
295
295
  },
296
296
  "devDependencies": {
297
297
  "@microsoft/api-extractor": "^7.53.3",