@igo2/auth 17.0.0-next.2 → 17.0.0-next.4

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 (122) hide show
  1. package/environment/environment.interface.d.ts +6 -0
  2. package/environment/index.d.ts +5 -0
  3. package/esm2022/environment/environment.interface.mjs +2 -0
  4. package/esm2022/environment/igo2-auth-environment.mjs +5 -0
  5. package/esm2022/environment/public_api.mjs +2 -0
  6. package/esm2022/facebook/auth-facebook/auth-facebook.component.mjs +65 -0
  7. package/esm2022/facebook/igo2-auth-facebook.mjs +5 -0
  8. package/esm2022/facebook/public_api.mjs +3 -0
  9. package/esm2022/facebook/shared/auth-facebook.interface.mjs +2 -0
  10. package/esm2022/facebook/shared/index.mjs +2 -0
  11. package/esm2022/form/auth-form/auth-form.component.mjs +166 -0
  12. package/esm2022/form/auth-form.module.mjs +95 -0
  13. package/esm2022/form/igo2-auth-form.mjs +5 -0
  14. package/esm2022/form/public_api.mjs +9 -0
  15. package/esm2022/form/shared/auth-form.interface.mjs +2 -0
  16. package/esm2022/form/shared/auth-storage.interface.mjs +2 -0
  17. package/esm2022/form/shared/auth-storage.service.mjs +98 -0
  18. package/esm2022/form/shared/index.mjs +4 -0
  19. package/esm2022/google/auth-google/auth-google.component.mjs +108 -0
  20. package/esm2022/google/igo2-auth-google.mjs +5 -0
  21. package/esm2022/google/public_api.mjs +3 -0
  22. package/esm2022/google/shared/auth-google.interface.mjs +2 -0
  23. package/esm2022/google/shared/index.mjs +2 -0
  24. package/esm2022/internal/auth-intern/auth-intern.component.mjs +84 -0
  25. package/esm2022/internal/igo2-auth-internal.mjs +5 -0
  26. package/esm2022/internal/public_api.mjs +2 -0
  27. package/esm2022/lib/shared/auth.interface.mjs +1 -1
  28. package/esm2022/microsoft/auth-microsoft/auth-microsoft.component.mjs +100 -0
  29. package/esm2022/microsoft/auth-microsoft.provider.mjs +92 -0
  30. package/esm2022/microsoft/auth-microsoftb2c/auth-microsoftb2c.component.mjs +98 -0
  31. package/esm2022/microsoft/auth-microsoftb2c/auth-msalBroadcastServiceb2c.service.mjs +47 -0
  32. package/esm2022/microsoft/auth-microsoftb2c/auth-msalServiceb2c.service.mjs +85 -0
  33. package/esm2022/microsoft/igo2-auth-microsoft.mjs +5 -0
  34. package/esm2022/microsoft/public_api.mjs +5 -0
  35. package/esm2022/microsoft/shared/auth-microsoft.interface.mjs +2 -0
  36. package/esm2022/microsoft/shared/index.mjs +2 -0
  37. package/esm2022/monitoring/auth-monitoring/auth-monitoring.provider.mjs +24 -0
  38. package/esm2022/monitoring/auth-monitoring/auth-monitoring.service.mjs +54 -0
  39. package/esm2022/monitoring/igo2-auth-monitoring.mjs +5 -0
  40. package/esm2022/monitoring/public_api.mjs +3 -0
  41. package/esm2022/public_api.mjs +1 -10
  42. package/{lib/auth-form → facebook/auth-facebook}/auth-facebook.component.d.ts +1 -1
  43. package/facebook/index.d.ts +5 -0
  44. package/facebook/public_api.d.ts +2 -0
  45. package/facebook/shared/auth-facebook.interface.d.ts +4 -0
  46. package/facebook/shared/index.d.ts +1 -0
  47. package/fesm2022/igo2-auth-environment.mjs +4 -0
  48. package/fesm2022/igo2-auth-environment.mjs.map +1 -0
  49. package/fesm2022/igo2-auth-facebook.mjs +70 -0
  50. package/fesm2022/igo2-auth-facebook.mjs.map +1 -0
  51. package/fesm2022/igo2-auth-form.mjs +350 -0
  52. package/fesm2022/igo2-auth-form.mjs.map +1 -0
  53. package/fesm2022/igo2-auth-google.mjs +112 -0
  54. package/fesm2022/igo2-auth-google.mjs.map +1 -0
  55. package/fesm2022/igo2-auth-internal.mjs +89 -0
  56. package/fesm2022/igo2-auth-internal.mjs.map +1 -0
  57. package/fesm2022/igo2-auth-microsoft.mjs +390 -0
  58. package/fesm2022/igo2-auth-microsoft.mjs.map +1 -0
  59. package/fesm2022/igo2-auth-monitoring.mjs +81 -0
  60. package/fesm2022/igo2-auth-monitoring.mjs.map +1 -0
  61. package/fesm2022/igo2-auth.mjs +7 -1024
  62. package/fesm2022/igo2-auth.mjs.map +1 -1
  63. package/{lib → form}/auth-form/auth-form.component.d.ts +3 -4
  64. package/form/auth-form.module.d.ts +22 -0
  65. package/form/index.d.ts +5 -0
  66. package/form/public_api.d.ts +5 -0
  67. package/form/shared/auth-form.interface.d.ts +9 -0
  68. package/{lib → form}/shared/auth-storage.service.d.ts +1 -2
  69. package/form/shared/index.d.ts +3 -0
  70. package/{src/lib → form/src}/auth-form/auth-intern.theme.scss +19 -19
  71. package/form/src/auth-form.theme.scss +9 -0
  72. package/{lib/auth-form → google/auth-google}/auth-google.component.d.ts +1 -1
  73. package/google/index.d.ts +5 -0
  74. package/google/public_api.d.ts +2 -0
  75. package/google/shared/auth-google.interface.d.ts +5 -0
  76. package/google/shared/index.d.ts +1 -0
  77. package/{lib/auth-form → internal/auth-intern}/auth-intern.component.d.ts +1 -1
  78. package/internal/index.d.ts +5 -0
  79. package/internal/public_api.d.ts +1 -0
  80. package/lib/shared/auth.interface.d.ts +14 -71
  81. package/{lib/auth-form → microsoft/auth-microsoft}/auth-microsoft.component.d.ts +2 -2
  82. package/{lib/shared → microsoft}/auth-microsoft.provider.d.ts +5 -2
  83. package/{lib/auth-form → microsoft/auth-microsoftb2c}/auth-microsoftb2c.component.d.ts +3 -3
  84. package/{lib/shared → microsoft/auth-microsoftb2c}/auth-msalBroadcastServiceb2c.service.d.ts +1 -1
  85. package/microsoft/index.d.ts +5 -0
  86. package/microsoft/public_api.d.ts +4 -0
  87. package/microsoft/shared/auth-microsoft.interface.d.ts +32 -0
  88. package/microsoft/shared/index.d.ts +1 -0
  89. package/{lib → monitoring}/auth-monitoring/auth-monitoring.service.d.ts +1 -1
  90. package/monitoring/index.d.ts +5 -0
  91. package/monitoring/public_api.d.ts +2 -0
  92. package/package.json +45 -3
  93. package/public_api.d.ts +0 -9
  94. package/src/auth.theme.scss +9 -9
  95. package/esm2022/lib/auth-form/auth-facebook.component.mjs +0 -65
  96. package/esm2022/lib/auth-form/auth-form.component.mjs +0 -170
  97. package/esm2022/lib/auth-form/auth-google.component.mjs +0 -108
  98. package/esm2022/lib/auth-form/auth-intern.component.mjs +0 -84
  99. package/esm2022/lib/auth-form/auth-microsoft.component.mjs +0 -100
  100. package/esm2022/lib/auth-form/auth-microsoftb2c.component.mjs +0 -98
  101. package/esm2022/lib/auth-form/index.mjs +0 -19
  102. package/esm2022/lib/auth-monitoring/auth-monitoring.provider.mjs +0 -24
  103. package/esm2022/lib/auth-monitoring/auth-monitoring.service.mjs +0 -54
  104. package/esm2022/lib/auth.module.mjs +0 -98
  105. package/esm2022/lib/environment/environment.interface.mjs +0 -2
  106. package/esm2022/lib/environment/index.mjs +0 -2
  107. package/esm2022/lib/shared/auth-microsoft.provider.mjs +0 -86
  108. package/esm2022/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +0 -47
  109. package/esm2022/lib/shared/auth-msalServiceb2c.service..mjs +0 -85
  110. package/esm2022/lib/shared/auth-storage.interface.mjs +0 -2
  111. package/esm2022/lib/shared/auth-storage.service.mjs +0 -100
  112. package/esm2022/lib/shared/index.mjs +0 -14
  113. package/esm2022/lib/shared/protected.directive.mjs +0 -21
  114. package/lib/auth-form/index.d.ts +0 -11
  115. package/lib/auth.module.d.ts +0 -24
  116. package/lib/environment/environment.interface.d.ts +0 -5
  117. package/lib/shared/index.d.ts +0 -13
  118. package/lib/shared/protected.directive.d.ts +0 -8
  119. /package/{lib/environment/index.d.ts → environment/public_api.d.ts} +0 -0
  120. /package/{lib → form}/shared/auth-storage.interface.d.ts +0 -0
  121. /package/{lib/shared/auth-msalServiceb2c.service..d.ts → microsoft/auth-microsoftb2c/auth-msalServiceb2c.service.d.ts} +0 -0
  122. /package/{lib → monitoring}/auth-monitoring/auth-monitoring.provider.d.ts +0 -0
