@smileid/web-components 11.3.0 → 11.4.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.
Files changed (101) hide show
  1. package/dist/esm/DocumentCaptureScreens-wvJcTVkA.js +4147 -0
  2. package/dist/esm/DocumentCaptureScreens-wvJcTVkA.js.map +1 -0
  3. package/dist/esm/{EndUserConsent-BgKCCMMn.js → EndUserConsent-BXvS7t8z.js} +4 -4
  4. package/dist/esm/{EndUserConsent-BgKCCMMn.js.map → EndUserConsent-BXvS7t8z.js.map} +1 -1
  5. package/dist/esm/Navigation-BRFmg7s1.js +138 -0
  6. package/dist/esm/Navigation-BRFmg7s1.js.map +1 -0
  7. package/dist/esm/{SelfieCaptureScreens-DKd0f7K8.js → SelfieCaptureScreens-BkJBfzHv.js} +2651 -3086
  8. package/dist/esm/SelfieCaptureScreens-BkJBfzHv.js.map +1 -0
  9. package/dist/esm/{TotpConsent-BQm8j4-u.js → TotpConsent-Cn2DkVza.js} +2 -2
  10. package/dist/esm/{TotpConsent-BQm8j4-u.js.map → TotpConsent-Cn2DkVza.js.map} +1 -1
  11. package/dist/esm/combobox.js +14 -16
  12. package/dist/esm/combobox.js.map +1 -1
  13. package/dist/esm/document.js +1 -1
  14. package/dist/esm/end-user-consent.js +1 -1
  15. package/dist/esm/{index-Cjzs1eA_.js → index-DBUdxnp9.js} +91 -91
  16. package/dist/esm/{index-Cjzs1eA_.js.map → index-DBUdxnp9.js.map} +1 -1
  17. package/dist/esm/localisation.js +1 -1
  18. package/dist/esm/main.js +6 -6
  19. package/dist/esm/navigation.js +1 -1
  20. package/dist/esm/package-Dax8ezDK.js +565 -0
  21. package/dist/esm/package-Dax8ezDK.js.map +1 -0
  22. package/dist/esm/selfie.js +1 -1
  23. package/dist/esm/smart-camera-web.js +16 -11
  24. package/dist/esm/smart-camera-web.js.map +1 -1
  25. package/dist/esm/{styles-BOEZtbuc.js → styles-BTEClL7R.js} +2 -2
  26. package/dist/esm/{styles-BOEZtbuc.js.map → styles-BTEClL7R.js.map} +1 -1
  27. package/dist/esm/totp-consent.js +1 -1
  28. package/dist/smart-camera-web.js +446 -179
  29. package/dist/smart-camera-web.js.map +1 -1
  30. package/dist/types/main.d.ts +183 -33
  31. package/lib/components/combobox/src/Combobox.js +14 -12
  32. package/lib/components/document/src/DocumentCaptureScreens.js +15 -5
  33. package/lib/components/document/src/assets/icons/guidelines/greenbook/good.svg +77 -0
  34. package/lib/components/document/src/assets/icons/guidelines/greenbook/not-blurry.svg +84 -0
  35. package/lib/components/document/src/assets/icons/guidelines/greenbook/not-cropped.svg +83 -0
  36. package/lib/components/document/src/assets/icons/guidelines/greenbook/not-reflective.svg +89 -0
  37. package/lib/components/document/src/assets/icons/guidelines/id-card/good.svg +87 -0
  38. package/lib/components/document/src/assets/icons/guidelines/id-card/not-blurry.svg +100 -0
  39. package/lib/components/document/src/assets/icons/guidelines/id-card/not-cropped.svg +93 -0
  40. package/lib/components/document/src/assets/icons/guidelines/id-card/not-reflective.svg +98 -0
  41. package/lib/components/document/src/assets/icons/guidelines/passport/good.svg +91 -0
  42. package/lib/components/document/src/assets/icons/guidelines/passport/not-blurry.svg +109 -0
  43. package/lib/components/document/src/assets/icons/guidelines/passport/not-cropped.svg +102 -0
  44. package/lib/components/document/src/assets/icons/guidelines/passport/not-reflective.svg +207 -0
  45. package/lib/components/document/src/assets/lottie/taking photo of ID FLIP 2D.lottie +0 -0
  46. package/lib/components/document/src/assets/lottie/taking photo of ID.lottie +0 -0
  47. package/lib/components/document/src/assets/lottie/taking photo of green book passport.lottie +0 -0
  48. package/lib/components/document/src/assets/lottie/taking photo of passport 2.lottie +0 -0
  49. package/lib/components/document/src/document-capture-instructions/DocumentCaptureInstructions.stories.js +123 -12
  50. package/lib/components/document/src/document-capture-instructions/DocumentCaptureInstructions.tsx +808 -0
  51. package/lib/components/document/src/document-capture-instructions/index.js +1 -0
  52. package/lib/components/navigation/src/Navigation.js +57 -56
  53. package/lib/components/navigation/src/Navigation.stories.js +7 -0
  54. package/lib/components/selfie/src/smartselfie-capture/SmartSelfieCapture.tsx +3 -15
  55. package/lib/components/selfie/src/smartselfie-capture/components/CameraPreview.tsx +6 -10
  56. package/lib/components/selfie/src/smartselfie-capture/components/CaptureControls.tsx +7 -1
  57. package/lib/components/selfie/src/smartselfie-capture/hooks/useFaceCapture.ts +33 -19
  58. package/lib/components/selfie/src/smartselfie-capture/utils/alertMessages.ts +0 -1
  59. package/lib/components/selfie/src/smartselfie-capture/utils/mediapipeManager.ts +127 -30
  60. package/lib/components/signature-pad/package-lock.json +24 -19
  61. package/lib/components/signature-pad/package.json +1 -1
  62. package/lib/components/smart-camera-web/src/SmartCameraWeb.js +7 -1
  63. package/lib/styles/src/styles.js +1 -1
  64. package/package.json +5 -3
  65. package/dist/README.md +0 -15
  66. package/dist/components/README.md +0 -14
  67. package/dist/components/document/src/README.md +0 -111
  68. package/dist/components/document/src/document-capture/README.md +0 -90
  69. package/dist/components/document/src/document-capture-instructions/README.md +0 -56
  70. package/dist/components/document/src/document-capture-review/README.md +0 -79
  71. package/dist/components/selfie/README.md +0 -225
  72. package/dist/components/smart-camera-web/src/README.md +0 -206
  73. package/dist/domain/camera/src/README.md +0 -38
  74. package/dist/domain/file-upload/README.md +0 -35
  75. package/dist/esm/DocumentCaptureScreens-N-0o7eE5.js +0 -1580
  76. package/dist/esm/DocumentCaptureScreens-N-0o7eE5.js.map +0 -1
  77. package/dist/esm/Navigation-DOFYqTZt.js +0 -144
  78. package/dist/esm/Navigation-DOFYqTZt.js.map +0 -1
  79. package/dist/esm/SelfieCaptureScreens-DKd0f7K8.js.map +0 -1
  80. package/dist/esm/package-KQ2l43v1.js +0 -90
  81. package/dist/esm/package-KQ2l43v1.js.map +0 -1
  82. package/dist/package-lock.json +0 -4948
  83. package/dist/package.json +0 -59
  84. package/dist/smart-camera-web.js.gz +0 -0
  85. package/dist/src/components/combobox/src/index.js +0 -425
  86. package/dist/src/components/combobox/src/index.js.map +0 -7
  87. package/dist/src/components/document/src/index.js +0 -1423
  88. package/dist/src/components/document/src/index.js.map +0 -7
  89. package/dist/src/components/end-user-consent/src/index.js +0 -1586
  90. package/dist/src/components/end-user-consent/src/index.js.map +0 -7
  91. package/dist/src/components/selfie/src/index.js +0 -1221
  92. package/dist/src/components/selfie/src/index.js.map +0 -7
  93. package/dist/src/components/signature-pad/src/index.js +0 -796
  94. package/dist/src/components/signature-pad/src/index.js.map +0 -7
  95. package/dist/src/components/smart-camera-web/src/SmartCameraWeb.js +0 -2754
  96. package/dist/src/components/smart-camera-web/src/SmartCameraWeb.js.map +0 -7
  97. package/dist/src/components/totp-consent/src/index.js +0 -1305
  98. package/dist/src/components/totp-consent/src/index.js.map +0 -7
  99. package/dist/src/index.js.map +0 -7
  100. package/dist/styles/README.md +0 -3
  101. package/dist/types/locale.d.ts +0 -19
