ngx-scandoc 18.0.3 → 19.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.
Files changed (48) hide show
  1. package/fesm2022/ngx-scandoc.mjs +128 -127
  2. package/fesm2022/ngx-scandoc.mjs.map +1 -1
  3. package/package.json +9 -11
  4. package/esm2022/core/app.worker.mjs +0 -236
  5. package/esm2022/core/components/base.component.mjs +0 -15
  6. package/esm2022/core/components/camera-switch/camera-switch.component.mjs +0 -25
  7. package/esm2022/core/components/components.module.mjs +0 -69
  8. package/esm2022/core/components/manual-scan/manual-scan.component.mjs +0 -290
  9. package/esm2022/core/components/scan/scan.component.mjs +0 -732
  10. package/esm2022/core/components/scan-results/scan-results.component.mjs +0 -65
  11. package/esm2022/core/components/webcam/domain/webcam-image.mjs +0 -58
  12. package/esm2022/core/components/webcam/domain/webcam-init-error.mjs +0 -3
  13. package/esm2022/core/components/webcam/domain/webcam-mirror-properties.mjs +0 -3
  14. package/esm2022/core/components/webcam/util/webcam.util.mjs +0 -50
  15. package/esm2022/core/components/webcam/webcam/webcam.component.mjs +0 -543
  16. package/esm2022/core/components/webcam/webcam.module.mjs +0 -29
  17. package/esm2022/core/helpers/object-utils.mjs +0 -100
  18. package/esm2022/core/interfaces/config.mjs +0 -2
  19. package/esm2022/core/interfaces/guest.data.mjs +0 -2
  20. package/esm2022/core/pipes/pipes.module.mjs +0 -19
  21. package/esm2022/core/pipes/safeResourceUrl.pipe.mjs +0 -20
  22. package/esm2022/core/shared/material.module.mjs +0 -162
  23. package/esm2022/core/tokens/config.tokens.mjs +0 -4
  24. package/esm2022/dialogs/components/blank/blank.component.mjs +0 -46
  25. package/esm2022/dialogs/components/confirm/confirm.component.mjs +0 -51
  26. package/esm2022/dialogs/components/loading/loading.component.mjs +0 -12
  27. package/esm2022/dialogs/components/prompt-manual/prompt-manual.component.mjs +0 -30
  28. package/esm2022/dialogs/components/scan-profile/scan-profile.component.mjs +0 -79
  29. package/esm2022/dialogs/components/scan-selfie/scan-selfie.component.mjs +0 -95
  30. package/esm2022/dialogs/components/turn-document/turn-document.component.mjs +0 -31
  31. package/esm2022/dialogs/dialogs.core.provider.mjs +0 -120
  32. package/esm2022/dialogs/dialogs.module.mjs +0 -102
  33. package/esm2022/forms/form.module.mjs +0 -87
  34. package/esm2022/forms/types/avatar.type.mjs +0 -58
  35. package/esm2022/forms/types/profile.image.type.mjs +0 -64
  36. package/esm2022/forms/types/title.type.mjs +0 -32
  37. package/esm2022/lib/ngx-scandoc.module.mjs +0 -44
  38. package/esm2022/ngx-scandoc.mjs +0 -5
  39. package/esm2022/providers/auth.provider.mjs +0 -113
  40. package/esm2022/providers/camera.provider.mjs +0 -87
  41. package/esm2022/providers/interceptor.provider.mjs +0 -77
  42. package/esm2022/providers/layout.provider.mjs +0 -30
  43. package/esm2022/providers/scan.form.mjs +0 -347
  44. package/esm2022/providers/scan.provider.mjs +0 -756
  45. package/esm2022/providers/translate-loader.provider.mjs +0 -126
  46. package/esm2022/providers/translation.provider.mjs +0 -133
  47. package/esm2022/providers/webrtc.provider.mjs +0 -58
  48. package/esm2022/public-api.mjs +0 -33
