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

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.
@@ -1,5 +1,5 @@
1
1
  import { v as u } from "../vendor-preact-DThS2ZQ_.js";
2
- import { n as ElectronicSignature } from "../electronic-signature-BEgHISh5.js";
2
+ import { n as ElectronicSignature } from "../electronic-signature-Ueoffasr.js";
3
3
  import { t as registerIncodeModuleElement } from "../incodeModule-B-4_3JrK.js";
4
4
  //#region src/modules/ae-signature/ae-signature.tsx
5
5
  var AeSignature = ({ config, onFinish, onError }) => {
@@ -148,6 +148,7 @@
148
148
  font-weight: var(--typography-body-m-regular-weight);
149
149
  line-height: var(--typography-body-m-regular-line-height);
150
150
  letter-spacing: var(--typography-body-m-regular-letter-spacing);
151
+ white-space: nowrap;
151
152
  color: var(--color-text-body-primary, var(--text-body-800-primary));
152
153
  display: flex;
153
154
  }
@@ -156,6 +157,7 @@
156
157
  width: var(--spacing-16, var(--spacing-16, 16px));
157
158
  height: var(--spacing-16, var(--spacing-16, 16px));
158
159
  color: var(--color-icon-neutral-500, var(--icon-neutral-500));
160
+ flex-shrink: 0;
159
161
  }
160
162
 
161
163
  .IncodeElectronicSignature .IncodeElectronicSignatureSigningTop {
@@ -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")
@@ -1,2 +1,2 @@
1
- import { n as ElectronicSignature, t as AeSignature } from "../electronic-signature-BEgHISh5.js";
1
+ import { n as ElectronicSignature, t as AeSignature } from "../electronic-signature-Ueoffasr.js";
2
2
  export { AeSignature, ElectronicSignature };
@@ -193,7 +193,7 @@ function getVariantCopy(variant, t) {
193
193
  if (variant === "qe") return {
194
194
  signingTitle: t("qes.consent.title"),
195
195
  signingSubtitle: t("qes.consent.text"),
196
- signButtonLabel: t("forms.button.continue")
196
+ signButtonLabel: t("aes.confirmSignature.finishSigning")
197
197
  };
198
198
  return {
199
199
  signingTitle: t("aes.confirmSignature.title"),
@@ -214,8 +214,7 @@ var ElectronicSignatureContent = ({ config, onFinish, onError }) => {
214
214
  status: state.status,
215
215
  onFinish,
216
216
  onError: state.status === "closed" ? () => onError?.("closed") : onError,
217
- error: state.status === "failed" ? state.errorMessage : void 0,
218
- errorStatuses: ["failed"]
217
+ errorStatuses: []
219
218
  });
220
219
  const handleFileChange = q((event) => {
221
220
  const file = event.target.files?.[0];
@@ -304,6 +303,10 @@ var ElectronicSignatureContent = ({ config, onFinish, onError }) => {
304
303
  warningTitle: t("aes.confirmSignature.fail"),
305
304
  onRetry: () => manager.retry()
306
305
  });
306
+ if (state.status === "signError") return /* @__PURE__ */ u(VerificationResult, {
307
+ status: "warning",
308
+ warningTitle: t("aes.confirmSignature.fail")
309
+ });
307
310
  if (state.status === "signing") {
308
311
  if (state.viewingDocumentUrl) return /* @__PURE__ */ u(Page, {
309
312
  className: "IncodeElectronicSignature",
@@ -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 {
@@ -8502,6 +8511,7 @@
8502
8511
  font-weight: var(--typography-body-m-regular-weight);
8503
8512
  line-height: var(--typography-body-m-regular-line-height);
8504
8513
  letter-spacing: var(--typography-body-m-regular-letter-spacing);
8514
+ white-space: nowrap;
8505
8515
  color: var(--color-text-body-primary, var(--text-body-800-primary));
8506
8516
  display: flex;
8507
8517
  }
@@ -8510,6 +8520,7 @@
8510
8520
  width: var(--spacing-16, var(--spacing-16, 16px));
8511
8521
  height: var(--spacing-16, var(--spacing-16, 16px));
8512
8522
  color: var(--color-icon-neutral-500, var(--icon-neutral-500));
8523
+ flex-shrink: 0;
8513
8524
  }
8514
8525
 
8515
8526
  .IncodeElectronicSignature .IncodeElectronicSignatureSigningTop {
@@ -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,
@@ -1,5 +1,5 @@
1
1
  import { v as u } from "../vendor-preact-DThS2ZQ_.js";
2
- import { n as ElectronicSignature } from "../electronic-signature-BEgHISh5.js";
2
+ import { n as ElectronicSignature } from "../electronic-signature-Ueoffasr.js";
3
3
  import { t as registerIncodeModuleElement } from "../incodeModule-B-4_3JrK.js";
4
4
  //#region src/modules/qe-signature/qe-signature.tsx
5
5
  var QeSignature = ({ config, onFinish, onError }) => {
@@ -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-d1ae387d",
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-d1ae387d"
295
295
  },
296
296
  "devDependencies": {
297
297
  "@microsoft/api-extractor": "^7.53.3",