@bcweed/authentication-lib 0.0.6 → 0.0.7
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.
|
@@ -33,10 +33,10 @@ class RouteHistoryService {
|
|
|
33
33
|
getPreviousUrl() {
|
|
34
34
|
return this.previousUrl;
|
|
35
35
|
}
|
|
36
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
37
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
36
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: RouteHistoryService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: RouteHistoryService, providedIn: 'root' });
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: RouteHistoryService, decorators: [{
|
|
40
40
|
type: Injectable,
|
|
41
41
|
args: [{
|
|
42
42
|
providedIn: 'root'
|
|
@@ -226,10 +226,10 @@ class AuthService {
|
|
|
226
226
|
break;
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
230
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
229
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: AuthService, deps: [{ token: AUTHENTICATION_LIB_CONFIG }, { token: i1$1.OAuthService }, { token: i1.Router }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
230
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
231
231
|
}
|
|
232
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: AuthService, decorators: [{
|
|
233
233
|
type: Injectable,
|
|
234
234
|
args: [{ providedIn: 'root' }]
|
|
235
235
|
}], ctorParameters: () => [{ type: i1$1.AuthConfig, decorators: [{
|
|
@@ -241,10 +241,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
241
241
|
}] }] });
|
|
242
242
|
|
|
243
243
|
class AuthenticationLibModule {
|
|
244
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
245
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
244
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: AuthenticationLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
245
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: AuthenticationLibModule, imports: [CommonModule,
|
|
246
246
|
RouterModule] });
|
|
247
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
247
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: AuthenticationLibModule, providers: [
|
|
248
248
|
{
|
|
249
249
|
provide: APP_INITIALIZER,
|
|
250
250
|
useFactory: (history) => () => history.init(),
|
|
@@ -254,7 +254,7 @@ class AuthenticationLibModule {
|
|
|
254
254
|
], imports: [CommonModule,
|
|
255
255
|
RouterModule] });
|
|
256
256
|
}
|
|
257
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: AuthenticationLibModule, decorators: [{
|
|
258
258
|
type: NgModule,
|
|
259
259
|
args: [{
|
|
260
260
|
declarations: [],
|
|
@@ -332,10 +332,10 @@ class AuthCallbackComponent {
|
|
|
332
332
|
};
|
|
333
333
|
this.router.navigate(['/authentication-error'], navigationExtras);
|
|
334
334
|
}
|
|
335
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
336
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
335
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: AuthCallbackComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
336
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: AuthCallbackComponent, isStandalone: false, selector: "app-auth-callback", ngImport: i0, template: "\r\n", styles: [""] });
|
|
337
337
|
}
|
|
338
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
338
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: AuthCallbackComponent, decorators: [{
|
|
339
339
|
type: Component,
|
|
340
340
|
args: [{ selector: 'app-auth-callback', standalone: false, template: "\r\n" }]
|
|
341
341
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: AuthService }] });
|
|
@@ -359,10 +359,10 @@ class LoginComponent {
|
|
|
359
359
|
this.authService.login(returnUrl);
|
|
360
360
|
}
|
|
361
361
|
}
|
|
362
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
363
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
362
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: LoginComponent, deps: [{ token: i1.ActivatedRoute }, { token: RouteHistoryService }, { token: AuthService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
363
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: LoginComponent, isStandalone: true, selector: "app-login", ngImport: i0, template: "<p>Redirecting!!!!</p>\r\n", styles: [""] });
|
|
364
364
|
}
|
|
365
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
365
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: LoginComponent, decorators: [{
|
|
366
366
|
type: Component,
|
|
367
367
|
args: [{ selector: 'app-login', standalone: true, imports: [], template: "<p>Redirecting!!!!</p>\r\n" }]
|
|
368
368
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: RouteHistoryService }, { type: AuthService }, { type: undefined, decorators: [{
|
|
@@ -387,10 +387,10 @@ class AuthenticationErrorComponent {
|
|
|
387
387
|
}
|
|
388
388
|
}));
|
|
389
389
|
}
|
|
390
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
391
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
390
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: AuthenticationErrorComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
391
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: AuthenticationErrorComponent, isStandalone: true, selector: "app-authentication-error", ngImport: i0, template: "<p>authentication-error works!</p>\r\n\r\n<button [routerLink]=\"['/auth/login']\" [queryParams]=\"{ returnUrl: routeParams$ | async }\">Retry Login</button>\r\n<br />\r\n<button [routerLink]=\"['/home']\">Go Home</button>\r\n@if (routeParams$ | async) {\r\n}\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
|
|
392
392
|
}
|
|
393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
393
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: AuthenticationErrorComponent, decorators: [{
|
|
394
394
|
type: Component,
|
|
395
395
|
args: [{ selector: 'app-authentication-error', imports: [CommonModule, RouterModule], standalone: true, template: "<p>authentication-error works!</p>\r\n\r\n<button [routerLink]=\"['/auth/login']\" [queryParams]=\"{ returnUrl: routeParams$ | async }\">Retry Login</button>\r\n<br />\r\n<button [routerLink]=\"['/home']\">Go Home</button>\r\n@if (routeParams$ | async) {\r\n}\r\n" }]
|
|
396
396
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }] });
|
|
@@ -428,10 +428,10 @@ class LoginMenuComponent {
|
|
|
428
428
|
toggle() {
|
|
429
429
|
this.isExpanded = !this.isExpanded;
|
|
430
430
|
}
|
|
431
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
432
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
431
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: LoginMenuComponent, deps: [{ token: i1$2.BreakpointObserver }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
432
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: LoginMenuComponent, isStandalone: true, selector: "app-login-menu", ngImport: i0, template: "@if ((isAuthenticated$ | async) === true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/logout\", ]' [state]='{ local: true }'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-out\"></span>\r\n <span class=\"p-menubar-item-label\">Logout</span>\r\n </a>\r\n </div>\r\n </li>\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/profile\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-user\"></span>\r\n <span class=\"p-menubar-item-label\">{{ (profile$ | async)?.given_name}} {{ (profile$ | async)?.family_name}}</span>\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n}\r\n@if ((isAuthenticated$ | async) !== true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <!--<li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menuitem\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/register\"]'>\r\n <span class=\"p-menubar-item-label\">Register</span>\r\n </a>\r\n </div>\r\n </li>-->\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/login\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-in\"></span>\r\n <span class=\"p-menubar-item-label\">Login</span>\r\n </a>\r\n </div>\r\n </li>\r\n</ul>\r\n}\r\n", styles: [".p-menubar-item{display:inline-block!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
|
|
433
433
|
}
|
|
434
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
434
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: LoginMenuComponent, decorators: [{
|
|
435
435
|
type: Component,
|
|
436
436
|
args: [{ selector: 'app-login-menu', standalone: true, imports: [CommonModule, RouterModule], template: "@if ((isAuthenticated$ | async) === true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/logout\", ]' [state]='{ local: true }'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-out\"></span>\r\n <span class=\"p-menubar-item-label\">Logout</span>\r\n </a>\r\n </div>\r\n </li>\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/profile\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-user\"></span>\r\n <span class=\"p-menubar-item-label\">{{ (profile$ | async)?.given_name}} {{ (profile$ | async)?.family_name}}</span>\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n}\r\n@if ((isAuthenticated$ | async) !== true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <!--<li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menuitem\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/register\"]'>\r\n <span class=\"p-menubar-item-label\">Register</span>\r\n </a>\r\n </div>\r\n </li>-->\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/login\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-in\"></span>\r\n <span class=\"p-menubar-item-label\">Login</span>\r\n </a>\r\n </div>\r\n </li>\r\n</ul>\r\n}\r\n", styles: [".p-menubar-item{display:inline-block!important}\n"] }]
|
|
437
437
|
}], ctorParameters: () => [{ type: i1$2.BreakpointObserver }, { type: AuthService }] });
|
|
@@ -453,10 +453,10 @@ class LogoutComponent {
|
|
|
453
453
|
//sessionStorage.clear();
|
|
454
454
|
////this.authService.revokeTokenAndLogout();
|
|
455
455
|
}
|
|
456
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
457
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
456
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: LogoutComponent, deps: [{ token: AuthService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
457
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: LogoutComponent, isStandalone: true, selector: "app-logout", ngImport: i0, template: "<p>Redirecting!!!!</p>\r\n", styles: [""] });
|
|
458
458
|
}
|
|
459
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
459
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: LogoutComponent, decorators: [{
|
|
460
460
|
type: Component,
|
|
461
461
|
args: [{ selector: 'app-logout', standalone: true, imports: [], template: "<p>Redirecting!!!!</p>\r\n" }]
|
|
462
462
|
}], ctorParameters: () => [{ type: AuthService }, { type: undefined, decorators: [{
|
|
@@ -478,10 +478,10 @@ class LogoutCallbackComponent {
|
|
|
478
478
|
this.router.navigate(['/home']);
|
|
479
479
|
}
|
|
480
480
|
}
|
|
481
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
482
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
481
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: LogoutCallbackComponent, deps: [{ token: i1.Router }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
482
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: LogoutCallbackComponent, isStandalone: true, selector: "app-logout-callback", ngImport: i0, template: "", styles: [""] });
|
|
483
483
|
}
|
|
484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
484
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: LogoutCallbackComponent, decorators: [{
|
|
485
485
|
type: Component,
|
|
486
486
|
args: [{ selector: 'app-logout-callback', imports: [], standalone: true, template: "" }]
|
|
487
487
|
}], ctorParameters: () => [{ type: i1.Router }, { type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bcweed-authentication-lib.mjs","sources":["../../../projects/authentication-lib/src/lib/route-history.service.ts","../../../projects/authentication-lib/src/lib/authentication-lib.tokens.ts","../../../projects/authentication-lib/src/lib/auth.service.ts","../../../projects/authentication-lib/src/lib/authentication-lib.module.ts","../../../projects/authentication-lib/src/lib/auth-callback/auth-callback.component.ts","../../../projects/authentication-lib/src/lib/auth-callback/auth-callback.component.html","../../../projects/authentication-lib/src/lib/login/login.component.ts","../../../projects/authentication-lib/src/lib/login/login.component.html","../../../projects/authentication-lib/src/lib/authentication-error/authentication-error.component.ts","../../../projects/authentication-lib/src/lib/authentication-error/authentication-error.component.html","../../../projects/authentication-lib/src/lib/login-menu/login-menu.component.ts","../../../projects/authentication-lib/src/lib/login-menu/login-menu.component.html","../../../projects/authentication-lib/src/lib/logout/logout.component.ts","../../../projects/authentication-lib/src/lib/logout/logout.component.html","../../../projects/authentication-lib/src/lib/logout-callback/logout-callback.component.ts","../../../projects/authentication-lib/src/lib/logout-callback/logout-callback.component.html","../../../projects/authentication-lib/src/public-api.ts","../../../projects/authentication-lib/src/bcweed-authentication-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { filter} from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteHistoryService {\n\n private previousUrl: string | null = null;\n private currentUrl: string | null = null;\n\n constructor(private router: Router, private activatedRoute:ActivatedRoute) { }\n\n init() {\n this.currentUrl = this.router.url;\n\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n this.previousUrl = this.currentUrl;\n this.currentUrl = event.urlAfterRedirects;\n });\n }\n\n getPreviousUrl(): string | null {\n return this.previousUrl;\n }\n\n}\n","import { InjectionToken } from '@angular/core';\r\nimport { AuthConfig } from 'angular-oauth2-oidc';\r\n\r\nexport const AUTHENTICATION_LIB_CONFIG = new InjectionToken<AuthConfig>('AUTHENTICATION_LIB_CONFIG');\r\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { OAuthService, OAuthErrorEvent, OAuthEvent, AuthConfig } from 'angular-oauth2-oidc';\r\nimport { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\r\nimport { Router } from '@angular/router';\r\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, Subject } from 'rxjs';\r\nimport { AUTHENTICATION_LIB_CONFIG } from './authentication-lib.tokens';\r\n//import { authConfig } from './auth.config';\r\nexport interface UserProfile {\r\n sub: string;\r\n name?: string;\r\n email?: string;\r\n preferred_username?: string;\r\n given_name?: string;\r\n family_name?: string;\r\n fax?: string;\r\n address?: string;\r\n address2?: string;\r\n city?: string;\r\n region?: string;\r\n country?: string;\r\n phone_number?: string;\r\n postal_code?: string;\r\n [key: string]: any;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthService {\r\n constructor(@Inject(AUTHENTICATION_LIB_CONFIG) private readonly authConfig: AuthConfig,\r\n private oauthService: OAuthService,\r\n private router: Router,\r\n @Inject(PLATFORM_ID) private platformId: object) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.oauthService.configure(authConfig);\r\n this.oauthService.tokenValidationHandler = new JwksValidationHandler(); // Auto-handles redirect back\r\n\r\n this.oauthService.events\r\n .subscribe(_ => {\r\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n });\r\n this.oauthService.events.subscribe(e => this.handleOAuthEvent(e));\r\n\r\n this.oauthService.setupAutomaticSilentRefresh();\r\n }\r\n \r\n }\r\n private readonly profile$ = new BehaviorSubject<UserProfile | null>(null);\r\n private profileLoading = false;\r\n private profileIsLoaded = false;\r\n private isAuthenticatedSubject$ = new BehaviorSubject<boolean>(false);\r\n public isAuthenticated$ = this.isAuthenticatedSubject$.asObservable();\r\n\r\n private isDoneLoadingSubject$ = new ReplaySubject<boolean>();\r\n public isDoneLoading$ = this.isDoneLoadingSubject$.asObservable();\r\n\r\n private eventsSubject$ = new Subject<OAuthEvent>;\r\n public events$ = this.eventsSubject$.asObservable();\r\n /**\r\n * Publishes `true` if and only if (a) all the asynchronous initial\r\n * login calls have completed or errored, and (b) the user ended up\r\n * being authenticated.\r\n *\r\n * In essence, it combines:\r\n *\r\n * - the latest known state of whether the user is authorized\r\n * - whether the ajax calls for initial log in have all been done\r\n */\r\n public isLoggedIn$: Observable<boolean> = combineLatest([\r\n this.isAuthenticated$,\r\n this.isDoneLoading$\r\n ]).pipe(map(values => values.every(b => b)));\r\n\r\n public loadConfiguration(authConfig: AuthConfig) {\r\n this.oauthService.configure(authConfig);\r\n this.oauthService.tokenValidationHandler = new JwksValidationHandler(); // Auto-handles redirect back\r\n\r\n this.oauthService.events\r\n .subscribe(_ => {\r\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n });\r\n this.oauthService.events.subscribe(e => this.handleOAuthEvent(e));\r\n\r\n this.oauthService.setupAutomaticSilentRefresh();\r\n }\r\n\r\n public runInitialLoginSequence(): Promise<void> {\r\n return this.oauthService.loadDiscoveryDocument()\r\n .then(() => this.oauthService.tryLoginCodeFlow())\r\n .then(() => {\r\n this.isDoneLoadingSubject$.next(true);\r\n // remove query params\r\n //this.router.navigate(['']);\r\n })\r\n .catch(() => this.isDoneLoadingSubject$.next(true));\r\n }\r\n\r\n public login(returnUrl: string): void {\r\n // Triggers redirect to IdP with PKCE code challenge\r\n this.oauthService.initCodeFlow(returnUrl); // Authorization Code + PKCE\r\n }\r\n\r\n logout(): void {\r\n this.oauthService.logOut(); // Optionally also call revocation endpoint\r\n }\r\n revokeTokenAndLogout(): void {\r\n this.oauthService.revokeTokenAndLogout({\r\n idTokenHint: this.oauthService.getIdToken(),\r\n client_id: this.authConfig.clientId,\r\n returnTo: this.authConfig.postLogoutRedirectUri\r\n }, true); // Optionally also call revocation endpoint\r\n }\r\n\r\n public state(): string | undefined {\r\n return this.oauthService.state;\r\n }\r\n public hasRole(role: string) {\r\n let claims: any = this.oauthService.getIdentityClaims();\r\n if (claims && claims.role) {\r\n let roles: string[] = claims.role;\r\n roles = roles.map(role => role.toUpperCase());\r\n return roles.includes(role.toLocaleUpperCase());\r\n }\r\n return false;\r\n }\r\n public refresh() {\r\n this.oauthService.silentRefresh();\r\n }\r\n\r\n public hasValidToken() {\r\n return this.oauthService.hasValidAccessToken();\r\n }\r\n\r\n public getFullname() {\r\n let claims: any = this.oauthService.getIdentityClaims();\r\n if (claims && claims.name) {\r\n return claims.name;\r\n }\r\n return undefined;\r\n }\r\n get accessToken(): string {\r\n return this.oauthService.getAccessToken();\r\n } \r\n\r\n get identityClaims(): any {\r\n return this.oauthService.getIdentityClaims();\r\n }\r\n\r\n get isLoggedIn(): boolean {\r\n return !!this.accessToken;\r\n }\r\n\r\n get userProfile$() {\r\n return this.profile$.asObservable();\r\n }\r\n\r\n /** Synchronous getter */\r\n get snapshot(): UserProfile | null {\r\n return this.profile$.value;\r\n }\r\n\r\n /** Clears profile on logout */\r\n clearProfile() {\r\n this.profile$.next(null);\r\n this.profileIsLoaded = false;\r\n }\r\n\r\n /** Loads user profile from userinfo endpoint */\r\n async loadProfile(): Promise<void> {\r\n if (this.profileIsLoaded) return;\r\n if (this.profileLoading) return;\r\n if (!this.oauthService.hasValidAccessToken()) return;\r\n\r\n this.profileLoading = true;\r\n\r\n try {\r\n const profile: any = await this.oauthService.loadUserProfile();\r\n const info = profile?.info ?? null;\r\n this.profile$.next(info);\r\n this.profileIsLoaded = true;\r\n\r\n } catch (err) {\r\n console.warn('User profile load failed:', err);\r\n // swallow error — do not let Angular ErrorHandler see it\r\n } finally {\r\n this.profileLoading = false;\r\n }\r\n }\r\n\r\n /** Handles OAuth events */\r\n private handleOAuthEvent(e: OAuthEvent) {\r\n this.eventsSubject$.next(e);\r\n switch (e.type) {\r\n case 'token_received':\r\n this.loadProfile();\r\n break;\r\n\r\n case 'discovery_document_loaded':\r\n if (this.oauthService.hasValidAccessToken()) {\r\n this.loadProfile();\r\n }\r\n break;\r\n case 'user_profile_loaded':\r\n // Some IdPs trigger this event automatically\r\n // this.loadProfile();\r\n break;\r\n\r\n case 'logout':\r\n case 'session_terminated':\r\n case 'session_error':\r\n this.clearProfile();\r\n break;\r\n\r\n case 'silent_refresh_error':\r\n case 'silent_refresh_timeout':\r\n console.warn('Silent refresh failed, attempting re-login or ignoring:', e);\r\n // Optionally: notify the user, or let the next API call fail and the auth guard redirect\r\n break;\r\n\r\n default:\r\n // Swallow OAuth errors before Angular sees them\r\n if (e instanceof OAuthErrorEvent) {\r\n console.warn('OAuth error intercepted:', e);\r\n }\r\n break;\r\n }\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';\r\nimport { AuthConfig } from 'angular-oauth2-oidc';\r\nimport { AUTHENTICATION_LIB_CONFIG } from './authentication-lib.tokens';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { RouteHistoryService } from './route-history.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n exports: [],\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (history: RouteHistoryService) => () => history.init(),\r\n deps: [RouteHistoryService],\r\n multi: true\r\n },\r\n\r\n ]\r\n})\r\nexport class AuthenticationLibModule {\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { OAuthEvent } from 'angular-oauth2-oidc';\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport { AuthService } from '../auth.service';\r\n@Component({\r\n selector: 'app-auth-callback',\r\n standalone: false,\r\n templateUrl: './auth-callback.component.html',\r\n styleUrl: './auth-callback.component.scss'\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private authService: AuthService) { }\r\n\r\n ngOnInit(): void {\r\n if (this.activatedRoute.snapshot.queryParams['error']) {\r\n // this.authService.createAndSaveNonce();\r\n this.authService.events$.subscribe((event: OAuthEvent) => {\r\n if (event.type === 'code_error' && this.authService.state()) {\r\n // Read and decode the original return URL from the state property\r\n const redirectUrl = decodeURIComponent(this.authService.state()!);\r\n\r\n // Redirect the user to the intended page\r\n if (redirectUrl && redirectUrl !== '/') {\r\n this.reRouteToError(redirectUrl);\r\n }\r\n }\r\n });\r\n const state = this.authService.state();\r\n if (state && state !== undefined) {\r\n const redirectUrl = decodeURIComponent(state);\r\n if (redirectUrl && redirectUrl !== '/') {\r\n this.reRouteToError(redirectUrl);\r\n }\r\n else {\r\n this.reRouteToError('/');\r\n\r\n }\r\n }\r\n }\r\n else {\r\n this.authService.events$.subscribe((event: OAuthEvent) => {\r\n if (event.type === 'token_received' && this.authService.state()) {\r\n // Read and decode the original return URL from the state property\r\n const redirectUrl = decodeURIComponent(this.authService.state()!);\r\n\r\n // Redirect the user to the intended page\r\n if (redirectUrl && redirectUrl !== '/') {\r\n console.log('Redirecting to initially requested page:', redirectUrl);\r\n this.router.navigateByUrl(redirectUrl);\r\n }\r\n else {\r\n this.router.navigate(['/home']);\r\n }\r\n }\r\n });\r\n }\r\n \r\n }\r\n private reRouteToError(redirectUrl:string): void {\r\n const navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n returnUrl: redirectUrl\r\n }\r\n };\r\n this.router.navigate(['/authentication-error'], navigationExtras);\r\n }\r\n}\r\n\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuthService } from '../auth.service';\r\nimport { RouteHistoryService } from '../route-history.service';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './login.component.html',\r\n styleUrl: './login.component.scss'\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private routeHistoryService: RouteHistoryService, private authService: AuthService,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n ngOnInit() {\r\n debugger;\r\n if (isPlatformBrowser(this.platformId)) {\r\n const rt = this.activatedRoute;\r\n const returnUrl = rt.snapshot.queryParams['returnUrl'] || this.routeHistoryService.getPreviousUrl() || '/';\r\n this.authService.login(returnUrl);\r\n }\r\n }\r\n \r\n}\r\n","<p>Redirecting!!!!</p>\r\n","import { CommonModule } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'app-authentication-error',\n imports: [CommonModule,RouterModule],\n standalone: true,\n templateUrl: './authentication-error.component.html',\n styleUrl: './authentication-error.component.scss'\n})\nexport class AuthenticationErrorComponent implements OnInit {\n constructor(private activatedRoute: ActivatedRoute) { }\n routeParams$: Observable<any> | undefined;\n returnUrl: string | undefined;\n ngOnInit(): void {\n\n this.routeParams$ = this.activatedRoute.queryParams.pipe(\n map(params => {\n if (params['returnUrl']) {\n\n return params['returnUrl'];\r\n }\n else {\n return '/';\r\n }\n })\n );\n }\n}\n","<p>authentication-error works!</p>\r\n\r\n<button [routerLink]=\"['/auth/login']\" [queryParams]=\"{ returnUrl: routeParams$ | async }\">Retry Login</button>\r\n<br />\r\n<button [routerLink]=\"['/home']\">Go Home</button>\r\n@if (routeParams$ | async) {\r\n}\r\n","import { Component } from '@angular/core';\nimport { from, Observable } from 'rxjs';\nimport { CommonModule } from '@angular/common';\nimport {RouterModule } from '@angular/router';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { MenuItem } from 'primeng/api';\nimport { AuthService, UserProfile } from '../auth.service';\n\n@Component({\n selector: 'app-login-menu',\n standalone: true,\n imports: [CommonModule, RouterModule], // Add them to the imports array\n templateUrl: './login-menu.component.html',\n styleUrl: './login-menu.component.scss'\n})\nexport class LoginMenuComponent {\n\n isExpanded = false;\n isSmallMedia = false;\n userRoles: string[] = [];\n items: MenuItem[] | undefined;\n public isAuthenticated?: boolean;\n profile$: Observable<UserProfile | null>;\n isAuthenticated$: Observable<boolean | null> | undefined;\n constructor(private responsive: BreakpointObserver, private authService: AuthService) {\n this.profile$ = this.authService.userProfile$;\n this.isAuthenticated$ = this.authService.isAuthenticated$;\n }\n ngOnInit() {\n this.responsive.observe([Breakpoints.Small, Breakpoints.XSmall])\n .subscribe(result => {\n\n\n if (result.matches) {\n this.isSmallMedia = true;\n\n }\n else {\n this.isSmallMedia = false;\n\n }\n });\n }\n collapse() {\n this.isExpanded = false;\n }\n\n toggle() {\n this.isExpanded = !this.isExpanded;\n }\n}\n","@if ((isAuthenticated$ | async) === true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/logout\", ]' [state]='{ local: true }'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-out\"></span>\r\n <span class=\"p-menubar-item-label\">Logout</span>\r\n </a>\r\n </div>\r\n </li>\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/profile\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-user\"></span>\r\n <span class=\"p-menubar-item-label\">{{ (profile$ | async)?.given_name}} {{ (profile$ | async)?.family_name}}</span>\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n}\r\n@if ((isAuthenticated$ | async) !== true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <!--<li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menuitem\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/register\"]'>\r\n <span class=\"p-menubar-item-label\">Register</span>\r\n </a>\r\n </div>\r\n </li>-->\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/login\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-in\"></span>\r\n <span class=\"p-menubar-item-label\">Login</span>\r\n </a>\r\n </div>\r\n </li>\r\n</ul>\r\n}\r\n","import { Component, OnInit, } from '@angular/core';\r\nimport { AuthService } from '../auth.service';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-logout',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './logout.component.html',\r\n styleUrl: './logout.component.scss'\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n\r\n constructor(private authService: AuthService,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n ngOnInit() {\r\n //this.authService.logout();\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.authService.revokeTokenAndLogout();\r\n }\r\n \r\n // Clear local storage\r\n //localStorage.clear();\r\n //sessionStorage.clear();\r\n ////this.authService.revokeTokenAndLogout();\r\n }\r\n\r\n}\r\n","<p>Redirecting!!!!</p>\r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-logout-callback',\r\n imports: [],\r\n standalone:true,\r\n templateUrl: './logout-callback.component.html',\r\n styleUrl: './logout-callback.component.scss'\r\n})\r\nexport class LogoutCallbackComponent implements OnInit {\r\n constructor(private router: Router,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n\r\n ngOnInit(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.clear();\r\n sessionStorage.clear();\r\n\r\n this.router.navigate(['/home']);\r\n }\r\n \r\n }\r\n}\r\n","","/*\r\n * Public API Surface of authentication-lib\r\n */\r\n\r\nexport * from './lib/route-history.service';\r\nexport * from './lib/auth.service';\r\nexport * from './lib/authentication-lib.tokens';\r\nexport * from './lib/authentication-lib.module';\r\nexport * from './lib/auth-callback/auth-callback.component';\r\nexport * from './lib/login/login.component';\r\nexport * from './lib/authentication-error/authentication-error.component';\r\nexport * from './lib/login-menu/login-menu.component';\r\nexport * from './lib/logout/logout.component';\r\nexport * from './lib/logout-callback/logout-callback.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i2.AuthService","map","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bcweed-authentication-lib.mjs","sources":["../../../projects/authentication-lib/src/lib/route-history.service.ts","../../../projects/authentication-lib/src/lib/authentication-lib.tokens.ts","../../../projects/authentication-lib/src/lib/auth.service.ts","../../../projects/authentication-lib/src/lib/authentication-lib.module.ts","../../../projects/authentication-lib/src/lib/auth-callback/auth-callback.component.ts","../../../projects/authentication-lib/src/lib/auth-callback/auth-callback.component.html","../../../projects/authentication-lib/src/lib/login/login.component.ts","../../../projects/authentication-lib/src/lib/login/login.component.html","../../../projects/authentication-lib/src/lib/authentication-error/authentication-error.component.ts","../../../projects/authentication-lib/src/lib/authentication-error/authentication-error.component.html","../../../projects/authentication-lib/src/lib/login-menu/login-menu.component.ts","../../../projects/authentication-lib/src/lib/login-menu/login-menu.component.html","../../../projects/authentication-lib/src/lib/logout/logout.component.ts","../../../projects/authentication-lib/src/lib/logout/logout.component.html","../../../projects/authentication-lib/src/lib/logout-callback/logout-callback.component.ts","../../../projects/authentication-lib/src/lib/logout-callback/logout-callback.component.html","../../../projects/authentication-lib/src/public-api.ts","../../../projects/authentication-lib/src/bcweed-authentication-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { filter} from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteHistoryService {\n\n private previousUrl: string | null = null;\n private currentUrl: string | null = null;\n\n constructor(private router: Router, private activatedRoute:ActivatedRoute) { }\n\n init() {\n this.currentUrl = this.router.url;\n\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n this.previousUrl = this.currentUrl;\n this.currentUrl = event.urlAfterRedirects;\n });\n }\n\n getPreviousUrl(): string | null {\n return this.previousUrl;\n }\n\n}\n","import { InjectionToken } from '@angular/core';\r\nimport { AuthConfig } from 'angular-oauth2-oidc';\r\n\r\nexport const AUTHENTICATION_LIB_CONFIG = new InjectionToken<AuthConfig>('AUTHENTICATION_LIB_CONFIG');\r\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { OAuthService, OAuthErrorEvent, OAuthEvent, AuthConfig } from 'angular-oauth2-oidc';\r\nimport { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\r\nimport { Router } from '@angular/router';\r\nimport { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, Subject } from 'rxjs';\r\nimport { AUTHENTICATION_LIB_CONFIG } from './authentication-lib.tokens';\r\n//import { authConfig } from './auth.config';\r\nexport interface UserProfile {\r\n sub: string;\r\n name?: string;\r\n email?: string;\r\n preferred_username?: string;\r\n given_name?: string;\r\n family_name?: string;\r\n fax?: string;\r\n address?: string;\r\n address2?: string;\r\n city?: string;\r\n region?: string;\r\n country?: string;\r\n phone_number?: string;\r\n postal_code?: string;\r\n [key: string]: any;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthService {\r\n constructor(@Inject(AUTHENTICATION_LIB_CONFIG) private readonly authConfig: AuthConfig,\r\n private oauthService: OAuthService,\r\n private router: Router,\r\n @Inject(PLATFORM_ID) private platformId: object) {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.oauthService.configure(authConfig);\r\n this.oauthService.tokenValidationHandler = new JwksValidationHandler(); // Auto-handles redirect back\r\n\r\n this.oauthService.events\r\n .subscribe(_ => {\r\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n });\r\n this.oauthService.events.subscribe(e => this.handleOAuthEvent(e));\r\n\r\n this.oauthService.setupAutomaticSilentRefresh();\r\n }\r\n \r\n }\r\n private readonly profile$ = new BehaviorSubject<UserProfile | null>(null);\r\n private profileLoading = false;\r\n private profileIsLoaded = false;\r\n private isAuthenticatedSubject$ = new BehaviorSubject<boolean>(false);\r\n public isAuthenticated$ = this.isAuthenticatedSubject$.asObservable();\r\n\r\n private isDoneLoadingSubject$ = new ReplaySubject<boolean>();\r\n public isDoneLoading$ = this.isDoneLoadingSubject$.asObservable();\r\n\r\n private eventsSubject$ = new Subject<OAuthEvent>;\r\n public events$ = this.eventsSubject$.asObservable();\r\n /**\r\n * Publishes `true` if and only if (a) all the asynchronous initial\r\n * login calls have completed or errored, and (b) the user ended up\r\n * being authenticated.\r\n *\r\n * In essence, it combines:\r\n *\r\n * - the latest known state of whether the user is authorized\r\n * - whether the ajax calls for initial log in have all been done\r\n */\r\n public isLoggedIn$: Observable<boolean> = combineLatest([\r\n this.isAuthenticated$,\r\n this.isDoneLoading$\r\n ]).pipe(map(values => values.every(b => b)));\r\n\r\n public loadConfiguration(authConfig: AuthConfig) {\r\n this.oauthService.configure(authConfig);\r\n this.oauthService.tokenValidationHandler = new JwksValidationHandler(); // Auto-handles redirect back\r\n\r\n this.oauthService.events\r\n .subscribe(_ => {\r\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n });\r\n this.oauthService.events.subscribe(e => this.handleOAuthEvent(e));\r\n\r\n this.oauthService.setupAutomaticSilentRefresh();\r\n }\r\n\r\n public runInitialLoginSequence(): Promise<void> {\r\n return this.oauthService.loadDiscoveryDocument()\r\n .then(() => this.oauthService.tryLoginCodeFlow())\r\n .then(() => {\r\n this.isDoneLoadingSubject$.next(true);\r\n // remove query params\r\n //this.router.navigate(['']);\r\n })\r\n .catch(() => this.isDoneLoadingSubject$.next(true));\r\n }\r\n\r\n public login(returnUrl: string): void {\r\n // Triggers redirect to IdP with PKCE code challenge\r\n this.oauthService.initCodeFlow(returnUrl); // Authorization Code + PKCE\r\n }\r\n\r\n logout(): void {\r\n this.oauthService.logOut(); // Optionally also call revocation endpoint\r\n }\r\n revokeTokenAndLogout(): void {\r\n this.oauthService.revokeTokenAndLogout({\r\n idTokenHint: this.oauthService.getIdToken(),\r\n client_id: this.authConfig.clientId,\r\n returnTo: this.authConfig.postLogoutRedirectUri\r\n }, true); // Optionally also call revocation endpoint\r\n }\r\n\r\n public state(): string | undefined {\r\n return this.oauthService.state;\r\n }\r\n public hasRole(role: string) {\r\n let claims: any = this.oauthService.getIdentityClaims();\r\n if (claims && claims.role) {\r\n let roles: string[] = claims.role;\r\n roles = roles.map(role => role.toUpperCase());\r\n return roles.includes(role.toLocaleUpperCase());\r\n }\r\n return false;\r\n }\r\n public refresh() {\r\n this.oauthService.silentRefresh();\r\n }\r\n\r\n public hasValidToken() {\r\n return this.oauthService.hasValidAccessToken();\r\n }\r\n\r\n public getFullname() {\r\n let claims: any = this.oauthService.getIdentityClaims();\r\n if (claims && claims.name) {\r\n return claims.name;\r\n }\r\n return undefined;\r\n }\r\n get accessToken(): string {\r\n return this.oauthService.getAccessToken();\r\n } \r\n\r\n get identityClaims(): any {\r\n return this.oauthService.getIdentityClaims();\r\n }\r\n\r\n get isLoggedIn(): boolean {\r\n return !!this.accessToken;\r\n }\r\n\r\n get userProfile$() {\r\n return this.profile$.asObservable();\r\n }\r\n\r\n /** Synchronous getter */\r\n get snapshot(): UserProfile | null {\r\n return this.profile$.value;\r\n }\r\n\r\n /** Clears profile on logout */\r\n clearProfile() {\r\n this.profile$.next(null);\r\n this.profileIsLoaded = false;\r\n }\r\n\r\n /** Loads user profile from userinfo endpoint */\r\n async loadProfile(): Promise<void> {\r\n if (this.profileIsLoaded) return;\r\n if (this.profileLoading) return;\r\n if (!this.oauthService.hasValidAccessToken()) return;\r\n\r\n this.profileLoading = true;\r\n\r\n try {\r\n const profile: any = await this.oauthService.loadUserProfile();\r\n const info = profile?.info ?? null;\r\n this.profile$.next(info);\r\n this.profileIsLoaded = true;\r\n\r\n } catch (err) {\r\n console.warn('User profile load failed:', err);\r\n // swallow error — do not let Angular ErrorHandler see it\r\n } finally {\r\n this.profileLoading = false;\r\n }\r\n }\r\n\r\n /** Handles OAuth events */\r\n private handleOAuthEvent(e: OAuthEvent) {\r\n this.eventsSubject$.next(e);\r\n switch (e.type) {\r\n case 'token_received':\r\n this.loadProfile();\r\n break;\r\n\r\n case 'discovery_document_loaded':\r\n if (this.oauthService.hasValidAccessToken()) {\r\n this.loadProfile();\r\n }\r\n break;\r\n case 'user_profile_loaded':\r\n // Some IdPs trigger this event automatically\r\n // this.loadProfile();\r\n break;\r\n\r\n case 'logout':\r\n case 'session_terminated':\r\n case 'session_error':\r\n this.clearProfile();\r\n break;\r\n\r\n case 'silent_refresh_error':\r\n case 'silent_refresh_timeout':\r\n console.warn('Silent refresh failed, attempting re-login or ignoring:', e);\r\n // Optionally: notify the user, or let the next API call fail and the auth guard redirect\r\n break;\r\n\r\n default:\r\n // Swallow OAuth errors before Angular sees them\r\n if (e instanceof OAuthErrorEvent) {\r\n console.warn('OAuth error intercepted:', e);\r\n }\r\n break;\r\n }\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';\r\nimport { AuthConfig } from 'angular-oauth2-oidc';\r\nimport { AUTHENTICATION_LIB_CONFIG } from './authentication-lib.tokens';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { RouteHistoryService } from './route-history.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n exports: [],\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (history: RouteHistoryService) => () => history.init(),\r\n deps: [RouteHistoryService],\r\n multi: true\r\n },\r\n\r\n ]\r\n})\r\nexport class AuthenticationLibModule {\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { OAuthEvent } from 'angular-oauth2-oidc';\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport { AuthService } from '../auth.service';\r\n@Component({\r\n selector: 'app-auth-callback',\r\n standalone: false,\r\n templateUrl: './auth-callback.component.html',\r\n styleUrl: './auth-callback.component.scss'\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private authService: AuthService) { }\r\n\r\n ngOnInit(): void {\r\n if (this.activatedRoute.snapshot.queryParams['error']) {\r\n // this.authService.createAndSaveNonce();\r\n this.authService.events$.subscribe((event: OAuthEvent) => {\r\n if (event.type === 'code_error' && this.authService.state()) {\r\n // Read and decode the original return URL from the state property\r\n const redirectUrl = decodeURIComponent(this.authService.state()!);\r\n\r\n // Redirect the user to the intended page\r\n if (redirectUrl && redirectUrl !== '/') {\r\n this.reRouteToError(redirectUrl);\r\n }\r\n }\r\n });\r\n const state = this.authService.state();\r\n if (state && state !== undefined) {\r\n const redirectUrl = decodeURIComponent(state);\r\n if (redirectUrl && redirectUrl !== '/') {\r\n this.reRouteToError(redirectUrl);\r\n }\r\n else {\r\n this.reRouteToError('/');\r\n\r\n }\r\n }\r\n }\r\n else {\r\n this.authService.events$.subscribe((event: OAuthEvent) => {\r\n if (event.type === 'token_received' && this.authService.state()) {\r\n // Read and decode the original return URL from the state property\r\n const redirectUrl = decodeURIComponent(this.authService.state()!);\r\n\r\n // Redirect the user to the intended page\r\n if (redirectUrl && redirectUrl !== '/') {\r\n console.log('Redirecting to initially requested page:', redirectUrl);\r\n this.router.navigateByUrl(redirectUrl);\r\n }\r\n else {\r\n this.router.navigate(['/home']);\r\n }\r\n }\r\n });\r\n }\r\n \r\n }\r\n private reRouteToError(redirectUrl:string): void {\r\n const navigationExtras: NavigationExtras = {\r\n queryParams: {\r\n returnUrl: redirectUrl\r\n }\r\n };\r\n this.router.navigate(['/authentication-error'], navigationExtras);\r\n }\r\n}\r\n\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuthService } from '../auth.service';\r\nimport { RouteHistoryService } from '../route-history.service';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './login.component.html',\r\n styleUrl: './login.component.scss'\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private routeHistoryService: RouteHistoryService, private authService: AuthService,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n ngOnInit() {\r\n debugger;\r\n if (isPlatformBrowser(this.platformId)) {\r\n const rt = this.activatedRoute;\r\n const returnUrl = rt.snapshot.queryParams['returnUrl'] || this.routeHistoryService.getPreviousUrl() || '/';\r\n this.authService.login(returnUrl);\r\n }\r\n }\r\n \r\n}\r\n","<p>Redirecting!!!!</p>\r\n","import { CommonModule } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'app-authentication-error',\n imports: [CommonModule,RouterModule],\n standalone: true,\n templateUrl: './authentication-error.component.html',\n styleUrl: './authentication-error.component.scss'\n})\nexport class AuthenticationErrorComponent implements OnInit {\n constructor(private activatedRoute: ActivatedRoute) { }\n routeParams$: Observable<any> | undefined;\n returnUrl: string | undefined;\n ngOnInit(): void {\n\n this.routeParams$ = this.activatedRoute.queryParams.pipe(\n map(params => {\n if (params['returnUrl']) {\n\n return params['returnUrl'];\r\n }\n else {\n return '/';\r\n }\n })\n );\n }\n}\n","<p>authentication-error works!</p>\r\n\r\n<button [routerLink]=\"['/auth/login']\" [queryParams]=\"{ returnUrl: routeParams$ | async }\">Retry Login</button>\r\n<br />\r\n<button [routerLink]=\"['/home']\">Go Home</button>\r\n@if (routeParams$ | async) {\r\n}\r\n","import { Component } from '@angular/core';\nimport { from, Observable } from 'rxjs';\nimport { CommonModule } from '@angular/common';\nimport {RouterModule } from '@angular/router';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { MenuItem } from 'primeng/api';\nimport { AuthService, UserProfile } from '../auth.service';\n\n@Component({\n selector: 'app-login-menu',\n standalone: true,\n imports: [CommonModule, RouterModule], // Add them to the imports array\n templateUrl: './login-menu.component.html',\n styleUrl: './login-menu.component.scss'\n})\nexport class LoginMenuComponent {\n\n isExpanded = false;\n isSmallMedia = false;\n userRoles: string[] = [];\n items: MenuItem[] | undefined;\n public isAuthenticated?: boolean;\n profile$: Observable<UserProfile | null>;\n isAuthenticated$: Observable<boolean | null> | undefined;\n constructor(private responsive: BreakpointObserver, private authService: AuthService) {\n this.profile$ = this.authService.userProfile$;\n this.isAuthenticated$ = this.authService.isAuthenticated$;\n }\n ngOnInit() {\n this.responsive.observe([Breakpoints.Small, Breakpoints.XSmall])\n .subscribe(result => {\n\n\n if (result.matches) {\n this.isSmallMedia = true;\n\n }\n else {\n this.isSmallMedia = false;\n\n }\n });\n }\n collapse() {\n this.isExpanded = false;\n }\n\n toggle() {\n this.isExpanded = !this.isExpanded;\n }\n}\n","@if ((isAuthenticated$ | async) === true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/logout\", ]' [state]='{ local: true }'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-out\"></span>\r\n <span class=\"p-menubar-item-label\">Logout</span>\r\n </a>\r\n </div>\r\n </li>\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/profile\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-user\"></span>\r\n <span class=\"p-menubar-item-label\">{{ (profile$ | async)?.given_name}} {{ (profile$ | async)?.family_name}}</span>\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n}\r\n@if ((isAuthenticated$ | async) !== true) {\r\n <ul role=\"menu\" [ngClass]=\"[isSmallMedia ? 'p-menubar-root-list-end-small' : 'p-menubar-root-list']\">\r\n <!--<li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menuitem\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/authentication/register\"]'>\r\n <span class=\"p-menubar-item-label\">Register</span>\r\n </a>\r\n </div>\r\n </li>-->\r\n <li role=\"menuitem\" ptooltip=\"\" class=\"p-element p-menubar-item\">\r\n <div class=\"p-menubar-item-content\">\r\n <a pripple=\"\" class=\"p-ripple p-element p-menubar-item-link\" [routerLink]='[\"/auth/login\"]'>\r\n <span class=\"p-menubar-item-icon pi pi-sign-in\"></span>\r\n <span class=\"p-menubar-item-label\">Login</span>\r\n </a>\r\n </div>\r\n </li>\r\n</ul>\r\n}\r\n","import { Component, OnInit, } from '@angular/core';\r\nimport { AuthService } from '../auth.service';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-logout',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './logout.component.html',\r\n styleUrl: './logout.component.scss'\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n\r\n constructor(private authService: AuthService,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n ngOnInit() {\r\n //this.authService.logout();\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.authService.revokeTokenAndLogout();\r\n }\r\n \r\n // Clear local storage\r\n //localStorage.clear();\r\n //sessionStorage.clear();\r\n ////this.authService.revokeTokenAndLogout();\r\n }\r\n\r\n}\r\n","<p>Redirecting!!!!</p>\r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-logout-callback',\r\n imports: [],\r\n standalone:true,\r\n templateUrl: './logout-callback.component.html',\r\n styleUrl: './logout-callback.component.scss'\r\n})\r\nexport class LogoutCallbackComponent implements OnInit {\r\n constructor(private router: Router,\r\n @Inject(PLATFORM_ID) private platformId: object) { }\r\n\r\n ngOnInit(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.clear();\r\n sessionStorage.clear();\r\n\r\n this.router.navigate(['/home']);\r\n }\r\n \r\n }\r\n}\r\n","","/*\r\n * Public API Surface of authentication-lib\r\n */\r\n\r\nexport * from './lib/route-history.service';\r\nexport * from './lib/auth.service';\r\nexport * from './lib/authentication-lib.tokens';\r\nexport * from './lib/authentication-lib.module';\r\nexport * from './lib/auth-callback/auth-callback.component';\r\nexport * from './lib/login/login.component';\r\nexport * from './lib/authentication-error/authentication-error.component';\r\nexport * from './lib/login-menu/login-menu.component';\r\nexport * from './lib/logout/logout.component';\r\nexport * from './lib/logout-callback/logout-callback.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i2.AuthService","map","i4"],"mappings":";;;;;;;;;;;;;;MAQa,mBAAmB,CAAA;AAKV,IAAA,MAAA;AAAwB,IAAA,cAAA;IAHpC,WAAW,GAAkB,IAAI;IACjC,UAAU,GAAkB,IAAI;IAExC,WAAA,CAAoB,MAAc,EAAU,cAA6B,EAAA;QAArD,IAAA,CAAA,MAAM,GAAN,MAAM;QAAkB,IAAA,CAAA,cAAc,GAAd,cAAc;IAAmB;IAE7E,IAAI,GAAA;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG;QAEjC,IAAI,CAAC,MAAM,CAAC;aACT,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,YAAY,aAAa,CAAC;AACpD,aAAA,SAAS,CAAC,CAAC,KAAoB,KAAI;AACnC,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU;AAClC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB;AAC1C,QAAA,CAAC,CAAC;IACN;IAEA,cAAc,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;wGApBW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA;;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCJY,yBAAyB,GAAG,IAAI,cAAc,CAAa,2BAA2B;;MCwBtF,WAAW,CAAA;AAC0C,IAAA,UAAA;AACtD,IAAA,YAAA;AACA,IAAA,MAAA;AACqB,IAAA,UAAA;AAH/B,IAAA,WAAA,CAAgE,UAAsB,EAC5E,YAA0B,EAC1B,MAAc,EACO,UAAkB,EAAA;QAHe,IAAA,CAAA,UAAU,GAAV,UAAU;QAChE,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,MAAM,GAAN,MAAM;QACe,IAAA,CAAA,UAAU,GAAV,UAAU;AACvC,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,sBAAsB,GAAG,IAAI,qBAAqB,EAAE,CAAC;YAEvE,IAAI,CAAC,YAAY,CAAC;iBACf,SAAS,CAAC,CAAC,IAAG;AACb,gBAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;AAC5E,YAAA,CAAC,CAAC;AACJ,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEjE,YAAA,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE;QACjD;IAEF;AACiB,IAAA,QAAQ,GAAG,IAAI,eAAe,CAAqB,IAAI,CAAC;IACjE,cAAc,GAAG,KAAK;IACtB,eAAe,GAAG,KAAK;AACvB,IAAA,uBAAuB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAC9D,IAAA,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE;AAE7D,IAAA,qBAAqB,GAAG,IAAI,aAAa,EAAW;AACrD,IAAA,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE;IAEzD,cAAc,GAAG,IAAI,OAAmB;AACzC,IAAA,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;AACnD;;;;;;;;;AASG;IACI,WAAW,GAAwB,aAAa,CAAC;AACtD,QAAA,IAAI,CAAC,gBAAgB;AACrB,QAAA,IAAI,CAAC;KACN,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAErC,IAAA,iBAAiB,CAAC,UAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,sBAAsB,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAEvE,IAAI,CAAC,YAAY,CAAC;aACf,SAAS,CAAC,CAAC,IAAG;AACb,YAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;AAC5E,QAAA,CAAC,CAAC;AACJ,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEjE,QAAA,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE;IACjD;IAEO,uBAAuB,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,qBAAqB;aAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE;aAC/C,IAAI,CAAC,MAAK;AACT,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;;;AAGvC,QAAA,CAAC;AACA,aAAA,KAAK,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD;AAEO,IAAA,KAAK,CAAC,SAAiB,EAAA;;QAE5B,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5C;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;IAC7B;IACA,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC;AACrC,YAAA,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC3C,YAAA,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;AACnC,YAAA,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;AAC3B,SAAA,EAAE,IAAI,CAAC,CAAC;IACX;IAEO,KAAK,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK;IAChC;AACO,IAAA,OAAO,CAAC,IAAY,EAAA;QACzB,IAAI,MAAM,GAAQ,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;AACvD,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;AACzB,YAAA,IAAI,KAAK,GAAa,MAAM,CAAC,IAAI;AACjC,YAAA,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACjD;AACA,QAAA,OAAO,KAAK;IACd;IACO,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;IACnC;IAEO,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;IAChD;IAEO,WAAW,GAAA;QAChB,IAAI,MAAM,GAAQ,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;AACvD,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;YACzB,OAAO,MAAM,CAAC,IAAI;QACpB;AACA,QAAA,OAAO,SAAS;IAClB;AACA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;IAC3C;AAEA,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;IAC9C;AAEA,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW;IAC3B;AAEA,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;IACrC;;AAGA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK;IAC5B;;IAGA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;IAC9B;;AAGA,IAAA,MAAM,WAAW,GAAA;QACf,IAAI,IAAI,CAAC,eAAe;YAAE;QAC1B,IAAI,IAAI,CAAC,cAAc;YAAE;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;YAAE;AAE9C,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAE1B,QAAA,IAAI;YACF,MAAM,OAAO,GAAQ,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;AAC9D,YAAA,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI;AAClC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAE7B;QAAE,OAAO,GAAG,EAAE;AACZ,YAAA,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC;;QAEhD;gBAAU;AACR,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;QAC7B;IACF;;AAGQ,IAAA,gBAAgB,CAAC,CAAa,EAAA;AACpC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3B,QAAA,QAAQ,CAAC,CAAC,IAAI;AACZ,YAAA,KAAK,gBAAgB;gBACnB,IAAI,CAAC,WAAW,EAAE;gBAClB;AAEF,YAAA,KAAK,2BAA2B;AAC9B,gBAAA,IAAI,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE;oBAC3C,IAAI,CAAC,WAAW,EAAE;gBACpB;gBACA;AACF,YAAA,KAAK,qBAAqB;;;gBAGxB;AAEF,YAAA,KAAK,QAAQ;AACb,YAAA,KAAK,oBAAoB;AACzB,YAAA,KAAK,eAAe;gBAClB,IAAI,CAAC,YAAY,EAAE;gBACnB;AAEF,YAAA,KAAK,sBAAsB;AAC3B,YAAA,KAAK,wBAAwB;AAC3B,gBAAA,OAAO,CAAC,IAAI,CAAC,yDAAyD,EAAE,CAAC,CAAC;;gBAE1E;AAEF,YAAA;;AAEE,gBAAA,IAAI,CAAC,YAAY,eAAe,EAAE;AAChC,oBAAA,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;gBAC7C;gBACA;;IAEN;wGAtMW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EACF,yBAAyB,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAGnC,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAJV,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cADE,MAAM,EAAA,CAAA;;4FACnB,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAEnB,MAAM;2BAAC,yBAAyB;;0BAG1C,MAAM;2BAAC,WAAW;;;MCPV,uBAAuB,CAAA;wGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAdhC,YAAY;YACZ,YAAY,CAAA,EAAA,CAAA;AAaH,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,SAAA,EAVvB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,UAAU,EAAE,CAAC,OAA4B,KAAK,MAAM,OAAO,CAAC,IAAI,EAAE;gBAClE,IAAI,EAAE,CAAC,mBAAmB,CAAC;AAC3B,gBAAA,KAAK,EAAE;AACR,aAAA;AAEF,SAAA,EAAA,OAAA,EAAA,CAZC,YAAY;YACZ,YAAY,CAAA,EAAA,CAAA;;4FAaH,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAjBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,UAAU,EAAE,CAAC,OAA4B,KAAK,MAAM,OAAO,CAAC,IAAI,EAAE;4BAClE,IAAI,EAAE,CAAC,mBAAmB,CAAC;AAC3B,4BAAA,KAAK,EAAE;AACR,yBAAA;AAEF;AACF,iBAAA;;;MCbY,qBAAqB,CAAA;AACZ,IAAA,MAAA;AAAwB,IAAA,cAAA;AAAwC,IAAA,WAAA;AAApF,IAAA,WAAA,CAAoB,MAAc,EAAU,cAA8B,EAAU,WAAwB,EAAA;QAAxF,IAAA,CAAA,MAAM,GAAN,MAAM;QAAkB,IAAA,CAAA,cAAc,GAAd,cAAc;QAA0B,IAAA,CAAA,WAAW,GAAX,WAAW;IAAiB;IAEhH,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;;YAErD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAiB,KAAI;AACvD,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;;oBAE3D,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAG,CAAC;;AAGjE,oBAAA,IAAI,WAAW,IAAI,WAAW,KAAK,GAAG,EAAE;AACtC,wBAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;oBAClC;gBACF;AACF,YAAA,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AACtC,YAAA,IAAI,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE;AAChC,gBAAA,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAC7C,gBAAA,IAAI,WAAW,IAAI,WAAW,KAAK,GAAG,EAAE;AACtC,oBAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;gBAClC;qBACK;AACH,oBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAE1B;YACJ;QACA;aACK;YACH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAiB,KAAI;AACvD,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;;oBAE/D,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAG,CAAC;;AAGjE,oBAAA,IAAI,WAAW,IAAI,WAAW,KAAK,GAAG,EAAE;AACtC,wBAAA,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,WAAW,CAAC;AACpE,wBAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;oBACxC;yBACK;wBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;oBACjC;gBACF;AACF,YAAA,CAAC,CAAC;QACJ;IAEF;AACQ,IAAA,cAAc,CAAC,WAAkB,EAAA;AACvC,QAAA,MAAM,gBAAgB,GAAqB;AACzC,YAAA,WAAW,EAAE;AACX,gBAAA,SAAS,EAAE;AACZ;SACF;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,gBAAgB,CAAC;IACnE;wGAvDW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,8ECVlC,MACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDSa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,cACjB,KAAK,EAAA,QAAA,EAAA,MAAA,EAAA;;;MEQN,cAAc,CAAA;AAEL,IAAA,cAAA;AAAwC,IAAA,mBAAA;AAAkD,IAAA,WAAA;AAC/E,IAAA,UAAA;AAD/B,IAAA,WAAA,CAAoB,cAA8B,EAAU,mBAAwC,EAAU,WAAwB,EACvG,UAAkB,EAAA;QAD7B,IAAA,CAAA,cAAc,GAAd,cAAc;QAA0B,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;QAA+B,IAAA,CAAA,WAAW,GAAX,WAAW;QAC1F,IAAA,CAAA,UAAU,GAAV,UAAU;IAAY;IACrD,QAAQ,GAAA;AACN,QAAA;AACA,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACtC,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc;AAC9B,YAAA,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,GAAG;AAC1G,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;QACpC;IACA;AAXU,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,wGAGf,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAHV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,qECd3B,4BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDaa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;+BACE,WAAW,EAAA,UAAA,EACT,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,4BAAA,EAAA;;0BAOR,MAAM;2BAAC,WAAW;;;MEJV,4BAA4B,CAAA;AACnB,IAAA,cAAA;AAApB,IAAA,WAAA,CAAoB,cAA8B,EAAA;QAA9B,IAAA,CAAA,cAAc,GAAd,cAAc;IAAoB;AACtD,IAAA,YAAY;AACZ,IAAA,SAAS;IACT,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CACtDC,KAAG,CAAC,MAAM,IAAG;AACX,YAAA,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE;AAEvB,gBAAA,OAAO,MAAM,CAAC,WAAW,CAAC;YAC5B;iBACK;AACH,gBAAA,OAAO,GAAG;YACZ;QACF,CAAC,CAAC,CACH;IACH;wGAjBW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbzC,yQAOA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDCY,YAAY,8BAAC,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA;;4FAKxB,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,WAC3B,CAAC,YAAY,EAAC,YAAY,CAAC,cACxB,IAAI,EAAA,QAAA,EAAA,yQAAA,EAAA;;;MEML,kBAAkB,CAAA;AAST,IAAA,UAAA;AAAwC,IAAA,WAAA;IAP5D,UAAU,GAAG,KAAK;IAClB,YAAY,GAAG,KAAK;IACpB,SAAS,GAAa,EAAE;AACxB,IAAA,KAAK;AACE,IAAA,eAAe;AACtB,IAAA,QAAQ;AACR,IAAA,gBAAgB;IAChB,WAAA,CAAoB,UAA8B,EAAU,WAAwB,EAAA;QAAhE,IAAA,CAAA,UAAU,GAAV,UAAU;QAA8B,IAAA,CAAA,WAAW,GAAX,WAAW;QACrE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY;QAC7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB;IAC3D;IACA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;aAC5D,SAAS,CAAC,MAAM,IAAG;AAGlB,YAAA,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI;YAE1B;iBACK;AACH,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK;YAE3B;AACF,QAAA,CAAC,CAAC;IACN;IACA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;IACzB;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU;IACpC;wGAlCW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf/B,69DAuCA,EAAA,MAAA,EAAA,CAAA,mDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED5BY,YAAY,4HAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA;;4FAIzB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cACd,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,69DAAA,EAAA,MAAA,EAAA,CAAA,mDAAA,CAAA,EAAA;;;MEC1B,eAAe,CAAA;AAEN,IAAA,WAAA;AACW,IAAA,UAAA;IAD/B,WAAA,CAAoB,WAAwB,EACb,UAAkB,EAAA;QAD7B,IAAA,CAAA,WAAW,GAAX,WAAW;QACA,IAAA,CAAA,UAAU,GAAV,UAAU;IAAY;IACrD,QAAQ,GAAA;;AAEN,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE;QAC5C;;;;;IAMC;AAdW,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,0CAGhB,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAHV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,sECZ5B,4BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDWa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;+BACE,YAAY,EAAA,UAAA,EACV,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,4BAAA,EAAA;;0BAOR,MAAM;2BAAC,WAAW;;;MEFV,uBAAuB,CAAA;AACd,IAAA,MAAA;AACW,IAAA,UAAA;IAD/B,WAAA,CAAoB,MAAc,EACH,UAAkB,EAAA;QAD7B,IAAA,CAAA,MAAM,GAAN,MAAM;QACK,IAAA,CAAA,UAAU,GAAV,UAAU;IAAY;IAErD,QAAQ,GAAA;AACN,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,YAAY,CAAC,KAAK,EAAE;YACpB,cAAc,CAAC,KAAK,EAAE;YAEtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;QAClC;IAED;AAZW,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,wCAExB,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAFV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,+ECbpC,EAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FDaa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;+BACE,qBAAqB,EAAA,OAAA,EACtB,EAAE,EAAA,UAAA,EACA,IAAI,EAAA,QAAA,EAAA,EAAA,EAAA;;0BAMZ,MAAM;2BAAC,WAAW;;;AEfvB;;AAEG;;ACFH;;AAEG;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bcweed/authentication-lib",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/animations": "^20.3.18",
|
|
6
6
|
"@angular/cdk": "^20.2.14",
|
|
@@ -24,14 +24,15 @@
|
|
|
24
24
|
},
|
|
25
25
|
"sideEffects": false,
|
|
26
26
|
"module": "fesm2022/bcweed-authentication-lib.mjs",
|
|
27
|
-
"typings": "
|
|
27
|
+
"typings": "types/bcweed-authentication-lib.d.ts",
|
|
28
28
|
"exports": {
|
|
29
29
|
"./package.json": {
|
|
30
30
|
"default": "./package.json"
|
|
31
31
|
},
|
|
32
32
|
".": {
|
|
33
|
-
"types": "./
|
|
33
|
+
"types": "./types/bcweed-authentication-lib.d.ts",
|
|
34
34
|
"default": "./fesm2022/bcweed-authentication-lib.mjs"
|
|
35
35
|
}
|
|
36
|
-
}
|
|
36
|
+
},
|
|
37
|
+
"type": "module"
|
|
37
38
|
}
|
|
File without changes
|