@odx/auth 17.2.1 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/fesm2022/odx-auth-plugins-service-connect.mjs +3 -3
  3. package/fesm2022/odx-auth-plugins-service-connect.mjs.map +1 -1
  4. package/fesm2022/odx-auth.mjs +41 -41
  5. package/fesm2022/odx-auth.mjs.map +1 -1
  6. package/index.d.ts +744 -15
  7. package/package.json +4 -8
  8. package/plugins/service-connect/index.d.ts +186 -8
  9. package/esm2022/index.mjs +0 -16
  10. package/esm2022/lib/auth.component.mjs +0 -50
  11. package/esm2022/lib/auth.config.mjs +0 -71
  12. package/esm2022/lib/auth.directive.mjs +0 -51
  13. package/esm2022/lib/auth.guard.mjs +0 -44
  14. package/esm2022/lib/auth.i18n.mjs +0 -13
  15. package/esm2022/lib/auth.interceptor.mjs +0 -23
  16. package/esm2022/lib/auth.logger.mjs +0 -3
  17. package/esm2022/lib/auth.module.mjs +0 -19
  18. package/esm2022/lib/auth.providers.mjs +0 -136
  19. package/esm2022/lib/auth.service.mjs +0 -317
  20. package/esm2022/lib/auth.typings.mjs +0 -2
  21. package/esm2022/lib/components/auth-actions/auth-actions.component.mjs +0 -40
  22. package/esm2022/lib/components/auth-loading-screen/auth-loading-screen.component.mjs +0 -53
  23. package/esm2022/lib/components/index.mjs +0 -3
  24. package/esm2022/lib/directives/auth-action.directive.mjs +0 -30
  25. package/esm2022/lib/directives/index.mjs +0 -4
  26. package/esm2022/lib/directives/sign-in.directive.mjs +0 -52
  27. package/esm2022/lib/directives/sign-out.directive.mjs +0 -50
  28. package/esm2022/lib/helpers/create-auth-host-url.mjs +0 -18
  29. package/esm2022/lib/helpers/create-inititals.mjs +0 -32
  30. package/esm2022/lib/helpers/handle-auth-error.mjs +0 -31
  31. package/esm2022/lib/helpers/handle-oauth-event.mjs +0 -13
  32. package/esm2022/lib/helpers/index.mjs +0 -9
  33. package/esm2022/lib/helpers/resolve-email.mjs +0 -34
  34. package/esm2022/lib/helpers/resolve-username.mjs +0 -38
  35. package/esm2022/lib/helpers/set-http-auth-header.mjs +0 -22
  36. package/esm2022/lib/helpers/user-language-loader.mjs +0 -17
  37. package/esm2022/lib/models/auth-environment.mjs +0 -3
  38. package/esm2022/lib/models/auth-plugin-manager.mjs +0 -49
  39. package/esm2022/lib/models/authorized-handler.mjs +0 -2
  40. package/esm2022/lib/models/index.mjs +0 -5
  41. package/esm2022/lib/models/offline-auth-error-handler.mjs +0 -7
  42. package/esm2022/lib/plugins/core-debug.plugin.mjs +0 -29
  43. package/esm2022/lib/plugins/core-identity.plugin.mjs +0 -20
  44. package/esm2022/lib/plugins/index.mjs +0 -4
  45. package/esm2022/lib/plugins/user-profile-link.plugin.mjs +0 -18
  46. package/esm2022/lib/unauth.guard.mjs +0 -38
  47. package/esm2022/odx-auth.mjs +0 -5
  48. package/esm2022/plugins/service-connect/index.mjs +0 -9
  49. package/esm2022/plugins/service-connect/lib/dtos/get-service-connect-rights-response.dto.mjs +0 -2
  50. package/esm2022/plugins/service-connect/lib/dtos/get-service-connect-user-response.dto.mjs +0 -2
  51. package/esm2022/plugins/service-connect/lib/dtos/index.mjs +0 -3
  52. package/esm2022/plugins/service-connect/lib/helpers/build-service-connect-url.mjs +0 -16
  53. package/esm2022/plugins/service-connect/lib/helpers/has-roles-or-rights-handler.mjs +0 -12
  54. package/esm2022/plugins/service-connect/lib/helpers/has-roles-or-rights.mjs +0 -11
  55. package/esm2022/plugins/service-connect/lib/helpers/index.mjs +0 -5
  56. package/esm2022/plugins/service-connect/lib/helpers/service-connect-plugin-factory.mjs +0 -25
  57. package/esm2022/plugins/service-connect/lib/service-connect-rights.directive.mjs +0 -44
  58. package/esm2022/plugins/service-connect/lib/service-connect-rights.guard.mjs +0 -15
  59. package/esm2022/plugins/service-connect/lib/service-connect-rights.plugin.mjs +0 -16
  60. package/esm2022/plugins/service-connect/lib/service-connect-user-language.plugin.mjs +0 -34
  61. package/esm2022/plugins/service-connect/lib/service-connect-user-profile.plugin.mjs +0 -28
  62. package/esm2022/plugins/service-connect/lib/service-connect.config.mjs +0 -17
  63. package/esm2022/plugins/service-connect/odx-auth-plugins-service-connect.mjs +0 -5
  64. package/lib/auth.component.d.ts +0 -20
  65. package/lib/auth.config.d.ts +0 -84
  66. package/lib/auth.directive.d.ts +0 -25
  67. package/lib/auth.guard.d.ts +0 -11
  68. package/lib/auth.i18n.d.ts +0 -3
  69. package/lib/auth.interceptor.d.ts +0 -10
  70. package/lib/auth.logger.d.ts +0 -3
  71. package/lib/auth.module.d.ts +0 -10
  72. package/lib/auth.providers.d.ts +0 -46
  73. package/lib/auth.service.d.ts +0 -206
  74. package/lib/auth.typings.d.ts +0 -27
  75. package/lib/components/auth-actions/auth-actions.component.d.ts +0 -16
  76. package/lib/components/auth-loading-screen/auth-loading-screen.component.d.ts +0 -24
  77. package/lib/components/index.d.ts +0 -2
  78. package/lib/directives/auth-action.directive.d.ts +0 -18
  79. package/lib/directives/index.d.ts +0 -3
  80. package/lib/directives/sign-in.directive.d.ts +0 -29
  81. package/lib/directives/sign-out.directive.d.ts +0 -28
  82. package/lib/helpers/create-auth-host-url.d.ts +0 -14
  83. package/lib/helpers/create-inititals.d.ts +0 -18
  84. package/lib/helpers/handle-auth-error.d.ts +0 -13
  85. package/lib/helpers/handle-oauth-event.d.ts +0 -11
  86. package/lib/helpers/index.d.ts +0 -8
  87. package/lib/helpers/resolve-email.d.ts +0 -21
  88. package/lib/helpers/resolve-username.d.ts +0 -22
  89. package/lib/helpers/set-http-auth-header.d.ts +0 -11
  90. package/lib/helpers/user-language-loader.d.ts +0 -11
  91. package/lib/models/auth-environment.d.ts +0 -6
  92. package/lib/models/auth-plugin-manager.d.ts +0 -21
  93. package/lib/models/authorized-handler.d.ts +0 -3
  94. package/lib/models/index.d.ts +0 -4
  95. package/lib/models/offline-auth-error-handler.d.ts +0 -2
  96. package/lib/plugins/core-debug.plugin.d.ts +0 -11
  97. package/lib/plugins/core-identity.plugin.d.ts +0 -18
  98. package/lib/plugins/index.d.ts +0 -3
  99. package/lib/plugins/user-profile-link.plugin.d.ts +0 -18
  100. package/lib/unauth.guard.d.ts +0 -11
  101. package/plugins/service-connect/lib/dtos/get-service-connect-rights-response.dto.d.ts +0 -3
  102. package/plugins/service-connect/lib/dtos/get-service-connect-user-response.dto.d.ts +0 -14
  103. package/plugins/service-connect/lib/dtos/index.d.ts +0 -2
  104. package/plugins/service-connect/lib/helpers/build-service-connect-url.d.ts +0 -10
  105. package/plugins/service-connect/lib/helpers/has-roles-or-rights-handler.d.ts +0 -10
  106. package/plugins/service-connect/lib/helpers/has-roles-or-rights.d.ts +0 -11
  107. package/plugins/service-connect/lib/helpers/index.d.ts +0 -4
  108. package/plugins/service-connect/lib/helpers/service-connect-plugin-factory.d.ts +0 -20
  109. package/plugins/service-connect/lib/service-connect-rights.directive.d.ts +0 -21
  110. package/plugins/service-connect/lib/service-connect-rights.guard.d.ts +0 -11
  111. package/plugins/service-connect/lib/service-connect-rights.plugin.d.ts +0 -18
  112. package/plugins/service-connect/lib/service-connect-user-language.plugin.d.ts +0 -24
  113. package/plugins/service-connect/lib/service-connect-user-profile.plugin.d.ts +0 -23
  114. package/plugins/service-connect/lib/service-connect.config.d.ts +0 -15
