@incodetech/web 0.0.0-dev-20260625-138639f4 → 0.0.0-dev-20260626-da30041d

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-h1sAGg7l.js";
2
+ import { n as ElectronicSignature } from "../electronic-signature-BZ5w_RAk.js";
3
3
  import { t as registerIncodeModuleElement } from "../incodeModule-M8DszCee.js";
4
4
  //#region src/modules/ae-signature/ae-signature.tsx
5
5
  var AeSignature = ({ config, onFinish, onError }) => {
@@ -10,6 +10,18 @@
10
10
  }
11
11
  }
12
12
 
13
+ .IncodeElectronicSignature .IncodeSrOnly {
14
+ clip-path: inset(50%);
15
+ white-space: nowrap;
16
+ border-width: 0;
17
+ width: 1px;
18
+ height: 1px;
19
+ margin: -1px;
20
+ padding: 0;
21
+ position: absolute;
22
+ overflow: hidden;
23
+ }
24
+
13
25
  .IncodeElectronicSignature .IncodePageContent {
14
26
  min-height: var(--spacing-0, var(--spacing-none, 0px));
15
27
  padding-top: var(--spacing-32, var(--spacing-32, 32px));
@@ -21,14 +33,14 @@
21
33
  }
22
34
 
23
35
  .IncodeElectronicSignature .IncodePageTitleContainer {
24
- max-width: 600px;
36
+ max-width: var(--electronic-signature-title-max-w);
25
37
  }
26
38
 
27
39
  .IncodeElectronicSignature .IncodePageFooter {
28
40
  padding-top: var(--spacing-16, var(--spacing-16, 16px));
29
41
  }
30
42
 
