@simprints/simface-sdk 0.7.1 → 0.8.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.
@@ -20,9 +20,9 @@ export declare class SimFaceCapture extends LitElement {
20
20
  private feedbackMessage;
21
21
  private feedbackTone;
22
22
  private previewUrl;
23
- private countdownProgress;
24
23
  private qualityResult;
25
24
  private canTakePhoto;
25
+ private captureMode;
26
26
  private embeddedVideoElement?;
27
27
  private stream;
28
28
  private sessionController;
@@ -34,24 +34,20 @@ export declare class SimFaceCapture extends LitElement {
34
34
  updated(changedProperties: Map<string, unknown>): void;
35
35
  render(): import("lit-html").TemplateResult<1>;
36
36
  startCapture(): Promise<void>;
37
- private renderPopupState;
38
- private renderEmbeddedState;
39
- private handlePopupCapture;
40
- private handlePopupRetake;
41
- private handlePopupCancel;
42
- private beginEmbeddedCapture;
43
- private startEmbeddedMediaPicker;
37
+ private renderCaptureState;
38
+ private beginCapture;
39
+ private startMediaPicker;
44
40
  private applySessionState;
45
41
  private showPickedPreview;
46
- private handleEmbeddedManualCapture;
47
- private handleEmbeddedRetake;
48
- private handleEmbeddedConfirm;
49
- private handleEmbeddedCancel;
50
- private handleEmbeddedError;
51
- private endEmbeddedCapture;
52
- private stopEmbeddedSession;
53
- private resetEmbeddedState;
54
- private resetPopupState;
42
+ private handleManualCapture;
43
+ private handleRetake;
44
+ private handleConfirm;
45
+ private handleCancel;
46
+ private handleCaptureError;
47
+ private endCapture;
48
+ private stopSession;
49
+ private resetState;
50
+ private syncProgress;
55
51
  private setPreviewBlob;
56
52
  private clearPreviewUrl;
57
53
  private dispatchCaptured;
@@ -6,7 +6,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { LitElement, html, css } from 'lit';
8
8
  import { customElement, property, query, state } from 'lit/decorators.js';
9
- import { captureFromCamera } from '../services/camera.js';
10
9
  import { assessFaceQuality } from '../services/face-detection.js';
11
10
  import { CAPTURE_GUIDE_MASK_PATH, CAPTURE_GUIDE_PATH, } from '../shared/auto-capture.js';
12
11
  import { buildCapturePlan, normalizeCaptureOptions, resolveCaptureCapabilities, } from '../shared/capture-flow.js';
@@ -34,9 +33,9 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
34
33
  this.feedbackMessage = 'Start a capture to see camera guidance here.';
35
34
  this.feedbackTone = 'neutral';
36
35
  this.previewUrl = '';
37
- this.countdownProgress = 0;
38
36
  this.qualityResult = null;
39
37
  this.canTakePhoto = true;
38
+ this.captureMode = 'auto';
40
39
  this.stream = null;
41
40
  this.sessionController = null;
42
41
  this.currentCaptureStep = null;
@@ -45,80 +44,45 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
45
44
  }
46
45
  disconnectedCallback() {
47
46
  super.disconnectedCallback();
48
- this.stopEmbeddedSession();
47
+ this.stopSession();
49
48
  }
50
49
  updated(changedProperties) {
51
- if (!this.embedded || !changedProperties.has('active') || this.pendingActiveSync) {
50
+ if (!changedProperties.has('active') || this.pendingActiveSync) {
52
51
  return;
53
52
  }
54
53
  this.pendingActiveSync = true;
55
54
  queueMicrotask(() => {
56
55
  this.pendingActiveSync = false;
57
- if (!this.isConnected || !this.embedded) {
56
+ if (!this.isConnected) {
58
57
  return;
59
58
  }
60
59
  if (this.active) {
61
60
  if (this.captureState === 'idle') {
62
- void this.beginEmbeddedCapture();
61
+ void this.beginCapture();
63
62
  }
64
63
  return;
65
64
  }
66
- this.endEmbeddedCapture();
65
+ this.endCapture();
67
66
  });
68
67
  }
69
68
  render() {
70
- if (this.embedded) {
71
- return html `
72
- <div class="container embedded-shell">
73
- ${this.renderEmbeddedState()}
74
- </div>
75
- `;
76
- }
77
69
  return html `
78
- <div class="container">
79
- ${this.renderPopupState()}
70
+ <div class="container capture-shell">
71
+ ${this.renderCaptureState()}
80
72
  </div>
81
73
  `;
82
74
  }
83
75
  async startCapture() {
84
- if (this.embedded) {
85
- this.active = true;
86
- await this.updateComplete;
87
- await this.beginEmbeddedCapture();
88
- return;
89
- }
90
- await this.handlePopupCapture();
91
- }
92
- renderPopupState() {
93
- switch (this.captureState) {
94
- case 'idle':
95
- return html `
96
- <p>${this.label}</p>
97
- <button class="btn btn-primary" @click=${this.handlePopupCapture}>
98
- Open Camera
99
- </button>
100
- `;
101
- case 'starting':
102
- return html `
103
- <p>Opening camera...</p>
104
- <div class="spinner"></div>
105
- `;
106
- case 'error':
107
- return html `
108
- <div class="quality-msg quality-bad">${this.errorMessage}</div>
109
- <button class="btn btn-primary" @click=${this.handlePopupRetake}>Try again</button>
110
- <button class="btn btn-secondary" @click=${this.handlePopupCancel}>Cancel</button>
111
- `;
112
- default:
113
- return html ``;
114
- }
76
+ this.active = true;
77
+ await this.updateComplete;
78
+ await this.beginCapture();
115
79
  }
116
- renderEmbeddedState() {
80
+ renderCaptureState() {
117
81
  return html `
118
- <p class="embedded-copy">${this.label}</p>
82
+ <p class="capture-copy">${this.label}</p>
119
83
 
120
84
  ${this.captureState === 'idle'
121
- ? html `<p class="embedded-copy">Waiting for the host page to start capture.</p>`
85
+ ? html `<p class="capture-copy">Waiting for the host page to start capture.</p>`
122
86
  : html `
123
87
  <div class="stage">
124
88
  <video
@@ -135,7 +99,6 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
135
99
  />
136
100
  <div
137
101
  class="guide-overlay ${this.captureState === 'live' || this.captureState === 'starting' ? '' : 'hidden'}"
138
- style=${`--capture-progress:${this.countdownProgress};`}
139
102
  >
140
103
  <svg viewBox="0 0 100 100" preserveAspectRatio="none" aria-hidden="true">
141
104
  <path class="guide-mask" d=${CAPTURE_GUIDE_MASK_PATH}></path>
@@ -153,64 +116,36 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
153
116
  <div class="btn-row">
154
117
  ${this.captureState === 'live'
155
118
  ? html `
156
- <button class="btn btn-secondary" ?disabled=${!this.canTakePhoto} @click=${this.handleEmbeddedManualCapture}>Take photo now</button>
157
- <button class="btn btn-ghost" @click=${this.handleEmbeddedCancel}>Cancel</button>
119
+ ${this.captureMode === 'manual'
120
+ ? html `<button class="btn btn-secondary" data-simface-action="capture" ?disabled=${!this.canTakePhoto} @click=${this.handleManualCapture}>Take photo</button>`
121
+ : ''}
122
+ <button class="btn btn-ghost" data-simface-action="cancel" @click=${this.handleCancel}>Cancel</button>
158
123
  `
159
124
  : ''}
160
125
  ${this.captureState === 'preview'
161
126
  ? html `
162
- <button class="btn btn-secondary" @click=${this.handleEmbeddedRetake}>Retake</button>
127
+ <button class="btn btn-secondary" data-simface-action="retake" @click=${this.handleRetake}>Retake</button>
163
128
  ${this.qualityResult?.passesQualityChecks === false
164
129
  ? ''
165
- : html `<button class="btn btn-primary" @click=${this.handleEmbeddedConfirm}>${this.confirmLabel}</button>`}
166
- <button class="btn btn-ghost" @click=${this.handleEmbeddedCancel}>Cancel</button>
130
+ : html `<button class="btn btn-primary" data-simface-action="confirm" @click=${this.handleConfirm}>${this.confirmLabel}</button>`}
131
+ <button class="btn btn-ghost" data-simface-action="cancel" @click=${this.handleCancel}>Cancel</button>
167
132
  `
168
133
  : ''}
169
134
  ${this.captureState === 'error'
170
135
  ? html `
171
- <button class="btn btn-primary" @click=${this.beginEmbeddedCapture}>Try again</button>
172
- <button class="btn btn-ghost" @click=${this.handleEmbeddedCancel}>Cancel</button>
136
+ <button class="btn btn-primary" data-simface-action="retry" @click=${this.beginCapture}>Try again</button>
137
+ <button class="btn btn-ghost" data-simface-action="cancel" @click=${this.handleCancel}>Cancel</button>
173
138
  `
174
139
  : ''}
175
140
  </div>
176
141
  `;
177
142
  }
178
- async handlePopupCapture() {
179
- this.captureState = 'starting';
180
- try {
181
- const blob = await captureFromCamera({
182
- presentation: 'popup',
183
- capturePreference: this.capturePreference,
184
- allowMediaPickerFallback: this.allowMediaPickerFallback,
185
- });
186
- if (!blob) {
187
- this.dispatchCancelled();
188
- this.captureState = 'idle';
189
- return;
190
- }
191
- this.dispatchCaptured(blob);
192
- this.resetPopupState();
193
- }
194
- catch (err) {
195
- this.errorMessage = err instanceof Error ? err.message : 'Capture failed';
196
- this.captureState = 'error';
197
- this.dispatchError(this.errorMessage);
198
- }
199
- }
200
- handlePopupRetake() {
201
- this.resetPopupState();
202
- void this.handlePopupCapture();
203
- }
204
- handlePopupCancel() {
205
- this.dispatchCancelled();
206
- this.resetPopupState();
207
- }
208
- async beginEmbeddedCapture() {
143
+ async beginCapture() {
209
144
  if (!this.active || this.captureState === 'starting' || this.captureState === 'live') {
210
145
  return;
211
146
  }
212
- this.stopEmbeddedSession();
213
- this.resetEmbeddedState();
147
+ this.stopSession();
148
+ this.resetState();
214
149
  this.captureState = 'starting';
215
150
  this.feedbackMessage = 'Requesting camera access...';
216
151
  this.feedbackTone = 'neutral';
@@ -228,7 +163,7 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
228
163
  const cameraStep = plan.steps.find((step) => step === 'auto-camera' || step === 'manual-camera') ?? null;
229
164
  const hasMediaPickerFallback = plan.steps.includes('media-picker');
230
165
  if (!cameraStep) {
231
- await this.startEmbeddedMediaPicker();
166
+ await this.startMediaPicker();
232
167
  return;
233
168
  }
234
169
  try {
@@ -236,20 +171,20 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
236
171
  }
237
172
  catch (error) {
238
173
  if (error instanceof CameraAccessError && hasMediaPickerFallback) {
239
- await this.startEmbeddedMediaPicker();
174
+ await this.startMediaPicker();
240
175
  return;
241
176
  }
242
- this.handleEmbeddedError(error);
177
+ this.handleCaptureError(error);
243
178
  return;
244
179
  }
245
180
  await this.updateComplete;
246
181
  if (!this.active) {
247
- this.stopEmbeddedSession();
182
+ this.stopSession();
248
183
  return;
249
184
  }
250
185
  const video = this.embeddedVideoElement;
251
186
  if (!video || !this.stream) {
252
- this.handleEmbeddedError(new Error('Inline camera preview could not be created.'));
187
+ this.handleCaptureError(new Error('Inline camera preview could not be created.'));
253
188
  return;
254
189
  }
255
190
  video.srcObject = this.stream;
@@ -259,9 +194,9 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
259
194
  initialMode: cameraStep === 'auto-camera' ? 'auto' : 'manual',
260
195
  copy: {
261
196
  autoReadyMessage: 'Center your face in the oval. We will capture automatically when framing looks good.',
262
- manualReadyMessage: 'When you are ready, use Take photo now.',
263
- autoUnavailableMessage: 'Automatic analysis is unavailable. Use Take photo now.',
264
- retakeReadyMessage: 'When you are ready, use Take photo now.',
197
+ manualReadyMessage: 'When you are ready, press Take photo.',
198
+ autoUnavailableMessage: 'Automatic capture is unavailable. Press Take photo instead.',
199
+ retakeReadyMessage: 'When you are ready, press Take photo.',
265
200
  },
266
201
  onStateChange: (state) => this.applySessionState(state),
267
202
  });
@@ -269,11 +204,11 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
269
204
  await this.sessionController.start();
270
205
  }
271
206
  catch (error) {
272
- this.handleEmbeddedError(error);
207
+ this.handleCaptureError(error);
273
208
  }
274
209
  }
275
- async startEmbeddedMediaPicker() {
276
- this.stopEmbeddedSession();
210
+ async startMediaPicker() {
211
+ this.stopSession();
277
212
  this.currentCaptureStep = 'media-picker';
278
213
  this.captureState = 'starting';
279
214
  this.feedbackMessage = 'Opening media picker...';
@@ -281,23 +216,24 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
281
216
  try {
282
217
  const blob = await captureFromFileInput();
283
218
  if (!blob) {
284
- this.handleEmbeddedCancel();
219
+ this.handleCancel();
285
220
  return;
286
221
  }
287
222
  await this.showPickedPreview(blob);
288
223
  }
289
224
  catch (error) {
290
- this.handleEmbeddedError(error);
225
+ this.handleCaptureError(error);
291
226
  }
292
227
  }
293
228
  applySessionState(state) {
294
229
  this.captureState = state.phase;
295
230
  this.feedbackMessage = state.feedbackMessage;
296
231
  this.feedbackTone = state.feedbackTone;
297
- this.countdownProgress = state.countdownProgress;
232
+ this.syncProgress(state.countdownProgress);
298
233
  this.qualityResult = state.qualityResult;
299
234
  this.errorMessage = state.phase === 'error' ? state.errorMessage : '';
300
235
  this.canTakePhoto = state.canTakePhoto;
236
+ this.captureMode = state.mode;
301
237
  if (state.phase === 'preview') {
302
238
  this.capturedBlob = state.previewBlob;
303
239
  this.setPreviewBlob(state.previewBlob);
@@ -317,57 +253,57 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
317
253
  ? 'success'
318
254
  : 'error'
319
255
  : 'neutral';
320
- this.countdownProgress = qualityResult ? 1 : 0;
256
+ this.syncProgress(qualityResult ? 1 : 0);
321
257
  this.setPreviewBlob(blob);
322
258
  }
323
- handleEmbeddedManualCapture() {
259
+ handleManualCapture() {
324
260
  void this.sessionController?.takePhotoNow().catch((error) => {
325
- this.handleEmbeddedError(error);
261
+ this.handleCaptureError(error);
326
262
  });
327
263
  }
328
- handleEmbeddedRetake() {
264
+ handleRetake() {
329
265
  this.capturedBlob = null;
330
266
  this.qualityResult = null;
331
267
  this.clearPreviewUrl();
332
268
  if (this.currentCaptureStep === 'media-picker') {
333
269
  if (this.active) {
334
- void this.beginEmbeddedCapture();
270
+ void this.beginCapture();
335
271
  }
336
272
  return;
337
273
  }
338
274
  void this.sessionController?.retake().catch((error) => {
339
- this.handleEmbeddedError(error);
275
+ this.handleCaptureError(error);
340
276
  });
341
277
  }
342
- handleEmbeddedConfirm() {
278
+ handleConfirm() {
343
279
  if (!this.capturedBlob) {
344
280
  return;
345
281
  }
346
282
  const blob = this.capturedBlob;
347
283
  this.active = false;
348
- this.stopEmbeddedSession();
349
- this.resetEmbeddedState();
284
+ this.stopSession();
285
+ this.resetState();
350
286
  this.dispatchCaptured(blob);
351
287
  }
352
- handleEmbeddedCancel() {
288
+ handleCancel() {
353
289
  this.active = false;
354
- this.stopEmbeddedSession();
355
- this.resetEmbeddedState();
290
+ this.stopSession();
291
+ this.resetState();
356
292
  this.dispatchCancelled();
357
293
  }
358
- handleEmbeddedError(error) {
359
- this.stopEmbeddedSession();
294
+ handleCaptureError(error) {
295
+ this.stopSession();
360
296
  this.errorMessage = error instanceof Error ? error.message : 'Capture failed';
361
297
  this.captureState = 'error';
362
298
  this.feedbackMessage = this.errorMessage;
363
299
  this.feedbackTone = 'error';
364
300
  this.dispatchError(this.errorMessage);
365
301
  }
366
- endEmbeddedCapture() {
367
- this.stopEmbeddedSession();
368
- this.resetEmbeddedState();
302
+ endCapture() {
303
+ this.stopSession();
304
+ this.resetState();
369
305
  }
370
- stopEmbeddedSession() {
306
+ stopSession() {
371
307
  this.sessionController?.stop();
372
308
  this.sessionController = null;
373
309
  this.currentCaptureStep = null;
@@ -379,21 +315,21 @@ let SimFaceCapture = class SimFaceCapture extends LitElement {
379
315
  if (video) {
380
316
  video.srcObject = null;
381
317
  }
382
- this.countdownProgress = 0;
318
+ this.syncProgress(0);
383
319
  }
384
- resetEmbeddedState() {
320
+ resetState() {
385
321
  this.clearPreviewUrl();
386
322
  this.captureState = 'idle';
387
323
  this.errorMessage = '';
388
324
  this.feedbackMessage = 'Start a capture to see camera guidance here.';
389
325
  this.feedbackTone = 'neutral';
390
- this.countdownProgress = 0;
326
+ this.syncProgress(0);
391
327
  this.qualityResult = null;
392
328
  this.capturedBlob = null;
329
+ this.captureMode = 'auto';
393
330
  }
394
- resetPopupState() {
395
- this.captureState = 'idle';
396
- this.errorMessage = '';
331
+ syncProgress(progress) {
332
+ this.style.setProperty('--capture-progress', String(progress));
397
333
  }
398
334
  setPreviewBlob(blob) {
399
335
  this.clearPreviewUrl();
@@ -454,6 +390,7 @@ SimFaceCapture.styles = css `
454
390
  max-width: 400px;
455
391
  margin: 0 auto;
456
392
  text-align: center;
393
+ color-scheme: light;
457
394
  }
458
395
 
459
396
  :host([embedded]) {
@@ -469,13 +406,13 @@ SimFaceCapture.styles = css `
469
406
  background: #fafafa;
470
407
  }
471
408
 
472
- .embedded-shell {
409
+ .capture-shell {
473
410
  display: flex;
474
411
  flex-direction: column;
475
412
  gap: 16px;
476
413
  }
477
414
 
478
- .embedded-copy {
415
+ .capture-copy {
479
416
  margin: 0;
480
417
  color: #334155;
481
418
  }
@@ -674,15 +611,15 @@ __decorate([
674
611
  __decorate([
675
612
  state()
676
613
  ], SimFaceCapture.prototype, "previewUrl", void 0);
677
- __decorate([
678
- state()
679
- ], SimFaceCapture.prototype, "countdownProgress", void 0);
680
614
  __decorate([
681
615
  state()
682
616
  ], SimFaceCapture.prototype, "qualityResult", void 0);
683
617
  __decorate([
684
618
  state()
685
619
  ], SimFaceCapture.prototype, "canTakePhoto", void 0);
620
+ __decorate([
621
+ state()
622
+ ], SimFaceCapture.prototype, "captureMode", void 0);
686
623
  __decorate([
687
624
  query('#embedded-video')
688
625
  ], SimFaceCapture.prototype, "embeddedVideoElement", 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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"}