@@ -1,62 +1,28 @@
1
1
  import { BaseUser } from '@igo2/core/user';
2
- import { MsalGuardConfiguration } from '@azure/msal-angular';
3
- import { BrowserAuthOptions } from '@azure/msal-browser';
4
- export interface AuthInternOptions {
5
- enabled?: boolean;
6
- }
7
- export interface AuthFacebookOptions {
8
- enabled?: boolean;
9
- appId: string;
10
- }
11
- export interface AuthGoogleOptions {
12
- enabled?: boolean;
13
- apiKey: string;
14
- clientId: string;
15
- }
16
- export interface AuthMicrosoftOptions extends BrowserAuthOptions {
17
- enabled?: boolean;
18
- }
19
- export interface AuthMicrosoftb2cOptions {
20
- enabled?: boolean;
21
- browserAuthOptions?: BrowserAuthOptions;
22
- options?: AuthMicrosoftb2cOptionsOptions;
23
- scopes?: string[];
24
- }
25
- export interface AuthMicrosoftb2cOptionsOptions {
26
- names: AuthMicrosoftb2cOptionsNames;
27
- authorities: AuthMicrosoftb2cOptionsAuthorities;
28
- authorityDomain: string[];
29
- }
30
- export interface AuthMicrosoftb2cOptionsNames {
31
- signUpSignIn: string;
32
- forgotPassword: string;
33
- editProfile: string;
34
- }
35
- export interface AuthMicrosoftb2cOptionsAuthorities {
36
- signUpSignIn: AuthMicrosoftb2cOptionsAuthority;
37
- forgotPassword: AuthMicrosoftb2cOptionsAuthority;
38
- editProfile: AuthMicrosoftb2cOptionsAuthority;
2
+ export interface User extends BaseUser {
3
+ source?: string;
4
+ sourceId?: string;
5
+ locale?: string;
6
+ isExpired?: boolean;
7
+ isAdmin?: boolean;
8
+ defaultContextId?: string;
39
9
  }
40
- export interface AuthMicrosoftb2cOptionsAuthority {
41
- authority: string;
10
+ export interface IInfosUser {
11
+ tokenId: string;
42
12
  }
43
- export interface AuthOptions {
13
+ export type AuthOptions = {
44
14
  url?: string;
45
15
  tokenKey?: string;
46
16
  allowAnonymous?: boolean;
47
17
  loginRoute?: string;
48
18
  logoutRoute?: string;
49
19
  homeRoute?: string;
50
- intern?: AuthInternOptions;
51
- facebook?: AuthFacebookOptions;
52
- google?: AuthGoogleOptions;
53
- microsoft?: AuthMicrosoftOptions;
54
- microsoftb2c?: AuthMicrosoftb2cOptions;
55
20
  trustHosts?: string[];
56
21
  profilsGuard?: string[];
57
22
  hostsWithCredentials?: WithCredentialsOptions[];
58
23
  hostsByKey?: AuthByKeyOptions[];
59
- }
24
+ intern?: AuthInternOptions;
25
+ };
60
26
  export interface AuthByKeyOptions {
61
27
  domainRegFilters?: string;
62
28
  keyProperty?: string;
@@ -66,29 +32,6 @@ export interface WithCredentialsOptions {
66
32
  withCredentials?: boolean;
67
33
  domainRegFilters?: string;
68
34
  }
69
- export interface MSPMsalGuardConfiguration extends MsalGuardConfiguration {
70
- type: string;
71
- }
72
- export interface MSPMsalGuardConfiguration extends MsalGuardConfiguration {
73
- type: string;
74
- }
75
- export interface MSPMsalGuardConfiguration extends MsalGuardConfiguration {
76
- type: string;
77
- }
78
- export interface MSPMsalGuardConfiguration extends MsalGuardConfiguration {
79
- type: string;
80
- }
81
- export interface MSPMsalGuardConfiguration extends MsalGuardConfiguration {
82
- type: string;
83
- }
84
- export interface User extends BaseUser {
85
- source?: string;
86
- sourceId?: string;
87
- locale?: string;
88
- isExpired?: boolean;
89
- isAdmin?: boolean;
90
- defaultContextId?: string;
91
- }
92
- export interface IInfosUser {
93
- tokenId: string;
35
+ export interface AuthInternOptions {
36
+ enabled?: boolean;
94
37
  }
@@ -1,8 +1,8 @@
1
1
  import { ApplicationRef, EventEmitter } from '@angular/core';
2
+ import { AuthService } from '@igo2/auth';
2
3
  import { ConfigService } from '@igo2/core/config';
3
4
  import { MsalService } from '@azure/msal-angular';
4
- import { MSPMsalGuardConfiguration } from '../shared/auth.interface';
5
- import { AuthService } from '../shared/auth.service';
5
+ import { MSPMsalGuardConfiguration } from '../shared/auth-microsoft.interface';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class AuthMicrosoftComponent {
8
8
  private authService;
@@ -1,8 +1,11 @@
1
1
  import { ConfigService } from '@igo2/core/config';
2
2
  import { MsalService } from '@azure/msal-angular';
3
3
  import { PublicClientApplication } from '@azure/msal-browser';
4
- import { MsalServiceb2c } from './auth-msalServiceb2c.service.';
5
- import { MSPMsalGuardConfiguration } from './auth.interface';
4
+ import { AuthMicrosoftComponent } from './auth-microsoft/auth-microsoft.component';
5
+ import { AuthMicrosoftb2cComponent } from './auth-microsoftb2c/auth-microsoftb2c.component';
6
+ import { MsalServiceb2c } from './auth-microsoftb2c/auth-msalServiceb2c.service';
7
+ import { MSPMsalGuardConfiguration } from './shared/auth-microsoft.interface';
8
+ export declare const AUTH_MICROSOFT_DIRECTIVES: readonly [typeof AuthMicrosoftComponent, typeof AuthMicrosoftb2cComponent];
6
9
  export declare function MSALConfigFactory(config: ConfigService): PublicClientApplication;
7
10
  export declare function MSALConfigFactoryb2c(config: ConfigService): PublicClientApplication;
8
11
  export declare function MSALAngularConfigFactory(config: ConfigService): MSPMsalGuardConfiguration;
@@ -1,8 +1,8 @@
1
1
  import { ApplicationRef, EventEmitter } from '@angular/core';
2
+ import { AuthService } from '@igo2/auth';
2
3
  import { ConfigService } from '@igo2/core/config';
3
- import { MsalServiceb2c } from '../shared/auth-msalServiceb2c.service.';
4
- import { MSPMsalGuardConfiguration } from '../shared/auth.interface';
5
- import { AuthService } from '../shared/auth.service';
4
+ import { MSPMsalGuardConfiguration } from '../shared/auth-microsoft.interface';
5
+ import { MsalServiceb2c } from './auth-msalServiceb2c.service';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class AuthMicrosoftb2cComponent {
8
8
  private authService;
@@ -1,6 +1,6 @@
1
1
  import { EventMessage, IPublicClientApplication, InteractionStatus } from '@azure/msal-browser';
2
2
  import { Observable } from 'rxjs';
3
- import { MsalServiceb2c } from './auth-msalServiceb2c.service.';
3
+ import { MsalServiceb2c } from './auth-msalServiceb2c.service';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class MsalBroadcastServiceb2c {
6
6
  private msalInstance;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@igo2/auth/microsoft" />
5
+ export * from './public_api';
@@ -0,0 +1,4 @@
1
+ export * from './auth-microsoft.provider';
2
+ export * from './auth-microsoft/auth-microsoft.component';
3
+ export * from './auth-microsoftb2c/auth-microsoftb2c.component';
4
+ export * from './shared';
@@ -0,0 +1,32 @@
1
+ import type { MsalGuardConfiguration } from '@azure/msal-angular';
2
+ import type { BrowserAuthOptions } from '@azure/msal-browser';
3
+ export interface AuthMicrosoftOptions extends BrowserAuthOptions {
4
+ enabled?: boolean;
5
+ }
6
+ export interface AuthMicrosoftb2cOptions {
7
+ enabled?: boolean;
8
+ browserAuthOptions?: BrowserAuthOptions;
9
+ options?: AuthMicrosoftb2cOptionsOptions;
10
+ scopes?: string[];
11
+ }
12
+ export interface AuthMicrosoftb2cOptionsOptions {
13
+ names: AuthMicrosoftb2cOptionsNames;
14
+ authorities: AuthMicrosoftb2cOptionsAuthorities;
15
+ authorityDomain: string[];
16
+ }
17
+ export interface AuthMicrosoftb2cOptionsNames {
18
+ signUpSignIn: string;
19
+ forgotPassword: string;
20
+ editProfile: string;
21
+ }
22
+ export interface AuthMicrosoftb2cOptionsAuthorities {
23
+ signUpSignIn: AuthMicrosoftb2cOptionsAuthority;
24
+ forgotPassword: AuthMicrosoftb2cOptionsAuthority;
25
+ editProfile: AuthMicrosoftb2cOptionsAuthority;
26
+ }
27
+ export interface AuthMicrosoftb2cOptionsAuthority {
28
+ authority: string;
29
+ }
30
+ export interface MSPMsalGuardConfiguration extends MsalGuardConfiguration {
31
+ type: string;
32
+ }
@@ -0,0 +1 @@
1
+ export * from './auth-microsoft.interface';
@@ -1,7 +1,7 @@
1
1
  import { Injector } from '@angular/core';
2
+ import { AuthService } from '@igo2/auth';
2
3
  import { ConfigService } from '@igo2/core/config';
3
4
  import { AnyMonitoringOptions } from '@igo2/core/monitoring';
4
- import { AuthService } from '../shared';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class AuthMonitoringService {
7
7
  private configService;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@igo2/auth/monitoring" />
5
+ export * from './public_api';
@@ -0,0 +1,2 @@
1
+ export * from './auth-monitoring/auth-monitoring.provider';
2
+ export * from './auth-monitoring/auth-monitoring.service';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@igo2/auth",
3
- "version": "17.0.0-next.2",
3
+ "version": "17.0.0-next.4",
4
4
  "description": "IGO Library",
5
5
  "author": "IGO Community",
6
6
  "keywords": [
@@ -22,8 +22,50 @@
22
22
  "esm": "./esm2022/igo2-auth.mjs",
23
23
  "default": "./fesm2022/igo2-auth.mjs"
24
24
  },
25
+ "./environment": {
26
+ "types": "./environment/index.d.ts",
27
+ "esm2022": "./esm2022/environment/igo2-auth-environment.mjs",
28
+ "esm": "./esm2022/environment/igo2-auth-environment.mjs",
29
+ "default": "./fesm2022/igo2-auth-environment.mjs"
30
+ },
31
+ "./facebook": {
32
+ "types": "./facebook/index.d.ts",
33
+ "esm2022": "./esm2022/facebook/igo2-auth-facebook.mjs",
34
+ "esm": "./esm2022/facebook/igo2-auth-facebook.mjs",
35
+ "default": "./fesm2022/igo2-auth-facebook.mjs"
36
+ },
37
+ "./form": {
38
+ "types": "./form/index.d.ts",
39
+ "esm2022": "./esm2022/form/igo2-auth-form.mjs",
40
+ "esm": "./esm2022/form/igo2-auth-form.mjs",
41
+ "default": "./fesm2022/igo2-auth-form.mjs"
42
+ },
43
+ "./google": {
44
+ "types": "./google/index.d.ts",
45
+ "esm2022": "./esm2022/google/igo2-auth-google.mjs",
46
+ "esm": "./esm2022/google/igo2-auth-google.mjs",
47
+ "default": "./fesm2022/igo2-auth-google.mjs"
48
+ },
49
+ "./internal": {
50
+ "types": "./internal/index.d.ts",
51
+ "esm2022": "./esm2022/internal/igo2-auth-internal.mjs",
52
+ "esm": "./esm2022/internal/igo2-auth-internal.mjs",
53
+ "default": "./fesm2022/igo2-auth-internal.mjs"
54
+ },
55
+ "./microsoft": {
56
+ "types": "./microsoft/index.d.ts",
57
+ "esm2022": "./esm2022/microsoft/igo2-auth-microsoft.mjs",
58
+ "esm": "./esm2022/microsoft/igo2-auth-microsoft.mjs",
59
+ "default": "./fesm2022/igo2-auth-microsoft.mjs"
60
+ },
25
61
  "./package.json": {
26
62
  "default": "./package.json"
63
+ },
64
+ "./monitoring": {
65
+ "types": "./monitoring/index.d.ts",
66
+ "esm2022": "./esm2022/monitoring/igo2-auth-monitoring.mjs",
67
+ "esm": "./esm2022/monitoring/igo2-auth-monitoring.mjs",
68
+ "default": "./fesm2022/igo2-auth-monitoring.mjs"
27
69
  }
28
70
  },
29
71
  "dependencies": {
@@ -41,8 +83,8 @@
41
83
  "@angular/router": "^17.0.6",
42
84
  "@azure/msal-angular": "^3.0.4",
43
85
  "@azure/msal-browser": "^3.0.4",
44
- "@igo2/core": "^17.0.0-next.2",
45
- "@igo2/utils": "^17.0.0-next.2",
86
+ "@igo2/core": "^17.0.0-next.4",
87
+ "@igo2/utils": "^17.0.0-next.4",
46
88
  "rxjs": "^7.8.0"
47
89
  },
48
90
  "engines": {
package/public_api.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- export { AuthFormComponent } from './lib/auth-form';
2
- export * from './lib/environment';
3
1
  export * from './lib/shared/auth.service';
4
2
  export * from './lib/shared/logged.guard';
5
3
  export * from './lib/shared/auth.guard';
@@ -7,12 +5,5 @@ export * from './lib/shared/admin.guard';
7
5
  export * from './lib/shared/profils.guard';
8
6
  export * from './lib/shared/auth.interceptor';
9
7
  export * from './lib/shared/auth.interface';
10
- export * from './lib/shared/auth-microsoft.provider';
11
- export * from './lib/shared/protected.directive';
12
8
  export * from './lib/shared/token.interface';
13
9
  export * from './lib/shared/token.service';
14
- export * from './lib/shared/auth-storage.interface';
15
- export * from './lib/shared/auth-storage.service';
16
- export * from './lib/auth-monitoring/auth-monitoring.provider';
17
- export * from './lib/auth-monitoring/auth-monitoring.service';
18
- export * from './lib/auth.module';
@@ -1,9 +1,9 @@
1
- @use './lib/auth-form/auth-intern.theme.scss' as auth-intern;
2
-
3
- @mixin themes($theme) {
4
- @include auth-intern.theme($theme);
5
- }
6
-
7
- @mixin colors($theme) {
8
- @include auth-intern.color($theme);
9
- }
1
+ @use '../form/src/auth-form.theme.scss' as auth-form;
2
+
3
+ @mixin themes($theme) {
4
+ @include auth-form.themes($theme);
5
+ }
6
+
7
+ @mixin colors($theme) {
8
+ @include auth-form.colors($theme);
9
+ }
@@ -1,65 +0,0 @@
1
- import { ApplicationRef, ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
2
- import { ConfigService } from '@igo2/core/config';
3
- import { AuthService } from '../shared/auth.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../shared/auth.service";
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: "17.2.4", 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: "17.2.4", type: AuthFacebookComponent, isStandalone: true, selector: "igo-auth-facebook", outputs: { login: "login" }, ngImport: i0, template: "<div\r\n scope=\"public_profile,email\"\r\n class=\"fb-login-button\"\r\n data-max-rows=\"1\"\r\n data-size=\"large\"\r\n data-button-type=\"login_with\"\r\n data-show-faces=\"false\"\r\n data-auto-logout-link=\"false\"\r\n data-use-continue-as=\"false\"\r\n></div>\r\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: "17.2.4", ngImport: i0, type: AuthFacebookComponent, decorators: [{
60
- type: Component,
61
- args: [{ selector: 'igo-auth-facebook', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div\r\n scope=\"public_profile,email\"\r\n class=\"fb-login-button\"\r\n data-max-rows=\"1\"\r\n data-size=\"large\"\r\n data-button-type=\"login_with\"\r\n data-show-faces=\"false\"\r\n data-auto-logout-link=\"false\"\r\n data-use-continue-as=\"false\"\r\n></div>\r\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mYWNlYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvYXV0aC1mb3JtL2F1dGgtZmFjZWJvb2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL2F1dGgtZm9ybS9hdXRoLWZhY2Vib29rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFTckQsTUFBTSxPQUFPLHFCQUFxQjtJQU10QjtJQUNBO0lBQ0E7SUFQRixPQUFPLENBQXVCO0lBRTVCLEtBQUssR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVyRSxZQUNVLFdBQXdCLEVBQ3hCLE1BQXFCLEVBQ3JCLE1BQXNCO1FBRnRCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFFOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV0RCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRU8sZUFBZTtRQUNwQixNQUFjLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM5RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsUUFBUTtRQUNuQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDcEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFLO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQzlDLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQ1YsZ0VBQWdFLENBQUM7UUFFbkUsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QixFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsTUFBTSxVQUFVLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDbEQsRUFBRSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDO1FBQ0YsR0FBRyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7dUdBdkRVLHFCQUFxQjsyRkFBckIscUJBQXFCLDBHQ3BCbEMsdVJBVUE7OzJGRFVhLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJO3lJQUtOLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25SZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XHJcblxyXG5pbXBvcnQgeyBBdXRoRmFjZWJvb2tPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGguaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWF1dGgtZmFjZWJvb2snLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoLWZhY2Vib29rLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRoLWZhY2Vib29rLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aEZhY2Vib29rQ29tcG9uZW50IHtcclxuICBwcml2YXRlIG9wdGlvbnM/OiBBdXRoRmFjZWJvb2tPcHRpb25zO1xyXG5cclxuICBAT3V0cHV0KCkgbG9naW46IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmXHJcbiAgKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGguZmFjZWJvb2snKTtcclxuXHJcbiAgICBpZiAodGhpcy5vcHRpb25zPy5hcHBJZCkge1xyXG4gICAgICB0aGlzLmxvYWRTREtGYWNlYm9vaygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS53YXJuKCdGYWNlYm9vayBhdXRoZW50aWZpY2F0aW9uIG5lZWRzIFwiYXBwSWRcIiBvcHRpb24nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlRXZlbnRzKCkge1xyXG4gICAgKHdpbmRvdyBhcyBhbnkpLkZCLkV2ZW50LnN1YnNjcmliZSgnYXV0aC5zdGF0dXNDaGFuZ2UnLCAocmVwKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlQ2FsbGJhY2socmVwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0dXNDaGFuZ2VDYWxsYmFjayhyZXNwb25zZSkge1xyXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gJ2Nvbm5lY3RlZCcpIHtcclxuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSByZXNwb25zZS5hdXRoUmVzcG9uc2UuYWNjZXNzVG9rZW47XHJcbiAgICAgIHRoaXMubG9naW5GYWNlYm9vayhhY2Nlc3NUb2tlbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvZ2luRmFjZWJvb2sodG9rZW4pIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9naW5XaXRoVG9rZW4odG9rZW4sICdmYWNlYm9vaycpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYXBwUmVmLnRpY2soKTtcclxuICAgICAgdGhpcy5sb2dpbi5lbWl0KHRydWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRTREtGYWNlYm9vaygpIHtcclxuICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmFjZWJvb2stanNzZGsnKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdXJsU0RLID1cclxuICAgICAgJ2h0dHBzOi8vY29ubmVjdC5mYWNlYm9vay5uZXQvZnJfQ0Evc2RrLmpzI3hmYm1sPTEmdmVyc2lvbj12Mi45JztcclxuXHJcbiAgICBjb25zdCBmanMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07XHJcbiAgICBjb25zdCBqcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAganMuaWQgPSAnZmFjZWJvb2stanNzZGsnO1xyXG4gICAganMuc3JjID0gYCR7dXJsU0RLfSZhcHBJZD0ke3RoaXMub3B0aW9ucz8uYXBwSWR9YDtcclxuICAgIGpzLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgdGhpcy5zdWJzY3JpYmVFdmVudHMoKTtcclxuICAgIH07XHJcbiAgICBmanMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoanMsIGZqcyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBzY29wZT1cInB1YmxpY19wcm9maWxlLGVtYWlsXCJcclxuICBjbGFzcz1cImZiLWxvZ2luLWJ1dHRvblwiXHJcbiAgZGF0YS1tYXgtcm93cz1cIjFcIlxyXG4gIGRhdGEtc2l6ZT1cImxhcmdlXCJcclxuICBkYXRhLWJ1dHRvbi10eXBlPVwibG9naW5fd2l0aFwiXHJcbiAgZGF0YS1zaG93LWZhY2VzPVwiZmFsc2VcIlxyXG4gIGRhdGEtYXV0by1sb2dvdXQtbGluaz1cImZhbHNlXCJcclxuICBkYXRhLXVzZS1jb250aW51ZS1hcz1cImZhbHNlXCJcclxuPjwvZGl2PlxyXG4iXX0=
@@ -1,170 +0,0 @@
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 { ConfigService } from '@igo2/core/config';
6
- import { TranslateModule } from '@ngx-translate/core';
7
- import { filter } from 'rxjs/operators';
8
- import { AuthService } from '../shared/auth.service';
9
- import { AuthFacebookComponent } from './auth-facebook.component';
10
- import { AuthGoogleComponent } from './auth-google.component';
11
- import { AuthInternComponent } from './auth-intern.component';
12
- import { AuthMicrosoftComponent } from './auth-microsoft.component';
13
- import { AuthMicrosoftb2cComponent } from './auth-microsoftb2c.component';
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "../shared/auth.service";
16
- import * as i2 from "@igo2/core/config";
17
- import * as i3 from "@angular/router";
18
- import * as i4 from "@angular/material/button";
19
- import * as i5 from "@ngx-translate/core";
20
- export class AuthFormComponent {
21
- auth;
22
- config;
23
- router;
24
- get backgroundDisable() {
25
- if (this.isLogoutRoute || this.isLogoutRoute) {
26
- return false;
27
- }
28
- return this._backgroundDisable;
29
- }
30
- set backgroundDisable(value) {
31
- this._backgroundDisable = value.toString() === 'true';
32
- }
33
- _backgroundDisable = true;
34
- get hasAlreadyConnectedDiv() {
35
- return this._hasAlreadyConnectedDiv;
36
- }
37
- set hasAlreadyConnectedDiv(value) {
38
- this._hasAlreadyConnectedDiv = value.toString() === 'true';
39
- }
40
- _hasAlreadyConnectedDiv = true;
41
- get hasLogoutDiv() {
42
- return this._hasLogoutDiv;
43
- }
44
- set hasLogoutDiv(value) {
45
- this._hasLogoutDiv = value.toString() === 'true';
46
- }
47
- _hasLogoutDiv = true;
48
- get showAlreadyConnectedDiv() {
49
- if (this.isLogoutRoute) {
50
- return this.hasAlreadyConnectedDiv;
51
- }
52
- return this._showAlreadyConnectedDiv;
53
- }
54
- set showAlreadyConnectedDiv(value) {
55
- this._showAlreadyConnectedDiv = value.toString() === 'true';
56
- }
57
- _showAlreadyConnectedDiv = false;
58
- get showLogoutDiv() {
59
- if (this.isLogoutRoute) {
60
- return this.hasLogoutDiv;
61
- }
62
- return this._showLogoutDiv;
63
- }
64
- set showLogoutDiv(value) {
65
- this._showLogoutDiv = value.toString() === 'true';
66
- }
67
- _showLogoutDiv = false;
68
- get showLoginDiv() {
69
- if (!this.isLogoutRoute) {
70
- return true;
71
- }
72
- }
73
- login = new EventEmitter();
74
- options;
75
- user;
76
- visible = true;
77
- isLoginRoute;
78
- isLogoutRoute;
79
- constructor(auth, config, router) {
80
- this.auth = auth;
81
- this.config = config;
82
- this.router = router;
83
- this.options = this.config.getConfig('auth');
84
- this.visible = Object.getOwnPropertyNames(this.options).length !== 0;
85
- }
86
- ngOnInit() {
87
- this.analyzeRoute();
88
- this.getName();
89
- }
90
- onLogin() {
91
- this.auth.goToRedirectUrl();
92
- this.getName();
93
- this.login.emit(true);
94
- }
95
- logout() {
96
- this.auth.logout().subscribe(() => {
97
- this.user = undefined;
98
- if (this.router) {
99
- if (this.options?.logoutRoute) {
100
- this.router.navigate([this.options?.logoutRoute]);
101
- }
102
- else if (this.options?.homeRoute) {
103
- this.router.navigate([this.options?.homeRoute]);
104
- }
105
- }
106
- });
107
- }
108
- home() {
109
- if (this.router && this.options?.homeRoute) {
110
- this.router.navigate([this.options?.homeRoute]);
111
- }
112
- }
113
- getName() {
114
- const tokenDecoded = this.auth.decodeToken();
115
- if (tokenDecoded) {
116
- this.user = {
117
- name: tokenDecoded.user.firstName || tokenDecoded.user.sourceId
118
- };
119
- }
120
- }
121
- analyzeRoute() {
122
- if (!this.router) {
123
- return;
124
- }
125
- this.router.events
126
- .pipe(filter((event) => event instanceof NavigationStart))
127
- .subscribe((changeEvent) => {
128
- if (changeEvent.url) {
129
- const currentRoute = changeEvent.url;
130
- const logoutRoute = this.options?.logoutRoute;
131
- const loginRoute = this.options?.loginRoute;
132
- this.isLogoutRoute = currentRoute === logoutRoute;
133
- this.isLoginRoute = currentRoute === loginRoute;
134
- if (this.isLogoutRoute) {
135
- this.auth.logout();
136
- }
137
- }
138
- });
139
- }
140
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AuthFormComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
141
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", 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\">\r\n <div\r\n *ngIf=\"!auth.logged && backgroundDisable\"\r\n class=\"backgroundDisable\"\r\n ></div>\r\n\r\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\r\n <h1>{{ 'igo.auth.connection' | translate }}</h1>\r\n\r\n <igo-auth-google\r\n *ngIf=\"options.google && options.google.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-google>\r\n <igo-auth-microsoft\r\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-microsoft>\r\n <igo-auth-microsoftb2c\r\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-microsoftb2c>\r\n <igo-auth-facebook\r\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-facebook>\r\n <igo-auth-intern\r\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\r\n [allowAnonymous]=\"options.allowAnonymous\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-intern>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\r\n class=\"login center-block\"\r\n >\r\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\r\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\r\n {{ 'igo.auth.signOut' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\r\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\r\n <button\r\n *ngIf=\"options.homeRoute\"\r\n mat-raised-button\r\n type=\"button\"\r\n (click)=\"home()\"\r\n >\r\n {{ 'igo.auth.home' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\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: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AuthFormComponent, decorators: [{
144
- type: Component,
145
- args: [{ selector: 'igo-auth-form', changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [
146
- NgIf,
147
- AuthGoogleComponent,
148
- AuthMicrosoftComponent,
149
- AuthMicrosoftb2cComponent,
150
- AuthFacebookComponent,
151
- AuthInternComponent,
152
- MatButtonModule,
153
- TranslateModule
154
- ], template: "<div *ngIf=\"visible\">\r\n <div\r\n *ngIf=\"!auth.logged && backgroundDisable\"\r\n class=\"backgroundDisable\"\r\n ></div>\r\n\r\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\r\n <h1>{{ 'igo.auth.connection' | translate }}</h1>\r\n\r\n <igo-auth-google\r\n *ngIf=\"options.google && options.google.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-google>\r\n <igo-auth-microsoft\r\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-microsoft>\r\n <igo-auth-microsoftb2c\r\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-microsoftb2c>\r\n <igo-auth-facebook\r\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-facebook>\r\n <igo-auth-intern\r\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\r\n [allowAnonymous]=\"options.allowAnonymous\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-intern>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\r\n class=\"login center-block\"\r\n >\r\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\r\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\r\n {{ 'igo.auth.signOut' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\r\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\r\n <button\r\n *ngIf=\"options.homeRoute\"\r\n mat-raised-button\r\n type=\"button\"\r\n (click)=\"home()\"\r\n >\r\n {{ 'igo.auth.home' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\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"] }]
155
- }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router, decorators: [{
156
- type: Optional
157
- }] }], propDecorators: { backgroundDisable: [{
158
- type: Input
159
- }], hasAlreadyConnectedDiv: [{
160
- type: Input
161
- }], hasLogoutDiv: [{
162
- type: Input
163
- }], showAlreadyConnectedDiv: [{
164
- type: Input
165
- }], showLogoutDiv: [{
166
- type: Input
167
- }], login: [{
168
- type: Output
169
- }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9hdXRoLWZvcm0vYXV0aC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9hdXRoLWZvcm0vYXV0aC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7O0FBbUIxRSxNQUFNLE9BQU8saUJBQWlCO0lBd0VuQjtJQUNDO0lBQ1k7SUF6RXRCLElBQ0ksaUJBQWlCO1FBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0MsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksaUJBQWlCLENBQUMsS0FBYztRQUNsQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLE1BQU0sQ0FBQztJQUN4RCxDQUFDO0lBQ08sa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBRWxDLElBQ0ksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFJLHNCQUFzQixDQUFDLEtBQWM7UUFDdkMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxNQUFNLENBQUM7SUFDN0QsQ0FBQztJQUNPLHVCQUF1QixHQUFHLElBQUksQ0FBQztJQUV2QyxJQUNJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxDQUFDO0lBQ25ELENBQUM7SUFDTyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBRTdCLElBQ0ksdUJBQXVCO1FBQ3pCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsSUFBSSx1QkFBdUIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxDQUFDO0lBQzlELENBQUM7SUFDTyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7SUFFekMsSUFDSSxhQUFhO1FBQ2YsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQUksYUFBYSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxDQUFDO0lBQ3BELENBQUM7SUFDTyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBRS9CLElBQUksWUFBWTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVTLEtBQUssR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUU5RCxPQUFPLENBQWU7SUFDdEIsSUFBSSxDQUFDO0lBRUwsT0FBTyxHQUFHLElBQUksQ0FBQztJQUVkLFlBQVksQ0FBVTtJQUN0QixhQUFhLENBQVU7SUFFL0IsWUFDUyxJQUFpQixFQUNoQixNQUFxQixFQUNULE1BQWM7UUFGM0IsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ1QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUVsQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztvQkFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BELENBQUM7cUJBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO29CQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFTyxPQUFPO1FBQ2IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUc7Z0JBQ1YsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUTthQUNoRSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLENBQUM7YUFDekQsU0FBUyxDQUFDLENBQUMsV0FBZ0IsRUFBRSxFQUFFO1lBQzlCLElBQUksV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDO2dCQUNyQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztnQkFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7Z0JBRTVDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxLQUFLLFdBQVcsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLEtBQUssVUFBVSxDQUFDO2dCQUVoRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDckIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUdBNUlVLGlCQUFpQjsyRkFBakIsaUJBQWlCLDhUQzNDOUIsOHpEQTJEQSw4WUQxQkksSUFBSSw2RkFDSixtQkFBbUIsZ0ZBQ25CLHNCQUFzQixtRkFDdEIseUJBQXlCLHNGQUN6QixxQkFBcUIsa0ZBQ3JCLG1CQUFtQiwyR0FDbkIsZUFBZSwyTkFDZixlQUFlOzsyRkFHTixpQkFBaUI7a0JBakI3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsT0FBTyxjQUNwQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixlQUFlO3FCQUNoQjs7MEJBNEVFLFFBQVE7eUNBeEVQLGlCQUFpQjtzQkFEcEIsS0FBSztnQkFhRixzQkFBc0I7c0JBRHpCLEtBQUs7Z0JBVUYsWUFBWTtzQkFEZixLQUFLO2dCQVVGLHVCQUF1QjtzQkFEMUIsS0FBSztnQkFhRixhQUFhO3NCQURoQixLQUFLO2dCQWtCSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBBdXRoT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9hdXRoLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhGYWNlYm9va0NvbXBvbmVudCB9IGZyb20gJy4vYXV0aC1mYWNlYm9vay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoR29vZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLWdvb2dsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoSW50ZXJuQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLWludGVybi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoTWljcm9zb2Z0Q29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLW1pY3Jvc29mdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoTWljcm9zb2Z0YjJjQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLW1pY3Jvc29mdGIyYy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYXV0aC1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRoLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0lmLFxyXG4gICAgQXV0aEdvb2dsZUNvbXBvbmVudCxcclxuICAgIEF1dGhNaWNyb3NvZnRDb21wb25lbnQsXHJcbiAgICBBdXRoTWljcm9zb2Z0YjJjQ29tcG9uZW50LFxyXG4gICAgQXV0aEZhY2Vib29rQ29tcG9uZW50LFxyXG4gICAgQXV0aEludGVybkNvbXBvbmVudCxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBiYWNrZ3JvdW5kRGlzYWJsZSgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmlzTG9nb3V0Um91dGUgfHwgdGhpcy5pc0xvZ291dFJvdXRlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9iYWNrZ3JvdW5kRGlzYWJsZTtcclxuICB9XHJcbiAgc2V0IGJhY2tncm91bmREaXNhYmxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9iYWNrZ3JvdW5kRGlzYWJsZSA9IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJztcclxuICB9XHJcbiAgcHJpdmF0ZSBfYmFja2dyb3VuZERpc2FibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBoYXNBbHJlYWR5Q29ubmVjdGVkRGl2KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hhc0FscmVhZHlDb25uZWN0ZWREaXY7XHJcbiAgfVxyXG4gIHNldCBoYXNBbHJlYWR5Q29ubmVjdGVkRGl2KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9oYXNBbHJlYWR5Q29ubmVjdGVkRGl2ID0gdmFsdWUudG9TdHJpbmcoKSA9PT0gJ3RydWUnO1xyXG4gIH1cclxuICBwcml2YXRlIF9oYXNBbHJlYWR5Q29ubmVjdGVkRGl2ID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgaGFzTG9nb3V0RGl2KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hhc0xvZ291dERpdjtcclxuICB9XHJcbiAgc2V0IGhhc0xvZ291dERpdih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faGFzTG9nb3V0RGl2ID0gdmFsdWUudG9TdHJpbmcoKSA9PT0gJ3RydWUnO1xyXG4gIH1cclxuICBwcml2YXRlIF9oYXNMb2dvdXREaXYgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBzaG93QWxyZWFkeUNvbm5lY3RlZERpdigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmlzTG9nb3V0Um91dGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaGFzQWxyZWFkeUNvbm5lY3RlZERpdjtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9zaG93QWxyZWFkeUNvbm5lY3RlZERpdjtcclxuICB9XHJcbiAgc2V0IHNob3dBbHJlYWR5Q29ubmVjdGVkRGl2KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zaG93QWxyZWFkeUNvbm5lY3RlZERpdiA9IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJztcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2hvd0FscmVhZHlDb25uZWN0ZWREaXYgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgc2hvd0xvZ291dERpdigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmlzTG9nb3V0Um91dGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaGFzTG9nb3V0RGl2O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX3Nob3dMb2dvdXREaXY7XHJcbiAgfVxyXG4gIHNldCBzaG93TG9nb3V0RGl2KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zaG93TG9nb3V0RGl2ID0gdmFsdWUudG9TdHJpbmcoKSA9PT0gJ3RydWUnO1xyXG4gIH1cclxuICBwcml2YXRlIF9zaG93TG9nb3V0RGl2ID0gZmFsc2U7XHJcblxyXG4gIGdldCBzaG93TG9naW5EaXYoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuaXNMb2dvdXRSb3V0ZSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBsb2dpbjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBwdWJsaWMgb3B0aW9ucz86IEF1dGhPcHRpb25zO1xyXG4gIHB1YmxpYyB1c2VyO1xyXG5cclxuICBwdWJsaWMgdmlzaWJsZSA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgaXNMb2dpblJvdXRlOiBib29sZWFuO1xyXG4gIHByaXZhdGUgaXNMb2dvdXRSb3V0ZTogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgYXV0aDogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aCcpO1xyXG4gICAgdGhpcy52aXNpYmxlID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcy5vcHRpb25zKS5sZW5ndGggIT09IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFuYWx5emVSb3V0ZSgpO1xyXG4gICAgdGhpcy5nZXROYW1lKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Mb2dpbigpIHtcclxuICAgIHRoaXMuYXV0aC5nb1RvUmVkaXJlY3RVcmwoKTtcclxuICAgIHRoaXMuZ2V0TmFtZSgpO1xyXG4gICAgdGhpcy5sb2dpbi5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvZ291dCgpIHtcclxuICAgIHRoaXMuYXV0aC5sb2dvdXQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnVzZXIgPSB1bmRlZmluZWQ7XHJcbiAgICAgIGlmICh0aGlzLnJvdXRlcikge1xyXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnM/LmxvZ291dFJvdXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5vcHRpb25zPy5sb2dvdXRSb3V0ZV0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcHRpb25zPy5ob21lUm91dGUpIHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLm9wdGlvbnM/LmhvbWVSb3V0ZV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaG9tZSgpIHtcclxuICAgIGlmICh0aGlzLnJvdXRlciAmJiB0aGlzLm9wdGlvbnM/LmhvbWVSb3V0ZSkge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5vcHRpb25zPy5ob21lUm91dGVdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TmFtZSgpIHtcclxuICAgIGNvbnN0IHRva2VuRGVjb2RlZCA9IHRoaXMuYXV0aC5kZWNvZGVUb2tlbigpO1xyXG4gICAgaWYgKHRva2VuRGVjb2RlZCkge1xyXG4gICAgICB0aGlzLnVzZXIgPSB7XHJcbiAgICAgICAgbmFtZTogdG9rZW5EZWNvZGVkLnVzZXIuZmlyc3ROYW1lIHx8IHRva2VuRGVjb2RlZC51c2VyLnNvdXJjZUlkXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFuYWx5emVSb3V0ZSgpIHtcclxuICAgIGlmICghdGhpcy5yb3V0ZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZUV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoY2hhbmdlRXZlbnQudXJsKSB7XHJcbiAgICAgICAgICBjb25zdCBjdXJyZW50Um91dGUgPSBjaGFuZ2VFdmVudC51cmw7XHJcbiAgICAgICAgICBjb25zdCBsb2dvdXRSb3V0ZSA9IHRoaXMub3B0aW9ucz8ubG9nb3V0Um91dGU7XHJcbiAgICAgICAgICBjb25zdCBsb2dpblJvdXRlID0gdGhpcy5vcHRpb25zPy5sb2dpblJvdXRlO1xyXG5cclxuICAgICAgICAgIHRoaXMuaXNMb2dvdXRSb3V0ZSA9IGN1cnJlbnRSb3V0ZSA9PT0gbG9nb3V0Um91dGU7XHJcbiAgICAgICAgICB0aGlzLmlzTG9naW5Sb3V0ZSA9IGN1cnJlbnRSb3V0ZSA9PT0gbG9naW5Sb3V0ZTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5pc0xvZ291dFJvdXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0aC5sb2dvdXQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwidmlzaWJsZVwiPlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiIWF1dGgubG9nZ2VkICYmIGJhY2tncm91bmREaXNhYmxlXCJcclxuICAgIGNsYXNzPVwiYmFja2dyb3VuZERpc2FibGVcIlxyXG4gID48L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cIiFhdXRoLmxvZ2dlZCAmJiBzaG93TG9naW5EaXZcIiBjbGFzcz1cImxvZ2luIGNlbnRlci1ibG9ja1wiPlxyXG4gICAgPGgxPnt7ICdpZ28uYXV0aC5jb25uZWN0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvaDE+XHJcblxyXG4gICAgPGlnby1hdXRoLWdvb2dsZVxyXG4gICAgICAqbmdJZj1cIm9wdGlvbnMuZ29vZ2xlICYmIG9wdGlvbnMuZ29vZ2xlLmVuYWJsZWQgIT09IGZhbHNlXCJcclxuICAgICAgKGxvZ2luKT1cIm9uTG9naW4oKVwiXHJcbiAgICA+XHJcbiAgICA8L2lnby1hdXRoLWdvb2dsZT5cclxuICAgIDxpZ28tYXV0aC1taWNyb3NvZnRcclxuICAgICAgKm5nSWY9XCJvcHRpb25zLm1pY3Jvc29mdCAmJiBvcHRpb25zLm1pY3Jvc29mdC5lbmFibGVkICE9PSBmYWxzZVwiXHJcbiAgICAgIChsb2dpbik9XCJvbkxvZ2luKClcIlxyXG4gICAgPlxyXG4gICAgPC9pZ28tYXV0aC1taWNyb3NvZnQ+XHJcbiAgICA8aWdvLWF1dGgtbWljcm9zb2Z0YjJjXHJcbiAgICAgICpuZ0lmPVwib3B0aW9ucy5taWNyb3NvZnRiMmMgJiYgb3B0aW9ucy5taWNyb3NvZnRiMmMuZW5hYmxlZCAhPT0gZmFsc2VcIlxyXG4gICAgICAobG9naW4pPVwib25Mb2dpbigpXCJcclxuICAgID5cclxuICAgIDwvaWdvLWF1dGgtbWljcm9zb2Z0YjJjPlxyXG4gICAgPGlnby1hdXRoLWZhY2Vib29rXHJcbiAgICAgICpuZ0lmPVwib3B0aW9ucy5mYWNlYm9vayAmJiBvcHRpb25zLmZhY2Vib29rLmVuYWJsZWQgIT09IGZhbHNlXCJcclxuICAgICAgKGxvZ2luKT1cIm9uTG9naW4oKVwiXHJcbiAgICA+XHJcbiAgICA8L2lnby1hdXRoLWZhY2Vib29rPlxyXG4gICAgPGlnby1hdXRoLWludGVyblxyXG4gICAgICAqbmdJZj1cIiFvcHRpb25zLmludGVybiB8fCBvcHRpb25zLmludGVybi5lbmFibGVkICE9PSBmYWxzZVwiXHJcbiAgICAgIFthbGxvd0Fub255bW91c109XCJvcHRpb25zLmFsbG93QW5vbnltb3VzXCJcclxuICAgICAgKGxvZ2luKT1cIm9uTG9naW4oKVwiXHJcbiAgICA+XHJcbiAgICA8L2lnby1hdXRoLWludGVybj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJhdXRoLmxvZ2dlZCAmJiBzaG93QWxyZWFkeUNvbm5lY3RlZERpdlwiXHJcbiAgICBjbGFzcz1cImxvZ2luIGNlbnRlci1ibG9ja1wiXHJcbiAgPlxyXG4gICAgPHA+e3sgJ2lnby5hdXRoLndlbGNvbWUnIHwgdHJhbnNsYXRlOiB1c2VyIH19PC9wPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImxvZ291dCgpXCI+XHJcbiAgICAgIHt7ICdpZ28uYXV0aC5zaWduT3V0JyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJzaG93TG9nb3V0RGl2XCIgY2xhc3M9XCJsb2dpbiBjZW50ZXItYmxvY2tcIj5cclxuICAgIDxwPnt7ICdpZ28uYXV0aC5kZWNvbm5lY3Rpb24nIHwgdHJhbnNsYXRlIH19PC9wPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAqbmdJZj1cIm9wdGlvbnMuaG9tZVJvdXRlXCJcclxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIChjbGljayk9XCJob21lKClcIlxyXG4gICAgPlxyXG4gICAgICB7eyAnaWdvLmF1dGguaG9tZScgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19