31
- .IncodeElectronicSignatureUploadBody {
43
+ .IncodeElectronicSignature .IncodeElectronicSignatureUploadBody {
32
44
  min-height: var(--spacing-0, var(--spacing-none, 0px));
33
45
  flex-direction: column;
34
46
  flex: 1;
@@ -38,25 +50,25 @@
38
50
  container-type: size;
39
51
  }
40
52
 
41
- .IncodeElectronicSignatureIllustration {
53
+ .IncodeElectronicSignature .IncodeElectronicSignatureIllustration {
42
54
  aspect-ratio: 1;
55
+ width: var(--electronic-signature-illustration-max-w);
43
56
  border-radius: var(--radius-full, var(--border-radius-full));
44
57
  background-color: var(--color-surface-brand-50, var(--surface-brand-50));
45
58
  justify-content: center;
46
59
  align-items: center;
47
- width: min(100cqw, 100cqh - 32px, 297px);
48
60
  display: flex;
49
61
  overflow: visible;
50
62
  }
51
63
 
52
- .IncodeElectronicSignatureIllustration svg {
53
- --tw-translate-y: calc(3% * -1);
54
- width: 80%;
64
+ .IncodeElectronicSignature .IncodeElectronicSignatureIllustration svg {
55
65
  height: auto;
66
+ width: var(--electronic-signature-illustration-svg-w);
67
+ --tw-translate-y: calc(var(--electronic-signature-illustration-svg-shift) * -1);
56
68
  translate: var(--tw-translate-x) var(--tw-translate-y);
57
69
  }
58
70
 
59
- .IncodeElectronicSignatureFileInput {
71
+ .IncodeElectronicSignature .IncodeElectronicSignatureFileInput {
60
72
  opacity: 0;
61
73
  width: 1px;
62
74
  height: 1px;
@@ -64,13 +76,13 @@
64
76
  overflow: hidden;
65
77
  }
66
78
 
67
- .IncodeElectronicSignatureReviewBody {
79
+ .IncodeElectronicSignature .IncodeElectronicSignatureReviewBody {
68
80
  min-height: var(--spacing-0, var(--spacing-none, 0px));
81
+ width: 100%;
82
+ max-width: var(--incode-form-max-w);
69
83
  justify-content: center;
70
84
  align-items: center;
71
85
  gap: var(--spacing-16, var(--spacing-16, 16px));
72
- width: 100%;
73
- max-width: 420px;
74
86
  padding-inline: var(--spacing-48, var(--spacing-48, 48px));
75
87
  flex-direction: column;
76
88
  flex: 1;
@@ -78,7 +90,7 @@
78
90
  display: flex;
79
91
  }
80
92
 
81
- .IncodeElectronicSignatureReviewCard {
93
+ .IncodeElectronicSignature .IncodeElectronicSignatureReviewCard {
82
94
  min-height: var(--spacing-0, var(--spacing-none, 0px));
83
95
  align-items: center;
84
96
  gap: var(--spacing-24, var(--spacing-24, 24px));
@@ -94,28 +106,28 @@
94
106
  display: flex;
95
107
  }
96
108
 
97
- .IncodeElectronicSignatureDocPreview {
109
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocPreview {
98
110
  pointer-events: none;
99
111
  aspect-ratio: 113 / 150;
100
- max-height: 150px;
112
+ max-height: var(--electronic-signature-doc-preview-max-h);
101
113
  min-height: var(--spacing-0, var(--spacing-none, 0px));
114
+ border-radius: var(--electronic-signature-doc-preview-radius);
102
115
  border-style: var(--tw-border-style);
103
116
  border-width: 1px;
104
117
  border-color: var(--color-border-neutral-100, var(--border-neutral-100));
105
118
  background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));
106
- border-radius: 6px;
107
119
  flex: 1;
108
120
  position: relative;
109
121
  overflow: hidden;
110
122
  }
111
123
 
112
- .IncodeElectronicSignatureDocPreviewObject {
124
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocPreviewObject {
113
125
  width: 100%;
114
126
  height: 100%;
115
127
  display: block;
116
128
  }
117
129
 
118
- .IncodeElectronicSignatureDocName {
130
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocName {
119
131
  text-align: center;
120
132
  font-family: var(--typography-headline-family);
121
133
  font-size: var(--typography-headline-h5-size);
@@ -126,7 +138,7 @@
126
138
  flex-shrink: 0;
127
139
  }
128
140
 
129
- .IncodeElectronicSignatureEncrypted {
141
+ .IncodeElectronicSignature .IncodeElectronicSignatureEncrypted {
130
142
  justify-content: center;
131
143
  align-items: center;
132
144
  gap: var(--spacing-4, var(--spacing-4, 4px));
@@ -140,20 +152,20 @@
140
152
  display: flex;
141
153
  }
142
154
 
143
- .IncodeElectronicSignatureEncryptedIcon {
155
+ .IncodeElectronicSignature .IncodeElectronicSignatureEncryptedIcon {
144
156
  width: var(--spacing-16, var(--spacing-16, 16px));
145
157
  height: var(--spacing-16, var(--spacing-16, 16px));
146
158
  color: var(--color-icon-neutral-500, var(--icon-neutral-500));
147
159
  }
148
160
 
149
- .IncodeElectronicSignatureSigningTop {
161
+ .IncodeElectronicSignature .IncodeElectronicSignatureSigningTop {
150
162
  flex-direction: column;
151
163
  flex-shrink: 0;
152
164
  align-items: center;
153
165
  display: flex;
154
166
  }
155
167
 
156
- .IncodeElectronicSignatureSigningBottom {
168
+ .IncodeElectronicSignature .IncodeElectronicSignatureSigningBottom {
157
169
  min-height: var(--spacing-0, var(--spacing-none, 0px));
158
170
  justify-content: flex-end;
159
171
  align-items: center;
@@ -164,14 +176,14 @@
164
176
  display: flex;
165
177
  }
166
178
 
167
- .IncodeElectronicSignatureDocContainer {
179
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocContainer {
180
+ width: 100%;
181
+ max-width: var(--incode-form-max-w);
168
182
  border-radius: var(--radius-medium, var(--border-radius-medium));
169
183
  border-style: var(--tw-border-style);
170
184
  border-width: 1px;
171
185
  border-color: var(--color-border-neutral-100, var(--border-neutral-100));
172
186
  background-color: var(--color-surface-neutral-50, var(--surface-neutral-50));
173
- width: 100%;
174
- max-width: 420px;
175
187
  padding-inline: var(--spacing-24, var(--spacing-24, 24px));
176
188
  padding-block: var(--spacing-8, var(--spacing-8, 8px));
177
189
  flex-direction: column;
@@ -182,16 +194,16 @@
182
194
  overflow: clip;
183
195
  }
184
196
 
185
- .IncodeElectronicSignatureDocRow {
197
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocRow {
198
+ height: var(--electronic-signature-doc-row-h);
186
199
  flex-shrink: 0;
187
200
  justify-content: space-between;
188
201
  align-items: center;
189
202
  width: 100%;
190
- height: 56px;
191
203
  display: flex;
192
204
  }
193
205
 
194
- .IncodeElectronicSignatureDocRowName {
206
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocRowName {
195
207
  font-family: var(--typography-button-family);
196
208
  font-size: var(--typography-button-m-size);
197
209
  font-weight: var(--typography-button-m-weight);
@@ -200,24 +212,24 @@
200
212
  color: var(--color-text-body-primary, var(--text-body-800-primary));
201
213
  }
202
214
 
203
- .IncodeElectronicSignatureDocRowAction {
215
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocRowAction {
204
216
  width: auto;
205
217
  max-width: none;
206
218
  height: auto;
207
219
  padding: var(--spacing-0, var(--spacing-none, 0px));
208
220
  }
209
221
 
210
- .IncodeElectronicSignatureConsents {
222
+ .IncodeElectronicSignature .IncodeElectronicSignatureConsents {
211
223
  min-height: var(--spacing-0, var(--spacing-none, 0px));
224
+ width: 100%;
225
+ max-width: var(--incode-form-max-w);
212
226
  gap: var(--spacing-4, var(--spacing-4, 4px));
213
227
  flex-direction: column;
214
- width: 100%;
215
- max-width: 420px;
216
228
  display: flex;
217
229
  overflow: auto;
218
230
  }
219
231
 
220
- .IncodeElectronicSignatureConsents .IncodeCheckbox {
232
+ .IncodeElectronicSignature .IncodeElectronicSignatureConsents .IncodeCheckbox {
221
233
  border-radius: var(--radius-medium, var(--border-radius-medium));
222
234
  background-color: var(--color-surface-brand-50, var(--surface-brand-50));
223
235
  width: 100%;
@@ -225,7 +237,7 @@
225
237
  padding-block: var(--spacing-20, var(--spacing-20, 20px));
226
238
  }
227
239
 
228
- .IncodeElectronicSignatureConsents .IncodeCheckboxText {
240
+ .IncodeElectronicSignature .IncodeElectronicSignatureConsents .IncodeCheckboxText {
229
241
  font-family: var(--typography-checkbox-radio-family);
230
242
  font-size: var(--typography-checkbox-radio-s-size);
231
243
  font-weight: var(--typography-checkbox-radio-s-weight);
@@ -233,17 +245,17 @@
233
245
  letter-spacing: var(--typography-checkbox-radio-s-letter-spacing);
234
246
  }
235
247
 
236
- .IncodeElectronicSignatureConsents a {
248
+ .IncodeElectronicSignature .IncodeElectronicSignatureConsents a {
237
249
  color: var(--color-text-link-default, var(--text-link-default));
238
250
  text-decoration-line: underline;
239
251
  }
240
252
 
241
- .IncodeElectronicSignatureSuccess .IncodePageContent {
253
+ .IncodeElectronicSignature.IncodeElectronicSignatureSuccess .IncodePageContent {
242
254
  padding-top: var(--spacing-0, var(--spacing-none, 0px));
243
255
  justify-content: center;
244
256
  }
245
257
 
246
- .IncodeElectronicSignatureSuccessCenter {
258
+ .IncodeElectronicSignature .IncodeElectronicSignatureSuccessCenter {
247
259
  justify-content: center;
248
260
  align-items: center;
249
261
  gap: var(--spacing-16, var(--spacing-16, 16px));
@@ -252,7 +264,7 @@
252
264
  display: flex;
253
265
  }
254
266
 
255
- .IncodeElectronicSignatureSuccessTitle {
267
+ .IncodeElectronicSignature .IncodeElectronicSignatureSuccessTitle {
256
268
  text-align: center;
257
269
  font-family: var(--typography-headline-family);
258
270
  font-size: var(--typography-headline-h3-size);
@@ -262,7 +274,7 @@
262
274
  color: var(--color-text-body-primary, var(--text-body-800-primary));
263
275
  }
264
276
 
265
- .IncodeElectronicSignatureDownloadLink {
277
+ .IncodeElectronicSignature .IncodeElectronicSignatureDownloadLink {
266
278
  text-align: center;
267
279
  font-family: var(--typography-button-family);
268
280
  font-size: var(--typography-button-m-size);
@@ -273,33 +285,33 @@
273
285
  text-decoration-line: underline;
274
286
  }
275
287
 
276
- .IncodeElectronicSignatureFooter {
288
+ .IncodeElectronicSignature .IncodeElectronicSignatureFooter {
289
+ width: 100%;
290
+ max-width: var(--incode-form-max-w);
277
291
  justify-content: center;
278
292
  align-items: center;
279
293
  gap: var(--spacing-16, var(--spacing-16, 16px));
280
294
  flex-direction: column;
281
295
  flex-shrink: 0;
282
296
  align-self: center;
283
- width: 100%;
284
- max-width: 420px;
285
297
  display: flex;
286
298
  }
287
299
 
288
- .IncodeElectronicSignatureDocViewHeader {
300
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocViewHeader {
289
301
  z-index: 10;
290
302
  height: var(--page-header-height);
291
- margin-top: calc(-1 * var(--page-header-height));
303
+ margin-top: var(--electronic-signature-doc-view-header-offset);
292
304
  align-self: flex-start;
293
305
  align-items: center;
294
306
  display: flex;
295
307
  position: relative;
296
308
  }
297
309
 
298
- .IncodeElectronicSignatureBackButton {
310
+ .IncodeElectronicSignature .IncodeElectronicSignatureBackButton {
299
311
  color: var(--color-text-body-primary, var(--text-body-800-primary));
300
312
  }
301
313
 
302
- .IncodeElectronicSignatureDocViewer {
314
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocViewer {
303
315
  min-height: var(--spacing-0, var(--spacing-none, 0px));
304
316
  border-style: var(--tw-border-style);
305
317
  border-width: var(--border-width-none, var(--primitive-border-width-0));
package/dist/base.css CHANGED
@@ -8613,44 +8613,56 @@
8613
8613
  position: relative;
8614
8614
  }
8615
8615
 
8616
- .IncodePdfViewerThumbnail {
8617
- pointer-events: none;
8618
- overflow: hidden;
8619
- }
8620
-
8621
- .IncodePdfViewerFull {
8622
- overflow: auto;
8623
- }
8624
-
8625
- .IncodePdfViewerPages {
8616
+ .IncodePdfViewer .IncodePdfViewerPages {
8626
8617
  flex-direction: column;
8627
8618
  align-items: center;
8628
8619
  width: 100%;
8629
8620
  display: flex;
8630
8621
  }
8631
8622
 
8632
- .IncodePdfViewerThumbnail .IncodePdfViewerPages {
8633
- justify-content: center;
8634
- height: 100%;
8623
+ .IncodePdfViewer .IncodePdfViewerCanvas {
8624
+ max-width: 100%;
8625
+ display: block;
8635
8626
  }
8636
8627
 
8637
- .IncodePdfViewerFull .IncodePdfViewerPages {
8638
- gap: var(--spacing-4, var(--spacing-4, 4px));
8639
- padding-block: var(--spacing-4, var(--spacing-4, 4px));
8628
+ .IncodePdfViewer .IncodePdfViewerTextLayer {
8629
+ clip-path: inset(50%);
8630
+ white-space: nowrap;
8631
+ border-width: 0;
8632
+ width: 1px;
8633
+ height: 1px;
8634
+ margin: -1px;
8635
+ padding: 0;
8636
+ position: absolute;
8637
+ overflow: hidden;
8640
8638
  }
8641
8639
 
8642
- .IncodePdfViewerCanvas {
8643
- max-width: 100%;
8644
- display: block;
8640
+ .IncodePdfViewer.IncodePdfViewerThumbnail {
8641
+ pointer-events: none;
8642
+ overflow: hidden;
8643
+ }
8644
+
8645
+ .IncodePdfViewer.IncodePdfViewerThumbnail .IncodePdfViewerPages {
8646
+ justify-content: center;
8647
+ height: 100%;
8645
8648
  }
8646
8649
 
8647
- .IncodePdfViewerThumbnail .IncodePdfViewerCanvas {
8650
+ .IncodePdfViewer.IncodePdfViewerThumbnail .IncodePdfViewerCanvas {
8648
8651
  object-fit: cover;
8649
8652
  width: 100%;
8650
8653
  height: 100%;
8651
8654
  }
8652
8655
 
8653
- .IncodePdfViewerStatus {
8656
+ .IncodePdfViewer.IncodePdfViewerFull {
8657
+ overflow: auto;
8658
+ }
8659
+
8660
+ .IncodePdfViewer.IncodePdfViewerFull .IncodePdfViewerPages {
8661
+ gap: var(--spacing-4, var(--spacing-4, 4px));
8662
+ padding-block: var(--spacing-4, var(--spacing-4, 4px));
8663
+ }
8664
+
8665
+ .IncodePdfViewer .IncodePdfViewerStatus {
8654
8666
  pointer-events: none;
8655
8667
  inset: var(--spacing-0, var(--spacing-none, 0px));
8656
8668
  justify-content: center;
@@ -1,2 +1,2 @@
1
- import { t as DocumentCapture } from "../documentCapture-BvC0ik8G.js";
1
+ import { t as DocumentCapture } from "../documentCapture-CYclogp7.js";
2
2
  export { DocumentCapture };
@@ -0,0 +1,2 @@
1
+ import { t as DocumentCapture } from "./documentCapture-CYclogp7.js";
2
+ export { DocumentCapture };
@@ -308,7 +308,7 @@ var UploadingHeader = ({ progress, isFilePdf }) => {
308
308
  };
309
309
  //#endregion
310
310
  //#region src/modules/document-capture/documentReview.tsx
311
- var PdfViewer = z(() => import("./pdfViewer-BewML6eg.js").then((n) => n.n).then((m) => ({ default: m.PdfViewer })));
311
+ var PdfViewer = z(() => import("./pdfViewer-bx59Lwwt.js").then((n) => n.n).then((m) => ({ default: m.PdfViewer })));
312
312
  var DocumentReview = ({ state, manager }) => {
313
313
  const { t } = useTranslation();
314
314
  if (state.status === "failure") return /* @__PURE__ */ u(ErrorContent, {
@@ -1,2 +1,2 @@
1
- import { n as ElectronicSignature, t as AeSignature } from "../electronic-signature-h1sAGg7l.js";
1
+ import { n as ElectronicSignature, t as AeSignature } from "../electronic-signature-BZ5w_RAk.js";
2
2
  export { AeSignature, ElectronicSignature };
@@ -9,7 +9,7 @@ import { t as SuccessIcon } from "./successIcon-B5mGvdx1.js";
9
9
  import { t as AutoFocusTitle } from "./autoFocusTitle-CuRu2lPg.js";
10
10
  import { t as VerificationResult } from "./verificationResult-B6PBXbp9.js";
11
11
  import { t as Checkbox } from "./checkbox-1wUHSoaK.js";
12
- import { t as PdfViewer } from "./pdfViewer-BewML6eg.js";
12
+ import { t as PdfViewer } from "./pdfViewer-bx59Lwwt.js";
13
13
  import { t as registerIncodeModuleElement } from "./incodeModule-M8DszCee.js";
14
14
  import { createElectronicSignatureManager } from "@incodetech/core/electronic-signature";
15
15
  //#region src/modules/electronic-signature/documentIllustration.tsx
@@ -307,22 +307,29 @@ var ElectronicSignatureContent = ({ config, onFinish, onError }) => {
307
307
  if (state.status === "signing") {
308
308
  if (state.viewingDocumentUrl) return /* @__PURE__ */ u(Page, {
309
309
  className: "IncodeElectronicSignature",
310
- children: [/* @__PURE__ */ u("div", {
311
- className: "IncodeElectronicSignatureDocViewHeader",
312
- children: /* @__PURE__ */ u(Button, {
313
- size: "M",
314
- variant: "link",
315
- class: "IncodeElectronicSignatureBackButton",
316
- icon: /* @__PURE__ */ u(ChevronLeftIcon, { variant: "m" }),
317
- onClick: () => manager.closeDocumentView(),
318
- "aria-label": t("common.back")
310
+ children: [
311
+ /* @__PURE__ */ u(AutoFocusTitle, {
312
+ className: "IncodeSrOnly",
313
+ children: t("aes.confirmSignature.contract")
314
+ }),
315
+ /* @__PURE__ */ u("div", {
316
+ className: "IncodeElectronicSignatureDocViewHeader",
317
+ children: /* @__PURE__ */ u(Button, {
318
+ size: "M",
319
+ variant: "link",
320
+ class: "IncodeElectronicSignatureBackButton",
321
+ icon: /* @__PURE__ */ u(ChevronLeftIcon, { variant: "m" }),
322
+ onClick: () => manager.closeDocumentView(),
323
+ "aria-label": t("common.back")
324
+ })
325
+ }),
326
+ /* @__PURE__ */ u(PdfViewer, {
327
+ url: state.viewingDocumentUrl,
328
+ mode: "full",
329
+ className: "IncodeElectronicSignatureDocViewer",
330
+ "aria-label": t("aes.confirmSignature.contract")
319
331
  })
320
- }), /* @__PURE__ */ u(PdfViewer, {
321
- url: state.viewingDocumentUrl,
322
- mode: "full",
323
- className: "IncodeElectronicSignatureDocViewer",
324
- "aria-label": t("aes.confirmSignature.viewDocument")
325
- })]
332
+ ]
326
333
  });
327
334
  const variant = state.variant;
328
335
  const consentItems = getConsentItems(variant, t);
@@ -361,6 +368,7 @@ var ElectronicSignatureContent = ({ config, onFinish, onError }) => {
361
368
  id: `es-${item.id}`,
362
369
  label: item.label,
363
370
  size: "s",
371
+ required: true,
364
372
  checked: !!state.consentChecks[item.id],
365
373
  onChange: () => manager.setConsent(item.id, !state.consentChecks[item.id])
366
374
  }, item.id))
@@ -5,7 +5,7 @@ import { c as useManager } from "../hooks-Da_yP_Dr.js";
5
5
  import { t as IncodeComponent } from "../incodeComponent-Cmi1rlWs.js";
6
6
  import { t as TransitionSpinner } from "../transitionSpinner-4rPkt-KM.js";
7
7
  import { t as registerIncodeModuleElement } from "../incodeModule-M8DszCee.js";
8
- import { _ as warmupWasmIfNeeded, a as resolveApiKey, c as HEADLESS_FLOW_MODULE_KEYS, d as fetchTheme, f as initializeFlowManager, h as preloadRedirectToMobile, l as LAZY_UI_MODULES, m as preloadHomeScreen, n as useModulePreloader, o as extractIncodeStatus, p as preloadFirstModule, r as usePrefetchNextModule, s as UnsupportedModule, t as useModuleLoader, u as createFlowManager, y as TerminalErrorPage } from "../useModuleLoader-DzErWZma.js";
8
+ import { _ as warmupWasmIfNeeded, a as resolveApiKey, c as HEADLESS_FLOW_MODULE_KEYS, d as fetchTheme, f as initializeFlowManager, h as preloadRedirectToMobile, l as LAZY_UI_MODULES, m as preloadHomeScreen, n as useModulePreloader, o as extractIncodeStatus, p as preloadFirstModule, r as usePrefetchNextModule, s as UnsupportedModule, t as useModuleLoader, u as createFlowManager, y as TerminalErrorPage } from "../useModuleLoader-D2dAsd4A.js";
9
9
  import { getDeviceClass } from "@incodetech/core/device";
10
10
  import { getRequiredWasmPipelines } from "@incodetech/core/flow";
11
11
  import { bootstrapSession, refreshQrUrlUuid } from "@incodetech/core/session";
@@ -7859,6 +7859,18 @@
7859
7859
  margin-top: auto;
7860
7860
  }
7861
7861
 
7862
+ .IncodeElectronicSignature .IncodeSrOnly {
7863
+ clip-path: inset(50%);
7864
+ white-space: nowrap;
7865
+ border-width: 0;
7866
+ width: 1px;
7867
+ height: 1px;
7868
+ margin: -1px;
7869
+ padding: 0;
7870
+ position: absolute;
7871
+ overflow: hidden;
7872
+ }
7873
+
7862
7874
  .IncodeElectronicSignature .IncodePageContent {
7863
7875
  min-height: var(--spacing-0, var(--spacing-none, 0px));
7864
7876
  padding-top: var(--spacing-32, var(--spacing-32, 32px));
@@ -7870,14 +7882,14 @@
7870
7882
  }
7871
7883
 
7872
7884
  .IncodeElectronicSignature .IncodePageTitleContainer {
7873
- max-width: 600px;
7885
+ max-width: var(--electronic-signature-title-max-w);
7874
7886
  }
7875
7887
 
7876
7888
  .IncodeElectronicSignature .IncodePageFooter {
7877
7889
  padding-top: var(--spacing-16, var(--spacing-16, 16px));
7878
7890
  }
7879
7891
 
7880
- .IncodeElectronicSignatureUploadBody {
7892
+ .IncodeElectronicSignature .IncodeElectronicSignatureUploadBody {
7881
7893
  min-height: var(--spacing-0, var(--spacing-none, 0px));
7882
7894
  flex-direction: column;
7883
7895
  flex: 1;
@@ -7887,25 +7899,25 @@
7887
7899
  container-type: size;
7888
7900
  }
7889
7901
 
7890
- .IncodeElectronicSignatureIllustration {
7902
+ .IncodeElectronicSignature .IncodeElectronicSignatureIllustration {
7891
7903
  aspect-ratio: 1;
7904
+ width: var(--electronic-signature-illustration-max-w);
7892
7905
  border-radius: var(--radius-full, var(--border-radius-full));
7893
7906
  background-color: var(--color-surface-brand-50, var(--surface-brand-50));
7894
7907
  justify-content: center;
7895
7908
  align-items: center;
7896
- width: min(100cqw, 100cqh - 32px, 297px);
7897
7909
  display: flex;
7898
7910
  overflow: visible;
7899
7911
  }
7900
7912
 
7901
- .IncodeElectronicSignatureIllustration svg {
7902
- --tw-translate-y: calc(3% * -1);
7903
- width: 80%;
7913
+ .IncodeElectronicSignature .IncodeElectronicSignatureIllustration svg {
7904
7914
  height: auto;
7915
+ width: var(--electronic-signature-illustration-svg-w);
7916
+ --tw-translate-y: calc(var(--electronic-signature-illustration-svg-shift) * -1);
7905
7917
  translate: var(--tw-translate-x) var(--tw-translate-y);
7906
7918
  }
7907
7919
 
7908
- .IncodeElectronicSignatureFileInput {
7920
+ .IncodeElectronicSignature .IncodeElectronicSignatureFileInput {
7909
7921
  opacity: 0;
7910
7922
  width: 1px;
7911
7923
  height: 1px;
@@ -7913,13 +7925,13 @@
7913
7925
  overflow: hidden;
7914
7926
  }
7915
7927
 
7916
- .IncodeElectronicSignatureReviewBody {
7928
+ .IncodeElectronicSignature .IncodeElectronicSignatureReviewBody {
7917
7929
  min-height: var(--spacing-0, var(--spacing-none, 0px));
7930
+ width: 100%;
7931
+ max-width: var(--incode-form-max-w);
7918
7932
  justify-content: center;
7919
7933
  align-items: center;
7920
7934
  gap: var(--spacing-16, var(--spacing-16, 16px));
7921
- width: 100%;
7922
- max-width: 420px;
7923
7935
  padding-inline: var(--spacing-48, var(--spacing-48, 48px));
7924
7936
  flex-direction: column;
7925
7937
  flex: 1;
@@ -7927,7 +7939,7 @@
7927
7939
  display: flex;
7928
7940
  }
7929
7941
 
7930
- .IncodeElectronicSignatureReviewCard {
7942
+ .IncodeElectronicSignature .IncodeElectronicSignatureReviewCard {
7931
7943
  min-height: var(--spacing-0, var(--spacing-none, 0px));
7932
7944
  align-items: center;
7933
7945
  gap: var(--spacing-24, var(--spacing-24, 24px));
@@ -7943,28 +7955,28 @@
7943
7955
  display: flex;
7944
7956
  }
7945
7957
 
7946
- .IncodeElectronicSignatureDocPreview {
7958
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocPreview {
7947
7959
  pointer-events: none;
7948
7960
  aspect-ratio: 113 / 150;
7949
- max-height: 150px;
7961
+ max-height: var(--electronic-signature-doc-preview-max-h);
7950
7962
  min-height: var(--spacing-0, var(--spacing-none, 0px));
7963
+ border-radius: var(--electronic-signature-doc-preview-radius);
7951
7964
  border-style: var(--tw-border-style);
7952
7965
  border-width: 1px;
7953
7966
  border-color: var(--color-border-neutral-100, var(--border-neutral-100));
7954
7967
  background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));
7955
- border-radius: 6px;
7956
7968
  flex: 1;
7957
7969
  position: relative;
7958
7970
  overflow: hidden;
7959
7971
  }
7960
7972
 
7961
- .IncodeElectronicSignatureDocPreviewObject {
7973
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocPreviewObject {
7962
7974
  width: 100%;
7963
7975
  height: 100%;
7964
7976
  display: block;
7965
7977
  }
7966
7978
 
7967
- .IncodeElectronicSignatureDocName {
7979
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocName {
7968
7980
  text-align: center;
7969
7981
  font-family: var(--typography-headline-family);
7970
7982
  font-size: var(--typography-headline-h5-size);
@@ -7975,7 +7987,7 @@
7975
7987
  flex-shrink: 0;
7976
7988
  }
7977
7989
 
7978
- .IncodeElectronicSignatureEncrypted {
7990
+ .IncodeElectronicSignature .IncodeElectronicSignatureEncrypted {
7979
7991
  justify-content: center;
7980
7992
  align-items: center;
7981
7993
  gap: var(--spacing-4, var(--spacing-4, 4px));
@@ -7989,20 +8001,20 @@
7989
8001
  display: flex;
7990
8002
  }
7991
8003
 
7992
- .IncodeElectronicSignatureEncryptedIcon {
8004
+ .IncodeElectronicSignature .IncodeElectronicSignatureEncryptedIcon {
7993
8005
  width: var(--spacing-16, var(--spacing-16, 16px));
7994
8006
  height: var(--spacing-16, var(--spacing-16, 16px));
7995
8007
  color: var(--color-icon-neutral-500, var(--icon-neutral-500));
7996
8008
  }
7997
8009
 
7998
- .IncodeElectronicSignatureSigningTop {
8010
+ .IncodeElectronicSignature .IncodeElectronicSignatureSigningTop {
7999
8011
  flex-direction: column;
8000
8012
  flex-shrink: 0;
8001
8013
  align-items: center;
8002
8014
  display: flex;
8003
8015
  }
8004
8016
 
8005
- .IncodeElectronicSignatureSigningBottom {
8017
+ .IncodeElectronicSignature .IncodeElectronicSignatureSigningBottom {
8006
8018
  min-height: var(--spacing-0, var(--spacing-none, 0px));
8007
8019
  justify-content: flex-end;
8008
8020
  align-items: center;
@@ -8013,14 +8025,14 @@
8013
8025
  display: flex;
8014
8026
  }
8015
8027
 
8016
- .IncodeElectronicSignatureDocContainer {
8028
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocContainer {
8029
+ width: 100%;
8030
+ max-width: var(--incode-form-max-w);
8017
8031
  border-radius: var(--radius-medium, var(--border-radius-medium));
8018
8032
  border-style: var(--tw-border-style);
8019
8033
  border-width: 1px;
8020
8034
  border-color: var(--color-border-neutral-100, var(--border-neutral-100));
8021
8035
  background-color: var(--color-surface-neutral-50, var(--surface-neutral-50));
8022
- width: 100%;
8023
- max-width: 420px;
8024
8036
  padding-inline: var(--spacing-24, var(--spacing-24, 24px));
8025
8037
  padding-block: var(--spacing-8, var(--spacing-8, 8px));
8026
8038
  flex-direction: column;
@@ -8031,16 +8043,16 @@
8031
8043
  overflow: clip;
8032
8044
  }
8033
8045
 
8034
- .IncodeElectronicSignatureDocRow {
8046
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocRow {
8047
+ height: var(--electronic-signature-doc-row-h);
8035
8048
  flex-shrink: 0;
8036
8049
  justify-content: space-between;
8037
8050
  align-items: center;
8038
8051
  width: 100%;
8039
- height: 56px;
8040
8052
  display: flex;
8041
8053
  }
8042
8054
 
8043
- .IncodeElectronicSignatureDocRowName {
8055
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocRowName {
8044
8056
  font-family: var(--typography-button-family);
8045
8057
  font-size: var(--typography-button-m-size);
8046
8058
  font-weight: var(--typography-button-m-weight);
@@ -8049,24 +8061,24 @@
8049
8061
  color: var(--color-text-body-primary, var(--text-body-800-primary));
8050
8062
  }
8051
8063
 
8052
- .IncodeElectronicSignatureDocRowAction {
8064
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocRowAction {
8053
8065
  width: auto;
8054
8066
  max-width: none;
8055
8067
  height: auto;
8056
8068
  padding: var(--spacing-0, var(--spacing-none, 0px));
8057
8069
  }
8058
8070
 
8059
- .IncodeElectronicSignatureConsents {
8071
+ .IncodeElectronicSignature .IncodeElectronicSignatureConsents {
8060
8072
  min-height: var(--spacing-0, var(--spacing-none, 0px));
8073
+ width: 100%;
8074
+ max-width: var(--incode-form-max-w);
8061
8075
  gap: var(--spacing-4, var(--spacing-4, 4px));
8062
8076
  flex-direction: column;
8063
- width: 100%;
8064
- max-width: 420px;
8065
8077
  display: flex;
8066
8078
  overflow: auto;
8067
8079
  }
8068
8080
 
8069
- .IncodeElectronicSignatureConsents .IncodeCheckbox {
8081
+ .IncodeElectronicSignature .IncodeElectronicSignatureConsents .IncodeCheckbox {
8070
8082
  border-radius: var(--radius-medium, var(--border-radius-medium));
8071
8083
  background-color: var(--color-surface-brand-50, var(--surface-brand-50));
8072
8084
  width: 100%;
@@ -8074,7 +8086,7 @@
8074
8086
  padding-block: var(--spacing-20, var(--spacing-20, 20px));
8075
8087
  }
8076
8088
 
8077
- .IncodeElectronicSignatureConsents .IncodeCheckboxText {
8089
+ .IncodeElectronicSignature .IncodeElectronicSignatureConsents .IncodeCheckboxText {
8078
8090
  font-family: var(--typography-checkbox-radio-family);
8079
8091
  font-size: var(--typography-checkbox-radio-s-size);
8080
8092
  font-weight: var(--typography-checkbox-radio-s-weight);
@@ -8082,17 +8094,17 @@
8082
8094
  letter-spacing: var(--typography-checkbox-radio-s-letter-spacing);
8083
8095
  }
8084
8096
 
8085
- .IncodeElectronicSignatureConsents a {
8097
+ .IncodeElectronicSignature .IncodeElectronicSignatureConsents a {
8086
8098
  color: var(--color-text-link-default, var(--text-link-default));
8087
8099
  text-decoration-line: underline;
8088
8100
  }
8089
8101
 
8090
- .IncodeElectronicSignatureSuccess .IncodePageContent {
8102
+ .IncodeElectronicSignature.IncodeElectronicSignatureSuccess .IncodePageContent {
8091
8103
  padding-top: var(--spacing-0, var(--spacing-none, 0px));
8092
8104
  justify-content: center;
8093
8105
  }
8094
8106
 
8095
- .IncodeElectronicSignatureSuccessCenter {
8107
+ .IncodeElectronicSignature .IncodeElectronicSignatureSuccessCenter {
8096
8108
  justify-content: center;
8097
8109
  align-items: center;
8098
8110
  gap: var(--spacing-16, var(--spacing-16, 16px));
@@ -8101,7 +8113,7 @@
8101
8113
  display: flex;
8102
8114
  }
8103
8115
 
8104
- .IncodeElectronicSignatureSuccessTitle {
8116
+ .IncodeElectronicSignature .IncodeElectronicSignatureSuccessTitle {
8105
8117
  text-align: center;
8106
8118
  font-family: var(--typography-headline-family);
8107
8119
  font-size: var(--typography-headline-h3-size);
@@ -8111,7 +8123,7 @@
8111
8123
  color: var(--color-text-body-primary, var(--text-body-800-primary));
8112
8124
  }
8113
8125
 
8114
- .IncodeElectronicSignatureDownloadLink {
8126
+ .IncodeElectronicSignature .IncodeElectronicSignatureDownloadLink {
8115
8127
  text-align: center;
8116
8128
  font-family: var(--typography-button-family);
8117
8129
  font-size: var(--typography-button-m-size);
@@ -8122,33 +8134,33 @@
8122
8134
  text-decoration-line: underline;
8123
8135
  }
8124
8136
 
8125
- .IncodeElectronicSignatureFooter {
8137
+ .IncodeElectronicSignature .IncodeElectronicSignatureFooter {
8138
+ width: 100%;
8139
+ max-width: var(--incode-form-max-w);
8126
8140
  justify-content: center;
8127
8141
  align-items: center;
8128
8142
  gap: var(--spacing-16, var(--spacing-16, 16px));
8129
8143
  flex-direction: column;
8130
8144
  flex-shrink: 0;
8131
8145
  align-self: center;
8132
- width: 100%;
8133
- max-width: 420px;
8134
8146
  display: flex;
8135
8147
  }
8136
8148
 
8137
- .IncodeElectronicSignatureDocViewHeader {
8149
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocViewHeader {
8138
8150
  z-index: 10;
8139
8151
  height: var(--page-header-height);
8140
- margin-top: calc(-1 * var(--page-header-height));
8152
+ margin-top: var(--electronic-signature-doc-view-header-offset);
8141
8153
  align-self: flex-start;
8142
8154
  align-items: center;
8143
8155
  display: flex;
8144
8156
  position: relative;
8145
8157
  }
8146
8158
 
8147
- .IncodeElectronicSignatureBackButton {
8159
+ .IncodeElectronicSignature .IncodeElectronicSignatureBackButton {
8148
8160
  color: var(--color-text-body-primary, var(--text-body-800-primary));
8149
8161
  }
8150
8162
 
8151
- .IncodeElectronicSignatureDocViewer {
8163
+ .IncodeElectronicSignature .IncodeElectronicSignatureDocViewer {
8152
8164
  min-height: var(--spacing-0, var(--spacing-none, 0px));
8153
8165
  border-style: var(--tw-border-style);
8154
8166
  border-width: var(--border-width-none, var(--primitive-border-width-0));
package/dist/id/id.es.js CHANGED
@@ -14,7 +14,7 @@ import { t as ErrorIcon } from "../errorIcon-BA4T6iy-.js";
14
14
  import { s as ChevronRightIcon } from "../icons-CJJbIpBq.js";
15
15
  import { t as SuccessIcon } from "../successIcon-B5mGvdx1.js";
16
16
  import { a as Lottie, o as ErrorContent, r as Permissions } from "../tutorial-lK0cKQhw.js";
17
- import { t as PdfViewer } from "../pdfViewer-BewML6eg.js";
17
+ import { t as PdfViewer } from "../pdfViewer-bx59Lwwt.js";
18
18
  import { t as registerIncodeModuleElement } from "../incodeModule-M8DszCee.js";
19
19
  import { t as id_laser_v_default } from "../id-laser-v-Dj_RN_s9.js";
20
20
  import { t as Tabs } from "../tabs-DUkWjBGk.js";
@@ -24,6 +24,15 @@ async function renderPage(page, canvas, targetWidth) {
24
24
  }).promise;
25
25
  }
26
26
  /**
27
+ * Extracts the page's text as a single readable string. `getTextContent`
28
+ * returns positioned glyph runs (`TextItem`) interleaved with structural
29
+ * markers (`TextMarkedContent`, which carry no `str`); we keep only the former
30
+ * and honour `hasEOL` so logical line breaks survive into the reading order.
31
+ */
32
+ async function extractPageText(page) {
33
+ return (await page.getTextContent()).items.map((item) => "str" in item ? item.str + (item.hasEOL ? "\n" : "") : "").join("").trim();
34
+ }
35
+ /**
27
36
  * PDF viewer that renders directly onto `<canvas>` via `pdfjs-dist`.
28
37
  *
29
38
  * We deliberately avoid the browser's native PDF viewer for both modes:
@@ -41,11 +50,23 @@ async function renderPage(page, canvas, targetWidth) {
41
50
  * `pdfjs-dist` itself is dynamically `import()`-ed so it doesn't land in the
42
51
  * main bundle; consumers that never render a PDF pay zero download cost.
43
52
  * Thumbnail and full-view callers share the same async chunk.
53
+ *
54
+ * Accessibility: a `<canvas>` is opaque to assistive technology, so the
55
+ * rendered pages are grouped under a single `role="img"` + `aria-label`
56
+ * (a short summary). On its own that fails WCAG 1.1.1 / 1.4.5 for a document
57
+ * the user must actually read — pixels are an image of text with no reading
58
+ * path. In `full` mode we therefore also extract each page's real text via
59
+ * `getTextContent()` into a visually-hidden, AT-readable layer alongside the
60
+ * canvases. `thumbnail` mode stays a labelled preview (no text layer): it is a
61
+ * decorative first-page glance whose `aria-label` is the file name.
44
62
  */
45
63
  var PdfViewer = ({ url, mode = "full", "aria-label": ariaLabel, className, onError }) => {
46
64
  const containerRef = A(null);
47
65
  const pagesRef = A(null);
66
+ const textRef = A(null);
48
67
  const [status, setStatus] = d("loading");
68
+ const onErrorRef = A(onError);
69
+ onErrorRef.current = onError;
49
70
  y(() => {
50
71
  let cancelled = false;
51
72
  let loadingTask = null;
@@ -58,28 +79,41 @@ var PdfViewer = ({ url, mode = "full", "aria-label": ariaLabel, className, onErr
58
79
  if (cancelled) return;
59
80
  const container = containerRef.current;
60
81
  const pagesHost = pagesRef.current;
82
+ const textHost = textRef.current;
61
83
  if (!container || !pagesHost) return;
62
84
  pagesHost.innerHTML = "";
85
+ if (textHost) textHost.innerHTML = "";
63
86
  loadingTask = pdfjs.getDocument({ url });
64
87
  pdfDoc = await loadingTask.promise;
65
88
  if (cancelled) return;
89
+ const includeTextLayer = mode === "full";
66
90
  const pageCount = mode === "thumbnail" ? 1 : pdfDoc.numPages;
67
91
  const fallbackWidth = mode === "thumbnail" ? 113 : 320;
68
92
  const targetWidth = container.clientWidth || fallbackWidth;
69
93
  for (let pageNumber = 1; pageNumber <= pageCount; pageNumber++) {
70
94
  if (cancelled) return;
71
95
  const page = await pdfDoc.getPage(pageNumber);
72
- const canvas = window.document.createElement("canvas");
96
+ const canvas = document.createElement("canvas");
73
97
  canvas.className = "IncodePdfViewerCanvas";
74
98
  pagesHost.appendChild(canvas);
75
99
  await renderPage(page, canvas, targetWidth);
100
+ if (includeTextLayer && textHost) {
101
+ const pageText = await extractPageText(page);
102
+ if (cancelled) return;
103
+ if (pageText) {
104
+ const pageTextEl = document.createElement("div");
105
+ pageTextEl.className = "IncodePdfViewerTextPage";
106
+ pageTextEl.textContent = pageText;
107
+ textHost.appendChild(pageTextEl);
108
+ }
109
+ }
76
110
  page.cleanup();
77
111
  }
78
112
  if (!cancelled) setStatus("ready");
79
113
  } catch (error) {
80
114
  if (cancelled) return;
81
115
  setStatus("error");
82
- onError?.(error);
116
+ onErrorRef.current?.(error);
83
117
  }
84
118
  })();
85
119
  return () => {
@@ -87,27 +121,30 @@ var PdfViewer = ({ url, mode = "full", "aria-label": ariaLabel, className, onErr
87
121
  loadingTask?.destroy();
88
122
  pdfDoc?.destroy();
89
123
  };
90
- }, [
91
- url,
92
- mode,
93
- onError
94
- ]);
124
+ }, [url, mode]);
95
125
  return /* @__PURE__ */ u("div", {
96
126
  ref: containerRef,
97
127
  class: cn("IncodePdfViewer", mode === "thumbnail" ? "IncodePdfViewerThumbnail" : "IncodePdfViewerFull", className),
98
- role: "img",
99
- "aria-label": ariaLabel,
100
128
  "aria-busy": status === "loading",
101
- children: [/* @__PURE__ */ u("div", {
102
- ref: pagesRef,
103
- class: "IncodePdfViewerPages"
104
- }), status === "loading" && /* @__PURE__ */ u("div", {
105
- class: "IncodePdfViewerStatus",
106
- children: /* @__PURE__ */ u(Spinner, {
107
- size: "small",
108
- fullScreen: false
129
+ children: [
130
+ /* @__PURE__ */ u("div", {
131
+ ref: pagesRef,
132
+ class: "IncodePdfViewerPages",
133
+ role: "img",
134
+ "aria-label": ariaLabel
135
+ }),
136
+ /* @__PURE__ */ u("div", {
137
+ ref: textRef,
138
+ class: "IncodePdfViewerTextLayer"
139
+ }),
140
+ status === "loading" && /* @__PURE__ */ u("div", {
141
+ class: "IncodePdfViewerStatus",
142
+ children: /* @__PURE__ */ u(Spinner, {
143
+ size: "small",
144
+ fullScreen: false
145
+ })
109
146
  })
110
- })]
147
+ ]
111
148
  });
112
149
  };
113
150
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { v as u } from "../vendor-preact-DThS2ZQ_.js";
2
- import { n as ElectronicSignature } from "../electronic-signature-h1sAGg7l.js";
2
+ import { n as ElectronicSignature } from "../electronic-signature-BZ5w_RAk.js";
3
3
  import { t as registerIncodeModuleElement } from "../incodeModule-M8DszCee.js";
4
4
  //#region src/modules/qe-signature/qe-signature.tsx
5
5
  var QeSignature = ({ config, onFinish, onError }) => {
@@ -1220,6 +1220,22 @@
1220
1220
  --redirect-phone-input-country-code-width: 130px;
1221
1221
  --redirect-qr-wrapper-border-radius: 21px;
1222
1222
 
1223
+ /* electronic signature */
1224
+ --electronic-signature-title-max-w: 600px;
1225
+ --electronic-signature-illustration-max-w: min(
1226
+ 100cqw,
1227
+ calc(100cqh - 32px),
1228
+ 297px
1229
+ );
1230
+ --electronic-signature-illustration-svg-w: 80%;
1231
+ --electronic-signature-illustration-svg-shift: 3%;
1232
+ --electronic-signature-doc-preview-max-h: 150px;
1233
+ --electronic-signature-doc-preview-radius: 6px;
1234
+ --electronic-signature-doc-row-h: 56px;
1235
+ --electronic-signature-doc-view-header-offset: calc(
1236
+ -1 * var(--page-header-height)
1237
+ );
1238
+
1223
1239
  /* digital ID upload */
1224
1240
  --digital-id-preview-w: 156px;
1225
1241
  --digital-id-preview-h: 221px;
@@ -1220,6 +1220,22 @@
1220
1220
  --redirect-phone-input-country-code-width: 130px;
1221
1221
  --redirect-qr-wrapper-border-radius: 21px;
1222
1222
 
1223
+ /* electronic signature */
1224
+ --electronic-signature-title-max-w: 600px;
1225
+ --electronic-signature-illustration-max-w: min(
1226
+ 100cqw,
1227
+ calc(100cqh - 32px),
1228
+ 297px
1229
+ );
1230
+ --electronic-signature-illustration-svg-w: 80%;
1231
+ --electronic-signature-illustration-svg-shift: 3%;
1232
+ --electronic-signature-doc-preview-max-h: 150px;
1233
+ --electronic-signature-doc-preview-radius: 6px;
1234
+ --electronic-signature-doc-row-h: 56px;
1235
+ --electronic-signature-doc-view-header-offset: calc(
1236
+ -1 * var(--page-header-height)
1237
+ );
1238
+
1223
1239
  /* digital ID upload */
1224
1240
  --digital-id-preview-w: 156px;
1225
1241
  --digital-id-preview-h: 221px;
@@ -296,8 +296,8 @@ var LAZY_UI_MODULES = {
296
296
  GEOLOCATION: () => import("./geolocation/geolocation.es.js").then((m) => m.Geolocation),
297
297
  EXTERNAL_VERIFICATION: () => import("./ekycModule-BIbj7hr1.js").then((m) => m.EkycModule),
298
298
  EKYB: () => import("./ekybModule-UEW1CfUF.js").then((m) => m.EkybModule),
299
- DOCUMENT_CAPTURE: () => import("./documentCapture-BGsf51is.js").then((m) => m.DocumentCapture),
300
- ADDRESS: () => import("./documentCapture-BGsf51is.js").then((m) => m.DocumentCapture),
299
+ DOCUMENT_CAPTURE: () => import("./documentCapture-CIo4u9dy.js").then((m) => m.DocumentCapture),
300
+ ADDRESS: () => import("./documentCapture-CIo4u9dy.js").then((m) => m.DocumentCapture),
301
301
  COMBINED_CONSENT: () => import("./consent/consent.es.js").then((m) => m.Consent),
302
302
  MANDATORY_CONSENT: () => import("./mandatoryConsent-DOQ0DKgM.js").then((m) => m.MandatoryConsent),
303
303
  ML_CONSENT: () => import("./mandatoryConsent-DOQ0DKgM.js").then((m) => m.MandatoryConsent),
@@ -7,7 +7,7 @@ import { t as Page } from "../page-DidH_RkX.js";
7
7
  import { t as TransitionSpinner } from "../transitionSpinner-4rPkt-KM.js";
8
8
  import { t as AutoFocusTitle } from "../autoFocusTitle-CuRu2lPg.js";
9
9
  import { t as registerIncodeModuleElement } from "../incodeModule-M8DszCee.js";
10
- 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 fetchAndApplyTheme, y as TerminalErrorPage } from "../useModuleLoader-DzErWZma.js";
10
+ 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 fetchAndApplyTheme, y as TerminalErrorPage } from "../useModuleLoader-D2dAsd4A.js";
11
11
  import { resolveWasmConfig, upgradeToWasmHttpClient, warmupWasm } from "@incodetech/core/wasm";
12
12
  import { getDeviceClass } from "@incodetech/core/device";
13
13
  import { classifyScoreStatus } from "@incodetech/core/flow";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@incodetech/web",
3
- "version": "0.0.0-dev-20260625-138639f4",
3
+ "version": "0.0.0-dev-20260626-da30041d",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/IncodeTechnologies/incode-web-sdk.git"
@@ -264,7 +264,7 @@
264
264
  "qrcode": "^1.5.4",
265
265
  "signature_pad": "^5.1.3",
266
266
  "tailwindcss": "^4.1.17",
267
- "@incodetech/core": "0.0.0-dev-20260625-138639f4"
267
+ "@incodetech/core": "0.0.0-dev-20260626-da30041d"
268
268
  },
269
269
  "devDependencies": {
270
270
  "@microsoft/api-extractor": "^7.53.3",
@@ -1,2 +0,0 @@
1
- import { t as DocumentCapture } from "./documentCapture-BvC0ik8G.js";
2
- export { DocumentCapture };