@@ -1,87 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { FormlyModule } from '@ngx-formly/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { FormlyMaterialModule } from '@ngx-formly/material';
5
- import { CommonModule } from '@angular/common';
6
- import { AvatarTypeComponent } from './types/avatar.type';
7
- import { TitleTypeComponent } from './types/title.type';
8
- import { FormlySelectModule } from '@ngx-formly/core/select';
9
- import { AvatarModule } from 'ngx-avatars';
10
- import { TranslateModule } from '@ngx-translate/core';
11
- import { MaterialModule } from '../core/shared/material.module';
12
- import { ProfileImageTypeComponent } from './types/profile.image.type';
13
- import { FormlyMatDatepickerModule } from '@ngx-formly/material/datepicker';
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "@ngx-formly/core";
16
- export class AppFormModule {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AppFormModule, declarations: [TitleTypeComponent,
19
- AvatarTypeComponent,
20
- ProfileImageTypeComponent], imports: [CommonModule,
21
- FormsModule,
22
- FormlyMatDatepickerModule,
23
- FormlySelectModule,
24
- MaterialModule,
25
- AvatarModule,
26
- TranslateModule,
27
- FormlyMaterialModule, i1.FormlyModule], exports: [FormlyModule] }); }
28
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFormModule, imports: [CommonModule,
29
- FormsModule,
30
- FormlyMatDatepickerModule,
31
- FormlySelectModule,
32
- MaterialModule,
33
- AvatarModule,
34
- TranslateModule,
35
- FormlyMaterialModule,
36
- FormlyModule.forChild({
37
- types: [
38
- {
39
- name: 'title',
40
- component: TitleTypeComponent,
41
- wrappers: [],
42
- },
43
- {
44
- name: 'profile-image',
45
- component: ProfileImageTypeComponent,
46
- wrappers: [],
47
- },
48
- ],
49
- }), FormlyModule] }); }
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppFormModule, decorators: [{
52
- type: NgModule,
53
- args: [{
54
- declarations: [
55
- TitleTypeComponent,
56
- AvatarTypeComponent,
57
- ProfileImageTypeComponent,
58
- ],
59
- imports: [
60
- CommonModule,
61
- FormsModule,
62
- FormlyMatDatepickerModule,
63
- FormlySelectModule,
64
- MaterialModule,
65
- AvatarModule,
66
- TranslateModule,
67
- FormlyMaterialModule,
68
- FormlyModule.forChild({
69
- types: [
70
- {
71
- name: 'title',
72
- component: TitleTypeComponent,
73
- wrappers: [],
74
- },
75
- {
76
- name: 'profile-image',
77
- component: ProfileImageTypeComponent,
78
- wrappers: [],
79
- },
80
- ],
81
- }),
82
- ],
83
- providers: [],
84
- exports: [FormlyModule],
85
- }]
86
- }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZm9ybXMvZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFnQixNQUFNLGtCQUFrQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBc0M1RSxNQUFNLE9BQU8sYUFBYTsrR0FBYixhQUFhO2dIQUFiLGFBQWEsaUJBakN0QixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLHlCQUF5QixhQUd6QixZQUFZO1lBQ1osV0FBVztZQUNYLHlCQUF5QjtZQUN6QixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLFlBQVk7WUFDWixlQUFlO1lBRWYsb0JBQW9CLDhCQWtCWixZQUFZO2dIQUVYLGFBQWEsWUE1QnRCLFlBQVk7WUFDWixXQUFXO1lBQ1gseUJBQXlCO1lBQ3pCLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsWUFBWTtZQUNaLGVBQWU7WUFFZixvQkFBb0I7WUFDcEIsWUFBWSxDQUFDLFFBQVEsQ0FBQztnQkFDcEIsS0FBSyxFQUFFO29CQUNMO3dCQUNFLElBQUksRUFBRSxPQUFPO3dCQUNiLFNBQVMsRUFBRSxrQkFBa0I7d0JBQzdCLFFBQVEsRUFBRSxFQUFFO3FCQUNiO29CQUNEO3dCQUNFLElBQUksRUFBRSxlQUFlO3dCQUNyQixTQUFTLEVBQUUseUJBQXlCO3dCQUNwQyxRQUFRLEVBQUUsRUFBRTtxQkFDYjtpQkFDRjthQUNGLENBQUMsRUFJTSxZQUFZOzs0RkFFWCxhQUFhO2tCQW5DekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCx5QkFBeUI7d0JBQ3pCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGVBQWU7d0JBRWYsb0JBQW9CO3dCQUNwQixZQUFZLENBQUMsUUFBUSxDQUFDOzRCQUNwQixLQUFLLEVBQUU7Z0NBQ0w7b0NBQ0UsSUFBSSxFQUFFLE9BQU87b0NBQ2IsU0FBUyxFQUFFLGtCQUFrQjtvQ0FDN0IsUUFBUSxFQUFFLEVBQUU7aUNBQ2I7Z0NBQ0Q7b0NBQ0UsSUFBSSxFQUFFLGVBQWU7b0NBQ3JCLFNBQVMsRUFBRSx5QkFBeUI7b0NBQ3BDLFFBQVEsRUFBRSxFQUFFO2lDQUNiOzZCQUNGO3lCQUNGLENBQUM7cUJBQ0g7b0JBRUQsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUsIENvbmZpZ09wdGlvbiB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZvcm1seU1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQXZhdGFyVHlwZUNvbXBvbmVudCB9IGZyb20gJy4vdHlwZXMvYXZhdGFyLnR5cGUnO1xuXG5pbXBvcnQgeyBUaXRsZVR5cGVDb21wb25lbnQgfSBmcm9tICcuL3R5cGVzL3RpdGxlLnR5cGUnO1xuaW1wb3J0IHsgRm9ybWx5U2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZS9zZWxlY3QnO1xuaW1wb3J0IHsgQXZhdGFyTW9kdWxlIH0gZnJvbSAnbmd4LWF2YXRhcnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL2NvcmUvc2hhcmVkL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBQcm9maWxlSW1hZ2VUeXBlQ29tcG9uZW50IH0gZnJvbSAnLi90eXBlcy9wcm9maWxlLmltYWdlLnR5cGUnO1xuaW1wb3J0IHsgRm9ybWx5TWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsL2RhdGVwaWNrZXInO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRpdGxlVHlwZUNvbXBvbmVudCxcbiAgICBBdmF0YXJUeXBlQ29tcG9uZW50LFxuICAgIFByb2ZpbGVJbWFnZVR5cGVDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRm9ybWx5TWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBGb3JtbHlTZWxlY3RNb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgQXZhdGFyTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcblxuICAgIEZvcm1seU1hdGVyaWFsTW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICB0eXBlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgICBjb21wb25lbnQ6IFRpdGxlVHlwZUNvbXBvbmVudCxcbiAgICAgICAgICB3cmFwcGVyczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAncHJvZmlsZS1pbWFnZScsXG4gICAgICAgICAgY29tcG9uZW50OiBQcm9maWxlSW1hZ2VUeXBlQ29tcG9uZW50LFxuICAgICAgICAgIHdyYXBwZXJzOiBbXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSksXG4gIF0sXG5cbiAgcHJvdmlkZXJzOiBbXSxcbiAgZXhwb3J0czogW0Zvcm1seU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcEZvcm1Nb2R1bGUge31cbiJdfQ==
@@ -1,58 +0,0 @@
1
- import { Component, } from '@angular/core';
2
- import { FieldType } from '@ngx-formly/material';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/material/card";
6
- import * as i3 from "@angular/material/button";
7
- import * as i4 from "@ngx-translate/core";
8
- export class AvatarTypeComponent extends FieldType {
9
- constructor(cd) {
10
- super();
11
- this.cd = cd;
12
- this.width = 'w-120';
13
- this.padding = 'px-32 pt-8 pb-8';
14
- }
15
- ngOnChange() { }
16
- selfie() { }
17
- ;
18
- ngAfterViewInit() {
19
- if (this.to.width) {
20
- this.width = this.to.width;
21
- }
22
- if (this.to.padding) {
23
- this.padding = this.to.padding;
24
- }
25
- this.cd.detectChanges();
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarTypeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AvatarTypeComponent, selector: "app-formly-avatar-type", usesInheritance: true, ngImport: i0, template: `
29
- <mat-card appearance="outlined" style="margin: 4px; padding:16px">
30
- <div class="card-title">{{ 'scandoc.result.avatar' | translate }}</div>
31
- <div class="selfieContainer">
32
- <div class="selfie">
33
- <img *ngIf="model?._avatar" class="preview" [src]="model._avatar" />
34
- </div>
35
- <button (click)="selfie()" mat-raised-button>
36
- {{ 'scandoc.result.takeSelfie' | translate }}
37
- </button>
38
- </div>
39
- </mat-card>
40
- `, isInline: true, styles: ["mat-card{border-radius:0;box-shadow:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AvatarTypeComponent, decorators: [{
43
- type: Component,
44
- args: [{ selector: 'app-formly-avatar-type', template: `
45
- <mat-card appearance="outlined" style="margin: 4px; padding:16px">
46
- <div class="card-title">{{ 'scandoc.result.avatar' | translate }}</div>
47
- <div class="selfieContainer">
48
- <div class="selfie">
49
- <img *ngIf="model?._avatar" class="preview" [src]="model._avatar" />
50
- </div>
51
- <button (click)="selfie()" mat-raised-button>
52
- {{ 'scandoc.result.takeSelfie' | translate }}
53
- </button>
54
- </div>
55
- </mat-card>
56
- `, styles: ["mat-card{border-radius:0;box-shadow:none!important}\n"] }]
57
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZm9ybXMvdHlwZXMvYXZhdGFyLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsR0FJVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQW1CakQsTUFBTSxPQUFPLG1CQUNYLFNBQVEsU0FBYztJQU10QixZQUFvQixFQUFxQjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQURVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBSHpDLFVBQUssR0FBRyxPQUFPLENBQUM7UUFDaEIsWUFBTyxHQUFHLGlCQUFpQixDQUFDO0lBSTVCLENBQUM7SUFDRCxVQUFVLEtBQUksQ0FBQztJQUVmLE1BQU0sS0FBRyxDQUFDO0lBQUEsQ0FBQztJQUVYLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDakMsQ0FBQztRQUVELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0F2QlUsbUJBQW1CO21HQUFuQixtQkFBbUIscUZBZnBCOzs7Ozs7Ozs7Ozs7R0FZVDs7NEZBR1UsbUJBQW1CO2tCQWpCL0IsU0FBUzsrQkFDRSx3QkFBd0IsWUFDeEI7Ozs7Ozs7Ozs7OztHQVlUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZvcm1seS1hdmF0YXItdHlwZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIHN0eWxlPVwibWFyZ2luOiA0cHg7IHBhZGRpbmc6MTZweFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGVcIj57eyAnc2NhbmRvYy5yZXN1bHQuYXZhdGFyJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNlbGZpZUNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZmllXCI+XG4gICAgICAgICAgPGltZyAqbmdJZj1cIm1vZGVsPy5fYXZhdGFyXCIgY2xhc3M9XCJwcmV2aWV3XCIgW3NyY109XCJtb2RlbC5fYXZhdGFyXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNlbGZpZSgpXCIgbWF0LXJhaXNlZC1idXR0b24+XG4gICAgICAgICAge3sgJ3NjYW5kb2MucmVzdWx0LnRha2VTZWxmaWUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtY2FyZD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc2Nzcy9hdmF0YXIudHlwZS5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhclR5cGVDb21wb25lbnRcbiAgZXh0ZW5kcyBGaWVsZFR5cGU8YW55PlxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXRcbntcbiAgd2lkdGggPSAndy0xMjAnO1xuICBwYWRkaW5nID0gJ3B4LTMyIHB0LTggcGItOCc7XG4gIG5hbWU6IGFueTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIG5nT25DaGFuZ2UoKSB7fVxuXG4gIHNlbGZpZSgpe307XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLnRvLndpZHRoKSB7XG4gICAgICB0aGlzLndpZHRoID0gdGhpcy50by53aWR0aDtcbiAgICB9XG4gICAgaWYgKHRoaXMudG8ucGFkZGluZykge1xuICAgICAgdGhpcy5wYWRkaW5nID0gdGhpcy50by5wYWRkaW5nO1xuICAgIH1cblxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iXX0=
@@ -1,64 +0,0 @@
1
- import { Component, } from '@angular/core';
2
- import { FieldType } from '@ngx-formly/material';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../providers/camera.provider";
5
- import * as i2 from "../../providers/scan.provider";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/button";
9
- import * as i6 from "@angular/material/input";
10
- import * as i7 from "@ngx-translate/core";
11
- export class ProfileImageTypeComponent extends FieldType {
12
- constructor(cd, cameraProvider, scanProvider) {
13
- super();
14
- this.cd = cd;
15
- this.cameraProvider = cameraProvider;
16
- this.scanProvider = scanProvider;
17
- }
18
- selfie() {
19
- this.cameraProvider.selfie$.next(true);
20
- }
21
- ngOnChange() { }
22
- ngAfterViewInit() { }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileImageTypeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgxScandocCameraProvider }, { token: i2.ScanProvider }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProfileImageTypeComponent, selector: "app-formly-profile-image-type", usesInheritance: true, ngImport: i0, template: `
25
- <mat-form-field>
26
- <mat-label>{{ 'scandoc.result.avatar' | translate }} </mat-label>
27
- <input matInput style="display:none" />
28
- <div class="selfieContainer">
29
- <div class="selfie">
30
- <img *ngIf="model?._avatar" class="preview" [src]="model._avatar" />
31
- </div>
32
- <button
33
- *ngIf="scanProvider.enableVerification"
34
- (click)="selfie()"
35
- mat-raised-button
36
- >
37
- {{ 'scandoc.result.takeSelfie' | translate }}
38
- </button>
39
- </div>
40
- </mat-form-field>
41
- `, isInline: true, styles: [".selfieContainer{display:flex;flex-direction:column;align-items:center;justify-content:center}.selfieContainer button{margin-top:6px;box-shadow:none!important;border:1px solid rgba(0,0,0,.12);text-transform:uppercase;font-size:12px}.selfie{width:126px;height:126px;border-radius:70px;background:#f5f5f5;display:flex;flex-direction:column;align-items:center;justify-content:center}.selfie img{width:120px;height:120px;border-radius:60px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileImageTypeComponent, decorators: [{
44
- type: Component,
45
- args: [{ selector: 'app-formly-profile-image-type', template: `
46
- <mat-form-field>
47
- <mat-label>{{ 'scandoc.result.avatar' | translate }} </mat-label>
48
- <input matInput style="display:none" />
49
- <div class="selfieContainer">
50
- <div class="selfie">
51
- <img *ngIf="model?._avatar" class="preview" [src]="model._avatar" />
52
- </div>
53
- <button
54
- *ngIf="scanProvider.enableVerification"
55
- (click)="selfie()"
56
- mat-raised-button
57
- >
58
- {{ 'scandoc.result.takeSelfie' | translate }}
59
- </button>
60
- </div>
61
- </mat-form-field>
62
- `, styles: [".selfieContainer{display:flex;flex-direction:column;align-items:center;justify-content:center}.selfieContainer button{margin-top:6px;box-shadow:none!important;border:1px solid rgba(0,0,0,.12);text-transform:uppercase;font-size:12px}.selfie{width:126px;height:126px;border-radius:70px;background:#f5f5f5;display:flex;flex-direction:column;align-items:center;justify-content:center}.selfie img{width:120px;height:120px;border-radius:60px}\n"] }]
63
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.NgxScandocCameraProvider }, { type: i2.ScanProvider }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5pbWFnZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2Zvcm1zL3R5cGVzL3Byb2ZpbGUuaW1hZ2UudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O0FBMEJqRCxNQUFNLE9BQU8seUJBQ1gsU0FBUSxTQUFjO0lBTXRCLFlBQ1UsRUFBcUIsRUFDckIsY0FBd0MsRUFDekMsWUFBMEI7UUFFakMsS0FBSyxFQUFFLENBQUM7UUFKQSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBMEI7UUFDekMsaUJBQVksR0FBWixZQUFZLENBQWM7SUFHbkMsQ0FBQztJQUNELE1BQU07UUFDSixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELFVBQVUsS0FBSSxDQUFDO0lBRWYsZUFBZSxLQUFJLENBQUM7K0dBbkJULHlCQUF5QjttR0FBekIseUJBQXlCLDRGQXBCMUI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJUOzs0RkFHVSx5QkFBeUI7a0JBdEJyQyxTQUFTOytCQUNFLCtCQUErQixZQUMvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuaW1wb3J0IHsgTmd4U2NhbmRvY0NhbWVyYVByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2NhbWVyYS5wcm92aWRlcic7XG5pbXBvcnQgeyBTY2FuUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvc2Nhbi5wcm92aWRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1mb3JtbHktcHJvZmlsZS1pbWFnZS10eXBlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPnt7ICdzY2FuZG9jLnJlc3VsdC5hdmF0YXInIHwgdHJhbnNsYXRlIH19IDwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IHN0eWxlPVwiZGlzcGxheTpub25lXCIgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxmaWVDb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGZpZVwiPlxuICAgICAgICAgIDxpbWcgKm5nSWY9XCJtb2RlbD8uX2F2YXRhclwiIGNsYXNzPVwicHJldmlld1wiIFtzcmNdPVwibW9kZWwuX2F2YXRhclwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJzY2FuUHJvdmlkZXIuZW5hYmxlVmVyaWZpY2F0aW9uXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZmllKClcIlxuICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgID5cbiAgICAgICAgICB7eyAnc2NhbmRvYy5yZXN1bHQudGFrZVNlbGZpZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9zY3NzL3Byb2ZpbGUuaW1hZ2UudHlwZS5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVJbWFnZVR5cGVDb21wb25lbnRcbiAgZXh0ZW5kcyBGaWVsZFR5cGU8YW55PlxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXRcbntcbiAgbmFtZTogYW55O1xuICB3aWR0aDogYW55O1xuICBwYWRkaW5nOiBhbnk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgY2FtZXJhUHJvdmlkZXI6IE5neFNjYW5kb2NDYW1lcmFQcm92aWRlcixcbiAgICBwdWJsaWMgc2NhblByb3ZpZGVyOiBTY2FuUHJvdmlkZXJcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICBzZWxmaWUoKSB7XG4gICAgdGhpcy5jYW1lcmFQcm92aWRlci5zZWxmaWUkLm5leHQodHJ1ZSk7XG4gIH1cbiAgbmdPbkNoYW5nZSgpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge31cbn1cbiJdfQ==
@@ -1,32 +0,0 @@
1
- import { Component, } from '@angular/core';
2
- import { FieldType } from '@ngx-formly/material';
3
- import * as i0 from "@angular/core";
4
- export class TitleTypeComponent extends FieldType {
5
- constructor(cd) {
6
- super();
7
- this.cd = cd;
8
- }
9
- ngOnInit() {
10
- this.opt = {
11
- badge: this.to.badge,
12
- };
13
- }
14
- ngAfterViewInit() {
15
- this.cd.detectChanges();
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TitleTypeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TitleTypeComponent, selector: "app-formly-title-type", usesInheritance: true, ngImport: i0, template: `
19
- <div class="card-title">
20
- {{ to.label }}
21
- </div>
22
- `, isInline: true, styles: [""] }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TitleTypeComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'app-formly-title-type', template: `
27
- <div class="card-title">
28
- {{ to.label }}
29
- </div>
30
- ` }]
31
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9mb3Jtcy90eXBlcy90aXRsZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEdBSVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVdqRCxNQUFNLE9BQU8sa0JBQ1gsU0FBUSxTQUFjO0lBSXRCLFlBQW9CLEVBQXFCO1FBQ3ZDLEtBQUssRUFBRSxDQUFDO1FBRFUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7SUFFekMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxHQUFHO1lBQ1QsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSztTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBaEJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLG9GQVBuQjs7OztHQUlUOzs0RkFHVSxrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0UsdUJBQXVCLFlBQ3ZCOzs7O0dBSVQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybWx5LXRpdGxlLXR5cGUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+XG4gICAgICB7eyB0by5sYWJlbCB9fVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9zY3NzL3RpdGxlLnR5cGUuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUaXRsZVR5cGVDb21wb25lbnRcbiAgZXh0ZW5kcyBGaWVsZFR5cGU8YW55PlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdFxue1xuICBvcHQ6IGFueTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0ID0ge1xuICAgICAgYmFkZ2U6IHRoaXMudG8uYmFkZ2UsXG4gICAgfTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIl19
@@ -1,44 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { DialogsModule } from '../dialogs/dialogs.module';
3
- import { HttpErrorInterceptor } from '../providers/interceptor.provider';
4
- import { ScanProvider } from '../providers/scan.provider';
5
- import { HTTP_INTERCEPTORS } from '@angular/common/http';
6
- import { NgxScandocCameraProvider } from '../providers/camera.provider';
7
- import { AUTH_CONFIG_TOKEN, SCAN_CONFIG_TOKEN } from '../core/tokens/config.tokens';
8
- import { NgxScanDocTranslationProvider } from '../providers/translation.provider';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../dialogs/dialogs.module";
11
- export class NgxScandocModule {
12
- static forRoot(config) {
13
- return {
14
- ngModule: NgxScandocModule,
15
- providers: [
16
- { provide: AUTH_CONFIG_TOKEN, useValue: config.auth },
17
- ScanProvider,
18
- { provide: SCAN_CONFIG_TOKEN, useValue: config.scan },
19
- {
20
- provide: HTTP_INTERCEPTORS,
21
- useClass: HttpErrorInterceptor,
22
- multi: true,
23
- },
24
- NgxScanDocTranslationProvider,
25
- NgxScandocCameraProvider,
26
- // NgxScandocAuthProvider,
27
- ],
28
- };
29
- }
30
- constructor() {
31
- }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxScandocModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
33
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgxScandocModule, imports: [i1.DialogsModule], exports: [DialogsModule] }); }
34
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxScandocModule, imports: [DialogsModule.forRoot(), DialogsModule] }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxScandocModule, decorators: [{
37
- type: NgModule,
38
- args: [{
39
- declarations: [],
40
- imports: [DialogsModule.forRoot()],
41
- exports: [DialogsModule],
42
- }]
43
- }], ctorParameters: () => [] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNjYW5kb2MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL2xpYi9uZ3gtc2NhbmRvYy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QyxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBUWxGLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FDWixNQUFzQjtRQUV0QixPQUFPO1lBQ0wsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUU7Z0JBRVQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ3JELFlBQVk7Z0JBQ1osRUFBRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBRXBEO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNELDZCQUE2QjtnQkFDN0Isd0JBQXdCO2dCQUN6QiwwQkFBMEI7YUFDMUI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEO0lBRUEsQ0FBQzsrR0ExQlUsZ0JBQWdCO2dIQUFoQixnQkFBZ0IseUNBRmpCLGFBQWE7Z0hBRVosZ0JBQWdCLFlBSGpCLGFBQWEsQ0FBQyxPQUFPLEVBQUUsRUFDdkIsYUFBYTs7NEZBRVosZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRGlhbG9nc01vZHVsZSB9IGZyb20gJy4uL2RpYWxvZ3MvZGlhbG9ncy5tb2R1bGUnO1xuaW1wb3J0IHsgSHR0cEVycm9ySW50ZXJjZXB0b3IgfSBmcm9tICcuLi9wcm92aWRlcnMvaW50ZXJjZXB0b3IucHJvdmlkZXInO1xuaW1wb3J0IHsgTmd4U2NhbmRvY0F1dGhQcm92aWRlciB9IGZyb20gJy4uL3Byb3ZpZGVycy9hdXRoLnByb3ZpZGVyJztcbmltcG9ydCB7IFNjYW5Qcm92aWRlciB9IGZyb20gJy4uL3Byb3ZpZGVycy9zY2FuLnByb3ZpZGVyJztcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQXV0aENvbmZpZywgU2NhbkNvbmZpZywgU2NhbkRhdGFDb25maWcgfSBmcm9tICcuLi9jb3JlL2ludGVyZmFjZXMvY29uZmlnJztcbmltcG9ydCB7IE5neFNjYW5kb2NDYW1lcmFQcm92aWRlciB9IGZyb20gJy4uL3Byb3ZpZGVycy9jYW1lcmEucHJvdmlkZXInO1xuaW1wb3J0IHsgQVVUSF9DT05GSUdfVE9LRU4sIFNDQU5fQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vY29yZS90b2tlbnMvY29uZmlnLnRva2Vucyc7XG5pbXBvcnQgeyBOZ3hTY2FuRG9jVHJhbnNsYXRpb25Qcm92aWRlciB9IGZyb20gJy4uL3Byb3ZpZGVycy90cmFuc2xhdGlvbi5wcm92aWRlcic7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW0RpYWxvZ3NNb2R1bGUuZm9yUm9vdCgpXSxcbiAgZXhwb3J0czogW0RpYWxvZ3NNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hTY2FuZG9jTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoXG4gICAgY29uZmlnOiBTY2FuRGF0YUNvbmZpZ1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neFNjYW5kb2NNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5neFNjYW5kb2NNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcblxuICAgICAgICB7IHByb3ZpZGU6IEFVVEhfQ09ORklHX1RPS0VOLCB1c2VWYWx1ZTogY29uZmlnLmF1dGggfSxcbiAgICAgICAgU2NhblByb3ZpZGVyLFxuICAgICAgICB7IHByb3ZpZGU6U0NBTl9DT05GSUdfVE9LRU4sIHVzZVZhbHVlOiBjb25maWcuc2NhbiB9LFxuXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgICB1c2VDbGFzczogSHR0cEVycm9ySW50ZXJjZXB0b3IsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIE5neFNjYW5Eb2NUcmFuc2xhdGlvblByb3ZpZGVyLFxuICAgICAgICBOZ3hTY2FuZG9jQ2FtZXJhUHJvdmlkZXIsXG4gICAgICAgLy8gTmd4U2NhbmRvY0F1dGhQcm92aWRlcixcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCl7XG5cbiAgfVxufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNjYW5kb2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvbmd4LXNjYW5kb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,113 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { jwtDecode } from "jwt-decode";
3
- import { of } from 'rxjs';
4
- import { map, tap } from 'rxjs/operators';
5
- import moment from 'moment';
6
- import { AUTH_CONFIG_TOKEN } from '../core/tokens/config.tokens';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common/http";
9
- export class NgxScandocAuthProvider {
10
- constructor(http, injector) {
11
- this.http = http;
12
- this.injector = injector;
13
- this.token = '';
14
- this.refresh_token = '';
15
- this.tokenTimestamps = {
16
- Time: 0,
17
- Client: 0,
18
- SubClient: 0,
19
- };
20
- this.config = this.injector.get(AUTH_CONFIG_TOKEN);
21
- }
22
- setSubClient(name) {
23
- this.subClient = name;
24
- }
25
- setConfig() { }
26
- get tokenExpired() {
27
- if (this.token == '' || this.tokenTimestamps.Time === 0) {
28
- console.log('EXPIRED');
29
- return true;
30
- }
31
- const { Time } = this.tokenTimestamps;
32
- const tokenDate = moment(Time);
33
- const isValid = moment(tokenDate).isBefore(moment().add(5, 'minutes'));
34
- return !isValid;
35
- }
36
- resetToken() {
37
- // this.token = '';
38
- }
39
- get accesToken() {
40
- return this.tokenExpired ? this.fetchToken() : of(this.token);
41
- }
42
- fetchToken() {
43
- if (this.token && this.refresh_token) {
44
- return this.refreshToken();
45
- }
46
- return this.getToken();
47
- }
48
- refreshToken() {
49
- const { path, refresh } = this.config;
50
- return this.http
51
- .post(`${path}${refresh}`, {
52
- refresh_token: this.refresh_token,
53
- })
54
- .pipe(tap((token) => {
55
- // console.log(this.token);
56
- this.token = token.access_token;
57
- this.updateToken();
58
- // this.token = token.access_token;
59
- // console.log('TOKEN', this.token);
60
- // this.refresh_token = token.refresh_token;
61
- // const decoded: any = jwt_decode(this.token);
62
- // console.log(decoded);
63
- // const { Time, Client, SubClient } = decoded;
64
- // this.tokenTimestamps = { Time, Client, SubClient };
65
- }), map((data) => data.access_token));
66
- }
67
- get user_key() {
68
- return this.config.clientId;
69
- }
70
- get sub_client() {
71
- return this.config.tokenName ? this.config.tokenName : this.subClient;
72
- }
73
- updateToken() {
74
- const decoded = jwtDecode(this.token);
75
- const { Time, Client, SubClient } = decoded;
76
- this.tokenTimestamps = { Time, Client, SubClient };
77
- }
78
- getToken() {
79
- const { path, login, version, clientId, tokenName } = this.config;
80
- if (version == 'v1') {
81
- return this.http
82
- .post(`${path}`, {
83
- clientId: clientId,
84
- token: tokenName,
85
- })
86
- .pipe(map((data) => data.accessToken), tap((token) => {
87
- this.token = token;
88
- const decoded = jwtDecode(this.token);
89
- const { iat, exp } = decoded;
90
- this.tokenTimestamps = { iat, exp, Time: 0 };
91
- }));
92
- }
93
- return this.http
94
- .post(`${path}${login}`, {
95
- user_key: this.user_key,
96
- sub_client: this.sub_client,
97
- })
98
- .pipe(tap((token) => {
99
- this.token = token.access_token;
100
- this.refresh_token = token.refresh_token;
101
- this.updateToken();
102
- }), map((data) => data.access_token));
103
- }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxScandocAuthProvider, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
105
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxScandocAuthProvider, providedIn: 'root' }); }
106
- }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxScandocAuthProvider, decorators: [{
108
- type: Injectable,
109
- args: [{
110
- providedIn: 'root',
111
- }]
112
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.Injector }] });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9wcm92aWRlcnMvYXV0aC5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdkMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFhLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUk1QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBS2pFLE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFDVSxJQUFnQixFQUNoQixRQUFrQjtRQURsQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFXNUIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUUzQixvQkFBZSxHQUFRO1lBQ3JCLElBQUksRUFBRSxDQUFDO1lBQ1AsTUFBTSxFQUFFLENBQUM7WUFDVCxTQUFTLEVBQUUsQ0FBQztTQUNiLENBQUM7UUFoQkEsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWTtRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBQ0QsU0FBUyxLQUFJLENBQUM7SUFZZCxJQUFZLFlBQVk7UUFFdEIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFD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O2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGp3dERlY29kZSB9IGZyb20gXCJqd3QtZGVjb2RlXCI7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzL2NvbmZpZyc7XG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdidWZmZXInO1xuaW1wb3J0IHsgQVVUSF9DT05GSUdfVE9LRU4gfSBmcm9tICcuLi9jb3JlL3Rva2Vucy9jb25maWcudG9rZW5zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5neFNjYW5kb2NBdXRoUHJvdmlkZXIge1xuICBzdWJDbGllbnQhOiBzdHJpbmc7XG4gICBjb25maWc6IEF1dGhDb25maWdcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG5cbiAgKSB7XG4gICAgdGhpcy5jb25maWcgPSB0aGlzLmluamVjdG9yLmdldChBVVRIX0NPTkZJR19UT0tFTik7XG4gIH1cblxuICBzZXRTdWJDbGllbnQobmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zdWJDbGllbnQgPSBuYW1lO1xuICB9XG4gIHNldENvbmZpZygpIHt9XG5cbiAgdG9rZW46IHN0cmluZyA9ICcnO1xuXG4gIHJlZnJlc2hfdG9rZW46IHN0cmluZyA9ICcnO1xuXG4gIHRva2VuVGltZXN0YW1wczogYW55ID0ge1xuICAgIFRpbWU6IDAsXG4gICAgQ2xpZW50OiAwLFxuICAgIFN1YkNsaWVudDogMCxcbiAgfTtcblxuICBwcml2YXRlIGdldCB0b2tlbkV4cGlyZWQoKTogYm9vbGVhbiB7XG5cbiAgICBpZiAodGhpcy50b2tlbiA9PSAnJyB8fCB0aGlzLnRva2VuVGltZXN0YW1wcy5UaW1lID09PSAwKSB7XG4gICAgICBjb25zb2xlLmxvZygnRVhQSVJFRCcpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgeyBUaW1lIH0gPSB0aGlzLnRva2VuVGltZXN0YW1wcztcbiAgICBjb25zdCB0b2tlbkRhdGUgPSBtb21lbnQoVGltZSk7XG4gICAgY29uc3QgaXNWYWxpZCA9IG1vbWVudCh0b2tlbkRhdGUpLmlzQmVmb3JlKG1vbWVudCgpLmFkZCg1LCAnbWludXRlcycpKTtcblxuICAgIHJldHVybiAhaXNWYWxpZDtcbiAgfVxuXG4gIHJlc2V0VG9rZW4oKSB7XG4gICAgLy8gdGhpcy50b2tlbiA9ICcnO1xuICB9XG4gIGdldCBhY2Nlc1Rva2VuKCk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICByZXR1cm4gdGhpcy50b2tlbkV4cGlyZWQgPyB0aGlzLmZldGNoVG9rZW4oKSA6IG9mKHRoaXMudG9rZW4pO1xuICB9XG5cbiAgZmV0Y2hUb2tlbigpIHtcbiAgICBpZiAodGhpcy50b2tlbiAmJiB0aGlzLnJlZnJlc2hfdG9rZW4pIHtcbiAgICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlbigpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRUb2tlbigpO1xuICB9XG5cbiAgcmVmcmVzaFRva2VuKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgeyBwYXRoLCByZWZyZXNoIH0gPSB0aGlzLmNvbmZpZztcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdChgJHtwYXRofSR7cmVmcmVzaH1gLCB7XG4gICAgICAgIHJlZnJlc2hfdG9rZW46IHRoaXMucmVmcmVzaF90b2tlbixcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0b2tlbjogYW55KSA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy50b2tlbik7XG4gICAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuLmFjY2Vzc190b2tlbjtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVRva2VuKCk7XG4gICAgICAgICAgLy8gdGhpcy50b2tlbiA9IHRva2VuLmFjY2Vzc190b2tlbjtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZygnVE9LRU4nLCB0aGlzLnRva2VuKTtcbiAgICAgICAgICAvLyB0aGlzLnJlZnJlc2hfdG9rZW4gPSB0b2tlbi5yZWZyZXNoX3Rva2VuO1xuICAgICAgICAgIC8vIGNvbnN0IGRlY29kZWQ6IGFueSA9IGp3dF9kZWNvZGUodGhpcy50b2tlbik7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coZGVjb2RlZCk7XG4gICAgICAgICAgLy8gY29uc3QgeyBUaW1lLCBDbGllbnQsIFN1YkNsaWVudCB9ID0gZGVjb2RlZDtcbiAgICAgICAgICAvLyB0aGlzLnRva2VuVGltZXN0YW1wcyA9IHsgVGltZSwgQ2xpZW50LCBTdWJDbGllbnQgfTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgoZGF0YTogYW55KSA9PiBkYXRhLmFjY2Vzc190b2tlbilcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldCB1c2VyX2tleSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY2xpZW50SWQ7XG4gIH1cbiAgcHJpdmF0ZSBnZXQgc3ViX2NsaWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcudG9rZW5OYW1lID8gdGhpcy5jb25maWcudG9rZW5OYW1lIDogdGhpcy5zdWJDbGllbnQ7XG4gIH1cbiAgcHJpdmF0ZSB1cGRhdGVUb2tlbigpIHtcbiAgICBjb25zdCBkZWNvZGVkOiBhbnkgPSBqd3REZWNvZGUodGhpcy50b2tlbik7XG5cbiAgICBjb25zdCB7IFRpbWUsIENsaWVudCwgU3ViQ2xpZW50IH0gPSBkZWNvZGVkO1xuICAgIHRoaXMudG9rZW5UaW1lc3RhbXBzID0geyBUaW1lLCBDbGllbnQsIFN1YkNsaWVudCB9O1xuICB9XG4gIHByaXZhdGUgZ2V0VG9rZW4oKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuXG4gICAgY29uc3QgeyBwYXRoLCBsb2dpbiwgdmVyc2lvbiwgY2xpZW50SWQsIHRva2VuTmFtZSB9ID0gdGhpcy5jb25maWc7XG5cbiAgICBpZiAodmVyc2lvbiA9PSAndjEnKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgIC5wb3N0KGAke3BhdGh9YCwge1xuICAgICAgICAgIGNsaWVudElkOiBjbGllbnRJZCxcbiAgICAgICAgICB0b2tlbjogdG9rZW5OYW1lLFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGRhdGE6IGFueSkgPT4gZGF0YS5hY2Nlc3NUb2tlbiksXG4gICAgICAgICAgdGFwKCh0b2tlbjogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRva2VuID0gdG9rZW47XG4gICAgICAgICAgICBjb25zdCBkZWNvZGVkOiBhbnkgPSBqd3REZWNvZGUodGhpcy50b2tlbik7XG4gICAgICAgICAgICBjb25zdCB7IGlhdCwgZXhwIH0gPSBkZWNvZGVkO1xuICAgICAgICAgICAgdGhpcy50b2tlblRpbWVzdGFtcHMgPSB7IGlhdCwgZXhwLCBUaW1lOiAwIH07XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdChgJHtwYXRofSR7bG9naW59YCwge1xuICAgICAgICB1c2VyX2tleTogdGhpcy51c2VyX2tleSxcbiAgICAgICAgc3ViX2NsaWVudDogdGhpcy5zdWJfY2xpZW50LFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHRva2VuOiBhbnkpID0+IHtcblxuICAgICAgICAgIHRoaXMudG9rZW4gPSB0b2tlbi5hY2Nlc3NfdG9rZW47XG5cbiAgICAgICAgICB0aGlzLnJlZnJlc2hfdG9rZW4gPSB0b2tlbi5yZWZyZXNoX3Rva2VuO1xuICAgICAgICAgIHRoaXMudXBkYXRlVG9rZW4oKTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgoZGF0YTogYW55KSA9PiBkYXRhLmFjY2Vzc190b2tlbilcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,87 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject, from, of } from 'rxjs';
3
- import { map, switchMap } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/platform";
6
- export class NgxScandocCameraProvider {
7
- constructor(platform) {
8
- this.platform = platform;
9
- this.selfie$ = new Subject();
10
- this.rectPosition = {
11
- l: 0,
12
- t: 0,
13
- h: 0,
14
- w: 0,
15
- _w: 0,
16
- _h: 0,
17
- };
18
- this.switchCamera = new Subject();
19
- this.$showSwitchSelfie = new Subject();
20
- this.cameraReady = false;
21
- this.$showSwitch = new Subject();
22
- this.cameraSwitched = new Subject();
23
- this.devices = new Subject();
24
- this.multipleWebcamsAvailable = false;
25
- this.id = Math.random();
26
- console.warn('PROVIDER INIT', this.id);
27
- this.setup();
28
- }
29
- get hintPosition() {
30
- return this.rectPosition.t + this.rectPosition.h + 5;
31
- }
32
- getDevices() {
33
- if (this.mediaDevices) {
34
- return of(this.mediaDevices);
35
- }
36
- return this.devices.asObservable();
37
- }
38
- preloadVideo() {
39
- return from(navigator.mediaDevices.getUserMedia({ video: true })).pipe(map((mediaStream) => {
40
- console.warn(mediaStream);
41
- if (!this.platform.FIREFOX) {
42
- mediaStream.getTracks().forEach((track) => {
43
- track.stop();
44
- });
45
- }
46
- }));
47
- }
48
- setup() {
49
- console.warn('SETUP');
50
- this.$showSwitch.subscribe((s) => {
51
- console.log(s);
52
- });
53
- // console.time('device');
54
- const devices$ = this.preloadVideo().pipe(switchMap(() => from(navigator.mediaDevices.enumerateDevices()).pipe(map((inputDevices) => inputDevices.filter((m) => m.kind == 'videoinput')))));
55
- devices$.subscribe((mediaDevices) => {
56
- console.log('[DEVICES]', mediaDevices, mediaDevices.map((d) => d.label));
57
- this.mediaDevices = mediaDevices;
58
- this.multipleWebcamsAvailable = mediaDevices && mediaDevices.length > 1;
59
- this.devices.next(mediaDevices);
60
- });
61
- }
62
- setDefault() {
63
- if (this.deviceId) {
64
- this.switchCamera.next(this.deviceId);
65
- }
66
- }
67
- selectCamera(event) {
68
- this.switchCamera.next(event.value);
69
- }
70
- cameraWasSwitched(deviceId) {
71
- console.log('[active device]', deviceId);
72
- this.deviceId = deviceId;
73
- this.cameraReady = true;
74
- }
75
- get webcamObservable() {
76
- return this.switchCamera.asObservable();
77
- }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxScandocCameraProvider, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable }); }
79
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxScandocCameraProvider, providedIn: 'root' }); }
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgxScandocCameraProvider, decorators: [{
82
- type: Injectable,
83
- args: [{
84
- providedIn: 'root',
85
- }]
86
- }], ctorParameters: () => [{ type: i1.Platform }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjYW5kb2Mvc3JjL3Byb3ZpZGVycy9jYW1lcmEucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQW1CLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBVSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU14RCxNQUFNLE9BQU8sd0JBQXdCO0lBNEJuQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBdkJ0QyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV4QixpQkFBWSxHQUFHO1lBQ2IsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixFQUFFLEVBQUUsQ0FBQztZQUNMLEVBQUUsRUFBRSxDQUFDO1NBQ04sQ0FBQztRQUNGLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QixzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWxDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUU1QixtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFL0IsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFeEIsNkJBQXdCLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLE9BQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFakIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLEVBQUUs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RUFBRSxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7K0dBdEdVLHdCQUF3QjttSEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07OzRGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB3ZWJTb2NrZXQgfSBmcm9tICdyeGpzL3dlYlNvY2tldCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIGZyb20sIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgV2ViY2FtVXRpbCB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy93ZWJjYW0vdXRpbC93ZWJjYW0udXRpbCc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmd4U2NhbmRvY0NhbWVyYVByb3ZpZGVyIHtcbiAgbWVkaWFEZXZpY2VzOiBhbnk7XG5cbiAgZGV2aWNlSWQ6IGFueTtcblxuICBzZWxmaWUkID0gbmV3IFN1YmplY3QoKTtcblxuICByZWN0UG9zaXRpb24gPSB7XG4gICAgbDogMCxcbiAgICB0OiAwLFxuICAgIGg6IDAsXG4gICAgdzogMCxcbiAgICBfdzogMCxcbiAgICBfaDogMCxcbiAgfTtcbiAgc3dpdGNoQ2FtZXJhID0gbmV3IFN1YmplY3QoKTtcbiAgJHNob3dTd2l0Y2hTZWxmaWUgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNhbWVyYVJlYWR5ID0gZmFsc2U7XG5cbiAgJHNob3dTd2l0Y2ggPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNhbWVyYVN3aXRjaGVkID0gbmV3IFN1YmplY3QoKTtcblxuICBkZXZpY2VzID0gbmV3IFN1YmplY3QoKTtcblxuICBtdWx0aXBsZVdlYmNhbXNBdmFpbGFibGUgPSBmYWxzZTtcbiAgaWQgPSBNYXRoLnJhbmRvbSgpO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSkge1xuICAgIGNvbnNvbGUud2FybignUFJPVklERVIgSU5JVCcsIHRoaXMuaWQpO1xuICAgIHRoaXMuc2V0dXAoKTtcbiAgfVxuXG4gIGdldCBoaW50UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjdFBvc2l0aW9uLnQgKyB0aGlzLnJlY3RQb3NpdGlvbi5oICsgNTtcbiAgfVxuXG4gIGdldERldmljZXMoKSB7XG4gICAgaWYgKHRoaXMubWVkaWFEZXZpY2VzKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5tZWRpYURldmljZXMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRldmljZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIHByZWxvYWRWaWRlbygpIHtcbiAgICByZXR1cm4gZnJvbShuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7IHZpZGVvOiB0cnVlIH0pKS5waXBlKFxuICAgICAgbWFwKChtZWRpYVN0cmVhbSkgPT4ge1xuICAgICAgICBjb25zb2xlLndhcm4obWVkaWFTdHJlYW0pO1xuICAgICAgICBpZiAoIXRoaXMucGxhdGZvcm0uRklSRUZPWCkge1xuICAgICAgICAgIG1lZGlhU3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2goKHRyYWNrKSA9PiB7XG4gICAgICAgICAgICB0cmFjay5zdG9wKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuICBzZXR1cCgpIHtcbiAgICBjb25zb2xlLndhcm4oJ1NFVFVQJyk7XG4gICAgdGhpcy4kc2hvd1N3aXRjaC5zdWJzY3JpYmUoKHMpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKHMpO1xuICAgIH0pO1xuICAgIC8vIGNvbnNvbGUudGltZSgnZGV2aWNlJyk7XG5cbiAgICBjb25zdCBkZXZpY2VzJCA9IHRoaXMucHJlbG9hZFZpZGVvKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICBmcm9tKG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcygpKS5waXBlKFxuICAgICAgICAgIG1hcCgoaW5wdXREZXZpY2VzOiBNZWRpYURldmljZUluZm9bXSkgPT5cbiAgICAgICAgICAgIGlucHV0RGV2aWNlcy5maWx0ZXIoKG0pID0+IG0ua2luZCA9PSAndmlkZW9pbnB1dCcpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcblxuICAgIGRldmljZXMkLnN1YnNjcmliZSgobWVkaWFEZXZpY2VzOiBNZWRpYURldmljZUluZm9bXSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICdbREVWSUNFU10nLFxuICAgICAgICBtZWRpYURldmljZXMsXG4gICAgICAgIG1lZGlhRGV2aWNlcy5tYXAoKGQpID0+IGQubGFiZWwpXG4gICAgICApO1xuICAgICAgdGhpcy5tZWRpYURldmljZXMgPSBtZWRpYURldmljZXM7XG4gICAgICB0aGlzLm11bHRpcGxlV2ViY2Ftc0F2YWlsYWJsZSA9IG1lZGlhRGV2aWNlcyAmJiBtZWRpYURldmljZXMubGVuZ3RoID4gMTtcbiAgICAgIHRoaXMuZGV2aWNlcy5uZXh0KG1lZGlhRGV2aWNlcyk7XG4gICAgfSk7XG4gIH1cbiAgc2V0RGVmYXVsdCgpIHtcbiAgICBpZiAodGhpcy5kZXZpY2VJZCkge1xuICAgICAgdGhpcy5zd2l0Y2hDYW1lcmEubmV4dCh0aGlzLmRldmljZUlkKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RDYW1lcmEoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc3dpdGNoQ2FtZXJhLm5leHQoZXZlbnQudmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGNhbWVyYVdhc1N3aXRjaGVkKGRldmljZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnW2FjdGl2ZSBkZXZpY2VdJywgZGV2aWNlSWQpO1xuICAgIHRoaXMuZGV2aWNlSWQgPSBkZXZpY2VJZDtcbiAgICB0aGlzLmNhbWVyYVJlYWR5ID0gdHJ1ZTtcbiAgfVxuICBnZXQgd2ViY2FtT2JzZXJ2YWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zd2l0Y2hDYW1lcmEuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==