@igo2/auth 18.0.1-next.1 → 18.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 (67) hide show
  1. package/esm2022/environment/environment.interface.mjs +2 -0
  2. package/esm2022/environment/igo2-auth-environment.mjs +5 -0
  3. package/esm2022/environment/public_api.mjs +2 -0
  4. package/esm2022/facebook/auth-facebook/auth-facebook.component.mjs +65 -0
  5. package/esm2022/facebook/igo2-auth-facebook.mjs +5 -0
  6. package/esm2022/facebook/public_api.mjs +3 -0
  7. package/esm2022/facebook/shared/auth-facebook.interface.mjs +2 -0
  8. package/esm2022/facebook/shared/index.mjs +2 -0
  9. package/esm2022/form/auth-form/auth-form.component.mjs +166 -0
  10. package/esm2022/form/auth-form.module.mjs +73 -0
  11. package/esm2022/form/igo2-auth-form.mjs +5 -0
  12. package/esm2022/form/public_api.mjs +7 -0
  13. package/esm2022/form/shared/auth-form.interface.mjs +2 -0
  14. package/esm2022/form/shared/index.mjs +2 -0
  15. package/esm2022/google/auth-google/auth-google.component.mjs +108 -0
  16. package/esm2022/google/igo2-auth-google.mjs +5 -0
  17. package/esm2022/google/public_api.mjs +3 -0
  18. package/esm2022/google/shared/auth-google.interface.mjs +2 -0
  19. package/esm2022/google/shared/index.mjs +2 -0
  20. package/esm2022/igo2-auth.mjs +5 -0
  21. package/esm2022/internal/auth-intern/auth-intern.component.mjs +84 -0
  22. package/esm2022/internal/igo2-auth-internal.mjs +5 -0
  23. package/esm2022/internal/public_api.mjs +2 -0
  24. package/esm2022/lib/auth.provider.mjs +22 -0
  25. package/esm2022/lib/shared/admin.guard.mjs +38 -0
  26. package/esm2022/lib/shared/auth-storage.interface.mjs +2 -0
  27. package/esm2022/lib/shared/auth-storage.service.mjs +100 -0
  28. package/esm2022/lib/shared/auth.guard.mjs +38 -0
  29. package/esm2022/lib/shared/auth.interceptor.mjs +159 -0
  30. package/esm2022/lib/shared/auth.interface.mjs +5 -0
  31. package/esm2022/lib/shared/auth.service.mjs +175 -0
  32. package/esm2022/lib/shared/index.mjs +12 -0
  33. package/esm2022/lib/shared/logged.guard.mjs +38 -0
  34. package/esm2022/lib/shared/profils.guard.mjs +43 -0
  35. package/esm2022/lib/shared/token.interface.mjs +2 -0
  36. package/esm2022/lib/shared/token.service.mjs +48 -0
  37. package/esm2022/microsoft/auth-microsoft/auth-microsoft.component.mjs +100 -0
  38. package/esm2022/microsoft/auth-microsoft.provider.mjs +104 -0
  39. package/esm2022/microsoft/auth-microsoftb2c/auth-microsoftb2c.component.mjs +98 -0
  40. package/esm2022/microsoft/auth-microsoftb2c/auth-msalBroadcastServiceb2c.service.mjs +47 -0
  41. package/esm2022/microsoft/auth-microsoftb2c/auth-msalServiceb2c.service.mjs +85 -0
  42. package/esm2022/microsoft/igo2-auth-microsoft.mjs +5 -0
  43. package/esm2022/microsoft/public_api.mjs +5 -0
  44. package/esm2022/microsoft/shared/auth-microsoft.interface.mjs +2 -0
  45. package/esm2022/microsoft/shared/index.mjs +2 -0
  46. package/esm2022/monitoring/auth-monitoring/auth-monitoring.provider.mjs +24 -0
  47. package/esm2022/monitoring/auth-monitoring/auth-monitoring.service.mjs +54 -0
  48. package/esm2022/monitoring/igo2-auth-monitoring.mjs +5 -0
  49. package/esm2022/monitoring/public_api.mjs +3 -0
  50. package/esm2022/public_api.mjs +6 -0
  51. package/fesm2022/igo2-auth-facebook.mjs +3 -3
  52. package/fesm2022/igo2-auth-facebook.mjs.map +1 -1
  53. package/fesm2022/igo2-auth-form.mjs +8 -8
  54. package/fesm2022/igo2-auth-form.mjs.map +1 -1
  55. package/fesm2022/igo2-auth-google.mjs +3 -3
  56. package/fesm2022/igo2-auth-google.mjs.map +1 -1
  57. package/fesm2022/igo2-auth-internal.mjs +4 -4
  58. package/fesm2022/igo2-auth-internal.mjs.map +1 -1
  59. package/fesm2022/igo2-auth-microsoft.mjs +14 -14
  60. package/fesm2022/igo2-auth-microsoft.mjs.map +1 -1
  61. package/fesm2022/igo2-auth-monitoring.mjs +10 -8
  62. package/fesm2022/igo2-auth-monitoring.mjs.map +1 -1
  63. package/fesm2022/igo2-auth.mjs +24 -24
  64. package/fesm2022/igo2-auth.mjs.map +1 -1
  65. package/form/src/auth-form/auth-intern.theme.scss +2 -3
  66. package/monitoring/auth-monitoring/auth-monitoring.provider.d.ts +2 -2
  67. package/package.json +26 -10
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9lbnZpcm9ubWVudC9zcmMvZW52aXJvbm1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoT3B0aW9ucywgQXV0aFN0b3JhZ2VPcHRpb25zIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBBdXRoRm9ybU9wdGlvbnMgfSBmcm9tICdAaWdvMi9hdXRoL2Zvcm0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhFbnZpcm9ubWVudE9wdGlvbnMge1xuICBhdXRoPzogQXV0aE9wdGlvbnMgJiBBdXRoRm9ybU9wdGlvbnM7XG4gIHN0b3JhZ2U/OiBBdXRoU3RvcmFnZU9wdGlvbnM7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1hdXRoLWVudmlyb25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9lbnZpcm9ubWVudC9zcmMvaWdvMi1hdXRoLWVudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './environment.interface';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZW52aXJvbm1lbnQvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW52aXJvbm1lbnQuaW50ZXJmYWNlJztcbiJdfQ==
@@ -0,0 +1,65 @@
1
+ import { ApplicationRef, ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
2
+ import { AuthService } from '@igo2/auth';
3
+ import { ConfigService } from '@igo2/core/config';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@igo2/auth";
6
+ import * as i2 from "@igo2/core/config";
7
+ export class AuthFacebookComponent {
8
+ authService;
9
+ config;
10
+ appRef;
11
+ options;
12
+ login = new EventEmitter();
13
+ constructor(authService, config, appRef) {
14
+ this.authService = authService;
15
+ this.config = config;
16
+ this.appRef = appRef;
17
+ this.options = this.config.getConfig('auth.facebook');
18
+ if (this.options?.appId) {
19
+ this.loadSDKFacebook();
20
+ }
21
+ else {
22
+ console.warn('Facebook authentification needs "appId" option');
23
+ }
24
+ }
25
+ subscribeEvents() {
26
+ window.FB.Event.subscribe('auth.statusChange', (rep) => {
27
+ this.statusChangeCallback(rep);
28
+ });
29
+ }
30
+ statusChangeCallback(response) {
31
+ if (response.status === 'connected') {
32
+ const accessToken = response.authResponse.accessToken;
33
+ this.loginFacebook(accessToken);
34
+ }
35
+ }
36
+ loginFacebook(token) {
37
+ this.authService.loginWithToken(token, 'facebook').subscribe(() => {
38
+ this.appRef.tick();
39
+ this.login.emit(true);
40
+ });
41
+ }
42
+ loadSDKFacebook() {
43
+ if (document.getElementById('facebook-jssdk')) {
44
+ return;
45
+ }
46
+ const urlSDK = 'https://connect.facebook.net/fr_CA/sdk.js#xfbml=1&version=v2.9';
47
+ const fjs = document.getElementsByTagName('script')[0];
48
+ const js = document.createElement('script');
49
+ js.id = 'facebook-jssdk';
50
+ js.src = `${urlSDK}&appId=${this.options?.appId}`;
51
+ js.onload = () => {
52
+ this.subscribeEvents();
53
+ };
54
+ fjs.parentNode.insertBefore(js, fjs);
55
+ }
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthFacebookComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Component });
57
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AuthFacebookComponent, isStandalone: true, selector: "igo-auth-facebook", outputs: { login: "login" }, ngImport: i0, template: "<div\n class=\"fb-login-button\"\n data-max-rows=\"1\"\n data-size=\"large\"\n data-button-type=\"login_with\"\n data-show-faces=\"false\"\n data-auto-logout-link=\"false\"\n data-use-continue-as=\"false\"\n></div>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-3px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthFacebookComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'igo-auth-facebook', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div\n class=\"fb-login-button\"\n data-max-rows=\"1\"\n data-size=\"large\"\n data-button-type=\"login_with\"\n data-show-faces=\"false\"\n data-auto-logout-link=\"false\"\n data-use-continue-as=\"false\"\n></div>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-3px}\n"] }]
62
+ }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i0.ApplicationRef }], propDecorators: { login: [{
63
+ type: Output
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mYWNlYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2ZhY2Vib29rL3NyYy9hdXRoLWZhY2Vib29rL2F1dGgtZmFjZWJvb2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9mYWNlYm9vay9zcmMvYXV0aC1mYWNlYm9vay9hdXRoLWZhY2Vib29rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBV2xELE1BQU0sT0FBTyxxQkFBcUI7SUFNdEI7SUFDQTtJQUNBO0lBUEYsT0FBTyxDQUF1QjtJQUU1QixLQUFLLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFFckUsWUFDVSxXQUF3QixFQUN4QixNQUFxQixFQUNyQixNQUFzQjtRQUZ0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBRTlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFdEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDcEIsTUFBYyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDOUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFFBQVE7UUFDbkMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsS0FBSztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUNWLGdFQUFnRSxDQUFDO1FBRW5FLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7UUFDekIsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLE1BQU0sVUFBVSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ2xELEVBQUUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQztRQUNGLEdBQUcsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO3dHQXZEVSxxQkFBcUI7NEZBQXJCLHFCQUFxQiwwR0NwQmxDLGlPQVNBOzs0RkRXYSxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSTt5SUFLTixLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuXG5pbXBvcnQgeyBBdXRoRmFjZWJvb2tPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGgtZmFjZWJvb2suaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWF1dGgtZmFjZWJvb2snLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC1mYWNlYm9vay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dGgtZmFjZWJvb2suY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQXV0aEZhY2Vib29rQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBvcHRpb25zPzogQXV0aEZhY2Vib29rT3B0aW9ucztcblxuICBAT3V0cHV0KCkgbG9naW46IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWZcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoLmZhY2Vib29rJyk7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zPy5hcHBJZCkge1xuICAgICAgdGhpcy5sb2FkU0RLRmFjZWJvb2soKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdGYWNlYm9vayBhdXRoZW50aWZpY2F0aW9uIG5lZWRzIFwiYXBwSWRcIiBvcHRpb24nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZUV2ZW50cygpIHtcbiAgICAod2luZG93IGFzIGFueSkuRkIuRXZlbnQuc3Vic2NyaWJlKCdhdXRoLnN0YXR1c0NoYW5nZScsIChyZXApID0+IHtcbiAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlQ2FsbGJhY2socmVwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdHVzQ2hhbmdlQ2FsbGJhY2socmVzcG9uc2UpIHtcbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAnY29ubmVjdGVkJykge1xuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSByZXNwb25zZS5hdXRoUmVzcG9uc2UuYWNjZXNzVG9rZW47XG4gICAgICB0aGlzLmxvZ2luRmFjZWJvb2soYWNjZXNzVG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9naW5GYWNlYm9vayh0b2tlbikge1xuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9naW5XaXRoVG9rZW4odG9rZW4sICdmYWNlYm9vaycpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gICAgICB0aGlzLmxvZ2luLmVtaXQodHJ1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRTREtGYWNlYm9vaygpIHtcbiAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZhY2Vib29rLWpzc2RrJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB1cmxTREsgPVxuICAgICAgJ2h0dHBzOi8vY29ubmVjdC5mYWNlYm9vay5uZXQvZnJfQ0Evc2RrLmpzI3hmYm1sPTEmdmVyc2lvbj12Mi45JztcblxuICAgIGNvbnN0IGZqcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtcbiAgICBjb25zdCBqcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIGpzLmlkID0gJ2ZhY2Vib29rLWpzc2RrJztcbiAgICBqcy5zcmMgPSBgJHt1cmxTREt9JmFwcElkPSR7dGhpcy5vcHRpb25zPy5hcHBJZH1gO1xuICAgIGpzLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlRXZlbnRzKCk7XG4gICAgfTtcbiAgICBmanMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoanMsIGZqcyk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmYi1sb2dpbi1idXR0b25cIlxuICBkYXRhLW1heC1yb3dzPVwiMVwiXG4gIGRhdGEtc2l6ZT1cImxhcmdlXCJcbiAgZGF0YS1idXR0b24tdHlwZT1cImxvZ2luX3dpdGhcIlxuICBkYXRhLXNob3ctZmFjZXM9XCJmYWxzZVwiXG4gIGRhdGEtYXV0by1sb2dvdXQtbGluaz1cImZhbHNlXCJcbiAgZGF0YS11c2UtY29udGludWUtYXM9XCJmYWxzZVwiXG4+PC9kaXY+XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1hdXRoLWZhY2Vib29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9mYWNlYm9vay9zcmMvaWdvMi1hdXRoLWZhY2Vib29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './auth-facebook/auth-facebook.component';
2
+ export * from './shared';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZmFjZWJvb2svc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aC1mYWNlYm9vay9hdXRoLWZhY2Vib29rLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mYWNlYm9vay5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2ZhY2Vib29rL3NyYy9zaGFyZWQvYXV0aC1mYWNlYm9vay5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXV0aEZhY2Vib29rT3B0aW9ucyB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBhcHBJZDogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './auth-facebook.interface';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2ZhY2Vib29rL3NyYy9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aC1mYWNlYm9vay5pbnRlcmZhY2UnO1xuIl19
@@ -0,0 +1,166 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output } from '@angular/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { NavigationStart, Router } from '@angular/router';
5
+ import { AuthService } from '@igo2/auth';
6
+ import { AuthFacebookComponent } from '@igo2/auth/facebook';
7
+ import { AuthGoogleComponent } from '@igo2/auth/google';
8
+ import { AuthInternComponent } from '@igo2/auth/internal';
9
+ import { AuthMicrosoftComponent, AuthMicrosoftb2cComponent } from '@igo2/auth/microsoft';
10
+ import { ConfigService } from '@igo2/core/config';
11
+ import { IgoLanguageModule } from '@igo2/core/language';
12
+ import { filter } from 'rxjs/operators';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@igo2/auth";
15
+ import * as i2 from "@igo2/core/config";
16
+ import * as i3 from "@angular/router";
17
+ import * as i4 from "@angular/material/button";
18
+ import * as i5 from "@ngx-translate/core";
19
+ export class AuthFormComponent {
20
+ auth;
21
+ config;
22
+ router;
23
+ get backgroundDisable() {
24
+ if (this.isLogoutRoute || this.isLogoutRoute) {
25
+ return false;
26
+ }
27
+ return this._backgroundDisable;
28
+ }
29
+ set backgroundDisable(value) {
30
+ this._backgroundDisable = value.toString() === 'true';
31
+ }
32
+ _backgroundDisable = true;
33
+ get hasAlreadyConnectedDiv() {
34
+ return this._hasAlreadyConnectedDiv;
35
+ }
36
+ set hasAlreadyConnectedDiv(value) {
37
+ this._hasAlreadyConnectedDiv = value.toString() === 'true';
38
+ }
39
+ _hasAlreadyConnectedDiv = true;
40
+ get hasLogoutDiv() {
41
+ return this._hasLogoutDiv;
42
+ }
43
+ set hasLogoutDiv(value) {
44
+ this._hasLogoutDiv = value.toString() === 'true';
45
+ }
46
+ _hasLogoutDiv = true;
47
+ get showAlreadyConnectedDiv() {
48
+ if (this.isLogoutRoute) {
49
+ return this.hasAlreadyConnectedDiv;
50
+ }
51
+ return this._showAlreadyConnectedDiv;
52
+ }
53
+ set showAlreadyConnectedDiv(value) {
54
+ this._showAlreadyConnectedDiv = value.toString() === 'true';
55
+ }
56
+ _showAlreadyConnectedDiv = false;
57
+ get showLogoutDiv() {
58
+ if (this.isLogoutRoute) {
59
+ return this.hasLogoutDiv;
60
+ }
61
+ return this._showLogoutDiv;
62
+ }
63
+ set showLogoutDiv(value) {
64
+ this._showLogoutDiv = value.toString() === 'true';
65
+ }
66
+ _showLogoutDiv = false;
67
+ get showLoginDiv() {
68
+ if (!this.isLogoutRoute) {
69
+ return true;
70
+ }
71
+ }
72
+ login = new EventEmitter();
73
+ options;
74
+ user;
75
+ visible = true;
76
+ isLogoutRoute;
77
+ constructor(auth, config, router) {
78
+ this.auth = auth;
79
+ this.config = config;
80
+ this.router = router;
81
+ this.options = this.config.getConfig('auth');
82
+ this.visible = Object.getOwnPropertyNames(this.options).length !== 0;
83
+ }
84
+ ngOnInit() {
85
+ this.analyzeRoute();
86
+ this.getName();
87
+ }
88
+ onLogin() {
89
+ this.auth.goToRedirectUrl();
90
+ this.getName();
91
+ this.login.emit(true);
92
+ }
93
+ logout() {
94
+ this.auth.logout().subscribe(() => {
95
+ this.user = undefined;
96
+ if (this.router) {
97
+ if (this.options?.logoutRoute) {
98
+ this.router.navigate([this.options?.logoutRoute]);
99
+ }
100
+ else if (this.options?.homeRoute) {
101
+ this.router.navigate([this.options?.homeRoute]);
102
+ }
103
+ }
104
+ });
105
+ }
106
+ home() {
107
+ if (this.router && this.options?.homeRoute) {
108
+ this.router.navigate([this.options?.homeRoute]);
109
+ }
110
+ }
111
+ getName() {
112
+ const tokenDecoded = this.auth.decodeToken();
113
+ if (tokenDecoded) {
114
+ this.user = {
115
+ name: tokenDecoded.user.firstName || tokenDecoded.user.sourceId
116
+ };
117
+ }
118
+ }
119
+ analyzeRoute() {
120
+ if (!this.router) {
121
+ return;
122
+ }
123
+ this.router.events
124
+ .pipe(filter((event) => event instanceof NavigationStart))
125
+ .subscribe((changeEvent) => {
126
+ if (changeEvent.url) {
127
+ const currentRoute = changeEvent.url;
128
+ const logoutRoute = this.options?.logoutRoute;
129
+ this.isLogoutRoute = currentRoute === logoutRoute;
130
+ if (this.isLogoutRoute) {
131
+ this.auth.logout();
132
+ }
133
+ }
134
+ });
135
+ }
136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthFormComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AuthFormComponent, isStandalone: true, selector: "igo-auth-form", inputs: { backgroundDisable: "backgroundDisable", hasAlreadyConnectedDiv: "hasAlreadyConnectedDiv", hasLogoutDiv: "hasLogoutDiv", showAlreadyConnectedDiv: "showAlreadyConnectedDiv", showLogoutDiv: "showLogoutDiv" }, outputs: { login: "login" }, ngImport: i0, template: "<div *ngIf=\"visible\">\n <div\n *ngIf=\"!auth.logged && backgroundDisable\"\n class=\"backgroundDisable\"\n ></div>\n\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\n <h1>{{ 'igo.auth.connection' | translate }}</h1>\n\n <igo-auth-google\n *ngIf=\"options.google && options.google.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-google>\n\n <igo-auth-microsoft\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoft>\n\n <igo-auth-microsoftb2c\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoftb2c>\n\n <igo-auth-facebook\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-facebook>\n\n <igo-auth-intern\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\n [allowAnonymous]=\"options.allowAnonymous\"\n (login)=\"onLogin()\"\n >\n </igo-auth-intern>\n </div>\n\n <div\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\n class=\"login center-block\"\n >\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\n {{ 'igo.auth.signOut' | translate }}\n </button>\n </div>\n\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\n <button\n *ngIf=\"options.homeRoute\"\n mat-raised-button\n type=\"button\"\n (click)=\"home()\"\n >\n {{ 'igo.auth.home' | translate }}\n </button>\n </div>\n</div>\n", styles: [":host{z-index:999}div.login{z-index:200;width:90%;min-width:360px;max-width:600px;padding:25px 50px;border:1px solid;background-color:#fff;border-color:#888}.center-block{position:fixed;top:20%;left:50%;transform:translate(-50%)}.backgroundDisable{position:fixed;top:0;left:0;background:#000;opacity:.8;z-index:100;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AuthGoogleComponent, selector: "igo-auth-google", outputs: ["login"] }, { kind: "component", type: AuthMicrosoftComponent, selector: "igo-auth-microsoft", outputs: ["login"] }, { kind: "component", type: AuthMicrosoftb2cComponent, selector: "igo-auth-microsoftb2c", outputs: ["login"] }, { kind: "component", type: AuthFacebookComponent, selector: "igo-auth-facebook", outputs: ["login"] }, { kind: "component", type: AuthInternComponent, selector: "igo-auth-intern", inputs: ["allowAnonymous"], outputs: ["login"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
138
+ }
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthFormComponent, decorators: [{
140
+ type: Component,
141
+ args: [{ selector: 'igo-auth-form', changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [
142
+ NgIf,
143
+ AuthGoogleComponent,
144
+ AuthMicrosoftComponent,
145
+ AuthMicrosoftb2cComponent,
146
+ AuthFacebookComponent,
147
+ AuthInternComponent,
148
+ MatButtonModule,
149
+ IgoLanguageModule
150
+ ], template: "<div *ngIf=\"visible\">\n <div\n *ngIf=\"!auth.logged && backgroundDisable\"\n class=\"backgroundDisable\"\n ></div>\n\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\n <h1>{{ 'igo.auth.connection' | translate }}</h1>\n\n <igo-auth-google\n *ngIf=\"options.google && options.google.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-google>\n\n <igo-auth-microsoft\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoft>\n\n <igo-auth-microsoftb2c\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoftb2c>\n\n <igo-auth-facebook\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-facebook>\n\n <igo-auth-intern\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\n [allowAnonymous]=\"options.allowAnonymous\"\n (login)=\"onLogin()\"\n >\n </igo-auth-intern>\n </div>\n\n <div\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\n class=\"login center-block\"\n >\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\n {{ 'igo.auth.signOut' | translate }}\n </button>\n </div>\n\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\n <button\n *ngIf=\"options.homeRoute\"\n mat-raised-button\n type=\"button\"\n (click)=\"home()\"\n >\n {{ 'igo.auth.home' | translate }}\n </button>\n </div>\n</div>\n", styles: [":host{z-index:999}div.login{z-index:200;width:90%;min-width:360px;max-width:600px;padding:25px 50px;border:1px solid;background-color:#fff;border-color:#888}.center-block{position:fixed;top:20%;left:50%;transform:translate(-50%)}.backgroundDisable{position:fixed;top:0;left:0;background:#000;opacity:.8;z-index:100;height:100%;width:100%}\n"] }]
151
+ }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router, decorators: [{
152
+ type: Optional
153
+ }] }], propDecorators: { backgroundDisable: [{
154
+ type: Input
155
+ }], hasAlreadyConnectedDiv: [{
156
+ type: Input
157
+ }], hasLogoutDiv: [{
158
+ type: Input
159
+ }], showAlreadyConnectedDiv: [{
160
+ type: Input
161
+ }], showLogoutDiv: [{
162
+ type: Input
163
+ }], login: [{
164
+ type: Output
165
+ }] } });
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZm9ybS9zcmMvYXV0aC1mb3JtL2F1dGgtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2Zvcm0vc3JjL2F1dGgtZm9ybS9hdXRoLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQWUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIseUJBQXlCLEVBQzFCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQXFCeEMsTUFBTSxPQUFPLGlCQUFpQjtJQXVFbkI7SUFDQztJQUNZO0lBeEV0QixJQUNJ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OzswQkEyRUUsUUFBUTt5Q0F2RVAsaUJBQWlCO3NCQURwQixLQUFLO2dCQWFGLHNCQUFzQjtzQkFEekIsS0FBSztnQkFVRixZQUFZO3NCQURmLEtBQUs7Z0JBVUYsdUJBQXVCO3NCQUQxQixLQUFLO2dCQWFGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBa0JJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQXV0aE9wdGlvbnMsIEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBBdXRoRmFjZWJvb2tDb21wb25lbnQgfSBmcm9tICdAaWdvMi9hdXRoL2ZhY2Vib29rJztcbmltcG9ydCB7IEF1dGhHb29nbGVDb21wb25lbnQgfSBmcm9tICdAaWdvMi9hdXRoL2dvb2dsZSc7XG5pbXBvcnQgeyBBdXRoSW50ZXJuQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvYXV0aC9pbnRlcm5hbCc7XG5pbXBvcnQge1xuICBBdXRoTWljcm9zb2Z0Q29tcG9uZW50LFxuICBBdXRoTWljcm9zb2Z0YjJjQ29tcG9uZW50XG59IGZyb20gJ0BpZ28yL2F1dGgvbWljcm9zb2Z0JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEF1dGhGb3JtT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1hdXRoLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0aC1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgQXV0aEdvb2dsZUNvbXBvbmVudCxcbiAgICBBdXRoTWljcm9zb2Z0Q29tcG9uZW50LFxuICAgIEF1dGhNaWNyb3NvZnRiMmNDb21wb25lbnQsXG4gICAgQXV0aEZhY2Vib29rQ29tcG9uZW50LFxuICAgIEF1dGhJbnRlcm5Db21wb25lbnQsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0aEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBnZXQgYmFja2dyb3VuZERpc2FibGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNMb2dvdXRSb3V0ZSB8fCB0aGlzLmlzTG9nb3V0Um91dGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2JhY2tncm91bmREaXNhYmxlO1xuICB9XG4gIHNldCBiYWNrZ3JvdW5kRGlzYWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2JhY2tncm91bmREaXNhYmxlID0gdmFsdWUudG9TdHJpbmcoKSA9PT0gJ3RydWUnO1xuICB9XG4gIHByaXZhdGUgX2JhY2tncm91bmREaXNhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBnZXQgaGFzQWxyZWFkeUNvbm5lY3RlZERpdigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzQWxyZWFkeUNvbm5lY3RlZERpdjtcbiAgfVxuICBzZXQgaGFzQWxyZWFkeUNvbm5lY3RlZERpdih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2hhc0FscmVhZHlDb25uZWN0ZWREaXYgPSB2YWx1ZS50b1N0cmluZygpID09PSAndHJ1ZSc7XG4gIH1cbiAgcHJpdmF0ZSBfaGFzQWxyZWFkeUNvbm5lY3RlZERpdiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZ2V0IGhhc0xvZ291dERpdigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzTG9nb3V0RGl2O1xuICB9XG4gIHNldCBoYXNMb2dvdXREaXYodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9oYXNMb2dvdXREaXYgPSB2YWx1ZS50b1N0cmluZygpID09PSAndHJ1ZSc7XG4gIH1cbiAgcHJpdmF0ZSBfaGFzTG9nb3V0RGl2ID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBnZXQgc2hvd0FscmVhZHlDb25uZWN0ZWREaXYoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNMb2dvdXRSb3V0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaGFzQWxyZWFkeUNvbm5lY3RlZERpdjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dBbHJlYWR5Q29ubmVjdGVkRGl2O1xuICB9XG4gIHNldCBzaG93QWxyZWFkeUNvbm5lY3RlZERpdih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dBbHJlYWR5Q29ubmVjdGVkRGl2ID0gdmFsdWUudG9TdHJpbmcoKSA9PT0gJ3RydWUnO1xuICB9XG4gIHByaXZhdGUgX3Nob3dBbHJlYWR5Q29ubmVjdGVkRGl2ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IHNob3dMb2dvdXREaXYoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNMb2dvdXRSb3V0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaGFzTG9nb3V0RGl2O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2hvd0xvZ291dERpdjtcbiAgfVxuICBzZXQgc2hvd0xvZ291dERpdih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dMb2dvdXREaXYgPSB2YWx1ZS50b1N0cmluZygpID09PSAndHJ1ZSc7XG4gIH1cbiAgcHJpdmF0ZSBfc2hvd0xvZ291dERpdiA9IGZhbHNlO1xuXG4gIGdldCBzaG93TG9naW5EaXYoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmlzTG9nb3V0Um91dGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSBsb2dpbjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBvcHRpb25zPzogQXV0aE9wdGlvbnMgJiBBdXRoRm9ybU9wdGlvbnM7XG4gIHB1YmxpYyB1c2VyO1xuXG4gIHB1YmxpYyB2aXNpYmxlID0gdHJ1ZTtcblxuICBwcml2YXRlIGlzTG9nb3V0Um91dGU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGF1dGg6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoJyk7XG4gICAgdGhpcy52aXNpYmxlID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcy5vcHRpb25zKS5sZW5ndGggIT09IDA7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hbmFseXplUm91dGUoKTtcbiAgICB0aGlzLmdldE5hbWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkxvZ2luKCkge1xuICAgIHRoaXMuYXV0aC5nb1RvUmVkaXJlY3RVcmwoKTtcbiAgICB0aGlzLmdldE5hbWUoKTtcbiAgICB0aGlzLmxvZ2luLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgbG9nb3V0KCkge1xuICAgIHRoaXMuYXV0aC5sb2dvdXQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51c2VyID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKHRoaXMucm91dGVyKSB7XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnM/LmxvZ291dFJvdXRlKSB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMub3B0aW9ucz8ubG9nb3V0Um91dGVdKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnM/LmhvbWVSb3V0ZSkge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLm9wdGlvbnM/LmhvbWVSb3V0ZV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaG9tZSgpIHtcbiAgICBpZiAodGhpcy5yb3V0ZXIgJiYgdGhpcy5vcHRpb25zPy5ob21lUm91dGUpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLm9wdGlvbnM/LmhvbWVSb3V0ZV0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmFtZSgpIHtcbiAgICBjb25zdCB0b2tlbkRlY29kZWQgPSB0aGlzLmF1dGguZGVjb2RlVG9rZW4oKTtcbiAgICBpZiAodG9rZW5EZWNvZGVkKSB7XG4gICAgICB0aGlzLnVzZXIgPSB7XG4gICAgICAgIG5hbWU6IHRva2VuRGVjb2RlZC51c2VyLmZpcnN0TmFtZSB8fCB0b2tlbkRlY29kZWQudXNlci5zb3VyY2VJZFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFuYWx5emVSb3V0ZSgpIHtcbiAgICBpZiAoIXRoaXMucm91dGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2VFdmVudDogYW55KSA9PiB7XG4gICAgICAgIGlmIChjaGFuZ2VFdmVudC51cmwpIHtcbiAgICAgICAgICBjb25zdCBjdXJyZW50Um91dGUgPSBjaGFuZ2VFdmVudC51cmw7XG4gICAgICAgICAgY29uc3QgbG9nb3V0Um91dGUgPSB0aGlzLm9wdGlvbnM/LmxvZ291dFJvdXRlO1xuXG4gICAgICAgICAgdGhpcy5pc0xvZ291dFJvdXRlID0gY3VycmVudFJvdXRlID09PSBsb2dvdXRSb3V0ZTtcblxuICAgICAgICAgIGlmICh0aGlzLmlzTG9nb3V0Um91dGUpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0aC5sb2dvdXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwidmlzaWJsZVwiPlxuICA8ZGl2XG4gICAgKm5nSWY9XCIhYXV0aC5sb2dnZWQgJiYgYmFja2dyb3VuZERpc2FibGVcIlxuICAgIGNsYXNzPVwiYmFja2dyb3VuZERpc2FibGVcIlxuICA+PC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIiFhdXRoLmxvZ2dlZCAmJiBzaG93TG9naW5EaXZcIiBjbGFzcz1cImxvZ2luIGNlbnRlci1ibG9ja1wiPlxuICAgIDxoMT57eyAnaWdvLmF1dGguY29ubmVjdGlvbicgfCB0cmFuc2xhdGUgfX08L2gxPlxuXG4gICAgPGlnby1hdXRoLWdvb2dsZVxuICAgICAgKm5nSWY9XCJvcHRpb25zLmdvb2dsZSAmJiBvcHRpb25zLmdvb2dsZS5lbmFibGVkICE9PSBmYWxzZVwiXG4gICAgICAobG9naW4pPVwib25Mb2dpbigpXCJcbiAgICA+XG4gICAgPC9pZ28tYXV0aC1nb29nbGU+XG5cbiAgICA8aWdvLWF1dGgtbWljcm9zb2Z0XG4gICAgICAqbmdJZj1cIm9wdGlvbnMubWljcm9zb2Z0ICYmIG9wdGlvbnMubWljcm9zb2Z0LmVuYWJsZWQgIT09IGZhbHNlXCJcbiAgICAgIChsb2dpbik9XCJvbkxvZ2luKClcIlxuICAgID5cbiAgICA8L2lnby1hdXRoLW1pY3Jvc29mdD5cblxuICAgIDxpZ28tYXV0aC1taWNyb3NvZnRiMmNcbiAgICAgICpuZ0lmPVwib3B0aW9ucy5taWNyb3NvZnRiMmMgJiYgb3B0aW9ucy5taWNyb3NvZnRiMmMuZW5hYmxlZCAhPT0gZmFsc2VcIlxuICAgICAgKGxvZ2luKT1cIm9uTG9naW4oKVwiXG4gICAgPlxuICAgIDwvaWdvLWF1dGgtbWljcm9zb2Z0YjJjPlxuXG4gICAgPGlnby1hdXRoLWZhY2Vib29rXG4gICAgICAqbmdJZj1cIm9wdGlvbnMuZmFjZWJvb2sgJiYgb3B0aW9ucy5mYWNlYm9vay5lbmFibGVkICE9PSBmYWxzZVwiXG4gICAgICAobG9naW4pPVwib25Mb2dpbigpXCJcbiAgICA+XG4gICAgPC9pZ28tYXV0aC1mYWNlYm9vaz5cblxuICAgIDxpZ28tYXV0aC1pbnRlcm5cbiAgICAgICpuZ0lmPVwiIW9wdGlvbnMuaW50ZXJuIHx8IG9wdGlvbnMuaW50ZXJuLmVuYWJsZWQgIT09IGZhbHNlXCJcbiAgICAgIFthbGxvd0Fub255bW91c109XCJvcHRpb25zLmFsbG93QW5vbnltb3VzXCJcbiAgICAgIChsb2dpbik9XCJvbkxvZ2luKClcIlxuICAgID5cbiAgICA8L2lnby1hdXRoLWludGVybj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiYXV0aC5sb2dnZWQgJiYgc2hvd0FscmVhZHlDb25uZWN0ZWREaXZcIlxuICAgIGNsYXNzPVwibG9naW4gY2VudGVyLWJsb2NrXCJcbiAgPlxuICAgIDxwPnt7ICdpZ28uYXV0aC53ZWxjb21lJyB8IHRyYW5zbGF0ZTogdXNlciB9fTwvcD5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwibG9nb3V0KClcIj5cbiAgICAgIHt7ICdpZ28uYXV0aC5zaWduT3V0JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwic2hvd0xvZ291dERpdlwiIGNsYXNzPVwibG9naW4gY2VudGVyLWJsb2NrXCI+XG4gICAgPHA+e3sgJ2lnby5hdXRoLmRlY29ubmVjdGlvbicgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJvcHRpb25zLmhvbWVSb3V0ZVwiXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwiaG9tZSgpXCJcbiAgICA+XG4gICAgICB7eyAnaWdvLmF1dGguaG9tZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,73 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatFormFieldModule } from '@angular/material/form-field';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
9
+ import { AuthFacebookComponent } from '@igo2/auth/facebook';
10
+ import { AuthGoogleComponent } from '@igo2/auth/google';
11
+ import { AuthInternComponent } from '@igo2/auth/internal';
12
+ import { AuthMicrosoftComponent, AuthMicrosoftb2cComponent } from '@igo2/auth/microsoft';
13
+ import { IgoLanguageModule } from '@igo2/core/language';
14
+ import { MsalModule } from '@azure/msal-angular';
15
+ import { AuthFormComponent } from './auth-form/auth-form.component';
16
+ import * as i0 from "@angular/core";
17
+ export class IgoAuthFormModule {
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAuthFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoAuthFormModule, imports: [CommonModule,
20
+ ReactiveFormsModule,
21
+ MatFormFieldModule,
22
+ MatInputModule,
23
+ MatIconModule,
24
+ MatProgressSpinnerModule,
25
+ MatButtonModule,
26
+ IgoLanguageModule,
27
+ MsalModule,
28
+ AuthFormComponent,
29
+ AuthGoogleComponent,
30
+ AuthInternComponent,
31
+ AuthFacebookComponent,
32
+ AuthMicrosoftComponent,
33
+ AuthMicrosoftb2cComponent], exports: [AuthFormComponent] });
34
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAuthFormModule, imports: [CommonModule,
35
+ ReactiveFormsModule,
36
+ MatFormFieldModule,
37
+ MatInputModule,
38
+ MatIconModule,
39
+ MatProgressSpinnerModule,
40
+ MatButtonModule,
41
+ IgoLanguageModule,
42
+ MsalModule,
43
+ AuthFormComponent,
44
+ AuthGoogleComponent,
45
+ AuthInternComponent,
46
+ AuthFacebookComponent,
47
+ AuthMicrosoftComponent,
48
+ AuthMicrosoftb2cComponent] });
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoAuthFormModule, decorators: [{
51
+ type: NgModule,
52
+ args: [{
53
+ imports: [
54
+ CommonModule,
55
+ ReactiveFormsModule,
56
+ MatFormFieldModule,
57
+ MatInputModule,
58
+ MatIconModule,
59
+ MatProgressSpinnerModule,
60
+ MatButtonModule,
61
+ IgoLanguageModule,
62
+ MsalModule,
63
+ AuthFormComponent,
64
+ AuthGoogleComponent,
65
+ AuthInternComponent,
66
+ AuthFacebookComponent,
67
+ AuthMicrosoftComponent,
68
+ AuthMicrosoftb2cComponent
69
+ ],
70
+ exports: [AuthFormComponent]
71
+ }]
72
+ }] });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZm9ybS9zcmMvYXV0aC1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUU5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUMxQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFzQnBFLE1BQU0sT0FBTyxpQkFBaUI7d0dBQWpCLGlCQUFpQjt5R0FBakIsaUJBQWlCLFlBbEIxQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsYUFBYTtZQUNiLHdCQUF3QjtZQUN4QixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLFVBQVU7WUFDVixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixxQkFBcUI7WUFDckIsc0JBQXNCO1lBQ3RCLHlCQUF5QixhQUVqQixpQkFBaUI7eUdBRWhCLGlCQUFpQixZQWxCMUIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLGFBQWE7WUFDYix3QkFBd0I7WUFDeEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixVQUFVO1lBQ1YsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0Qix5QkFBeUI7OzRGQUloQixpQkFBaUI7a0JBcEI3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2Isd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIseUJBQXlCO3FCQUMxQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuXG5pbXBvcnQgeyBBdXRoRmFjZWJvb2tDb21wb25lbnQgfSBmcm9tICdAaWdvMi9hdXRoL2ZhY2Vib29rJztcbmltcG9ydCB7IEF1dGhHb29nbGVDb21wb25lbnQgfSBmcm9tICdAaWdvMi9hdXRoL2dvb2dsZSc7XG5pbXBvcnQgeyBBdXRoSW50ZXJuQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvYXV0aC9pbnRlcm5hbCc7XG5pbXBvcnQge1xuICBBdXRoTWljcm9zb2Z0Q29tcG9uZW50LFxuICBBdXRoTWljcm9zb2Z0YjJjQ29tcG9uZW50XG59IGZyb20gJ0BpZ28yL2F1dGgvbWljcm9zb2Z0JztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5cbmltcG9ydCB7IE1zYWxNb2R1bGUgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcblxuaW1wb3J0IHsgQXV0aEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2F1dGgtZm9ybS9hdXRoLWZvcm0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXG4gICAgTXNhbE1vZHVsZSxcbiAgICBBdXRoRm9ybUNvbXBvbmVudCxcbiAgICBBdXRoR29vZ2xlQ29tcG9uZW50LFxuICAgIEF1dGhJbnRlcm5Db21wb25lbnQsXG4gICAgQXV0aEZhY2Vib29rQ29tcG9uZW50LFxuICAgIEF1dGhNaWNyb3NvZnRDb21wb25lbnQsXG4gICAgQXV0aE1pY3Jvc29mdGIyY0NvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbQXV0aEZvcm1Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIElnb0F1dGhGb3JtTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1hdXRoLWZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2Zvcm0vc3JjL2lnbzItYXV0aC1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Public API Surface of auth
3
+ */
4
+ export * from './shared/auth-form.interface';
5
+ export * from './auth-form.module';
6
+ export * from './auth-form/auth-form.component';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZm9ybS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhdXRoXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvYXV0aC1mb3JtLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgtZm9ybS5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2F1dGgtZm9ybS9hdXRoLWZvcm0uY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mb3JtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZm9ybS9zcmMvc2hhcmVkL2F1dGgtZm9ybS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhGYWNlYm9va09wdGlvbnMgfSBmcm9tICdAaWdvMi9hdXRoL2ZhY2Vib29rJztcbmltcG9ydCB7IEF1dGhHb29nbGVPcHRpb25zIH0gZnJvbSAnQGlnbzIvYXV0aC9nb29nbGUnO1xuaW1wb3J0IHtcbiAgQXV0aE1pY3Jvc29mdE9wdGlvbnMsXG4gIEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zXG59IGZyb20gJ0BpZ28yL2F1dGgvbWljcm9zb2Z0JztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoRm9ybU9wdGlvbnMge1xuICBmYWNlYm9vaz86IEF1dGhGYWNlYm9va09wdGlvbnM7XG4gIGdvb2dsZT86IEF1dGhHb29nbGVPcHRpb25zO1xuICBtaWNyb3NvZnQ/OiBBdXRoTWljcm9zb2Z0T3B0aW9ucztcbiAgbWljcm9zb2Z0YjJjPzogQXV0aE1pY3Jvc29mdGIyY09wdGlvbnM7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './auth-form.interface';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2Zvcm0vc3JjL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoLWZvcm0uaW50ZXJmYWNlJztcbiJdfQ==
@@ -0,0 +1,108 @@
1
+ import { ApplicationRef, ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
2
+ import { AuthService } from '@igo2/auth';
3
+ import { ConfigService } from '@igo2/core/config';
4
+ import { LanguageService } from '@igo2/core/language';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@igo2/auth";
7
+ import * as i2 from "@igo2/core/config";
8
+ import * as i3 from "@igo2/core/language";
9
+ export class AuthGoogleComponent {
10
+ authService;
11
+ config;
12
+ languageService;
13
+ appRef;
14
+ options;
15
+ login = new EventEmitter();
16
+ constructor(authService, config, languageService, appRef) {
17
+ this.authService = authService;
18
+ this.config = config;
19
+ this.languageService = languageService;
20
+ this.appRef = appRef;
21
+ this.options = this.config.getConfig('auth.google');
22
+ if (this.options?.apiKey && this.options?.clientId) {
23
+ this.loadSDKGoogle();
24
+ this.loadPlatform();
25
+ }
26
+ else {
27
+ console.warn('Google authentification needs "apiKey" and "clientId" options');
28
+ }
29
+ }
30
+ handleSignInClick() {
31
+ window.gapi.auth2.getAuthInstance().signIn();
32
+ }
33
+ handleSignOutClick() {
34
+ window.gapi.auth2.getAuthInstance().signOut();
35
+ }
36
+ handleClientLoad() {
37
+ window.gapi.load('client:auth2', () => this.initClient());
38
+ }
39
+ initClient() {
40
+ window.gapi.client
41
+ .init({
42
+ apiKey: this.options?.apiKey,
43
+ clientId: this.options?.clientId,
44
+ discoveryDocs: [
45
+ 'https://people.googleapis.com/$discovery/rest?version=v1'
46
+ ],
47
+ scope: 'profile'
48
+ })
49
+ .then(() => {
50
+ this.handleSignOutClick();
51
+ this.updateTextButton();
52
+ window.gapi.auth2
53
+ .getAuthInstance()
54
+ .isSignedIn.listen((rep) => {
55
+ this.updateSigninStatus(rep);
56
+ });
57
+ });
58
+ }
59
+ updateSigninStatus(isSignedIn) {
60
+ this.updateTextButton();
61
+ if (isSignedIn) {
62
+ this.loginGoogle(window.gapi.client.getToken().access_token);
63
+ }
64
+ }
65
+ updateTextButton() {
66
+ const btn = document.querySelector('span[id^="not_signed_"]');
67
+ if (btn && this.languageService.getLanguage() !== 'en') {
68
+ if (btn.innerHTML === 'Sign in with Google') {
69
+ btn.innerHTML = this.languageService.translate.instant('igo.auth.google.login');
70
+ }
71
+ else if (btn.innerHTML === 'Signed in with Google') {
72
+ btn.innerHTML = this.languageService.translate.instant('igo.auth.google.logged');
73
+ }
74
+ }
75
+ }
76
+ loginGoogle(token) {
77
+ this.authService.loginWithToken(token, 'google').subscribe(() => {
78
+ this.appRef.tick();
79
+ this.login.emit(true);
80
+ });
81
+ }
82
+ loadSDKGoogle() {
83
+ const fjs = document.getElementsByTagName('script')[0];
84
+ const js = document.createElement('script');
85
+ js.id = 'google-jssdk';
86
+ js.src = 'https://apis.google.com/js/api.js';
87
+ js.onload = () => {
88
+ this.handleClientLoad();
89
+ };
90
+ fjs.parentNode.insertBefore(js, fjs);
91
+ }
92
+ loadPlatform() {
93
+ const fjs = document.getElementsByTagName('script')[0];
94
+ const js = document.createElement('script');
95
+ js.id = 'google-platform';
96
+ js.src = 'https://apis.google.com/js/platform.js';
97
+ fjs.parentNode.insertBefore(js, fjs);
98
+ }
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthGoogleComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i3.LanguageService }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Component });
100
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AuthGoogleComponent, isStandalone: true, selector: "igo-auth-google", outputs: { login: "login" }, ngImport: i0, template: "<div\n class=\"g-signin2 google-login-button\"\n data-height=\"40\"\n data-width=\"265\"\n data-longtitle=\"true\"\n></div>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block}.google-login-button ::ng-deep .abcRioButton{color:#000000de}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthGoogleComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'igo-auth-google', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div\n class=\"g-signin2 google-login-button\"\n data-height=\"40\"\n data-width=\"265\"\n data-longtitle=\"true\"\n></div>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block}.google-login-button ::ng-deep .abcRioButton{color:#000000de}\n"] }]
105
+ }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.LanguageService }, { type: i0.ApplicationRef }], propDecorators: { login: [{
106
+ type: Output
107
+ }] } });
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1nb29nbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9nb29nbGUvc3JjL2F1dGgtZ29vZ2xlL2F1dGgtZ29vZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZ29vZ2xlL3NyYy9hdXRoLWdvb2dsZS9hdXRoLWdvb2dsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBV3RELE1BQU0sT0FBTyxtQkFBbUI7SUFNcEI7SUFDQTtJQUNBO0lBQ0E7SUFSRixPQUFPLENBQXFCO0lBRTFCLEtBQUssR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVyRSxZQUNVLFdBQXdCLEVBQ3hCLE1BQXFCLEVBQ3JCLGVBQWdDLEVBQ2hDLE1BQXNCO1FBSHRCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBRTlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxhQUFhLEVB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QkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsY0FBYyxDQUFDO1FBQ3ZCLEVBQUUsQ0FBQyxHQUFHLEdBQUcsbUNBQW1DLENBQUM7UUFDN0MsRUFBRSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUM7UUFDRixHQUFHLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLFlBQVk7UUFDbEIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztRQUMxQixFQUFFLENBQUMsR0FBRyxHQUFHLHdDQUF3QyxDQUFDO1FBQ2xELEdBQUcsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO3dHQXRHVSxtQkFBbUI7NEZBQW5CLG1CQUFtQix3R0NyQmhDLG1JQU1BOzs0RkRlYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSTt1S0FLTixLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5cbmltcG9ydCB7IEF1dGhHb29nbGVPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGgtZ29vZ2xlLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1hdXRoLWdvb2dsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoLWdvb2dsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dGgtZ29vZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhHb29nbGVDb21wb25lbnQge1xuICBwcml2YXRlIG9wdGlvbnM/OiBBdXRoR29vZ2xlT3B0aW9ucztcblxuICBAT3V0cHV0KCkgbG9naW46IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZlxuICApIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGguZ29vZ2xlJyk7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zPy5hcGlLZXkgJiYgdGhpcy5vcHRpb25zPy5jbGllbnRJZCkge1xuICAgICAgdGhpcy5sb2FkU0RLR29vZ2xlKCk7XG4gICAgICB0aGlzLmxvYWRQbGF0Zm9ybSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdHb29nbGUgYXV0aGVudGlmaWNhdGlvbiBuZWVkcyBcImFwaUtleVwiIGFuZCBcImNsaWVudElkXCIgb3B0aW9ucydcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZVNpZ25JbkNsaWNrKCkge1xuICAgICh3aW5kb3cgYXMgYW55KS5nYXBpLmF1dGgyLmdldEF1dGhJbnN0YW5jZSgpLnNpZ25JbigpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVNpZ25PdXRDbGljaygpIHtcbiAgICAod2luZG93IGFzIGFueSkuZ2FwaS5hdXRoMi5nZXRBdXRoSW5zdGFuY2UoKS5zaWduT3V0KCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNsaWVudExvYWQoKSB7XG4gICAgKHdpbmRvdyBhcyBhbnkpLmdhcGkubG9hZCgnY2xpZW50OmF1dGgyJywgKCkgPT4gdGhpcy5pbml0Q2xpZW50KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q2xpZW50KCkge1xuICAgICh3aW5kb3cgYXMgYW55KS5nYXBpLmNsaWVudFxuICAgICAgLmluaXQoe1xuICAgICAgICBhcGlLZXk6IHRoaXMub3B0aW9ucz8uYXBpS2V5LFxuICAgICAgICBjbGllbnRJZDogdGhpcy5vcHRpb25zPy5jbGllbnRJZCxcbiAgICAgICAgZGlzY292ZXJ5RG9jczogW1xuICAgICAgICAgICdodHRwczovL3Blb3BsZS5nb29nbGVhcGlzLmNvbS8kZGlzY292ZXJ5L3Jlc3Q/dmVyc2lvbj12MSdcbiAgICAgICAgXSxcbiAgICAgICAgc2NvcGU6ICdwcm9maWxlJ1xuICAgICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVTaWduT3V0Q2xpY2soKTtcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0QnV0dG9uKCk7XG4gICAgICAgICh3aW5kb3cgYXMgYW55KS5nYXBpLmF1dGgyXG4gICAgICAgICAgLmdldEF1dGhJbnN0YW5jZSgpXG4gICAgICAgICAgLmlzU2lnbmVkSW4ubGlzdGVuKChyZXApID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2lnbmluU3RhdHVzKHJlcCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2lnbmluU3RhdHVzKGlzU2lnbmVkSW4pIHtcbiAgICB0aGlzLnVwZGF0ZVRleHRCdXR0b24oKTtcbiAgICBpZiAoaXNTaWduZWRJbikge1xuICAgICAgdGhpcy5sb2dpbkdvb2dsZSgod2luZG93IGFzIGFueSkuZ2FwaS5jbGllbnQuZ2V0VG9rZW4oKS5hY2Nlc3NfdG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVGV4dEJ1dHRvbigpIHtcbiAgICBjb25zdCBidG4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuW2lkXj1cIm5vdF9zaWduZWRfXCJdJyk7XG4gICAgaWYgKGJ0biAmJiB0aGlzLmxhbmd1YWdlU2VydmljZS5nZXRMYW5ndWFnZSgpICE9PSAnZW4nKSB7XG4gICAgICBpZiAoYnRuLmlubmVySFRNTCA9PT0gJ1NpZ24gaW4gd2l0aCBHb29nbGUnKSB7XG4gICAgICAgIGJ0bi5pbm5lckhUTUwgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAnaWdvLmF1dGguZ29vZ2xlLmxvZ2luJ1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChidG4uaW5uZXJIVE1MID09PSAnU2lnbmVkIGluIHdpdGggR29vZ2xlJykge1xuICAgICAgICBidG4uaW5uZXJIVE1MID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgJ2lnby5hdXRoLmdvb2dsZS5sb2dnZWQnXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2dpbkdvb2dsZSh0b2tlbikge1xuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9naW5XaXRoVG9rZW4odG9rZW4sICdnb29nbGUnKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5hcHBSZWYudGljaygpO1xuICAgICAgdGhpcy5sb2dpbi5lbWl0KHRydWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkU0RLR29vZ2xlKCkge1xuICAgIGNvbnN0IGZqcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtcbiAgICBjb25zdCBqcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIGpzLmlkID0gJ2dvb2dsZS1qc3Nkayc7XG4gICAganMuc3JjID0gJ2h0dHBzOi8vYXBpcy5nb29nbGUuY29tL2pzL2FwaS5qcyc7XG4gICAganMub25sb2FkID0gKCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVDbGllbnRMb2FkKCk7XG4gICAgfTtcbiAgICBmanMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoanMsIGZqcyk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRQbGF0Zm9ybSgpIHtcbiAgICBjb25zdCBmanMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07XG4gICAgY29uc3QganMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBqcy5pZCA9ICdnb29nbGUtcGxhdGZvcm0nO1xuICAgIGpzLnNyYyA9ICdodHRwczovL2FwaXMuZ29vZ2xlLmNvbS9qcy9wbGF0Zm9ybS5qcyc7XG4gICAgZmpzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGpzLCBmanMpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZy1zaWduaW4yIGdvb2dsZS1sb2dpbi1idXR0b25cIlxuICBkYXRhLWhlaWdodD1cIjQwXCJcbiAgZGF0YS13aWR0aD1cIjI2NVwiXG4gIGRhdGEtbG9uZ3RpdGxlPVwidHJ1ZVwiXG4+PC9kaXY+XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1hdXRoLWdvb2dsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZ29vZ2xlL3NyYy9pZ28yLWF1dGgtZ29vZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './auth-google/auth-google.component';
2
+ export * from './shared';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZ29vZ2xlL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGgtZ29vZ2xlL2F1dGgtZ29vZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1nb29nbGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9nb29nbGUvc3JjL3NoYXJlZC9hdXRoLWdvb2dsZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXV0aEdvb2dsZU9wdGlvbnMge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgYXBpS2V5OiBzdHJpbmc7XG4gIGNsaWVudElkOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './auth-google.interface';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2dvb2dsZS9zcmMvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGgtZ29vZ2xlLmludGVyZmFjZSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1hdXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvaWdvMi1hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=