@descope/angular-sdk 0.0.0-next-cd745c61-20250421 → 0.0.0-next-26df9ba9-20250424

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 (43) hide show
  1. package/dist/environment.d.ts +3 -0
  2. package/dist/esm2022/descope-angular-sdk.mjs +5 -0
  3. package/dist/esm2022/environment.mjs +4 -0
  4. package/dist/esm2022/lib/components/access-key-management/access-key-management.component.mjs +67 -0
  5. package/dist/esm2022/lib/components/applications-portal/applications-portal.component.mjs +75 -0
  6. package/dist/esm2022/lib/components/audit-management/audit-management.component.mjs +70 -0
  7. package/dist/esm2022/lib/components/descope/descope.component.mjs +191 -0
  8. package/dist/esm2022/lib/components/role-management/role-management.component.mjs +70 -0
  9. package/dist/esm2022/lib/components/sign-in-flow/sign-in-flow.component.mjs +56 -0
  10. package/dist/esm2022/lib/components/sign-up-flow/sign-up-flow.component.mjs +56 -0
  11. package/dist/esm2022/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.mjs +56 -0
  12. package/dist/esm2022/lib/components/user-management/user-management.component.mjs +70 -0
  13. package/dist/esm2022/lib/components/user-profile/user-profile.component.mjs +78 -0
  14. package/dist/esm2022/lib/descope-auth.module.mjs +83 -0
  15. package/dist/esm2022/lib/services/descope-auth.guard.mjs +15 -0
  16. package/dist/esm2022/lib/services/descope-auth.service.mjs +145 -0
  17. package/dist/esm2022/lib/services/descope.interceptor.mjs +51 -0
  18. package/dist/esm2022/lib/types/types.mjs +6 -0
  19. package/dist/esm2022/lib/utils/constants.mjs +7 -0
  20. package/dist/esm2022/lib/utils/helpers.mjs +27 -0
  21. package/dist/esm2022/public-api.mjs +19 -0
  22. package/dist/fesm2022/descope-angular-sdk.mjs +1075 -0
  23. package/dist/fesm2022/descope-angular-sdk.mjs.map +1 -0
  24. package/dist/index.d.ts +5 -0
  25. package/dist/lib/components/access-key-management/access-key-management.component.d.ts +24 -0
  26. package/dist/lib/components/applications-portal/applications-portal.component.d.ts +24 -0
  27. package/dist/lib/components/audit-management/audit-management.component.d.ts +24 -0
  28. package/dist/lib/components/descope/descope.component.d.ts +45 -0
  29. package/dist/lib/components/role-management/role-management.component.d.ts +24 -0
  30. package/dist/lib/components/sign-in-flow/sign-in-flow.component.d.ts +32 -0
  31. package/dist/lib/components/sign-up-flow/sign-up-flow.component.d.ts +32 -0
  32. package/dist/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.d.ts +32 -0
  33. package/dist/lib/components/user-management/user-management.component.d.ts +24 -0
  34. package/dist/lib/components/user-profile/user-profile.component.d.ts +26 -0
  35. package/dist/lib/descope-auth.module.d.ts +20 -0
  36. package/dist/lib/services/descope-auth.guard.d.ts +2 -0
  37. package/dist/lib/services/descope-auth.service.d.ts +41 -0
  38. package/dist/lib/services/descope.interceptor.d.ts +2 -0
  39. package/dist/lib/types/types.d.ts +13 -0
  40. package/dist/lib/utils/constants.d.ts +5 -0
  41. package/dist/lib/utils/helpers.d.ts +5 -0
  42. package/dist/public-api.d.ts +15 -0
  43. package/package.json +10 -14