@@ -55,19 +55,27 @@ declare class ComboboxTrigger extends HTMLElement {
55
55
  resetListbox(): void;
56
56
  }
57
57
 
58
+ /**
59
+ * Deep merge source object into target object.
60
+ * Recursively merges nested objects while preserving non-overridden values.
61
+ * Uses lodash merge under the hood but returns a new object (does not mutate inputs).
62
+ * @param {object} target - Base object to merge into
63
+ * @param {object} source - Object with values to merge/override
64
+ * @returns {object} New merged object (does not mutate inputs)
65
+ */
66
+ export declare function deepMerge(target: object, source: object): object;
67
+
58
68
  export declare class DocumentCaptureScreens extends HTMLElement {
59
69
  static get observedAttributes(): string[];
60
70
  activeScreen: any;
61
71
  smartCameraWeb: Element | null;
62
72
  connectedCallback(): void;
63
- _data:
64
- | {
73
+ _data: {
65
74
  images: never[];
66
75
  meta: {
67
76
  libraryVersion: string;
68
77
  };
69
- }
70
- | undefined;
78
+ } | undefined;
71
79
  documentInstruction: Element | null | undefined;
72
80
  documentInstructionBack: Element | null | undefined;
73
81
  idCapture: Element | null | undefined;
@@ -79,12 +87,13 @@ export declare class DocumentCaptureScreens extends HTMLElement {
79
87
  setUpEventListeners(): void;
80
88
  _publishSelectedImages(): void;
81
89
  get hideInstructions(): boolean;
90
+ get autoCapture(): boolean;
82
91
  get hideBackOfId(): boolean;
83
- get showNavigation(): '' | 'show-navigation';
92
+ get showNavigation(): "" | "show-navigation";
84
93
  get title(): string;
85
94
  get documentCaptureModes(): string;
86
95
  get documentType(): string;
87
- get hideAttribution(): '' | 'hide-attribution';
96
+ get hideAttribution(): "" | "hide-attribution";
88
97
  get themeColor(): string;
89
98
  handleBackEvents(): void;
90
99
  handleCloseEvents(): void;
@@ -122,6 +131,7 @@ export declare class EndUserConsent extends HTMLElement {
122
131
  get partnerLogoURL(): string | null;
123
132
  get partnerPolicyURL(): string | null;
124
133
  get themeColor(): string;
134
+ get direction(): string;
125
135
  get token(): string | null;
126
136
  handleConsentGrant(e: any): void;
127
137
  handleConsentRejection(): void;
@@ -130,8 +140,48 @@ export declare class EndUserConsent extends HTMLElement {
130
140
  closeWindow(): void;
131
141
  }
132
142
 
143
+ /**
144
+ * Escape HTML special characters to prevent XSS.
145
+ * @param {string} str - String to escape
146
+ * @returns {string} Escaped string
147
+ */
148
+ export declare function escapeHtml(str: string): string;
149
+
150
+ /**
151
+ * Get the current locale.
152
+ * @returns {string} Current language code
153
+ */
154
+ export declare function getCurrentLocale(): string;
155
+
156
+ /**
157
+ * Get the default locale code.
158
+ * @returns {string} Default language code
159
+ */
160
+ export declare function getDefaultLocale(): string;
161
+
162
+ /**
163
+ * Get the text direction for the current locale.
164
+ * @returns {string} Direction ('ltr' or 'rtl'), defaults to 'ltr'
165
+ */
166
+ export declare function getDirection(): string;
167
+
168
+ /**
169
+ * Check if a locale is registered.
170
+ * @param {string} lang - Language code
171
+ * @returns {boolean} Whether locale is registered
172
+ */
173
+ export declare function hasLocale(lang: string): boolean;
174
+
133
175
  export declare const List: typeof ComboboxListbox;
134
176
 
177
+ /**
178
+ * Load a locale (supports both inline registration and URL fetch).
179
+ * @param {string} lang - Language code
180
+ * @param {string} [url] - Optional URL to fetch locale from
181
+ * @returns {Promise<object>} Loaded locale data
182
+ */
183
+ export declare function loadLocale(lang: string, url?: string): Promise<object>;
184
+
135
185
  declare function markup(): string;
136
186
 
137
187
  export declare class Navigation extends HTMLElement {
@@ -149,6 +199,21 @@ export declare class Navigation extends HTMLElement {
149
199
  declare const Option_2: typeof ComboboxOption;
150
200
  export { Option_2 as Option }
151
201
 
202
+ /**
203
+ * Register a locale object (in-memory).
204
+ * @param {string} lang - Language code (e.g., 'en-GB', 'ar-EG')
205
+ * @param {object} data - Locale translation object
206
+ */
207
+ export declare function registerLocale(lang: string, data: object): void;
208
+
209
+ /**
210
+ * Register a locale by URL (fetch and cache).
211
+ * @param {string} lang - Language code
212
+ * @param {string} url - URL to locale JSON file
213
+ * @returns {Promise<object>} Loaded locale data
214
+ */
215
+ export declare function registerLocaleUrl(lang: string, url: string): Promise<object>;
216
+
152
217
  export declare const Root: typeof ComboboxRoot;
153
218
 
154
219
  declare function scwTemplateString(): string;
@@ -158,46 +223,67 @@ export declare class SelfieCaptureScreens extends HTMLElement {
158
223
  activeScreen: any;
159
224
  _remountKey: number;
160
225
  connectedCallback(): void;
161
- _data:
162
- | {
226
+ _data: {
163
227
  images: never[];
164
228
  meta: {
165
229
  libraryVersion: string;
166
230
  };
167
- }
168
- | undefined;
231
+ } | undefined;
169
232
  selfieInstruction: Element | null | undefined;
170
233
  selfieCapture: HTMLElement | Element | null | undefined;
171
234
  selfieReview: Element | null | undefined;
172
- getAgentMode(): 'environment' | 'user';
235
+ getAgentMode(): "environment" | "user";
173
236
  disconnectedCallback(): void;
174
- _selfieWrapperListeners:
175
- | {
237
+ _selfieWrapperListeners: {
176
238
  event: string;
177
239
  handler: (event: any) => Promise<void>;
178
- }[]
179
- | null
180
- | undefined;
240
+ }[] | null | undefined;
181
241
  setUpEventListeners(): void;
182
242
  forceWrapperRemount(): Promise<any>;
183
243
  setActiveScreen(screen: any): void;
184
244
  setupSelfieWrapperEventListeners(): void;
185
245
  _publishSelectedImages(): void;
186
246
  get hideInstructions(): boolean;
187
- get hideAttribution(): '' | 'hide-attribution=""';
247
+ get hideAttribution(): "" | "hide-attribution=\"\"";
188
248
  get hideBackOfId(): boolean;
189
- get showNavigation(): '' | 'show-navigation=""';
249
+ get showNavigation(): "" | "show-navigation=\"\"";
190
250
  get inAgentMode(): boolean;
191
- get allowAgentMode(): '' | 'allow-agent-mode="true"';
192
- get allowAgentModeTests(): '' | 'show-agent-mode-for-tests=""';
193
- get hideBack(): '' | 'hide-back=""';
194
- get disableImageTests(): '' | 'disable-image-tests=""';
251
+ get allowAgentMode(): "" | "allow-agent-mode=\"true\"";
252
+ get allowAgentModeTests(): "" | "show-agent-mode-for-tests=\"\"";
253
+ get hideBack(): "" | "hide-back=\"\"";
254
+ get disableImageTests(): "" | "disable-image-tests=\"\"";
255
+ get allowLegacySelfieFallback(): string;
195
256
  get themeColor(): string;
196
257
  handleBackEvents(): void;
197
258
  handleCloseEvent(): void;
198
259
  attributeChangedCallback(name: any): void;
199
260
  }
200
261
 
262
+ /**
263
+ * Set the current locale.
264
+ * If the locale is not registered, it will attempt to load it from the provided URL.
265
+ * Applies RTL direction to document element if direction is specified in locale.
266
+ * @param {string} lang - Language code
267
+ * @param {Object} [options] - Configuration options
268
+ * @param {string} [options.url] - URL to fetch locale from if not registered
269
+ * @param {Object} [options.translation] - Complete locale data object (legacy)
270
+ * @param {Object} [options.locales] - Locale data keyed by language code (new API)
271
+ * @param {boolean} [options.validate] - Whether to validate locale completeness
272
+ * @returns {Promise<boolean>} Whether locale was successfully set
273
+ */
274
+ export declare function setCurrentLocale(lang: string, { url, translation, locales: customLocales, validate }?: {
275
+ url?: string | undefined;
276
+ translation?: Object | undefined;
277
+ locales?: Object | undefined;
278
+ validate?: boolean | undefined;
279
+ }): Promise<boolean>;
280
+
281
+ /**
282
+ * Set document direction based on locale direction property.
283
+ * @param {string} lang - Language code
284
+ */
285
+ export declare function setDocumentDir(lang: string): void;
286
+
201
287
  export declare class SignaturePad extends HTMLElement {
202
288
  connectedCallback(): void;
203
289
  core: default_2 | undefined;
@@ -223,14 +309,12 @@ export declare class SmartCameraWeb extends HTMLElement {
223
309
  render: () => string;
224
310
  activeScreen: any;
225
311
  connectedCallback(): void;
226
- _data:
227
- | {
312
+ _data: {
228
313
  images: never[];
229
314
  meta: {
230
315
  libraryVersion: string;
231
316
  };
232
- }
233
- | undefined;
317
+ } | undefined;
234
318
  disconnectedCallback(): void;
235
319
  attributeChangedCallback(name: any): void;
236
320
  setUpEventListeners(): void;
@@ -243,16 +327,17 @@ export declare class SmartCameraWeb extends HTMLElement {
243
327
  get captureId(): boolean;
244
328
  get documentType(): string | null;
245
329
  get isPortraitCaptureView(): boolean;
246
- get hideInstructions(): '' | 'hide-instructions';
247
- get hideBackOfId(): '' | 'hide-back-of-id';
248
- get showNavigation(): '' | 'show-navigation';
249
- get hideBackToHost(): '' | 'hide-back';
330
+ get hideInstructions(): "" | "hide-instructions";
331
+ get hideBackOfId(): "" | "hide-back-of-id";
332
+ get showNavigation(): "" | "show-navigation";
333
+ get hideBackToHost(): "" | "hide-back";
250
334
  get allowAgentMode(): string;
251
- get allowAgentModeTests(): '' | 'show-agent-mode-for-tests';
335
+ get allowAgentModeTests(): "" | "show-agent-mode-for-tests";
252
336
  get title(): string;
253
337
  get documentCaptureModes(): string;
254
- get disableImageTests(): '' | 'disable-image-tests';
255
- get hideAttribution(): '' | 'hide-attribution';
338
+ get disableImageTests(): "" | "disable-image-tests";
339
+ get allowLegacySelfieFallback(): string;
340
+ get hideAttribution(): "" | "hide-attribution";
256
341
  get hasThemeColor(): boolean;
257
342
  get themeColor(): string | null;
258
343
  get applyComponentThemeColor(): string;
@@ -260,8 +345,35 @@ export declare class SmartCameraWeb extends HTMLElement {
260
345
  handleCloseEvent(): void;
261
346
  }
262
347
 
348
+ /**
349
+ * Get translation for a key.
350
+ * Supports nested keys with dot notation (e.g., 'camera.permission.description').
351
+ * Fallback chain: current locale → default locale (English) → raw key.
352
+ * @param {string} key - Translation key
353
+ * @returns {string} Translated string or fallback
354
+ */
355
+ export declare function t(key: string): string;
356
+
263
357
  declare function templateString(): string;
264
358
 
359
+ /**
360
+ * Get translation with HTML interpolation for styled placeholders.
361
+ * Placeholders in format {{key}} will be replaced with provided values.
362
+ * Values can be plain strings or objects with {value, className} for styled spans.
363
+ * @param {string} key - Translation key
364
+ * @param {Object} params - Interpolation parameters
365
+ * @returns {string} Translated string with interpolations
366
+ * @example
367
+ * // Plain interpolation
368
+ * tHtml('greeting', { name: 'John' }) // "Hello, John"
369
+ *
370
+ * // Styled interpolation
371
+ * tHtml('consent.accessRequest', {
372
+ * partnerName: { value: 'Acme', className: 'theme' }
373
+ * }) // "<span class="theme">Acme</span> wants to access..."
374
+ */
375
+ export declare function tHtml(key: string, params?: Object): string;
376
+
265
377
  export declare class TotpConsent extends HTMLElement {
266
378
  static get observedAttributes(): string[];
267
379
  templateString: typeof markup;
@@ -315,12 +427,50 @@ export declare class TotpConsent extends HTMLElement {
315
427
  get partnerName(): string | null;
316
428
  get token(): string | null;
317
429
  get themeColor(): string;
430
+ get direction(): string;
318
431
  get hideBack(): boolean;
319
432
  get showNavigation(): boolean;
320
433
  }
321
434
 
435
+ /**
436
+ * Get translation for a key.
437
+ * Supports nested keys with dot notation (e.g., 'camera.permission.description').
438
+ * Fallback chain: current locale → default locale (English) → raw key.
439
+ * @param {string} key - Translation key
440
+ * @returns {string} Translated string or fallback
441
+ */
442
+ export declare function translate(key: string): string;
443
+
444
+ /**
445
+ * Get translation with HTML interpolation for styled placeholders.
446
+ * Placeholders in format {{key}} will be replaced with provided values.
447
+ * Values can be plain strings or objects with {value, className} for styled spans.
448
+ * @param {string} key - Translation key
449
+ * @param {Object} params - Interpolation parameters
450
+ * @returns {string} Translated string with interpolations
451
+ * @example
452
+ * // Plain interpolation
453
+ * tHtml('greeting', { name: 'John' }) // "Hello, John"
454
+ *
455
+ * // Styled interpolation
456
+ * tHtml('consent.accessRequest', {
457
+ * partnerName: { value: 'Acme', className: 'theme' }
458
+ * }) // "<span class="theme">Acme</span> wants to access..."
459
+ */
460
+ export declare function translateHtml(key: string, params?: Object): string;
461
+
322
462
  export declare const Trigger: typeof ComboboxTrigger;
323
463
 
464
+ /**
465
+ * Validate that a locale has all required translation keys.
466
+ * @param {object} locale - Locale data to validate
467
+ * @returns {{ missingKeys: string[], valid: boolean }} Validation result
468
+ */
469
+ export declare function validateLocale(locale: object): {
470
+ missingKeys: string[];
471
+ valid: boolean;
472
+ };
473
+
324
474
  export { }
325
475
 
326
476
 
@@ -79,6 +79,8 @@ class ComboboxTrigger extends HTMLElement {
79
79
 
80
80
  this.handleKeyUp = this.handleKeyUp.bind(this);
81
81
  this.handleKeyDown = this.handleKeyDown.bind(this);
82
+ this.handleInput = this.handleInput.bind(this);
83
+ this.handleChange = this.handleChange.bind(this);
82
84
  this.handleSelection = this.handleSelection.bind(this);
83
85
 
84
86
  this.toggleExpansionState = this.toggleExpansionState.bind(this);
@@ -139,7 +141,8 @@ class ComboboxTrigger extends HTMLElement {
139
141
 
140
142
  this.inputTrigger.addEventListener('keydown', this.handleKeyDown);
141
143
  this.inputTrigger.addEventListener('keyup', this.handleKeyUp);
142
- this.inputTrigger.addEventListener('change', (e) => e.stopPropagation());
144
+ this.inputTrigger.addEventListener('input', this.handleInput);
145
+ this.inputTrigger.addEventListener('change', this.handleChange);
143
146
  }
144
147
 
145
148
  this.listbox = this.parentElement.querySelector('smileid-combobox-listbox');
@@ -159,9 +162,8 @@ class ComboboxTrigger extends HTMLElement {
159
162
  if (this.inputTrigger) {
160
163
  this.inputTrigger.removeEventListener('keydown', this.handleKeyDown);
161
164
  this.inputTrigger.removeEventListener('keyup', this.handleKeyUp);
162
- this.inputTrigger.removeEventListener('change', (e) =>
163
- e.stopPropagation(),
164
- );
165
+ this.inputTrigger.removeEventListener('input', this.handleInput);
166
+ this.inputTrigger.removeEventListener('change', this.handleChange);
165
167
  }
166
168
 
167
169
  if (this.options) {
@@ -245,10 +247,6 @@ class ComboboxTrigger extends HTMLElement {
245
247
  }
246
248
 
247
249
  handleKeyUp(event) {
248
- const { key } = event;
249
-
250
- const isPrintableCharacter = (str) => str.length === 1 && str.match(/\S| /);
251
-
252
250
  if (event.key === 'Escape' || event.key === 'Esc') {
253
251
  event.preventDefault();
254
252
  if (this.getAttribute('expanded') === 'true') {
@@ -261,11 +259,15 @@ class ComboboxTrigger extends HTMLElement {
261
259
  );
262
260
  }
263
261
  }
262
+ }
264
263
 
265
- if (isPrintableCharacter(key) || key === 'Backspace') {
266
- this.resetListbox();
267
- this.filterListbox(event.target.value);
268
- }
264
+ handleInput(event) {
265
+ this.resetListbox();
266
+ this.filterListbox(event.target.value);
267
+ }
268
+
269
+ handleChange(event) {
270
+ event.stopPropagation();
269
271
  }
270
272
 
271
273
  toggleExpansionState() {
@@ -49,20 +49,23 @@ class DocumentCaptureScreens extends HTMLElement {
49
49
  }
50
50
 
51
51
  connectedCallback() {
52
+ const instructionsTag = this.newInstructions
53
+ ? 'document-capture-instructions-v2'
54
+ : 'document-capture-instructions';
52
55
  this.innerHTML = `
53
56
  ${styles(this.themeColor)}
54
57
  <div style="height: 100%;">
55
- <document-capture-instructions theme-color='${this.themeColor}' id='document-capture-instructions-front' ${this.title}
58
+ <${instructionsTag} theme-color='${this.themeColor}' id='document-capture-instructions-front' ${this.title} ${this.documentType}
56
59
  ${this.documentCaptureModes} ${this.showNavigation} ${this.hideInstructions ? 'hidden' : ''}
57
60
  ${this.hideAttribution}
58
- ></document-capture-instructions>
61
+ ></${instructionsTag}>
59
62
  <document-capture id='document-capture-front' side-of-id='Front'
60
63
  ${this.title || `title='${t('document.title.front')}'`} ${this.showNavigation} ${this.hideInstructions ? '' : 'hidden'} ${this.hideAttribution}
61
64
  ${this.documentCaptureModes} ${this.documentType} theme-color='${this.themeColor}'
62
65
  ></document-capture>
63
- <document-capture-instructions id='document-capture-instructions-back' side-of-id='Back' title='${t('document.title.back')}'
66
+ <${instructionsTag} id='document-capture-instructions-back' side-of-id='Back' title='${t('document.title.back')}'
64
67
  ${this.documentCaptureModes} ${this.showNavigation} theme-color='${this.themeColor}' ${this.hideAttribution} hidden
65
- ></document-capture-instructions>
68
+ ></${instructionsTag}>
66
69
  <document-capture id='document-capture-back' side-of-id='Back' ${this.title || `title='${t('document.title.back')}'`} ${this.showNavigation}
67
70
  ${this.documentCaptureModes} theme-color='${this.themeColor}' ${this.hideAttribution}
68
71
  hidden
@@ -80,7 +83,7 @@ class DocumentCaptureScreens extends HTMLElement {
80
83
  };
81
84
 
82
85
  this.documentInstruction = this.querySelector(
83
- 'document-capture-instructions',
86
+ '#document-capture-instructions-front',
84
87
  );
85
88
  this.documentInstructionBack = this.querySelector(
86
89
  '#document-capture-instructions-back',
@@ -358,6 +361,10 @@ class DocumentCaptureScreens extends HTMLElement {
358
361
  return this.hasAttribute('hide-attribution') ? 'hide-attribution' : '';
359
362
  }
360
363
 
364
+ get newInstructions() {
365
+ return this.hasAttribute('new-instructions');
366
+ }
367
+
361
368
  get themeColor() {
362
369
  return this.getAttribute('theme-color') || '#001096';
363
370
  }
@@ -383,6 +390,7 @@ class DocumentCaptureScreens extends HTMLElement {
383
390
  'hide-back-to-host',
384
391
  'show-navigation',
385
392
  'hide-back-of-id',
393
+ 'new-instructions',
386
394
  ];
387
395
  }
388
396
 
@@ -393,6 +401,8 @@ class DocumentCaptureScreens extends HTMLElement {
393
401
  case 'hide-back-of-id':
394
402
  case 'hide-back-to-host':
395
403
  case 'show-navigation':
404
+ case 'new-instructions':
405
+ this.innerHTML = '';
396
406
  this.connectedCallback();
397
407
  break;
398
408
  default:
@@ -0,0 +1,77 @@
1
+ <svg width="74" height="98" viewBox="0 0 74 98" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <g filter="url(#filter0_d_3728_466)">
3
+ <g clip-path="url(#clip0_3728_466)">
4
+ <path d="M3 13.625C3 11.4159 4.79086 9.625 7 9.625H59C61.2091 9.625 63 11.4159 63 13.625V89.625C63 91.8341 61.2091 93.625 59 93.625H7C4.79086 93.625 3 91.8341 3 89.625V13.625Z" fill="#E6F4EA"/>
5
+ <rect width="60" height="5" transform="translate(3 9.625)" fill="#E6F4EA"/>
6
+ <path d="M33 54.875C33 54.4608 33.3358 54.125 33.75 54.125H58.25C58.6642 54.125 59 54.4608 59 54.875C59 55.2892 58.6642 55.625 58.25 55.625H33.75C33.3358 55.625 33 55.2892 33 54.875Z" fill="#CBD5E1"/>
7
+ <path d="M33 60.375C33 59.9608 33.3358 59.625 33.75 59.625H53.0469C53.4611 59.625 53.7969 59.9608 53.7969 60.375C53.7969 60.7892 53.4611 61.125 53.0469 61.125H33.75C33.3358 61.125 33 60.7892 33 60.375Z" fill="#CBD5E1"/>
8
+ <path d="M33 65.875C33 65.4608 33.3358 65.125 33.75 65.125H47.8438C48.258 65.125 48.5938 65.4608 48.5938 65.875C48.5938 66.2892 48.258 66.625 47.8438 66.625H33.75C33.3358 66.625 33 66.2892 33 65.875Z" fill="#CBD5E1"/>
9
+ <mask id="path-5-inside-1_3728_466" fill="white">
10
+ <path d="M7 50.125H25V72.125H7V50.125Z"/>
11
+ </mask>
12
+ <path d="M7 50.125H25V72.125H7V50.125Z" fill="white"/>
13
+ <path d="M7 50.125V49.625H6.5V50.125H7ZM25 50.125H25.5V49.625H25V50.125ZM25 72.125V72.625H25.5V72.125H25ZM7 72.125H6.5V72.625H7V72.125ZM7 50.125V50.625H25V50.125V49.625H7V50.125ZM25 50.125H24.5V72.125H25H25.5V50.125H25ZM25 72.125V71.625H7V72.125V72.625H25V72.125ZM7 72.125H7.5V50.125H7H6.5V72.125H7Z" fill="#1A3A2A" mask="url(#path-5-inside-1_3728_466)"/>
14
+ <rect width="17" height="21" transform="translate(7.5 50.625)" fill="url(#pattern0_3728_466)"/>
15
+ <path d="M7 81.375C7 80.6846 7.55964 80.125 8.25 80.125H39.3359C40.0263 80.125 40.5859 80.6846 40.5859 81.375C40.5859 82.0654 40.0263 82.625 39.3359 82.625H8.25C7.55964 82.625 7 82.0654 7 81.375Z" fill="#CBD5E1"/>
16
+ <path d="M7 86.875C7 86.1846 7.55964 85.625 8.25 85.625H30.9375C31.6279 85.625 32.1875 86.1846 32.1875 86.875C32.1875 87.5654 31.6279 88.125 30.9375 88.125H8.25C7.55964 88.125 7 87.5654 7 86.875Z" fill="#CBD5E1"/>
17
+ <path d="M7 92.375C7 91.6846 7.55964 91.125 8.25 91.125H43.5391C44.2294 91.125 44.7891 91.6846 44.7891 92.375C44.7891 93.0654 44.2294 93.625 43.5391 93.625H8.25C7.55964 93.625 7 93.0654 7 92.375Z" fill="#CBD5E1"/>
18
+ <path d="M7 19.125C7 18.8489 7.22386 18.625 7.5 18.625H58.5C58.7761 18.625 59 18.8489 59 19.125V20.125C59 20.4011 58.7761 20.625 58.5 20.625H7.5C7.22386 20.625 7 20.4011 7 20.125V19.125Z" fill="#A7C4B0"/>
19
+ <path d="M7 45.125C7 44.8489 7.22386 44.625 7.5 44.625H58.5C58.7761 44.625 59 44.8489 59 45.125V45.625C59 45.9011 58.7761 46.125 58.5 46.125H7.5C7.22386 46.125 7 45.9011 7 45.625V45.125Z" fill="#A7C4B0"/>
20
+ <mask id="path-12-inside-2_3728_466" fill="white">
21
+ <path d="M7 28.625H59V36.625H7V28.625Z"/>
22
+ </mask>
23
+ <path d="M7 28.625H59V36.625H7V28.625Z" fill="white"/>
24
+ <path d="M7 28.625V28.125H6.5V28.625H7ZM59 28.625H59.5V28.125H59V28.625ZM59 36.625V37.125H59.5V36.625H59ZM7 36.625H6.5V37.125H7V36.625ZM7 28.625V29.125H59V28.625V28.125H7V28.625ZM59 28.625H58.5V36.625H59H59.5V28.625H59ZM59 36.625V36.125H7V36.625V37.125H59V36.625ZM7 36.625H7.5V28.625H7H6.5V36.625H7Z" fill="#CED4DA" mask="url(#path-12-inside-2_3728_466)"/>
25
+ <path d="M7.5 29.875C7.5 29.4608 7.83579 29.125 8.25 29.125H26.75C27.1642 29.125 27.5 29.4608 27.5 29.875C27.5 30.2892 27.1642 30.625 26.75 30.625H8.25C7.83579 30.625 7.5 30.2892 7.5 29.875Z" fill="#CBD5E1"/>
26
+ </g>
27
+ </g>
28
+ <path d="M55 10C55 5.58172 58.5817 2 63 2C67.4183 2 71 5.58172 71 10C71 14.4183 67.4183 18 63 18C58.5817 18 55 14.4183 55 10Z" fill="#00C950"/>
29
+ <g filter="url(#filter1_dd_3728_466)">
30
+ <mask id="path-16-inside-3_3728_466" fill="white">
31
+ <path d="M55 10C55 5.58172 58.5817 2 63 2C67.4183 2 71 5.58172 71 10C71 14.4183 67.4183 18 63 18C58.5817 18 55 14.4183 55 10Z"/>
32
+ </mask>
33
+ <path d="M55 10C55 5.58172 58.5817 2 63 2C67.4183 2 71 5.58172 71 10C71 14.4183 67.4183 18 63 18C58.5817 18 55 14.4183 55 10Z" fill="white" fill-opacity="0.01" shape-rendering="crispEdges"/>
34
+ <path d="M55 10M71 10M71 10M55 10M63 2M71 10M63 18M55 10M63 18V17C59.134 17 56 13.866 56 10H55H54C54 14.9706 58.0294 19 63 19V18ZM71 10H70C70 13.866 66.866 17 63 17V18V19C67.9706 19 72 14.9706 72 10H71ZM63 2V3C66.866 3 70 6.13401 70 10H71H72C72 5.02944 67.9706 1 63 1V2ZM63 2V1C58.0294 1 54 5.02944 54 10H55H56C56 6.13401 59.134 3 63 3V2Z" fill="white" mask="url(#path-16-inside-3_3728_466)"/>
35
+ </g>
36
+ <g clip-path="url(#clip1_3728_466)">
37
+ <path d="M66.3355 7.50049L61.7492 12.0859L59.6645 10.0016" stroke="white" stroke-width="1.25069" stroke-linecap="round" stroke-linejoin="round"/>
38
+ </g>
39
+ <defs>
40
+ <filter id="filter0_d_3728_466" x="0" y="7.625" width="66" height="90" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
41
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
42
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
43
+ <feOffset dy="1"/>
44
+ <feGaussianBlur stdDeviation="1.5"/>
45
+ <feComposite in2="hardAlpha" operator="out"/>
46
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
47
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_3728_466"/>
48
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_3728_466" result="shape"/>
49
+ </filter>
50
+ <pattern id="pattern0_3728_466" patternContentUnits="objectBoundingBox" width="1" height="1">
51
+ <use xlink:href="#image0_3728_466" transform="matrix(0.00247059 0 0 0.002 -0.117647 0)"/>
52
+ </pattern>
53
+ <filter id="filter1_dd_3728_466" x="52" y="0" width="22" height="22" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
54
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
55
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
56
+ <feOffset dy="1"/>
57
+ <feGaussianBlur stdDeviation="1"/>
58
+ <feComposite in2="hardAlpha" operator="out"/>
59
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
60
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_3728_466"/>
61
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
62
+ <feOffset dy="1"/>
63
+ <feGaussianBlur stdDeviation="1.5"/>
64
+ <feComposite in2="hardAlpha" operator="out"/>
65
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/>
66
+ <feBlend mode="normal" in2="effect1_dropShadow_3728_466" result="effect2_dropShadow_3728_466"/>
67
+ <feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_3728_466" result="shape"/>
68
+ </filter>
69
+ <clipPath id="clip0_3728_466">
70
+ <path d="M3 13.625C3 11.4159 4.79086 9.625 7 9.625H59C61.2091 9.625 63 11.4159 63 13.625V89.625C63 91.8341 61.2091 93.625 59 93.625H7C4.79086 93.625 3 91.8341 3 89.625V13.625Z" fill="white"/>
71
+ </clipPath>
72
+ <clipPath id="clip1_3728_466">
73
+ <rect width="7.92188" height="5.83594" fill="white" transform="translate(59.0391 6.875)"/>
74
+ </clipPath>
75
+ <image id="image0_3728_466" width="500" height="500" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAAgAElEQVR4nOzdd3hUZdoG8Puk994rECD0onQsgIViF7H3tq59revq56q7rot9d61rXVGwIipIU3qRJi1AIIEkkN57mcyc9/tjJpMZziSZJDNzpty/6+IyeTMZHnaTueftABERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERGRU5DULqA/IqPnjAdwrtp12FE4XPz/I3IoHwAhahdBLiUQgL/aRTiRD2uqVm1Ru4i+8lG7gP4QkM6VIN5Quw4iInJ9AtgghNgCAJLken0pL7ULICIiov5joBMREbkBBjoREZEbcOk5dEumTR2FadNHO+Tv8vPzRWCAn0P+LnIvAQF+8PP3VbsMckGBgf7w83W7l26H+2LxWqxdu0vtMmzK7X4qpk0fjccfu07tMoiIyIlt3XZQ7RJsjkPuREREboCBTkRE5AYY6ERERG6AgU5EROQGGOhERERugIFORETkBhjoREREboCBTkRE5AYY6ERERG6AgU5EROQGGOhERERugIFORETkBhjoREREboCBTkRE5AYY6ERERG6AgU5EROQGGOhERERugIFORETkBhjoREREboCBTkRE5AYY6ERERG6AgU5EROQGGOhERERugIFORETkBhjoREREboCBTkRE5AYY6ERERG6AgU5EROQGGOhERERugIFORETkBhjoREREboCBTkRE5AYY6ERERG7AR+0CiMh+2traUVPTgOrqev2fmgbUVDegpqYeNbWNaGhohkbTjsbGFuPj21o1Zs8heUkIDQ0CAISEBCIoKACBgf4IDQ1CREQIYqLDERUVhtjYCERHhyM2NgKS5PB/KpHHY6ATubCamgYUFJSisKgChacqUFhY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"/>
76
+ </defs>
77
+ </svg>