@idscan/idvc2 2.1.4 → 2.1.6

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