@@ -0,0 +1,3 @@
1
+ export declare const environment: {
2
+ buildVersion: string;
3
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS1hbmd1bGFyLXNkay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9kZXNjb3BlLWFuZ3VsYXItc2RrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export const environment = {
2
+ buildVersion: '0.14.16'
3
+ };
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXNkay9zcmMvZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLFlBQVksRUFBRSxTQUFTO0NBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW52aXJvbm1lbnQgPSB7XG4gIGJ1aWxkVmVyc2lvbjogJzAuMTQuMTYnXG59O1xuIl19
@@ -0,0 +1,67 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import DescopeAccessKeyManagementWidget from '@descope/access-key-management-widget';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../types/types";
5
+ export class AccessKeyManagementComponent {
6
+ constructor(elementRef, descopeConfig) {
7
+ this.elementRef = elementRef;
8
+ this.webComponent = new DescopeAccessKeyManagementWidget();
9
+ this.projectId = descopeConfig.projectId;
10
+ this.baseUrl = descopeConfig.baseUrl;
11
+ this.baseStaticUrl = descopeConfig.baseStaticUrl;
12
+ this.baseCdnUrl = descopeConfig.baseCdnUrl;
13
+ }
14
+ ngOnInit() {
15
+ this.setupWebComponent();
16
+ this.elementRef.nativeElement.appendChild(this.webComponent);
17
+ }
18
+ ngOnChanges() {
19
+ this.setupWebComponent();
20
+ }
21
+ setupWebComponent() {
22
+ this.webComponent.setAttribute('project-id', this.projectId);
23
+ this.webComponent.setAttribute('tenant', this.tenant);
24
+ this.webComponent.setAttribute('widget-id', this.widgetId);
25
+ if (this.baseUrl) {
26
+ this.webComponent.setAttribute('base-url', this.baseUrl);
27
+ }
28
+ if (this.baseStaticUrl) {
29
+ this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);
30
+ }
31
+ if (this.baseCdnUrl) {
32
+ this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);
33
+ }
34
+ if (this.theme) {
35
+ this.webComponent.setAttribute('theme', this.theme);
36
+ }
37
+ if (this.debug) {
38
+ this.webComponent.setAttribute('debug', this.debug.toString());
39
+ }
40
+ if (this.logger) {
41
+ this.webComponent.logger = this.logger;
42
+ }
43
+ }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AccessKeyManagementComponent, deps: [{ token: i0.ElementRef }, { token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: AccessKeyManagementComponent, isStandalone: true, selector: "access-key-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AccessKeyManagementComponent, decorators: [{
48
+ type: Component,
49
+ args: [{
50
+ selector: 'access-key-management[tenant]',
51
+ standalone: true,
52
+ template: ''
53
+ }]
54
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DescopeAuthConfig }], propDecorators: { tenant: [{
55
+ type: Input
56
+ }], widgetId: [{
57
+ type: Input
58
+ }], theme: [{
59
+ type: Input
60
+ }], debug: [{
61
+ type: Input
62
+ }], logger: [{
63
+ type: Input
64
+ }], styleId: [{
65
+ type: Input
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWtleS1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9hY2Nlc3Mta2V5LW1hbmFnZW1lbnQvYWNjZXNzLWtleS1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxnQ0FBZ0MsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBU3JGLE1BQU0sT0FBTyw0QkFBNEI7SUFldkMsWUFDVSxVQUFzQixFQUM5QixhQUFnQztRQUR4QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSGYsaUJBQVksR0FBRyxJQUFJLGdDQUFnQyxFQUFFLENBQUM7UUFNckUsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDO0lBQzdDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsWUFBb0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQzs4R0F6RFUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsd09BRjdCLEVBQUU7OzJGQUVELDRCQUE0QjtrQkFMeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO29CQUN6QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7K0dBTVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBEZXNjb3BlQWNjZXNzS2V5TWFuYWdlbWVudFdpZGdldCBmcm9tICdAZGVzY29wZS9hY2Nlc3Mta2V5LW1hbmFnZW1lbnQtd2lkZ2V0JztcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tICdAZGVzY29wZS93ZWItY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NvcGVBdXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2Nlc3Mta2V5LW1hbmFnZW1lbnRbdGVuYW50XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBBY2Nlc3NLZXlNYW5hZ2VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgYmFzZVVybD86IHN0cmluZztcbiAgYmFzZVN0YXRpY1VybD86IHN0cmluZztcbiAgYmFzZUNkblVybD86IHN0cmluZztcbiAgQElucHV0KCkgdGVuYW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdpZGdldElkOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgfCAnb3MnO1xuICBASW5wdXQoKSBkZWJ1ZzogYm9vbGVhbjtcbiAgQElucHV0KCkgbG9nZ2VyOiBJTG9nZ2VyO1xuICBASW5wdXQoKSBzdHlsZUlkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB3ZWJDb21wb25lbnQgPSBuZXcgRGVzY29wZUFjY2Vzc0tleU1hbmFnZW1lbnRXaWRnZXQoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgZGVzY29wZUNvbmZpZzogRGVzY29wZUF1dGhDb25maWdcbiAgKSB7XG4gICAgdGhpcy5wcm9qZWN0SWQgPSBkZXNjb3BlQ29uZmlnLnByb2plY3RJZDtcbiAgICB0aGlzLmJhc2VVcmwgPSBkZXNjb3BlQ29uZmlnLmJhc2VVcmw7XG4gICAgdGhpcy5iYXNlU3RhdGljVXJsID0gZGVzY29wZUNvbmZpZy5iYXNlU3RhdGljVXJsO1xuICAgIHRoaXMuYmFzZUNkblVybCA9IGRlc2NvcGVDb25maWcuYmFzZUNkblVybDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dXBXZWJDb21wb25lbnQoKTtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLndlYkNvbXBvbmVudCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNldHVwV2ViQ29tcG9uZW50KCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwV2ViQ29tcG9uZW50KCkge1xuICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgncHJvamVjdC1pZCcsIHRoaXMucHJvamVjdElkKTtcbiAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3RlbmFudCcsIHRoaXMudGVuYW50KTtcbiAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3dpZGdldC1pZCcsIHRoaXMud2lkZ2V0SWQpO1xuICAgIGlmICh0aGlzLmJhc2VVcmwpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnYmFzZS11cmwnLCB0aGlzLmJhc2VVcmwpO1xuICAgIH1cbiAgICBpZiAodGhpcy5iYXNlU3RhdGljVXJsKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ2Jhc2Utc3RhdGljLXVybCcsIHRoaXMuYmFzZVN0YXRpY1VybCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmJhc2VDZG5VcmwpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnYmFzZS1jZG4tdXJsJywgdGhpcy5iYXNlQ2RuVXJsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudGhlbWUpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgndGhlbWUnLCB0aGlzLnRoZW1lKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnZGVidWcnLCB0aGlzLmRlYnVnLnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxvZ2dlcikge1xuICAgICAgKHRoaXMud2ViQ29tcG9uZW50IGFzIGFueSkubG9nZ2VyID0gdGhpcy5sb2dnZXI7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,75 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import DescopeApplicationsPortalWidget from '@descope/applications-portal-widget';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../types/types";
5
+ export class ApplicationsPortalComponent {
6
+ constructor(elementRef, descopeConfig) {
7
+ this.elementRef = elementRef;
8
+ this.logout = new EventEmitter();
9
+ this.webComponent = new DescopeApplicationsPortalWidget();
10
+ this.projectId = descopeConfig.projectId;
11
+ this.baseUrl = descopeConfig.baseUrl;
12
+ this.baseStaticUrl = descopeConfig.baseStaticUrl;
13
+ this.baseCdnUrl = descopeConfig.baseCdnUrl;
14
+ }
15
+ ngOnInit() {
16
+ this.setupWebComponent();
17
+ this.elementRef.nativeElement.appendChild(this.webComponent);
18
+ }
19
+ ngOnChanges() {
20
+ this.setupWebComponent();
21
+ }
22
+ setupWebComponent() {
23
+ this.webComponent.setAttribute('project-id', this.projectId);
24
+ this.webComponent.setAttribute('widget-id', this.widgetId);
25
+ if (this.baseUrl) {
26
+ this.webComponent.setAttribute('base-url', this.baseUrl);
27
+ }
28
+ if (this.baseStaticUrl) {
29
+ this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);
30
+ }
31
+ if (this.baseCdnUrl) {
32
+ this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);
33
+ }
34
+ if (this.theme) {
35
+ this.webComponent.setAttribute('theme', this.theme);
36
+ }
37
+ if (this.debug) {
38
+ this.webComponent.setAttribute('debug', this.debug.toString());
39
+ }
40
+ if (this.logger) {
41
+ this.webComponent.logger = this.logger;
42
+ }
43
+ if (this.styleId) {
44
+ this.webComponent.setAttribute('style-id', this.styleId);
45
+ }
46
+ if (this.logout) {
47
+ this.webComponent.addEventListener('logout', (e) => {
48
+ this.logout?.emit(e);
49
+ });
50
+ }
51
+ }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ApplicationsPortalComponent, deps: [{ token: i0.ElementRef }, { token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: ApplicationsPortalComponent, isStandalone: true, selector: "applications-portal", inputs: { widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { logout: "logout" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ApplicationsPortalComponent, decorators: [{
56
+ type: Component,
57
+ args: [{
58
+ selector: 'applications-portal',
59
+ standalone: true,
60
+ template: ''
61
+ }]
62
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DescopeAuthConfig }], propDecorators: { widgetId: [{
63
+ type: Input
64
+ }], theme: [{
65
+ type: Input
66
+ }], debug: [{
67
+ type: Input
68
+ }], logger: [{
69
+ type: Input
70
+ }], styleId: [{
71
+ type: Input
72
+ }], logout: [{
73
+ type: Output
74
+ }] } });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25zLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXNkay9zcmMvbGliL2NvbXBvbmVudHMvYXBwbGljYXRpb25zLXBvcnRhbC9hcHBsaWNhdGlvbnMtcG9ydGFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sK0JBQStCLE1BQU0scUNBQXFDLENBQUM7OztBQVNsRixNQUFNLE9BQU8sMkJBQTJCO0lBZ0J0QyxZQUNVLFVBQXNCLEVBQzlCLGFBQWdDO1FBRHhCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFMdEIsV0FBTSxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBRTdELGlCQUFZLEdBQUcsSUFBSSwrQkFBK0IsRUFBRSxDQUFDO1FBTXBFLElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQ2pELElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFvQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2xELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQVEsRUFBRSxFQUFFO2dCQUN4RCxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFnQixDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs4R0FsRVUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsMk9BRjVCLEVBQUU7OzJGQUVELDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7K0dBTVUsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IERlc2NvcGVBcHBsaWNhdGlvbnNQb3J0YWxXaWRnZXQgZnJvbSAnQGRlc2NvcGUvYXBwbGljYXRpb25zLXBvcnRhbC13aWRnZXQnO1xuaW1wb3J0IHsgSUxvZ2dlciB9IGZyb20gJ0BkZXNjb3BlL3dlYi1jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVzY29wZUF1dGhDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcy90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcGxpY2F0aW9ucy1wb3J0YWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25zUG9ydGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgYmFzZVVybD86IHN0cmluZztcbiAgYmFzZVN0YXRpY1VybD86IHN0cmluZztcbiAgYmFzZUNkblVybD86IHN0cmluZztcbiAgQElucHV0KCkgd2lkZ2V0SWQ6IHN0cmluZztcblxuICBASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyB8ICdvcyc7XG4gIEBJbnB1dCgpIGRlYnVnOiBib29sZWFuO1xuICBASW5wdXQoKSBsb2dnZXI6IElMb2dnZXI7XG4gIEBJbnB1dCgpIHN0eWxlSWQ6IHN0cmluZztcblxuICBAT3V0cHV0KCkgbG9nb3V0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHdlYkNvbXBvbmVudCA9IG5ldyBEZXNjb3BlQXBwbGljYXRpb25zUG9ydGFsV2lkZ2V0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGRlc2NvcGVDb25maWc6IERlc2NvcGVBdXRoQ29uZmlnXG4gICkge1xuICAgIHRoaXMucHJvamVjdElkID0gZGVzY29wZUNvbmZpZy5wcm9qZWN0SWQ7XG4gICAgdGhpcy5iYXNlVXJsID0gZGVzY29wZUNvbmZpZy5iYXNlVXJsO1xuICAgIHRoaXMuYmFzZVN0YXRpY1VybCA9IGRlc2NvcGVDb25maWcuYmFzZVN0YXRpY1VybDtcbiAgICB0aGlzLmJhc2VDZG5VcmwgPSBkZXNjb3BlQ29uZmlnLmJhc2VDZG5Vcmw7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldHVwV2ViQ29tcG9uZW50KCk7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy53ZWJDb21wb25lbnQpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cFdlYkNvbXBvbmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFdlYkNvbXBvbmVudCgpIHtcbiAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3Byb2plY3QtaWQnLCB0aGlzLnByb2plY3RJZCk7XG4gICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCd3aWRnZXQtaWQnLCB0aGlzLndpZGdldElkKTtcbiAgICBpZiAodGhpcy5iYXNlVXJsKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ2Jhc2UtdXJsJywgdGhpcy5iYXNlVXJsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYmFzZVN0YXRpY1VybCkge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdiYXNlLXN0YXRpYy11cmwnLCB0aGlzLmJhc2VTdGF0aWNVcmwpO1xuICAgIH1cbiAgICBpZiAodGhpcy5iYXNlQ2RuVXJsKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ2Jhc2UtY2RuLXVybCcsIHRoaXMuYmFzZUNkblVybCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRoZW1lKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3RoZW1lJywgdGhpcy50aGVtZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ2RlYnVnJywgdGhpcy5kZWJ1Zy50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2dnZXIpIHtcbiAgICAgICh0aGlzLndlYkNvbXBvbmVudCBhcyBhbnkpLmxvZ2dlciA9IHRoaXMubG9nZ2VyO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdHlsZUlkKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3N0eWxlLWlkJywgdGhpcy5zdHlsZUlkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2dvdXQpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2xvZ291dCcsIChlOiBFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLmxvZ291dD8uZW1pdChlIGFzIEN1c3RvbUV2ZW50KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,70 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import DescopeAuditManagementWidget from '@descope/audit-management-widget';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../types/types";
5
+ export class AuditManagementComponent {
6
+ constructor(elementRef, descopeConfig) {
7
+ this.elementRef = elementRef;
8
+ this.webComponent = new DescopeAuditManagementWidget();
9
+ this.projectId = descopeConfig.projectId;
10
+ this.baseUrl = descopeConfig.baseUrl;
11
+ this.baseStaticUrl = descopeConfig.baseStaticUrl;
12
+ this.baseCdnUrl = descopeConfig.baseCdnUrl;
13
+ }
14
+ ngOnInit() {
15
+ this.setupWebComponent();
16
+ this.elementRef.nativeElement.appendChild(this.webComponent);
17
+ }
18
+ ngOnChanges() {
19
+ this.setupWebComponent();
20
+ }
21
+ setupWebComponent() {
22
+ this.webComponent.setAttribute('project-id', this.projectId);
23
+ this.webComponent.setAttribute('tenant', this.tenant);
24
+ this.webComponent.setAttribute('widget-id', this.widgetId);
25
+ if (this.baseUrl) {
26
+ this.webComponent.setAttribute('base-url', this.baseUrl);
27
+ }
28
+ if (this.baseStaticUrl) {
29
+ this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);
30
+ }
31
+ if (this.baseCdnUrl) {
32
+ this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);
33
+ }
34
+ if (this.theme) {
35
+ this.webComponent.setAttribute('theme', this.theme);
36
+ }
37
+ if (this.debug) {
38
+ this.webComponent.setAttribute('debug', this.debug.toString());
39
+ }
40
+ if (this.styleId) {
41
+ this.webComponent.setAttribute('style-id', this.styleId);
42
+ }
43
+ if (this.logger) {
44
+ this.webComponent.logger = this.logger;
45
+ }
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AuditManagementComponent, deps: [{ token: i0.ElementRef }, { token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: AuditManagementComponent, isStandalone: true, selector: "audit-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AuditManagementComponent, decorators: [{
51
+ type: Component,
52
+ args: [{
53
+ selector: 'audit-management[tenant]',
54
+ standalone: true,
55
+ template: ''
56
+ }]
57
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DescopeAuthConfig }], propDecorators: { tenant: [{
58
+ type: Input
59
+ }], widgetId: [{
60
+ type: Input
61
+ }], theme: [{
62
+ type: Input
63
+ }], debug: [{
64
+ type: Input
65
+ }], logger: [{
66
+ type: Input
67
+ }], styleId: [{
68
+ type: Input
69
+ }] } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbWFuYWdlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXNkay9zcmMvbGliL2NvbXBvbmVudHMvYXVkaXQtbWFuYWdlbWVudC9hdWRpdC1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyw0QkFBNEIsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBUzVFLE1BQU0sT0FBTyx3QkFBd0I7SUFlbkMsWUFDVSxVQUFzQixFQUM5QixhQUFnQztRQUR4QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSGYsaUJBQVksR0FBRyxJQUFJLDRCQUE0QixFQUFFLENBQUM7UUFNakUsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDO0lBQzdDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsWUFBb0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQzs4R0E1RFUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsbU9BRnpCLEVBQUU7OzJGQUVELHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7K0dBTVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBEZXNjb3BlQXVkaXRNYW5hZ2VtZW50V2lkZ2V0IGZyb20gJ0BkZXNjb3BlL2F1ZGl0LW1hbmFnZW1lbnQtd2lkZ2V0JztcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tICdAZGVzY29wZS93ZWItY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NvcGVBdXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWRpdC1tYW5hZ2VtZW50W3RlbmFudF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgQXVkaXRNYW5hZ2VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgYmFzZVVybD86IHN0cmluZztcbiAgYmFzZVN0YXRpY1VybD86IHN0cmluZztcbiAgYmFzZUNkblVybD86IHN0cmluZztcbiAgQElucHV0KCkgdGVuYW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdpZGdldElkOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgfCAnb3MnO1xuICBASW5wdXQoKSBkZWJ1ZzogYm9vbGVhbjtcbiAgQElucHV0KCkgbG9nZ2VyOiBJTG9nZ2VyO1xuICBASW5wdXQoKSBzdHlsZUlkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB3ZWJDb21wb25lbnQgPSBuZXcgRGVzY29wZUF1ZGl0TWFuYWdlbWVudFdpZGdldCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBkZXNjb3BlQ29uZmlnOiBEZXNjb3BlQXV0aENvbmZpZ1xuICApIHtcbiAgICB0aGlzLnByb2plY3RJZCA9IGRlc2NvcGVDb25maWcucHJvamVjdElkO1xuICAgIHRoaXMuYmFzZVVybCA9IGRlc2NvcGVDb25maWcuYmFzZVVybDtcbiAgICB0aGlzLmJhc2VTdGF0aWNVcmwgPSBkZXNjb3BlQ29uZmlnLmJhc2VTdGF0aWNVcmw7XG4gICAgdGhpcy5iYXNlQ2RuVXJsID0gZGVzY29wZUNvbmZpZy5iYXNlQ2RuVXJsO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXR1cFdlYkNvbXBvbmVudCgpO1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMud2ViQ29tcG9uZW50KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0dXBXZWJDb21wb25lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBXZWJDb21wb25lbnQoKSB7XG4gICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdwcm9qZWN0LWlkJywgdGhpcy5wcm9qZWN0SWQpO1xuICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgndGVuYW50JywgdGhpcy50ZW5hbnQpO1xuICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnd2lkZ2V0LWlkJywgdGhpcy53aWRnZXRJZCk7XG4gICAgaWYgKHRoaXMuYmFzZVVybCkge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdiYXNlLXVybCcsIHRoaXMuYmFzZVVybCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmJhc2VTdGF0aWNVcmwpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnYmFzZS1zdGF0aWMtdXJsJywgdGhpcy5iYXNlU3RhdGljVXJsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYmFzZUNkblVybCkge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdiYXNlLWNkbi11cmwnLCB0aGlzLmJhc2VDZG5VcmwpO1xuICAgIH1cbiAgICBpZiAodGhpcy50aGVtZSkge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCd0aGVtZScsIHRoaXMudGhlbWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdkZWJ1ZycsIHRoaXMuZGVidWcudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0eWxlSWQpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnc3R5bGUtaWQnLCB0aGlzLnN0eWxlSWQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxvZ2dlcikge1xuICAgICAgKHRoaXMud2ViQ29tcG9uZW50IGFzIGFueSkubG9nZ2VyID0gdGhpcy5sb2dnZXI7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,191 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import DescopeWebComponent from '@descope/web-component';
3
+ import DescopeWc from '@descope/web-component';
4
+ import { from } from 'rxjs';
5
+ import { baseHeaders } from '../../utils/constants';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../services/descope-auth.service";
8
+ import * as i2 from "../../types/types";
9
+ export class DescopeComponent {
10
+ constructor(elementRef, authService, descopeConfig) {
11
+ this.elementRef = elementRef;
12
+ this.authService = authService;
13
+ this.success = new EventEmitter();
14
+ this.error = new EventEmitter();
15
+ this.ready = new EventEmitter();
16
+ this.webComponent = new DescopeWebComponent();
17
+ this.projectId = descopeConfig.projectId;
18
+ this.baseUrl = descopeConfig.baseUrl;
19
+ this.baseStaticUrl = descopeConfig.baseStaticUrl;
20
+ this.baseCdnUrl = descopeConfig.baseCdnUrl;
21
+ this.storeLastAuthenticatedUser = descopeConfig.storeLastAuthenticatedUser;
22
+ }
23
+ ngOnInit() {
24
+ const sdk = this.authService.descopeSdk; // Capture the class context in a variable
25
+ const WebComponent = customElements?.get('descope-wc') || DescopeWc;
26
+ WebComponent.sdkConfigOverrides = {
27
+ // Overrides the web-component's base headers to indicate usage via the React SDK
28
+ baseHeaders,
29
+ // Disables token persistence within the web-component to delegate token management
30
+ // to the global SDK hooks. This ensures token handling aligns with the SDK's configuration,
31
+ // and web-component requests leverage the global SDK's beforeRequest hooks for consistency
32
+ persistTokens: false,
33
+ hooks: {
34
+ get beforeRequest() {
35
+ // Retrieves the beforeRequest hook from the global SDK, which is initialized
36
+ // within the AuthProvider using the desired configuration. This approach ensures
37
+ // the web-component utilizes the same beforeRequest hooks as the global SDK
38
+ return sdk.httpClient.hooks?.beforeRequest;
39
+ },
40
+ set beforeRequest(_) {
41
+ // The empty setter prevents runtime errors when attempts are made to assign a value to 'beforeRequest'.
42
+ // JavaScript objects default to having both getters and setters
43
+ }
44
+ }
45
+ };
46
+ this.setupWebComponent();
47
+ this.elementRef.nativeElement.appendChild(this.webComponent);
48
+ }
49
+ ngOnChanges() {
50
+ this.setupWebComponent();
51
+ }
52
+ setupWebComponent() {
53
+ this.webComponent.setAttribute('project-id', this.projectId);
54
+ this.webComponent.setAttribute('flow-id', this.flowId);
55
+ if (this.baseUrl) {
56
+ this.webComponent.setAttribute('base-url', this.baseUrl);
57
+ }
58
+ if (this.baseStaticUrl) {
59
+ this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);
60
+ }
61
+ if (this.baseCdnUrl) {
62
+ this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);
63
+ }
64
+ if (this.storeLastAuthenticatedUser) {
65
+ this.webComponent.setAttribute('store-last-authenticated-user', this.storeLastAuthenticatedUser.toString());
66
+ }
67
+ if (this.locale) {
68
+ this.webComponent.setAttribute('locale', this.locale);
69
+ }
70
+ if (this.theme) {
71
+ this.webComponent.setAttribute('theme', this.theme);
72
+ }
73
+ if (this.tenant) {
74
+ this.webComponent.setAttribute('tenant', this.tenant);
75
+ }
76
+ if (this.telemetryKey) {
77
+ this.webComponent.setAttribute('telemetryKey', this.telemetryKey);
78
+ }
79
+ if (this.redirectUrl) {
80
+ this.webComponent.setAttribute('redirect-url', this.redirectUrl);
81
+ }
82
+ if (this.autoFocus) {
83
+ this.webComponent.setAttribute('auto-focus', this.autoFocus.toString());
84
+ }
85
+ if (this.validateOnBlur) {
86
+ this.webComponent.setAttribute('validate-on-blur', this.validateOnBlur.toString());
87
+ }
88
+ if (this.restartOnError) {
89
+ this.webComponent.setAttribute('restart-on-error', this.restartOnError.toString());
90
+ }
91
+ if (this.debug) {
92
+ this.webComponent.setAttribute('debug', this.debug.toString());
93
+ }
94
+ if (this.styleId) {
95
+ this.webComponent.setAttribute('style-id', this.styleId);
96
+ }
97
+ if (this.errorTransformer) {
98
+ this.webComponent.errorTransformer = this.errorTransformer;
99
+ }
100
+ if (this.onScreenUpdate) {
101
+ this.webComponent.onScreenUpdate = this.onScreenUpdate;
102
+ }
103
+ if (this.client) {
104
+ this.webComponent.setAttribute('client', JSON.stringify(this.client));
105
+ }
106
+ if (this.nonce) {
107
+ this.webComponent.setAttribute('nonce', JSON.stringify(this.nonce));
108
+ }
109
+ if (this.dismissScreenErrorOnInput) {
110
+ this.webComponent.setAttribute('dismiss-screen-error-on-input', JSON.stringify(this.dismissScreenErrorOnInput));
111
+ }
112
+ if (this.form) {
113
+ this.webComponent.setAttribute('form', JSON.stringify(this.form));
114
+ }
115
+ if (this.logger) {
116
+ this.webComponent.logger = this.logger;
117
+ }
118
+ this.webComponent.addEventListener('success', (e) => {
119
+ from(this.authService.descopeSdk.httpClient.hooks?.afterRequest(
120
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
121
+ {}, new Response(JSON.stringify(e.detail)))).subscribe(() => {
122
+ if (this.success) {
123
+ this.success?.emit(e);
124
+ }
125
+ });
126
+ });
127
+ if (this.error) {
128
+ this.webComponent.addEventListener('error', (e) => {
129
+ this.error?.emit(e);
130
+ });
131
+ }
132
+ if (this.ready) {
133
+ this.webComponent.addEventListener('ready', () => {
134
+ this.ready?.emit();
135
+ });
136
+ }
137
+ }
138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: DescopeComponent, deps: [{ token: i0.ElementRef }, { token: i1.DescopeAuthService }, { token: i2.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
139
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: DescopeComponent, isStandalone: true, selector: "descope[flowId]", inputs: { flowId: "flowId", locale: "locale", theme: "theme", tenant: "tenant", telemetryKey: "telemetryKey", redirectUrl: "redirectUrl", autoFocus: "autoFocus", validateOnBlur: "validateOnBlur", restartOnError: "restartOnError", debug: "debug", errorTransformer: "errorTransformer", onScreenUpdate: "onScreenUpdate", client: "client", nonce: "nonce", dismissScreenErrorOnInput: "dismissScreenErrorOnInput", form: "form", logger: "logger", styleId: "styleId" }, outputs: { success: "success", error: "error", ready: "ready" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
140
+ }
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: DescopeComponent, decorators: [{
142
+ type: Component,
143
+ args: [{
144
+ selector: 'descope[flowId]',
145
+ standalone: true,
146
+ template: ''
147
+ }]
148
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DescopeAuthService }, { type: i2.DescopeAuthConfig }], propDecorators: { flowId: [{
149
+ type: Input
150
+ }], locale: [{
151
+ type: Input
152
+ }], theme: [{
153
+ type: Input
154
+ }], tenant: [{
155
+ type: Input
156
+ }], telemetryKey: [{
157
+ type: Input
158
+ }], redirectUrl: [{
159
+ type: Input
160
+ }], autoFocus: [{
161
+ type: Input
162
+ }], validateOnBlur: [{
163
+ type: Input
164
+ }], restartOnError: [{
165
+ type: Input
166
+ }], debug: [{
167
+ type: Input
168
+ }], errorTransformer: [{
169
+ type: Input
170
+ }], onScreenUpdate: [{
171
+ type: Input
172
+ }], client: [{
173
+ type: Input
174
+ }], nonce: [{
175
+ type: Input
176
+ }], dismissScreenErrorOnInput: [{
177
+ type: Input
178
+ }], form: [{
179
+ type: Input
180
+ }], logger: [{
181
+ type: Input
182
+ }], styleId: [{
183
+ type: Input
184
+ }], success: [{
185
+ type: Output
186
+ }], error: [{
187
+ type: Output
188
+ }], ready: [{
189
+ type: Output
190
+ }] } });
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXNkay9zcmMvbGliL2NvbXBvbmVudHMvZGVzY29wZS9kZXNjb3BlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sbUJBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxTQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBRTVELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBUXBELE1BQU0sT0FBTyxnQkFBZ0I7SUEyQzNCLFlBQ1UsVUFBc0IsRUFDdEIsV0FBK0IsRUFDdkMsYUFBZ0M7UUFGeEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFWL0IsWUFBTyxHQUNmLElBQUksWUFBWSxFQUFlLENBQUM7UUFDeEIsVUFBSyxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBQ25FLFVBQUssR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU5QyxpQkFBWSxHQUMzQixJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFPMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDO1FBQzNDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxhQUFhLENBQUMsMEJB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Y0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFTRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUVHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgRGVzY29wZVdlYkNvbXBvbmVudCBmcm9tICdAZGVzY29wZS93ZWItY29tcG9uZW50JztcbmltcG9ydCBEZXNjb3BlV2MsIHsgSUxvZ2dlciB9IGZyb20gJ0BkZXNjb3BlL3dlYi1jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVzY29wZUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGVzY29wZS1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYmFzZUhlYWRlcnMgfSBmcm9tICcuLi8uLi91dGlscy9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGVzY29wZUF1dGhDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcy90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc2NvcGVbZmxvd0lkXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBEZXNjb3BlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgYmFzZVVybD86IHN0cmluZztcbiAgYmFzZVN0YXRpY1VybD86IHN0cmluZztcbiAgYmFzZUNkblVybD86IHN0cmluZztcbiAgc3RvcmVMYXN0QXV0aGVudGljYXRlZFVzZXI/OiBib29sZWFuO1xuICBASW5wdXQoKSBmbG93SWQ6IHN0cmluZztcblxuICBASW5wdXQoKSBsb2NhbGU6IHN0cmluZztcbiAgQElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgfCAnb3MnO1xuICBASW5wdXQoKSB0ZW5hbnQ6IHN0cmluZztcbiAgQElucHV0KCkgdGVsZW1ldHJ5S2V5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlZGlyZWN0VXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGF1dG9Gb2N1czogdHJ1ZSB8IGZhbHNlIHwgJ3NraXBGaXJzdFNjcmVlbic7XG4gIEBJbnB1dCgpIHZhbGlkYXRlT25CbHVyOiBib29sZWFuO1xuICBASW5wdXQoKSByZXN0YXJ0T25FcnJvcjogYm9vbGVhbjtcblxuICBASW5wdXQoKSBkZWJ1ZzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXJyb3JUcmFuc2Zvcm1lcjogKGVycm9yOiB7IHRleHQ6IHN0cmluZzsgdHlwZTogc3RyaW5nIH0pID0+IHN0cmluZztcbiAgQElucHV0KCkgb25TY3JlZW5VcGRhdGU6IChcbiAgICBzY3JlZW5OYW1lOiBzdHJpbmcsXG4gICAgY29udGV4dDogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBuZXh0OiAoXG4gICAgICBpbnRlcmFjdGlvbklkOiBzdHJpbmcsXG4gICAgICBmb3JtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgKSA9PiBQcm9taXNlPHVua25vd24+LFxuICAgIHJlZjogSFRNTEVsZW1lbnRcbiAgKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcbiAgQElucHV0KCkgY2xpZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBASW5wdXQoKSBub25jZTogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNtaXNzU2NyZWVuRXJyb3JPbklucHV0OiBib29sZWFuO1xuICBASW5wdXQoKSBmb3JtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBASW5wdXQoKSBsb2dnZXI6IElMb2dnZXI7XG4gIEBJbnB1dCgpIHN0eWxlSWQ6IHN0cmluZztcblxuICBAT3V0cHV0KCkgc3VjY2VzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudD4oKTtcbiAgQE91dHB1dCgpIGVycm9yOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudD4oKTtcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB3ZWJDb21wb25lbnQ6IERlc2NvcGVXZWJDb21wb25lbnQgPVxuICAgIG5ldyBEZXNjb3BlV2ViQ29tcG9uZW50KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IERlc2NvcGVBdXRoU2VydmljZSxcbiAgICBkZXNjb3BlQ29uZmlnOiBEZXNjb3BlQXV0aENvbmZpZ1xuICApIHtcbiAgICB0aGlzLnByb2plY3RJZCA9IGRlc2NvcGVDb25maWcucHJvamVjdElkO1xuICAgIHRoaXMuYmFzZVVybCA9IGRlc2NvcGVDb25maWcuYmFzZVVybDtcbiAgICB0aGlzLmJhc2VTdGF0aWNVcmwgPSBkZXNjb3BlQ29uZmlnLmJhc2VTdGF0aWNVcmw7XG4gICAgdGhpcy5iYXNlQ2RuVXJsID0gZGVzY29wZUNvbmZpZy5iYXNlQ2RuVXJsO1xuICAgIHRoaXMuc3RvcmVMYXN0QXV0aGVudGljYXRlZFVzZXIgPSBkZXNjb3BlQ29uZmlnLnN0b3JlTGFzdEF1dGhlbnRpY2F0ZWRVc2VyO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3Qgc2RrID0gdGhpcy5hdXRoU2VydmljZS5kZXNjb3BlU2RrOyAvLyBDYXB0dXJlIHRoZSBjbGFzcyBjb250ZXh0IGluIGEgdmFyaWFibGVcbiAgICBjb25zdCBXZWJDb21wb25lbnQ6IGFueSA9IGN1c3RvbUVsZW1lbnRzPy5nZXQoJ2Rlc2NvcGUtd2MnKSB8fCBEZXNjb3BlV2M7XG5cbiAgICBXZWJDb21wb25lbnQuc2RrQ29uZmlnT3ZlcnJpZGVzID0ge1xuICAgICAgLy8gT3ZlcnJpZGVzIHRoZSB3ZWItY29tcG9uZW50J3MgYmFzZSBoZWFkZXJzIHRvIGluZGljYXRlIHVzYWdlIHZpYSB0aGUgUmVhY3QgU0RLXG4gICAgICBiYXNlSGVhZGVycyxcbiAgICAgIC8vIERpc2FibGVzIHRva2VuIHBlcnNpc3RlbmNlIHdpdGhpbiB0aGUgd2ViLWNvbXBvbmVudCB0byBkZWxlZ2F0ZSB0b2tlbiBtYW5hZ2VtZW50XG4gICAgICAvLyB0byB0aGUgZ2xvYmFsIFNESyBob29rcy4gVGhpcyBlbnN1cmVzIHRva2VuIGhhbmRsaW5nIGFsaWducyB3aXRoIHRoZSBTREsncyBjb25maWd1cmF0aW9uLFxuICAgICAgLy8gYW5kIHdlYi1jb21wb25lbnQgcmVxdWVzdHMgbGV2ZXJhZ2UgdGhlIGdsb2JhbCBTREsncyBiZWZvcmVSZXF1ZXN0IGhvb2tzIGZvciBjb25zaXN0ZW5jeVxuICAgICAgcGVyc2lzdFRva2VuczogZmFsc2UsXG4gICAgICBob29rczoge1xuICAgICAgICBnZXQgYmVmb3JlUmVxdWVzdCgpIHtcbiAgICAgICAgICAvLyBSZXRyaWV2ZXMgdGhlIGJlZm9yZVJlcXVlc3QgaG9vayBmcm9tIHRoZSBnbG9iYWwgU0RLLCB3aGljaCBpcyBpbml0aWFsaXplZFxuICAgICAgICAgIC8vIHdpdGhpbiB0aGUgQXV0aFByb3ZpZGVyIHVzaW5nIHRoZSBkZXNpcmVkIGNvbmZpZ3VyYXRpb24uIFRoaXMgYXBwcm9hY2ggZW5zdXJlc1xuICAgICAgICAgIC8vIHRoZSB3ZWItY29tcG9uZW50IHV0aWxpemVzIHRoZSBzYW1lIGJlZm9yZVJlcXVlc3QgaG9va3MgYXMgdGhlIGdsb2JhbCBTREtcbiAgICAgICAgICByZXR1cm4gc2RrLmh0dHBDbGllbnQuaG9va3M/LmJlZm9yZVJlcXVlc3Q7XG4gICAgICAgIH0sXG4gICAgICAgIHNldCBiZWZvcmVSZXF1ZXN0KF8pIHtcbiAgICAgICAgICAvLyBUaGUgZW1wdHkgc2V0dGVyIHByZXZlbnRzIHJ1bnRpbWUgZXJyb3JzIHdoZW4gYXR0ZW1wdHMgYXJlIG1hZGUgdG8gYXNzaWduIGEgdmFsdWUgdG8gJ2JlZm9yZVJlcXVlc3QnLlxuICAgICAgICAgIC8vIEphdmFTY3JpcHQgb2JqZWN0cyBkZWZhdWx0IHRvIGhhdmluZyBib3RoIGdldHRlcnMgYW5kIHNldHRlcnNcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5zZXR1cFdlYkNvbXBvbmVudCgpO1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMud2ViQ29tcG9uZW50KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0dXBXZWJDb21wb25lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBXZWJDb21wb25lbnQoKSB7XG4gICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdwcm9qZWN0LWlkJywgdGhpcy5wcm9qZWN0SWQpO1xuICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnZmxvdy1pZCcsIHRoaXMuZmxvd0lkKTtcblxuICAgIGlmICh0aGlzLmJhc2VVcmwpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnYmFzZS11cmwnLCB0aGlzLmJhc2VVcmwpO1xuICAgIH1cbiAgICBpZiAodGhpcy5iYXNlU3RhdGljVXJsKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ2Jhc2Utc3RhdGljLXVybCcsIHRoaXMuYmFzZVN0YXRpY1VybCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmJhc2VDZG5VcmwpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnYmFzZS1jZG4tdXJsJywgdGhpcy5iYXNlQ2RuVXJsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RvcmVMYXN0QXV0aGVudGljYXRlZFVzZXIpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICAgJ3N0b3JlLWxhc3QtYXV0aGVudGljYXRlZC11c2VyJyxcbiAgICAgICAgdGhpcy5zdG9yZUxhc3RBdXRoZW50aWNhdGVkVXNlci50b1N0cmluZygpXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5sb2NhbGUpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnbG9jYWxlJywgdGhpcy5sb2NhbGUpO1xuICAgIH1cbiAgICBpZiAodGhpcy50aGVtZSkge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCd0aGVtZScsIHRoaXMudGhlbWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy50ZW5hbnQpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgndGVuYW50JywgdGhpcy50ZW5hbnQpO1xuICAgIH1cbiAgICBpZiAodGhpcy50ZWxlbWV0cnlLZXkpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgndGVsZW1ldHJ5S2V5JywgdGhpcy50ZWxlbWV0cnlLZXkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZWRpcmVjdFVybCkge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdyZWRpcmVjdC11cmwnLCB0aGlzLnJlZGlyZWN0VXJsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ2F1dG8tZm9jdXMnLCB0aGlzLmF1dG9Gb2N1cy50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsaWRhdGVPbkJsdXIpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICAgJ3ZhbGlkYXRlLW9uLWJsdXInLFxuICAgICAgICB0aGlzLnZhbGlkYXRlT25CbHVyLnRvU3RyaW5nKClcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJlc3RhcnRPbkVycm9yKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICdyZXN0YXJ0LW9uLWVycm9yJyxcbiAgICAgICAgdGhpcy5yZXN0YXJ0T25FcnJvci50b1N0cmluZygpXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdkZWJ1ZycsIHRoaXMuZGVidWcudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0eWxlSWQpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnc3R5bGUtaWQnLCB0aGlzLnN0eWxlSWQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmVycm9yVHJhbnNmb3JtZXIpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LmVycm9yVHJhbnNmb3JtZXIgPSB0aGlzLmVycm9yVHJhbnNmb3JtZXI7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub25TY3JlZW5VcGRhdGUpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50Lm9uU2NyZWVuVXBkYXRlID0gdGhpcy5vblNjcmVlblVwZGF0ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jbGllbnQpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnY2xpZW50JywgSlNPTi5zdHJpbmdpZnkodGhpcy5jbGllbnQpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ub25jZSkge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdub25jZScsIEpTT04uc3RyaW5naWZ5KHRoaXMubm9uY2UpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kaXNtaXNzU2NyZWVuRXJyb3JPbklucHV0KSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICdkaXNtaXNzLXNjcmVlbi1lcnJvci1vbi1pbnB1dCcsXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuZGlzbWlzc1NjcmVlbkVycm9yT25JbnB1dClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdmb3JtJywgSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubG9nZ2VyKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5sb2dnZXIgPSB0aGlzLmxvZ2dlcjtcbiAgICB9XG5cbiAgICB0aGlzLndlYkNvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKCdzdWNjZXNzJywgKGU6IEV2ZW50KSA9PiB7XG4gICAgICBmcm9tKFxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmRlc2NvcGVTZGsuaHR0cENsaWVudC5ob29rcz8uYWZ0ZXJSZXF1ZXN0IShcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgIHt9IGFzIGFueSxcbiAgICAgICAgICBuZXcgUmVzcG9uc2UoSlNPTi5zdHJpbmdpZnkoKGUgYXMgQ3VzdG9tRXZlbnQpLmRldGFpbCkpXG4gICAgICAgICkgYXMgUHJvbWlzZTx1bmtub3duPlxuICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zdWNjZXNzKSB7XG4gICAgICAgICAgdGhpcy5zdWNjZXNzPy5lbWl0KGUgYXMgQ3VzdG9tRXZlbnQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmVycm9yKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIChlOiBFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLmVycm9yPy5lbWl0KGUgYXMgQ3VzdG9tRXZlbnQpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVhZHkpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3JlYWR5JywgKCkgPT4ge1xuICAgICAgICB0aGlzLnJlYWR5Py5lbWl0KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,70 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import DescopeRoleManagementWidget from '@descope/role-management-widget';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../types/types";
5
+ export class RoleManagementComponent {
6
+ constructor(elementRef, descopeConfig) {
7
+ this.elementRef = elementRef;
8
+ this.webComponent = new DescopeRoleManagementWidget();
9
+ this.projectId = descopeConfig.projectId;
10
+ this.baseUrl = descopeConfig.baseUrl;
11
+ this.baseStaticUrl = descopeConfig.baseStaticUrl;
12
+ this.baseCdnUrl = descopeConfig.baseCdnUrl;
13
+ }
14
+ ngOnInit() {
15
+ this.setupWebComponent();
16
+ this.elementRef.nativeElement.appendChild(this.webComponent);
17
+ }
18
+ ngOnChanges() {
19
+ this.setupWebComponent();
20
+ }
21
+ setupWebComponent() {
22
+ this.webComponent.setAttribute('project-id', this.projectId);
23
+ this.webComponent.setAttribute('tenant', this.tenant);
24
+ this.webComponent.setAttribute('widget-id', this.widgetId);
25
+ if (this.baseUrl) {
26
+ this.webComponent.setAttribute('base-url', this.baseUrl);
27
+ }
28
+ if (this.baseStaticUrl) {
29
+ this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);
30
+ }
31
+ if (this.baseCdnUrl) {
32
+ this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);
33
+ }
34
+ if (this.theme) {
35
+ this.webComponent.setAttribute('theme', this.theme);
36
+ }
37
+ if (this.debug) {
38
+ this.webComponent.setAttribute('debug', this.debug.toString());
39
+ }
40
+ if (this.styleId) {
41
+ this.webComponent.setAttribute('style-id', this.styleId);
42
+ }
43
+ if (this.logger) {
44
+ this.webComponent.logger = this.logger;
45
+ }
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RoleManagementComponent, deps: [{ token: i0.ElementRef }, { token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: RoleManagementComponent, isStandalone: true, selector: "role-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RoleManagementComponent, decorators: [{
51
+ type: Component,
52
+ args: [{
53
+ selector: 'role-management[tenant]',
54
+ standalone: true,
55
+ template: ''
56
+ }]
57
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DescopeAuthConfig }], propDecorators: { tenant: [{
58
+ type: Input
59
+ }], widgetId: [{
60
+ type: Input
61
+ }], theme: [{
62
+ type: Input
63
+ }], debug: [{
64
+ type: Input
65
+ }], logger: [{
66
+ type: Input
67
+ }], styleId: [{
68
+ type: Input
69
+ }] } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9yb2xlLW1hbmFnZW1lbnQvcm9sZS1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTywyQkFBMkIsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBUzFFLE1BQU0sT0FBTyx1QkFBdUI7SUFlbEMsWUFDVSxVQUFzQixFQUM5QixhQUFnQztRQUR4QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSGYsaUJBQVksR0FBRyxJQUFJLDJCQUEyQixFQUFFLENBQUM7UUFNaEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDO0lBQzdDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsWUFBb0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQzs4R0E1RFUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsa09BRnhCLEVBQUU7OzJGQUVELHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7K0dBTVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBEZXNjb3BlUm9sZU1hbmFnZW1lbnRXaWRnZXQgZnJvbSAnQGRlc2NvcGUvcm9sZS1tYW5hZ2VtZW50LXdpZGdldCc7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSAnQGRlc2NvcGUvd2ViLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjb3BlQXV0aENvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sZS1tYW5hZ2VtZW50W3RlbmFudF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgUm9sZU1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByb2plY3RJZDogc3RyaW5nO1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBiYXNlU3RhdGljVXJsPzogc3RyaW5nO1xuICBiYXNlQ2RuVXJsPzogc3RyaW5nO1xuICBASW5wdXQoKSB0ZW5hbnQ6IHN0cmluZztcbiAgQElucHV0KCkgd2lkZ2V0SWQ6IHN0cmluZztcblxuICBASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyB8ICdvcyc7XG4gIEBJbnB1dCgpIGRlYnVnOiBib29sZWFuO1xuICBASW5wdXQoKSBsb2dnZXI6IElMb2dnZXI7XG4gIEBJbnB1dCgpIHN0eWxlSWQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHdlYkNvbXBvbmVudCA9IG5ldyBEZXNjb3BlUm9sZU1hbmFnZW1lbnRXaWRnZXQoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgZGVzY29wZUNvbmZpZzogRGVzY29wZUF1dGhDb25maWdcbiAgKSB7XG4gICAgdGhpcy5wcm9qZWN0SWQgPSBkZXNjb3BlQ29uZmlnLnByb2plY3RJZDtcbiAgICB0aGlzLmJhc2VVcmwgPSBkZXNjb3BlQ29uZmlnLmJhc2VVcmw7XG4gICAgdGhpcy5iYXNlU3RhdGljVXJsID0gZGVzY29wZUNvbmZpZy5iYXNlU3RhdGljVXJsO1xuICAgIHRoaXMuYmFzZUNkblVybCA9IGRlc2NvcGVDb25maWcuYmFzZUNkblVybDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dXBXZWJDb21wb25lbnQoKTtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLndlYkNvbXBvbmVudCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNldHVwV2ViQ29tcG9uZW50KCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwV2ViQ29tcG9uZW50KCkge1xuICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgncHJvamVjdC1pZCcsIHRoaXMucHJvamVjdElkKTtcbiAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3RlbmFudCcsIHRoaXMudGVuYW50KTtcbiAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3dpZGdldC1pZCcsIHRoaXMud2lkZ2V0SWQpO1xuICAgIGlmICh0aGlzLmJhc2VVcmwpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnYmFzZS11cmwnLCB0aGlzLmJhc2VVcmwpO1xuICAgIH1cbiAgICBpZiAodGhpcy5iYXNlU3RhdGljVXJsKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ2Jhc2Utc3RhdGljLXVybCcsIHRoaXMuYmFzZVN0YXRpY1VybCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmJhc2VDZG5VcmwpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnYmFzZS1jZG4tdXJsJywgdGhpcy5iYXNlQ2RuVXJsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudGhlbWUpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgndGhlbWUnLCB0aGlzLnRoZW1lKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnZGVidWcnLCB0aGlzLmRlYnVnLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdHlsZUlkKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3N0eWxlLWlkJywgdGhpcy5zdHlsZUlkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2dnZXIpIHtcbiAgICAgICh0aGlzLndlYkNvbXBvbmVudCBhcyBhbnkpLmxvZ2dlciA9IHRoaXMubG9nZ2VyO1xuICAgIH1cbiAgfVxufVxuIl19