@@ -1,53 +0,0 @@
1
- import { transition, trigger, useAnimation } from '@angular/animations';
2
- import { CommonModule } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';
4
- import { fadeOut } from '@odx/angular/animations';
5
- import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
6
- import { CircularProgressComponent } from '@odx/angular/components/circular-progress';
7
- import { IconComponent } from '@odx/angular/components/icon';
8
- import { LogoDirective } from '@odx/angular/components/logo';
9
- import { map } from 'rxjs';
10
- import { injectAuthConfig } from '../../auth.config';
11
- import { AuthService } from '../../auth.service';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/common";
14
- /**
15
- * Authentication loading screen.
16
- *
17
- * This component displays a loading screen with animations and dynamic content
18
- * based on the authentication state.
19
- */
20
- export class AuthLoadingScreenComponent {
21
- constructor() {
22
- this.authConfig = injectAuthConfig();
23
- this.icon$ = inject(AuthService).isRedirecting$.pipe(map((isRedirecting) => (isRedirecting ? 'link-external' : 'user')));
24
- }
25
- static { this.instance = null; }
26
- /**
27
- * Initializes the authentication loading screen.
28
- *
29
- * @param {AuthService} authService - The authentication service.
30
- * @param {DynamicViewService} dynamicViewService - The dynamic view service used to create the loading screen.
31
- * @static
32
- */
33
- static initialize(authService, dynamicViewService) {
34
- authService.isLoading$.subscribe((isLoading) => {
35
- if (isLoading) {
36
- AuthLoadingScreenComponent.instance ??= dynamicViewService.createView(AuthLoadingScreenComponent);
37
- }
38
- else {
39
- AuthLoadingScreenComponent.instance?.destroy();
40
- AuthLoadingScreenComponent.instance = null;
41
- }
42
- });
43
- }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthLoadingScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AuthLoadingScreenComponent, isStandalone: true, selector: "div.odx-auth-loading-screen", host: { properties: { "@hostAnimation": "true" } }, ngImport: i0, template: "<div class=\"odx-auth-loading-screen__content\" odxLayout=\"grid 12 horizontal-center vertical-center gap-small\">\n <odx-logo size=\"large\" />\n <odx-circular-progress class=\"odx-auth-loading-screen__spinner\" value=\"-1\" size=\"medium\" stroke=\"3\">\n <odx-icon [name]=\"icon$ | async\" iconSet=\"core\" />\n </odx-circular-progress>\n @if (authConfig.loadingScreenMessage; as content) {\n <p class=\"odx-auth-loading-screen__message\">\n <ng-template [odxDynamicView]=\"content\" />\n </p>\n }\n</div>\n", styles: ["@keyframes odx-auth-loading-screen-animation{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%)}}.odx-auth-loading-screen{--odx-c-highlight: var(--odx-c-primary);background-color:var(--odx-c-background-content);inset:0;position:fixed;z-index:var(--odx-z-level-topmost)}.odx-auth-loading-screen__content{animation:odx-auth-loading-screen-animation .75s ease;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.odx-auth-loading-screen__message{text-align:center}.odx-auth-loading-screen__spinner{position:relative}.odx-auth-loading-screen__spinner .odx-icon{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet", "identifier"] }, { kind: "directive", type: LogoDirective, selector: "odx-logo", inputs: ["size", "variant"] }, { kind: "component", type: CircularProgressComponent, selector: "odx-circular-progress", inputs: ["stroke", "size", "value"] }, { kind: "directive", type: DynamicViewDirective, selector: "ng-template[odxDynamicView]", inputs: ["odxDynamicView", "odxDynamicViewInjector", "odxDynamicViewContext"] }], animations: [trigger('hostAnimation', [transition(':leave', useAnimation(fadeOut()))])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
46
- }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthLoadingScreenComponent, decorators: [{
48
- type: Component,
49
- args: [{ standalone: true, selector: 'div.odx-auth-loading-screen', imports: [CommonModule, IconComponent, LogoDirective, CircularProgressComponent, DynamicViewDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
50
- '[@hostAnimation]': 'true',
51
- }, animations: [trigger('hostAnimation', [transition(':leave', useAnimation(fadeOut()))])], template: "<div class=\"odx-auth-loading-screen__content\" odxLayout=\"grid 12 horizontal-center vertical-center gap-small\">\n <odx-logo size=\"large\" />\n <odx-circular-progress class=\"odx-auth-loading-screen__spinner\" value=\"-1\" size=\"medium\" stroke=\"3\">\n <odx-icon [name]=\"icon$ | async\" iconSet=\"core\" />\n </odx-circular-progress>\n @if (authConfig.loadingScreenMessage; as content) {\n <p class=\"odx-auth-loading-screen__message\">\n <ng-template [odxDynamicView]=\"content\" />\n </p>\n }\n</div>\n", styles: ["@keyframes odx-auth-loading-screen-animation{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%)}}.odx-auth-loading-screen{--odx-c-highlight: var(--odx-c-primary);background-color:var(--odx-c-background-content);inset:0;position:fixed;z-index:var(--odx-z-level-topmost)}.odx-auth-loading-screen__content{animation:odx-auth-loading-screen-animation .75s ease;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.odx-auth-loading-screen__message{text-align:center}.odx-auth-loading-screen__spinner{position:relative}.odx-auth-loading-screen__spinner .odx-icon{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}\n"] }]
52
- }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1sb2FkaW5nLXNjcmVlbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9jb21wb25lbnRzL2F1dGgtbG9hZGluZy1zY3JlZW4vYXV0aC1sb2FkaW5nLXNjcmVlbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9jb21wb25lbnRzL2F1dGgtbG9hZGluZy1zY3JlZW4vYXV0aC1sb2FkaW5nLXNjcmVlbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsRUFBc0MsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFFakQ7Ozs7O0dBS0c7QUFlSCxNQUFNLE9BQU8sMEJBQTBCO0lBZHZDO1FBaUJxQixlQUFVLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUNoQyxVQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FtQnhJO2FBdEJnQixhQUFRLEdBQTZELElBQUksQUFBakUsQ0FBa0U7SUFLekY7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxXQUF3QixFQUFFLGtCQUFzQztRQUN2RixXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQzdDLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2QsMEJBQTBCLENBQUMsUUFBUSxLQUFLLGtCQUFrQixDQUFDLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ3BHLENBQUM7aUJBQU0sQ0FBQztnQkFDTiwwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQy9DLDBCQUEwQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F0QlUsMEJBQTBCO21HQUExQiwwQkFBMEIsMklDaEN2QyxtaEJBV0EsdXVCRFdZLFlBQVksb0ZBQUUsYUFBYSxrSEFBRSxhQUFhLGtGQUFFLHlCQUF5Qix1R0FBRSxvQkFBb0IseUlBUXpGLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7OzRGQUU1RSwwQkFBMEI7a0JBZHRDLFNBQVM7aUNBQ0ksSUFBSSxZQUVOLDZCQUE2QixXQUM5QixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLHlCQUF5QixFQUFFLG9CQUFvQixDQUFDLG1CQUdyRix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLGtCQUFrQixFQUFFLE1BQU07cUJBQzNCLGNBQ1csQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRyYW5zaXRpb24sIHRyaWdnZXIsIHVzZUFuaW1hdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZhZGVPdXQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBEeW5hbWljVmlld0RpcmVjdGl2ZSwgRHluYW1pY1ZpZXdSZWYsIER5bmFtaWNWaWV3U2VydmljZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcbmltcG9ydCB7IENpcmN1bGFyUHJvZ3Jlc3NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jaXJjdWxhci1wcm9ncmVzcyc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBMb2dvRGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvbG9nbyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGluamVjdEF1dGhDb25maWcgfSBmcm9tICcuLi8uLi9hdXRoLmNvbmZpZyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGguc2VydmljZSc7XG5cbi8qKlxuICogQXV0aGVudGljYXRpb24gbG9hZGluZyBzY3JlZW4uXG4gKlxuICogVGhpcyBjb21wb25lbnQgZGlzcGxheXMgYSBsb2FkaW5nIHNjcmVlbiB3aXRoIGFuaW1hdGlvbnMgYW5kIGR5bmFtaWMgY29udGVudFxuICogYmFzZWQgb24gdGhlIGF1dGhlbnRpY2F0aW9uIHN0YXRlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdkaXYub2R4LWF1dGgtbG9hZGluZy1zY3JlZW4nLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50LCBMb2dvRGlyZWN0aXZlLCBDaXJjdWxhclByb2dyZXNzQ29tcG9uZW50LCBEeW5hbWljVmlld0RpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoLWxvYWRpbmctc2NyZWVuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0aC1sb2FkaW5nLXNjcmVlbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICdbQGhvc3RBbmltYXRpb25dJzogJ3RydWUnLFxuICB9LFxuICBhbmltYXRpb25zOiBbdHJpZ2dlcignaG9zdEFuaW1hdGlvbicsIFt0cmFuc2l0aW9uKCc6bGVhdmUnLCB1c2VBbmltYXRpb24oZmFkZU91dCgpKSldKV0sXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhMb2FkaW5nU2NyZWVuQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2U6IER5bmFtaWNWaWV3UmVmPHR5cGVvZiBBdXRoTG9hZGluZ1NjcmVlbkNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV0aENvbmZpZyA9IGluamVjdEF1dGhDb25maWcoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb24kID0gaW5qZWN0KEF1dGhTZXJ2aWNlKS5pc1JlZGlyZWN0aW5nJC5waXBlKG1hcCgoaXNSZWRpcmVjdGluZykgPT4gKGlzUmVkaXJlY3RpbmcgPyAnbGluay1leHRlcm5hbCcgOiAndXNlcicpKSk7XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBhdXRoZW50aWNhdGlvbiBsb2FkaW5nIHNjcmVlbi5cbiAgICpcbiAgICogQHBhcmFtIHtBdXRoU2VydmljZX0gYXV0aFNlcnZpY2UgLSBUaGUgYXV0aGVudGljYXRpb24gc2VydmljZS5cbiAgICogQHBhcmFtIHtEeW5hbWljVmlld1NlcnZpY2V9IGR5bmFtaWNWaWV3U2VydmljZSAtIFRoZSBkeW5hbWljIHZpZXcgc2VydmljZSB1c2VkIHRvIGNyZWF0ZSB0aGUgbG9hZGluZyBzY3JlZW4uXG4gICAqIEBzdGF0aWNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW5pdGlhbGl6ZShhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIGR5bmFtaWNWaWV3U2VydmljZTogRHluYW1pY1ZpZXdTZXJ2aWNlKTogdm9pZCB7XG4gICAgYXV0aFNlcnZpY2UuaXNMb2FkaW5nJC5zdWJzY3JpYmUoKGlzTG9hZGluZykgPT4ge1xuICAgICAgaWYgKGlzTG9hZGluZykge1xuICAgICAgICBBdXRoTG9hZGluZ1NjcmVlbkNvbXBvbmVudC5pbnN0YW5jZSA/Pz0gZHluYW1pY1ZpZXdTZXJ2aWNlLmNyZWF0ZVZpZXcoQXV0aExvYWRpbmdTY3JlZW5Db21wb25lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgQXV0aExvYWRpbmdTY3JlZW5Db21wb25lbnQuaW5zdGFuY2U/LmRlc3Ryb3koKTtcbiAgICAgICAgQXV0aExvYWRpbmdTY3JlZW5Db21wb25lbnQuaW5zdGFuY2UgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwib2R4LWF1dGgtbG9hZGluZy1zY3JlZW5fX2NvbnRlbnRcIiBvZHhMYXlvdXQ9XCJncmlkIDEyIGhvcml6b250YWwtY2VudGVyIHZlcnRpY2FsLWNlbnRlciBnYXAtc21hbGxcIj5cbiAgPG9keC1sb2dvIHNpemU9XCJsYXJnZVwiIC8+XG4gIDxvZHgtY2lyY3VsYXItcHJvZ3Jlc3MgY2xhc3M9XCJvZHgtYXV0aC1sb2FkaW5nLXNjcmVlbl9fc3Bpbm5lclwiIHZhbHVlPVwiLTFcIiBzaXplPVwibWVkaXVtXCIgc3Ryb2tlPVwiM1wiPlxuICAgIDxvZHgtaWNvbiBbbmFtZV09XCJpY29uJCB8IGFzeW5jXCIgaWNvblNldD1cImNvcmVcIiAvPlxuICA8L29keC1jaXJjdWxhci1wcm9ncmVzcz5cbiAgQGlmIChhdXRoQ29uZmlnLmxvYWRpbmdTY3JlZW5NZXNzYWdlOyBhcyBjb250ZW50KSB7XG4gICAgPHAgY2xhc3M9XCJvZHgtYXV0aC1sb2FkaW5nLXNjcmVlbl9fbWVzc2FnZVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtvZHhEeW5hbWljVmlld109XCJjb250ZW50XCIgLz5cbiAgICA8L3A+XG4gIH1cbjwvZGl2PlxuIl19
@@ -1,3 +0,0 @@
1
- export * from './auth-actions/auth-actions.component';
2
- export * from './auth-loading-screen/auth-loading-screen.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aC1hY3Rpb25zL2F1dGgtYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLWxvYWRpbmctc2NyZWVuL2F1dGgtbG9hZGluZy1zY3JlZW4uY29tcG9uZW50JztcbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Directive, inject } from '@angular/core';
2
- import { LoadingSpinnerDirective } from '@odx/angular/components/loading-spinner';
3
- import { untilDestroyed } from '@odx/angular/utils';
4
- import { AuthService } from '../auth.service';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * An abstract directive that integrates with the `LoadingSpinnerDirective` and `AuthService` to manage loading states based on authentication redirection.
8
- *
9
- * This directive automatically sets the `autoColor` property of the `LoadingSpinnerDirective` to `true` and subscribes to the `isRedirecting$` observable from the `AuthService`.
10
- * When `isRedirecting$` emits a value, it updates the `isLoading` property of the `LoadingSpinnerDirective`.
11
- */
12
- export class AuthActionDirective {
13
- constructor() {
14
- this.takeUntilDestroyed = untilDestroyed();
15
- this.loadingSpinnerDirective = inject(LoadingSpinnerDirective, { self: true });
16
- this.authService = inject(AuthService);
17
- }
18
- ngAfterViewInit() {
19
- this.loadingSpinnerDirective.autoColor = true;
20
- this.authService.isRedirecting$.pipe(this.takeUntilDestroyed()).subscribe((isRedirecting) => {
21
- this.loadingSpinnerDirective.isLoading = isRedirecting;
22
- });
23
- }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
25
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AuthActionDirective, ngImport: i0 }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthActionDirective, decorators: [{
28
- type: Directive
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hdXRoL3NyYy9saWIvZGlyZWN0aXZlcy9hdXRoLWFjdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTlDOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFnQixtQkFBbUI7SUFEekM7UUFFbUIsdUJBQWtCLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDdEMsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEUsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FVdEQ7SUFSUSxlQUFlO1FBQ3BCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQzFGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FWbUIsbUJBQW1CO21HQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRHhDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ1NwaW5uZXJEaXJlY3RpdmUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXInO1xuaW1wb3J0IHsgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoLnNlcnZpY2UnO1xuXG4vKipcbiAqIEFuIGFic3RyYWN0IGRpcmVjdGl2ZSB0aGF0IGludGVncmF0ZXMgd2l0aCB0aGUgYExvYWRpbmdTcGlubmVyRGlyZWN0aXZlYCBhbmQgYEF1dGhTZXJ2aWNlYCB0byBtYW5hZ2UgbG9hZGluZyBzdGF0ZXMgYmFzZWQgb24gYXV0aGVudGljYXRpb24gcmVkaXJlY3Rpb24uXG4gKlxuICogVGhpcyBkaXJlY3RpdmUgYXV0b21hdGljYWxseSBzZXRzIHRoZSBgYXV0b0NvbG9yYCBwcm9wZXJ0eSBvZiB0aGUgYExvYWRpbmdTcGlubmVyRGlyZWN0aXZlYCB0byBgdHJ1ZWAgYW5kIHN1YnNjcmliZXMgdG8gdGhlIGBpc1JlZGlyZWN0aW5nJGAgb2JzZXJ2YWJsZSBmcm9tIHRoZSBgQXV0aFNlcnZpY2VgLlxuICogV2hlbiBgaXNSZWRpcmVjdGluZyRgIGVtaXRzIGEgdmFsdWUsIGl0IHVwZGF0ZXMgdGhlIGBpc0xvYWRpbmdgIHByb3BlcnR5IG9mIHRoZSBgTG9hZGluZ1NwaW5uZXJEaXJlY3RpdmVgLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdXRoQWN0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2FkaW5nU3Bpbm5lckRpcmVjdGl2ZSA9IGluamVjdChMb2FkaW5nU3Bpbm5lckRpcmVjdGl2ZSwgeyBzZWxmOiB0cnVlIH0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nU3Bpbm5lckRpcmVjdGl2ZS5hdXRvQ29sb3IgPSB0cnVlO1xuICAgIHRoaXMuYXV0aFNlcnZpY2UuaXNSZWRpcmVjdGluZyQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGlzUmVkaXJlY3RpbmcpID0+IHtcbiAgICAgIHRoaXMubG9hZGluZ1NwaW5uZXJEaXJlY3RpdmUuaXNMb2FkaW5nID0gaXNSZWRpcmVjdGluZztcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBoYW5kbGVDbGljaygpOiB2b2lkO1xufVxuIl19
@@ -1,4 +0,0 @@
1
- export * from './auth-action.directive';
2
- export * from './sign-in.directive';
3
- export * from './sign-out.directive';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9kaXJlY3RpdmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoLWFjdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWduLWluLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZ24tb3V0LmRpcmVjdGl2ZSc7XG4iXX0=
@@ -1,52 +0,0 @@
1
- /**
2
- * A directive that handles the sign-in action for a button element.
3
- *
4
- * This directive extends the `AuthActionDirective` and uses the `LoadingSpinnerDirective`
5
- * to show a loading spinner during the sign-in process.
6
- *
7
- * @see {AuthActionDirective}
8
- * @see {LoadingSpinnerDirective}
9
- *
10
- * @example
11
- * ```html
12
- * <button odxButton odxAuthSignIn (odxAuthSignIn)="onSignIn()">Sign In</button>
13
- * ```
14
- */
15
- import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
16
- import { LoadingSpinnerDirective } from '@odx/angular/components/loading-spinner';
17
- import { AuthActionDirective } from './auth-action.directive';
18
- import * as i0 from "@angular/core";
19
- import * as i1 from "@odx/angular/components/loading-spinner";
20
- export class SignInDirective extends AuthActionDirective {
21
- constructor() {
22
- super(...arguments);
23
- /**
24
- * Emits an event after the sign-in action is completed.
25
- *
26
- * @type {EventEmitter<void>}
27
- */
28
- // eslint-disable-next-line @angular-eslint/no-output-rename
29
- this.afterSignIn = new EventEmitter();
30
- }
31
- handleClick() {
32
- this.authService.signIn();
33
- this.afterSignIn.next();
34
- }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
36
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SignInDirective, isStandalone: true, selector: "[odxButton][odxAuthSignIn]", outputs: { afterSignIn: "odxAuthSignIn" }, host: { listeners: { "click": "handleClick()" } }, usesInheritance: true, hostDirectives: [{ directive: i1.LoadingSpinnerDirective }], ngImport: i0 }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInDirective, decorators: [{
39
- type: Directive,
40
- args: [{
41
- standalone: true,
42
- selector: '[odxButton][odxAuthSignIn]',
43
- hostDirectives: [LoadingSpinnerDirective],
44
- }]
45
- }], propDecorators: { afterSignIn: [{
46
- type: Output,
47
- args: ['odxAuthSignIn']
48
- }], handleClick: [{
49
- type: HostListener,
50
- args: ['click']
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9kaXJlY3RpdmVzL3NpZ24taW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFPOUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBTHhEOztRQU1FOzs7O1dBSUc7UUFDSCw0REFBNEQ7UUFFckQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBTy9DO0lBSm9CLFdBQVc7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBZFUsZUFBZTttR0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUwzQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxjQUFjLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDMUM7OEJBU1EsV0FBVztzQkFEakIsTUFBTTt1QkFBQyxlQUFlO2dCQUlKLFdBQVc7c0JBRDdCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBkaXJlY3RpdmUgdGhhdCBoYW5kbGVzIHRoZSBzaWduLWluIGFjdGlvbiBmb3IgYSBidXR0b24gZWxlbWVudC5cbiAqXG4gKiBUaGlzIGRpcmVjdGl2ZSBleHRlbmRzIHRoZSBgQXV0aEFjdGlvbkRpcmVjdGl2ZWAgYW5kIHVzZXMgdGhlIGBMb2FkaW5nU3Bpbm5lckRpcmVjdGl2ZWBcbiAqIHRvIHNob3cgYSBsb2FkaW5nIHNwaW5uZXIgZHVyaW5nIHRoZSBzaWduLWluIHByb2Nlc3MuXG4gKlxuICogQHNlZSB7QXV0aEFjdGlvbkRpcmVjdGl2ZX1cbiAqIEBzZWUge0xvYWRpbmdTcGlubmVyRGlyZWN0aXZlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8YnV0dG9uIG9keEJ1dHRvbiBvZHhBdXRoU2lnbkluIChvZHhBdXRoU2lnbkluKT1cIm9uU2lnbkluKClcIj5TaWduIEluPC9idXR0b24+XG4gKiBgYGBcbiAqL1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lckRpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgeyBBdXRoQWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRoLWFjdGlvbi5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbb2R4QnV0dG9uXVtvZHhBdXRoU2lnbkluXScsXG4gIGhvc3REaXJlY3RpdmVzOiBbTG9hZGluZ1NwaW5uZXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBTaWduSW5EaXJlY3RpdmUgZXh0ZW5kcyBBdXRoQWN0aW9uRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IGFmdGVyIHRoZSBzaWduLWluIGFjdGlvbiBpcyBjb21wbGV0ZWQuXG4gICAqXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8dm9pZD59XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1yZW5hbWVcbiAgQE91dHB1dCgnb2R4QXV0aFNpZ25JbicpXG4gIHB1YmxpYyBhZnRlclNpZ25JbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHByb3RlY3RlZCBvdmVycmlkZSBoYW5kbGVDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnNpZ25JbigpO1xuICAgIHRoaXMuYWZ0ZXJTaWduSW4ubmV4dCgpO1xuICB9XG59XG4iXX0=
@@ -1,50 +0,0 @@
1
- import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
2
- import { LoadingSpinnerDirective } from '@odx/angular/components/loading-spinner';
3
- import { AuthActionDirective } from './auth-action.directive';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@odx/angular/components/loading-spinner";
6
- /**
7
- * A directive that handles the sign-out action for a button element.
8
- *
9
- * This directive extends the `AuthActionDirective` and uses the `LoadingSpinnerDirective`
10
- * to show a loading spinner during the sign-out process.
11
- *
12
- * @see {AuthActionDirective}
13
- * @see {LoadingSpinnerDirective}
14
- *
15
- * @example
16
- * ```html
17
- * <button odxButton odxAuthSignOut (odxAuthSignOut)="onSignOut()">Sign Out</button>
18
- * ```
19
- */
20
- export class SignOutDirective extends AuthActionDirective {
21
- constructor() {
22
- super(...arguments);
23
- /**
24
- * Emits an event after the sign-out action is completed.
25
- *
26
- */
27
- this.afterSignOut = new EventEmitter();
28
- }
29
- handleClick() {
30
- this.authService.signOut();
31
- this.afterSignOut.next();
32
- }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignOutDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
34
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SignOutDirective, isStandalone: true, selector: "[odxAuthSignOut]", outputs: { afterSignOut: "odxAuthSignOut" }, host: { listeners: { "click": "handleClick()" } }, usesInheritance: true, hostDirectives: [{ directive: i1.LoadingSpinnerDirective }], ngImport: i0 }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignOutDirective, decorators: [{
37
- type: Directive,
38
- args: [{
39
- standalone: true,
40
- selector: '[odxAuthSignOut]',
41
- hostDirectives: [LoadingSpinnerDirective],
42
- }]
43
- }], propDecorators: { afterSignOut: [{
44
- type: Output,
45
- args: ['odxAuthSignOut']
46
- }], handleClick: [{
47
- type: HostListener,
48
- args: ['click']
49
- }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1vdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hdXRoL3NyYy9saWIvZGlyZWN0aXZlcy9zaWduLW91dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBRTlEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFNSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBTHpEOztRQU1FOzs7V0FHRztRQUVJLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQU9oRDtJQUpvQixXQUFXO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQVpVLGdCQUFnQjttR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUw1QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixjQUFjLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDMUM7OEJBT1EsWUFBWTtzQkFEbEIsTUFBTTt1QkFBQyxnQkFBZ0I7Z0JBSUwsV0FBVztzQkFEN0IsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lckRpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgeyBBdXRoQWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRoLWFjdGlvbi5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEEgZGlyZWN0aXZlIHRoYXQgaGFuZGxlcyB0aGUgc2lnbi1vdXQgYWN0aW9uIGZvciBhIGJ1dHRvbiBlbGVtZW50LlxuICpcbiAqIFRoaXMgZGlyZWN0aXZlIGV4dGVuZHMgdGhlIGBBdXRoQWN0aW9uRGlyZWN0aXZlYCBhbmQgdXNlcyB0aGUgYExvYWRpbmdTcGlubmVyRGlyZWN0aXZlYFxuICogdG8gc2hvdyBhIGxvYWRpbmcgc3Bpbm5lciBkdXJpbmcgdGhlIHNpZ24tb3V0IHByb2Nlc3MuXG4gKlxuICogQHNlZSB7QXV0aEFjdGlvbkRpcmVjdGl2ZX1cbiAqIEBzZWUge0xvYWRpbmdTcGlubmVyRGlyZWN0aXZlfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8YnV0dG9uIG9keEJ1dHRvbiBvZHhBdXRoU2lnbk91dCAob2R4QXV0aFNpZ25PdXQpPVwib25TaWduT3V0KClcIj5TaWduIE91dDwvYnV0dG9uPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tvZHhBdXRoU2lnbk91dF0nLFxuICBob3N0RGlyZWN0aXZlczogW0xvYWRpbmdTcGlubmVyRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2lnbk91dERpcmVjdGl2ZSBleHRlbmRzIEF1dGhBY3Rpb25EaXJlY3RpdmUge1xuICAvKipcbiAgICogRW1pdHMgYW4gZXZlbnQgYWZ0ZXIgdGhlIHNpZ24tb3V0IGFjdGlvbiBpcyBjb21wbGV0ZWQuXG4gICAqXG4gICAqL1xuICBAT3V0cHV0KCdvZHhBdXRoU2lnbk91dCcpXG4gIHB1YmxpYyBhZnRlclNpZ25PdXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5zaWduT3V0KCk7XG4gICAgdGhpcy5hZnRlclNpZ25PdXQubmV4dCgpO1xuICB9XG59XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { buildUrl } from '@odx/angular/utils';
2
- import { ODX_AUTH_HOSTS } from '../auth.config';
3
- /**
4
- * Creates an authentication host URL based on the provided environment and URL segments.
5
- *
6
- * @param {AuthEnvironment} environment - The authentication environment (e.g., 'development', 'production').
7
- * @param {string[]} segments - Additional URL segments to append to the base URL.
8
- * @returns {string} The constructed authentication host URL.
9
- *
10
- * @example
11
- * ```ts
12
- * createAuthHostUrl('dev', 'api', 'v1', 'users'); // returns 'https://dev-auth.odx.com/api/v1/users'
13
- * ```
14
- */
15
- export function createAuthHostUrl(environment, ...segments) {
16
- return buildUrl(ODX_AUTH_HOSTS[environment], ...segments);
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dGgtaG9zdC11cmwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9oZWxwZXJzL2NyZWF0ZS1hdXRoLWhvc3QtdXJsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHaEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsV0FBNEIsRUFBRSxHQUFHLFFBQWtCO0lBQ25GLE9BQU8sUUFBUSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0FBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBidWlsZFVybCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBPRFhfQVVUSF9IT1NUUyB9IGZyb20gJy4uL2F1dGguY29uZmlnJztcbmltcG9ydCB7IEF1dGhFbnZpcm9ubWVudCB9IGZyb20gJy4uL21vZGVscyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhdXRoZW50aWNhdGlvbiBob3N0IFVSTCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgZW52aXJvbm1lbnQgYW5kIFVSTCBzZWdtZW50cy5cbiAqXG4gKiBAcGFyYW0ge0F1dGhFbnZpcm9ubWVudH0gZW52aXJvbm1lbnQgLSBUaGUgYXV0aGVudGljYXRpb24gZW52aXJvbm1lbnQgKGUuZy4sICdkZXZlbG9wbWVudCcsICdwcm9kdWN0aW9uJykuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBzZWdtZW50cyAtIEFkZGl0aW9uYWwgVVJMIHNlZ21lbnRzIHRvIGFwcGVuZCB0byB0aGUgYmFzZSBVUkwuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgY29uc3RydWN0ZWQgYXV0aGVudGljYXRpb24gaG9zdCBVUkwuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjcmVhdGVBdXRoSG9zdFVybCgnZGV2JywgJ2FwaScsICd2MScsICd1c2VycycpOyAvLyByZXR1cm5zICdodHRwczovL2Rldi1hdXRoLm9keC5jb20vYXBpL3YxL3VzZXJzJ1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBdXRoSG9zdFVybChlbnZpcm9ubWVudDogQXV0aEVudmlyb25tZW50LCAuLi5zZWdtZW50czogc3RyaW5nW10pOiBzdHJpbmcge1xuICByZXR1cm4gYnVpbGRVcmwoT0RYX0FVVEhfSE9TVFNbZW52aXJvbm1lbnRdLCAuLi5zZWdtZW50cyk7XG59XG4iXX0=
@@ -1,32 +0,0 @@
1
- /**
2
- * Creates initials from a given string.
3
- *
4
- * This function takes a string input, removes any text within parentheses,
5
- * trims any leading or trailing whitespace, and then splits the string into
6
- * parts based on spaces. It then constructs initials using the first letter
7
- * of the first and last parts of the string, converting them to uppercase.
8
- *
9
- * @param {string | null} value - The input string from which to create initials. It can be
10
- * undefined or null, in which case an empty string is returned.
11
- * @returns {string} - A string containing the initials derived from the input string.
12
- *
13
- * @example
14
- * ```ts
15
- * createInitials('John Smith'); // returns 'JS'
16
- * ```
17
- */
18
- export function createInitials(value) {
19
- if (!value)
20
- return '';
21
- const parts = value
22
- .replace(/\([^()]*\)/, '')
23
- .trim()
24
- .split(' ');
25
- return parts.reduce((initials, curr, index) => {
26
- if (index === 0 || index === parts.length - 1) {
27
- initials += curr[0].toUpperCase();
28
- }
29
- return initials;
30
- }, '');
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWluaXRpdGFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2hlbHBlcnMvY3JlYXRlLWluaXRpdGFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBcUI7SUFDbEQsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN0QixNQUFNLEtBQUssR0FBRyxLQUFLO1NBQ2hCLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1NBQ3pCLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVkLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDNUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENyZWF0ZXMgaW5pdGlhbHMgZnJvbSBhIGdpdmVuIHN0cmluZy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHRha2VzIGEgc3RyaW5nIGlucHV0LCByZW1vdmVzIGFueSB0ZXh0IHdpdGhpbiBwYXJlbnRoZXNlcyxcbiAqIHRyaW1zIGFueSBsZWFkaW5nIG9yIHRyYWlsaW5nIHdoaXRlc3BhY2UsIGFuZCB0aGVuIHNwbGl0cyB0aGUgc3RyaW5nIGludG9cbiAqIHBhcnRzIGJhc2VkIG9uIHNwYWNlcy4gSXQgdGhlbiBjb25zdHJ1Y3RzIGluaXRpYWxzIHVzaW5nIHRoZSBmaXJzdCBsZXR0ZXJcbiAqIG9mIHRoZSBmaXJzdCBhbmQgbGFzdCBwYXJ0cyBvZiB0aGUgc3RyaW5nLCBjb252ZXJ0aW5nIHRoZW0gdG8gdXBwZXJjYXNlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nIHwgbnVsbH0gdmFsdWUgLSBUaGUgaW5wdXQgc3RyaW5nIGZyb20gd2hpY2ggdG8gY3JlYXRlIGluaXRpYWxzLiBJdCBjYW4gYmVcbiAqICAgICAgICAgICAgICAgIHVuZGVmaW5lZCBvciBudWxsLCBpbiB3aGljaCBjYXNlIGFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgaW5pdGlhbHMgZGVyaXZlZCBmcm9tIHRoZSBpbnB1dCBzdHJpbmcuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjcmVhdGVJbml0aWFscygnSm9obiBTbWl0aCcpOyAvLyByZXR1cm5zICdKUydcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW5pdGlhbHModmFsdWU/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuICcnO1xuICBjb25zdCBwYXJ0cyA9IHZhbHVlXG4gICAgLnJlcGxhY2UoL1xcKFteKCldKlxcKS8sICcnKVxuICAgIC50cmltKClcbiAgICAuc3BsaXQoJyAnKTtcblxuICByZXR1cm4gcGFydHMucmVkdWNlKChpbml0aWFscywgY3VyciwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IDAgfHwgaW5kZXggPT09IHBhcnRzLmxlbmd0aCAtIDEpIHtcbiAgICAgIGluaXRpYWxzICs9IGN1cnJbMF0udG9VcHBlckNhc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIGluaXRpYWxzO1xuICB9LCAnJyk7XG59XG4iXX0=
@@ -1,31 +0,0 @@
1
- import { EnvironmentInjector, inject, runInInjectionContext } from '@angular/core';
2
- import { OAuthErrorEvent } from 'angular-oauth2-oidc';
3
- /**
4
- * Handles authentication errors by executing a series of error handler functions.
5
- *
6
- * @param {AuthErrorHandlerFn[]} handlers - An array of functions that handle authentication errors.
7
- * Each function is expected to take an `OAuthErrorEvent` as an argument.
8
- *
9
- * @returns A function that takes an `OAuthErrorEvent` and processes it using the provided handlers.
10
- * The function will stop processing once a handler successfully handles the error without throwing.
11
- * If a handler throws an error that is not an instance of `OAuthErrorEvent`, the original error is re-thrown.
12
- */
13
- export function handleAuthError(handlers) {
14
- const injector = inject(EnvironmentInjector);
15
- return (error) => {
16
- runInInjectionContext(injector, () => {
17
- for (const handler of handlers) {
18
- try {
19
- handler(error);
20
- break;
21
- }
22
- catch (unhandledError) {
23
- if (!(unhandledError instanceof OAuthErrorEvent))
24
- throw error;
25
- continue;
26
- }
27
- }
28
- });
29
- };
30
- }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLWF1dGgtZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9oZWxwZXJzL2hhbmRsZS1hdXRoLWVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3REOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsUUFBOEI7SUFDNUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFN0MsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2YscUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUNuQyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUM7b0JBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNmLE1BQU07Z0JBQ1IsQ0FBQztnQkFBQyxPQUFPLGNBQWMsRUFBRSxDQUFDO29CQUN4QixJQUFJLENBQUMsQ0FBQyxjQUFjLFlBQVksZUFBZSxDQUFDO3dCQUFFLE1BQU0sS0FBSyxDQUFDO29CQUM5RCxTQUFTO2dCQUNYLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRJbmplY3RvciwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9BdXRoRXJyb3JFdmVudCB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgQXV0aEVycm9ySGFuZGxlckZuIH0gZnJvbSAnLi4vYXV0aC5jb25maWcnO1xuXG4vKipcbiAqIEhhbmRsZXMgYXV0aGVudGljYXRpb24gZXJyb3JzIGJ5IGV4ZWN1dGluZyBhIHNlcmllcyBvZiBlcnJvciBoYW5kbGVyIGZ1bmN0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge0F1dGhFcnJvckhhbmRsZXJGbltdfSBoYW5kbGVycyAtIEFuIGFycmF5IG9mIGZ1bmN0aW9ucyB0aGF0IGhhbmRsZSBhdXRoZW50aWNhdGlvbiBlcnJvcnMuXG4gKiBFYWNoIGZ1bmN0aW9uIGlzIGV4cGVjdGVkIHRvIHRha2UgYW4gYE9BdXRoRXJyb3JFdmVudGAgYXMgYW4gYXJndW1lbnQuXG4gKlxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0aGF0IHRha2VzIGFuIGBPQXV0aEVycm9yRXZlbnRgIGFuZCBwcm9jZXNzZXMgaXQgdXNpbmcgdGhlIHByb3ZpZGVkIGhhbmRsZXJzLlxuICogVGhlIGZ1bmN0aW9uIHdpbGwgc3RvcCBwcm9jZXNzaW5nIG9uY2UgYSBoYW5kbGVyIHN1Y2Nlc3NmdWxseSBoYW5kbGVzIHRoZSBlcnJvciB3aXRob3V0IHRocm93aW5nLlxuICogSWYgYSBoYW5kbGVyIHRocm93cyBhbiBlcnJvciB0aGF0IGlzIG5vdCBhbiBpbnN0YW5jZSBvZiBgT0F1dGhFcnJvckV2ZW50YCwgdGhlIG9yaWdpbmFsIGVycm9yIGlzIHJlLXRocm93bi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUF1dGhFcnJvcihoYW5kbGVyczogQXV0aEVycm9ySGFuZGxlckZuW10pOiAoZXJyb3I6IE9BdXRoRXJyb3JFdmVudCkgPT4gdm9pZCB7XG4gIGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuXG4gIHJldHVybiAoZXJyb3IpID0+IHtcbiAgICBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcbiAgICAgIGZvciAoY29uc3QgaGFuZGxlciBvZiBoYW5kbGVycykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGhhbmRsZXIoZXJyb3IpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9IGNhdGNoICh1bmhhbmRsZWRFcnJvcikge1xuICAgICAgICAgIGlmICghKHVuaGFuZGxlZEVycm9yIGluc3RhbmNlb2YgT0F1dGhFcnJvckV2ZW50KSkgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,13 +0,0 @@
1
- import { filter, switchMap } from 'rxjs';
2
- /**
3
- * Handles OAuth events of a specific type by applying a provided handler function.
4
- *
5
- * @template {T} - The type of OAuth event.
6
- * @param {T['type']} type - The type of the OAuth event to handle.
7
- * @param {(event: T) => Promise<void>} handler - A function that takes an event of type T and returns a Promise that resolves to void.
8
- * @returns {OperatorFunction<T, void>} - An OperatorFunction that filters events of the specified type and applies the handler function.
9
- */
10
- export function handleOAuthEvent(type, handler) {
11
- return (source$) => source$.pipe(filter((event) => event.type === type), switchMap((event) => handler(event)));
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLW9hdXRoLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hdXRoL3NyYy9saWIvaGVscGVycy9oYW5kbGUtb2F1dGgtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBZ0MsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZFOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQXVCLElBQWUsRUFBRSxPQUFvQztJQUMxRyxPQUFPLENBQUMsT0FBc0IsRUFBRSxFQUFFLENBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQ1YsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUN0QyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNyQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9BdXRoRXZlbnQgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgT3BlcmF0b3JGdW5jdGlvbiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogSGFuZGxlcyBPQXV0aCBldmVudHMgb2YgYSBzcGVjaWZpYyB0eXBlIGJ5IGFwcGx5aW5nIGEgcHJvdmlkZWQgaGFuZGxlciBmdW5jdGlvbi5cbiAqXG4gKiBAdGVtcGxhdGUge1R9IC0gVGhlIHR5cGUgb2YgT0F1dGggZXZlbnQuXG4gKiBAcGFyYW0ge1RbJ3R5cGUnXX0gdHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBPQXV0aCBldmVudCB0byBoYW5kbGUuXG4gKiBAcGFyYW0geyhldmVudDogVCkgPT4gUHJvbWlzZTx2b2lkPn0gaGFuZGxlciAtIEEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhbiBldmVudCBvZiB0eXBlIFQgYW5kIHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdm9pZC5cbiAqIEByZXR1cm5zIHtPcGVyYXRvckZ1bmN0aW9uPFQsIHZvaWQ+fSAtIEFuIE9wZXJhdG9yRnVuY3Rpb24gdGhhdCBmaWx0ZXJzIGV2ZW50cyBvZiB0aGUgc3BlY2lmaWVkIHR5cGUgYW5kIGFwcGxpZXMgdGhlIGhhbmRsZXIgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVPQXV0aEV2ZW50PFQgZXh0ZW5kcyBPQXV0aEV2ZW50Pih0eXBlOiBUWyd0eXBlJ10sIGhhbmRsZXI6IChldmVudDogVCkgPT4gUHJvbWlzZTx2b2lkPik6IE9wZXJhdG9yRnVuY3Rpb248VCwgdm9pZD4ge1xuICByZXR1cm4gKHNvdXJjZSQ6IE9ic2VydmFibGU8VD4pID0+XG4gICAgc291cmNlJC5waXBlKFxuICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQudHlwZSA9PT0gdHlwZSksXG4gICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PiBoYW5kbGVyKGV2ZW50KSksXG4gICAgKTtcbn1cbiJdfQ==
@@ -1,9 +0,0 @@
1
- export * from './create-auth-host-url';
2
- export * from './create-inititals';
3
- export * from './handle-auth-error';
4
- export * from './handle-oauth-event';
5
- export * from './resolve-email';
6
- export * from './resolve-username';
7
- export * from './set-http-auth-header';
8
- export * from './user-language-loader';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWF1dGgtaG9zdC11cmwnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtaW5pdGl0YWxzJztcbmV4cG9ydCAqIGZyb20gJy4vaGFuZGxlLWF1dGgtZXJyb3InO1xuZXhwb3J0ICogZnJvbSAnLi9oYW5kbGUtb2F1dGgtZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNvbHZlLWVtYWlsJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb2x2ZS11c2VybmFtZSc7XG5leHBvcnQgKiBmcm9tICcuL3NldC1odHRwLWF1dGgtaGVhZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1sYW5ndWFnZS1sb2FkZXInO1xuIl19
@@ -1,34 +0,0 @@
1
- import { isString } from '@odx/angular/utils';
2
- /**
3
- * Resolves the email address from the given identity claims.
4
- *
5
- * This function attempts to extract an email address from the provided
6
- * `OdxAuth.RawIdentityClaims` object by checking the following properties
7
- * in order:
8
- * 1. `email` - if it is a string, it is returned.
9
- * 2. `email_address` - if it is a string, it is returned.
10
- * 3. `emails` - if it is an array and the first element is a string, the first element is returned.
11
- *
12
- * If none of these properties contain a valid string email address, an empty string is returned.
13
- *
14
- * @param {OdxAuth.RawIdentityClaims} claims - The identity claims object from which to resolve the email address.
15
- * @returns {string} - The resolved email address as a string, or an empty string if no valid email address is found.
16
- *
17
- * @example
18
- * ```ts
19
- * resolveEmail({ email_address: 'email.address@mdn.com' }) // returns 'email.address@mdn.com';
20
- * ```
21
- */
22
- export function resolveEmail(claims) {
23
- if (isString(claims['email'])) {
24
- return claims['email'];
25
- }
26
- if (isString(claims['email_address'])) {
27
- return claims['email_address'];
28
- }
29
- if (Array.isArray(claims['emails']) && isString(claims['emails'][0])) {
30
- return claims['emails'][0];
31
- }
32
- return '';
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1lbWFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2hlbHBlcnMvcmVzb2x2ZS1lbWFpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWlDO0lBQzVELElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEMsT0FBTyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyRSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBlbWFpbCBhZGRyZXNzIGZyb20gdGhlIGdpdmVuIGlkZW50aXR5IGNsYWltcy5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIGV4dHJhY3QgYW4gZW1haWwgYWRkcmVzcyBmcm9tIHRoZSBwcm92aWRlZFxuICogYE9keEF1dGguUmF3SWRlbnRpdHlDbGFpbXNgIG9iamVjdCBieSBjaGVja2luZyB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXNcbiAqIGluIG9yZGVyOlxuICogMS4gYGVtYWlsYCAtIGlmIGl0IGlzIGEgc3RyaW5nLCBpdCBpcyByZXR1cm5lZC5cbiAqIDIuIGBlbWFpbF9hZGRyZXNzYCAtIGlmIGl0IGlzIGEgc3RyaW5nLCBpdCBpcyByZXR1cm5lZC5cbiAqIDMuIGBlbWFpbHNgIC0gaWYgaXQgaXMgYW4gYXJyYXkgYW5kIHRoZSBmaXJzdCBlbGVtZW50IGlzIGEgc3RyaW5nLCB0aGUgZmlyc3QgZWxlbWVudCBpcyByZXR1cm5lZC5cbiAqXG4gKiBJZiBub25lIG9mIHRoZXNlIHByb3BlcnRpZXMgY29udGFpbiBhIHZhbGlkIHN0cmluZyBlbWFpbCBhZGRyZXNzLCBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIHtPZHhBdXRoLlJhd0lkZW50aXR5Q2xhaW1zfSBjbGFpbXMgLSBUaGUgaWRlbnRpdHkgY2xhaW1zIG9iamVjdCBmcm9tIHdoaWNoIHRvIHJlc29sdmUgdGhlIGVtYWlsIGFkZHJlc3MuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSByZXNvbHZlZCBlbWFpbCBhZGRyZXNzIGFzIGEgc3RyaW5nLCBvciBhbiBlbXB0eSBzdHJpbmcgaWYgbm8gdmFsaWQgZW1haWwgYWRkcmVzcyBpcyBmb3VuZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIHJlc29sdmVFbWFpbCh7IGVtYWlsX2FkZHJlc3M6ICdlbWFpbC5hZGRyZXNzQG1kbi5jb20nIH0pIC8vIHJldHVybnMgJ2VtYWlsLmFkZHJlc3NAbWRuLmNvbSc7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVFbWFpbChjbGFpbXM6IE9keEF1dGguUmF3SWRlbnRpdHlDbGFpbXMpOiBzdHJpbmcge1xuICBpZiAoaXNTdHJpbmcoY2xhaW1zWydlbWFpbCddKSkge1xuICAgIHJldHVybiBjbGFpbXNbJ2VtYWlsJ107XG4gIH1cbiAgaWYgKGlzU3RyaW5nKGNsYWltc1snZW1haWxfYWRkcmVzcyddKSkge1xuICAgIHJldHVybiBjbGFpbXNbJ2VtYWlsX2FkZHJlc3MnXTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShjbGFpbXNbJ2VtYWlscyddKSAmJiBpc1N0cmluZyhjbGFpbXNbJ2VtYWlscyddWzBdKSkge1xuICAgIHJldHVybiBjbGFpbXNbJ2VtYWlscyddWzBdO1xuICB9XG4gIHJldHVybiAnJztcbn1cbiJdfQ==
@@ -1,38 +0,0 @@
1
- import { isString } from '@odx/angular/utils';
2
- /**
3
- * Resolves the username from the provided identity claims.
4
- *
5
- * The function attempts to construct a username from the claims in the following order:
6
- * 1. If both 'firstname' and 'lastname' are strings, it returns them concatenated with a space.
7
- * 2. If both 'given_name' and 'family_name' are strings, it returns them concatenated with a space.
8
- * 3. If 'name' is a string, it returns the 'name'.
9
- * 4. If 'displayname' is a string, it returns the 'displayname'.
10
- * 5. If none of the above conditions are met, it returns an empty string.
11
- *
12
- * @param {OdxAuth.RawIdentityClaims} claims - The raw identity claims from which to resolve the username.
13
- * @returns {string} - The resolved username as a string.
14
- *
15
- * @example
16
- * ```ts
17
- * resolveUsername({ firstname: 'John', lastname: 'Doe' }) // returns 'John Doe';
18
- * resolveUsername({ given_name: 'John', family_name: 'Doe' }) // returns 'John Doe';
19
- * resolveUsername({ name: 'John Doe' }) // returns 'John Doe';
20
- * resolveUsername({ displayname: 'John Doe' }) // returns 'John Doe';
21
- * ```
22
- */
23
- export function resolveUsername(claims) {
24
- if (isString(claims['firstname']) && isString(claims['lastname'])) {
25
- return `${claims['firstname']} ${claims['lastname']}`;
26
- }
27
- if (isString(claims['given_name']) && isString(claims['family_name'])) {
28
- return `${claims['given_name']} ${claims['family_name']}`;
29
- }
30
- if (isString(claims['name'])) {
31
- return claims['name'];
32
- }
33
- if (isString(claims['displayname'])) {
34
- return claims['displayname'];
35
- }
36
- return '';
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS11c2VybmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2hlbHBlcnMvcmVzb2x2ZS11c2VybmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFpQztJQUMvRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsRSxPQUFPLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0RSxPQUFPLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHVzZXJuYW1lIGZyb20gdGhlIHByb3ZpZGVkIGlkZW50aXR5IGNsYWltcy5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gYXR0ZW1wdHMgdG8gY29uc3RydWN0IGEgdXNlcm5hbWUgZnJvbSB0aGUgY2xhaW1zIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6XG4gKiAxLiBJZiBib3RoICdmaXJzdG5hbWUnIGFuZCAnbGFzdG5hbWUnIGFyZSBzdHJpbmdzLCBpdCByZXR1cm5zIHRoZW0gY29uY2F0ZW5hdGVkIHdpdGggYSBzcGFjZS5cbiAqIDIuIElmIGJvdGggJ2dpdmVuX25hbWUnIGFuZCAnZmFtaWx5X25hbWUnIGFyZSBzdHJpbmdzLCBpdCByZXR1cm5zIHRoZW0gY29uY2F0ZW5hdGVkIHdpdGggYSBzcGFjZS5cbiAqIDMuIElmICduYW1lJyBpcyBhIHN0cmluZywgaXQgcmV0dXJucyB0aGUgJ25hbWUnLlxuICogNC4gSWYgJ2Rpc3BsYXluYW1lJyBpcyBhIHN0cmluZywgaXQgcmV0dXJucyB0aGUgJ2Rpc3BsYXluYW1lJy5cbiAqIDUuIElmIG5vbmUgb2YgdGhlIGFib3ZlIGNvbmRpdGlvbnMgYXJlIG1ldCwgaXQgcmV0dXJucyBhbiBlbXB0eSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHtPZHhBdXRoLlJhd0lkZW50aXR5Q2xhaW1zfSBjbGFpbXMgLSBUaGUgcmF3IGlkZW50aXR5IGNsYWltcyBmcm9tIHdoaWNoIHRvIHJlc29sdmUgdGhlIHVzZXJuYW1lLlxuICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgcmVzb2x2ZWQgdXNlcm5hbWUgYXMgYSBzdHJpbmcuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiByZXNvbHZlVXNlcm5hbWUoeyBmaXJzdG5hbWU6ICdKb2huJywgbGFzdG5hbWU6ICdEb2UnIH0pIC8vIHJldHVybnMgJ0pvaG4gRG9lJztcbiAqIHJlc29sdmVVc2VybmFtZSh7IGdpdmVuX25hbWU6ICdKb2huJywgZmFtaWx5X25hbWU6ICdEb2UnIH0pIC8vIHJldHVybnMgJ0pvaG4gRG9lJztcbiAqIHJlc29sdmVVc2VybmFtZSh7IG5hbWU6ICdKb2huIERvZScgfSkgLy8gcmV0dXJucyAnSm9obiBEb2UnO1xuICogcmVzb2x2ZVVzZXJuYW1lKHsgZGlzcGxheW5hbWU6ICdKb2huIERvZScgfSkgLy8gcmV0dXJucyAnSm9obiBEb2UnO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVXNlcm5hbWUoY2xhaW1zOiBPZHhBdXRoLlJhd0lkZW50aXR5Q2xhaW1zKTogc3RyaW5nIHtcbiAgaWYgKGlzU3RyaW5nKGNsYWltc1snZmlyc3RuYW1lJ10pICYmIGlzU3RyaW5nKGNsYWltc1snbGFzdG5hbWUnXSkpIHtcbiAgICByZXR1cm4gYCR7Y2xhaW1zWydmaXJzdG5hbWUnXX0gJHtjbGFpbXNbJ2xhc3RuYW1lJ119YDtcbiAgfVxuICBpZiAoaXNTdHJpbmcoY2xhaW1zWydnaXZlbl9uYW1lJ10pICYmIGlzU3RyaW5nKGNsYWltc1snZmFtaWx5X25hbWUnXSkpIHtcbiAgICByZXR1cm4gYCR7Y2xhaW1zWydnaXZlbl9uYW1lJ119ICR7Y2xhaW1zWydmYW1pbHlfbmFtZSddfWA7XG4gIH1cbiAgaWYgKGlzU3RyaW5nKGNsYWltc1snbmFtZSddKSkge1xuICAgIHJldHVybiBjbGFpbXNbJ25hbWUnXTtcbiAgfVxuICBpZiAoaXNTdHJpbmcoY2xhaW1zWydkaXNwbGF5bmFtZSddKSkge1xuICAgIHJldHVybiBjbGFpbXNbJ2Rpc3BsYXluYW1lJ107XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG4iXX0=
@@ -1,22 +0,0 @@
1
- import { HttpRequest } from '@angular/common/http';
2
- import { AUTH_HTTP_HEADER } from '../auth.config';
3
- /**
4
- * Sets the HTTP Authorization header for a given request.
5
- *
6
- * @template R - The type of the request, which extends HttpRequest<T> or Request.
7
- * @template T - The type of the request body.
8
- * @param {R} req - The HTTP request to which the Authorization header will be added.
9
- * @param {string | null} [token] - The token to be used in the Authorization header. If no token is provided, the request is returned unchanged.
10
- * @returns {R} - The modified HTTP request with the Authorization header set, or the original request if no token is provided.
11
- */
12
- export function setHttpAuthHeader(req, token) {
13
- if (!token)
14
- return req;
15
- const header = `Bearer ${token}`;
16
- if (req instanceof HttpRequest) {
17
- return req.clone({ headers: req.headers.set(AUTH_HTTP_HEADER, header) });
18
- }
19
- req.headers.set(AUTH_HTTP_HEADER, header);
20
- return req;
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWh0dHAtYXV0aC1oZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9oZWxwZXJzL3NldC1odHRwLWF1dGgtaGVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBd0MsR0FBTSxFQUFFLEtBQXFCO0lBQ3BHLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxHQUFHLENBQUM7SUFDdkIsTUFBTSxNQUFNLEdBQUcsVUFBVSxLQUFLLEVBQUUsQ0FBQztJQUNqQyxJQUFJLEdBQUcsWUFBWSxXQUFXLEVBQUUsQ0FBQztRQUMvQixPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBTSxDQUFDO0lBQ2hGLENBQUM7SUFDRCxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUUxQyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEFVVEhfSFRUUF9IRUFERVIgfSBmcm9tICcuLi9hdXRoLmNvbmZpZyc7XG5cbi8qKlxuICogU2V0cyB0aGUgSFRUUCBBdXRob3JpemF0aW9uIGhlYWRlciBmb3IgYSBnaXZlbiByZXF1ZXN0LlxuICpcbiAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHR5cGUgb2YgdGhlIHJlcXVlc3QsIHdoaWNoIGV4dGVuZHMgSHR0cFJlcXVlc3Q8VD4gb3IgUmVxdWVzdC5cbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgdGhlIHJlcXVlc3QgYm9keS5cbiAqIEBwYXJhbSB7Un0gcmVxIC0gVGhlIEhUVFAgcmVxdWVzdCB0byB3aGljaCB0aGUgQXV0aG9yaXphdGlvbiBoZWFkZXIgd2lsbCBiZSBhZGRlZC5cbiAqIEBwYXJhbSB7c3RyaW5nIHwgbnVsbH0gW3Rva2VuXSAtIFRoZSB0b2tlbiB0byBiZSB1c2VkIGluIHRoZSBBdXRob3JpemF0aW9uIGhlYWRlci4gSWYgbm8gdG9rZW4gaXMgcHJvdmlkZWQsIHRoZSByZXF1ZXN0IGlzIHJldHVybmVkIHVuY2hhbmdlZC5cbiAqIEByZXR1cm5zIHtSfSAtIFRoZSBtb2RpZmllZCBIVFRQIHJlcXVlc3Qgd2l0aCB0aGUgQXV0aG9yaXphdGlvbiBoZWFkZXIgc2V0LCBvciB0aGUgb3JpZ2luYWwgcmVxdWVzdCBpZiBubyB0b2tlbiBpcyBwcm92aWRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEh0dHBBdXRoSGVhZGVyPFIgZXh0ZW5kcyBIdHRwUmVxdWVzdDxUPiB8IFJlcXVlc3QsIFQ+KHJlcTogUiwgdG9rZW4/OiBzdHJpbmcgfCBudWxsKTogUiB7XG4gIGlmICghdG9rZW4pIHJldHVybiByZXE7XG4gIGNvbnN0IGhlYWRlciA9IGBCZWFyZXIgJHt0b2tlbn1gO1xuICBpZiAocmVxIGluc3RhbmNlb2YgSHR0cFJlcXVlc3QpIHtcbiAgICByZXR1cm4gcmVxLmNsb25lKHsgaGVhZGVyczogcmVxLmhlYWRlcnMuc2V0KEFVVEhfSFRUUF9IRUFERVIsIGhlYWRlcikgfSkgYXMgUjtcbiAgfVxuICByZXEuaGVhZGVycy5zZXQoQVVUSF9IVFRQX0hFQURFUiwgaGVhZGVyKTtcblxuICByZXR1cm4gcmVxO1xufVxuIl19
@@ -1,17 +0,0 @@
1
- import { inject } from '@angular/core';
2
- import { isNonEmptyString } from '@odx/angular/utils';
3
- import { map } from 'rxjs';
4
- import { AuthService } from '../auth.service';
5
- /**
6
- * A function that creates a language loader function for user authentication.
7
- *
8
- * @param {LanguageSelector} languageSelector - A function that takes optional identity claims and returns a language string, null, or undefined.
9
- * Defaults to a function that returns the preferred language from the claims.
10
- * @returns {LanguageLoaderFn} - A function that retrieves the user's preferred language from the identity claims.
11
- */
12
- export function userLanguageLoader(languageSelector = (claims) => claims?.preferredLanguage) {
13
- return () => {
14
- return inject(AuthService).identityClaims$.pipe(map(languageSelector), map((value) => (isNonEmptyString(value) ? value : undefined)));
15
- };
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1sYW5ndWFnZS1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9oZWxwZXJzL3VzZXItbGFuZ3VhZ2UtbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJOUM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLG1CQUFxQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQjtJQUMzRyxPQUFPLEdBQUcsRUFBRTtRQUNWLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQzdDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUNyQixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDOUQsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmd1YWdlTG9hZGVyRm4gfSBmcm9tICdAb2R4L2FuZ3VsYXIvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7IGlzTm9uRW1wdHlTdHJpbmcgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGguc2VydmljZSc7XG5cbnR5cGUgTGFuZ3VhZ2VTZWxlY3RvciA9IChjbGFpbXM/OiBPZHhBdXRoLklkZW50aXR5Q2xhaW1zIHwgbnVsbCkgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgY3JlYXRlcyBhIGxhbmd1YWdlIGxvYWRlciBmdW5jdGlvbiBmb3IgdXNlciBhdXRoZW50aWNhdGlvbi5cbiAqXG4gKiBAcGFyYW0ge0xhbmd1YWdlU2VsZWN0b3J9IGxhbmd1YWdlU2VsZWN0b3IgLSBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgb3B0aW9uYWwgaWRlbnRpdHkgY2xhaW1zIGFuZCByZXR1cm5zIGEgbGFuZ3VhZ2Ugc3RyaW5nLCBudWxsLCBvciB1bmRlZmluZWQuXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHRzIHRvIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBwcmVmZXJyZWQgbGFuZ3VhZ2UgZnJvbSB0aGUgY2xhaW1zLlxuICogQHJldHVybnMge0xhbmd1YWdlTG9hZGVyRm59IC0gQSBmdW5jdGlvbiB0aGF0IHJldHJpZXZlcyB0aGUgdXNlcidzIHByZWZlcnJlZCBsYW5ndWFnZSBmcm9tIHRoZSBpZGVudGl0eSBjbGFpbXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VyTGFuZ3VhZ2VMb2FkZXIobGFuZ3VhZ2VTZWxlY3RvcjogTGFuZ3VhZ2VTZWxlY3RvciA9IChjbGFpbXMpID0+IGNsYWltcz8ucHJlZmVycmVkTGFuZ3VhZ2UpOiBMYW5ndWFnZUxvYWRlckZuIHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICByZXR1cm4gaW5qZWN0KEF1dGhTZXJ2aWNlKS5pZGVudGl0eUNsYWltcyQucGlwZShcbiAgICAgIG1hcChsYW5ndWFnZVNlbGVjdG9yKSxcbiAgICAgIG1hcCgodmFsdWUpID0+IChpc05vbkVtcHR5U3RyaW5nKHZhbHVlKSA/IHZhbHVlIDogdW5kZWZpbmVkKSksXG4gICAgKTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- import { Environment } from '@odx/angular';
2
- export const AuthEnvironment = Environment;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1lbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL21vZGVscy9hdXRoLWVudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHM0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyJztcblxuZXhwb3J0IHR5cGUgQXV0aEVudmlyb25tZW50ID0gKHR5cGVvZiBBdXRoRW52aXJvbm1lbnQpW2tleW9mIHR5cGVvZiBBdXRoRW52aXJvbm1lbnRdO1xuZXhwb3J0IGNvbnN0IEF1dGhFbnZpcm9ubWVudCA9IEVudmlyb25tZW50O1xuIl19
@@ -1,49 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { isNumber } from '@odx/angular/utils';
3
- import { deepmerge } from 'deepmerge-ts';
4
- import { BehaviorSubject, catchError, combineLatest, distinctUntilChanged, filter, map, of, share, switchMap, take, tap, timeout } from 'rxjs';
5
- import { injectAuthConfig } from '../auth.config';
6
- import { ODX_AUTH_PLUGINS, ODX_AUTH_PLUGINS_ERROR_HANDLER } from '../auth.providers';
7
- import * as i0 from "@angular/core";
8
- export class AuthPluginManager {
9
- constructor() {
10
- this.authConfig = injectAuthConfig();
11
- this.pluginsErrorHandler = inject(ODX_AUTH_PLUGINS_ERROR_HANDLER, { optional: true });
12
- this.plugins = inject(ODX_AUTH_PLUGINS);
13
- this.result$$ = new BehaviorSubject(null);
14
- this.pluginsReady$ = this.result$$.pipe(filter(Boolean), map(Boolean), distinctUntilChanged(), share());
15
- this.pluginsLoading$ = this.result$$.pipe(map((result) => !result), distinctUntilChanged(), share());
16
- }
17
- runPlugins(authService) {
18
- if (this.plugins.length < 1) {
19
- return of({});
20
- }
21
- return authService.waitForAccessToken$(false).pipe(switchMap((token) => {
22
- if (!token)
23
- return of([{}]);
24
- return combineLatest(this.plugins.map((plugin) => this.runPlugin(authService, plugin)));
25
- }), map((results) => deepmerge(...results)), tap((result) => this.result$$.next(result)), take(1));
26
- }
27
- getResult() {
28
- return this.result$$.getValue() ?? {};
29
- }
30
- handlePluginError(error) {
31
- try {
32
- this.pluginsErrorHandler?.(error);
33
- }
34
- catch {
35
- //
36
- }
37
- return of({});
38
- }
39
- runPlugin(authService, plugin) {
40
- return plugin(authService).pipe(isNumber(this.authConfig.pluginTimeout) ? timeout(Math.max(0, this.authConfig.pluginTimeout)) : tap(), catchError((error) => this.handlePluginError(error)));
41
- }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthPluginManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
43
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthPluginManager, providedIn: 'root' }); }
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthPluginManager, decorators: [{
46
- type: Injectable,
47
- args: [{ providedIn: 'root' }]
48
- }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1wbHVnaW4tbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL21vZGVscy9hdXRoLXBsdWdpbi1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNKLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQVNyRixNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRW1CLGVBQVUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hDLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLFlBQU8sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuQyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQWtDLElBQUksQ0FBQyxDQUFDO1FBRXZFLGtCQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbkcsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbEQsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUN4QixvQkFBb0IsRUFBRSxFQUN0QixLQUFLLEVBQUUsQ0FDUixDQUFDO0tBcUNIO0lBbkNRLFVBQVUsQ0FBQyxXQUF3QjtRQUN4QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sRUFBRSxDQUFDLEVBQThCLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUNoRCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUIsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBNkIsQ0FBQyxFQUNuRSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzNDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUssRUFBK0IsQ0FBQztJQUN0RSxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBZTtRQUN2QyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsRUFBRTtRQUNKLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQyxFQUE4QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLFNBQVMsQ0FBQyxXQUF3QixFQUFFLE1BQWtCO1FBQzVELE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUNyRyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNyRCxDQUFDO0lBQ0osQ0FBQzsrR0EvQ1UsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FESixNQUFNOzs0RkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZGVlcG1lcmdlIH0gZnJvbSAnZGVlcG1lcmdlLXRzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY2F0Y2hFcnJvciwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmUsIHN3aXRjaE1hcCwgdGFrZSwgdGFwLCB0aW1lb3V0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3RBdXRoQ29uZmlnIH0gZnJvbSAnLi4vYXV0aC5jb25maWcnO1xuaW1wb3J0IHsgT0RYX0FVVEhfUExVR0lOUywgT0RYX0FVVEhfUExVR0lOU19FUlJPUl9IQU5ETEVSIH0gZnJvbSAnLi4vYXV0aC5wcm92aWRlcnMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBBdXRoUGx1Z2luID0gKGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkgPT4gT2JzZXJ2YWJsZTxQYXJ0aWFsPE9keEF1dGguQXV0aFBsdWdpblJlc3VsdD4+O1xuZXhwb3J0IHR5cGUgQXV0aFBsdWdpbkZhY3RvcnkgPSAoKSA9PiBBdXRoUGx1Z2luO1xuZXhwb3J0IHR5cGUgQXV0aFBsdWdpbkVycm9yID0gdW5rbm93bjtcbmV4cG9ydCB0eXBlIEF1dGhQbHVnaW5FcnJvckhhbmRsZXIgPSAoZXJyb3I6IEF1dGhQbHVnaW5FcnJvcikgPT4gdm9pZDtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBdXRoUGx1Z2luTWFuYWdlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0aENvbmZpZyA9IGluamVjdEF1dGhDb25maWcoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5zRXJyb3JIYW5kbGVyID0gaW5qZWN0KE9EWF9BVVRIX1BMVUdJTlNfRVJST1JfSEFORExFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5zID0gaW5qZWN0KE9EWF9BVVRIX1BMVUdJTlMpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc3VsdCQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPZHhBdXRoLkF1dGhQbHVnaW5SZXN1bHQgfCBudWxsPihudWxsKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcGx1Z2luc1JlYWR5JCA9IHRoaXMucmVzdWx0JCQucGlwZShmaWx0ZXIoQm9vbGVhbiksIG1hcChCb29sZWFuKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmUoKSk7XG4gIHB1YmxpYyByZWFkb25seSBwbHVnaW5zTG9hZGluZyQgPSB0aGlzLnJlc3VsdCQkLnBpcGUoXG4gICAgbWFwKChyZXN1bHQpID0+ICFyZXN1bHQpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmUoKSxcbiAgKTtcblxuICBwdWJsaWMgcnVuUGx1Z2lucyhhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPE9keEF1dGguQXV0aFBsdWdpblJlc3VsdD4ge1xuICAgIGlmICh0aGlzLnBsdWdpbnMubGVuZ3RoIDwgMSkge1xuICAgICAgcmV0dXJuIG9mKHt9IGFzIE9keEF1dGguQXV0aFBsdWdpblJlc3VsdCk7XG4gICAgfVxuICAgIHJldHVybiBhdXRoU2VydmljZS53YWl0Rm9yQWNjZXNzVG9rZW4kKGZhbHNlKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh0b2tlbikgPT4ge1xuICAgICAgICBpZiAoIXRva2VuKSByZXR1cm4gb2YoW3t9XSk7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHRoaXMucGx1Z2lucy5tYXAoKHBsdWdpbikgPT4gdGhpcy5ydW5QbHVnaW4oYXV0aFNlcnZpY2UsIHBsdWdpbikpKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChyZXN1bHRzKSA9PiBkZWVwbWVyZ2UoLi4ucmVzdWx0cykgYXMgT2R4QXV0aC5BdXRoUGx1Z2luUmVzdWx0KSxcbiAgICAgIHRhcCgocmVzdWx0KSA9PiB0aGlzLnJlc3VsdCQkLm5leHQocmVzdWx0KSksXG4gICAgICB0YWtlKDEpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVzdWx0KCk6IE9keEF1dGguQXV0aFBsdWdpblJlc3VsdCB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0JCQuZ2V0VmFsdWUoKSA/PyAoe30gYXMgT2R4QXV0aC5BdXRoUGx1Z2luUmVzdWx0KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUGx1Z2luRXJyb3IoZXJyb3I/OiB1bmtub3duKTogT2JzZXJ2YWJsZTxPZHhBdXRoLkF1dGhQbHVnaW5SZXN1bHQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5wbHVnaW5zRXJyb3JIYW5kbGVyPy4oZXJyb3IpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy9cbiAgICB9XG5cbiAgICByZXR1cm4gb2Yoe30gYXMgT2R4QXV0aC5BdXRoUGx1Z2luUmVzdWx0KTtcbiAgfVxuXG4gIHByaXZhdGUgcnVuUGx1Z2luKGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgcGx1Z2luOiBBdXRoUGx1Z2luKTogUmV0dXJuVHlwZTxBdXRoUGx1Z2luPiB7XG4gICAgcmV0dXJuIHBsdWdpbihhdXRoU2VydmljZSkucGlwZShcbiAgICAgIGlzTnVtYmVyKHRoaXMuYXV0aENvbmZpZy5wbHVnaW5UaW1lb3V0KSA/IHRpbWVvdXQoTWF0aC5tYXgoMCwgdGhpcy5hdXRoQ29uZmlnLnBsdWdpblRpbWVvdXQpKSA6IHRhcCgpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHRoaXMuaGFuZGxlUGx1Z2luRXJyb3IoZXJyb3IpKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplZC1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hdXRoL3NyYy9saWIvbW9kZWxzL2F1dGhvcml6ZWQtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgQXV0aG9yaXplZEhhbmRsZXIgPSAoaWRlbnRpdHlDbGFpbXM6IE9keEF1dGguSWRlbnRpdHlDbGFpbXMgfCBudWxsLCBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHJvdXRlcj86IFJvdXRlciB8IG51bGwpID0+IGJvb2xlYW47XG4iXX0=
@@ -1,5 +0,0 @@
1
- export * from './auth-environment';
2
- export * from './auth-plugin-manager';
3
- export * from './authorized-handler';
4
- export * from './offline-auth-error-handler';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aC1lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgtcGx1Z2luLW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRob3JpemVkLWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9vZmZsaW5lLWF1dGgtZXJyb3ItaGFuZGxlcic7XG4iXX0=
@@ -1,7 +0,0 @@
1
- export const offlineAuthErrorHandler = (error) => {
2
- if (error.type === 'discovery_document_load_error' && error.reason?.status === 504) {
3
- return;
4
- }
5
- throw error;
6
- };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmbGluZS1hdXRoLWVycm9yLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9tb2RlbHMvb2ZmbGluZS1hdXRoLWVycm9yLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQXVCLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDbkUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLCtCQUErQixJQUFLLEtBQUssQ0FBQyxNQUE0QixFQUFFLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUMxRyxPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sS0FBSyxDQUFDO0FBQ2QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBdXRoRXJyb3JIYW5kbGVyRm4gfSBmcm9tICcuLi9hdXRoLmNvbmZpZyc7XG5cbmV4cG9ydCBjb25zdCBvZmZsaW5lQXV0aEVycm9ySGFuZGxlcjogQXV0aEVycm9ySGFuZGxlckZuID0gKGVycm9yKSA9PiB7XG4gIGlmIChlcnJvci50eXBlID09PSAnZGlzY292ZXJ5X2RvY3VtZW50X2xvYWRfZXJyb3InICYmIChlcnJvci5yZWFzb24gYXMgSHR0cEVycm9yUmVzcG9uc2UpPy5zdGF0dXMgPT09IDUwNCkge1xuICAgIHJldHVybjtcbiAgfVxuICB0aHJvdyBlcnJvcjtcbn07XG4iXX0=