@idscan/idvc2 2.0.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 ADDED
@@ -0,0 +1,727 @@
1
+ ## Overview
2
+
3
+ Upon being switched on, the library integrates the component of capturing the documents and faces from a video to your page.
4
+
5
+ ## Use cases
6
+
7
+ - Capture and determination of the document type
8
+ - Capture of pdf417
9
+ - Capture of MRZ
10
+ - Capture of faces
11
+
12
+ ## Recommendations
13
+
14
+ Use a modern phone with a good camera having the definition of not less than 8 megapixels.
15
+ The capture must be made in a well-lighted room. A document must be located at the uniform background.
16
+
17
+ ## Limitations
18
+
19
+ This component works in phones with the operating system Android in the browser Chrome (minimum version 52) and in phones with the operating system iOS (minimum version 11) in the browser Safari
20
+
21
+ ## Installation
22
+
23
+ ```
24
+ $ npm install @idscan/idvc
25
+ ```
26
+
27
+ This component contains JS, CSS files which require the mandatory import into your project.
28
+
29
+ 1. Before importing, it is necessary to set the webpack-configuration.
30
+
31
+ *Note: The project must use the webpack 4 and later versions.*
32
+
33
+ 1.1. Add the following rules of loading to the field rules
34
+ ```javascript
35
+ {
36
+ test: /\.css$/,
37
+ use: ["style-loader", "css-loader"]
38
+ }
39
+ ```
40
+
41
+ 1.2. If you prefer to use neural networks from your domain, you should add the 'CopyWebpackPlugin' into the section 'plugins' which will copy the files, which are necessary for the work of the neural network, from the folder to another folder that should be selected by you.
42
+
43
+ *Note: The structure inside the folder of the component 'networks' must be saved on the server with due regard to the nesting.
44
+ There are binary files in the folder which do not have the extension. These files must be provided by the server with the header `Content-Type: application/octet-stream`.*
45
+
46
+ *copy-webpack-plugin v.5 and below*
47
+ ```javascript
48
+ const CopyWebpackPlugin = require('copy-webpack-plugin');
49
+
50
+ new CopyWebpackPlugin ([{
51
+ from: 'node_modules/@idscan/idvc/dist/networks/*',
52
+ to: 'networks/[name].[ext]',
53
+ toType: 'template',
54
+ }]);
55
+ ```
56
+ *copy-webpack-plugin v.6 and above*
57
+ ```javascript
58
+ const CopyWebpackPlugin = require('copy-webpack-plugin');
59
+
60
+ new CopyWebpackPlugin({
61
+ patterns: [
62
+ {
63
+ from: 'node_modules/@idscan/idvc/dist/networks/*',
64
+ to: 'networks/[name][ext]',
65
+ toType: 'template',
66
+ },
67
+ ],
68
+ });
69
+ ```
70
+
71
+ 1.3. Import the library and css to your project.
72
+
73
+ ```javascript
74
+ import IDVC from '@idscan/idvc'
75
+ import '@idscan/idvc/dist/css/idvc.css'
76
+
77
+ ```
78
+ ## Initialization
79
+
80
+ Create an instance of the object 'IDVC'. The object takes one object of the component configuration as a parameter.
81
+
82
+ Available fields:
83
+
84
+ **el** (string) – id of an element on the page where the component will be integrated.
85
+
86
+ **licenseKey** (string) – key for the library
87
+
88
+ **autoContinue** (boolean) - this option switches on/off the automatic transition to the next step. Default: false
89
+
90
+ **resizeUploadedImage** (integer) - sets the maximum size for manually loaded pictures. Default: -1
91
+
92
+ **fixFrontOrientAfterUpload** (boolean) - this option provides the possibility to adjust the correct position of the document in case of manual uploading. Default: false
93
+
94
+ **useCDN** (boolean) - set to true if you prefer to load neural networks from cdn instead of your domain. Default: false
95
+
96
+ **networkUrl** (string) - path to the folder with neural networks. Specify the path on the server if you need to remove the folder to another location. The default path is 'networks'. Default: 'networks'
97
+
98
+ **language** (string) - The option sets the language used for the translation of the text in the library
99
+
100
+ **realFaceMode** (string) - option that enable advanced capture with volumetric face detection. Available values: 'auto', 'none', 'all'. Auto - enable "realFaceMode" only for iphone. All - enable "realFaceMode" for all devices. None - disable this option. Default: 'auto'
101
+
102
+ **documentTypes** (array) - The option that describes what steps needs for each document type you are needed.
103
+
104
+ ***type*** (array) – array of types of acceptable documents. If you are going to use the component for the document validation, you can limit the list of acceptable documents.
105
+
106
+ Available types (int):
107
+
108
+ - **ID (1)** – USA driver license and USA ID (non-driver license), Canadian driver licenses,
109
+ - **Passport (2)** – with 2 lines MRZ
110
+ - **PassportCard (3)** – with 3 lines MRZ (most European IDs, USA passports/cards)
111
+ - **GreenCard (6)** – USA Permanent Resident Cards (only MRZ),
112
+ - **InternationalId (7)** – Internationally approved U.S. IDs with 3 lines MRZ
113
+ - **VIN (8)** – Vehicle Identification Number
114
+ - **Barcode (9)** – 1-d and 2-d barcodes
115
+
116
+ ***steps*** (array) – array of steps which are necessary for you. Every step represents an object with the fields 'type', 'name' and unnecessary 'mode'. The field 'name' is the name of a step, which will be represented in the header.
117
+ The field 'name' is a string type. Represents the step's name.
118
+
119
+ The field 'mode' is an object that contains two fields: 'uploader' and 'video'. It turns on/off ability of image capturing via file upload and video capture.
120
+ ```javascript
121
+ mode: { uploader: true, video: true }
122
+ ```
123
+
124
+ The field 'type' is a type of a step. Possible variants are:
125
+ - front – capture of a document
126
+ - mrz – detection, capture and parsing of the mrz-code of a document
127
+ - pdf – detection and capture of pdf417 of a document
128
+ - face – detection and capture of a face using the front camera
129
+ - barcode – detection, capture and parsing 1 dimensional (barcodes) or 2 dimensional (qr codes)
130
+ - photo – capture of an image on click without analysis
131
+
132
+ Steps can be combined in any order and in any combinations, except for the step 'auto'.
133
+
134
+ E.g.:
135
+ ```javascript
136
+ documentTypes: [
137
+ {
138
+ type: "ID",
139
+ steps:[
140
+ { type: 'front', name: 'Document Front', mode: { uploader: true, video: true } },
141
+ { type: 'pdf', name: 'Document PDF417 Barcode' , mode: { uploader: true, video: true } },
142
+ { type: 'face', name: 'Face', mode: { uploader: false, video: true } }
143
+ ]},
144
+ {
145
+ type: "Passport",
146
+ steps:[
147
+ { type: 'mrz', name: 'Passport Front' , mode: { uploader: true, video: true } },
148
+ { type: 'face', name: 'Face', mode: { uploader: false, video: true } }
149
+ ]},
150
+ ]
151
+ ```
152
+
153
+ **onChange** - callback-function which will be called after change one step. The returnable value is the object with the type and the image
154
+
155
+ **onCameraError** - The function that is invoked in case if the camera is not available. The response value is the object with the error code and the message
156
+
157
+ **onReset** - callback-function which will be called after reset all the steps. The returnable value is the object with the steps
158
+
159
+ **onRetakeHook** - the function that will be called before reset the current step. The returnable value is the object with the current step
160
+
161
+ **onMounted** - the function that will be called on the component mounted. This function doesn't return a value.
162
+
163
+ **changeLanguage** - the function that changes languages of the library.
164
+
165
+ **submit** - callback-function which will be called after completing all the steps. The returnable value is the object with the following content:
166
+ ```javascript
167
+ {
168
+ steps: [{
169
+ img: "",
170
+ type: "front",
171
+ },
172
+ …],
173
+ documentType: 1,
174
+ }
175
+ ```
176
+ where documentType – id of a document type ( ID – 1, Passport - 2, PassportCard – 3, GreenCard – 6, InternationalId – 7)
177
+
178
+ steps – steps with the type and the image in the format 'base64'.
179
+
180
+ Also, if you use automatic capture, in the "back" step **trackstring** will be returned (raw PDF417 data from Barcode encoded in base64)
181
+
182
+ Config example:
183
+
184
+ ```javascript
185
+ new IDVC ({
186
+ el: 'videoCapturingEl',
187
+ licenseKey: '',
188
+ networkUrl: 'networks',
189
+ documentTypes: [
190
+ {
191
+ type: "ID",
192
+ steps:[
193
+ { type: 'front', name: 'Document Front', mode: { uploader: true, video: true } },
194
+ { type: 'pdf', name: 'Document PDF417 Barcode', mode: { uploader: true, video: true } },
195
+ { type: 'face', name: 'Face', mode: { uploader: false, video: true } }
196
+ ]},
197
+ {
198
+ type: "Passport",
199
+ steps:[
200
+ { type: 'mrz', name: 'Passport Front' },
201
+ { type: 'face', name: 'Face' }
202
+ ]},
203
+ ]
204
+ })
205
+ ```
206
+
207
+ *Note: Request a license key for the library by emailing
208
+ [sales@idscan.net](mailto:sales@idscan.net) or [support@idscan.net](mailto:support@idscan.net)*
209
+
210
+ ## Style Customization
211
+
212
+ To tweak the theme of the component you can redeclare variables in CSS custom properties. Don't forget to place the CSS file with redeclared variables below the component's CSS file. Redeclaration of CSS custom properties looks like this:
213
+ ```CSS
214
+ .idvc {
215
+ --btn-border-radius-big: 40px;
216
+ --color-background-white: #000000;
217
+ }
218
+ ```
219
+
220
+ The component has the following customizable properties:
221
+
222
+ **--btn-border-radius-big**
223
+
224
+ *default: 4px*
225
+
226
+ - radius of retake, continue, submit buttons
227
+
228
+ **--btn-border-radius-small**
229
+
230
+ *default: 4px*
231
+
232
+ - radius of the manual switch button
233
+ - radius of the messagebox
234
+
235
+ **--color-text-secondary-light**
236
+
237
+ *default: #C4C4C4*
238
+
239
+ - 'select document type' menus's checkmark
240
+
241
+ **--color-positive-light**
242
+
243
+ *default: #17EA4C*
244
+
245
+ - success frame on capturing
246
+
247
+ **--border-color-divider**
248
+
249
+ *default: #C0C0C0*
250
+
251
+ - message box's default border color
252
+ - 'select document type' menus's devider
253
+
254
+ **--color-primary-light-2**
255
+
256
+ *default: #DCE7FD*
257
+
258
+ - primary button hover, focus colors
259
+
260
+ **--color-primary-light-7**
261
+
262
+ *default: #85AAF7*
263
+
264
+ - transparent button hover and focus background color
265
+
266
+ **--color-primary-light-9**
267
+
268
+ *default: #6291F4*
269
+
270
+ - transparent button border hover, focus colors
271
+ - 'select document type' menus's selected item background
272
+
273
+ **--color-primary-dark-2**
274
+
275
+ *default: #080D18*
276
+
277
+ - primary button active colors
278
+ - transparent button active font color and border color
279
+
280
+ **--color-background-subheader**
281
+
282
+ *default: #F5F6F9*
283
+
284
+ - background of the bottom part of the active step in 'steps' section
285
+ - 'type not defined' select background of the modal window
286
+ - scrollbar of 'result' modal window
287
+
288
+ **--color-background-white**
289
+
290
+ *default: #FFF*
291
+
292
+ - uploader's background
293
+ - background of 'result' modal window container
294
+ - background of 'type not defined' modal window
295
+ - background of 'document type-hint’ section
296
+
297
+ **--border-color-base**
298
+
299
+ *default: #DCDFE6*
300
+
301
+ - border of 'type not defined' modal window select
302
+ - border of 'document type-hint' section
303
+ - borders of top part in 'steps' section
304
+ - bottom icons of inactive step in 'steps' section
305
+ - image background in 'steps' section
306
+
307
+ **--color-primary**
308
+
309
+ *default: #5185F3*
310
+
311
+ - background of primary buttons
312
+ - active step name, icon, and bottom line of the active step in 'steps' section
313
+ - uploader labels, border
314
+ - manual take picture button in video capturing
315
+ - change the document type in 'document type-hint' section
316
+ - step name on hover in 'steps' section
317
+ - guideline inscription
318
+ - background of the upload icon in the uploader
319
+ - uploader's emphasized descriptions
320
+ - disabled primary buttons
321
+ - disabled button border
322
+ - spinner's color
323
+
324
+ **--color-success**
325
+
326
+ *default: #13CE66*
327
+
328
+ - succeeded steps in 'steps' section
329
+ - face shape when capturing the video in face step
330
+ - capture progress
331
+ - valid sign of 'result' modal window container
332
+ - hints on video capture
333
+ - background of uploader's success sign
334
+
335
+ **--color-danger**
336
+
337
+ *default: #FF4949*
338
+
339
+ - background and bottom border of the step error in 'steps' section
340
+ - header of 'type not defined' modal window
341
+ - invalid sign of 'result' modal window container
342
+ - license error text
343
+
344
+ **--color-warning**
345
+
346
+ *default: #FFC632*
347
+
348
+ - warning sign of uploader
349
+
350
+ **--color-text-secondary**
351
+
352
+ *default: #909399*
353
+
354
+ - scrollbar of 'result' modal window
355
+ - library version
356
+ - descriptions of the uploader
357
+ - close sign of 'result' modal window
358
+ - name of the inactive step in 'steps' section
359
+
360
+ **--color-black**
361
+
362
+ *default: #000*
363
+
364
+ - face shape icon in video capturing when the face is not detected at the face step
365
+ - shadow of 'type not defined' modal window
366
+ - caption of 'type not defined' modal window select
367
+ - uploader's bold descriptions
368
+ - shadow of 'result' modal window
369
+ - bottom border of 'result' modal window row
370
+ - options of change the document type in 'document type-hint' section
371
+ - uploader's error sign stroke
372
+ - uploader's error description
373
+
374
+ **--color-white**
375
+
376
+ *default: #FFF*
377
+
378
+ - caption of buttons
379
+ - border and caption of manual take picture button
380
+ - upload icon
381
+ - header description of 'type not defined' modal window
382
+ - uploader success sign's checkmark
383
+ - description of capture progress
384
+
385
+ ## Version history
386
+ - **2.0.0**
387
+ - deprecated: isShowManualSwitchButton. Now the decision is made on a step config
388
+ - deprecated: enableFlash. Now it shows only if device/browser supports flashlight.
389
+ - deprecated: showSubmitBtn. The submit button is always turned on.
390
+ - deprecated: isShowVersion. The Library version is always showing.
391
+ - deprecated: tapOnVideo.
392
+ - deprecated: tapBackSide.
393
+ - deprecated: tapFace.
394
+ - deprecated: showForceCapturingBtn.
395
+ - deprecated: minPDFframes.
396
+ - deprecated: capturingMode.
397
+ - deprecated: showPreviewForOneStep.
398
+ - deprecated: priority. Now the priority is selected by camera availability.
399
+ - deprecated: parseMRZ.
400
+ - deprecated: enableGeolocation.
401
+ - deprecated: enableLimitation. Now limitation shows only if the system not supports needed features.
402
+ - deprecated: steps.
403
+ - deprecated: types.
404
+ - deprecated: displayParsedData.
405
+ - changed behavior: autoContinue.
406
+ - feat: documentTypes. Now the "documentTypes" option is a union of steps and types.
407
+ - feat: add translation.
408
+
409
+ - **1.12.17**
410
+ - added: onMounted hook
411
+
412
+ - **1.12.16**
413
+ - added: possibility to change a document type during the document processing
414
+
415
+ - **1.12.15**
416
+ - fixed: capture mask console output
417
+ - improved back step filtering behaviour
418
+
419
+ - **1.12.14**
420
+ - fixed: capture mask resize
421
+
422
+ - **1.12.13**
423
+ - fixed: angular app resize and rotate image
424
+
425
+ - **1.12.12**
426
+ - fixed: desktop type select styles
427
+ - fixed: fixFrontOrientAfterUpload
428
+
429
+ - **1.12.11**
430
+ - changed capture frame
431
+ - changed success progress
432
+ - performance improvement
433
+ - changed hint behaviour
434
+ - added message box
435
+
436
+ - **1.12.10**
437
+ - Some infrastructure improvements
438
+
439
+ - **1.12.9**
440
+ - Some infrastructure improvements
441
+
442
+ - **1.12.8**
443
+ - Added: type declaration
444
+
445
+ - **1.12.7**
446
+ - Fixed: not disappeared loader on reset all steps by manual upload
447
+
448
+ - **1.12.6**
449
+ - Added new modules available via CDN
450
+
451
+ - **1.12.5**
452
+ - improved iOs camera start
453
+
454
+ - **1.12.3**
455
+ - Fixed: automatic call of the submit callback if the submit button is disabled
456
+
457
+ - **1.12.2**
458
+ - Fixed: no video output on Safari 15
459
+ - Fixed: global isShowManualSwitchButton
460
+ - improved speed of library initialization
461
+ - changed images
462
+ - added: strictAllowedTypes config option
463
+
464
+ - **1.12.1**
465
+ - Fixed: neural networks path
466
+
467
+ - **1.12.0**
468
+ - Added: the ability to use CDN
469
+ - BREAKING CHANGE: neural networks names are changed. Check out you don't forget to rebuild your app
470
+ - Added: config validation
471
+ - ALl colors are moved to CSS custom properties
472
+ - All colors are standardized
473
+
474
+ - **1.11.12**
475
+ - Deprecated: enableMobileLimitation
476
+ - Added: check if a browser supports work with media devices
477
+
478
+ - **1.11.11**
479
+ - Fixed: iPhone memory leak
480
+ - Fixed: browser support
481
+
482
+ - **1.11.10**
483
+ - Fixed: Windows surface support
484
+
485
+ - **1.11.9**
486
+ - Fixed: On iOS devices was a black screen on the second step
487
+
488
+ - **1.11.8**
489
+ - Changed: On iOS devices version 12 and below, simplified face capture is now used
490
+
491
+ - **1.11.7**
492
+ - Changed: isShowManualSwitchButton can be setted in a step
493
+
494
+ - **1.11.6**
495
+ - Changed: new version of PDF reader
496
+
497
+ - **1.11.5**
498
+ - Added: onRetakeHook callback function
499
+
500
+ - **1.11.4**
501
+ - Changed: the tapOnVideo option is set to false as default value
502
+
503
+ - **1.11.3**
504
+ - Changed: isShowManualSwitchButton can accept an object instead of a boolean
505
+
506
+ - **1.11.1**
507
+ - Added: barcode step
508
+ - Added: option display parsed data
509
+
510
+ - **1.10.4**
511
+ - Added: metadata field
512
+ - Added: get user location
513
+ - Added: send base64 encoded metadata
514
+
515
+ - **1.10.3**
516
+ - Fixed: reload component method
517
+
518
+ - **1.10.2**
519
+ - Fixed: 3D faces crashed on iPhone
520
+
521
+ - **1.10.1**
522
+ - Fixed: Models for 3D faces were loaded from tf hub and Google Storage. Now all models are stored inside the package
523
+ Note: you’ll need to rebuild your app
524
+
525
+ - **1.10.0**
526
+ - Added: Option "parseMRZ" - if it is enabled, the captured MRZ lines are converted into the parsed document fields. Thus on-server parsing won’t be necessary. MRZ is captured automatically, after which the parsedData object is available
527
+ - Added: Message "MRZ not recognized" during the "MRZ" step (or "Front" when the document requires presense of MRZ lines) the validity of MRZ is valid.
528
+
529
+ Note: you’ll need to request a new license key since the new version will not work with the old one.
530
+
531
+ - **1.9.18**
532
+ - Added: New method showSpinner. Accepts the boolean value "true" or "false" as input.
533
+
534
+ - **1.9.17**
535
+ - Fixed: 3D face capture mode was enabled in document face capture mode
536
+
537
+ - **1.9.16**
538
+ - Fixed: "capturing" step doesn't work
539
+
540
+ - **1.9.15**
541
+ - Fixed: "resetAllSteps" method doesn't work
542
+
543
+ - **1.9.14**
544
+ - Set default value for minPdfFrames to 2
545
+
546
+ - **1.9.13**
547
+ - Fixed: fixFrontOrientAfterUpload doesn't work
548
+
549
+ - **1.9.11**
550
+ - Added: During the manual upload PDF417 will be scanned automatically.
551
+ - Changed: The default value of ‘autoContinue’ is set to ‘true’.
552
+ - Changed: The default value of ‘capturingMode’ is set to 4. NOTE! If you got an error related to the neural network downloading, then you’ll need to copy the ‘networks’ folder once again.
553
+
554
+ - **1.9.10**
555
+ - Added: Orientation change support
556
+
557
+ - **1.9.9**
558
+ - Added: The option enableFlash, which turns on the flash while capturing an image
559
+ - Fixed: High load on CPU while stopping the mode of auto capturing
560
+
561
+ - **1.9.8**
562
+ - Added "source" field to each element of the steps array
563
+ - Updated "captureMethod" field to contain a string value where each character is either a "0", "1" or a "2" (e.g. "102" or "111"). "0" indicates a step was completed by uploading a file, a "1" indicates a step was completed by the builtin autocapture functionality and a "2" indicates a user tapped the video area to capture an image manually
564
+
565
+ - **1.9.7**
566
+ - Fixed: Angles model is not loaded
567
+
568
+ - **1.9.6**
569
+ - Fixed: tfjs-converter is broken in version 1.7.4
570
+
571
+ - **1.9.5**
572
+ - Fixed: "fixFrontOrientAfterUpload" did not work if one step was specified
573
+
574
+ - **1.9.4**
575
+ - Fixed: Selecting a wide camera on Samsung devices
576
+
577
+ - **1.9.3**
578
+ - Added "captureMethod" field in the payload of the submit function
579
+
580
+ - **1.9.2**
581
+ - Fixed: face image not showing
582
+
583
+ - **1.9.1**
584
+ - Unless the browser supports the WebAssembly technology, the widget will show that the browser is not supported
585
+
586
+ - **1.9.0**
587
+ - The new option fixFrontOrientAfterUpload has been added. When you switch it on, the document will be rotated into correct position in case of manual uploading
588
+
589
+ - **1.8.27**
590
+ - Fixed: The widget broke down when using the camera during switching the page in SPA
591
+
592
+ - **1.8.26**
593
+ - Fixed: autocapturing does not work if method 4 is selected and one document type is selected
594
+
595
+ - **1.8.25**
596
+ - We have added the option "minPDFframes" which determines the minimal number of frames for capturing the PDF417. Default: 1
597
+
598
+ - **1.8.24**
599
+ - In each step we have added the field which means whether the auto capturing has been used or not
600
+
601
+ - **1.8.23**
602
+ - Fix blank image if capturinMethod is 'none'
603
+
604
+ - **1.8.22**
605
+ - Reduced minimum frames to capturing of PDF417 barcode from 4 to 1
606
+
607
+ - **1.8.21**
608
+ - Fix tapOnVideo in the new capturing mode
609
+
610
+ - **1.8.20**
611
+ - A new method of the autocapturing has been added. To enable it use option "capturingMode"
612
+
613
+ - **1.8.14**
614
+ - Fixed the style of the select of types
615
+
616
+ - **1.8.13**
617
+ - Changed text for the Driver's license label
618
+
619
+ - **1.8.12**
620
+ - Fix the rotation for Samsung browser
621
+
622
+ - **1.8.11**
623
+ - Disabled rotation after resizing
624
+
625
+ - **1.8.10**
626
+ - Fixed bundle for webpack 3
627
+
628
+ - **1.8.9**
629
+ - Fixed trim MRZ
630
+
631
+ - **1.8.8**
632
+ - Added callback "onCameraError" for exceptions from a camera
633
+
634
+ - **1.8.7**
635
+ - Added option "tapFace"
636
+
637
+ - **1.8.6**
638
+ - Added full support of HEIC format
639
+
640
+ - **1.8.2**
641
+ - Added support "Tap on video" on PC
642
+
643
+ - **1.8.0**
644
+ - Added option "autoContinue" (Default: false) - enables automatic transition to the next step
645
+
646
+ - **1.7.21**
647
+ - Fixed "Tap on video". Now all video area available for tap
648
+
649
+ - **1.7.20**
650
+ - Fix getCapabilities in Firefox
651
+
652
+ - **1.7.19**
653
+ - Now the file extension is checked by magic numbers
654
+
655
+ - **1.7.18**
656
+ - Changed text in the uploader
657
+ - Changed text in the switch button
658
+ - Changed timings (needed 25 frames, 100 ms between frames) in front capturing proccesing
659
+
660
+ - **1.7.17**
661
+ - Changed upload icon
662
+
663
+ - **1.7.16**
664
+ - Fixed: Widget stuck in spinner when cancel uploading image on Mac OS
665
+
666
+ - **1.7.15**
667
+ - Resize loss rate set to 1
668
+
669
+ - **1.7.14**
670
+ - Fixed image distortion in the preview of the steps
671
+
672
+ - **1.7.13**
673
+ - Updated mrz reader
674
+
675
+ - **1.7.11**
676
+ - Added heic support
677
+
678
+ - **1.7.10**
679
+ - Fix text when passport detected
680
+
681
+ - **1.7.9**
682
+ - Fix "showForceCapturingBtn" option
683
+
684
+ - **1.7.8**
685
+ - Added step - capturing
686
+
687
+ - **1.7.7**
688
+ - Added index to step
689
+
690
+ - **1.7.6**
691
+ - Fix real face for inverted camera
692
+
693
+ - **1.7.5**
694
+ - Added showing of error for unsupported types of images
695
+
696
+ - **1.7.4**
697
+ - Fix "reset all steps" when your document is passport
698
+
699
+ - **1.7.3**
700
+ - Fix error in pipeline of passport capturing
701
+
702
+ - **1.7.2**
703
+ - Added option tapBackSide (Default: false) - tap and hold the screen to capture the back side of the ID
704
+
705
+ - **1.6.16**
706
+ - Fixed for back step (hidden if it is not necessary)
707
+
708
+ - **1.6.15**
709
+ - Fonts are now included in the js file
710
+
711
+ - **1.6.14**
712
+ - Reduced the number of frames needed to capture PDF417 from 10 to 4
713
+
714
+ - **1.6.10**
715
+ - Changed text for barcode tips
716
+
717
+ - **1.6.10**
718
+ - Changed text for barcode tips
719
+
720
+ - **1.6.8**
721
+ - Added option: isShowVersion(boolean) - hide/show version of library in the bottom
722
+
723
+ - **1.6.6**
724
+ - Added pdf progress
725
+
726
+ - **1.6.0**
727
+ - Added option: **resizeUploadedImage** (integer) - sets the maximum size for manually loaded pictures