@incodetech/web 0.0.0-dev-20260928-d24f59d8 → 0.0.0-dev-20260928-d449de76
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.
- package/dist/base.css +41 -1
- package/dist/document-capture/document-capture.es.js +1 -1
- package/dist/{documentCapture-CaX3Jpmq.js → documentCapture-CEBwwnVZ.js} +1 -1
- package/dist/documentCapture-Dh3phhOf.js +2 -0
- package/dist/ekyc/ekyc.es.js +1 -1
- package/dist/ekyc/styles.css +1 -1
- package/dist/ekyc/styles.css.js +1 -1
- package/dist/ekycModule-CiDUWz-q.js +2 -0
- package/dist/{ekycModule-szfkUWtN.js → ekycModule-LPocoxh5.js} +31 -0
- package/dist/extensibility.es.js +2 -2
- package/dist/{flipAnimation-CkquBkNA.js → flipAnimation-C3o9NjGW.js} +71 -42
- package/dist/flow/flow.es.js +1 -1
- package/dist/flow/styles.css +30 -1
- package/dist/id/id.es.js +2 -2
- package/dist/id/styles.css +29 -0
- package/dist/id/styles.css.js +1 -1
- package/dist/{resolveApiKey-D7KeErCo.js → resolveApiKey-CoAgpRM9.js} +3 -3
- package/dist/types/extensibility.d.ts +6 -0
- package/dist/{useCaptureHelpButton-Cba1DODg.js → useCaptureHelpButton-BoUNa8-b.js} +6 -3
- package/dist/workflow/styles.css +30 -1
- package/dist/workflow/workflow.es.js +1 -1
- package/package.json +2 -2
- package/dist/documentCapture-CbmHY_9J.js +0 -2
- package/dist/ekycModule-DMHPh6n8.js +0 -2
package/dist/base.css
CHANGED
|
@@ -5661,16 +5661,24 @@
|
|
|
5661
5661
|
}
|
|
5662
5662
|
|
|
5663
5663
|
.IncodeCameraFrame .IncodeCaptureCounter {
|
|
5664
|
+
display: grid;
|
|
5665
|
+
}
|
|
5666
|
+
|
|
5667
|
+
.IncodeCameraFrame .IncodeCaptureCounterDigit {
|
|
5664
5668
|
border-radius: var(--radius-medium, var(--border-radius-medium));
|
|
5665
5669
|
background-color: var(--color-countdown-surface-default, var(--countdown-surface-default));
|
|
5666
5670
|
padding-inline: var(--spacing-32, var(--spacing-32, 32px));
|
|
5667
5671
|
padding-block: var(--spacing-20, var(--spacing-20, 20px));
|
|
5672
|
+
text-align: center;
|
|
5668
5673
|
font-family: var(--typography-display-family);
|
|
5669
5674
|
font-size: var(--typography-display-d2-size);
|
|
5670
5675
|
font-weight: var(--typography-display-d2-weight);
|
|
5671
5676
|
line-height: var(--typography-display-d2-line-height);
|
|
5672
5677
|
letter-spacing: var(--typography-display-d2-letter-spacing);
|
|
5673
5678
|
color: var(--color-countdown-text-default, var(--countdown-text-default));
|
|
5679
|
+
opacity: 0;
|
|
5680
|
+
animation: incodeCaptureCounterDigit var(--capture-countdown-step) step-end calc(var(--capture-countdown-step) * var(--capture-countdown-index)) forwards;
|
|
5681
|
+
grid-area: 1 / 1;
|
|
5674
5682
|
}
|
|
5675
5683
|
|
|
5676
5684
|
.IncodeCameraFrame .IncodeCaptureResultImage {
|
|
@@ -5697,7 +5705,7 @@
|
|
|
5697
5705
|
z-index: 20;
|
|
5698
5706
|
background-color: var(--surface-neutral-0-static);
|
|
5699
5707
|
box-shadow: var(--camera-frame-capture-result-flash-shadow);
|
|
5700
|
-
animation: incodeCaptureResultFlash var(--id-capture-result-flash-duration) ease-out
|
|
5708
|
+
animation: incodeCaptureResultFlash var(--id-capture-result-flash-duration) ease-out var(--capture-result-flash-delay, 0s) both;
|
|
5701
5709
|
position: absolute;
|
|
5702
5710
|
overflow: hidden;
|
|
5703
5711
|
}
|
|
@@ -5718,6 +5726,16 @@
|
|
|
5718
5726
|
}
|
|
5719
5727
|
}
|
|
5720
5728
|
|
|
5729
|
+
@keyframes incodeCaptureCounterDigit {
|
|
5730
|
+
from {
|
|
5731
|
+
opacity: 1;
|
|
5732
|
+
}
|
|
5733
|
+
|
|
5734
|
+
to {
|
|
5735
|
+
opacity: 0;
|
|
5736
|
+
}
|
|
5737
|
+
}
|
|
5738
|
+
|
|
5721
5739
|
@keyframes incodeCaptureResultFlash {
|
|
5722
5740
|
0% {
|
|
5723
5741
|
opacity: 0;
|
|
@@ -5879,6 +5897,7 @@
|
|
|
5879
5897
|
width: var(--progress-bar-width);
|
|
5880
5898
|
border-radius: var(--radius-x-small, var(--border-radius-x-small));
|
|
5881
5899
|
background-color: var(--color-surface-neutral-100, var(--surface-neutral-100));
|
|
5900
|
+
position: relative;
|
|
5882
5901
|
overflow: hidden;
|
|
5883
5902
|
}
|
|
5884
5903
|
|
|
@@ -5895,6 +5914,27 @@
|
|
|
5895
5914
|
transition-timing-function: var(--ease-in-out, cubic-bezier(.4, 0, .2, 1));
|
|
5896
5915
|
}
|
|
5897
5916
|
|
|
5917
|
+
.IncodeProgressBar .IncodeProgressBarSimulated {
|
|
5918
|
+
inset: var(--spacing-0, var(--spacing-none, 0px));
|
|
5919
|
+
border-radius: var(--radius-x-small, var(--border-radius-x-small));
|
|
5920
|
+
background-color: var(--color-icon-status-positive, var(--icon-status-positive));
|
|
5921
|
+
animation: incodeProgressBarSimulated 5s ease-out var(--progress-bar-simulated-delay, 0s) both;
|
|
5922
|
+
position: absolute;
|
|
5923
|
+
transform: translateX(-100%);
|
|
5924
|
+
}
|
|
5925
|
+
|
|
5926
|
+
@media (prefers-reduced-motion: reduce) {
|
|
5927
|
+
.IncodeProgressBar .IncodeProgressBarSimulated {
|
|
5928
|
+
animation: none;
|
|
5929
|
+
}
|
|
5930
|
+
}
|
|
5931
|
+
|
|
5932
|
+
@keyframes incodeProgressBarSimulated {
|
|
5933
|
+
to {
|
|
5934
|
+
transform: translateX(-95%);
|
|
5935
|
+
}
|
|
5936
|
+
}
|
|
5937
|
+
|
|
5898
5938
|
.IncodeProgressBarLabel {
|
|
5899
5939
|
text-align: center;
|
|
5900
5940
|
font-family: var(--typography-headline-family);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as DocumentCapture } from "../documentCapture-
|
|
1
|
+
import { t as DocumentCapture } from "../documentCapture-CEBwwnVZ.js";
|
|
2
2
|
export { DocumentCapture };
|
|
@@ -7,7 +7,7 @@ import { a as LockIcon, r as SuccessIcon, s as FileIcon, v as CameraIcon, x as B
|
|
|
7
7
|
import { t as AutoFocusTitle } from "./autoFocusTitle-Mhw9ii46.js";
|
|
8
8
|
import { t as Modal } from "./modal-C4JMNno2.js";
|
|
9
9
|
import { t as ErrorContent } from "./errorContent-BQBCSo_U.js";
|
|
10
|
-
import { n as CaptureFooter, r as ProgressBar, t as useCaptureHelpButton } from "./useCaptureHelpButton-
|
|
10
|
+
import { n as CaptureFooter, r as ProgressBar, t as useCaptureHelpButton } from "./useCaptureHelpButton-BoUNa8-b.js";
|
|
11
11
|
import { t as BottomSheet } from "./bottomSheet-FRtF2m9j.js";
|
|
12
12
|
import { n as CameraFrame, t as CameraView } from "./cameraView-bsXpJ9g9.js";
|
|
13
13
|
import { n as CameraOverlay, t as CameraOverlayHeader } from "./cameraOverlayHeader-Cpzdt7gL.js";
|
package/dist/ekyc/ekyc.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as EkycModule } from "../ekycModule-
|
|
1
|
+
import { t as EkycModule } from "../ekycModule-LPocoxh5.js";
|
|
2
2
|
export { EkycModule };
|
package/dist/ekyc/styles.css
CHANGED
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
.IncodeEkycPage .IncodeEkycForm .IncodeInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDropdownComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDateInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePhoneInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeAddressAutocomplete {
|
|
37
|
+
.IncodeEkycPage .IncodeEkycForm .IncodeInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDropdownComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDateInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePhoneInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePasswordInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeAddressAutocomplete {
|
|
38
38
|
margin-inline: auto;
|
|
39
39
|
}
|
|
40
40
|
|
package/dist/ekyc/styles.css.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default "/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n.IncodeEkycPage {\n animation: fadeIn var(--motion-fade-in-duration, .7s) ease-out;\n margin-inline: auto;\n animation-fill-mode: both;\n}\n\n@media (min-width: 48rem) {\n .IncodeEkycPage .IncodePageInner {\n height: 100%;\n padding-inline: var(--spacing-0, var(--spacing-none, 0px));\n padding-block: var(--spacing-0, var(--spacing-none, 0px));\n }\n}\n\n.IncodeEkycPage .IncodeEkycSpinner {\n flex: 1;\n}\n\n.IncodeEkycPage .IncodeEkycForm {\n margin-top: var(--spacing-32, var(--spacing-32, 32px));\n gap: var(--spacing-16, var(--spacing-16, 16px));\n flex-direction: column;\n width: 100%;\n height: 100%;\n display: flex;\n}\n\n@media (min-width: 48rem) {\n .IncodeEkycPage .IncodeEkycForm {\n min-height: var(--spacing-0, var(--spacing-none, 0px));\n padding-bottom: var(--spacing-8, var(--spacing-8, 8px));\n overflow-y: auto;\n }\n}\n\n.IncodeEkycPage .IncodeEkycForm .IncodeInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDropdownComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDateInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePhoneInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeAddressAutocomplete {\n margin-inline: auto;\n}\n\n.IncodeEkycPage .IncodeEkycForm .IncodeFormField {\n margin-bottom: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeEkycPage .IncodeEkycSectionHeader {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h3-size);\n font-weight: var(--typography-headline-h3-weight);\n line-height: var(--typography-headline-h3-line-height);\n letter-spacing: var(--typography-headline-h3-letter-spacing);\n color: var(--color-input-text-label-default, var(--input-text-label-default));\n margin-inline: auto;\n margin-top: var(--spacing-16, var(--spacing-16, 16px));\n width: 100%;\n max-width: var(--incode-form-max-w);\n padding-block: var(--spacing-12, var(--spacing-12, 12px));\n}\n\n.IncodeEkycPage .IncodeEkycRadioGroup {\n width: 100%;\n max-width: var(--incode-form-max-w);\n margin-inline: auto;\n}\n\n.IncodeEkycPage .IncodeEkycFooter {\n margin-top: var(--spacing-24, var(--spacing-24, 24px));\n align-items: center;\n gap: var(--spacing-12, var(--spacing-12, 12px));\n flex-direction: column;\n display: flex;\n}\n\n@media (min-width: 48rem) {\n .IncodeEkycPage .IncodeEkycFooter {\n flex-shrink: 0;\n }\n}\n\n.IncodeEkycPage .IncodeEkycFooter .IncodeEkycSubmitError {\n margin-bottom: var(--spacing-12, var(--spacing-12, 12px));\n text-align: center;\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-input-text-helper-negative, var(--input-text-helper-negative));\n margin-top: 0;\n}\n\n.IncodeEkycPage .IncodeEkycFooter button {\n margin-bottom: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n@media (min-width: 48rem) {\n .IncodeEkycPage.IncodePageContainer {\n margin-top: var(--spacing-0, var(--spacing-none, 0px));\n height: 100%;\n max-height: none;\n }\n\n .IncodeEkycPage.IncodeEkycPageScrollable {\n max-width: var(--ekyb-scrollable-page);\n }\n\n .IncodeEkycPage .IncodePageContent {\n min-height: var(--spacing-0, var(--spacing-none, 0px));\n }\n}\n";
|
|
1
|
+
export default "/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n.IncodeEkycPage {\n animation: fadeIn var(--motion-fade-in-duration, .7s) ease-out;\n margin-inline: auto;\n animation-fill-mode: both;\n}\n\n@media (min-width: 48rem) {\n .IncodeEkycPage .IncodePageInner {\n height: 100%;\n padding-inline: var(--spacing-0, var(--spacing-none, 0px));\n padding-block: var(--spacing-0, var(--spacing-none, 0px));\n }\n}\n\n.IncodeEkycPage .IncodeEkycSpinner {\n flex: 1;\n}\n\n.IncodeEkycPage .IncodeEkycForm {\n margin-top: var(--spacing-32, var(--spacing-32, 32px));\n gap: var(--spacing-16, var(--spacing-16, 16px));\n flex-direction: column;\n width: 100%;\n height: 100%;\n display: flex;\n}\n\n@media (min-width: 48rem) {\n .IncodeEkycPage .IncodeEkycForm {\n min-height: var(--spacing-0, var(--spacing-none, 0px));\n padding-bottom: var(--spacing-8, var(--spacing-8, 8px));\n overflow-y: auto;\n }\n}\n\n.IncodeEkycPage .IncodeEkycForm .IncodeInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDropdownComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDateInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePhoneInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePasswordInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeAddressAutocomplete {\n margin-inline: auto;\n}\n\n.IncodeEkycPage .IncodeEkycForm .IncodeFormField {\n margin-bottom: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeEkycPage .IncodeEkycSectionHeader {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h3-size);\n font-weight: var(--typography-headline-h3-weight);\n line-height: var(--typography-headline-h3-line-height);\n letter-spacing: var(--typography-headline-h3-letter-spacing);\n color: var(--color-input-text-label-default, var(--input-text-label-default));\n margin-inline: auto;\n margin-top: var(--spacing-16, var(--spacing-16, 16px));\n width: 100%;\n max-width: var(--incode-form-max-w);\n padding-block: var(--spacing-12, var(--spacing-12, 12px));\n}\n\n.IncodeEkycPage .IncodeEkycRadioGroup {\n width: 100%;\n max-width: var(--incode-form-max-w);\n margin-inline: auto;\n}\n\n.IncodeEkycPage .IncodeEkycFooter {\n margin-top: var(--spacing-24, var(--spacing-24, 24px));\n align-items: center;\n gap: var(--spacing-12, var(--spacing-12, 12px));\n flex-direction: column;\n display: flex;\n}\n\n@media (min-width: 48rem) {\n .IncodeEkycPage .IncodeEkycFooter {\n flex-shrink: 0;\n }\n}\n\n.IncodeEkycPage .IncodeEkycFooter .IncodeEkycSubmitError {\n margin-bottom: var(--spacing-12, var(--spacing-12, 12px));\n text-align: center;\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-input-text-helper-negative, var(--input-text-helper-negative));\n margin-top: 0;\n}\n\n.IncodeEkycPage .IncodeEkycFooter button {\n margin-bottom: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n@media (min-width: 48rem) {\n .IncodeEkycPage.IncodePageContainer {\n margin-top: var(--spacing-0, var(--spacing-none, 0px));\n height: 100%;\n max-height: none;\n }\n\n .IncodeEkycPage.IncodeEkycPageScrollable {\n max-width: var(--ekyb-scrollable-page);\n }\n\n .IncodeEkycPage .IncodePageContent {\n min-height: var(--spacing-0, var(--spacing-none, 0px));\n }\n}\n";
|
|
@@ -4,6 +4,7 @@ import { C as useManager, c as Page, i as withStandaloneModuleBootstrap, t as In
|
|
|
4
4
|
import { t as Spinner } from "./spinner-Gnctncvs.js";
|
|
5
5
|
import { x as Button } from "./icons-DrOzoEs-.js";
|
|
6
6
|
import { t as VerificationResult } from "./verificationResult-BiQ5T8yF.js";
|
|
7
|
+
import { t as PasswordInputComposed } from "./passwordInputComposed-BMTrYSW5.js";
|
|
7
8
|
import { n as translateError, t as FormField } from "./formField--i2tg0RO.js";
|
|
8
9
|
import { t as PhoneInputComposed } from "./phoneInputComposed-De-TAUKY.js";
|
|
9
10
|
import { t as DropdownComposed } from "./dropdownComposed--ujBqTic.js";
|
|
@@ -32,6 +33,12 @@ var EKYC_AUTOCOMPLETE_TOKENS = {
|
|
|
32
33
|
dateOfBirth: "bday"
|
|
33
34
|
};
|
|
34
35
|
var getEkycAutocomplete = (name) => EKYC_AUTOCOMPLETE_TOKENS[name];
|
|
36
|
+
/**
|
|
37
|
+
* Sensitive ID fields rendered as a masked input with a show/hide toggle,
|
|
38
|
+
* keyed by `fieldsCountry`.
|
|
39
|
+
*/
|
|
40
|
+
var EKYC_MASKED_FIELDS = { US: ["ssn"] };
|
|
41
|
+
var isMaskedEkycField = (name, country) => EKYC_MASKED_FIELDS[country]?.includes(name) ?? false;
|
|
35
42
|
var EkycContent = ({ config, manager: externalManager, onFinish }) => {
|
|
36
43
|
const { t } = useTranslation();
|
|
37
44
|
const [state, manager] = useManager(() => {
|
|
@@ -210,6 +217,30 @@ var EkycForm = ({ state, manager }) => {
|
|
|
210
217
|
onChange: (next) => manager.setField(field.name, next),
|
|
211
218
|
onBlur: () => manager.validateField(field.name)
|
|
212
219
|
})] }, field.name);
|
|
220
|
+
if (isMaskedEkycField(field.name, fieldsCountry)) return /* @__PURE__ */ u("div", { children: [sectionHeader, /* @__PURE__ */ u("div", {
|
|
221
|
+
className: "IncodeFormField",
|
|
222
|
+
children: /* @__PURE__ */ u(PasswordInputComposed, {
|
|
223
|
+
id: field.name,
|
|
224
|
+
name: field.name,
|
|
225
|
+
label: field.displayLabel ?? t(field.label),
|
|
226
|
+
value: fieldValue,
|
|
227
|
+
placeholder: field.placeholder ? t(field.placeholder, field.placeholderParams) : void 0,
|
|
228
|
+
inputMode: "numeric",
|
|
229
|
+
autoComplete: "off",
|
|
230
|
+
readOnly: isReadonly,
|
|
231
|
+
required: isFieldRequired,
|
|
232
|
+
maxLength: field.maxLength,
|
|
233
|
+
error: translateError$1(fieldError),
|
|
234
|
+
showPasswordAriaLabel: t("verification.labels.showSsn"),
|
|
235
|
+
hidePasswordAriaLabel: t("verification.labels.hideSsn"),
|
|
236
|
+
onInput: (e) => {
|
|
237
|
+
const target = e.target;
|
|
238
|
+
manager.setField(field.name, target.value);
|
|
239
|
+
},
|
|
240
|
+
onBlur: () => manager.validateField(field.name),
|
|
241
|
+
"data-testid": `form-field-${field.name}`
|
|
242
|
+
})
|
|
243
|
+
})] }, field.name);
|
|
213
244
|
return /* @__PURE__ */ u("div", {
|
|
214
245
|
ref: field.name === "postalCode" ? postalCodeFieldRef : void 0,
|
|
215
246
|
children: [sectionHeader, /* @__PURE__ */ u(FormField, {
|
package/dist/extensibility.es.js
CHANGED
|
@@ -10,7 +10,7 @@ import { t as Modal } from "./modal-C4JMNno2.js";
|
|
|
10
10
|
import { t as ErrorContent } from "./errorContent-BQBCSo_U.js";
|
|
11
11
|
import { t as VerificationResult } from "./verificationResult-BiQ5T8yF.js";
|
|
12
12
|
import { t as ConnectionError } from "./connectionError-BIjPwMt4.js";
|
|
13
|
-
import { n as CaptureFooter, r as ProgressBar } from "./useCaptureHelpButton-
|
|
13
|
+
import { n as CaptureFooter, r as ProgressBar } from "./useCaptureHelpButton-BoUNa8-b.js";
|
|
14
14
|
import { n as Input, t as InputComposed } from "./inputComposed-f6bDTL-D.js";
|
|
15
15
|
import { t as FieldLabelHint } from "./fieldLabelHint-CxjArYkQ.js";
|
|
16
16
|
import "./inputComposed-DYqjGYjm.js";
|
|
@@ -26,7 +26,7 @@ import { t as DateInputComposed } from "./dateInputComposed-BDX0Q6R3.js";
|
|
|
26
26
|
import "./dateInputComposed-BrEXfXcX.js";
|
|
27
27
|
import { n as RadioButtonComposed, t as RadioGroupComposed } from "./radioGroupComposed-BBfp4fC6.js";
|
|
28
28
|
import "./radioGroupComposed-DxAO8DHp.js";
|
|
29
|
-
import { b as VerificationOptionCard, c as IdExpired, i as Capture, l as IdError, n as Chooser, r as Tutorial, t as FlipAnimation, x as VerificationOptionCardList } from "./flipAnimation-
|
|
29
|
+
import { b as VerificationOptionCard, c as IdExpired, i as Capture, l as IdError, n as Chooser, r as Tutorial, t as FlipAnimation, x as VerificationOptionCardList } from "./flipAnimation-C3o9NjGW.js";
|
|
30
30
|
import { t as BottomSheet } from "./bottomSheet-FRtF2m9j.js";
|
|
31
31
|
import { n as CameraFrame, t as CameraView } from "./cameraView-bsXpJ9g9.js";
|
|
32
32
|
import { n as CameraOverlay, t as CameraOverlayHeader } from "./cameraOverlayHeader-Cpzdt7gL.js";
|
|
@@ -6,7 +6,7 @@ import { o as TypographyP, r as TypographyH3, t as Title } from "./typography-Cw
|
|
|
6
6
|
import { t as Spinner } from "./spinner-Gnctncvs.js";
|
|
7
7
|
import { a as LockIcon, f as ChevronRightIcon, t as SvgLightningIcon, x as Button } from "./icons-DrOzoEs-.js";
|
|
8
8
|
import { t as Modal } from "./modal-C4JMNno2.js";
|
|
9
|
-
import { n as CaptureFooter, r as ProgressBar, t as useCaptureHelpButton } from "./useCaptureHelpButton-
|
|
9
|
+
import { n as CaptureFooter, r as ProgressBar, t as useCaptureHelpButton } from "./useCaptureHelpButton-BoUNa8-b.js";
|
|
10
10
|
import { n as getCountryDisplayName, t as countryFlagEmoji } from "./countries-5e8kwG_m.js";
|
|
11
11
|
import { n as CameraFrame, t as CameraView } from "./cameraView-bsXpJ9g9.js";
|
|
12
12
|
import { n as CameraOverlay, t as CameraOverlayHeader } from "./cameraOverlayHeader-Cpzdt7gL.js";
|
|
@@ -369,10 +369,11 @@ var useCaptureResultPreview = (state) => {
|
|
|
369
369
|
* is deliberately still on screen.
|
|
370
370
|
*/
|
|
371
371
|
function getCaptureStageView(state, phase) {
|
|
372
|
-
|
|
372
|
+
const isCommitted = state.captureStatus === "capturing" || state.captureStatus === "uploading";
|
|
373
|
+
if (!state.previewImageUrl) return isCommitted ? "analyzing" : "live";
|
|
373
374
|
if (phase === "exiting") return "crossfade";
|
|
374
375
|
if (phase === "present") return "live";
|
|
375
|
-
return
|
|
376
|
+
return isCommitted ? "analyzing" : "live";
|
|
376
377
|
}
|
|
377
378
|
function getCaptureMode(state) {
|
|
378
379
|
return state.currentMode === "passport" ? "passport" : "id";
|
|
@@ -649,15 +650,16 @@ var CaptureFrame = ({ orientation, mode, state, children, className }) => {
|
|
|
649
650
|
};
|
|
650
651
|
//#endregion
|
|
651
652
|
//#region src/modules/id/processing/idProcessingLayout.tsx
|
|
652
|
-
var IdProcessingLayout = ({ imageUrl, orientation, mode, borderState, topContent, bottomContent, overlayContent, blurImage }) => {
|
|
653
|
+
var IdProcessingLayout = ({ imageUrl, orientation, mode, borderState, topContent, bottomContent, overlayContent, imagePending = false, blurImage }) => {
|
|
653
654
|
const { t } = useTranslation();
|
|
654
655
|
const frameMode = mode === "id" ? "front" : mode;
|
|
656
|
+
const hasFrame = Boolean(imageUrl) || imagePending;
|
|
655
657
|
return /* @__PURE__ */ u(Page, {
|
|
656
658
|
hideHeader: true,
|
|
657
659
|
hideFooterBranding: true,
|
|
658
660
|
className: "IncodeIdProcessingPage",
|
|
659
661
|
children: /* @__PURE__ */ u("div", {
|
|
660
|
-
class: cn("IncodeIdProcessingLayout", !
|
|
662
|
+
class: cn("IncodeIdProcessingLayout", !hasFrame && "IncodeIdProcessingLayoutNoImage"),
|
|
661
663
|
children: /* @__PURE__ */ u("div", {
|
|
662
664
|
class: "IncodeIdProcessingLayoutContent",
|
|
663
665
|
children: [
|
|
@@ -665,11 +667,11 @@ var IdProcessingLayout = ({ imageUrl, orientation, mode, borderState, topContent
|
|
|
665
667
|
class: "IncodeIdProcessingTopArea",
|
|
666
668
|
children: topContent
|
|
667
669
|
}),
|
|
668
|
-
|
|
670
|
+
hasFrame && /* @__PURE__ */ u(CaptureFrame, {
|
|
669
671
|
orientation,
|
|
670
672
|
mode: frameMode,
|
|
671
673
|
state: borderState,
|
|
672
|
-
children: [/* @__PURE__ */ u("img", {
|
|
674
|
+
children: imageUrl ? /* @__PURE__ */ u(k, { children: [/* @__PURE__ */ u("img", {
|
|
673
675
|
src: imageUrl,
|
|
674
676
|
alt: "",
|
|
675
677
|
"aria-hidden": "true",
|
|
@@ -678,11 +680,14 @@ var IdProcessingLayout = ({ imageUrl, orientation, mode, borderState, topContent
|
|
|
678
680
|
class: "IncodeIdProcessingOverlay",
|
|
679
681
|
"aria-hidden": "true",
|
|
680
682
|
children: overlayContent
|
|
681
|
-
})]
|
|
683
|
+
})] }) : /* @__PURE__ */ u("div", {
|
|
684
|
+
class: "IncodeIdProcessingPlaceholder",
|
|
685
|
+
"aria-hidden": "true"
|
|
686
|
+
})
|
|
682
687
|
}),
|
|
683
688
|
/* @__PURE__ */ u("div", {
|
|
684
689
|
class: "IncodeIdProcessingBottomArea",
|
|
685
|
-
children: [
|
|
690
|
+
children: [hasFrame && /* @__PURE__ */ u("div", {
|
|
686
691
|
class: "IncodeCaptureEncryptionLabel",
|
|
687
692
|
children: [/* @__PURE__ */ u(LockIcon, { className: "IncodeCaptureEncryptionIcon" }), /* @__PURE__ */ u("span", { children: t("idv2.capture.allDataIsEncrypted") })]
|
|
688
693
|
}), bottomContent]
|
|
@@ -720,8 +725,9 @@ function getAnalyzingTitleKey(resultPreviewEnabled, progress) {
|
|
|
720
725
|
}
|
|
721
726
|
//#endregion
|
|
722
727
|
//#region src/modules/id/processing/idAnalyzing.tsx
|
|
723
|
-
var IdAnalyzing = ({ imageUrl, progress, orientation, mode, blurImage, autoFocusTitle = true, resultPreviewEnabled = false }) => {
|
|
728
|
+
var IdAnalyzing = ({ imageUrl, progress, orientation, mode, blurImage, autoFocusTitle = true, resultPreviewEnabled = false, simulatedProgressDelayMs = 0 }) => {
|
|
724
729
|
const { t } = useTranslation();
|
|
730
|
+
const [simulatedDelayMs] = d(simulatedProgressDelayMs);
|
|
725
731
|
const titleRef = A(null);
|
|
726
732
|
const isHorizontal = orientation !== "vertical";
|
|
727
733
|
const titleKey = getAnalyzingTitleKey(resultPreviewEnabled, progress);
|
|
@@ -737,9 +743,11 @@ var IdAnalyzing = ({ imageUrl, progress, orientation, mode, blurImage, autoFocus
|
|
|
737
743
|
blurImage,
|
|
738
744
|
topContent: /* @__PURE__ */ u("div", {
|
|
739
745
|
class: "IncodeAnalyzingContent",
|
|
746
|
+
style: { "--progress-bar-simulated-delay": `${simulatedDelayMs}ms` },
|
|
740
747
|
children: [/* @__PURE__ */ u(ProgressBar, {
|
|
741
748
|
progress,
|
|
742
|
-
labelledById: "analyzing-title"
|
|
749
|
+
labelledById: "analyzing-title",
|
|
750
|
+
simulated: true
|
|
743
751
|
}), /* @__PURE__ */ u(Title, {
|
|
744
752
|
ref: titleRef,
|
|
745
753
|
id: "analyzing-title",
|
|
@@ -758,7 +766,8 @@ var IdAnalyzing = ({ imageUrl, progress, orientation, mode, blurImage, autoFocus
|
|
|
758
766
|
loop: true,
|
|
759
767
|
autoStop: true,
|
|
760
768
|
class: "IncodeAnalyzingLottie"
|
|
761
|
-
})
|
|
769
|
+
}),
|
|
770
|
+
imagePending: !imageUrl
|
|
762
771
|
});
|
|
763
772
|
};
|
|
764
773
|
//#endregion
|
|
@@ -1176,6 +1185,24 @@ var IdNoAttempts = ({ manager }) => {
|
|
|
1176
1185
|
});
|
|
1177
1186
|
};
|
|
1178
1187
|
//#endregion
|
|
1188
|
+
//#region src/modules/id/capture/captureResultFlash.tsx
|
|
1189
|
+
var FLASH_ANIMATION_NAME = "incodeCaptureResultFlash";
|
|
1190
|
+
/**
|
|
1191
|
+
* One-shot white "shutter" flash: on the `uxp_idc_exp05_show_result`
|
|
1192
|
+
* treatment's result preview, and at the end of the countdown. Plays on mount
|
|
1193
|
+
* (after `delayMs`) and reports `animationend` so its parent can remove and
|
|
1194
|
+
* re-arm it for the next capture.
|
|
1195
|
+
*/
|
|
1196
|
+
var CaptureResultFlash = ({ delayMs, onAnimationEnd }) => /* @__PURE__ */ u("div", {
|
|
1197
|
+
class: "IncodeCaptureResultFlash",
|
|
1198
|
+
"aria-hidden": "true",
|
|
1199
|
+
style: delayMs ? { "--capture-result-flash-delay": `${delayMs}ms` } : void 0,
|
|
1200
|
+
onAnimationEnd: (event) => {
|
|
1201
|
+
if (event.animationName !== FLASH_ANIMATION_NAME) return;
|
|
1202
|
+
onAnimationEnd?.();
|
|
1203
|
+
}
|
|
1204
|
+
});
|
|
1205
|
+
//#endregion
|
|
1179
1206
|
//#region src/modules/id/capture/idHint.tsx
|
|
1180
1207
|
var FrontHorizontalHintSvg = z(() => import("./front-horizontal-hint-BT8qdBtW.js"));
|
|
1181
1208
|
var FrontVerticalHintSvg = z(() => import("./front-vertical-hint-G1GpsGS2.js"));
|
|
@@ -1244,31 +1271,21 @@ var IdHint = ({ mode, orientation, onAnimationEnd }) => {
|
|
|
1244
1271
|
};
|
|
1245
1272
|
//#endregion
|
|
1246
1273
|
//#region src/modules/id/capture/captureLiveFrameContent.tsx
|
|
1247
|
-
var CaptureLiveFrameContent = ({
|
|
1274
|
+
var CaptureLiveFrameContent = ({ countdownStart, countdownStepMs, showIdHint, mode, orientation, onIdHintAnimationEnd }) => /* @__PURE__ */ u(k, { children: [countdownStart > 0 && /* @__PURE__ */ u(k, { children: [/* @__PURE__ */ u("div", {
|
|
1248
1275
|
class: "IncodeCaptureCounter",
|
|
1249
|
-
|
|
1250
|
-
|
|
1276
|
+
"aria-hidden": "true",
|
|
1277
|
+
style: { "--capture-countdown-step": `${countdownStepMs}ms` },
|
|
1278
|
+
children: Array.from({ length: countdownStart }, (_, index) => /* @__PURE__ */ u("span", {
|
|
1279
|
+
class: "IncodeCaptureCounterDigit",
|
|
1280
|
+
style: { "--capture-countdown-index": index },
|
|
1281
|
+
children: countdownStart - index
|
|
1282
|
+
}, index))
|
|
1283
|
+
}), /* @__PURE__ */ u(CaptureResultFlash, { delayMs: countdownStart * countdownStepMs })] }), showIdHint && /* @__PURE__ */ u(IdHint, {
|
|
1251
1284
|
mode,
|
|
1252
1285
|
orientation: orientation ?? "horizontal",
|
|
1253
1286
|
onAnimationEnd: onIdHintAnimationEnd
|
|
1254
1287
|
})] });
|
|
1255
1288
|
//#endregion
|
|
1256
|
-
//#region src/modules/id/capture/captureResultFlash.tsx
|
|
1257
|
-
var FLASH_ANIMATION_NAME = "incodeCaptureResultFlash";
|
|
1258
|
-
/**
|
|
1259
|
-
* `uxp_idc_exp05_show_result` treatment: one-shot white "shutter" flash.
|
|
1260
|
-
* Plays on mount and reports `animationend` so its parent can remove and
|
|
1261
|
-
* re-arm it for the next capture.
|
|
1262
|
-
*/
|
|
1263
|
-
var CaptureResultFlash = ({ onAnimationEnd }) => /* @__PURE__ */ u("div", {
|
|
1264
|
-
class: "IncodeCaptureResultFlash",
|
|
1265
|
-
"aria-hidden": "true",
|
|
1266
|
-
onAnimationEnd: (event) => {
|
|
1267
|
-
if (event.animationName !== FLASH_ANIMATION_NAME) return;
|
|
1268
|
-
onAnimationEnd?.();
|
|
1269
|
-
}
|
|
1270
|
-
});
|
|
1271
|
-
//#endregion
|
|
1272
1289
|
//#region src/modules/id/capture/captureResultPreview.tsx
|
|
1273
1290
|
var CaptureResultPreview = ({ resultPreview, onFlashAnimationEnd }) => {
|
|
1274
1291
|
const [hasFlashed, setHasFlashed] = d(false);
|
|
@@ -1350,7 +1367,7 @@ function useCaptureAutoFocus() {
|
|
|
1350
1367
|
//#endregion
|
|
1351
1368
|
//#region src/modules/id/capture/captureOverlay.tsx
|
|
1352
1369
|
var MANUAL_CAPTURE_TOOLTIP_EXIT_ANIMATIONS = ["manualCaptureTooltipExit", "manualCaptureTooltipExitAutoDismiss"];
|
|
1353
|
-
var CaptureOverlay = D(({ mode, orientation, detectionStatus, counterValue, isCapturing, showManualCapture, onCapture, onOpenHelp, helpButtonRef, captureButtonRef, hideFooterActions, resultPreview, manualTooltipUx }, ref) => {
|
|
1370
|
+
var CaptureOverlay = D(({ mode, orientation, detectionStatus, counterValue, countdownStart, countdownStepMs, isCapturing, showManualCapture, onCapture, onOpenHelp, helpButtonRef, captureButtonRef, hideFooterActions, resultPreview, manualTooltipUx }, ref) => {
|
|
1354
1371
|
const { t } = useTranslation();
|
|
1355
1372
|
const autoFocus = useCaptureAutoFocus();
|
|
1356
1373
|
usePreloadCaptureAnimations();
|
|
@@ -1450,8 +1467,8 @@ var CaptureOverlay = D(({ mode, orientation, detectionStatus, counterValue, isCa
|
|
|
1450
1467
|
frameState,
|
|
1451
1468
|
className: cn(isPassport && "IncodeCaptureFramePassport"),
|
|
1452
1469
|
children: resultPreview ? /* @__PURE__ */ u(CaptureResultPreview, { resultPreview }) : /* @__PURE__ */ u(CaptureLiveFrameContent, {
|
|
1453
|
-
|
|
1454
|
-
|
|
1470
|
+
countdownStart,
|
|
1471
|
+
countdownStepMs,
|
|
1455
1472
|
showIdHint,
|
|
1456
1473
|
mode,
|
|
1457
1474
|
orientation,
|
|
@@ -1493,8 +1510,13 @@ var Capture = ({ manager, state }) => {
|
|
|
1493
1510
|
const stageView = getCaptureStageView(state, resultPreviewPhase);
|
|
1494
1511
|
const isCrossfadeStage = stageView === "crossfade";
|
|
1495
1512
|
const isLiveStage = stageView === "live";
|
|
1513
|
+
const isCapturing = !isResultPreview && (state.captureStatus === "capturing" || state.detectionStatus === "capturing");
|
|
1514
|
+
const countdownStartRef = A(0);
|
|
1515
|
+
if (!isCapturing) countdownStartRef.current = 0;
|
|
1516
|
+
else if (countdownStartRef.current === 0) countdownStartRef.current = state.counterValue;
|
|
1517
|
+
const countdownStart = countdownStartRef.current;
|
|
1518
|
+
const countdownEndMs = countdownStart * state.countdownStepMs;
|
|
1496
1519
|
if (state.captureStatus === "holdOn") return /* @__PURE__ */ u(TransitionSpinner, { subtitleKey: "idv2.capture.holdOn.subtitle" });
|
|
1497
|
-
if ((state.captureStatus === "capturing" || state.captureStatus === "uploading") && !state.previewImageUrl) return /* @__PURE__ */ u(TransitionSpinner, { subtitleKey: "idv2.capture.holdOn.subtitle" });
|
|
1498
1520
|
if (state.captureStatus === "success" && (state.previewImageUrl || state.barcodeFastPathCaptured)) return /* @__PURE__ */ u(IdSuccess, {
|
|
1499
1521
|
manager,
|
|
1500
1522
|
state,
|
|
@@ -1505,18 +1527,22 @@ var Capture = ({ manager, state }) => {
|
|
|
1505
1527
|
state,
|
|
1506
1528
|
blurImage: state.ageAssurance
|
|
1507
1529
|
});
|
|
1530
|
+
const isAnalyzingPending = isLiveStage && countdownStart > 0;
|
|
1531
|
+
const isAnalyzingHidden = isCrossfadeStage || isAnalyzingPending;
|
|
1508
1532
|
let idAnalyzingSlot = null;
|
|
1509
|
-
if (
|
|
1510
|
-
class: cn("IncodeIdCaptureStageAnalyzing", isCrossfadeStage && "IncodeIdCaptureStageResultEntering"),
|
|
1511
|
-
"
|
|
1512
|
-
|
|
1533
|
+
if (!isLiveStage || isAnalyzingPending) idAnalyzingSlot = /* @__PURE__ */ u("div", {
|
|
1534
|
+
class: cn("IncodeIdCaptureStageAnalyzing", isCrossfadeStage && "IncodeIdCaptureStageResultEntering", isAnalyzingPending && "IncodeIdCaptureStageAnalyzingPending"),
|
|
1535
|
+
style: isAnalyzingPending ? { "--capture-countdown-end": `${countdownEndMs}ms` } : void 0,
|
|
1536
|
+
"aria-hidden": isAnalyzingHidden || void 0,
|
|
1537
|
+
inert: isAnalyzingHidden || void 0,
|
|
1513
1538
|
children: /* @__PURE__ */ u(IdAnalyzing, {
|
|
1514
1539
|
imageUrl: state.previewImageUrl,
|
|
1515
1540
|
progress: state.uploadProgress ?? 0,
|
|
1516
1541
|
orientation: state.orientation,
|
|
1517
1542
|
mode: getCaptureMode(state),
|
|
1518
1543
|
blurImage: state.ageAssurance,
|
|
1519
|
-
autoFocusTitle: !
|
|
1544
|
+
autoFocusTitle: !isAnalyzingHidden,
|
|
1545
|
+
simulatedProgressDelayMs: countdownEndMs,
|
|
1520
1546
|
resultPreviewEnabled
|
|
1521
1547
|
})
|
|
1522
1548
|
}, "analyzing");
|
|
@@ -1527,6 +1553,8 @@ var Capture = ({ manager, state }) => {
|
|
|
1527
1553
|
children: /* @__PURE__ */ u(CaptureView, {
|
|
1528
1554
|
manager,
|
|
1529
1555
|
state,
|
|
1556
|
+
isCapturing,
|
|
1557
|
+
countdownStart,
|
|
1530
1558
|
isResultPreview,
|
|
1531
1559
|
resultPreviewImageUrl,
|
|
1532
1560
|
hideFooterActions: !isLiveStage,
|
|
@@ -1538,7 +1566,7 @@ var Capture = ({ manager, state }) => {
|
|
|
1538
1566
|
children: [idAnalyzingSlot, captureViewSlot]
|
|
1539
1567
|
});
|
|
1540
1568
|
};
|
|
1541
|
-
var CaptureView = ({ manager, state, isResultPreview, resultPreviewImageUrl, hideFooterActions, manualTooltipUx }) => {
|
|
1569
|
+
var CaptureView = ({ manager, state, isCapturing, countdownStart, isResultPreview, resultPreviewImageUrl, hideFooterActions, manualTooltipUx }) => {
|
|
1542
1570
|
const frameRef = A(null);
|
|
1543
1571
|
const helpButtonRef = A(null);
|
|
1544
1572
|
const captureButtonRef = A(null);
|
|
@@ -1557,7 +1585,6 @@ var CaptureView = ({ manager, state, isResultPreview, resultPreviewImageUrl, hid
|
|
|
1557
1585
|
}, [manager]);
|
|
1558
1586
|
useEventListener("resize", reportFrame);
|
|
1559
1587
|
useResizeObserver(frameRef, reportFrame);
|
|
1560
|
-
const isCapturing = !isResultPreview && (state.captureStatus === "capturing" || state.detectionStatus === "capturing");
|
|
1561
1588
|
const showManualCapture = isManualCaptureShown(state);
|
|
1562
1589
|
const resultPreview = isResultPreview && resultPreviewImageUrl ? {
|
|
1563
1590
|
imageUrl: resultPreviewImageUrl,
|
|
@@ -1597,6 +1624,8 @@ var CaptureView = ({ manager, state, isResultPreview, resultPreviewImageUrl, hid
|
|
|
1597
1624
|
orientation: state.orientation,
|
|
1598
1625
|
detectionStatus: state.detectionStatus,
|
|
1599
1626
|
counterValue: state.counterValue,
|
|
1627
|
+
countdownStart,
|
|
1628
|
+
countdownStepMs: state.countdownStepMs,
|
|
1600
1629
|
isCapturing,
|
|
1601
1630
|
showManualCapture,
|
|
1602
1631
|
onCapture: handleCapture,
|
package/dist/flow/flow.es.js
CHANGED
|
@@ -4,7 +4,7 @@ import { C as useManager, a as ResolvedConfigProvider, d as TransitionSpinner, s
|
|
|
4
4
|
import { b as ErrorIcon } from "../icons-DrOzoEs-.js";
|
|
5
5
|
import { t as StatusPage } from "../statusPage-D9r5USJx.js";
|
|
6
6
|
import { t as registerIncodeModuleElement } from "../incodeModule-CODDnk9s.js";
|
|
7
|
-
import { a as LAZY_UI_MODULES, c as initializeFlowManager, f as warmupWasmIfNeeded, i as HEADLESS_FLOW_MODULE_KEYS, l as preloadFirstModule, m as resolveSessionLanguage, n as extractIncodeStatus, o as createFlowManager, r as UnsupportedModule, s as fetchTheme, t as resolveApiKey, u as preloadHomeScreen } from "../resolveApiKey-
|
|
7
|
+
import { a as LAZY_UI_MODULES, c as initializeFlowManager, f as warmupWasmIfNeeded, i as HEADLESS_FLOW_MODULE_KEYS, l as preloadFirstModule, m as resolveSessionLanguage, n as extractIncodeStatus, o as createFlowManager, r as UnsupportedModule, s as fetchTheme, t as resolveApiKey, u as preloadHomeScreen } from "../resolveApiKey-CoAgpRM9.js";
|
|
8
8
|
import { i as usePrefetchNextModule, n as useModuleLoader, r as useModulePreloader } from "../useModuleLoader-DpcbSKBH.js";
|
|
9
9
|
import { bootstrapSession, refreshQrUrlUuid } from "@incodetech/core/session";
|
|
10
10
|
import { getNextRequiredWasmPipelines } from "@incodetech/core/flow";
|
package/dist/flow/styles.css
CHANGED
|
@@ -1445,6 +1445,19 @@
|
|
|
1445
1445
|
}
|
|
1446
1446
|
}
|
|
1447
1447
|
|
|
1448
|
+
.IncodeIdCaptureStage > .IncodeIdCaptureStageAnalyzingPending {
|
|
1449
|
+
pointer-events: none;
|
|
1450
|
+
z-index: 1001;
|
|
1451
|
+
opacity: 0;
|
|
1452
|
+
animation: incodeIdCaptureAnalyzingReveal .2s ease-out calc(var(--capture-countdown-end) + var(--id-capture-result-flash-duration)) forwards;
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1456
|
+
.IncodeIdCaptureStage > .IncodeIdCaptureStageAnalyzingPending {
|
|
1457
|
+
animation-duration: 1ms;
|
|
1458
|
+
}
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1448
1461
|
.IncodeIdCaptureStage > .IncodeIdCaptureStageResultEntering {
|
|
1449
1462
|
animation: incodeIdCaptureResultCrossfadeIn var(--id-capture-result-crossfade-duration) linear forwards;
|
|
1450
1463
|
pointer-events: none;
|
|
@@ -1540,6 +1553,16 @@
|
|
|
1540
1553
|
display: flex;
|
|
1541
1554
|
}
|
|
1542
1555
|
|
|
1556
|
+
@keyframes incodeIdCaptureAnalyzingReveal {
|
|
1557
|
+
from {
|
|
1558
|
+
opacity: 0;
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
to {
|
|
1562
|
+
opacity: 1;
|
|
1563
|
+
}
|
|
1564
|
+
}
|
|
1565
|
+
|
|
1543
1566
|
@keyframes incodeIdCaptureResultCrossfadeOut {
|
|
1544
1567
|
from {
|
|
1545
1568
|
opacity: 1;
|
|
@@ -1970,6 +1993,12 @@
|
|
|
1970
1993
|
backdrop-filter: blur(var(--id-processing-image-blur-radius));
|
|
1971
1994
|
}
|
|
1972
1995
|
|
|
1996
|
+
.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingPlaceholder {
|
|
1997
|
+
background-color: var(--color-surface-neutral-100, var(--surface-neutral-100));
|
|
1998
|
+
width: 100%;
|
|
1999
|
+
height: 100%;
|
|
2000
|
+
}
|
|
2001
|
+
|
|
1973
2002
|
.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingOverlay {
|
|
1974
2003
|
pointer-events: none;
|
|
1975
2004
|
z-index: 10;
|
|
@@ -3148,7 +3177,7 @@
|
|
|
3148
3177
|
}
|
|
3149
3178
|
}
|
|
3150
3179
|
|
|
3151
|
-
.IncodeEkycPage .IncodeEkycForm .IncodeInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDropdownComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDateInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePhoneInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeAddressAutocomplete {
|
|
3180
|
+
.IncodeEkycPage .IncodeEkycForm .IncodeInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDropdownComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDateInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePhoneInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePasswordInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeAddressAutocomplete {
|
|
3152
3181
|
margin-inline: auto;
|
|
3153
3182
|
}
|
|
3154
3183
|
|
package/dist/id/id.es.js
CHANGED
|
@@ -8,8 +8,8 @@ import { t as AutoFocusTitle } from "../autoFocusTitle-Mhw9ii46.js";
|
|
|
8
8
|
import { t as Processing } from "../processing-CVgaZdi3.js";
|
|
9
9
|
import { t as Modal } from "../modal-C4JMNno2.js";
|
|
10
10
|
import { t as VerificationResult } from "../verificationResult-BiQ5T8yF.js";
|
|
11
|
-
import { n as CaptureFooter, r as ProgressBar } from "../useCaptureHelpButton-
|
|
12
|
-
import { _ as ID_CAPTURE_LOADING_PHASE, a as CaptureAutoFocusProvider, c as IdExpired, d as CaptureFrame, f as useIdExperiment, g as EXPERIMENT_LIFECYCLE_STATUS, h as CONTINUING_TUTORIAL_PHASES, i as Capture, l as IdError, m as CAMERA_WARMUP_LOADING_PHASES, n as Chooser, o as getCaptureFrameTitle, p as CAMERA_PERMISSION_UX, r as Tutorial, s as IdNoAttempts, t as FlipAnimation, u as canFlipCapturedCard, v as ID_CAPTURE_STATUS, y as PERMISSION_DIALOG_STATUS } from "../flipAnimation-
|
|
11
|
+
import { n as CaptureFooter, r as ProgressBar } from "../useCaptureHelpButton-BoUNa8-b.js";
|
|
12
|
+
import { _ as ID_CAPTURE_LOADING_PHASE, a as CaptureAutoFocusProvider, c as IdExpired, d as CaptureFrame, f as useIdExperiment, g as EXPERIMENT_LIFECYCLE_STATUS, h as CONTINUING_TUTORIAL_PHASES, i as Capture, l as IdError, m as CAMERA_WARMUP_LOADING_PHASES, n as Chooser, o as getCaptureFrameTitle, p as CAMERA_PERMISSION_UX, r as Tutorial, s as IdNoAttempts, t as FlipAnimation, u as canFlipCapturedCard, v as ID_CAPTURE_STATUS, y as PERMISSION_DIALOG_STATUS } from "../flipAnimation-C3o9NjGW.js";
|
|
13
13
|
import { t as BottomSheet } from "../bottomSheet-FRtF2m9j.js";
|
|
14
14
|
import { n as CameraFrame, t as CameraView } from "../cameraView-bsXpJ9g9.js";
|
|
15
15
|
import { n as CameraOverlay, t as CameraOverlayHeader } from "../cameraOverlayHeader-Cpzdt7gL.js";
|
package/dist/id/styles.css
CHANGED
|
@@ -516,6 +516,19 @@
|
|
|
516
516
|
}
|
|
517
517
|
}
|
|
518
518
|
|
|
519
|
+
.IncodeIdCaptureStage > .IncodeIdCaptureStageAnalyzingPending {
|
|
520
|
+
pointer-events: none;
|
|
521
|
+
z-index: 1001;
|
|
522
|
+
opacity: 0;
|
|
523
|
+
animation: incodeIdCaptureAnalyzingReveal .2s ease-out calc(var(--capture-countdown-end) + var(--id-capture-result-flash-duration)) forwards;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
@media (prefers-reduced-motion: reduce) {
|
|
527
|
+
.IncodeIdCaptureStage > .IncodeIdCaptureStageAnalyzingPending {
|
|
528
|
+
animation-duration: 1ms;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
|
|
519
532
|
.IncodeIdCaptureStage > .IncodeIdCaptureStageResultEntering {
|
|
520
533
|
animation: incodeIdCaptureResultCrossfadeIn var(--id-capture-result-crossfade-duration) linear forwards;
|
|
521
534
|
pointer-events: none;
|
|
@@ -611,6 +624,16 @@
|
|
|
611
624
|
display: flex;
|
|
612
625
|
}
|
|
613
626
|
|
|
627
|
+
@keyframes incodeIdCaptureAnalyzingReveal {
|
|
628
|
+
from {
|
|
629
|
+
opacity: 0;
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
to {
|
|
633
|
+
opacity: 1;
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
|
|
614
637
|
@keyframes incodeIdCaptureResultCrossfadeOut {
|
|
615
638
|
from {
|
|
616
639
|
opacity: 1;
|
|
@@ -1041,6 +1064,12 @@
|
|
|
1041
1064
|
backdrop-filter: blur(var(--id-processing-image-blur-radius));
|
|
1042
1065
|
}
|
|
1043
1066
|
|
|
1067
|
+
.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingPlaceholder {
|
|
1068
|
+
background-color: var(--color-surface-neutral-100, var(--surface-neutral-100));
|
|
1069
|
+
width: 100%;
|
|
1070
|
+
height: 100%;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1044
1073
|
.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingOverlay {
|
|
1045
1074
|
pointer-events: none;
|
|
1046
1075
|
z-index: 10;
|
package/dist/id/styles.css.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default "/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n@layer properties {\n @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {\n .IncodeComponent, .IncodeComponent *, .IncodeComponent :before, .IncodeComponent :after, .IncodeComponent ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n }\n }\n}\n\n.IncodeSrOnly {\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n}\n\n.IncodeAgeVerificationPage .IncodePageInner {\n padding-top: var(--spacing-8, var(--spacing-8, 8px));\n padding-bottom: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeAgeVerificationPage .IncodePageHeader {\n height: var(--page-header-height);\n min-height: var(--page-header-height);\n}\n\n.IncodeAgeVerificationPage .IncodePageLogo {\n height: var(--age-verification-logo-height);\n}\n\n.IncodeAgeVerificationPage .IncodePageTitleContainer {\n max-width: none;\n}\n\n.IncodeAgeVerificationPage .IncodePageContent {\n justify-content: center;\n}\n\n.IncodeAgeVerificationPage .IncodePageFooter {\n padding-top: var(--spacing-12, var(--spacing-12, 12px));\n padding-bottom: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationContent {\n justify-content: space-between;\n align-items: center;\n gap: var(--spacing-16, var(--spacing-16, 16px));\n flex-direction: column;\n flex: 1;\n display: flex;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationList {\n width: 100%;\n max-width: var(--incode-form-max-w);\n justify-content: center;\n gap: var(--spacing-16, var(--spacing-16, 16px));\n padding: var(--spacing-0, var(--spacing-none, 0px));\n flex-direction: column;\n flex: 1;\n margin-inline: auto;\n list-style-type: none;\n display: flex;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationItem {\n align-items: center;\n gap: var(--spacing-16, var(--spacing-16, 16px));\n display: flex;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationIcon {\n height: var(--spacing-64, var(--spacing-64, 64px));\n width: var(--spacing-96, var(--spacing-96, 96px));\n flex-shrink: 0;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationIcon img {\n width: 100%;\n height: 100%;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationText {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n flex: 1;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationButton {\n width: 100%;\n max-width: var(--incode-form-max-w);\n margin-inline: auto;\n}\n\n.IncodeIdTutorial .IncodePageTitleContainer {\n padding-block: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdTutorial .IncodeBaseTutorialContainer {\n margin: calc(var(--spacing-24, var(--spacing-24, 24px)) * -1);\n}\n\n.IncodeIdTutorial .IncodeBaseTutorialAnimationContainer {\n padding: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeFlipAnimation {\n background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));\n height: 100%;\n padding: var(--spacing-24, var(--spacing-24, 24px));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdFlipCardPage .IncodePageInner {\n padding: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeIdFlipCardLayout {\n width: 100%;\n height: 100%;\n padding: var(--spacing-24, var(--spacing-24, 24px));\n background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent {\n z-index: 10;\n flex-direction: column;\n align-items: center;\n width: 100%;\n height: 100%;\n display: flex;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardTopArea {\n justify-content: flex-end;\n align-items: center;\n gap: var(--spacing-24, var(--spacing-24, 24px));\n padding-bottom: var(--spacing-40, var(--spacing-40, 40px));\n z-index: 10;\n flex-direction: column;\n flex: 1;\n width: 100%;\n display: flex;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardCopy {\n opacity: 0;\n flex-direction: column;\n align-items: center;\n animation: .3s ease-out forwards incodeIdFlipCardFadeIn;\n display: flex;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardTitle {\n text-align: center;\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h2-size);\n font-weight: var(--typography-headline-h2-weight);\n line-height: var(--typography-headline-h2-line-height);\n letter-spacing: var(--typography-headline-h2-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardSubtitle {\n max-width: var(--id-capture-flip-card-subtitle-max-w);\n text-align: center;\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeCaptureFrame {\n overflow: hidden;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeCaptureFrame.IncodeCaptureFrameVertical {\n width: var(--id-capture-frame-vertical-width);\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeCaptureFrame.IncodeIdFlipCardFrameFlipping {\n --frame-border-color: var(--border-neutral-100);\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardScene {\n perspective: 1200px;\n width: 100%;\n height: 100%;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardCard {\n width: 100%;\n height: 100%;\n transform-style: preserve-3d;\n animation: 1s ease-in-out .6s forwards incodeIdFlipCardRotate;\n position: relative;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardCard {\n animation: none;\n }\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardFace {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n backface-visibility: hidden;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardFace.IncodeIdFlipCardFaceBack {\n transform: rotateY(180deg);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardFace.IncodeIdFlipCardFaceBack {\n opacity: 0;\n animation: 1s ease-in-out .6s forwards incodeIdFlipCardReducedMotionFadeIn;\n transform: none;\n }\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardImage {\n object-fit: cover;\n width: 100%;\n height: 100%;\n animation: 1s ease-in-out .6s forwards incodeIdFlipCardFrontFade;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardImage {\n animation: 1s ease-in-out .6s forwards incodeIdFlipCardReducedMotionFadeOut;\n }\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardAsset {\n object-fit: cover;\n width: 100%;\n height: 100%;\n padding: var(--spacing-4, var(--spacing-4, 4px));\n display: block;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardBottomArea {\n z-index: 10;\n width: 100%;\n max-width: var(--id-capture-bottom-area-max-w);\n padding-top: var(--spacing-8, var(--spacing-8, 8px));\n flex-direction: column;\n flex: 1;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardBottomArea .IncodeCaptureEncryptionLabel {\n justify-content: center;\n align-items: center;\n gap: var(--spacing-4, var(--spacing-4, 4px));\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-m-regular-size);\n font-weight: var(--typography-body-m-regular-weight);\n line-height: var(--typography-body-m-regular-line-height);\n letter-spacing: var(--typography-body-m-regular-letter-spacing);\n white-space: nowrap;\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n display: flex;\n}\n\n@keyframes incodeIdFlipCardFadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes incodeIdFlipCardRotate {\n from {\n transform: rotateY(0);\n }\n\n to {\n transform: rotateY(180deg);\n }\n}\n\n@keyframes incodeIdFlipCardFrontFade {\n 0%, 20% {\n opacity: 1;\n }\n\n 50%, 100% {\n opacity: 0;\n }\n}\n\n@keyframes incodeIdFlipCardReducedMotionFadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes incodeIdFlipCardReducedMotionFadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n.IncodeCommonIssuesFullScreen .IncodeModalDialog {\n max-width: none;\n height: 100%;\n max-height: none;\n}\n\n.IncodeCommonIssuesFullScreen .IncodeModalContent {\n border-radius: var(--radius-none, var(--border-radius-none));\n max-width: none;\n height: 100%;\n margin: auto;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesQuestionIcon {\n flex-shrink: 0;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h2-size);\n font-weight: var(--typography-headline-h2-weight);\n line-height: var(--typography-headline-h2-line-height);\n letter-spacing: var(--typography-headline-h2-letter-spacing);\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCards {\n width: 100%;\n max-width: var(--incode-form-max-w);\n gap: var(--spacing-32, var(--spacing-32, 32px));\n padding-block: var(--spacing-16, var(--spacing-16, 16px));\n flex-direction: column;\n display: flex;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCard {\n align-items: flex-start;\n gap: var(--spacing-16, var(--spacing-16, 16px));\n display: flex;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCardIcon {\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n flex-shrink: 0;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCardText {\n gap: var(--spacing-4, var(--spacing-4, 4px));\n flex-direction: column;\n display: flex;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCardTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCardBody {\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-m-regular-size);\n font-weight: var(--typography-body-m-regular-weight);\n line-height: var(--typography-body-m-regular-line-height);\n letter-spacing: var(--typography-body-m-regular-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesButtons {\n margin-top: auto;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesTakeManually {\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesTryAgain {\n width: 100%;\n}\n\n.IncodeChooserPage .IncodePageContent {\n min-height: var(--spacing-0, var(--spacing-none, 0px));\n padding-bottom: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeChooserPage .IncodePageTitle {\n max-width: var(--incode-form-max);\n}\n\n.IncodeChooserPage .IncodeChooserContainer {\n min-height: var(--spacing-0, var(--spacing-none, 0px));\n width: 100%;\n max-height: var(--id-capture-chooser-list-max-h);\n max-width: var(--id-capture-chooser-list-max-w);\n padding: var(--id-capture-chooser-list-scroll-padding);\n scroll-padding-block: var(--id-capture-chooser-list-scroll-padding);\n margin-inline: auto;\n flex-direction: column;\n align-items: center;\n margin-top: auto;\n display: flex;\n overflow-y: auto;\n}\n\n.IncodeCaptureFrame {\n border-radius: var(--radius-medium, var(--border-radius-medium));\n --frame-border-color: var(--border-neutral-100);\n border: var(--id-capture-frame-border-width) solid var(--frame-border-color);\n justify-content: center;\n align-self: center;\n align-items: center;\n transition: max-width .3s ease-out, border-color .3s ease-out;\n display: flex;\n position: relative;\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameHorizontal {\n width: 100%;\n max-width: var(--id-capture-frame-horizontal-max-width);\n aspect-ratio: 35 / 22;\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameVertical {\n width: 100%;\n max-width: var(--id-capture-frame-vertical-max-width);\n aspect-ratio: 22 / 35;\n}\n\n.IncodeCaptureFrame.IncodeCaptureFramePassport.IncodeCaptureFrameHorizontal {\n aspect-ratio: 42 / 30;\n}\n\n.IncodeCaptureFrame.IncodeCaptureFramePassport.IncodeCaptureFrameVertical {\n aspect-ratio: 30 / 42;\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameIdle {\n --frame-border-color: var(--border-neutral-100);\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameCapturing, .IncodeCaptureFrame.IncodeCaptureFrameFocus {\n --frame-border-color: var(--border-brand-500);\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameAnalyzing, .IncodeCaptureFrame.IncodeCaptureFrameSuccess {\n --frame-border-color: var(--border-status-positive-static);\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameError {\n --frame-border-color: var(--border-status-negative);\n}\n\n.IncodeIdCaptureStage {\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n.IncodeIdCaptureStage > * {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n position: absolute;\n}\n\n.IncodeIdCaptureStage > .IncodeIdCaptureStageResultExiting {\n animation: incodeIdCaptureResultCrossfadeOut var(--id-capture-result-crossfade-duration) linear forwards;\n pointer-events: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdCaptureStage > .IncodeIdCaptureStageResultExiting {\n animation-duration: 1ms;\n }\n}\n\n.IncodeIdCaptureStage > .IncodeIdCaptureStageResultEntering {\n animation: incodeIdCaptureResultCrossfadeIn var(--id-capture-result-crossfade-duration) linear forwards;\n pointer-events: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdCaptureStage > .IncodeIdCaptureStageResultEntering {\n animation-duration: 1ms;\n }\n}\n\n.IncodeIdCapturePage {\n background-color: var(--color-surface-neutral-900, var(--surface-neutral-900));\n}\n\n@media (min-width: 48rem) {\n .IncodeIdCapturePage {\n background-color: var(--capture-page-backdrop-color);\n }\n}\n\n.IncodeIdCapturePage .IncodePageInner {\n padding: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeIdCapturePage .IncodePageContent {\n flex: 1;\n position: relative;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing {\n height: 100%;\n color: var(--color-text-body-0, var(--text-body-0-static));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureVideo {\n pointer-events: none;\n inset: var(--spacing-0, var(--spacing-none, 0px));\n position: absolute;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureVideo.IncodeCaptureVideoLoading {\n opacity: 0;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureVideo .IncodeCaptureVideoElement {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n object-fit: cover;\n width: 100%;\n max-width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureOverlay {\n pointer-events: none;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureButton {\n border-radius: var(--radius-button-primary, var(--button-primary-border-radius));\n padding-inline: var(--spacing-24, var(--spacing-24, 24px));\n padding-block: var(--spacing-12, var(--spacing-12, 12px));\n background-color: var(--color-button-primary-surface-default, var(--button-primary-surface-default));\n color: var(--color-button-primary-text-default, var(--button-primary-text-default));\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureInitializing {\n height: 100%;\n color: var(--color-text-body-0, var(--text-body-0-static));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureInitializing .IncodeCaptureInitializingText {\n margin-top: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureUploading, .IncodeIdCapturePage .IncodeCaptureUploading {\n height: 100%;\n color: var(--color-text-body-0, var(--text-body-0-static));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n@keyframes incodeIdCaptureResultCrossfadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@keyframes incodeIdCaptureResultCrossfadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n.IncodeCaptureOverlayId {\n padding: var(--spacing-24, var(--spacing-24, 24px));\n align-items: center;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureTopSection {\n justify-content: flex-end;\n align-items: center;\n gap: var(--spacing-24, var(--spacing-24, 24px));\n padding-bottom: var(--spacing-40, var(--spacing-40, 40px));\n z-index: 10;\n flex-direction: column;\n flex: 1;\n display: flex;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureTopSection .IncodeCameraOverlayHeader {\n padding-inline: var(--spacing-16, var(--spacing-16, 16px));\n padding-top: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter {\n flex: 1;\n justify-content: space-between;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeCaptureFooterCaptureSection {\n position: relative;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer {\n pointer-events: none;\n z-index: 1000;\n --manual-capture-tooltip-button-gap: var(--spacing-4);\n --manual-capture-tooltip-button-top-offset: var(--spacing-12);\n --manual-capture-tooltip-button-center-offset: calc(var(--spacing-32) + var(--manual-capture-tooltip-button-gap));\n width: max-content;\n left: 50%;\n bottom: calc(100% - ( var(--manual-capture-tooltip-button-top-offset) - var(--manual-capture-tooltip-button-gap) ));\n animation: manualCaptureTooltipExit .35s ease-in var(--manual-capture-tooltip-dismiss-delay, 3.5s) forwards;\n justify-content: center;\n display: flex;\n position: absolute;\n transform: translateX(-50%);\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip {\n border-radius: var(--radius-medium, var(--border-radius-medium));\n background-color: var(--color-surface-neutral-900, var(--surface-neutral-900));\n padding: var(--spacing-16, var(--spacing-16, 16px));\n animation: .5s ease-out forwards slideUp;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip .IncodeIdManualCaptureTooltipList {\n margin: var(--spacing-0, var(--spacing-none, 0px));\n padding: var(--spacing-0, var(--spacing-none, 0px));\n flex-direction: column;\n align-items: center;\n list-style-type: none;\n display: flex;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip .IncodeIdManualCaptureTooltipList li {\n margin: var(--spacing-0, var(--spacing-none, 0px));\n font-family: var(--typography-tooltip-family);\n font-size: var(--typography-tooltip-m-size);\n font-weight: var(--typography-tooltip-m-weight);\n line-height: var(--typography-tooltip-m-line-height);\n letter-spacing: var(--typography-tooltip-m-letter-spacing);\n text-wrap: nowrap;\n color: var(--color-text-body-0-static, var(--text-body-0-static));\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer.IncodeIdManualCaptureTooltipContainerSrOnly {\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n animation: none;\n position: absolute;\n overflow: hidden;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer.IncodeIdManualCaptureTooltipContainerSrOnly .IncodeIdManualCaptureTooltip {\n animation: none;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer.IncodeIdManualCaptureTooltipContainerAutoDismiss {\n animation-name: manualCaptureTooltipExitAutoDismiss;\n}\n\n.IncodeCaptureOverlayId .IncodeCameraFrameHorizontal.IncodeCaptureFramePassport {\n aspect-ratio: 42 / 30;\n}\n\n.IncodeCaptureOverlayId .IncodeCameraFrameVertical.IncodeCaptureFramePassport {\n aspect-ratio: 30 / 42;\n}\n\n@keyframes manualCaptureTooltipExit {\n from {\n opacity: 1;\n transform: translateX(-50%);\n }\n\n to {\n opacity: 0;\n transform: translate(-50%, calc(50% + var(--manual-capture-tooltip-button-center-offset)));\n }\n}\n\n@keyframes manualCaptureTooltipExitAutoDismiss {\n from {\n opacity: 1;\n transform: translateX(-50%) scale(1);\n }\n\n to {\n opacity: .5;\n transform: translate(-50%, calc(25% + var(--manual-capture-tooltip-button-center-offset))) scale(.5);\n }\n}\n\n.IncodeIdManualCaptureButton {\n bottom: var(--spacing-24, var(--spacing-24, 24px));\n z-index: 100;\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n width: 100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n justify-content: center;\n align-items: center;\n gap: var(--spacing-4, var(--spacing-4, 4px));\n flex-direction: column;\n animation: .5s ease-out forwards slideUp;\n display: flex;\n position: absolute;\n left: 50%;\n}\n\n.IncodeIdManualCaptureButton .IncodeButtonLink {\n height: 100%;\n padding: var(--spacing-0, var(--spacing-none, 0px));\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n}\n\n.IncodeIdManualCaptureButton .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip {\n border-radius: var(--radius-medium, var(--border-radius-medium));\n background-color: var(--color-surface-neutral-900, var(--surface-neutral-900));\n padding: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdManualCaptureButton .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip .IncodeIdManualCaptureTooltipList {\n margin: var(--spacing-0, var(--spacing-none, 0px));\n padding: var(--spacing-0, var(--spacing-none, 0px));\n flex-direction: column;\n align-items: center;\n list-style-type: none;\n display: flex;\n}\n\n.IncodeIdManualCaptureButton .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip .IncodeIdManualCaptureTooltipList li {\n margin: var(--spacing-0, var(--spacing-none, 0px));\n font-family: var(--typography-tooltip-family);\n font-size: var(--typography-tooltip-m-size);\n font-weight: var(--typography-tooltip-m-weight);\n line-height: var(--typography-tooltip-m-line-height);\n letter-spacing: var(--typography-tooltip-m-letter-spacing);\n text-wrap: nowrap;\n color: var(--color-text-body-0-static, var(--text-body-0-static));\n}\n\n.IncodeIdManualCaptureButton .IncodeIdManualCaptureButtonContent .IncodeIdManualCaptureButtonButton svg {\n transition: filter .2s, transform .2s;\n}\n\n.IncodeIdManualCaptureButton .IncodeIdManualCaptureButtonContent:active svg {\n filter: brightness(.8);\n transform: scale(.95);\n}\n\n@keyframes slideUpAndDown {\n 0%, 12% {\n opacity: 0;\n transform: translateY(100%);\n }\n\n 24% {\n opacity: 1;\n transform: translateY(0);\n }\n\n 76% {\n opacity: 1;\n transform: translateY(0);\n }\n\n 88%, 100% {\n opacity: 0;\n transform: translateY(100%);\n }\n}\n\n.IncodeIdHint {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n z-index: 10;\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n}\n\n.IncodeIdHint .IncodeIdHintAnimated {\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n animation: 3s ease-in-out forwards slideUpAndDown;\n display: flex;\n position: relative;\n}\n\n.IncodeIdHint .IncodeIdHintAnimated .IncodeIdHintSvg {\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdHint .IncodeIdHintAnimated .IncodeIdHintSvg svg {\n width: var(--id-capture-hint-svg-size);\n height: var(--id-capture-hint-svg-size);\n min-width: var(--id-capture-hint-svg-size);\n min-height: var(--id-capture-hint-svg-size);\n}\n\n.IncodeComponent .IncodePermissionInCameraPage .IncodePermissionInCameraContent {\n opacity: 0;\n width: 100%;\n height: 100%;\n animation: incodePermissionInCameraReveal var(--id-tutorial-to-permission-transition-duration) ease-out var(--id-permission-in-camera-reveal-delay) forwards;\n flex-direction: column;\n align-items: center;\n display: flex;\n}\n\n.IncodeComponent .IncodePermissionInCameraPage .IncodePermissionInCameraReservedFooter {\n visibility: hidden;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeComponent .IncodePermissionInCameraPage .IncodePermissionInCameraContent {\n animation-duration: 1ms;\n animation-delay: 0s;\n }\n}\n\n@keyframes incodePermissionInCameraReveal {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage {\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowCaptureLayer, .IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowPermissionLayer, .IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowTutorialLayer {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n position: absolute;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowCaptureLayer {\n z-index: 10;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowPermissionLayer {\n z-index: 20;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowTutorialLayer {\n z-index: 30;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowPermissionLayerExiting {\n pointer-events: none;\n animation: incodePermissionInCameraToCaptureExit var(--id-permission-in-camera-to-capture-transition-duration) ease-in var(--id-permission-in-camera-to-capture-transition-duration) forwards;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowPermissionLayerExiting .IncodePermissionInCameraHeading {\n animation: incodePermissionInCameraHeadingExit var(--id-permission-in-camera-to-capture-transition-duration) ease-in forwards;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowTutorialLayerExiting {\n pointer-events: none;\n animation: incodeTutorialToPermissionInCameraExit var(--id-tutorial-to-permission-transition-duration) ease-in forwards;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeComponent .IncodePermissionInCameraFlowPermissionLayerExiting {\n animation-duration: 1ms;\n animation-delay: 0s;\n }\n\n .IncodeComponent .IncodePermissionInCameraFlowPermissionLayerExiting .IncodePermissionInCameraHeading, .IncodeComponent .IncodePermissionInCameraFlowTutorialLayerExiting {\n animation-duration: 1ms;\n }\n}\n\n@keyframes incodeTutorialToPermissionInCameraExit {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@keyframes incodePermissionInCameraHeadingExit {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@keyframes incodePermissionInCameraToCaptureExit {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n.IncodeIdProcessingPage .IncodePageInner {\n padding: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeIdProcessingLayout {\n width: 100%;\n height: 100%;\n padding: var(--spacing-24, var(--spacing-24, 24px));\n background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent {\n z-index: 10;\n flex-direction: column;\n align-items: center;\n width: 100%;\n height: 100%;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeIdProcessingTopArea {\n justify-content: flex-end;\n align-items: center;\n gap: var(--spacing-24, var(--spacing-24, 24px));\n padding-bottom: var(--spacing-40, var(--spacing-40, 40px));\n z-index: 10;\n flex-direction: column;\n flex: 1;\n width: 100%;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame {\n overflow: hidden;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame.IncodeCaptureFrameVertical {\n width: var(--id-capture-frame-vertical-width);\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame.IncodeCaptureFrameVertical .IncodeIdProcessingOverlay {\n left: -25%;\n right: -25%;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingImage {\n background-color: var(--color-surface-neutral-900, var(--surface-neutral-900));\n object-fit: cover;\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingImage.IncodeIdProcessingImageBlurred {\n filter: blur(var(--id-processing-image-blur-radius));\n -webkit-backdrop-filter: blur(var(--id-processing-image-blur-radius));\n backdrop-filter: blur(var(--id-processing-image-blur-radius));\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingOverlay {\n pointer-events: none;\n z-index: 10;\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n inset: 0 -10%;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeIdProcessingBottomArea {\n width: 100%;\n max-width: var(--id-capture-bottom-area-max-w);\n padding-top: var(--spacing-8, var(--spacing-8, 8px));\n z-index: 10;\n flex-direction: column;\n flex: 1;\n justify-content: space-between;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeIdProcessingBottomArea .IncodeCaptureEncryptionLabel {\n justify-content: center;\n align-items: center;\n gap: var(--spacing-4, var(--spacing-4, 4px));\n padding-bottom: var(--spacing-12, var(--spacing-12, 12px));\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-m-regular-size);\n font-weight: var(--typography-body-m-regular-weight);\n line-height: var(--typography-body-m-regular-line-height);\n letter-spacing: var(--typography-body-m-regular-letter-spacing);\n white-space: nowrap;\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n display: flex;\n}\n\n.IncodeIdProcessingLayout.IncodeIdProcessingLayoutNoImage .IncodeIdProcessingBottomArea {\n justify-content: flex-end;\n}\n\n.IncodeIdProcessingLayout .IncodeAnalyzingContent {\n flex-direction: column;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeAnalyzingContent .IncodeProgressBarContainer {\n margin-bottom: var(--spacing-24, var(--spacing-24, 24px));\n}\n\n.IncodeIdProcessingLayout .IncodeAnalyzingContent .IncodeAnalyzingTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h2-size);\n font-weight: var(--typography-headline-h2-weight);\n line-height: var(--typography-headline-h2-line-height);\n letter-spacing: var(--typography-headline-h2-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n text-align: center;\n min-height: var(--typography-headline-h2-line-height);\n}\n\n.IncodeIdProcessingLayout .IncodeAnalyzingContent .IncodeAnalyzingTitle .IncodeAnalyzingTitleText {\n animation: IncodeAnalyzingTitleFade var(--id-capture-analyzing-title-fade-duration) ease-out both;\n display: inline-block;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdProcessingLayout .IncodeAnalyzingContent .IncodeAnalyzingTitle .IncodeAnalyzingTitleText {\n animation-duration: 1ms;\n }\n}\n\n.IncodeIdProcessingLayout .IncodeAnalyzingLottie {\n width: 100%;\n max-width: none;\n}\n\n@keyframes IncodeAnalyzingTitleFade {\n from {\n opacity: 0;\n transform: translateY(var(--id-capture-analyzing-title-fade-offset));\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultContent, .IncodeIdProcessingLayout .IncodeIdProcessingResultStatus {\n flex-direction: column;\n align-items: center;\n width: 100%;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h2-size);\n font-weight: var(--typography-headline-h2-weight);\n line-height: var(--typography-headline-h2-line-height);\n letter-spacing: var(--typography-headline-h2-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n text-align: center;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultSubtitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n text-align: center;\n max-width: var(--incode-form-max-w);\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultButtonContainer {\n margin-top: var(--spacing-24, var(--spacing-24, 24px));\n gap: var(--spacing-16, var(--spacing-16, 16px));\n flex-direction: column;\n width: 100%;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultAttempts {\n padding-block: var(--spacing-12, var(--spacing-12, 12px));\n text-align: center;\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h4-size);\n font-weight: var(--typography-headline-h4-weight);\n line-height: var(--typography-headline-h4-line-height);\n letter-spacing: var(--typography-headline-h4-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultContentExiting, .IncodeIdProcessingLayout .IncodeIdProcessingResultButtonContainerExiting {\n animation: .3s ease-out forwards incodeIdProcessingResultFadeOut;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdProcessingLayout .IncodeIdProcessingResultContentExiting, .IncodeIdProcessingLayout .IncodeIdProcessingResultButtonContainerExiting {\n animation-duration: 1ms;\n }\n}\n\n@keyframes incodeIdProcessingResultFadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n.IncodeIdError {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n z-index: 1000;\n justify-content: center;\n align-items: center;\n gap: var(--spacing-16, var(--spacing-16, 16px));\n flex-direction: column;\n width: 100%;\n height: 100%;\n display: flex;\n position: fixed;\n}\n\n.IncodeIdError .IncodeIdErrorMessage {\n text-align: center;\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h4-size);\n font-weight: var(--typography-headline-h4-weight);\n line-height: var(--typography-headline-h4-line-height);\n letter-spacing: var(--typography-headline-h4-letter-spacing);\n color: var(--color-text-body-0, var(--text-body-0-static));\n max-width: var(--incode-form-max-w);\n margin-bottom: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdNoAttemptsContent {\n padding-inline: var(--spacing-20, var(--spacing-20, 20px));\n max-height: var(--id-no-attempts-content-max-h);\n max-width: var(--id-no-attempts-content-max-w);\n flex-direction: column;\n flex: 1;\n justify-content: center;\n align-items: center;\n margin: auto;\n display: flex;\n}\n\n.IncodeIdNoAttemptsContent .IncodeIdNoAttemptsIcon {\n margin-bottom: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdNoAttemptsContent .IncodeIdNoAttemptsTitle {\n text-align: center;\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n}\n\n.IncodeIdNoAttemptsContent .IncodeIdNoAttemptsSubtitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n text-align: center;\n max-width: var(--incode-form-max-w);\n}\n\n.IncodeIdNoAttemptsContent .IncodeIdNoAttemptsButtonContainer {\n bottom: var(--spacing-32, var(--spacing-32, 32px));\n right: var(--spacing-0, var(--spacing-none, 0px));\n left: var(--spacing-0, var(--spacing-none, 0px));\n padding-inline: var(--spacing-24, var(--spacing-24, 24px));\n justify-content: center;\n display: flex;\n position: absolute;\n}\n\n.IncodeUnacceptedIdDocuments {\n margin-top: var(--spacing-32, var(--spacing-32, 32px));\n flex-direction: column;\n align-items: center;\n width: 100%;\n display: flex;\n}\n\n.IncodeUnacceptedIdDocuments .IncodeUnacceptedIdDocumentsCountry {\n margin-bottom: var(--spacing-32, var(--spacing-32, 32px));\n align-items: center;\n gap: var(--spacing-8, var(--spacing-8, 8px));\n flex-direction: column;\n display: flex;\n}\n\n.IncodeUnacceptedIdDocuments .IncodeUnacceptedIdDocumentsCountryHeading {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h4-size);\n font-weight: var(--typography-headline-h4-weight);\n line-height: var(--typography-headline-h4-line-height);\n letter-spacing: var(--typography-headline-h4-letter-spacing);\n}\n\n.IncodeUnacceptedIdDocuments .IncodeUnacceptedIdDocumentsCountryLabel {\n align-items: center;\n gap: var(--spacing-8, var(--spacing-8, 8px));\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h3-size);\n font-weight: var(--typography-headline-h3-weight);\n line-height: var(--typography-headline-h3-line-height);\n letter-spacing: var(--typography-headline-h3-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n display: inline-flex;\n}\n\n.IncodeIdCaptureNotification {\n right: var(--spacing-24, var(--spacing-24, 24px));\n left: var(--spacing-24, var(--spacing-24, 24px));\n z-index: 100;\n max-width: var(--incode-form-max-w);\n padding-bottom: var(--spacing-32, var(--spacing-32, 32px));\n top: var(--incode-overlay-top-inset, var(--spacing-24));\n align-items: flex-end;\n margin: auto;\n display: flex;\n position: absolute;\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent {\n z-index: 100;\n border-radius: var(--radius-large, var(--border-radius-large));\n border-style: var(--tw-border-style);\n border-width: 2px;\n border-color: var(--color-border-neutral-300, var(--border-neutral-300));\n background-color: var(--color-surface-neutral-900-80, var(--surface-neutral-900-80));\n width: 100%;\n padding-inline: var(--spacing-20, var(--spacing-20, 20px));\n box-shadow: var(--id-capture-notification-content-shadow);\n display: flex;\n overflow: hidden;\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent.IncodeIdCaptureNotificationContent--minimal {\n justify-content: center;\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent .IncodeIdCaptureNotificationText {\n justify-content: center;\n gap: var(--spacing-8, var(--spacing-8, 8px));\n padding-top: var(--spacing-16, var(--spacing-16, 16px));\n padding-bottom: var(--spacing-12, var(--spacing-12, 12px));\n text-align: center;\n color: var(--color-text-body-0-static, var(--text-body-0-static));\n flex-direction: column;\n display: flex;\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent .IncodeIdCaptureNotificationText .IncodeIdCaptureNotificationTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h3-size);\n font-weight: var(--typography-headline-h3-weight);\n line-height: var(--typography-headline-h3-line-height);\n letter-spacing: var(--typography-headline-h3-letter-spacing);\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent .IncodeIdCaptureNotificationText .IncodeIdCaptureNotificationDescription {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-text-body-tertiary-static, var(--text-body-300-tertiary-static));\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent.IncodeIdCaptureNotificationContent--minimal .IncodeIdCaptureNotificationText {\n gap: var(--spacing-4, var(--spacing-4, 4px));\n padding-block: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent.IncodeIdCaptureNotificationContent--minimal .IncodeIdCaptureNotificationText .IncodeIdCaptureNotificationTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent.IncodeIdCaptureNotificationContent--minimal .IncodeIdCaptureNotificationText .IncodeIdCaptureNotificationDescription {\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-m-regular-size);\n font-weight: var(--typography-body-m-regular-weight);\n line-height: var(--typography-body-m-regular-line-height);\n letter-spacing: var(--typography-body-m-regular-letter-spacing);\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent .IncodeIdCaptureNotificationAnimation {\n height: var(--id-capture-notification-animation-height);\n justify-content: center;\n align-items: center;\n width: auto;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage {\n height: 100%;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadBody {\n justify-content: center;\n align-items: center;\n row-gap: var(--spacing-16, var(--spacing-16, 16px));\n width: 100%;\n height: 100%;\n max-width: var(--digital-id-content-max-w);\n flex-direction: column;\n margin-inline: auto;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadPreviewBody {\n row-gap: var(--spacing-16, var(--spacing-16, 16px));\n grid-template-columns: 1fr;\n grid-template-rows: var(--spacing-24) var(--digital-id-preview-h) var(--spacing-24);\n width: 100%;\n height: 100%;\n max-width: var(--digital-id-content-max-w);\n align-content: center;\n justify-items: center;\n margin-inline: auto;\n display: grid;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadPreStatusZone {\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadPostCaptionZone {\n justify-content: center;\n align-items: flex-start;\n width: 100%;\n height: 100%;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadFooter {\n width: 100%;\n margin-inline: auto;\n margin-top: var(--spacing-24, var(--spacing-24, 24px));\n margin-bottom: var(--spacing-8, var(--spacing-8, 8px));\n justify-content: flex-end;\n row-gap: var(--spacing-16, var(--spacing-16, 16px));\n max-width: var(--digital-id-content-max-w);\n min-height: var(--digital-id-footer-min-h);\n flex-direction: column;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadHiddenInput {\n display: none;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadTutorialIllustration {\n width: 100%;\n max-height: var(--digital-id-tutorial-illustration-max-h);\n flex: 1;\n justify-content: center;\n align-items: center;\n display: flex;\n overflow: hidden;\n}\n\n.IncodeDigitalIdUploadPage .IncodeUploadIdScreenImage {\n height: var(--digital-id-illustration-max-h);\n aspect-ratio: 191 / 266;\n width: auto;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadPreviewCard {\n border-radius: var(--radius-medium, var(--border-radius-medium));\n border-style: var(--tw-border-style);\n --tw-border-style: solid;\n border-style: solid;\n border-width: 1px;\n border-color: var(--color-border-neutral-100, var(--border-neutral-100));\n background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));\n width: var(--digital-id-preview-w);\n height: var(--digital-id-preview-h);\n justify-content: center;\n align-items: center;\n display: flex;\n overflow: hidden;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadDocumentPreview {\n width: var(--digital-id-preview-w);\n height: var(--digital-id-preview-h);\n justify-content: center;\n align-items: center;\n display: flex;\n position: relative;\n overflow: visible;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadDocumentPreviewPdf {\n border-radius: var(--radius-medium, var(--border-radius-medium));\n border-style: var(--tw-border-style);\n border-width: var(--border-width-bold, var(--primitive-border-width-2));\n --tw-border-style: solid;\n border-style: solid;\n border-color: var(--color-border-status-positive, var(--border-status-positive-static));\n object-fit: contain;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadPreviewPdf {\n object-fit: contain;\n width: 100%;\n height: 100%;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadFileName {\n text-align: center;\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-m-regular-size);\n font-weight: var(--typography-body-m-regular-weight);\n line-height: var(--typography-body-m-regular-line-height);\n letter-spacing: var(--typography-body-m-regular-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n max-width: var(--digital-id-file-name-max-w);\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadProgressBar .IncodeProgressBar {\n border-radius: var(--radius-full, var(--border-radius-full));\n background-color: var(--color-surface-neutral-200, var(--surface-neutral-200));\n width: var(--digital-id-progress-bar-w);\n height: var(--digital-id-progress-bar-h);\n overflow: hidden;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadProgressBar .IncodeProgressBarFill {\n border-radius: var(--radius-full, var(--border-radius-full));\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadLaserOverlay {\n pointer-events: none;\n width: var(--digital-id-preview-w);\n height: var(--digital-id-laser-h);\n transform: translateX(-50%) scale(var(--digital-id-laser-scale));\n position: absolute;\n top: -2px;\n left: 50%;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeDigitalIdUploadPage .IncodeDigitalIdUploadLaserOverlay {\n display: none;\n }\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadSuccessIcon {\n color: var(--color-icon-status-positive, var(--icon-status-positive));\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadErrorIcon {\n margin-bottom: var(--spacing-8, var(--spacing-8, 8px));\n color: var(--color-icon-status-negative, var(--icon-status-negative));\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadErrorPreview {\n margin-top: var(--spacing-8, var(--spacing-8, 8px));\n border-radius: var(--radius-medium, var(--border-radius-medium));\n border-style: var(--tw-border-style);\n --tw-border-style: solid;\n border-style: solid;\n border-width: 1px;\n border-color: var(--color-border-status-negative, var(--border-status-negative));\n padding: var(--spacing-4);\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadAttempts {\n margin-top: var(--spacing-8, var(--spacing-8, 8px));\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-s-regular-size);\n font-weight: var(--typography-body-s-regular-weight);\n line-height: var(--typography-body-s-regular-line-height);\n letter-spacing: var(--typography-body-s-regular-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n}\n\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n";
|
|
1
|
+
export default "/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n@layer properties {\n @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {\n .IncodeComponent, .IncodeComponent *, .IncodeComponent :before, .IncodeComponent :after, .IncodeComponent ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n }\n }\n}\n\n.IncodeSrOnly {\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n}\n\n.IncodeAgeVerificationPage .IncodePageInner {\n padding-top: var(--spacing-8, var(--spacing-8, 8px));\n padding-bottom: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeAgeVerificationPage .IncodePageHeader {\n height: var(--page-header-height);\n min-height: var(--page-header-height);\n}\n\n.IncodeAgeVerificationPage .IncodePageLogo {\n height: var(--age-verification-logo-height);\n}\n\n.IncodeAgeVerificationPage .IncodePageTitleContainer {\n max-width: none;\n}\n\n.IncodeAgeVerificationPage .IncodePageContent {\n justify-content: center;\n}\n\n.IncodeAgeVerificationPage .IncodePageFooter {\n padding-top: var(--spacing-12, var(--spacing-12, 12px));\n padding-bottom: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationContent {\n justify-content: space-between;\n align-items: center;\n gap: var(--spacing-16, var(--spacing-16, 16px));\n flex-direction: column;\n flex: 1;\n display: flex;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationList {\n width: 100%;\n max-width: var(--incode-form-max-w);\n justify-content: center;\n gap: var(--spacing-16, var(--spacing-16, 16px));\n padding: var(--spacing-0, var(--spacing-none, 0px));\n flex-direction: column;\n flex: 1;\n margin-inline: auto;\n list-style-type: none;\n display: flex;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationItem {\n align-items: center;\n gap: var(--spacing-16, var(--spacing-16, 16px));\n display: flex;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationIcon {\n height: var(--spacing-64, var(--spacing-64, 64px));\n width: var(--spacing-96, var(--spacing-96, 96px));\n flex-shrink: 0;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationIcon img {\n width: 100%;\n height: 100%;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationText {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n flex: 1;\n}\n\n.IncodeAgeVerificationPage .IncodeAgeVerificationButton {\n width: 100%;\n max-width: var(--incode-form-max-w);\n margin-inline: auto;\n}\n\n.IncodeIdTutorial .IncodePageTitleContainer {\n padding-block: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdTutorial .IncodeBaseTutorialContainer {\n margin: calc(var(--spacing-24, var(--spacing-24, 24px)) * -1);\n}\n\n.IncodeIdTutorial .IncodeBaseTutorialAnimationContainer {\n padding: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeFlipAnimation {\n background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));\n height: 100%;\n padding: var(--spacing-24, var(--spacing-24, 24px));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdFlipCardPage .IncodePageInner {\n padding: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeIdFlipCardLayout {\n width: 100%;\n height: 100%;\n padding: var(--spacing-24, var(--spacing-24, 24px));\n background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent {\n z-index: 10;\n flex-direction: column;\n align-items: center;\n width: 100%;\n height: 100%;\n display: flex;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardTopArea {\n justify-content: flex-end;\n align-items: center;\n gap: var(--spacing-24, var(--spacing-24, 24px));\n padding-bottom: var(--spacing-40, var(--spacing-40, 40px));\n z-index: 10;\n flex-direction: column;\n flex: 1;\n width: 100%;\n display: flex;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardCopy {\n opacity: 0;\n flex-direction: column;\n align-items: center;\n animation: .3s ease-out forwards incodeIdFlipCardFadeIn;\n display: flex;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardTitle {\n text-align: center;\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h2-size);\n font-weight: var(--typography-headline-h2-weight);\n line-height: var(--typography-headline-h2-line-height);\n letter-spacing: var(--typography-headline-h2-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardSubtitle {\n max-width: var(--id-capture-flip-card-subtitle-max-w);\n text-align: center;\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeCaptureFrame {\n overflow: hidden;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeCaptureFrame.IncodeCaptureFrameVertical {\n width: var(--id-capture-frame-vertical-width);\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeCaptureFrame.IncodeIdFlipCardFrameFlipping {\n --frame-border-color: var(--border-neutral-100);\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardScene {\n perspective: 1200px;\n width: 100%;\n height: 100%;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardCard {\n width: 100%;\n height: 100%;\n transform-style: preserve-3d;\n animation: 1s ease-in-out .6s forwards incodeIdFlipCardRotate;\n position: relative;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardCard {\n animation: none;\n }\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardFace {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n backface-visibility: hidden;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardFace.IncodeIdFlipCardFaceBack {\n transform: rotateY(180deg);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardFace.IncodeIdFlipCardFaceBack {\n opacity: 0;\n animation: 1s ease-in-out .6s forwards incodeIdFlipCardReducedMotionFadeIn;\n transform: none;\n }\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardImage {\n object-fit: cover;\n width: 100%;\n height: 100%;\n animation: 1s ease-in-out .6s forwards incodeIdFlipCardFrontFade;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardImage {\n animation: 1s ease-in-out .6s forwards incodeIdFlipCardReducedMotionFadeOut;\n }\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardAsset {\n object-fit: cover;\n width: 100%;\n height: 100%;\n padding: var(--spacing-4, var(--spacing-4, 4px));\n display: block;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardBottomArea {\n z-index: 10;\n width: 100%;\n max-width: var(--id-capture-bottom-area-max-w);\n padding-top: var(--spacing-8, var(--spacing-8, 8px));\n flex-direction: column;\n flex: 1;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdFlipCardLayout .IncodeIdFlipCardLayoutContent .IncodeIdFlipCardBottomArea .IncodeCaptureEncryptionLabel {\n justify-content: center;\n align-items: center;\n gap: var(--spacing-4, var(--spacing-4, 4px));\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-m-regular-size);\n font-weight: var(--typography-body-m-regular-weight);\n line-height: var(--typography-body-m-regular-line-height);\n letter-spacing: var(--typography-body-m-regular-letter-spacing);\n white-space: nowrap;\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n display: flex;\n}\n\n@keyframes incodeIdFlipCardFadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes incodeIdFlipCardRotate {\n from {\n transform: rotateY(0);\n }\n\n to {\n transform: rotateY(180deg);\n }\n}\n\n@keyframes incodeIdFlipCardFrontFade {\n 0%, 20% {\n opacity: 1;\n }\n\n 50%, 100% {\n opacity: 0;\n }\n}\n\n@keyframes incodeIdFlipCardReducedMotionFadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes incodeIdFlipCardReducedMotionFadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n.IncodeCommonIssuesFullScreen .IncodeModalDialog {\n max-width: none;\n height: 100%;\n max-height: none;\n}\n\n.IncodeCommonIssuesFullScreen .IncodeModalContent {\n border-radius: var(--radius-none, var(--border-radius-none));\n max-width: none;\n height: 100%;\n margin: auto;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesQuestionIcon {\n flex-shrink: 0;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h2-size);\n font-weight: var(--typography-headline-h2-weight);\n line-height: var(--typography-headline-h2-line-height);\n letter-spacing: var(--typography-headline-h2-letter-spacing);\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCards {\n width: 100%;\n max-width: var(--incode-form-max-w);\n gap: var(--spacing-32, var(--spacing-32, 32px));\n padding-block: var(--spacing-16, var(--spacing-16, 16px));\n flex-direction: column;\n display: flex;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCard {\n align-items: flex-start;\n gap: var(--spacing-16, var(--spacing-16, 16px));\n display: flex;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCardIcon {\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n flex-shrink: 0;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCardText {\n gap: var(--spacing-4, var(--spacing-4, 4px));\n flex-direction: column;\n display: flex;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCardTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesCardBody {\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-m-regular-size);\n font-weight: var(--typography-body-m-regular-weight);\n line-height: var(--typography-body-m-regular-line-height);\n letter-spacing: var(--typography-body-m-regular-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesButtons {\n margin-top: auto;\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesTakeManually {\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n}\n\n.IncodeCommonIssuesContent .IncodeCommonIssuesTryAgain {\n width: 100%;\n}\n\n.IncodeChooserPage .IncodePageContent {\n min-height: var(--spacing-0, var(--spacing-none, 0px));\n padding-bottom: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeChooserPage .IncodePageTitle {\n max-width: var(--incode-form-max);\n}\n\n.IncodeChooserPage .IncodeChooserContainer {\n min-height: var(--spacing-0, var(--spacing-none, 0px));\n width: 100%;\n max-height: var(--id-capture-chooser-list-max-h);\n max-width: var(--id-capture-chooser-list-max-w);\n padding: var(--id-capture-chooser-list-scroll-padding);\n scroll-padding-block: var(--id-capture-chooser-list-scroll-padding);\n margin-inline: auto;\n flex-direction: column;\n align-items: center;\n margin-top: auto;\n display: flex;\n overflow-y: auto;\n}\n\n.IncodeCaptureFrame {\n border-radius: var(--radius-medium, var(--border-radius-medium));\n --frame-border-color: var(--border-neutral-100);\n border: var(--id-capture-frame-border-width) solid var(--frame-border-color);\n justify-content: center;\n align-self: center;\n align-items: center;\n transition: max-width .3s ease-out, border-color .3s ease-out;\n display: flex;\n position: relative;\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameHorizontal {\n width: 100%;\n max-width: var(--id-capture-frame-horizontal-max-width);\n aspect-ratio: 35 / 22;\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameVertical {\n width: 100%;\n max-width: var(--id-capture-frame-vertical-max-width);\n aspect-ratio: 22 / 35;\n}\n\n.IncodeCaptureFrame.IncodeCaptureFramePassport.IncodeCaptureFrameHorizontal {\n aspect-ratio: 42 / 30;\n}\n\n.IncodeCaptureFrame.IncodeCaptureFramePassport.IncodeCaptureFrameVertical {\n aspect-ratio: 30 / 42;\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameIdle {\n --frame-border-color: var(--border-neutral-100);\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameCapturing, .IncodeCaptureFrame.IncodeCaptureFrameFocus {\n --frame-border-color: var(--border-brand-500);\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameAnalyzing, .IncodeCaptureFrame.IncodeCaptureFrameSuccess {\n --frame-border-color: var(--border-status-positive-static);\n}\n\n.IncodeCaptureFrame.IncodeCaptureFrameError {\n --frame-border-color: var(--border-status-negative);\n}\n\n.IncodeIdCaptureStage {\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n.IncodeIdCaptureStage > * {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n position: absolute;\n}\n\n.IncodeIdCaptureStage > .IncodeIdCaptureStageResultExiting {\n animation: incodeIdCaptureResultCrossfadeOut var(--id-capture-result-crossfade-duration) linear forwards;\n pointer-events: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdCaptureStage > .IncodeIdCaptureStageResultExiting {\n animation-duration: 1ms;\n }\n}\n\n.IncodeIdCaptureStage > .IncodeIdCaptureStageAnalyzingPending {\n pointer-events: none;\n z-index: 1001;\n opacity: 0;\n animation: incodeIdCaptureAnalyzingReveal .2s ease-out calc(var(--capture-countdown-end) + var(--id-capture-result-flash-duration)) forwards;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdCaptureStage > .IncodeIdCaptureStageAnalyzingPending {\n animation-duration: 1ms;\n }\n}\n\n.IncodeIdCaptureStage > .IncodeIdCaptureStageResultEntering {\n animation: incodeIdCaptureResultCrossfadeIn var(--id-capture-result-crossfade-duration) linear forwards;\n pointer-events: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdCaptureStage > .IncodeIdCaptureStageResultEntering {\n animation-duration: 1ms;\n }\n}\n\n.IncodeIdCapturePage {\n background-color: var(--color-surface-neutral-900, var(--surface-neutral-900));\n}\n\n@media (min-width: 48rem) {\n .IncodeIdCapturePage {\n background-color: var(--capture-page-backdrop-color);\n }\n}\n\n.IncodeIdCapturePage .IncodePageInner {\n padding: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeIdCapturePage .IncodePageContent {\n flex: 1;\n position: relative;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing {\n height: 100%;\n color: var(--color-text-body-0, var(--text-body-0-static));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureVideo {\n pointer-events: none;\n inset: var(--spacing-0, var(--spacing-none, 0px));\n position: absolute;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureVideo.IncodeCaptureVideoLoading {\n opacity: 0;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureVideo .IncodeCaptureVideoElement {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n object-fit: cover;\n width: 100%;\n max-width: 100%;\n height: 100%;\n position: absolute;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureOverlay {\n pointer-events: none;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureButton {\n border-radius: var(--radius-button-primary, var(--button-primary-border-radius));\n padding-inline: var(--spacing-24, var(--spacing-24, 24px));\n padding-block: var(--spacing-12, var(--spacing-12, 12px));\n background-color: var(--color-button-primary-surface-default, var(--button-primary-surface-default));\n color: var(--color-button-primary-text-default, var(--button-primary-text-default));\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureInitializing {\n height: 100%;\n color: var(--color-text-body-0, var(--text-body-0-static));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureInitializing .IncodeCaptureInitializingText {\n margin-top: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdCapturePage .IncodeCaptureInitializing .IncodeCaptureUploading, .IncodeIdCapturePage .IncodeCaptureUploading {\n height: 100%;\n color: var(--color-text-body-0, var(--text-body-0-static));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n@keyframes incodeIdCaptureAnalyzingReveal {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes incodeIdCaptureResultCrossfadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@keyframes incodeIdCaptureResultCrossfadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n.IncodeCaptureOverlayId {\n padding: var(--spacing-24, var(--spacing-24, 24px));\n align-items: center;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureTopSection {\n justify-content: flex-end;\n align-items: center;\n gap: var(--spacing-24, var(--spacing-24, 24px));\n padding-bottom: var(--spacing-40, var(--spacing-40, 40px));\n z-index: 10;\n flex-direction: column;\n flex: 1;\n display: flex;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureTopSection .IncodeCameraOverlayHeader {\n padding-inline: var(--spacing-16, var(--spacing-16, 16px));\n padding-top: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter {\n flex: 1;\n justify-content: space-between;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeCaptureFooterCaptureSection {\n position: relative;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer {\n pointer-events: none;\n z-index: 1000;\n --manual-capture-tooltip-button-gap: var(--spacing-4);\n --manual-capture-tooltip-button-top-offset: var(--spacing-12);\n --manual-capture-tooltip-button-center-offset: calc(var(--spacing-32) + var(--manual-capture-tooltip-button-gap));\n width: max-content;\n left: 50%;\n bottom: calc(100% - ( var(--manual-capture-tooltip-button-top-offset) - var(--manual-capture-tooltip-button-gap) ));\n animation: manualCaptureTooltipExit .35s ease-in var(--manual-capture-tooltip-dismiss-delay, 3.5s) forwards;\n justify-content: center;\n display: flex;\n position: absolute;\n transform: translateX(-50%);\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip {\n border-radius: var(--radius-medium, var(--border-radius-medium));\n background-color: var(--color-surface-neutral-900, var(--surface-neutral-900));\n padding: var(--spacing-16, var(--spacing-16, 16px));\n animation: .5s ease-out forwards slideUp;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip .IncodeIdManualCaptureTooltipList {\n margin: var(--spacing-0, var(--spacing-none, 0px));\n padding: var(--spacing-0, var(--spacing-none, 0px));\n flex-direction: column;\n align-items: center;\n list-style-type: none;\n display: flex;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip .IncodeIdManualCaptureTooltipList li {\n margin: var(--spacing-0, var(--spacing-none, 0px));\n font-family: var(--typography-tooltip-family);\n font-size: var(--typography-tooltip-m-size);\n font-weight: var(--typography-tooltip-m-weight);\n line-height: var(--typography-tooltip-m-line-height);\n letter-spacing: var(--typography-tooltip-m-letter-spacing);\n text-wrap: nowrap;\n color: var(--color-text-body-0-static, var(--text-body-0-static));\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer.IncodeIdManualCaptureTooltipContainerSrOnly {\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n animation: none;\n position: absolute;\n overflow: hidden;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer.IncodeIdManualCaptureTooltipContainerSrOnly .IncodeIdManualCaptureTooltip {\n animation: none;\n}\n\n.IncodeCaptureOverlayId .IncodeCaptureFooter .IncodeIdManualCaptureTooltipContainer.IncodeIdManualCaptureTooltipContainerAutoDismiss {\n animation-name: manualCaptureTooltipExitAutoDismiss;\n}\n\n.IncodeCaptureOverlayId .IncodeCameraFrameHorizontal.IncodeCaptureFramePassport {\n aspect-ratio: 42 / 30;\n}\n\n.IncodeCaptureOverlayId .IncodeCameraFrameVertical.IncodeCaptureFramePassport {\n aspect-ratio: 30 / 42;\n}\n\n@keyframes manualCaptureTooltipExit {\n from {\n opacity: 1;\n transform: translateX(-50%);\n }\n\n to {\n opacity: 0;\n transform: translate(-50%, calc(50% + var(--manual-capture-tooltip-button-center-offset)));\n }\n}\n\n@keyframes manualCaptureTooltipExitAutoDismiss {\n from {\n opacity: 1;\n transform: translateX(-50%) scale(1);\n }\n\n to {\n opacity: .5;\n transform: translate(-50%, calc(25% + var(--manual-capture-tooltip-button-center-offset))) scale(.5);\n }\n}\n\n.IncodeIdManualCaptureButton {\n bottom: var(--spacing-24, var(--spacing-24, 24px));\n z-index: 100;\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n width: 100%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n justify-content: center;\n align-items: center;\n gap: var(--spacing-4, var(--spacing-4, 4px));\n flex-direction: column;\n animation: .5s ease-out forwards slideUp;\n display: flex;\n position: absolute;\n left: 50%;\n}\n\n.IncodeIdManualCaptureButton .IncodeButtonLink {\n height: 100%;\n padding: var(--spacing-0, var(--spacing-none, 0px));\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n}\n\n.IncodeIdManualCaptureButton .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip {\n border-radius: var(--radius-medium, var(--border-radius-medium));\n background-color: var(--color-surface-neutral-900, var(--surface-neutral-900));\n padding: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdManualCaptureButton .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip .IncodeIdManualCaptureTooltipList {\n margin: var(--spacing-0, var(--spacing-none, 0px));\n padding: var(--spacing-0, var(--spacing-none, 0px));\n flex-direction: column;\n align-items: center;\n list-style-type: none;\n display: flex;\n}\n\n.IncodeIdManualCaptureButton .IncodeIdManualCaptureTooltipContainer .IncodeIdManualCaptureTooltip .IncodeIdManualCaptureTooltipList li {\n margin: var(--spacing-0, var(--spacing-none, 0px));\n font-family: var(--typography-tooltip-family);\n font-size: var(--typography-tooltip-m-size);\n font-weight: var(--typography-tooltip-m-weight);\n line-height: var(--typography-tooltip-m-line-height);\n letter-spacing: var(--typography-tooltip-m-letter-spacing);\n text-wrap: nowrap;\n color: var(--color-text-body-0-static, var(--text-body-0-static));\n}\n\n.IncodeIdManualCaptureButton .IncodeIdManualCaptureButtonContent .IncodeIdManualCaptureButtonButton svg {\n transition: filter .2s, transform .2s;\n}\n\n.IncodeIdManualCaptureButton .IncodeIdManualCaptureButtonContent:active svg {\n filter: brightness(.8);\n transform: scale(.95);\n}\n\n@keyframes slideUpAndDown {\n 0%, 12% {\n opacity: 0;\n transform: translateY(100%);\n }\n\n 24% {\n opacity: 1;\n transform: translateY(0);\n }\n\n 76% {\n opacity: 1;\n transform: translateY(0);\n }\n\n 88%, 100% {\n opacity: 0;\n transform: translateY(100%);\n }\n}\n\n.IncodeIdHint {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n z-index: 10;\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n}\n\n.IncodeIdHint .IncodeIdHintAnimated {\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n animation: 3s ease-in-out forwards slideUpAndDown;\n display: flex;\n position: relative;\n}\n\n.IncodeIdHint .IncodeIdHintAnimated .IncodeIdHintSvg {\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdHint .IncodeIdHintAnimated .IncodeIdHintSvg svg {\n width: var(--id-capture-hint-svg-size);\n height: var(--id-capture-hint-svg-size);\n min-width: var(--id-capture-hint-svg-size);\n min-height: var(--id-capture-hint-svg-size);\n}\n\n.IncodeComponent .IncodePermissionInCameraPage .IncodePermissionInCameraContent {\n opacity: 0;\n width: 100%;\n height: 100%;\n animation: incodePermissionInCameraReveal var(--id-tutorial-to-permission-transition-duration) ease-out var(--id-permission-in-camera-reveal-delay) forwards;\n flex-direction: column;\n align-items: center;\n display: flex;\n}\n\n.IncodeComponent .IncodePermissionInCameraPage .IncodePermissionInCameraReservedFooter {\n visibility: hidden;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeComponent .IncodePermissionInCameraPage .IncodePermissionInCameraContent {\n animation-duration: 1ms;\n animation-delay: 0s;\n }\n}\n\n@keyframes incodePermissionInCameraReveal {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage {\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowCaptureLayer, .IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowPermissionLayer, .IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowTutorialLayer {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n position: absolute;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowCaptureLayer {\n z-index: 10;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowPermissionLayer {\n z-index: 20;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowTutorialLayer {\n z-index: 30;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowPermissionLayerExiting {\n pointer-events: none;\n animation: incodePermissionInCameraToCaptureExit var(--id-permission-in-camera-to-capture-transition-duration) ease-in var(--id-permission-in-camera-to-capture-transition-duration) forwards;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowPermissionLayerExiting .IncodePermissionInCameraHeading {\n animation: incodePermissionInCameraHeadingExit var(--id-permission-in-camera-to-capture-transition-duration) ease-in forwards;\n}\n\n.IncodeComponent .IncodePermissionInCameraFlowStage > .IncodePermissionInCameraFlowTutorialLayerExiting {\n pointer-events: none;\n animation: incodeTutorialToPermissionInCameraExit var(--id-tutorial-to-permission-transition-duration) ease-in forwards;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeComponent .IncodePermissionInCameraFlowPermissionLayerExiting {\n animation-duration: 1ms;\n animation-delay: 0s;\n }\n\n .IncodeComponent .IncodePermissionInCameraFlowPermissionLayerExiting .IncodePermissionInCameraHeading, .IncodeComponent .IncodePermissionInCameraFlowTutorialLayerExiting {\n animation-duration: 1ms;\n }\n}\n\n@keyframes incodeTutorialToPermissionInCameraExit {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@keyframes incodePermissionInCameraHeadingExit {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@keyframes incodePermissionInCameraToCaptureExit {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n.IncodeIdProcessingPage .IncodePageInner {\n padding: var(--spacing-0, var(--spacing-none, 0px));\n}\n\n.IncodeIdProcessingLayout {\n width: 100%;\n height: 100%;\n padding: var(--spacing-24, var(--spacing-24, 24px));\n background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent {\n z-index: 10;\n flex-direction: column;\n align-items: center;\n width: 100%;\n height: 100%;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeIdProcessingTopArea {\n justify-content: flex-end;\n align-items: center;\n gap: var(--spacing-24, var(--spacing-24, 24px));\n padding-bottom: var(--spacing-40, var(--spacing-40, 40px));\n z-index: 10;\n flex-direction: column;\n flex: 1;\n width: 100%;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame {\n overflow: hidden;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame.IncodeCaptureFrameVertical {\n width: var(--id-capture-frame-vertical-width);\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame.IncodeCaptureFrameVertical .IncodeIdProcessingOverlay {\n left: -25%;\n right: -25%;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingImage {\n background-color: var(--color-surface-neutral-900, var(--surface-neutral-900));\n object-fit: cover;\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingImage.IncodeIdProcessingImageBlurred {\n filter: blur(var(--id-processing-image-blur-radius));\n -webkit-backdrop-filter: blur(var(--id-processing-image-blur-radius));\n backdrop-filter: blur(var(--id-processing-image-blur-radius));\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingPlaceholder {\n background-color: var(--color-surface-neutral-100, var(--surface-neutral-100));\n width: 100%;\n height: 100%;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingOverlay {\n pointer-events: none;\n z-index: 10;\n justify-content: center;\n align-items: center;\n display: flex;\n position: absolute;\n inset: 0 -10%;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeIdProcessingBottomArea {\n width: 100%;\n max-width: var(--id-capture-bottom-area-max-w);\n padding-top: var(--spacing-8, var(--spacing-8, 8px));\n z-index: 10;\n flex-direction: column;\n flex: 1;\n justify-content: space-between;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeIdProcessingBottomArea .IncodeCaptureEncryptionLabel {\n justify-content: center;\n align-items: center;\n gap: var(--spacing-4, var(--spacing-4, 4px));\n padding-bottom: var(--spacing-12, var(--spacing-12, 12px));\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-m-regular-size);\n font-weight: var(--typography-body-m-regular-weight);\n line-height: var(--typography-body-m-regular-line-height);\n letter-spacing: var(--typography-body-m-regular-letter-spacing);\n white-space: nowrap;\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n display: flex;\n}\n\n.IncodeIdProcessingLayout.IncodeIdProcessingLayoutNoImage .IncodeIdProcessingBottomArea {\n justify-content: flex-end;\n}\n\n.IncodeIdProcessingLayout .IncodeAnalyzingContent {\n flex-direction: column;\n align-items: center;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeAnalyzingContent .IncodeProgressBarContainer {\n margin-bottom: var(--spacing-24, var(--spacing-24, 24px));\n}\n\n.IncodeIdProcessingLayout .IncodeAnalyzingContent .IncodeAnalyzingTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h2-size);\n font-weight: var(--typography-headline-h2-weight);\n line-height: var(--typography-headline-h2-line-height);\n letter-spacing: var(--typography-headline-h2-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n text-align: center;\n min-height: var(--typography-headline-h2-line-height);\n}\n\n.IncodeIdProcessingLayout .IncodeAnalyzingContent .IncodeAnalyzingTitle .IncodeAnalyzingTitleText {\n animation: IncodeAnalyzingTitleFade var(--id-capture-analyzing-title-fade-duration) ease-out both;\n display: inline-block;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdProcessingLayout .IncodeAnalyzingContent .IncodeAnalyzingTitle .IncodeAnalyzingTitleText {\n animation-duration: 1ms;\n }\n}\n\n.IncodeIdProcessingLayout .IncodeAnalyzingLottie {\n width: 100%;\n max-width: none;\n}\n\n@keyframes IncodeAnalyzingTitleFade {\n from {\n opacity: 0;\n transform: translateY(var(--id-capture-analyzing-title-fade-offset));\n }\n\n to {\n opacity: 1;\n transform: none;\n }\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultContent, .IncodeIdProcessingLayout .IncodeIdProcessingResultStatus {\n flex-direction: column;\n align-items: center;\n width: 100%;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h2-size);\n font-weight: var(--typography-headline-h2-weight);\n line-height: var(--typography-headline-h2-line-height);\n letter-spacing: var(--typography-headline-h2-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n text-align: center;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultSubtitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n text-align: center;\n max-width: var(--incode-form-max-w);\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultButtonContainer {\n margin-top: var(--spacing-24, var(--spacing-24, 24px));\n gap: var(--spacing-16, var(--spacing-16, 16px));\n flex-direction: column;\n width: 100%;\n display: flex;\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultAttempts {\n padding-block: var(--spacing-12, var(--spacing-12, 12px));\n text-align: center;\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h4-size);\n font-weight: var(--typography-headline-h4-weight);\n line-height: var(--typography-headline-h4-line-height);\n letter-spacing: var(--typography-headline-h4-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n}\n\n.IncodeIdProcessingLayout .IncodeIdProcessingResultContentExiting, .IncodeIdProcessingLayout .IncodeIdProcessingResultButtonContainerExiting {\n animation: .3s ease-out forwards incodeIdProcessingResultFadeOut;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeIdProcessingLayout .IncodeIdProcessingResultContentExiting, .IncodeIdProcessingLayout .IncodeIdProcessingResultButtonContainerExiting {\n animation-duration: 1ms;\n }\n}\n\n@keyframes incodeIdProcessingResultFadeOut {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n.IncodeIdError {\n inset: var(--spacing-0, var(--spacing-none, 0px));\n z-index: 1000;\n justify-content: center;\n align-items: center;\n gap: var(--spacing-16, var(--spacing-16, 16px));\n flex-direction: column;\n width: 100%;\n height: 100%;\n display: flex;\n position: fixed;\n}\n\n.IncodeIdError .IncodeIdErrorMessage {\n text-align: center;\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h4-size);\n font-weight: var(--typography-headline-h4-weight);\n line-height: var(--typography-headline-h4-line-height);\n letter-spacing: var(--typography-headline-h4-letter-spacing);\n color: var(--color-text-body-0, var(--text-body-0-static));\n max-width: var(--incode-form-max-w);\n margin-bottom: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdNoAttemptsContent {\n padding-inline: var(--spacing-20, var(--spacing-20, 20px));\n max-height: var(--id-no-attempts-content-max-h);\n max-width: var(--id-no-attempts-content-max-w);\n flex-direction: column;\n flex: 1;\n justify-content: center;\n align-items: center;\n margin: auto;\n display: flex;\n}\n\n.IncodeIdNoAttemptsContent .IncodeIdNoAttemptsIcon {\n margin-bottom: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdNoAttemptsContent .IncodeIdNoAttemptsTitle {\n text-align: center;\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n}\n\n.IncodeIdNoAttemptsContent .IncodeIdNoAttemptsSubtitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n text-align: center;\n max-width: var(--incode-form-max-w);\n}\n\n.IncodeIdNoAttemptsContent .IncodeIdNoAttemptsButtonContainer {\n bottom: var(--spacing-32, var(--spacing-32, 32px));\n right: var(--spacing-0, var(--spacing-none, 0px));\n left: var(--spacing-0, var(--spacing-none, 0px));\n padding-inline: var(--spacing-24, var(--spacing-24, 24px));\n justify-content: center;\n display: flex;\n position: absolute;\n}\n\n.IncodeUnacceptedIdDocuments {\n margin-top: var(--spacing-32, var(--spacing-32, 32px));\n flex-direction: column;\n align-items: center;\n width: 100%;\n display: flex;\n}\n\n.IncodeUnacceptedIdDocuments .IncodeUnacceptedIdDocumentsCountry {\n margin-bottom: var(--spacing-32, var(--spacing-32, 32px));\n align-items: center;\n gap: var(--spacing-8, var(--spacing-8, 8px));\n flex-direction: column;\n display: flex;\n}\n\n.IncodeUnacceptedIdDocuments .IncodeUnacceptedIdDocumentsCountryHeading {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h4-size);\n font-weight: var(--typography-headline-h4-weight);\n line-height: var(--typography-headline-h4-line-height);\n letter-spacing: var(--typography-headline-h4-letter-spacing);\n}\n\n.IncodeUnacceptedIdDocuments .IncodeUnacceptedIdDocumentsCountryLabel {\n align-items: center;\n gap: var(--spacing-8, var(--spacing-8, 8px));\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h3-size);\n font-weight: var(--typography-headline-h3-weight);\n line-height: var(--typography-headline-h3-line-height);\n letter-spacing: var(--typography-headline-h3-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n display: inline-flex;\n}\n\n.IncodeIdCaptureNotification {\n right: var(--spacing-24, var(--spacing-24, 24px));\n left: var(--spacing-24, var(--spacing-24, 24px));\n z-index: 100;\n max-width: var(--incode-form-max-w);\n padding-bottom: var(--spacing-32, var(--spacing-32, 32px));\n top: var(--incode-overlay-top-inset, var(--spacing-24));\n align-items: flex-end;\n margin: auto;\n display: flex;\n position: absolute;\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent {\n z-index: 100;\n border-radius: var(--radius-large, var(--border-radius-large));\n border-style: var(--tw-border-style);\n border-width: 2px;\n border-color: var(--color-border-neutral-300, var(--border-neutral-300));\n background-color: var(--color-surface-neutral-900-80, var(--surface-neutral-900-80));\n width: 100%;\n padding-inline: var(--spacing-20, var(--spacing-20, 20px));\n box-shadow: var(--id-capture-notification-content-shadow);\n display: flex;\n overflow: hidden;\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent.IncodeIdCaptureNotificationContent--minimal {\n justify-content: center;\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent .IncodeIdCaptureNotificationText {\n justify-content: center;\n gap: var(--spacing-8, var(--spacing-8, 8px));\n padding-top: var(--spacing-16, var(--spacing-16, 16px));\n padding-bottom: var(--spacing-12, var(--spacing-12, 12px));\n text-align: center;\n color: var(--color-text-body-0-static, var(--text-body-0-static));\n flex-direction: column;\n display: flex;\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent .IncodeIdCaptureNotificationText .IncodeIdCaptureNotificationTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h3-size);\n font-weight: var(--typography-headline-h3-weight);\n line-height: var(--typography-headline-h3-line-height);\n letter-spacing: var(--typography-headline-h3-letter-spacing);\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent .IncodeIdCaptureNotificationText .IncodeIdCaptureNotificationDescription {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n color: var(--color-text-body-tertiary-static, var(--text-body-300-tertiary-static));\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent.IncodeIdCaptureNotificationContent--minimal .IncodeIdCaptureNotificationText {\n gap: var(--spacing-4, var(--spacing-4, 4px));\n padding-block: var(--spacing-16, var(--spacing-16, 16px));\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent.IncodeIdCaptureNotificationContent--minimal .IncodeIdCaptureNotificationText .IncodeIdCaptureNotificationTitle {\n font-family: var(--typography-headline-family);\n font-size: var(--typography-headline-h5-size);\n font-weight: var(--typography-headline-h5-weight);\n line-height: var(--typography-headline-h5-line-height);\n letter-spacing: var(--typography-headline-h5-letter-spacing);\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent.IncodeIdCaptureNotificationContent--minimal .IncodeIdCaptureNotificationText .IncodeIdCaptureNotificationDescription {\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-m-regular-size);\n font-weight: var(--typography-body-m-regular-weight);\n line-height: var(--typography-body-m-regular-line-height);\n letter-spacing: var(--typography-body-m-regular-letter-spacing);\n}\n\n.IncodeIdCaptureNotification .IncodeIdCaptureNotificationContent .IncodeIdCaptureNotificationAnimation {\n height: var(--id-capture-notification-animation-height);\n justify-content: center;\n align-items: center;\n width: auto;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage {\n height: 100%;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadBody {\n justify-content: center;\n align-items: center;\n row-gap: var(--spacing-16, var(--spacing-16, 16px));\n width: 100%;\n height: 100%;\n max-width: var(--digital-id-content-max-w);\n flex-direction: column;\n margin-inline: auto;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadPreviewBody {\n row-gap: var(--spacing-16, var(--spacing-16, 16px));\n grid-template-columns: 1fr;\n grid-template-rows: var(--spacing-24) var(--digital-id-preview-h) var(--spacing-24);\n width: 100%;\n height: 100%;\n max-width: var(--digital-id-content-max-w);\n align-content: center;\n justify-items: center;\n margin-inline: auto;\n display: grid;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadPreStatusZone {\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadPostCaptionZone {\n justify-content: center;\n align-items: flex-start;\n width: 100%;\n height: 100%;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadFooter {\n width: 100%;\n margin-inline: auto;\n margin-top: var(--spacing-24, var(--spacing-24, 24px));\n margin-bottom: var(--spacing-8, var(--spacing-8, 8px));\n justify-content: flex-end;\n row-gap: var(--spacing-16, var(--spacing-16, 16px));\n max-width: var(--digital-id-content-max-w);\n min-height: var(--digital-id-footer-min-h);\n flex-direction: column;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadHiddenInput {\n display: none;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadTutorialIllustration {\n width: 100%;\n max-height: var(--digital-id-tutorial-illustration-max-h);\n flex: 1;\n justify-content: center;\n align-items: center;\n display: flex;\n overflow: hidden;\n}\n\n.IncodeDigitalIdUploadPage .IncodeUploadIdScreenImage {\n height: var(--digital-id-illustration-max-h);\n aspect-ratio: 191 / 266;\n width: auto;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadPreviewCard {\n border-radius: var(--radius-medium, var(--border-radius-medium));\n border-style: var(--tw-border-style);\n --tw-border-style: solid;\n border-style: solid;\n border-width: 1px;\n border-color: var(--color-border-neutral-100, var(--border-neutral-100));\n background-color: var(--color-surface-neutral-0, var(--surface-neutral-0));\n width: var(--digital-id-preview-w);\n height: var(--digital-id-preview-h);\n justify-content: center;\n align-items: center;\n display: flex;\n overflow: hidden;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadDocumentPreview {\n width: var(--digital-id-preview-w);\n height: var(--digital-id-preview-h);\n justify-content: center;\n align-items: center;\n display: flex;\n position: relative;\n overflow: visible;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadDocumentPreviewPdf {\n border-radius: var(--radius-medium, var(--border-radius-medium));\n border-style: var(--tw-border-style);\n border-width: var(--border-width-bold, var(--primitive-border-width-2));\n --tw-border-style: solid;\n border-style: solid;\n border-color: var(--color-border-status-positive, var(--border-status-positive-static));\n object-fit: contain;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadPreviewPdf {\n object-fit: contain;\n width: 100%;\n height: 100%;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadFileName {\n text-align: center;\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-m-regular-size);\n font-weight: var(--typography-body-m-regular-weight);\n line-height: var(--typography-body-m-regular-line-height);\n letter-spacing: var(--typography-body-m-regular-letter-spacing);\n color: var(--color-text-body-primary, var(--text-body-800-primary));\n max-width: var(--digital-id-file-name-max-w);\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadProgressBar .IncodeProgressBar {\n border-radius: var(--radius-full, var(--border-radius-full));\n background-color: var(--color-surface-neutral-200, var(--surface-neutral-200));\n width: var(--digital-id-progress-bar-w);\n height: var(--digital-id-progress-bar-h);\n overflow: hidden;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadProgressBar .IncodeProgressBarFill {\n border-radius: var(--radius-full, var(--border-radius-full));\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadLaserOverlay {\n pointer-events: none;\n width: var(--digital-id-preview-w);\n height: var(--digital-id-laser-h);\n transform: translateX(-50%) scale(var(--digital-id-laser-scale));\n position: absolute;\n top: -2px;\n left: 50%;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .IncodeDigitalIdUploadPage .IncodeDigitalIdUploadLaserOverlay {\n display: none;\n }\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadSuccessIcon {\n color: var(--color-icon-status-positive, var(--icon-status-positive));\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadErrorIcon {\n margin-bottom: var(--spacing-8, var(--spacing-8, 8px));\n color: var(--color-icon-status-negative, var(--icon-status-negative));\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadErrorPreview {\n margin-top: var(--spacing-8, var(--spacing-8, 8px));\n border-radius: var(--radius-medium, var(--border-radius-medium));\n border-style: var(--tw-border-style);\n --tw-border-style: solid;\n border-style: solid;\n border-width: 1px;\n border-color: var(--color-border-status-negative, var(--border-status-negative));\n padding: var(--spacing-4);\n}\n\n.IncodeDigitalIdUploadPage .IncodeDigitalIdUploadAttempts {\n margin-top: var(--spacing-8, var(--spacing-8, 8px));\n font-family: var(--typography-body-family);\n font-size: var(--typography-body-s-regular-size);\n font-weight: var(--typography-body-s-regular-weight);\n line-height: var(--typography-body-s-regular-line-height);\n letter-spacing: var(--typography-body-s-regular-letter-spacing);\n color: var(--color-text-body-secondary, var(--text-body-500-secondary));\n}\n\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n";
|
|
@@ -102,10 +102,10 @@ var LAZY_UI_MODULES = {
|
|
|
102
102
|
GOVT_VALIDATION_PROVISIONING: () => import("./government-validation/government-validation.es.js").then((m) => m.GovernmentValidation),
|
|
103
103
|
INE_VALIDATION: () => import("./government-validation/government-validation.es.js").then((m) => m.GovernmentValidation),
|
|
104
104
|
GEOLOCATION: () => import("./geolocation/geolocation.es.js").then((m) => m.Geolocation),
|
|
105
|
-
EXTERNAL_VERIFICATION: () => import("./ekycModule-
|
|
105
|
+
EXTERNAL_VERIFICATION: () => import("./ekycModule-CiDUWz-q.js").then((m) => m.EkycModule),
|
|
106
106
|
EKYB: () => import("./ekybModule-XTatnIX9.js").then((m) => m.EkybModule),
|
|
107
|
-
DOCUMENT_CAPTURE: () => import("./documentCapture-
|
|
108
|
-
ADDRESS: () => import("./documentCapture-
|
|
107
|
+
DOCUMENT_CAPTURE: () => import("./documentCapture-Dh3phhOf.js").then((m) => m.DocumentCapture),
|
|
108
|
+
ADDRESS: () => import("./documentCapture-Dh3phhOf.js").then((m) => m.DocumentCapture),
|
|
109
109
|
COMBINED_CONSENT: () => import("./consent/consent.es.js").then((m) => m.Consent),
|
|
110
110
|
MANDATORY_CONSENT: () => import("./mandatoryConsent-B8lmqB0W.js").then((m) => m.MandatoryConsent),
|
|
111
111
|
ML_CONSENT: () => import("./mandatoryConsent-B8lmqB0W.js").then((m) => m.MandatoryConsent),
|
|
@@ -972,6 +972,12 @@ declare type ProgressBarProps = {
|
|
|
972
972
|
label?: string;
|
|
973
973
|
className?: string;
|
|
974
974
|
labelledById?: string;
|
|
975
|
+
/**
|
|
976
|
+
* Also creep the bar forward on its own for a few seconds, in CSS, while
|
|
977
|
+
* `progress` has not moved yet. The bar shows whichever fill is longer.
|
|
978
|
+
* Starts after `--progress-bar-simulated-delay` (default 0s).
|
|
979
|
+
*/
|
|
980
|
+
simulated?: boolean;
|
|
975
981
|
};
|
|
976
982
|
|
|
977
983
|
export declare const RadioButtonComposed: FunctionalComponent<PropsWithoutRef<RadioButtonComposedProps> & {
|
|
@@ -4,7 +4,7 @@ import { d as cn, t as Spacer } from "./spacer-Ce93Ypvp.js";
|
|
|
4
4
|
import { _ as CaptureButtonIcon, a as LockIcon } from "./icons-DrOzoEs-.js";
|
|
5
5
|
import { r as HelpButton } from "./cameraOverlayHeader-Cpzdt7gL.js";
|
|
6
6
|
//#region src/shared/progressBar/progressBar.tsx
|
|
7
|
-
var ProgressBar = ({ progress, label, className, labelledById }) => /* @__PURE__ */ u("div", {
|
|
7
|
+
var ProgressBar = ({ progress, label, className, labelledById, simulated = false }) => /* @__PURE__ */ u("div", {
|
|
8
8
|
class: cn("IncodeProgressBarContainer", className),
|
|
9
9
|
children: [/* @__PURE__ */ u("div", {
|
|
10
10
|
class: "IncodeProgressBar",
|
|
@@ -14,10 +14,13 @@ var ProgressBar = ({ progress, label, className, labelledById }) => /* @__PURE__
|
|
|
14
14
|
"aria-valuemax": 100,
|
|
15
15
|
"aria-label": labelledById ? void 0 : label,
|
|
16
16
|
"aria-labelledby": labelledById,
|
|
17
|
-
children: /* @__PURE__ */ u("div", {
|
|
17
|
+
children: [simulated && /* @__PURE__ */ u("div", {
|
|
18
|
+
class: "IncodeProgressBarSimulated",
|
|
19
|
+
"aria-hidden": "true"
|
|
20
|
+
}), /* @__PURE__ */ u("div", {
|
|
18
21
|
class: "IncodeProgressBarFill",
|
|
19
22
|
style: { width: `${progress}%` }
|
|
20
|
-
})
|
|
23
|
+
})]
|
|
21
24
|
}), label ? /* @__PURE__ */ u(k, { children: [/* @__PURE__ */ u(Spacer, { size: 24 }), /* @__PURE__ */ u("p", {
|
|
22
25
|
class: "IncodeProgressBarLabel",
|
|
23
26
|
children: label
|
package/dist/workflow/styles.css
CHANGED
|
@@ -1820,6 +1820,19 @@
|
|
|
1820
1820
|
}
|
|
1821
1821
|
}
|
|
1822
1822
|
|
|
1823
|
+
.IncodeIdCaptureStage > .IncodeIdCaptureStageAnalyzingPending {
|
|
1824
|
+
pointer-events: none;
|
|
1825
|
+
z-index: 1001;
|
|
1826
|
+
opacity: 0;
|
|
1827
|
+
animation: incodeIdCaptureAnalyzingReveal .2s ease-out calc(var(--capture-countdown-end) + var(--id-capture-result-flash-duration)) forwards;
|
|
1828
|
+
}
|
|
1829
|
+
|
|
1830
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1831
|
+
.IncodeIdCaptureStage > .IncodeIdCaptureStageAnalyzingPending {
|
|
1832
|
+
animation-duration: 1ms;
|
|
1833
|
+
}
|
|
1834
|
+
}
|
|
1835
|
+
|
|
1823
1836
|
.IncodeIdCaptureStage > .IncodeIdCaptureStageResultEntering {
|
|
1824
1837
|
animation: incodeIdCaptureResultCrossfadeIn var(--id-capture-result-crossfade-duration) linear forwards;
|
|
1825
1838
|
pointer-events: none;
|
|
@@ -1915,6 +1928,16 @@
|
|
|
1915
1928
|
display: flex;
|
|
1916
1929
|
}
|
|
1917
1930
|
|
|
1931
|
+
@keyframes incodeIdCaptureAnalyzingReveal {
|
|
1932
|
+
from {
|
|
1933
|
+
opacity: 0;
|
|
1934
|
+
}
|
|
1935
|
+
|
|
1936
|
+
to {
|
|
1937
|
+
opacity: 1;
|
|
1938
|
+
}
|
|
1939
|
+
}
|
|
1940
|
+
|
|
1918
1941
|
@keyframes incodeIdCaptureResultCrossfadeOut {
|
|
1919
1942
|
from {
|
|
1920
1943
|
opacity: 1;
|
|
@@ -2345,6 +2368,12 @@
|
|
|
2345
2368
|
backdrop-filter: blur(var(--id-processing-image-blur-radius));
|
|
2346
2369
|
}
|
|
2347
2370
|
|
|
2371
|
+
.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingPlaceholder {
|
|
2372
|
+
background-color: var(--color-surface-neutral-100, var(--surface-neutral-100));
|
|
2373
|
+
width: 100%;
|
|
2374
|
+
height: 100%;
|
|
2375
|
+
}
|
|
2376
|
+
|
|
2348
2377
|
.IncodeIdProcessingLayout .IncodeIdProcessingLayoutContent .IncodeCaptureFrame .IncodeIdProcessingOverlay {
|
|
2349
2378
|
pointer-events: none;
|
|
2350
2379
|
z-index: 10;
|
|
@@ -3611,7 +3640,7 @@
|
|
|
3611
3640
|
}
|
|
3612
3641
|
}
|
|
3613
3642
|
|
|
3614
|
-
.IncodeEkycPage .IncodeEkycForm .IncodeInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDropdownComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDateInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePhoneInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeAddressAutocomplete {
|
|
3643
|
+
.IncodeEkycPage .IncodeEkycForm .IncodeInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDropdownComposed, .IncodeEkycPage .IncodeEkycForm .IncodeDateInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePhoneInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodePasswordInputComposed, .IncodeEkycPage .IncodeEkycForm .IncodeAddressAutocomplete {
|
|
3615
3644
|
margin-inline: auto;
|
|
3616
3645
|
}
|
|
3617
3646
|
|
|
@@ -4,7 +4,7 @@ import { i as fetchAndApplyTheme } from "../dashboardTheme-CFpHx2RR.js";
|
|
|
4
4
|
import { C as useManager, a as ResolvedConfigProvider, c as Page, d as TransitionSpinner, s as TerminalErrorPage, t as IncodeComponent, w as withSessionExpiry } from "../incodeComponent-BlRJfZjh.js";
|
|
5
5
|
import { t as AutoFocusTitle } from "../autoFocusTitle-Mhw9ii46.js";
|
|
6
6
|
import { t as registerIncodeModuleElement } from "../incodeModule-CODDnk9s.js";
|
|
7
|
-
import { a as LAZY_UI_MODULES, d as setupSDK, m as resolveSessionLanguage, n as extractIncodeStatus, p as isDesktopOrEmulated, r as UnsupportedModule, t as resolveApiKey } from "../resolveApiKey-
|
|
7
|
+
import { a as LAZY_UI_MODULES, d as setupSDK, m as resolveSessionLanguage, n as extractIncodeStatus, p as isDesktopOrEmulated, r as UnsupportedModule, t as resolveApiKey } from "../resolveApiKey-CoAgpRM9.js";
|
|
8
8
|
import { a as HEADLESS_WORKFLOW_MODULE_KEYS, n as useModuleLoader } from "../useModuleLoader-DpcbSKBH.js";
|
|
9
9
|
import { resolveWasmConfigForPipelines, setWasmConfig, upgradeToWasmHttpClient, warmupWasm } from "@incodetech/core/wasm";
|
|
10
10
|
import { bootstrapSession, getFinishStatus, 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-20260928-
|
|
3
|
+
"version": "0.0.0-dev-20260928-d449de76",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -287,7 +287,7 @@
|
|
|
287
287
|
],
|
|
288
288
|
"dependencies": {
|
|
289
289
|
"preact": "^10.27.2",
|
|
290
|
-
"@incodetech/core": "0.0.0-dev-20260928-
|
|
290
|
+
"@incodetech/core": "0.0.0-dev-20260928-d449de76"
|
|
291
291
|
},
|
|
292
292
|
"devDependencies": {
|
|
293
293
|
"@fontsource/dm-sans": "^5.2.8",
|