@simprints/simface-sdk 0.10.1 → 0.11.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/README.md +171 -98
- package/dist/components/simface-capture.d.ts +5 -0
- package/dist/components/simface-capture.js +35 -12
- package/dist/components/simface-capture.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/services/camera.d.ts +3 -3
- package/dist/services/camera.js +17 -30
- package/dist/services/camera.js.map +1 -1
- package/dist/shared/capture-flow.d.ts +11 -5
- package/dist/shared/capture-flow.js +14 -8
- package/dist/shared/capture-flow.js.map +1 -1
- package/dist/simface-sdk.js +1210 -1198
- package/dist/simface-sdk.umd.cjs +29 -30
- package/dist/types/index.d.ts +16 -11
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# SimFace SDK
|
|
2
2
|
|
|
3
|
-
SimFace SDK provides facial recognition for web-based KYC workflows. It
|
|
3
|
+
SimFace SDK provides facial recognition for web-based KYC workflows. It exposes one primary JavaScript API for enrollment and verification, plus a lower-level Web Component for advanced UI control.
|
|
4
4
|
|
|
5
5
|
Works in: all modern browsers, WhatsApp in-app browser, and mobile WebViews.
|
|
6
6
|
|
|
@@ -8,7 +8,20 @@ This repository is the public frontend SDK and demo repo for SimFace. For fronte
|
|
|
8
8
|
|
|
9
9
|
The backend API, infrastructure, and TensorFlow Lite runtime live in the separate private backend repository.
|
|
10
10
|
|
|
11
|
-
The capture flow is planned explicitly as: auto camera -> manual camera -> media picker.
|
|
11
|
+
The capture flow is planned explicitly as: auto camera -> manual camera -> media picker. The primary API supports two UI modes:
|
|
12
|
+
- popup capture: the SDK opens and manages its own modal capture flow
|
|
13
|
+
- embedded capture: the SDK runs capture inside a host-provided `simface-capture` element
|
|
14
|
+
|
|
15
|
+
## Face Quality Checks
|
|
16
|
+
|
|
17
|
+
The SDK automatically performs these checks on captured images before submission:
|
|
18
|
+
|
|
19
|
+
1. Face presence - at least one face must be detected.
|
|
20
|
+
2. Single face - only one face should be in the frame.
|
|
21
|
+
3. Face size - face must not be too close or too far.
|
|
22
|
+
4. Centering - face must be approximately centered in the frame.
|
|
23
|
+
|
|
24
|
+
If a check fails, the user is prompted with specific guidance and asked to retake the photo.
|
|
12
25
|
|
|
13
26
|
## Quick Start
|
|
14
27
|
|
|
@@ -75,70 +88,138 @@ if (result.match) {
|
|
|
75
88
|
}
|
|
76
89
|
```
|
|
77
90
|
|
|
78
|
-
### 5.
|
|
91
|
+
### 5. Choose the capture UI mode
|
|
79
92
|
|
|
80
|
-
|
|
93
|
+
`enroll()` and `verify()` are the main SDK entry points. They both use the same capture workflow and backend API. The only UI difference is where the capture UI is rendered.
|
|
81
94
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
// 'embedded' renders the capture component inline in a host container.
|
|
86
|
-
presentation: 'popup',
|
|
95
|
+
Both functions accept:
|
|
96
|
+
- `workflowOptions`: optional capture behavior that applies to both popup and embedded flows
|
|
97
|
+
- `captureElement`: optional existing `simface-capture` element; if this argument is present, the SDK uses embedded mode
|
|
87
98
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
99
|
+
#### Popup capture
|
|
100
|
+
|
|
101
|
+
If you omit `captureElement`, the SDK opens its popup capture UI:
|
|
91
102
|
|
|
92
|
-
|
|
93
|
-
|
|
103
|
+
```javascript
|
|
104
|
+
const workflowOptions = {
|
|
105
|
+
capturePreference: 'auto-preferred',
|
|
94
106
|
allowMediaPickerFallback: true,
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
const enrollResult = await enroll(config, 'unique-user-id', workflowOptions);
|
|
110
|
+
const verifyResult = await verify(config, 'unique-user-id', workflowOptions);
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
#### Embedded capture
|
|
114
|
+
|
|
115
|
+
If you want capture inline in your page, create a `simface-capture` element and pass it as `captureElement`. The SDK still owns the capture lifecycle; it just renders the UI inline instead of in a popup.
|
|
95
116
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
117
|
+
```html
|
|
118
|
+
<simface-capture
|
|
119
|
+
embedded
|
|
120
|
+
capture-preference="auto-preferred"
|
|
121
|
+
label="Take a selfie for verification"
|
|
122
|
+
idle-feedback-label="Start verification to see camera guidance here."
|
|
123
|
+
capture-label="Snap photo"
|
|
124
|
+
retake-label="Take another"
|
|
125
|
+
confirm-label="Use this photo"
|
|
126
|
+
retry-label="Start over"
|
|
127
|
+
></simface-capture>
|
|
128
|
+
```
|
|
99
129
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
130
|
+
```javascript
|
|
131
|
+
const workflowOptions = {
|
|
132
|
+
capturePreference: 'auto-preferred',
|
|
133
|
+
allowMediaPickerFallback: true,
|
|
103
134
|
};
|
|
104
135
|
|
|
105
|
-
const
|
|
106
|
-
|
|
136
|
+
const captureElement = document.querySelector('simface-capture');
|
|
137
|
+
|
|
138
|
+
const enrollResult = await enroll(config, 'unique-user-id', workflowOptions, captureElement);
|
|
139
|
+
const verifyResult = await verify(config, 'unique-user-id', workflowOptions, captureElement);
|
|
107
140
|
```
|
|
108
141
|
|
|
109
|
-
|
|
|
142
|
+
| workflowOptions | Type | Default | Notes |
|
|
110
143
|
|--------|------|---------|-------|
|
|
111
|
-
| `presentation` | `'popup' \| 'embedded'` | `'popup'` | Popup opens a fullscreen modal; embedded renders inline |
|
|
112
144
|
| `capturePreference` | `'auto-preferred' \| 'manual-only'` | `'auto-preferred'` | Controls auto vs manual shutter |
|
|
113
145
|
| `allowMediaPickerFallback` | `boolean` | `true` | Falls back to file picker if camera is unavailable |
|
|
114
|
-
| `container` | `HTMLElement \| string` | — | Required for embedded via top-level helpers; ignored for popup |
|
|
115
|
-
| `label` | `string` | `'Capturing Face'` | Instructional text shown during capture |
|
|
116
|
-
| `confirmLabel` | `string` | `'Accept'` | Confirm button label in preview state |
|
|
117
146
|
|
|
118
|
-
##
|
|
147
|
+
## API Reference
|
|
119
148
|
|
|
120
|
-
|
|
149
|
+
### Primary SDK API
|
|
121
150
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
151
|
+
The main integration surface is:
|
|
152
|
+
- `enroll(config, clientId, workflowOptions?, captureElement?)`
|
|
153
|
+
- `verify(config, clientId, workflowOptions?, captureElement?)`
|
|
125
154
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
155
|
+
These functions:
|
|
156
|
+
- run the camera capture workflow
|
|
157
|
+
- manage popup or embedded capture UI
|
|
158
|
+
- perform face quality validation
|
|
159
|
+
- call the backend API for enrollment or verification
|
|
130
160
|
|
|
131
|
-
|
|
161
|
+
### `enroll(config, clientId, workflowOptions?, captureElement?): Promise<EnrollResult>`
|
|
162
|
+
|
|
163
|
+
Opens the camera, captures a face image with quality validation, and enrolls the user.
|
|
164
|
+
|
|
165
|
+
Parameters:
|
|
166
|
+
|
|
167
|
+
| Parameter | Type | Description |
|
|
168
|
+
|-----------|------|-------------|
|
|
169
|
+
| `config` | `SimFaceConfig` | SDK configuration (`apiUrl`, `projectId`, `apiKey`) |
|
|
170
|
+
| `clientId` | `string` | Unique identifier for the user |
|
|
171
|
+
| `workflowOptions` | `SimFaceWorkflowOptions` | Optional popup/embedded-agnostic capture behavior |
|
|
172
|
+
| `captureElement` | `SimFaceCaptureElement` | Optional embedded `simface-capture` element |
|
|
173
|
+
|
|
174
|
+
Returns: `EnrollResult`
|
|
175
|
+
|
|
176
|
+
### `verify(config, clientId, workflowOptions?, captureElement?): Promise<VerifyResult>`
|
|
132
177
|
|
|
133
|
-
|
|
178
|
+
Opens the camera, captures a face image, and verifies against the enrolled face.
|
|
179
|
+
|
|
180
|
+
Parameters:
|
|
181
|
+
|
|
182
|
+
| Parameter | Type | Description |
|
|
183
|
+
|-----------|------|-------------|
|
|
184
|
+
| `config` | `SimFaceConfig` | SDK configuration (`apiUrl`, `projectId`, `apiKey`) |
|
|
185
|
+
| `clientId` | `string` | Unique identifier for the user |
|
|
186
|
+
| `workflowOptions` | `SimFaceWorkflowOptions` | Optional popup/embedded-agnostic capture behavior |
|
|
187
|
+
| `captureElement` | `SimFaceCaptureElement` | Optional embedded `simface-capture` element |
|
|
188
|
+
|
|
189
|
+
Returns: `VerifyResult`
|
|
134
190
|
|
|
135
|
-
|
|
191
|
+
### `SimFaceAPIClient` and the backend REST interface
|
|
192
|
+
|
|
193
|
+
`SimFaceAPIClient` is the lower-level HTTP client used internally by `enroll()` and `verify()`. Use it when you want direct control over when capture happens and when backend calls are made.
|
|
194
|
+
|
|
195
|
+
Typical cases for using `SimFaceAPIClient` directly:
|
|
196
|
+
- advanced UI flows driven by your own application state
|
|
197
|
+
- direct use of the `simface-capture` component
|
|
198
|
+
- custom orchestration where capture and backend submission happen in separate steps
|
|
199
|
+
|
|
200
|
+
At a high level:
|
|
201
|
+
- `enroll()` and `verify()` = capture UI + quality checks + backend submission
|
|
202
|
+
- `SimFaceAPIClient` = backend submission only
|
|
203
|
+
|
|
204
|
+
`SimFaceAPIClient` maps directly to the backend REST interface:
|
|
205
|
+
- `validateAPIKey()` -> `POST /api/v1/auth/validate`
|
|
206
|
+
- `enroll(clientId, imageBlob)` -> `POST /api/v1/enroll`
|
|
207
|
+
- `verify(clientId, imageBlob)` -> `POST /api/v1/verify`
|
|
208
|
+
|
|
209
|
+
## Advanced: Direct `simface-capture` control
|
|
210
|
+
|
|
211
|
+
Use the `simface-capture` Web Component directly when you want the host application to manage capture state itself instead of letting `enroll()` or `verify()` orchestrate it. In this mode, the component is also the source of truth for embedded UI copy.
|
|
136
212
|
|
|
137
213
|
```html
|
|
138
214
|
<simface-capture
|
|
139
215
|
embedded
|
|
140
216
|
capture-preference="auto-preferred"
|
|
141
217
|
label="Take a selfie for verification"
|
|
218
|
+
idle-feedback-label="Start verification to see camera guidance here."
|
|
219
|
+
capture-label="Snap photo"
|
|
220
|
+
retake-label="Take another"
|
|
221
|
+
confirm-label="Use this photo"
|
|
222
|
+
retry-label="Start over"
|
|
142
223
|
></simface-capture>
|
|
143
224
|
|
|
144
225
|
<script type="module">
|
|
@@ -165,16 +246,30 @@ For more control over the UI, use the `<simface-capture>` Web Component directly
|
|
|
165
246
|
captureEl.addEventListener('simface-error', (e) => {
|
|
166
247
|
console.error('Capture error:', e.detail.error);
|
|
167
248
|
});
|
|
249
|
+
|
|
250
|
+
await captureEl.startCapture();
|
|
168
251
|
</script>
|
|
169
252
|
```
|
|
170
253
|
|
|
254
|
+
In this advanced flow:
|
|
255
|
+
1. the host renders the component
|
|
256
|
+
2. the host starts capture with `startCapture()` or by setting `active = true`
|
|
257
|
+
3. the component emits capture events
|
|
258
|
+
4. the host decides what backend call to make with `SimFaceAPIClient`
|
|
259
|
+
|
|
260
|
+
This is more flexible, but it also means the host owns more of the workflow.
|
|
261
|
+
|
|
171
262
|
### Component Attributes
|
|
172
263
|
|
|
173
264
|
| Attribute | Type | Default | Description |
|
|
174
265
|
|-----------|------|---------|-------------|
|
|
175
|
-
| `label` | String | `"Capturing Face"` |
|
|
266
|
+
| `label` | String | `"Capturing Face"` | Primary instructional text shown by the component |
|
|
267
|
+
| `idle-feedback-label` | String | `"Start a capture to see camera guidance here."` | Idle guidance text shown in the feedback area before capture begins |
|
|
176
268
|
| `embedded` | Boolean | `false` | Runs the component inline instead of delegating to the popup capture service |
|
|
269
|
+
| `capture-label` | String | `"Take photo"` | Manual capture button label |
|
|
270
|
+
| `retake-label` | String | `"Retake"` | Preview retake button label |
|
|
177
271
|
| `confirm-label` | String | `"Accept"` | Confirm button label used in preview state |
|
|
272
|
+
| `retry-label` | String | `"Try again"` | Error-state retry button label |
|
|
178
273
|
| `capture-preference` | `"auto-preferred" \| "manual-only"` | `"auto-preferred"` | Whether auto capture should be preferred or disabled |
|
|
179
274
|
| `allow-media-picker-fallback` | Boolean | `true` | Whether the component may fall back to the media picker if camera capture is unavailable |
|
|
180
275
|
|
|
@@ -186,23 +281,31 @@ For more control over the UI, use the `<simface-capture>` Web Component directly
|
|
|
186
281
|
| `simface-cancelled` | - | Fires when the user cancels the capture flow |
|
|
187
282
|
| `simface-error` | `{ error: string }` | Fires on capture/detection errors |
|
|
188
283
|
|
|
189
|
-
##
|
|
284
|
+
## Type Definitions
|
|
190
285
|
|
|
191
|
-
### `
|
|
286
|
+
### `SimFaceConfig`
|
|
192
287
|
|
|
193
|
-
|
|
288
|
+
```typescript
|
|
289
|
+
interface SimFaceConfig {
|
|
290
|
+
apiUrl: string;
|
|
291
|
+
projectId: string;
|
|
292
|
+
apiKey: string;
|
|
293
|
+
}
|
|
294
|
+
```
|
|
194
295
|
|
|
195
|
-
|
|
296
|
+
### `SimFaceWorkflowOptions`
|
|
196
297
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
298
|
+
```typescript
|
|
299
|
+
interface SimFaceWorkflowOptions {
|
|
300
|
+
capturePreference?: 'auto-preferred' | 'manual-only';
|
|
301
|
+
allowMediaPickerFallback?: boolean;
|
|
302
|
+
}
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### `EnrollResult`
|
|
202
306
|
|
|
203
|
-
Returns `EnrollResult`:
|
|
204
307
|
```typescript
|
|
205
|
-
{
|
|
308
|
+
interface EnrollResult {
|
|
206
309
|
success: boolean;
|
|
207
310
|
clientId: string;
|
|
208
311
|
message?: string;
|
|
@@ -210,21 +313,10 @@ Returns `EnrollResult`:
|
|
|
210
313
|
}
|
|
211
314
|
```
|
|
212
315
|
|
|
213
|
-
### `
|
|
214
|
-
|
|
215
|
-
Opens the camera, captures a face image, and verifies against the enrolled face.
|
|
216
|
-
|
|
217
|
-
Parameters:
|
|
218
|
-
|
|
219
|
-
| Parameter | Type | Description |
|
|
220
|
-
|-----------|------|-------------|
|
|
221
|
-
| `config` | `SimFaceConfig` | SDK configuration (`apiUrl`, `projectId`, `apiKey`) |
|
|
222
|
-
| `clientId` | `string` | Unique identifier for the user |
|
|
223
|
-
| `captureOptions` | `SimFaceCaptureOptions` | Optional capture presentation/fallback overrides |
|
|
316
|
+
### `VerifyResult`
|
|
224
317
|
|
|
225
|
-
Returns `VerifyResult`:
|
|
226
318
|
```typescript
|
|
227
|
-
{
|
|
319
|
+
interface VerifyResult {
|
|
228
320
|
match: boolean;
|
|
229
321
|
score: number;
|
|
230
322
|
threshold: number;
|
|
@@ -233,29 +325,6 @@ Returns `VerifyResult`:
|
|
|
233
325
|
}
|
|
234
326
|
```
|
|
235
327
|
|
|
236
|
-
### `SimFaceConfig`
|
|
237
|
-
|
|
238
|
-
```typescript
|
|
239
|
-
{
|
|
240
|
-
apiUrl: string;
|
|
241
|
-
projectId: string;
|
|
242
|
-
apiKey: string;
|
|
243
|
-
}
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
### `SimFaceCaptureOptions`
|
|
247
|
-
|
|
248
|
-
```typescript
|
|
249
|
-
{
|
|
250
|
-
presentation?: 'popup' | 'embedded';
|
|
251
|
-
capturePreference?: 'auto-preferred' | 'manual-only';
|
|
252
|
-
allowMediaPickerFallback?: boolean;
|
|
253
|
-
container?: HTMLElement | string;
|
|
254
|
-
label?: string;
|
|
255
|
-
confirmLabel?: string;
|
|
256
|
-
}
|
|
257
|
-
```
|
|
258
|
-
|
|
259
328
|
## Backend API Endpoints
|
|
260
329
|
|
|
261
330
|
For clients integrating directly with the REST API:
|
|
@@ -283,17 +352,6 @@ Health check endpoint.
|
|
|
283
352
|
|
|
284
353
|
Response: `{ "status": "ok" }`
|
|
285
354
|
|
|
286
|
-
## Face Quality Checks
|
|
287
|
-
|
|
288
|
-
The SDK automatically performs these checks on captured images before submission:
|
|
289
|
-
|
|
290
|
-
1. Face presence - at least one face must be detected.
|
|
291
|
-
2. Single face - only one face should be in the frame.
|
|
292
|
-
3. Face size - face must not be too close or too far.
|
|
293
|
-
4. Centering - face must be approximately centered in the frame.
|
|
294
|
-
|
|
295
|
-
If a check fails, the user is prompted with specific guidance and asked to retake the photo.
|
|
296
|
-
|
|
297
355
|
## Browser Compatibility
|
|
298
356
|
|
|
299
357
|
| Browser | Camera Capture | Face Detection |
|
|
@@ -305,3 +363,18 @@ If a check fails, the user is prompted with specific guidance and asked to retak
|
|
|
305
363
|
| Samsung Internet | Yes | Yes |
|
|
306
364
|
|
|
307
365
|
> Note: In WhatsApp's in-app browser, the camera opens via the device's native camera app rather than an in-browser preview. Face quality checks run after the photo is taken.
|
|
366
|
+
|
|
367
|
+
## Try the local demo
|
|
368
|
+
|
|
369
|
+
Build the SDK at the repository root, then run the demo:
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
npm install
|
|
373
|
+
npm run build
|
|
374
|
+
|
|
375
|
+
cd demo
|
|
376
|
+
npm install
|
|
377
|
+
npm run dev
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
The demo runs at `http://localhost:4173` and consumes the built SDK artifact from `dist/`. To enable HTTPS (required for camera access from other devices on the local network), set `DEMO_USE_HTTPS=true` before starting the demo.
|
|
@@ -10,9 +10,13 @@ import type { CapturePreference } from '../types/index.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare class SimFaceCapture extends LitElement {
|
|
12
12
|
label: string;
|
|
13
|
+
idleFeedbackLabel: string;
|
|
13
14
|
embedded: boolean;
|
|
14
15
|
active: boolean;
|
|
15
16
|
confirmLabel: string;
|
|
17
|
+
captureLabel: string;
|
|
18
|
+
retakeLabel: string;
|
|
19
|
+
retryLabel: string;
|
|
16
20
|
capturePreference: CapturePreference;
|
|
17
21
|
allowMediaPickerFallback: boolean;
|
|
18
22
|
private captureState;
|
|
@@ -31,6 +35,7 @@ export declare class SimFaceCapture extends LitElement {
|
|
|
31
35
|
private pendingActiveSync;
|
|
32
36
|
static styles: import("lit").CSSResult;
|
|
33
37
|
disconnectedCallback(): void;
|
|
38
|
+
protected willUpdate(changedProperties: Map<string, unknown>): void;
|
|
34
39
|
updated(changedProperties: Map<string, unknown>): void;
|
|
35
40
|
render(): import("lit-html").TemplateResult<1>;
|
|
36
41
|
startCapture(): Promise<void>;
|
|
@@ -8,7 +8,7 @@ import { LitElement, html, css } from 'lit';
|
|
|
8
8
|
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
9
9
|
import { assessFaceQuality } from '../services/face-detection.js';
|
|
10
10
|
import { CAPTURE_GUIDE_MASK_PATH, CAPTURE_GUIDE_PATH, } from '../shared/auto-capture.js';
|
|
11
|
-
import { buildCapturePlan, normalizeCaptureOptions, resolveCaptureCapabilities, DEFAULT_LABEL, DEFAULT_CONFIRM_LABEL, } from '../shared/capture-flow.js';
|
|
11
|
+
import { buildCapturePlan, normalizeCaptureOptions, resolveCaptureCapabilities, DEFAULT_CAPTURE_LABEL, DEFAULT_IDLE_FEEDBACK_LABEL, DEFAULT_LABEL, DEFAULT_CONFIRM_LABEL, DEFAULT_RETAKE_LABEL, DEFAULT_RETRY_LABEL, } from '../shared/capture-flow.js';
|
|
12
12
|
import { CameraCaptureSessionController, } from '../shared/capture-session.js';
|
|
13
13
|
import { CameraAccessError, blobToImage, captureFromFileInput, openUserFacingCameraStream, } from '../shared/capture-runtime.js';
|
|
14
14
|
/**
|
|
@@ -23,14 +23,18 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
|
|
|
23
23
|
constructor() {
|
|
24
24
|
super(...arguments);
|
|
25
25
|
this.label = DEFAULT_LABEL;
|
|
26
|
+
this.idleFeedbackLabel = DEFAULT_IDLE_FEEDBACK_LABEL;
|
|
26
27
|
this.embedded = false;
|
|
27
28
|
this.active = false;
|
|
28
29
|
this.confirmLabel = DEFAULT_CONFIRM_LABEL;
|
|
30
|
+
this.captureLabel = DEFAULT_CAPTURE_LABEL;
|
|
31
|
+
this.retakeLabel = DEFAULT_RETAKE_LABEL;
|
|
32
|
+
this.retryLabel = DEFAULT_RETRY_LABEL;
|
|
29
33
|
this.capturePreference = 'auto-preferred';
|
|
30
34
|
this.allowMediaPickerFallback = true;
|
|
31
35
|
this.captureState = 'idle';
|
|
32
36
|
this.errorMessage = '';
|
|
33
|
-
this.feedbackMessage =
|
|
37
|
+
this.feedbackMessage = DEFAULT_IDLE_FEEDBACK_LABEL;
|
|
34
38
|
this.feedbackTone = 'neutral';
|
|
35
39
|
this.previewUrl = '';
|
|
36
40
|
this.qualityResult = null;
|
|
@@ -46,6 +50,11 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
|
|
|
46
50
|
super.disconnectedCallback();
|
|
47
51
|
this.stopSession();
|
|
48
52
|
}
|
|
53
|
+
willUpdate(changedProperties) {
|
|
54
|
+
if (changedProperties.has('idleFeedbackLabel') && this.captureState === 'idle') {
|
|
55
|
+
this.feedbackMessage = this.idleFeedbackLabel;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
49
58
|
updated(changedProperties) {
|
|
50
59
|
if (!changedProperties.has('active') || this.pendingActiveSync) {
|
|
51
60
|
return;
|
|
@@ -90,9 +99,8 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
|
|
|
90
99
|
: ''}
|
|
91
100
|
|
|
92
101
|
<p class="capture-copy">${this.label}</p>
|
|
93
|
-
|
|
94
102
|
${this.captureState === 'idle'
|
|
95
|
-
?
|
|
103
|
+
? ''
|
|
96
104
|
: html `
|
|
97
105
|
<div class="stage">
|
|
98
106
|
<video
|
|
@@ -127,13 +135,13 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
|
|
|
127
135
|
${this.captureState === 'live'
|
|
128
136
|
? html `
|
|
129
137
|
${this.captureMode === 'manual'
|
|
130
|
-
? html `<button class="btn btn-primary" data-simface-action="capture" ?disabled=${!this.canTakePhoto} @click=${this.handleManualCapture}
|
|
138
|
+
? html `<button class="btn btn-primary" data-simface-action="capture" ?disabled=${!this.canTakePhoto} @click=${this.handleManualCapture}>${this.captureLabel}</button>`
|
|
131
139
|
: ''}
|
|
132
140
|
`
|
|
133
141
|
: ''}
|
|
134
142
|
${this.captureState === 'preview'
|
|
135
143
|
? html `
|
|
136
|
-
<button class="btn btn-retake" data-simface-action="retake" @click=${this.handleRetake}
|
|
144
|
+
<button class="btn btn-retake" data-simface-action="retake" @click=${this.handleRetake}>${this.retakeLabel}</button>
|
|
137
145
|
${this.qualityResult?.passesQualityChecks === false
|
|
138
146
|
? ''
|
|
139
147
|
: html `<button class="btn btn-confirm" data-simface-action="confirm" @click=${this.handleConfirm}>${this.confirmLabel}</button>`}
|
|
@@ -141,7 +149,7 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
|
|
|
141
149
|
: ''}
|
|
142
150
|
${this.captureState === 'error'
|
|
143
151
|
? html `
|
|
144
|
-
<button class="btn btn-primary" data-simface-action="retry" @click=${this.beginCapture}
|
|
152
|
+
<button class="btn btn-primary" data-simface-action="retry" @click=${this.beginCapture}>${this.retryLabel}</button>
|
|
145
153
|
`
|
|
146
154
|
: ''}
|
|
147
155
|
</div>
|
|
@@ -157,12 +165,15 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
|
|
|
157
165
|
this.feedbackMessage = 'Requesting camera access...';
|
|
158
166
|
this.feedbackTone = 'neutral';
|
|
159
167
|
const options = normalizeCaptureOptions({
|
|
160
|
-
presentation: 'embedded',
|
|
161
168
|
capturePreference: this.capturePreference,
|
|
162
169
|
allowMediaPickerFallback: this.allowMediaPickerFallback,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
170
|
+
}, this);
|
|
171
|
+
options.label = this.label;
|
|
172
|
+
options.idleFeedbackLabel = this.idleFeedbackLabel;
|
|
173
|
+
options.confirmLabel = this.confirmLabel;
|
|
174
|
+
options.captureLabel = this.captureLabel;
|
|
175
|
+
options.retakeLabel = this.retakeLabel;
|
|
176
|
+
options.retryLabel = this.retryLabel;
|
|
166
177
|
const capabilities = await resolveCaptureCapabilities({
|
|
167
178
|
capturePreference: options.capturePreference,
|
|
168
179
|
});
|
|
@@ -328,7 +339,7 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
|
|
|
328
339
|
this.clearPreviewUrl();
|
|
329
340
|
this.captureState = 'idle';
|
|
330
341
|
this.errorMessage = '';
|
|
331
|
-
this.feedbackMessage =
|
|
342
|
+
this.feedbackMessage = this.idleFeedbackLabel;
|
|
332
343
|
this.feedbackTone = 'neutral';
|
|
333
344
|
this.syncProgress(0);
|
|
334
345
|
this.qualityResult = null;
|
|
@@ -641,6 +652,9 @@ SimFaceCapture.styles = css `
|
|
|
641
652
|
__decorate([
|
|
642
653
|
property({ type: String })
|
|
643
654
|
], SimFaceCapture.prototype, "label", void 0);
|
|
655
|
+
__decorate([
|
|
656
|
+
property({ type: String, attribute: 'idle-feedback-label' })
|
|
657
|
+
], SimFaceCapture.prototype, "idleFeedbackLabel", void 0);
|
|
644
658
|
__decorate([
|
|
645
659
|
property({ type: Boolean, reflect: true })
|
|
646
660
|
], SimFaceCapture.prototype, "embedded", void 0);
|
|
@@ -650,6 +664,15 @@ __decorate([
|
|
|
650
664
|
__decorate([
|
|
651
665
|
property({ type: String, attribute: 'confirm-label' })
|
|
652
666
|
], SimFaceCapture.prototype, "confirmLabel", void 0);
|
|
667
|
+
__decorate([
|
|
668
|
+
property({ type: String, attribute: 'capture-label' })
|
|
669
|
+
], SimFaceCapture.prototype, "captureLabel", void 0);
|
|
670
|
+
__decorate([
|
|
671
|
+
property({ type: String, attribute: 'retake-label' })
|
|
672
|
+
], SimFaceCapture.prototype, "retakeLabel", void 0);
|
|
673
|
+
__decorate([
|
|
674
|
+
property({ type: String, attribute: 'retry-label' })
|
|
675
|
+
], SimFaceCapture.prototype, "retryLabel", void 0);
|
|
653
676
|
__decorate([
|
|
654
677
|
property({ type: String, attribute: 'capture-preference' })
|
|
655
678
|
], SimFaceCapture.prototype, "capturePreference", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simface-capture.js","sourceRoot":"","sources":["../../src/components/simface-capture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simface-capture.js","sourceRoot":"","sources":["../../src/components/simface-capture.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
* // Verify an existing user
|
|
11
11
|
* const result = await verify({ apiUrl: '...', projectId: '...', apiKey: '...' }, 'user-123');
|
|
12
12
|
*/
|
|
13
|
-
import type {
|
|
14
|
-
export type { CapturePreference,
|
|
13
|
+
import type { SimFaceCaptureElement, SimFaceWorkflowOptions, SimFaceConfig, EnrollResult, VerifyResult } from './types/index.js';
|
|
14
|
+
export type { CapturePreference, SimFaceCaptureElement, SimFaceWorkflowOptions, SimFaceConfig, EnrollResult, VerifyResult, FaceQualityResult, ValidateResult, } from './types/index.js';
|
|
15
15
|
export { SimFaceAPIClient } from './services/api-client.js';
|
|
16
16
|
export { assessFaceQuality, assessFaceQualityForVideo } from './services/face-detection.js';
|
|
17
17
|
export { captureFromCamera, blobToImage, blobToDataURL } from './services/camera.js';
|
|
@@ -23,10 +23,10 @@ export { SimFaceCapture } from './components/simface-capture.js';
|
|
|
23
23
|
* and sends it to the backend for enrollment.
|
|
24
24
|
*
|
|
25
25
|
* If the user is already enrolled, returns { alreadyEnrolled: true }.
|
|
26
|
-
* The optional
|
|
27
|
-
*
|
|
26
|
+
* The optional workflow options control cross-presentation capture behavior.
|
|
27
|
+
* Passing capture UI options switches the helper into embedded mode.
|
|
28
28
|
*/
|
|
29
|
-
export declare function enroll(config: SimFaceConfig, clientId: string,
|
|
29
|
+
export declare function enroll(config: SimFaceConfig, clientId: string, workflowOptions?: SimFaceWorkflowOptions, captureElement?: SimFaceCaptureElement): Promise<EnrollResult>;
|
|
30
30
|
/**
|
|
31
31
|
* Verify a user with facial recognition.
|
|
32
32
|
*
|
|
@@ -34,7 +34,7 @@ export declare function enroll(config: SimFaceConfig, clientId: string, captureO
|
|
|
34
34
|
* and sends it to the backend for comparison against the enrolled image.
|
|
35
35
|
*
|
|
36
36
|
* If the user is not enrolled, returns { notEnrolled: true }.
|
|
37
|
-
* The optional
|
|
38
|
-
*
|
|
37
|
+
* The optional workflow options control cross-presentation capture behavior.
|
|
38
|
+
* Passing capture UI options switches the helper into embedded mode.
|
|
39
39
|
*/
|
|
40
|
-
export declare function verify(config: SimFaceConfig, clientId: string,
|
|
40
|
+
export declare function verify(config: SimFaceConfig, clientId: string, workflowOptions?: SimFaceWorkflowOptions, captureElement?: SimFaceCaptureElement): Promise<VerifyResult>;
|