@sekyro/elements 0.0.0-stage → 0.1.0-rc.1
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/CHANGELOG.md +14 -0
- package/LICENSE +29 -0
- package/README.md +247 -2
- package/custom-elements.json +355 -0
- package/dist/cdn/chunks/background-monitor-GCMNCJMG-UXYQ5GX7.js +1 -0
- package/dist/cdn/chunks/camera-trait-HVV5ZEDI-JB4HN6S3.js +1 -0
- package/dist/cdn/chunks/capture-session-doc-ELX6VK6Z-SDM3ILRA.js +1 -0
- package/dist/cdn/chunks/chunk-36WGD7QV.js +14 -0
- package/dist/cdn/chunks/chunk-4FHWXBOB.js +1 -0
- package/dist/cdn/chunks/chunk-5FLR7RPJ.js +1 -0
- package/dist/cdn/chunks/chunk-6H22RNSK.js +1 -0
- package/dist/cdn/chunks/chunk-7HJH5Q4M.js +1 -0
- package/dist/cdn/chunks/chunk-7Y73DZJB.js +1 -0
- package/dist/cdn/chunks/chunk-BF6SE2AC.js +1 -0
- package/dist/cdn/chunks/chunk-BZ37D4FR.js +1 -0
- package/dist/cdn/chunks/chunk-CFJJD6T2.js +1 -0
- package/dist/cdn/chunks/chunk-CMDITVXF.js +1 -0
- package/dist/cdn/chunks/chunk-CMS5FVGM.js +1 -0
- package/dist/cdn/chunks/chunk-CYGAKCKG.js +1 -0
- package/dist/cdn/chunks/chunk-D334IAZJ.js +1 -0
- package/dist/cdn/chunks/chunk-ET7NCKUV.js +1 -0
- package/dist/cdn/chunks/chunk-FAIDO3QL.js +1 -0
- package/dist/cdn/chunks/chunk-FCTRNWRU.js +1 -0
- package/dist/cdn/chunks/chunk-FDWO4KXK.js +1 -0
- package/dist/cdn/chunks/chunk-FEWP7HBJ.js +1 -0
- package/dist/cdn/chunks/chunk-HDJ6JFXX.js +1 -0
- package/dist/cdn/chunks/chunk-HQF66Y6S.js +1 -0
- package/dist/cdn/chunks/chunk-IBOJTLL7.js +1 -0
- package/dist/cdn/chunks/chunk-JM3CYFFZ.js +1 -0
- package/dist/cdn/chunks/chunk-JOZCJGRV.js +1 -0
- package/dist/cdn/chunks/chunk-KLE75SX4.js +1 -0
- package/dist/cdn/chunks/chunk-LYYAVERP.js +1 -0
- package/dist/cdn/chunks/chunk-PUO2VWDE.js +33 -0
- package/dist/cdn/chunks/chunk-RK4HVNRS.js +1 -0
- package/dist/cdn/chunks/chunk-RRLXNT33.js +1 -0
- package/dist/cdn/chunks/chunk-SK6UAYX2.js +1 -0
- package/dist/cdn/chunks/chunk-T4M2J44L.js +1 -0
- package/dist/cdn/chunks/chunk-U3UDWPBG.js +1 -0
- package/dist/cdn/chunks/chunk-UZWMCNZI.js +1 -0
- package/dist/cdn/chunks/chunk-X3BGM3B2.js +1 -0
- package/dist/cdn/chunks/chunk-X767DBO7.js +1 -0
- package/dist/cdn/chunks/chunk-YWPZG2MZ.js +25 -0
- package/dist/cdn/chunks/chunk-ZIC5GEH2.js +1 -0
- package/dist/cdn/chunks/chunk-ZKLSZJFN.js +1 -0
- package/dist/cdn/chunks/clip-inspect-HZ7N2YOP-DCDXB76T.js +1 -0
- package/dist/cdn/chunks/create-document-capture-UHZJUZHC-YYZNCSW6.js +1 -0
- package/dist/cdn/chunks/create-portrait-capture-VRZZOMJS-I4FBRNBP.js +1 -0
- package/dist/cdn/chunks/detector-scanic-F3Y5X3DF-FGVR4NEM.js +1 -0
- package/dist/cdn/chunks/document-capture-view-JE6IX4IE-2454PW6Z.js +1 -0
- package/dist/cdn/chunks/eid-view-RZS6MLT6-35VSHTV3.js +1 -0
- package/dist/cdn/chunks/email-otp-view-WUQ5OGDD-YDSUKAN2.js +1 -0
- package/dist/cdn/chunks/flow-views-5L7JF3MM-M6C3RXSX.js +1 -0
- package/dist/cdn/chunks/icao-gate-SO6YJ7RV-MPW6W3QN.js +1 -0
- package/dist/cdn/chunks/icao-tuning-DCZCMCEQ-ZQSK7ZOV.js +1 -0
- package/dist/cdn/chunks/keyframe-rank-R4NPQGN3-VRURE6OQ.js +1 -0
- package/dist/cdn/chunks/landmarker-3BBP3RBY-DDXMOLGK.js +1 -0
- package/dist/cdn/chunks/mrz-band-DCXFWDBD-OPMO6HYS.js +1 -0
- package/dist/cdn/chunks/overlay-de-JQ2FDZBA-HLFTXIF6.js +1 -0
- package/dist/cdn/chunks/overlay-es-WDYRSRHH-UXHTYCHD.js +1 -0
- package/dist/cdn/chunks/overlay-pt-AQMDWDWX-BD7TO6Y4.js +1 -0
- package/dist/cdn/chunks/plan-runner-ZHOYMRAO-RDS523K5.js +1 -0
- package/dist/cdn/chunks/portrait-capture-view-GQIBQY4U-TJUYRCTI.js +1 -0
- package/dist/cdn/chunks/portrait-review-view-XOQYQNU7-LPONGGFW.js +1 -0
- package/dist/cdn/chunks/print-4WOMNRBE-DNXJ7ERA.js +11 -0
- package/dist/cdn/chunks/scanic-ml-stub-XPNKT2N3-YSXFN7KY.js +1 -0
- package/dist/cdn/chunks/segmenter-3CVPTZMM-WGI6XGWN.js +1 -0
- package/dist/cdn/chunks/turnstile-N4K4U2AI-SLP55XAA.js +1 -0
- package/dist/cdn/chunks/upload-file-C4MFKLT3-DXCNEDXP.js +1 -0
- package/dist/cdn/chunks/vision_bundle-WBHR7TEE.js +41 -0
- package/dist/cdn/define.js +1 -0
- package/dist/cdn/index.js +1 -0
- package/dist/chunk-6NQ7EWA4.js +1 -0
- package/dist/chunk-72JW2LCH.js +25 -0
- package/dist/chunk-7URX73UH.js +1 -0
- package/dist/chunk-AGPBG22V.js +1 -0
- package/dist/chunk-B6A5RXN4.js +1 -0
- package/dist/chunk-EIRNIJXL.js +1 -0
- package/dist/chunk-ESSKMX7I.js +1 -0
- package/dist/chunk-IBPUWYHJ.js +1 -0
- package/dist/chunk-IGC6OQZ2.js +14 -0
- package/dist/chunk-QE2B3MSJ.js +1 -0
- package/dist/chunk-RMV3BNWO.js +1 -0
- package/dist/chunk-RPLVIGTS.js +1 -0
- package/dist/chunk-SEE6MST7.js +1 -0
- package/dist/chunk-TPIBYY2S.js +1 -0
- package/dist/chunk-XEY5ANJ6.js +1 -0
- package/dist/chunk-ZDF5JILV.js +33 -0
- package/dist/define.cjs +66 -0
- package/dist/define.d.cts +7 -0
- package/dist/define.d.ts +7 -0
- package/dist/define.js +1 -0
- package/dist/document-capture-view-JE6IX4IE-5HJYAEDX.js +1 -0
- package/dist/eid-view-RZS6MLT6-2W2T3AWK.js +1 -0
- package/dist/email-otp-view-WUQ5OGDD-NGI6PBX3.js +1 -0
- package/dist/flow-views-5L7JF3MM-P55CCCOH.js +1 -0
- package/dist/fonts/Cairo-OFL.txt +93 -0
- package/dist/fonts/Geist-OFL.txt +93 -0
- package/dist/fonts/Inter-OFL.txt +93 -0
- package/dist/fonts/SekyroCairo-Bold.woff2 +0 -0
- package/dist/fonts/SekyroCairo-Regular.woff2 +0 -0
- package/dist/fonts/SekyroCairo-SemiBold.woff2 +0 -0
- package/dist/fonts/SekyroGeist-Bold.woff2 +0 -0
- package/dist/fonts/SekyroGeist-SemiBold.woff2 +0 -0
- package/dist/fonts/SekyroInter-Medium.woff2 +0 -0
- package/dist/fonts/SekyroInter-Regular.woff2 +0 -0
- package/dist/fonts/SekyroInter-SemiBold.woff2 +0 -0
- package/dist/index.cjs +66 -0
- package/dist/index.d.cts +1115 -0
- package/dist/index.d.ts +1115 -0
- package/dist/index.js +1 -0
- package/dist/overlay-de-JQ2FDZBA-FR25JPE4.js +1 -0
- package/dist/overlay-es-WDYRSRHH-PFDMX5D2.js +1 -0
- package/dist/overlay-pt-AQMDWDWX-LTD4N2DW.js +1 -0
- package/dist/portrait-capture-view-GQIBQY4U-AFPEUDLY.js +1 -0
- package/dist/portrait-review-view-XOQYQNU7-IPKAZBP6.js +1 -0
- package/dist/styles.css +1479 -0
- package/package.json +117 -4
- package/types/empty.js +2 -0
- package/types/events.d.ts +9 -0
- package/types/jsx.d.ts +15 -0
- package/types/svelte.d.ts +16 -0
- package/types/vue.d.ts +15 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,1115 @@
|
|
|
1
|
+
import { CapturedArtifacts } from '@sekyro/web';
|
|
2
|
+
import { CaptureError } from '@sekyro/web';
|
|
3
|
+
import { CaptureState } from '@sekyro/web';
|
|
4
|
+
import { DocumentLiveMrzOptions } from '@sekyro/web';
|
|
5
|
+
import { Verification } from '@sekyro/web';
|
|
6
|
+
import { VerificationResult } from '@sekyro/web';
|
|
7
|
+
import { VerificationStep } from '@sekyro/web';
|
|
8
|
+
|
|
9
|
+
export declare const ATTRIBUTES: readonly [{
|
|
10
|
+
readonly name: "client-token";
|
|
11
|
+
readonly property: "clientToken";
|
|
12
|
+
readonly type: "string | null";
|
|
13
|
+
readonly description: "The session's client token, from `clientToken` of the session your server created. Ignored while `verification` is set.";
|
|
14
|
+
}, {
|
|
15
|
+
readonly name: "api-origin";
|
|
16
|
+
readonly property: "apiOrigin";
|
|
17
|
+
readonly type: "string | null";
|
|
18
|
+
readonly description: "The Sekyro AI API origin. Leave it out: the SDK's default is the production API.";
|
|
19
|
+
}, {
|
|
20
|
+
readonly name: "locale";
|
|
21
|
+
readonly property: "locale";
|
|
22
|
+
readonly type: "SekyroLocale | null";
|
|
23
|
+
readonly description: "The language of the flow: `ar`, `fr`, `en`, `es`, `pt` or `de`. Without it: the page's `<html lang>` when it is one of them, else `en`. Arabic runs right to left.";
|
|
24
|
+
}, {
|
|
25
|
+
readonly name: "color-scheme";
|
|
26
|
+
readonly property: "colorScheme";
|
|
27
|
+
readonly type: "SekyroColorScheme | null";
|
|
28
|
+
readonly description: "`light` (the default), `dark`, or `system` to follow the device.";
|
|
29
|
+
}, {
|
|
30
|
+
readonly name: "asset-base-url";
|
|
31
|
+
readonly property: "assetBaseUrl";
|
|
32
|
+
readonly type: "string | null";
|
|
33
|
+
readonly description: "Where your page serves the face detector assets (the `models-v3` files).";
|
|
34
|
+
}, {
|
|
35
|
+
readonly name: "back-navigation";
|
|
36
|
+
readonly property: "backNavigation";
|
|
37
|
+
readonly type: "'history' | 'none' | null";
|
|
38
|
+
readonly description: "`history` lets the browser's back button go one screen back inside the flow. `none` (the default) never touches the page's history.";
|
|
39
|
+
}, {
|
|
40
|
+
readonly name: "handoff-url";
|
|
41
|
+
readonly property: "handoffUrl";
|
|
42
|
+
readonly type: "string | null";
|
|
43
|
+
readonly description: "The link a desktop shows as a QR code when a camera step needs a phone (the session's `hostedUrl`). Without it, a notice asks the person to continue on their phone.";
|
|
44
|
+
}, {
|
|
45
|
+
readonly name: "closable";
|
|
46
|
+
readonly property: "closable";
|
|
47
|
+
readonly type: "boolean";
|
|
48
|
+
readonly boolean: true;
|
|
49
|
+
readonly description: "Shows the header's close button and the result's back button. Both fire `sekyro-close`; take the person back to your page there.";
|
|
50
|
+
}, {
|
|
51
|
+
readonly name: "voice";
|
|
52
|
+
readonly property: "voice";
|
|
53
|
+
readonly type: "'off' | null";
|
|
54
|
+
readonly unreflected: true;
|
|
55
|
+
readonly description: "`off` turns the spoken guidance off. The `voice` property, when set, wins and carries the voice options.";
|
|
56
|
+
}];
|
|
57
|
+
|
|
58
|
+
/** Server rendering imports this module without a DOM: the class then extends a stand-in and is never defined. */
|
|
59
|
+
declare const BaseElement: typeof HTMLElement;
|
|
60
|
+
|
|
61
|
+
/** A built-in tip (copy `capture.tips.<id>`, built-in icon). */
|
|
62
|
+
export declare type BuiltInTipId = "light" | "uncover" | "eyeLevel" | "straight";
|
|
63
|
+
|
|
64
|
+
export { CapturedArtifacts }
|
|
65
|
+
|
|
66
|
+
export { CaptureError }
|
|
67
|
+
|
|
68
|
+
export { CaptureState }
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Defines `<sekyro-verification>`. Idempotent: a second call, or a tag another copy of the package already defined,
|
|
72
|
+
* changes nothing. Returns whether the tag is defined after the call (false without a DOM).
|
|
73
|
+
*/
|
|
74
|
+
export declare function defineSekyroElements(): boolean;
|
|
75
|
+
|
|
76
|
+
export { DocumentLiveMrzOptions }
|
|
77
|
+
|
|
78
|
+
/** Every event is a `CustomEvent` that bubbles and crosses shadow roots (`composed`). */
|
|
79
|
+
export declare const EVENTS: readonly [{
|
|
80
|
+
readonly name: "sekyro-ready";
|
|
81
|
+
readonly type: "SekyroReadyDetail";
|
|
82
|
+
readonly description: "The element created its `Verification` from `client-token` (detail: `{ verification }`).";
|
|
83
|
+
}, {
|
|
84
|
+
readonly name: "sekyro-step";
|
|
85
|
+
readonly type: "VerificationStep";
|
|
86
|
+
readonly mirrors: "onStep";
|
|
87
|
+
readonly description: "The flow moved to a step.";
|
|
88
|
+
}, {
|
|
89
|
+
readonly name: "sekyro-result";
|
|
90
|
+
readonly type: "VerificationResult";
|
|
91
|
+
readonly mirrors: "onResult";
|
|
92
|
+
readonly description: "A verdict for display. Read the decision that counts from your server.";
|
|
93
|
+
}, {
|
|
94
|
+
readonly name: "sekyro-close";
|
|
95
|
+
readonly type: "SekyroCloseEvent";
|
|
96
|
+
readonly mirrors: "onClose";
|
|
97
|
+
readonly description: "The person closed the flow (`closable` only): `{ reason: 'finished', result }` or `{ reason: 'cancelled' }`.";
|
|
98
|
+
}, {
|
|
99
|
+
readonly name: "sekyro-liveness-captured";
|
|
100
|
+
readonly type: "CapturedArtifacts";
|
|
101
|
+
readonly mirrors: "onLivenessCaptured";
|
|
102
|
+
readonly description: "The face capture finished, before its upload.";
|
|
103
|
+
}, {
|
|
104
|
+
readonly name: "sekyro-liveness-state";
|
|
105
|
+
readonly type: "CaptureState";
|
|
106
|
+
readonly mirrors: "livenessProps.onStateChange";
|
|
107
|
+
readonly description: "The face capture's state changed.";
|
|
108
|
+
}, {
|
|
109
|
+
readonly name: "sekyro-liveness-guidance";
|
|
110
|
+
readonly type: "StringKey";
|
|
111
|
+
readonly mirrors: "livenessProps.onGuidance";
|
|
112
|
+
readonly description: "The face capture shows a guidance line (its string key).";
|
|
113
|
+
}, {
|
|
114
|
+
readonly name: "sekyro-liveness-error";
|
|
115
|
+
readonly type: "CaptureError";
|
|
116
|
+
readonly mirrors: "livenessProps.onError";
|
|
117
|
+
readonly description: "The face capture failed (camera denied or absent, for example). The flow shows its own screen.";
|
|
118
|
+
}, {
|
|
119
|
+
readonly name: "sekyro-error";
|
|
120
|
+
readonly type: "SekyroElementErrorDetail";
|
|
121
|
+
readonly description: "The element could not create its `Verification` from its attributes (detail: `{ error }`).";
|
|
122
|
+
}];
|
|
123
|
+
|
|
124
|
+
/** Properties a string attribute cannot carry. */
|
|
125
|
+
export declare const PROPERTIES: readonly [{
|
|
126
|
+
readonly name: "verification";
|
|
127
|
+
readonly type: "Verification | null";
|
|
128
|
+
readonly description: "A `Verification` you created with `createVerification` from `@sekyro/web`. Set, it wins over `client-token`, and your page destroys it. Read, it is the verification the element runs, set or created.";
|
|
129
|
+
}, {
|
|
130
|
+
readonly name: "strings";
|
|
131
|
+
readonly type: "Partial<SekyroStrings> | undefined";
|
|
132
|
+
readonly description: "Copy overrides, keyed like the SDK's strings.";
|
|
133
|
+
}, {
|
|
134
|
+
readonly name: "theme";
|
|
135
|
+
readonly type: "SekyroTheme | undefined";
|
|
136
|
+
readonly description: "A runtime theme. It wins over the session's branding.";
|
|
137
|
+
}, {
|
|
138
|
+
readonly name: "livenessProps";
|
|
139
|
+
readonly type: "SekyroElementLivenessOptions | undefined";
|
|
140
|
+
readonly description: "Options of the face capture step: `autoStart`, `tips`, `tipsSummary`, `coach`, `notice`, `startDisabled`, `startLabel`.";
|
|
141
|
+
}, {
|
|
142
|
+
readonly name: "documentLiveMrz";
|
|
143
|
+
readonly type: "DocumentLiveMrzOptions | undefined";
|
|
144
|
+
readonly description: "Live MRZ reading on the document step: `workerUrl`, `assetBaseUrl`, or `mode: 'off'`.";
|
|
145
|
+
}, {
|
|
146
|
+
readonly name: "voice";
|
|
147
|
+
readonly type: "false | VoiceOptions | undefined";
|
|
148
|
+
readonly description: "Spoken guidance options, or `false` to turn it off.";
|
|
149
|
+
}];
|
|
150
|
+
|
|
151
|
+
/** What {@link SekyroVerificationProps.onClose} reports. */
|
|
152
|
+
export declare interface SekyroCloseEvent {
|
|
153
|
+
/**
|
|
154
|
+
* `finished`: the person is done (the result's "Back to <partner>" button, or the close button on the result page);
|
|
155
|
+
* `cancelled`: they closed the flow before its result.
|
|
156
|
+
*/
|
|
157
|
+
reason: "finished" | "cancelled";
|
|
158
|
+
/** The verdict shown on the result page (`finished` only). Display only: read the real outcome on your server. */
|
|
159
|
+
result?: VerificationResult;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/** `system` follows the device (prefers-color-scheme). */
|
|
163
|
+
export declare type SekyroColorScheme = "light" | "dark" | "system";
|
|
164
|
+
|
|
165
|
+
/** `detail` of `sekyro-error`. */
|
|
166
|
+
export declare interface SekyroElementErrorDetail {
|
|
167
|
+
error: unknown;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Options of the face capture step (the `livenessProps` of `<SekyroVerification>` that are data). Its callbacks are
|
|
172
|
+
* the element's `sekyro-liveness-*` events.
|
|
173
|
+
*/
|
|
174
|
+
export declare interface SekyroElementLivenessOptions {
|
|
175
|
+
/** Start the camera without the intro's start button: `true`, or `"when-permitted"` once the camera is allowed. */
|
|
176
|
+
autoStart?: boolean | "when-permitted";
|
|
177
|
+
/** A notice above the start button. */
|
|
178
|
+
notice?: SekyroElementNotice;
|
|
179
|
+
/** Keep the start button disabled (your page shows why). */
|
|
180
|
+
startDisabled?: boolean;
|
|
181
|
+
/** The start button's label. */
|
|
182
|
+
startLabel?: string;
|
|
183
|
+
/** The intro's tips: `false` hides them; a list picks built-in tips or adds yours. */
|
|
184
|
+
tips?: false | ReadonlyArray<BuiltInTipId | SekyroElementTip>;
|
|
185
|
+
/** The spoken summary of the tips. */
|
|
186
|
+
tipsSummary?: string;
|
|
187
|
+
/** A coaching line under the camera, or `null` for none. */
|
|
188
|
+
coach?: string | null;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/** A notice above the face capture's start button (plain text). */
|
|
192
|
+
export declare interface SekyroElementNotice {
|
|
193
|
+
/** `info` is a polite status; `warning` and `danger` are announced as alerts. */
|
|
194
|
+
tone: "info" | "warning" | "danger";
|
|
195
|
+
text: string;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/** A tip of your own on the face capture's intro (plain text). */
|
|
199
|
+
export declare interface SekyroElementTip {
|
|
200
|
+
/** A stable id. */
|
|
201
|
+
id: string;
|
|
202
|
+
text: string;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* The end-user locales (spec 2026-10-29 §9), every screen translated in each. ar/fr/en are built in; es/pt/de load
|
|
207
|
+
* lazily (`loadSekyroLocale`) as complete overlays over English.
|
|
208
|
+
*/
|
|
209
|
+
export declare type SekyroLocale = "ar" | "fr" | "en" | "es" | "pt" | "de";
|
|
210
|
+
|
|
211
|
+
/** `detail` of `sekyro-ready`. */
|
|
212
|
+
export declare interface SekyroReadyDetail {
|
|
213
|
+
verification: Verification;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export declare type SekyroStrings = Strings & StepStrings;
|
|
217
|
+
|
|
218
|
+
/** Theme shape accepted by {@link SekyroThemeProvider}. Partial: unset tokens keep the defaults. */
|
|
219
|
+
export declare interface SekyroTheme {
|
|
220
|
+
/** Color tokens to override. */
|
|
221
|
+
colors?: Partial<SekyroThemeColors>;
|
|
222
|
+
/** Corner radius of panels and buttons (CSS length). */
|
|
223
|
+
radius?: string;
|
|
224
|
+
/** Font stack for all component text. */
|
|
225
|
+
fontFamily?: string;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/** Color tokens. Every value is any valid CSS `<color>`. */
|
|
229
|
+
declare interface SekyroThemeColors {
|
|
230
|
+
/** Primary action surface (buttons, filled ring ticks). */
|
|
231
|
+
brand: string;
|
|
232
|
+
/** Text on `brand`. */
|
|
233
|
+
brandFg: string;
|
|
234
|
+
/** Primary text; also the capture-stage scrim. */
|
|
235
|
+
fg: string;
|
|
236
|
+
/** Secondary text (hints, notes) — never essential instructions. */
|
|
237
|
+
fgMuted: string;
|
|
238
|
+
/** Page background behind the component. */
|
|
239
|
+
bg: string;
|
|
240
|
+
/** Card / panel surface the component sits on; also the text on the scrim. */
|
|
241
|
+
surface: string;
|
|
242
|
+
/** Focus ring. */
|
|
243
|
+
ring: string;
|
|
244
|
+
/**
|
|
245
|
+
* Error accents (notice border / tint).
|
|
246
|
+
*
|
|
247
|
+
* @deprecated Status colours are standard since 0.1.0-rc.13; this key is ignored in a theme you pass and will be
|
|
248
|
+
* removed in 1.0. {@link DEFAULT_THEME} still lists the Sekyro value.
|
|
249
|
+
*/
|
|
250
|
+
danger: string;
|
|
251
|
+
/**
|
|
252
|
+
* Gate-locked ring + success accents.
|
|
253
|
+
*
|
|
254
|
+
* @deprecated Status colours are standard since 0.1.0-rc.13; this key is ignored in a theme you pass and will be
|
|
255
|
+
* removed in 1.0. {@link DEFAULT_THEME} still lists the Sekyro value.
|
|
256
|
+
*/
|
|
257
|
+
success: string;
|
|
258
|
+
/**
|
|
259
|
+
* Draining-ring and retry-notice accents.
|
|
260
|
+
*
|
|
261
|
+
* @deprecated Status colours are standard since 0.1.0-rc.13; this key is ignored in a theme you pass and will be
|
|
262
|
+
* removed in 1.0. {@link DEFAULT_THEME} still lists the Sekyro value.
|
|
263
|
+
*/
|
|
264
|
+
warning: string;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/** The attributes, as a template in Vue, Angular, Svelte or JSX writes them. */
|
|
268
|
+
export declare interface SekyroVerificationAttributes {
|
|
269
|
+
"client-token"?: string;
|
|
270
|
+
"api-origin"?: string;
|
|
271
|
+
locale?: SekyroLocale;
|
|
272
|
+
"color-scheme"?: SekyroColorScheme;
|
|
273
|
+
"asset-base-url"?: string;
|
|
274
|
+
"back-navigation"?: "history" | "none";
|
|
275
|
+
"handoff-url"?: string;
|
|
276
|
+
closable?: boolean | "";
|
|
277
|
+
voice?: "off";
|
|
278
|
+
dir?: "ltr" | "rtl";
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
export declare class SekyroVerificationElement extends BaseElement {
|
|
282
|
+
#private;
|
|
283
|
+
static readonly observedAttributes: readonly string[];
|
|
284
|
+
constructor();
|
|
285
|
+
get clientToken(): string | null;
|
|
286
|
+
set clientToken(value: string | null);
|
|
287
|
+
get apiOrigin(): string | null;
|
|
288
|
+
set apiOrigin(value: string | null);
|
|
289
|
+
get locale(): SekyroLocale | null;
|
|
290
|
+
set locale(value: SekyroLocale | null);
|
|
291
|
+
get colorScheme(): SekyroColorScheme | null;
|
|
292
|
+
set colorScheme(value: SekyroColorScheme | null);
|
|
293
|
+
get assetBaseUrl(): string | null;
|
|
294
|
+
set assetBaseUrl(value: string | null);
|
|
295
|
+
get backNavigation(): "history" | "none" | null;
|
|
296
|
+
set backNavigation(value: "history" | "none" | null);
|
|
297
|
+
get handoffUrl(): string | null;
|
|
298
|
+
set handoffUrl(value: string | null);
|
|
299
|
+
get closable(): boolean;
|
|
300
|
+
set closable(value: boolean);
|
|
301
|
+
/** The verification the element runs: the one you set, else the one it created from `client-token`. */
|
|
302
|
+
get verification(): Verification | null;
|
|
303
|
+
set verification(value: Verification | null);
|
|
304
|
+
get strings(): Partial<SekyroStrings> | undefined;
|
|
305
|
+
set strings(value: Partial<SekyroStrings> | undefined);
|
|
306
|
+
get theme(): SekyroTheme | undefined;
|
|
307
|
+
set theme(value: SekyroTheme | undefined);
|
|
308
|
+
get livenessProps(): SekyroElementLivenessOptions | undefined;
|
|
309
|
+
set livenessProps(value: SekyroElementLivenessOptions | undefined);
|
|
310
|
+
get documentLiveMrz(): DocumentLiveMrzOptions | undefined;
|
|
311
|
+
set documentLiveMrz(value: DocumentLiveMrzOptions | undefined);
|
|
312
|
+
/** Spoken guidance options, or `false`. Unset, the `voice="off"` attribute turns it off. */
|
|
313
|
+
get voice(): false | VoiceOptions | undefined;
|
|
314
|
+
set voice(value: false | VoiceOptions | undefined);
|
|
315
|
+
connectedCallback(): void;
|
|
316
|
+
disconnectedCallback(): void;
|
|
317
|
+
attributeChangedCallback(_name: string, previous: string | null, next: string | null): void;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/** What the element accepts as properties: what `<SekyroVerification>` takes, as plain data. */
|
|
321
|
+
export declare interface SekyroVerificationElementProperties {
|
|
322
|
+
clientToken: string | null;
|
|
323
|
+
apiOrigin: string | null;
|
|
324
|
+
locale: SekyroLocale | null;
|
|
325
|
+
colorScheme: SekyroColorScheme | null;
|
|
326
|
+
assetBaseUrl: string | null;
|
|
327
|
+
backNavigation: "history" | "none" | null;
|
|
328
|
+
handoffUrl: string | null;
|
|
329
|
+
closable: boolean;
|
|
330
|
+
verification: Verification | null;
|
|
331
|
+
strings: Partial<SekyroStrings> | undefined;
|
|
332
|
+
theme: SekyroTheme | undefined;
|
|
333
|
+
livenessProps: SekyroElementLivenessOptions | undefined;
|
|
334
|
+
documentLiveMrz: DocumentLiveMrzOptions | undefined;
|
|
335
|
+
voice: false | VoiceOptions | undefined;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/** The `detail` of each event the element fires. */
|
|
339
|
+
export declare interface SekyroVerificationEventMap {
|
|
340
|
+
"sekyro-ready": SekyroReadyDetail;
|
|
341
|
+
"sekyro-step": VerificationStep;
|
|
342
|
+
"sekyro-result": VerificationResult;
|
|
343
|
+
"sekyro-close": SekyroCloseEvent;
|
|
344
|
+
"sekyro-liveness-captured": CapturedArtifacts;
|
|
345
|
+
"sekyro-liveness-state": CaptureState;
|
|
346
|
+
"sekyro-liveness-guidance": StringKey;
|
|
347
|
+
"sekyro-liveness-error": CaptureError;
|
|
348
|
+
"sekyro-error": SekyroElementErrorDetail;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
export declare type SekyroVerificationEventName = keyof SekyroVerificationEventMap;
|
|
352
|
+
|
|
353
|
+
/** The events as `CustomEvent`s, for `addEventListener` typing. */
|
|
354
|
+
export declare type SekyroVerificationEvents = {
|
|
355
|
+
[K in SekyroVerificationEventName]: CustomEvent<SekyroVerificationEventMap[K]>;
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
/** Light DOM children with a `slot` attribute, moved into the flow when it renders. */
|
|
359
|
+
export declare const SLOTS: readonly [{
|
|
360
|
+
readonly name: "header";
|
|
361
|
+
readonly description: "Replaces the partner header.";
|
|
362
|
+
}, {
|
|
363
|
+
readonly name: "header-end";
|
|
364
|
+
readonly description: "Sits at the inline end of the partner header, before the close button (a language menu).";
|
|
365
|
+
}, {
|
|
366
|
+
readonly name: "footer";
|
|
367
|
+
readonly description: "Replaces the \"Verified by Sekyro AI\" link. An empty element hides it.";
|
|
368
|
+
}];
|
|
369
|
+
|
|
370
|
+
/** Copy of the `@sekyro/react/verification` steps (hosted catalog paths; the optional keys load with their step). */
|
|
371
|
+
declare interface StepStrings {
|
|
372
|
+
"session.title": string;
|
|
373
|
+
"session.requestedBy": string;
|
|
374
|
+
"returning.requestedBy": string;
|
|
375
|
+
"consent.notice": string;
|
|
376
|
+
"consent.details": string;
|
|
377
|
+
"consent.terms.intro": string;
|
|
378
|
+
"consent.terms.data": string;
|
|
379
|
+
"consent.terms.processing": string;
|
|
380
|
+
"consent.terms.sharing": string;
|
|
381
|
+
"consent.terms.retention": string;
|
|
382
|
+
"capture.modeSwitch.toSelfPhoto": string;
|
|
383
|
+
"capture.modeSwitch.toAssistedLabelPhoto": string;
|
|
384
|
+
"capture.modeSwitch.toSelfLabelPhoto": string;
|
|
385
|
+
"reasons.camera_unavailable": string;
|
|
386
|
+
"otp.sendTitle": string;
|
|
387
|
+
"otp.sendDescription": string;
|
|
388
|
+
"otp.prefilledNotice": string;
|
|
389
|
+
"otp.phoneLabel": string;
|
|
390
|
+
"otp.phoneHelper": string;
|
|
391
|
+
"otp.phonePlaceholder": string;
|
|
392
|
+
"otp.send": string;
|
|
393
|
+
"otp.channelSms": string;
|
|
394
|
+
"otp.channelWhatsapp": string;
|
|
395
|
+
"otp.verifyTitle": string;
|
|
396
|
+
"otp.verifyDescription": string;
|
|
397
|
+
"otp.sentTo": string;
|
|
398
|
+
"otp.codeLabel": string;
|
|
399
|
+
"otp.codeHelper": string;
|
|
400
|
+
"otp.verify": string;
|
|
401
|
+
"otp.resend": string;
|
|
402
|
+
"otp.resendIn": string;
|
|
403
|
+
"otp.expiresIn": string;
|
|
404
|
+
"otp.expired": string;
|
|
405
|
+
"otp.reason_otp_mismatch": string;
|
|
406
|
+
"otp.reason_otp_expired": string;
|
|
407
|
+
"otp.reason_otp_send_failed": string;
|
|
408
|
+
"otp.chooseChannel": string;
|
|
409
|
+
"otp.sendBy": string;
|
|
410
|
+
"otp.resendBy": string;
|
|
411
|
+
"otp.sending": string;
|
|
412
|
+
"otp.reason_otp_channel_unavailable": string;
|
|
413
|
+
"otp.reason_otp_destination_not_allowed": string;
|
|
414
|
+
"otp.reason_otp_destination_unknown": string;
|
|
415
|
+
"otp.reason_otp_rate_limited": string;
|
|
416
|
+
"otp.reason_otp_daily_cap_reached": string;
|
|
417
|
+
"otp.reason_payment_method_required": string;
|
|
418
|
+
"otp.reason_spend_cap_reached": string;
|
|
419
|
+
"otp.reason_insufficient_balance": string;
|
|
420
|
+
"otp.phonePlaceholderGeneric": string;
|
|
421
|
+
"otp.countryLabel": string;
|
|
422
|
+
"otp.phoneLengthError": string;
|
|
423
|
+
"otp.or": string;
|
|
424
|
+
"otp.otherCountry": string;
|
|
425
|
+
"otp.reason_otp_number_invalid": string;
|
|
426
|
+
"otp.reason_otp_number_not_mobile": string;
|
|
427
|
+
"session.steps.population.title": string;
|
|
428
|
+
"session.steps.population.description": string;
|
|
429
|
+
"population.label": string;
|
|
430
|
+
"population.helper": string;
|
|
431
|
+
"population.placeholder": string;
|
|
432
|
+
"population.submit": string;
|
|
433
|
+
"population.invalid": string;
|
|
434
|
+
"population.reason_registry_unavailable": string;
|
|
435
|
+
"population.reason_nni_not_found": string;
|
|
436
|
+
"population.reason_nni_invalid": string;
|
|
437
|
+
"population.bound.description": string;
|
|
438
|
+
"population.bound.confirm": string;
|
|
439
|
+
"population.reason_nni_not_found_or_document": string;
|
|
440
|
+
"population.useDocument": string;
|
|
441
|
+
"population.fromDocument.title": string;
|
|
442
|
+
"population.fromDocument.description": string;
|
|
443
|
+
"population.fromDocument.continue": string;
|
|
444
|
+
"population.reason_id_number_invalid": string;
|
|
445
|
+
"population.reason_registry_record_not_found": string;
|
|
446
|
+
"population.reason_registry_record_not_found_or_document": string;
|
|
447
|
+
"session.steps.doc.titleRecto": string;
|
|
448
|
+
"session.steps.doc.titleVerso": string;
|
|
449
|
+
"session.steps.doc.description": string;
|
|
450
|
+
"doc.pickTitle": string;
|
|
451
|
+
"doc.pickDescription": string;
|
|
452
|
+
"doc.pickLabel": string;
|
|
453
|
+
"doc.startScan": string;
|
|
454
|
+
"doc.titlePassport": string;
|
|
455
|
+
"doc.reason_side_missing": string;
|
|
456
|
+
"doc.reason_unreadable": string;
|
|
457
|
+
"doc.process_failed": string;
|
|
458
|
+
"doc.uploading": string;
|
|
459
|
+
"doc.cameraBlocked": string;
|
|
460
|
+
"doc.cameraBlockedHint": string;
|
|
461
|
+
"doc.retryCamera": string;
|
|
462
|
+
"doc.holdUpright": string;
|
|
463
|
+
"doc.ageStepUp": string;
|
|
464
|
+
"reasons.underage_estimated": string;
|
|
465
|
+
"reasons.starter_credit_claimed": string;
|
|
466
|
+
"reasons.blocked_by_org": string;
|
|
467
|
+
"dcv2.sensing": string;
|
|
468
|
+
"dcv2.too_far": string;
|
|
469
|
+
"dcv2.too_close": string;
|
|
470
|
+
"dcv2.edge_clipped": string;
|
|
471
|
+
"dcv2.wrong_shape": string;
|
|
472
|
+
"dcv2.tilted": string;
|
|
473
|
+
"dcv2.too_dark": string;
|
|
474
|
+
"dcv2.too_bright": string;
|
|
475
|
+
"dcv2.blurry": string;
|
|
476
|
+
"dcv2.focus_far": string;
|
|
477
|
+
"dcv2.glare": string;
|
|
478
|
+
"dcv2.hold_still": string;
|
|
479
|
+
"dcv2.processing": string;
|
|
480
|
+
"dcv2.side_captured": string;
|
|
481
|
+
"dcv2.captured": string;
|
|
482
|
+
"session.processing.title": string;
|
|
483
|
+
"session.processing.description": string;
|
|
484
|
+
"handoff.title": string;
|
|
485
|
+
"handoff.lead.document": string;
|
|
486
|
+
"handoff.lead.portrait": string;
|
|
487
|
+
"capture.source.phone": string;
|
|
488
|
+
"session.processing.age_estimation.title": string;
|
|
489
|
+
"session.processing.age_estimation.description": string;
|
|
490
|
+
"session.result.review.title": string;
|
|
491
|
+
"session.result.review.description": string;
|
|
492
|
+
"session.result.rejected.title": string;
|
|
493
|
+
"session.result.rejected.description": string;
|
|
494
|
+
"session.result.expired.title": string;
|
|
495
|
+
"session.result.expired.description": string;
|
|
496
|
+
"session.result.detailsMismatch": string;
|
|
497
|
+
"session.result.deviceVelocity": string;
|
|
498
|
+
"session.result.verified.title": string;
|
|
499
|
+
"session.result.verified.description": string;
|
|
500
|
+
"session.result.inconclusive.title": string;
|
|
501
|
+
"session.result.inconclusive.description": string;
|
|
502
|
+
"session.result.unavailable.title": string;
|
|
503
|
+
"session.result.unavailable.description": string;
|
|
504
|
+
"session.result.policy.title": string;
|
|
505
|
+
"session.result.policy.description": string;
|
|
506
|
+
"session.result.cooldown.title": string;
|
|
507
|
+
"session.result.cooldown.description": string;
|
|
508
|
+
"session.result.deviceStop": string;
|
|
509
|
+
"result.referenceLabel": string;
|
|
510
|
+
"capture.retrySamePerson.message": string;
|
|
511
|
+
"capture.retryMatch.message": string;
|
|
512
|
+
"common.loading": string;
|
|
513
|
+
"common.refresh": string;
|
|
514
|
+
"common.noAttemptsLeft": string;
|
|
515
|
+
"session.steps.portrait.title": string;
|
|
516
|
+
"session.steps.portrait.description": string;
|
|
517
|
+
"portrait.coach.no_face": string;
|
|
518
|
+
"portrait.coach.multiple_faces": string;
|
|
519
|
+
"portrait.coach.center": string;
|
|
520
|
+
"portrait.coach.too_close": string;
|
|
521
|
+
"portrait.coach.pose": string;
|
|
522
|
+
"portrait.coach.eyes": string;
|
|
523
|
+
"portrait.coach.mouth": string;
|
|
524
|
+
"portrait.coach.glare": string;
|
|
525
|
+
"portrait.coach.lighting": string;
|
|
526
|
+
"portrait.coach.lighting_side": string;
|
|
527
|
+
"portrait.coach.background": string;
|
|
528
|
+
"portrait.coach.resolution": string;
|
|
529
|
+
"portrait.coach.hold_still": string;
|
|
530
|
+
"portrait.coach.hold": string;
|
|
531
|
+
"portrait.criteria.face": string;
|
|
532
|
+
"portrait.criteria.framing": string;
|
|
533
|
+
"portrait.criteria.pose": string;
|
|
534
|
+
"portrait.criteria.eyes": string;
|
|
535
|
+
"portrait.criteria.mouth": string;
|
|
536
|
+
"portrait.criteria.glare": string;
|
|
537
|
+
"portrait.criteria.lighting": string;
|
|
538
|
+
"portrait.criteria.background": string;
|
|
539
|
+
"portrait.criteria.resolution": string;
|
|
540
|
+
"portrait.criteria.sharpness": string;
|
|
541
|
+
"portrait.report.pose": string;
|
|
542
|
+
"portrait.report.eyes": string;
|
|
543
|
+
"portrait.report.mouth": string;
|
|
544
|
+
"portrait.report.occlusion": string;
|
|
545
|
+
"portrait.report.glare": string;
|
|
546
|
+
"portrait.report.lighting": string;
|
|
547
|
+
"portrait.report.background": string;
|
|
548
|
+
"portrait.report.resolution": string;
|
|
549
|
+
"portrait.checksLabel": string;
|
|
550
|
+
"portrait.met": string;
|
|
551
|
+
"portrait.notMet": string;
|
|
552
|
+
"portrait.starting": string;
|
|
553
|
+
"portrait.taken": string;
|
|
554
|
+
"portrait.uploading": string;
|
|
555
|
+
"portrait.checking": string;
|
|
556
|
+
"portrait.retryTitle": string;
|
|
557
|
+
"portrait.reportTitle": string;
|
|
558
|
+
"portrait.retake": string;
|
|
559
|
+
"portrait.uploadFailed": string;
|
|
560
|
+
"portrait.sendAgain": string;
|
|
561
|
+
"portrait.matching": string;
|
|
562
|
+
"portrait.reviewTitle": string;
|
|
563
|
+
"portrait.reviewDescription": string;
|
|
564
|
+
"portrait.cameraBlocked": string;
|
|
565
|
+
"portrait.cameraBlockedHint": string;
|
|
566
|
+
"portrait.retryCamera": string;
|
|
567
|
+
"reasons.icao_pose": string;
|
|
568
|
+
"reasons.icao_eyes": string;
|
|
569
|
+
"reasons.icao_mouth": string;
|
|
570
|
+
"reasons.icao_occlusion": string;
|
|
571
|
+
"reasons.icao_lighting": string;
|
|
572
|
+
"reasons.icao_background": string;
|
|
573
|
+
"reasons.icao_resolution": string;
|
|
574
|
+
"reasons.portrait_not_from_liveness": string;
|
|
575
|
+
"reasons.tester_document_mismatch": string;
|
|
576
|
+
"reasons.tester_phone_mismatch": string;
|
|
577
|
+
"method.national_eid": string;
|
|
578
|
+
"method.national_eidGeneric": string;
|
|
579
|
+
"consent.short": string;
|
|
580
|
+
"consent.termsLink": string;
|
|
581
|
+
"session.progressLabel": string;
|
|
582
|
+
"section.contact": string;
|
|
583
|
+
"section.identity": string;
|
|
584
|
+
"section.live_photo": string;
|
|
585
|
+
"section.screening": string;
|
|
586
|
+
"handoff.copied": string;
|
|
587
|
+
"needsApp.title": string;
|
|
588
|
+
"needsApp.description": string;
|
|
589
|
+
"needsApp.descriptionNoOrg": string;
|
|
590
|
+
"consent.termsTitle": string;
|
|
591
|
+
"leave.title": string;
|
|
592
|
+
"leave.body": string;
|
|
593
|
+
"leave.confirm": string;
|
|
594
|
+
"leave.stay": string;
|
|
595
|
+
"otp.changeNumber": string;
|
|
596
|
+
"otp.backToCode": string;
|
|
597
|
+
"otp.reason_otp_resend_limit": string;
|
|
598
|
+
"reasons.otp_resend_limit": string;
|
|
599
|
+
"common.back": string;
|
|
600
|
+
"capture.assisted.heading": string;
|
|
601
|
+
"returning.heading": string;
|
|
602
|
+
"capture.checkingTitle": string;
|
|
603
|
+
"method.heading": string;
|
|
604
|
+
"sandbox.otpHint": string;
|
|
605
|
+
"sandbox.skipCapture": string;
|
|
606
|
+
"app.sandboxBadge": string;
|
|
607
|
+
"population.recheck.title": string;
|
|
608
|
+
"population.recheck.description": string;
|
|
609
|
+
"otp.phoneInvalid": string;
|
|
610
|
+
"otp.codeInvalid": string;
|
|
611
|
+
"doc.countryTitle": string;
|
|
612
|
+
"doc.countryLabel": string;
|
|
613
|
+
"doc.countrySearch": string;
|
|
614
|
+
"doc.noCountryMatch": string;
|
|
615
|
+
"doc.type.carte_identite": string;
|
|
616
|
+
"doc.type.residence_permit": string;
|
|
617
|
+
"doc.type.passport": string;
|
|
618
|
+
"doc.showSide": string;
|
|
619
|
+
"doc.showPage": string;
|
|
620
|
+
"doc.flip": string;
|
|
621
|
+
"doc.sameFace": string;
|
|
622
|
+
"doc.reaskRecto": string;
|
|
623
|
+
"doc.reread": string;
|
|
624
|
+
"doc.photoTaken": string;
|
|
625
|
+
"doc.frontCaptured": string;
|
|
626
|
+
"doc.backCaptured": string;
|
|
627
|
+
"doc.pageCaptured": string;
|
|
628
|
+
"doc.progressFront": string;
|
|
629
|
+
"doc.progressBack": string;
|
|
630
|
+
"doc.progressPage": string;
|
|
631
|
+
"doc.shutter": string;
|
|
632
|
+
"doc.torchOn": string;
|
|
633
|
+
"doc.torchOff": string;
|
|
634
|
+
"result.platform_unsupported": string;
|
|
635
|
+
"unsupported.title": string;
|
|
636
|
+
"unsupported.description": string;
|
|
637
|
+
"shell.subtitle": string;
|
|
638
|
+
"shell.subtitleHuman": string;
|
|
639
|
+
"shell.verifiedBy": string;
|
|
640
|
+
"doc.sub.carte_identite": string;
|
|
641
|
+
"doc.sub.residence_permit": string;
|
|
642
|
+
"doc.sub.passport": string;
|
|
643
|
+
"native.close": string;
|
|
644
|
+
"native.face.introTitle": string;
|
|
645
|
+
"native.face.introLead": string;
|
|
646
|
+
"native.face.humanIntroTitle": string;
|
|
647
|
+
"native.face.humanIntroLead": string;
|
|
648
|
+
"native.doc.holdIt": string;
|
|
649
|
+
"native.doc.changeCountry": string;
|
|
650
|
+
"native.result.review": string;
|
|
651
|
+
"native.result.rejected": string;
|
|
652
|
+
"native.result.expired": string;
|
|
653
|
+
"native.result.copied": string;
|
|
654
|
+
"native.result.back": string;
|
|
655
|
+
"native.result.verified": string;
|
|
656
|
+
"native.result.inconclusive": string;
|
|
657
|
+
"native.result.unavailable": string;
|
|
658
|
+
"native.result.policy": string;
|
|
659
|
+
"emailOtp.reason_otp_daily_cap_reached"?: string;
|
|
660
|
+
"emailOtp.sendTitle"?: string;
|
|
661
|
+
"emailOtp.sendDescription"?: string;
|
|
662
|
+
"emailOtp.prefilledNotice"?: string;
|
|
663
|
+
"emailOtp.emailLabel"?: string;
|
|
664
|
+
"emailOtp.emailHelper"?: string;
|
|
665
|
+
"emailOtp.emailPlaceholder"?: string;
|
|
666
|
+
"emailOtp.emailInvalid"?: string;
|
|
667
|
+
"emailOtp.send"?: string;
|
|
668
|
+
"emailOtp.verifyTitle"?: string;
|
|
669
|
+
"emailOtp.verifyDescription"?: string;
|
|
670
|
+
"emailOtp.sentTo"?: string;
|
|
671
|
+
"emailOtp.codeLabel"?: string;
|
|
672
|
+
"emailOtp.codeHelper"?: string;
|
|
673
|
+
"emailOtp.verify"?: string;
|
|
674
|
+
"emailOtp.resend"?: string;
|
|
675
|
+
"emailOtp.resendIn"?: string;
|
|
676
|
+
"emailOtp.expiresIn"?: string;
|
|
677
|
+
"emailOtp.expired"?: string;
|
|
678
|
+
"emailOtp.reason_otp_mismatch"?: string;
|
|
679
|
+
"emailOtp.reason_otp_expired"?: string;
|
|
680
|
+
"emailOtp.reason_otp_send_failed"?: string;
|
|
681
|
+
"emailOtp.reason_otp_rate_limited"?: string;
|
|
682
|
+
"emailOtp.reason_email_invalid"?: string;
|
|
683
|
+
"emailOtp.reason_email_disposable"?: string;
|
|
684
|
+
"emailOtp.changeEmail"?: string;
|
|
685
|
+
"emailOtp.backToCode"?: string;
|
|
686
|
+
"emailOtp.reason_otp_resend_limit"?: string;
|
|
687
|
+
"eid.identifierTitle"?: string;
|
|
688
|
+
"eid.identifierTitleGeneric"?: string;
|
|
689
|
+
"eid.identifierDescription"?: string;
|
|
690
|
+
"eid.identifierDescriptionGeneric"?: string;
|
|
691
|
+
"eid.boundDescription"?: string;
|
|
692
|
+
"eid.boundDescriptionGeneric"?: string;
|
|
693
|
+
"eid.start"?: string;
|
|
694
|
+
"eid.codeTitle"?: string;
|
|
695
|
+
"eid.codeTitleGeneric"?: string;
|
|
696
|
+
"eid.codeHelp"?: string;
|
|
697
|
+
"eid.codeHelpGeneric"?: string;
|
|
698
|
+
"eid.codeLabel"?: string;
|
|
699
|
+
"eid.verify"?: string;
|
|
700
|
+
"eid.resend"?: string;
|
|
701
|
+
"eid.resendIn"?: string;
|
|
702
|
+
"eid.noResendsLeft"?: string;
|
|
703
|
+
"eid.expiresIn"?: string;
|
|
704
|
+
"eid.expired"?: string;
|
|
705
|
+
"eid.useCamera"?: string;
|
|
706
|
+
"reasons.eid_identifier_invalid"?: string;
|
|
707
|
+
"reasons.eid_code_invalid"?: string;
|
|
708
|
+
"reasons.eid_code_expired"?: string;
|
|
709
|
+
"reasons.eid_locked"?: string;
|
|
710
|
+
"reasons.eid_not_enrolled"?: string;
|
|
711
|
+
"reasons.eid_unavailable"?: string;
|
|
712
|
+
"reasons.eid_resend_too_soon"?: string;
|
|
713
|
+
"reasons.eid_resend_limit"?: string;
|
|
714
|
+
"eid.continueHint"?: string;
|
|
715
|
+
"eid.continueHintGeneric"?: string;
|
|
716
|
+
"eid.resendsRemaining.zero"?: string;
|
|
717
|
+
"eid.resendsRemaining.one"?: string;
|
|
718
|
+
"eid.resendsRemaining.two"?: string;
|
|
719
|
+
"eid.resendsRemaining.few"?: string;
|
|
720
|
+
"eid.resendsRemaining.many"?: string;
|
|
721
|
+
"eid.resendsRemaining.other"?: string;
|
|
722
|
+
"eid.codeAttemptsRemaining.zero"?: string;
|
|
723
|
+
"eid.codeAttemptsRemaining.one"?: string;
|
|
724
|
+
"eid.codeAttemptsRemaining.two"?: string;
|
|
725
|
+
"eid.codeAttemptsRemaining.few"?: string;
|
|
726
|
+
"eid.codeAttemptsRemaining.many"?: string;
|
|
727
|
+
"eid.codeAttemptsRemaining.other"?: string;
|
|
728
|
+
"dcv3.mrz.searching"?: string;
|
|
729
|
+
"dcv3.mrz.showMrzSide"?: string;
|
|
730
|
+
"dcv3.mrz.reading"?: string;
|
|
731
|
+
"dcv3.mrz.moveCloser"?: string;
|
|
732
|
+
"dcv3.mrz.turnSideways"?: string;
|
|
733
|
+
"dcv3.mrz.glare"?: string;
|
|
734
|
+
"dcv3.mrz.holdStill"?: string;
|
|
735
|
+
"dcv3.mrz.valid"?: string;
|
|
736
|
+
"dcv3.mrz.looksLikePassport"?: string;
|
|
737
|
+
"dcv3.mrz.looksLikeCard"?: string;
|
|
738
|
+
"portrait.source.title"?: string;
|
|
739
|
+
"portrait.source.description"?: string;
|
|
740
|
+
"portrait.source.camera"?: string;
|
|
741
|
+
"portrait.source.upload"?: string;
|
|
742
|
+
"portrait.source.uploadInstead"?: string;
|
|
743
|
+
"portrait.upload.title"?: string;
|
|
744
|
+
"portrait.upload.hint"?: string;
|
|
745
|
+
"portrait.upload.choose"?: string;
|
|
746
|
+
"portrait.upload.unsupported"?: string;
|
|
747
|
+
"portrait.upload.failed"?: string;
|
|
748
|
+
"portrait.review.title"?: string;
|
|
749
|
+
"portrait.review.description"?: string;
|
|
750
|
+
"portrait.review.original"?: string;
|
|
751
|
+
"portrait.review.fixed"?: string;
|
|
752
|
+
"portrait.review.fixesTitle"?: string;
|
|
753
|
+
"portrait.review.accept"?: string;
|
|
754
|
+
"portrait.review.retake"?: string;
|
|
755
|
+
"portrait.review.uploadAnother"?: string;
|
|
756
|
+
"portrait.fixes.crop"?: string;
|
|
757
|
+
"portrait.fixes.scale"?: string;
|
|
758
|
+
"portrait.fixes.straighten"?: string;
|
|
759
|
+
"portrait.fixes.background"?: string;
|
|
760
|
+
"portrait.fixes.exposure"?: string;
|
|
761
|
+
"portrait.fixes.white_balance"?: string;
|
|
762
|
+
"reasons.portrait_morph_suspected"?: string;
|
|
763
|
+
"reasons.portrait_reference_mismatch"?: string;
|
|
764
|
+
"reasons.portrait_declined_fix"?: string;
|
|
765
|
+
"doc.uploadInstead"?: string;
|
|
766
|
+
"doc.uploadTitle"?: string;
|
|
767
|
+
"doc.uploadHint"?: string;
|
|
768
|
+
"doc.uploadUnsupported"?: string;
|
|
769
|
+
"doc.uploadFailed"?: string;
|
|
770
|
+
"doc.source.title"?: string;
|
|
771
|
+
"doc.source.description"?: string;
|
|
772
|
+
"doc.source.camera"?: string;
|
|
773
|
+
"doc.source.upload"?: string;
|
|
774
|
+
"native.doc.introTitle"?: string;
|
|
775
|
+
"native.doc.introLead"?: string;
|
|
776
|
+
"native.doc.tip.flat"?: string;
|
|
777
|
+
"native.doc.tip.glare"?: string;
|
|
778
|
+
"native.doc.tip.frame"?: string;
|
|
779
|
+
"native.doc.openCamera"?: string;
|
|
780
|
+
"native.doc.changeDocument"?: string;
|
|
781
|
+
"native.scan.closer"?: string;
|
|
782
|
+
"native.scan.farther"?: string;
|
|
783
|
+
"native.scan.glare"?: string;
|
|
784
|
+
"native.scan.dark"?: string;
|
|
785
|
+
"native.scan.blurry"?: string;
|
|
786
|
+
"native.scan.holdStill"?: string;
|
|
787
|
+
"native.scan.reading"?: string;
|
|
788
|
+
"native.scan.putDown"?: string;
|
|
789
|
+
"native.scan.retry"?: string;
|
|
790
|
+
"consent.human.terms.intro"?: string;
|
|
791
|
+
"consent.human.terms.data"?: string;
|
|
792
|
+
"consent.human.terms.processing"?: string;
|
|
793
|
+
"consent.human.terms.sharing"?: string;
|
|
794
|
+
"consent.human.terms.retention"?: string;
|
|
795
|
+
"capture.noCamera.title"?: string;
|
|
796
|
+
"capture.noCamera.body"?: string;
|
|
797
|
+
"capture.noCamera.continue"?: string;
|
|
798
|
+
"capture.noCamera.deniedTitle"?: string;
|
|
799
|
+
"capture.noCamera.deniedBody"?: string;
|
|
800
|
+
"choice.title"?: string;
|
|
801
|
+
"choice.description"?: string;
|
|
802
|
+
"choice.switch"?: string;
|
|
803
|
+
"contact.title"?: string;
|
|
804
|
+
"contact.description"?: string;
|
|
805
|
+
"contact.phone"?: string;
|
|
806
|
+
"contact.email"?: string;
|
|
807
|
+
"contact.switch"?: string;
|
|
808
|
+
"summary.title"?: string;
|
|
809
|
+
"summary.description"?: string;
|
|
810
|
+
"summary.fullName"?: string;
|
|
811
|
+
"summary.birthDate"?: string;
|
|
812
|
+
"summary.nationality"?: string;
|
|
813
|
+
"summary.documentType"?: string;
|
|
814
|
+
"summary.documentNumber"?: string;
|
|
815
|
+
"summary.nni"?: string;
|
|
816
|
+
"summary.id_number"?: string;
|
|
817
|
+
"summary.expiryDate"?: string;
|
|
818
|
+
"summary.portraitAlt"?: string;
|
|
819
|
+
"summary.source.registry"?: string;
|
|
820
|
+
"summary.source.document"?: string;
|
|
821
|
+
"summary.source.chip"?: string;
|
|
822
|
+
"summary.name"?: string;
|
|
823
|
+
"summary.birthYear"?: string;
|
|
824
|
+
"summary.confirm"?: string;
|
|
825
|
+
"summary.retakeDocument"?: string;
|
|
826
|
+
"summary.retakeNationalNumber"?: string;
|
|
827
|
+
"summary.noRetake"?: string;
|
|
828
|
+
"capture.tipsIcao.title"?: string;
|
|
829
|
+
"capture.tipsIcao.glasses"?: string;
|
|
830
|
+
"capture.tipsIcao.headwear"?: string;
|
|
831
|
+
"capture.tipsIcao.expression"?: string;
|
|
832
|
+
"capture.tipsIcao.faceCamera"?: string;
|
|
833
|
+
"capture.tipsIcao.background"?: string;
|
|
834
|
+
"capture.tipsIcao.lighting"?: string;
|
|
835
|
+
"capture.tipsIcao.hair"?: string;
|
|
836
|
+
"capture.tipsIcao.summary"?: string;
|
|
837
|
+
"portrait.retakeOnly"?: string;
|
|
838
|
+
"portrait.keepCamera"?: string;
|
|
839
|
+
"handoff.description"?: string;
|
|
840
|
+
"handoff.qrAlt"?: string;
|
|
841
|
+
"handoff.copyLink"?: string;
|
|
842
|
+
"handoff.copyFailed"?: string;
|
|
843
|
+
"handoff.waiting"?: string;
|
|
844
|
+
"inApp.title"?: string;
|
|
845
|
+
"inApp.description"?: string;
|
|
846
|
+
"inApp.copyLink"?: string;
|
|
847
|
+
"inApp.copied"?: string;
|
|
848
|
+
"inApp.copyFailed"?: string;
|
|
849
|
+
"inApp.continueAnyway"?: string;
|
|
850
|
+
"inApp.openBrowser"?: string;
|
|
851
|
+
"testerGate.action"?: string;
|
|
852
|
+
"testerGate.title"?: string;
|
|
853
|
+
"testerGate.body"?: string;
|
|
854
|
+
"testerGate.start"?: string;
|
|
855
|
+
"testerGate.checking"?: string;
|
|
856
|
+
"testerGate.boundTitle"?: string;
|
|
857
|
+
"testerGate.boundBody"?: string;
|
|
858
|
+
"testerGate.missTitle"?: string;
|
|
859
|
+
"testerGate.missBody"?: string;
|
|
860
|
+
"testerGate.retry"?: string;
|
|
861
|
+
"testerGate.continueTest"?: string;
|
|
862
|
+
"testerGate.continue"?: string;
|
|
863
|
+
"testerGate.limitBody"?: string;
|
|
864
|
+
"testerGate.exhaustedBody"?: string;
|
|
865
|
+
"testerGate.closedBody"?: string;
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
/** Every string key the component renders. */
|
|
869
|
+
export declare type StringKey = keyof Strings;
|
|
870
|
+
|
|
871
|
+
/**
|
|
872
|
+
* Every string the component renders, keyed like the hosted message catalog
|
|
873
|
+
* (`capture.*`, `fcv2.err.*`, `fcv3.*`, `reasons.*`, `errors.*`, `common.*`).
|
|
874
|
+
* The built-in ar/fr/en dictionaries are complete; `strings` overrides are
|
|
875
|
+
* `Partial<Strings>`.
|
|
876
|
+
*/
|
|
877
|
+
declare interface Strings {
|
|
878
|
+
"capture.start": string;
|
|
879
|
+
"capture.recordAgain": string;
|
|
880
|
+
"capture.switchCamera": string;
|
|
881
|
+
"capture.preparing.title": string;
|
|
882
|
+
"capture.checking": string;
|
|
883
|
+
"capture.checkingHint": string;
|
|
884
|
+
"capture.securityNote": string;
|
|
885
|
+
"capture.cameraOff": string;
|
|
886
|
+
"capture.previewAlt": string;
|
|
887
|
+
"capture.retryCoaching.title": string;
|
|
888
|
+
"capture.retryCoaching.light": string;
|
|
889
|
+
"capture.retryCoaching.eyeLevel": string;
|
|
890
|
+
"capture.retryCoaching.head": string;
|
|
891
|
+
/**
|
|
892
|
+
* A retake whose reason is not about the face or the light (2026-11-08): this title, then the reason's own tips
|
|
893
|
+
* instead of the lighting coaching (`retryCoachingOf` in captured-panel.tsx).
|
|
894
|
+
*/
|
|
895
|
+
"capture.retryTips.title": string;
|
|
896
|
+
/** `multiple_faces`: one person in the frame. */
|
|
897
|
+
"capture.retryOneFace.alone": string;
|
|
898
|
+
"capture.retryOneFace.screens": string;
|
|
899
|
+
/** `capture_back_camera` (self capture on the back camera): which camera is the front one. */
|
|
900
|
+
"capture.retryFrontCamera.screenSide": string;
|
|
901
|
+
/** `capture_front_camera` (assisted capture on the front camera): which camera is the back one, and where to hold it. */
|
|
902
|
+
"capture.retryBackCamera.backSide": string;
|
|
903
|
+
"capture.retryBackCamera.circle": string;
|
|
904
|
+
/** `capture_not_upright`: how to hold the phone, and for how long. */
|
|
905
|
+
"capture.retryUpright.vertical": string;
|
|
906
|
+
"capture.retryUpright.untilEnd": string;
|
|
907
|
+
/** `media_unreadable` / `clip_too_short`: let the recording finish and reach us. */
|
|
908
|
+
"capture.retryRecording.cameraOn": string;
|
|
909
|
+
"capture.retryRecording.stay": string;
|
|
910
|
+
"capture.retryRecording.network": string;
|
|
911
|
+
/** `device_integrity_failed`: what makes a device check fail, said plainly. */
|
|
912
|
+
"capture.retryDevice.screenRecording": string;
|
|
913
|
+
"capture.retryDevice.phone": string;
|
|
914
|
+
/**
|
|
915
|
+
* Remaining-attempts line per CLDR plural category (`Intl.PluralRules`),
|
|
916
|
+
* `{count}` = the locale-formatted number. `one`/`other` are required; the
|
|
917
|
+
* other categories fall back to `other` where the locale never selects them.
|
|
918
|
+
*/
|
|
919
|
+
"capture.attemptsRemaining.one": string;
|
|
920
|
+
"capture.attemptsRemaining.other": string;
|
|
921
|
+
"capture.attemptsRemaining.zero"?: string;
|
|
922
|
+
"capture.attemptsRemaining.two"?: string;
|
|
923
|
+
"capture.attemptsRemaining.few"?: string;
|
|
924
|
+
"capture.attemptsRemaining.many"?: string;
|
|
925
|
+
"common.retry": string;
|
|
926
|
+
"fcv2.err.permission": string;
|
|
927
|
+
"fcv2.err.notfound": string;
|
|
928
|
+
"fcv2.err.inuse": string;
|
|
929
|
+
"fcv2.err.insecure": string;
|
|
930
|
+
"fcv2.err.unsupported": string;
|
|
931
|
+
"fcv2.err.generic": string;
|
|
932
|
+
"fcv3.no_face": string;
|
|
933
|
+
"fcv3.come_closer": string;
|
|
934
|
+
"fcv3.move_back": string;
|
|
935
|
+
"fcv3.center_face": string;
|
|
936
|
+
"fcv3.straighten": string;
|
|
937
|
+
"fcv3.more_light": string;
|
|
938
|
+
"fcv3.too_bright": string;
|
|
939
|
+
"fcv3.hold_still": string;
|
|
940
|
+
"fcv3.steady_camera": string;
|
|
941
|
+
/** The phone shows a landscape frame (hint `upright`): the gate waits until it is held upright. */
|
|
942
|
+
"fcv3.hold_upright": string;
|
|
943
|
+
/** A second person of meaningful size is in the frame (hint `one_face`): the gate waits until one face remains. */
|
|
944
|
+
"fcv3.one_face": string;
|
|
945
|
+
"reasons.no_face": string;
|
|
946
|
+
"reasons.media_unreadable": string;
|
|
947
|
+
"reasons.clip_too_short": string;
|
|
948
|
+
"reasons.spoof_detected": string;
|
|
949
|
+
"reasons.review_band": string;
|
|
950
|
+
"reasons.nni_not_found": string;
|
|
951
|
+
"reasons.nni_invalid": string;
|
|
952
|
+
"reasons.registry_unavailable": string;
|
|
953
|
+
"reasons.no_face_source": string;
|
|
954
|
+
"reasons.no_face_reference": string;
|
|
955
|
+
"reasons.low_quality_reference": string;
|
|
956
|
+
"reasons.below_threshold": string;
|
|
957
|
+
"reasons.side_missing": string;
|
|
958
|
+
"reasons.mrz_checksum_failed": string;
|
|
959
|
+
"reasons.unreadable": string;
|
|
960
|
+
"reasons.expired_document": string;
|
|
961
|
+
"reasons.authenticity_review": string;
|
|
962
|
+
"reasons.registry_mismatch": string;
|
|
963
|
+
"reasons.document_nni_mismatch": string;
|
|
964
|
+
"reasons.id_number_invalid": string;
|
|
965
|
+
"reasons.registry_record_not_found": string;
|
|
966
|
+
"reasons.document_id_number_mismatch": string;
|
|
967
|
+
"reasons.otp_mismatch": string;
|
|
968
|
+
"reasons.otp_expired": string;
|
|
969
|
+
"reasons.otp_send_failed": string;
|
|
970
|
+
"reasons.uncalibrated_capture_channel": string;
|
|
971
|
+
"reasons.capture_back_camera": string;
|
|
972
|
+
"reasons.capture_not_upright": string;
|
|
973
|
+
"reasons.capture_front_camera": string;
|
|
974
|
+
/** The service saw a second person in the liveness clip: a free retake. */
|
|
975
|
+
"reasons.multiple_faces": string;
|
|
976
|
+
"reasons.location_not_allowed": string;
|
|
977
|
+
"reasons.anonymizer_blocked": string;
|
|
978
|
+
"reasons.nationality_not_allowed": string;
|
|
979
|
+
"reasons.document_type_not_accepted": string;
|
|
980
|
+
"reasons.underage": string;
|
|
981
|
+
"reasons.age_unverifiable": string;
|
|
982
|
+
"reasons.nationality_unreadable": string;
|
|
983
|
+
"reasons.name_mismatch": string;
|
|
984
|
+
"reasons.birth_date_mismatch": string;
|
|
985
|
+
"reasons.nationality_mismatch": string;
|
|
986
|
+
"reasons.document_number_mismatch": string;
|
|
987
|
+
"reasons.liveness_inconclusive": string;
|
|
988
|
+
"reasons.match_inconclusive": string;
|
|
989
|
+
"hints.appearance": string;
|
|
990
|
+
"hints.motion": string;
|
|
991
|
+
"hints.lighting": string;
|
|
992
|
+
"hints.framing": string;
|
|
993
|
+
"reasons.subject_revoked": string;
|
|
994
|
+
"reasons.probe_not_from_liveness": string;
|
|
995
|
+
"reasons.document_authenticity": string;
|
|
996
|
+
"reasons.mobile_required": string;
|
|
997
|
+
"reasons.capture_tampered": string;
|
|
998
|
+
"reasons.device_velocity_exceeded": string;
|
|
999
|
+
/** `device_cooldown` without a usable `retryAfter`. */
|
|
1000
|
+
"reasons.device_cooldown": string;
|
|
1001
|
+
/** `device_cooldown`, `{time}` = a relative time ("in 5 minutes"). */
|
|
1002
|
+
"cooldown.retryIn": string;
|
|
1003
|
+
/** `device_cooldown`, `{time}` = a clock time (with the date when not today). */
|
|
1004
|
+
"cooldown.retryAt": string;
|
|
1005
|
+
/** The model service is busy and the SDK retries by itself. */
|
|
1006
|
+
"capture.busy": string;
|
|
1007
|
+
"errors.inference_unavailable": string;
|
|
1008
|
+
"method.title": string;
|
|
1009
|
+
"method.description": string;
|
|
1010
|
+
/** Returning-user session (profile v2 step 5): the intro title + one line. */
|
|
1011
|
+
"returning.title": string;
|
|
1012
|
+
"returning.description": string;
|
|
1013
|
+
"method.national_number": string;
|
|
1014
|
+
"method.document_photo": string;
|
|
1015
|
+
"errors.method_required": string;
|
|
1016
|
+
"errors.attestation_invalid": string;
|
|
1017
|
+
"errors.network_error": string;
|
|
1018
|
+
"errors.session_expired": string;
|
|
1019
|
+
"errors.nni_unbound": string;
|
|
1020
|
+
"errors.id_number_unbound": string;
|
|
1021
|
+
"capture.tips.title": string;
|
|
1022
|
+
"capture.tips.light": string;
|
|
1023
|
+
"capture.tips.uncover": string;
|
|
1024
|
+
"capture.tips.eyeLevel": string;
|
|
1025
|
+
"capture.tips.straight": string;
|
|
1026
|
+
/** Spoken by the pre-capture "Listen" button (voice key `capture.tips.summary`); says what the built-in tips say. */
|
|
1027
|
+
"capture.tips.summary": string;
|
|
1028
|
+
"capture.tips.listen": string;
|
|
1029
|
+
/** The Listen button's label while the summary plays. */
|
|
1030
|
+
"capture.tips.stop": string;
|
|
1031
|
+
"capture.permission.granted": string;
|
|
1032
|
+
"capture.permission.prompt": string;
|
|
1033
|
+
"capture.permission.denied": string;
|
|
1034
|
+
"capture.permission.unknown": string;
|
|
1035
|
+
"capture.cameraLabel": string;
|
|
1036
|
+
"capture.facing.user": string;
|
|
1037
|
+
"capture.facing.environment": string;
|
|
1038
|
+
/** Assisted capture (an agent films the person): the pre-capture title and lead, and the line under the stage. */
|
|
1039
|
+
"capture.assisted.title": string;
|
|
1040
|
+
"capture.assisted.lead": string;
|
|
1041
|
+
"capture.assisted.stage": string;
|
|
1042
|
+
/** Capture mode `choice` (design 2026-11-04 §4.5): who films, asked once before the first camera step. */
|
|
1043
|
+
"capture.modeSwitch.toAssisted": string;
|
|
1044
|
+
"capture.modeSwitch.toSelf": string;
|
|
1045
|
+
"capture.modeSwitch.toAssistedLabel": string;
|
|
1046
|
+
"capture.modeSwitch.toSelfLabel": string;
|
|
1047
|
+
"capture.modeSwitch.restarted": string;
|
|
1048
|
+
"capture.voiceGuidance": string;
|
|
1049
|
+
"capture.preparing.hint": string;
|
|
1050
|
+
"capture.ready": string;
|
|
1051
|
+
"fcv2.err.models": string;
|
|
1052
|
+
"fcv2.err.backcamera": string;
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
export declare const TAG_NAME = "sekyro-verification";
|
|
1056
|
+
|
|
1057
|
+
export { Verification }
|
|
1058
|
+
|
|
1059
|
+
export { VerificationResult }
|
|
1060
|
+
|
|
1061
|
+
export { VerificationStep }
|
|
1062
|
+
|
|
1063
|
+
/**
|
|
1064
|
+
* Clip URLs per locale and key — e.g. the map a backend hands the SDK in the
|
|
1065
|
+
* session view. A new object identity is the change signal.
|
|
1066
|
+
*/
|
|
1067
|
+
declare type VoiceClipMap = {
|
|
1068
|
+
readonly [L in SekyroLocale]?: {
|
|
1069
|
+
readonly [K in VoiceKey]?: string | null | undefined;
|
|
1070
|
+
} | undefined;
|
|
1071
|
+
};
|
|
1072
|
+
|
|
1073
|
+
/** Resolve a voice clip URL; `null`/`undefined` = no clip (speech fallback applies). */
|
|
1074
|
+
declare type VoiceClipResolver = (key: VoiceKey, locale: SekyroLocale) => string | null | undefined;
|
|
1075
|
+
|
|
1076
|
+
/** `voice.clips`: a resolver function or a `{ [locale]: { [voiceKey]: url } }` map. */
|
|
1077
|
+
declare type VoiceClipSource = VoiceClipResolver | VoiceClipMap;
|
|
1078
|
+
|
|
1079
|
+
/**
|
|
1080
|
+
* Keys that can be spoken: the engine's `fcv3.*` gate hints, plus
|
|
1081
|
+
* `capture.tips.summary` — the pre-capture "Listen to the instructions" summary
|
|
1082
|
+
* (played only on an explicit tap, never during capture).
|
|
1083
|
+
*/
|
|
1084
|
+
declare type VoiceKey = "fcv3.no_face" | "fcv3.come_closer" | "fcv3.move_back" | "fcv3.center_face" | "fcv3.straighten" | "fcv3.more_light" | "fcv3.too_bright" | "fcv3.hold_still" | "fcv3.steady_camera" | "fcv3.hold_upright" | "fcv3.one_face" | "capture.tips.summary";
|
|
1085
|
+
|
|
1086
|
+
/** Voice-guidance options of `<LivenessCapture voice>`. */
|
|
1087
|
+
export declare interface VoiceOptions {
|
|
1088
|
+
/** Initial state when the viewer has no stored preference. Default `true`. */
|
|
1089
|
+
defaultEnabled?: boolean;
|
|
1090
|
+
/**
|
|
1091
|
+
* Clip source; replaces the default. Either a resolver `(key, locale) → url | null`
|
|
1092
|
+
* or a map `{ [locale]: { [voiceKey]: url } }` (e.g. delivered by your backend;
|
|
1093
|
+
* pass a new object to change it). A key without a URL — or a resolver that
|
|
1094
|
+
* throws — means "no clip" (speech fallback applies).
|
|
1095
|
+
*
|
|
1096
|
+
* Default: in verification mode, the Sekyro AI clip set delivered with the
|
|
1097
|
+
* session (`https://assets.sekyro.ai` — allow it in your CSP `media-src`);
|
|
1098
|
+
* in capture-only mode, none (device voice only).
|
|
1099
|
+
*/
|
|
1100
|
+
clips?: VoiceClipSource;
|
|
1101
|
+
/** Locales where the device voice (speechSynthesis) may speak when no clip plays. Default `true` (all). */
|
|
1102
|
+
speechFallback?: boolean | readonly SekyroLocale[];
|
|
1103
|
+
/** localStorage key of the viewer's preference; `null` = do not persist. Default `"sekyro.voiceGuidance"`. */
|
|
1104
|
+
storageKey?: string | null;
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
declare global {
|
|
1108
|
+
interface HTMLElementTagNameMap {
|
|
1109
|
+
"sekyro-verification": SekyroVerificationElement;
|
|
1110
|
+
}
|
|
1111
|
+
interface GlobalEventHandlersEventMap extends SekyroVerificationEvents {
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
export { }
|