@descope/angular-sdk 0.0.0-next-5d0760a4-20240722 → 0.0.0-next-0e292820-20250415

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 (60) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +711 -11
  3. package/{esm2022 → dist/esm2022}/environment.mjs +2 -2
  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/{esm2022 → dist/esm2022}/lib/services/descope-auth.guard.mjs +1 -1
  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/{esm2022 → dist/esm2022}/lib/utils/constants.mjs +1 -1
  20. package/dist/esm2022/lib/utils/helpers.mjs +27 -0
  21. package/{esm2022 → dist/esm2022}/public-api.mjs +2 -1
  22. package/{fesm2022 → dist/fesm2022}/descope-angular-sdk.mjs +263 -80
  23. package/dist/fesm2022/descope-angular-sdk.mjs.map +1 -0
  24. package/{lib → dist/lib}/components/access-key-management/access-key-management.component.d.ts +3 -1
  25. package/dist/lib/components/applications-portal/applications-portal.component.d.ts +24 -0
  26. package/{lib → dist/lib}/components/audit-management/audit-management.component.d.ts +3 -1
  27. package/{lib → dist/lib}/components/descope/descope.component.d.ts +8 -1
  28. package/{lib → dist/lib}/components/role-management/role-management.component.d.ts +3 -1
  29. package/{lib → dist/lib}/components/sign-in-flow/sign-in-flow.component.d.ts +7 -1
  30. package/{lib → dist/lib}/components/sign-up-flow/sign-up-flow.component.d.ts +7 -1
  31. package/{lib → dist/lib}/components/sign-up-or-in-flow/sign-up-or-in-flow.component.d.ts +7 -1
  32. package/{lib → dist/lib}/components/user-management/user-management.component.d.ts +3 -1
  33. package/{lib → dist/lib}/components/user-profile/user-profile.component.d.ts +6 -2
  34. package/{lib → dist/lib}/descope-auth.module.d.ts +2 -1
  35. package/{lib → dist/lib}/services/descope-auth.service.d.ts +7 -6
  36. package/{lib → dist/lib}/types/types.d.ts +3 -1
  37. package/{public-api.d.ts → dist/public-api.d.ts} +1 -0
  38. package/package.json +74 -25
  39. package/esm2022/lib/components/access-key-management/access-key-management.component.mjs +0 -61
  40. package/esm2022/lib/components/audit-management/audit-management.component.mjs +0 -61
  41. package/esm2022/lib/components/descope/descope.component.mjs +0 -156
  42. package/esm2022/lib/components/role-management/role-management.component.mjs +0 -61
  43. package/esm2022/lib/components/sign-in-flow/sign-in-flow.component.mjs +0 -44
  44. package/esm2022/lib/components/sign-up-flow/sign-up-flow.component.mjs +0 -44
  45. package/esm2022/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.mjs +0 -44
  46. package/esm2022/lib/components/user-management/user-management.component.mjs +0 -61
  47. package/esm2022/lib/components/user-profile/user-profile.component.mjs +0 -66
  48. package/esm2022/lib/descope-auth.module.mjs +0 -77
  49. package/esm2022/lib/services/descope-auth.service.mjs +0 -154
  50. package/esm2022/lib/services/descope.interceptor.mjs +0 -51
  51. package/esm2022/lib/types/types.mjs +0 -6
  52. package/esm2022/lib/utils/helpers.mjs +0 -27
  53. package/fesm2022/descope-angular-sdk.mjs.map +0 -1
  54. /package/{environment.d.ts → dist/environment.d.ts} +0 -0
  55. /package/{esm2022 → dist/esm2022}/descope-angular-sdk.mjs +0 -0
  56. /package/{index.d.ts → dist/index.d.ts} +0 -0
  57. /package/{lib → dist/lib}/services/descope-auth.guard.d.ts +0 -0
  58. /package/{lib → dist/lib}/services/descope.interceptor.d.ts +0 -0
  59. /package/{lib → dist/lib}/utils/constants.d.ts +0 -0
  60. /package/{lib → dist/lib}/utils/helpers.d.ts +0 -0
@@ -0,0 +1,56 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { DescopeComponent } from '../descope/descope.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../types/types";
5
+ export class SignUpFlowComponent {
6
+ constructor(descopeConfig) {
7
+ this.success = new EventEmitter();
8
+ this.error = new EventEmitter();
9
+ this.projectId = descopeConfig.projectId;
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: SignUpFlowComponent, deps: [{ token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: SignUpFlowComponent, isStandalone: true, selector: "descope-sign-up-flow", inputs: { 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" }, ngImport: i0, template: "<descope\n (success)=\"success.emit($event)\"\n (error)=\"error.emit($event)\"\n flowId=\"sign-up\"\n [locale]=\"locale\"\n [theme]=\"theme\"\n [tenant]=\"tenant\"\n [telemetryKey]=\"telemetryKey\"\n [redirectUrl]=\"redirectUrl\"\n [autoFocus]=\"autoFocus\"\n [validateOnBlur]=\"validateOnBlur\"\n [restartOnError]=\"restartOnError\"\n [debug]=\"debug\"\n [errorTransformer]=\"errorTransformer\"\n [onScreenUpdate]=\"onScreenUpdate\"\n [client]=\"client\"\n [nonce]=\"nonce\"\n [dismissScreenErrorOnInput]=\"dismissScreenErrorOnInput\"\n [form]=\"form\"\n [logger]=\"logger\"\n [styleId]=\"styleId\"\n>\n</descope>\n", dependencies: [{ kind: "component", type: DescopeComponent, selector: "descope[flowId]", inputs: ["flowId", "locale", "theme", "tenant", "telemetryKey", "redirectUrl", "autoFocus", "validateOnBlur", "restartOnError", "debug", "errorTransformer", "onScreenUpdate", "client", "nonce", "dismissScreenErrorOnInput", "form", "logger", "styleId"], outputs: ["success", "error", "ready"] }] }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: SignUpFlowComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'descope-sign-up-flow', standalone: true, imports: [DescopeComponent], template: "<descope\n (success)=\"success.emit($event)\"\n (error)=\"error.emit($event)\"\n flowId=\"sign-up\"\n [locale]=\"locale\"\n [theme]=\"theme\"\n [tenant]=\"tenant\"\n [telemetryKey]=\"telemetryKey\"\n [redirectUrl]=\"redirectUrl\"\n [autoFocus]=\"autoFocus\"\n [validateOnBlur]=\"validateOnBlur\"\n [restartOnError]=\"restartOnError\"\n [debug]=\"debug\"\n [errorTransformer]=\"errorTransformer\"\n [onScreenUpdate]=\"onScreenUpdate\"\n [client]=\"client\"\n [nonce]=\"nonce\"\n [dismissScreenErrorOnInput]=\"dismissScreenErrorOnInput\"\n [form]=\"form\"\n [logger]=\"logger\"\n [styleId]=\"styleId\"\n>\n</descope>\n" }]
17
+ }], ctorParameters: () => [{ type: i1.DescopeAuthConfig }], propDecorators: { locale: [{
18
+ type: Input
19
+ }], theme: [{
20
+ type: Input
21
+ }], tenant: [{
22
+ type: Input
23
+ }], telemetryKey: [{
24
+ type: Input
25
+ }], redirectUrl: [{
26
+ type: Input
27
+ }], autoFocus: [{
28
+ type: Input
29
+ }], validateOnBlur: [{
30
+ type: Input
31
+ }], restartOnError: [{
32
+ type: Input
33
+ }], debug: [{
34
+ type: Input
35
+ }], errorTransformer: [{
36
+ type: Input
37
+ }], onScreenUpdate: [{
38
+ type: Input
39
+ }], client: [{
40
+ type: Input
41
+ }], nonce: [{
42
+ type: Input
43
+ }], dismissScreenErrorOnInput: [{
44
+ type: Input
45
+ }], form: [{
46
+ type: Input
47
+ }], logger: [{
48
+ type: Input
49
+ }], styleId: [{
50
+ type: Input
51
+ }], success: [{
52
+ type: Output
53
+ }], error: [{
54
+ type: Output
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi11cC1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLWZsb3cvc2lnbi11cC1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLWZsb3cvc2lnbi11cC1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVNoRSxNQUFNLE9BQU8sbUJBQW1CO0lBa0M5QixZQUFZLGFBQWdDO1FBSmxDLFlBQU8sR0FDZixJQUFJLFlBQVksRUFBZSxDQUFDO1FBQ3hCLFVBQUssR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUczRSxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDM0MsQ0FBQzs4R0FwQ1UsbUJBQW1CO2tHQUFuQixtQkFBbUIsNmpCQ1hoQyw4bkJBdUJBLDRDRGZZLGdCQUFnQjs7MkZBR2YsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsQ0FBQztzRkFNbEIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFTRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUVHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSAnQGRlc2NvcGUvd2ViLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjb3BlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGVzY29wZS9kZXNjb3BlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjb3BlQXV0aENvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzY29wZS1zaWduLXVwLWZsb3cnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRGVzY29wZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWduLXVwLWZsb3cuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNpZ25VcEZsb3dDb21wb25lbnQge1xuICBwcm9qZWN0SWQ6IHN0cmluZztcblxuICBASW5wdXQoKSBsb2NhbGU6IHN0cmluZztcbiAgQElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgfCAnb3MnO1xuICBASW5wdXQoKSB0ZW5hbnQ6IHN0cmluZztcbiAgQElucHV0KCkgdGVsZW1ldHJ5S2V5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlZGlyZWN0VXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGF1dG9Gb2N1czogdHJ1ZSB8IGZhbHNlIHwgJ3NraXBGaXJzdFNjcmVlbic7XG4gIEBJbnB1dCgpIHZhbGlkYXRlT25CbHVyOiBib29sZWFuO1xuICBASW5wdXQoKSByZXN0YXJ0T25FcnJvcjogYm9vbGVhbjtcblxuICBASW5wdXQoKSBkZWJ1ZzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXJyb3JUcmFuc2Zvcm1lcjogKGVycm9yOiB7IHRleHQ6IHN0cmluZzsgdHlwZTogc3RyaW5nIH0pID0+IHN0cmluZztcbiAgQElucHV0KCkgb25TY3JlZW5VcGRhdGU6IChcbiAgICBzY3JlZW5OYW1lOiBzdHJpbmcsXG4gICAgY29udGV4dDogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBuZXh0OiAoXG4gICAgICBpbnRlcmFjdGlvbklkOiBzdHJpbmcsXG4gICAgICBmb3JtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgKSA9PiBQcm9taXNlPHVua25vd24+LFxuICAgIHJlZjogSFRNTEVsZW1lbnRcbiAgKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcbiAgQElucHV0KCkgY2xpZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBASW5wdXQoKSBub25jZTogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNtaXNzU2NyZWVuRXJyb3JPbklucHV0OiBib29sZWFuO1xuICBASW5wdXQoKSBmb3JtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBASW5wdXQoKSBsb2dnZXI6IElMb2dnZXI7XG4gIEBJbnB1dCgpIHN0eWxlSWQ6IHN0cmluZztcblxuICBAT3V0cHV0KCkgc3VjY2VzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudD4oKTtcbiAgQE91dHB1dCgpIGVycm9yOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudD4oKTtcblxuICBjb25zdHJ1Y3RvcihkZXNjb3BlQ29uZmlnOiBEZXNjb3BlQXV0aENvbmZpZykge1xuICAgIHRoaXMucHJvamVjdElkID0gZGVzY29wZUNvbmZpZy5wcm9qZWN0SWQ7XG4gIH1cbn1cbiIsIjxkZXNjb3BlXG4gIChzdWNjZXNzKT1cInN1Y2Nlc3MuZW1pdCgkZXZlbnQpXCJcbiAgKGVycm9yKT1cImVycm9yLmVtaXQoJGV2ZW50KVwiXG4gIGZsb3dJZD1cInNpZ24tdXBcIlxuICBbbG9jYWxlXT1cImxvY2FsZVwiXG4gIFt0aGVtZV09XCJ0aGVtZVwiXG4gIFt0ZW5hbnRdPVwidGVuYW50XCJcbiAgW3RlbGVtZXRyeUtleV09XCJ0ZWxlbWV0cnlLZXlcIlxuICBbcmVkaXJlY3RVcmxdPVwicmVkaXJlY3RVcmxcIlxuICBbYXV0b0ZvY3VzXT1cImF1dG9Gb2N1c1wiXG4gIFt2YWxpZGF0ZU9uQmx1cl09XCJ2YWxpZGF0ZU9uQmx1clwiXG4gIFtyZXN0YXJ0T25FcnJvcl09XCJyZXN0YXJ0T25FcnJvclwiXG4gIFtkZWJ1Z109XCJkZWJ1Z1wiXG4gIFtlcnJvclRyYW5zZm9ybWVyXT1cImVycm9yVHJhbnNmb3JtZXJcIlxuICBbb25TY3JlZW5VcGRhdGVdPVwib25TY3JlZW5VcGRhdGVcIlxuICBbY2xpZW50XT1cImNsaWVudFwiXG4gIFtub25jZV09XCJub25jZVwiXG4gIFtkaXNtaXNzU2NyZWVuRXJyb3JPbklucHV0XT1cImRpc21pc3NTY3JlZW5FcnJvck9uSW5wdXRcIlxuICBbZm9ybV09XCJmb3JtXCJcbiAgW2xvZ2dlcl09XCJsb2dnZXJcIlxuICBbc3R5bGVJZF09XCJzdHlsZUlkXCJcbj5cbjwvZGVzY29wZT5cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { DescopeComponent } from '../descope/descope.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../types/types";
5
+ export class SignUpOrInFlowComponent {
6
+ constructor(descopeConfig) {
7
+ this.success = new EventEmitter();
8
+ this.error = new EventEmitter();
9
+ this.projectId = descopeConfig.projectId;
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: SignUpOrInFlowComponent, deps: [{ token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: SignUpOrInFlowComponent, isStandalone: true, selector: "descope-sign-up-or-in-flow", inputs: { 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" }, ngImport: i0, template: "<descope\n (success)=\"success.emit($event)\"\n (error)=\"error.emit($event)\"\n flowId=\"sign-up-or-in\"\n [locale]=\"locale\"\n [theme]=\"theme\"\n [tenant]=\"tenant\"\n [telemetryKey]=\"telemetryKey\"\n [redirectUrl]=\"redirectUrl\"\n [autoFocus]=\"autoFocus\"\n [validateOnBlur]=\"validateOnBlur\"\n [restartOnError]=\"restartOnError\"\n [debug]=\"debug\"\n [errorTransformer]=\"errorTransformer\"\n [onScreenUpdate]=\"onScreenUpdate\"\n [client]=\"client\"\n [nonce]=\"nonce\"\n [dismissScreenErrorOnInput]=\"dismissScreenErrorOnInput\"\n [form]=\"form\"\n [logger]=\"logger\"\n [styleId]=\"styleId\"\n>\n</descope>\n", dependencies: [{ kind: "component", type: DescopeComponent, selector: "descope[flowId]", inputs: ["flowId", "locale", "theme", "tenant", "telemetryKey", "redirectUrl", "autoFocus", "validateOnBlur", "restartOnError", "debug", "errorTransformer", "onScreenUpdate", "client", "nonce", "dismissScreenErrorOnInput", "form", "logger", "styleId"], outputs: ["success", "error", "ready"] }] }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: SignUpOrInFlowComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'descope-sign-up-or-in-flow', standalone: true, imports: [DescopeComponent], template: "<descope\n (success)=\"success.emit($event)\"\n (error)=\"error.emit($event)\"\n flowId=\"sign-up-or-in\"\n [locale]=\"locale\"\n [theme]=\"theme\"\n [tenant]=\"tenant\"\n [telemetryKey]=\"telemetryKey\"\n [redirectUrl]=\"redirectUrl\"\n [autoFocus]=\"autoFocus\"\n [validateOnBlur]=\"validateOnBlur\"\n [restartOnError]=\"restartOnError\"\n [debug]=\"debug\"\n [errorTransformer]=\"errorTransformer\"\n [onScreenUpdate]=\"onScreenUpdate\"\n [client]=\"client\"\n [nonce]=\"nonce\"\n [dismissScreenErrorOnInput]=\"dismissScreenErrorOnInput\"\n [form]=\"form\"\n [logger]=\"logger\"\n [styleId]=\"styleId\"\n>\n</descope>\n" }]
17
+ }], ctorParameters: () => [{ type: i1.DescopeAuthConfig }], propDecorators: { locale: [{
18
+ type: Input
19
+ }], theme: [{
20
+ type: Input
21
+ }], tenant: [{
22
+ type: Input
23
+ }], telemetryKey: [{
24
+ type: Input
25
+ }], redirectUrl: [{
26
+ type: Input
27
+ }], autoFocus: [{
28
+ type: Input
29
+ }], validateOnBlur: [{
30
+ type: Input
31
+ }], restartOnError: [{
32
+ type: Input
33
+ }], debug: [{
34
+ type: Input
35
+ }], errorTransformer: [{
36
+ type: Input
37
+ }], onScreenUpdate: [{
38
+ type: Input
39
+ }], client: [{
40
+ type: Input
41
+ }], nonce: [{
42
+ type: Input
43
+ }], dismissScreenErrorOnInput: [{
44
+ type: Input
45
+ }], form: [{
46
+ type: Input
47
+ }], logger: [{
48
+ type: Input
49
+ }], styleId: [{
50
+ type: Input
51
+ }], success: [{
52
+ type: Output
53
+ }], error: [{
54
+ type: Output
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi11cC1vci1pbi1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLW9yLWluLWZsb3cvc2lnbi11cC1vci1pbi1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy9zaWduLXVwLW9yLWluLWZsb3cvc2lnbi11cC1vci1pbi1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVNoRSxNQUFNLE9BQU8sdUJBQXVCO0lBa0NsQyxZQUFZLGFBQWdDO1FBSmxDLFlBQU8sR0FDZixJQUFJLFlBQVksRUFBZSxDQUFDO1FBQ3hCLFVBQUssR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUczRSxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDM0MsQ0FBQzs4R0FwQ1UsdUJBQXVCO2tHQUF2Qix1QkFBdUIsbWtCQ1hwQyxvb0JBdUJBLDRDRGZZLGdCQUFnQjs7MkZBR2YsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsQ0FBQztzRkFNbEIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFTRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUVHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSAnQGRlc2NvcGUvd2ViLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjb3BlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGVzY29wZS9kZXNjb3BlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjb3BlQXV0aENvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzY29wZS1zaWduLXVwLW9yLWluLWZsb3cnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRGVzY29wZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWduLXVwLW9yLWluLWZsb3cuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNpZ25VcE9ySW5GbG93Q29tcG9uZW50IHtcbiAgcHJvamVjdElkOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgbG9jYWxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRoZW1lOiAnbGlnaHQnIHwgJ2RhcmsnIHwgJ29zJztcbiAgQElucHV0KCkgdGVuYW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRlbGVtZXRyeUtleTogc3RyaW5nO1xuICBASW5wdXQoKSByZWRpcmVjdFVybDogc3RyaW5nO1xuICBASW5wdXQoKSBhdXRvRm9jdXM6IHRydWUgfCBmYWxzZSB8ICdza2lwRmlyc3RTY3JlZW4nO1xuICBASW5wdXQoKSB2YWxpZGF0ZU9uQmx1cjogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVzdGFydE9uRXJyb3I6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgZGVidWc6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVycm9yVHJhbnNmb3JtZXI6IChlcnJvcjogeyB0ZXh0OiBzdHJpbmc7IHR5cGU6IHN0cmluZyB9KSA9PiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9uU2NyZWVuVXBkYXRlOiAoXG4gICAgc2NyZWVuTmFtZTogc3RyaW5nLFxuICAgIGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgbmV4dDogKFxuICAgICAgaW50ZXJhY3Rpb25JZDogc3RyaW5nLFxuICAgICAgZm9ybTogUmVjb3JkPHN0cmluZywgYW55PlxuICAgICkgPT4gUHJvbWlzZTx1bmtub3duPixcbiAgICByZWY6IEhUTUxFbGVtZW50XG4gICkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj47XG4gIEBJbnB1dCgpIGNsaWVudDogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgQElucHV0KCkgbm9uY2U6IHN0cmluZztcbiAgQElucHV0KCkgZGlzbWlzc1NjcmVlbkVycm9yT25JbnB1dDogYm9vbGVhbjtcbiAgQElucHV0KCkgZm9ybTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgQElucHV0KCkgbG9nZ2VyOiBJTG9nZ2VyO1xuICBASW5wdXQoKSBzdHlsZUlkOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBlcnJvcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoZGVzY29wZUNvbmZpZzogRGVzY29wZUF1dGhDb25maWcpIHtcbiAgICB0aGlzLnByb2plY3RJZCA9IGRlc2NvcGVDb25maWcucHJvamVjdElkO1xuICB9XG59XG4iLCI8ZGVzY29wZVxuICAoc3VjY2Vzcyk9XCJzdWNjZXNzLmVtaXQoJGV2ZW50KVwiXG4gIChlcnJvcik9XCJlcnJvci5lbWl0KCRldmVudClcIlxuICBmbG93SWQ9XCJzaWduLXVwLW9yLWluXCJcbiAgW2xvY2FsZV09XCJsb2NhbGVcIlxuICBbdGhlbWVdPVwidGhlbWVcIlxuICBbdGVuYW50XT1cInRlbmFudFwiXG4gIFt0ZWxlbWV0cnlLZXldPVwidGVsZW1ldHJ5S2V5XCJcbiAgW3JlZGlyZWN0VXJsXT1cInJlZGlyZWN0VXJsXCJcbiAgW2F1dG9Gb2N1c109XCJhdXRvRm9jdXNcIlxuICBbdmFsaWRhdGVPbkJsdXJdPVwidmFsaWRhdGVPbkJsdXJcIlxuICBbcmVzdGFydE9uRXJyb3JdPVwicmVzdGFydE9uRXJyb3JcIlxuICBbZGVidWddPVwiZGVidWdcIlxuICBbZXJyb3JUcmFuc2Zvcm1lcl09XCJlcnJvclRyYW5zZm9ybWVyXCJcbiAgW29uU2NyZWVuVXBkYXRlXT1cIm9uU2NyZWVuVXBkYXRlXCJcbiAgW2NsaWVudF09XCJjbGllbnRcIlxuICBbbm9uY2VdPVwibm9uY2VcIlxuICBbZGlzbWlzc1NjcmVlbkVycm9yT25JbnB1dF09XCJkaXNtaXNzU2NyZWVuRXJyb3JPbklucHV0XCJcbiAgW2Zvcm1dPVwiZm9ybVwiXG4gIFtsb2dnZXJdPVwibG9nZ2VyXCJcbiAgW3N0eWxlSWRdPVwic3R5bGVJZFwiXG4+XG48L2Rlc2NvcGU+XG4iXX0=
@@ -0,0 +1,70 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import DescopeUserManagementWidget from '@descope/user-management-widget';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../types/types";
5
+ export class UserManagementComponent {
6
+ constructor(elementRef, descopeConfig) {
7
+ this.elementRef = elementRef;
8
+ this.webComponent = new DescopeUserManagementWidget();
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: UserManagementComponent, 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: UserManagementComponent, isStandalone: true, selector: "user-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: UserManagementComponent, decorators: [{
51
+ type: Component,
52
+ args: [{
53
+ selector: 'user-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1hbmFnZW1lbnQvdXNlci1tYW5hZ2VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTywyQkFBMkIsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBUzFFLE1BQU0sT0FBTyx1QkFBdUI7SUFlbEMsWUFDVSxVQUFzQixFQUM5QixhQUFnQztRQUR4QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSGYsaUJBQVksR0FBRyxJQUFJLDJCQUEyQixFQUFFLENBQUM7UUFNaEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDO0lBQzdDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsWUFBb0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQzs4R0E3RFUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsa09BRnhCLEVBQUU7OzJGQUVELHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7K0dBTVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBEZXNjb3BlVXNlck1hbmFnZW1lbnRXaWRnZXQgZnJvbSAnQGRlc2NvcGUvdXNlci1tYW5hZ2VtZW50LXdpZGdldCc7XG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSAnQGRlc2NvcGUvd2ViLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjb3BlQXV0aENvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndXNlci1tYW5hZ2VtZW50W3RlbmFudF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgVXNlck1hbmFnZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByb2plY3RJZDogc3RyaW5nO1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBiYXNlU3RhdGljVXJsPzogc3RyaW5nO1xuICBiYXNlQ2RuVXJsPzogc3RyaW5nO1xuICBASW5wdXQoKSB0ZW5hbnQ6IHN0cmluZztcbiAgQElucHV0KCkgd2lkZ2V0SWQ6IHN0cmluZztcblxuICBASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyB8ICdvcyc7XG4gIEBJbnB1dCgpIGRlYnVnOiBib29sZWFuO1xuICBASW5wdXQoKSBsb2dnZXI6IElMb2dnZXI7XG4gIEBJbnB1dCgpIHN0eWxlSWQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHdlYkNvbXBvbmVudCA9IG5ldyBEZXNjb3BlVXNlck1hbmFnZW1lbnRXaWRnZXQoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgZGVzY29wZUNvbmZpZzogRGVzY29wZUF1dGhDb25maWdcbiAgKSB7XG4gICAgdGhpcy5wcm9qZWN0SWQgPSBkZXNjb3BlQ29uZmlnLnByb2plY3RJZDtcbiAgICB0aGlzLmJhc2VVcmwgPSBkZXNjb3BlQ29uZmlnLmJhc2VVcmw7XG4gICAgdGhpcy5iYXNlU3RhdGljVXJsID0gZGVzY29wZUNvbmZpZy5iYXNlU3RhdGljVXJsO1xuICAgIHRoaXMuYmFzZUNkblVybCA9IGRlc2NvcGVDb25maWcuYmFzZUNkblVybDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dXBXZWJDb21wb25lbnQoKTtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLndlYkNvbXBvbmVudCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNldHVwV2ViQ29tcG9uZW50KCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwV2ViQ29tcG9uZW50KCkge1xuICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgncHJvamVjdC1pZCcsIHRoaXMucHJvamVjdElkKTtcbiAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3RlbmFudCcsIHRoaXMudGVuYW50KTtcbiAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3dpZGdldC1pZCcsIHRoaXMud2lkZ2V0SWQpO1xuXG4gICAgaWYgKHRoaXMuYmFzZVVybCkge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdiYXNlLXVybCcsIHRoaXMuYmFzZVVybCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmJhc2VTdGF0aWNVcmwpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnYmFzZS1zdGF0aWMtdXJsJywgdGhpcy5iYXNlU3RhdGljVXJsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYmFzZUNkblVybCkge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdiYXNlLWNkbi11cmwnLCB0aGlzLmJhc2VDZG5VcmwpO1xuICAgIH1cbiAgICBpZiAodGhpcy50aGVtZSkge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCd0aGVtZScsIHRoaXMudGhlbWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgdGhpcy53ZWJDb21wb25lbnQuc2V0QXR0cmlidXRlKCdkZWJ1ZycsIHRoaXMuZGVidWcudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0eWxlSWQpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnc3R5bGUtaWQnLCB0aGlzLnN0eWxlSWQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxvZ2dlcikge1xuICAgICAgKHRoaXMud2ViQ29tcG9uZW50IGFzIGFueSkubG9nZ2VyID0gdGhpcy5sb2dnZXI7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,78 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import DescopeUserProfileWidget from '@descope/user-profile-widget';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../types/types";
5
+ import * as i2 from "../../services/descope-auth.service";
6
+ export class UserProfileComponent {
7
+ constructor(elementRef, descopeConfig, descopeAuthService) {
8
+ this.elementRef = elementRef;
9
+ this.descopeAuthService = descopeAuthService;
10
+ this.logout = new EventEmitter();
11
+ this.webComponent = new DescopeUserProfileWidget();
12
+ this.projectId = descopeConfig.projectId;
13
+ this.baseUrl = descopeConfig.baseUrl;
14
+ this.baseStaticUrl = descopeConfig.baseStaticUrl;
15
+ this.baseCdnUrl = descopeConfig.baseCdnUrl;
16
+ }
17
+ ngOnInit() {
18
+ this.setupWebComponent();
19
+ this.elementRef.nativeElement.appendChild(this.webComponent);
20
+ }
21
+ ngOnChanges() {
22
+ this.setupWebComponent();
23
+ }
24
+ setupWebComponent() {
25
+ this.webComponent.setAttribute('project-id', this.projectId);
26
+ this.webComponent.setAttribute('widget-id', this.widgetId);
27
+ if (this.baseUrl) {
28
+ this.webComponent.setAttribute('base-url', this.baseUrl);
29
+ }
30
+ if (this.baseStaticUrl) {
31
+ this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);
32
+ }
33
+ if (this.baseCdnUrl) {
34
+ this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);
35
+ }
36
+ if (this.theme) {
37
+ this.webComponent.setAttribute('theme', this.theme);
38
+ }
39
+ if (this.debug) {
40
+ this.webComponent.setAttribute('debug', this.debug.toString());
41
+ }
42
+ if (this.styleId) {
43
+ this.webComponent.setAttribute('style-id', this.styleId);
44
+ }
45
+ if (this.logger) {
46
+ this.webComponent.logger = this.logger;
47
+ }
48
+ this.webComponent.addEventListener('logout', (e) => {
49
+ this.logout?.emit(e);
50
+ this.descopeAuthService.setSession('');
51
+ this.descopeAuthService.setIsAuthenticated(false);
52
+ this.descopeAuthService.setUser(null);
53
+ });
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: UserProfileComponent, deps: [{ token: i0.ElementRef }, { token: i1.DescopeAuthConfig }, { token: i2.DescopeAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: UserProfileComponent, isStandalone: true, selector: "user-profile", inputs: { widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { logout: "logout" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: UserProfileComponent, decorators: [{
59
+ type: Component,
60
+ args: [{
61
+ selector: 'user-profile',
62
+ standalone: true,
63
+ template: ''
64
+ }]
65
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DescopeAuthConfig }, { type: i2.DescopeAuthService }], propDecorators: { widgetId: [{
66
+ type: Input
67
+ }], theme: [{
68
+ type: Input
69
+ }], debug: [{
70
+ type: Input
71
+ }], logger: [{
72
+ type: Input
73
+ }], styleId: [{
74
+ type: Input
75
+ }], logout: [{
76
+ type: Output
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvY29tcG9uZW50cy91c2VyLXByb2ZpbGUvdXNlci1wcm9maWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sd0JBQXdCLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFVcEUsTUFBTSxPQUFPLG9CQUFvQjtJQWdCL0IsWUFDVSxVQUFzQixFQUM5QixhQUFnQyxFQUN4QixrQkFBc0M7UUFGdEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUV0Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBUHRDLFdBQU0sR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUU3RCxpQkFBWSxHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQU83RCxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUNqRCxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFDN0MsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsWUFBb0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNsRCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFRLEVBQUUsRUFBRTtZQUN4RCxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFnQixDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBcEVVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLG9PQUZyQixFQUFFOzsyRkFFRCxvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsRUFBRTtpQkFDYjtnSkFNVSxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgRGVzY29wZVVzZXJQcm9maWxlV2lkZ2V0IGZyb20gJ0BkZXNjb3BlL3VzZXItcHJvZmlsZS13aWRnZXQnO1xuaW1wb3J0IHsgSUxvZ2dlciB9IGZyb20gJ0BkZXNjb3BlL3dlYi1jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVzY29wZUF1dGhDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcy90eXBlcyc7XG5pbXBvcnQgeyBEZXNjb3BlQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kZXNjb3BlLWF1dGguc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VzZXItcHJvZmlsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyUHJvZmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJvamVjdElkOiBzdHJpbmc7XG4gIGJhc2VVcmw/OiBzdHJpbmc7XG4gIGJhc2VTdGF0aWNVcmw/OiBzdHJpbmc7XG4gIGJhc2VDZG5Vcmw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdpZGdldElkOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgfCAnb3MnO1xuICBASW5wdXQoKSBkZWJ1ZzogYm9vbGVhbjtcbiAgQElucHV0KCkgbG9nZ2VyOiBJTG9nZ2VyO1xuICBASW5wdXQoKSBzdHlsZUlkOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGxvZ291dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB3ZWJDb21wb25lbnQgPSBuZXcgRGVzY29wZVVzZXJQcm9maWxlV2lkZ2V0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGRlc2NvcGVDb25maWc6IERlc2NvcGVBdXRoQ29uZmlnLFxuICAgIHByaXZhdGUgZGVzY29wZUF1dGhTZXJ2aWNlOiBEZXNjb3BlQXV0aFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5wcm9qZWN0SWQgPSBkZXNjb3BlQ29uZmlnLnByb2plY3RJZDtcbiAgICB0aGlzLmJhc2VVcmwgPSBkZXNjb3BlQ29uZmlnLmJhc2VVcmw7XG4gICAgdGhpcy5iYXNlU3RhdGljVXJsID0gZGVzY29wZUNvbmZpZy5iYXNlU3RhdGljVXJsO1xuICAgIHRoaXMuYmFzZUNkblVybCA9IGRlc2NvcGVDb25maWcuYmFzZUNkblVybDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dXBXZWJDb21wb25lbnQoKTtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLndlYkNvbXBvbmVudCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNldHVwV2ViQ29tcG9uZW50KCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwV2ViQ29tcG9uZW50KCkge1xuICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgncHJvamVjdC1pZCcsIHRoaXMucHJvamVjdElkKTtcbiAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3dpZGdldC1pZCcsIHRoaXMud2lkZ2V0SWQpO1xuICAgIGlmICh0aGlzLmJhc2VVcmwpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnYmFzZS11cmwnLCB0aGlzLmJhc2VVcmwpO1xuICAgIH1cbiAgICBpZiAodGhpcy5iYXNlU3RhdGljVXJsKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ2Jhc2Utc3RhdGljLXVybCcsIHRoaXMuYmFzZVN0YXRpY1VybCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmJhc2VDZG5VcmwpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnYmFzZS1jZG4tdXJsJywgdGhpcy5iYXNlQ2RuVXJsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudGhlbWUpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgndGhlbWUnLCB0aGlzLnRoZW1lKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIHRoaXMud2ViQ29tcG9uZW50LnNldEF0dHJpYnV0ZSgnZGVidWcnLCB0aGlzLmRlYnVnLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdHlsZUlkKSB7XG4gICAgICB0aGlzLndlYkNvbXBvbmVudC5zZXRBdHRyaWJ1dGUoJ3N0eWxlLWlkJywgdGhpcy5zdHlsZUlkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2dnZXIpIHtcbiAgICAgICh0aGlzLndlYkNvbXBvbmVudCBhcyBhbnkpLmxvZ2dlciA9IHRoaXMubG9nZ2VyO1xuICAgIH1cblxuICAgIHRoaXMud2ViQ29tcG9uZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2xvZ291dCcsIChlOiBFdmVudCkgPT4ge1xuICAgICAgdGhpcy5sb2dvdXQ/LmVtaXQoZSBhcyBDdXN0b21FdmVudCk7XG4gICAgICB0aGlzLmRlc2NvcGVBdXRoU2VydmljZS5zZXRTZXNzaW9uKCcnKTtcbiAgICAgIHRoaXMuZGVzY29wZUF1dGhTZXJ2aWNlLnNldElzQXV0aGVudGljYXRlZChmYWxzZSk7XG4gICAgICB0aGlzLmRlc2NvcGVBdXRoU2VydmljZS5zZXRVc2VyKG51bGwpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,83 @@
1
+ import { CUSTOM_ELEMENTS_SCHEMA, NgModule, Optional, SkipSelf } from '@angular/core';
2
+ import { DescopeComponent } from './components/descope/descope.component';
3
+ import { SignInFlowComponent } from './components/sign-in-flow/sign-in-flow.component';
4
+ import { SignUpFlowComponent } from './components/sign-up-flow/sign-up-flow.component';
5
+ import { SignUpOrInFlowComponent } from './components/sign-up-or-in-flow/sign-up-or-in-flow.component';
6
+ import { UserManagementComponent } from './components/user-management/user-management.component';
7
+ import { RoleManagementComponent } from './components/role-management/role-management.component';
8
+ import { AccessKeyManagementComponent } from './components/access-key-management/access-key-management.component';
9
+ import { AuditManagementComponent } from './components/audit-management/audit-management.component';
10
+ import { UserProfileComponent } from './components/user-profile/user-profile.component';
11
+ import { ApplicationsPortalComponent } from './components/applications-portal/applications-portal.component';
12
+ import { DescopeAuthConfig } from './types/types';
13
+ import * as i0 from "@angular/core";
14
+ export class DescopeAuthModule {
15
+ constructor(parentModule) {
16
+ if (parentModule) {
17
+ // eslint-disable-next-line no-console
18
+ console.log('DescopeAuthModule is loaded in a child module');
19
+ }
20
+ }
21
+ static forRoot(config) {
22
+ return {
23
+ ngModule: DescopeAuthModule,
24
+ providers: [{ provide: DescopeAuthConfig, useValue: config }]
25
+ };
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: DescopeAuthModule, deps: [{ token: DescopeAuthModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
28
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.4", ngImport: i0, type: DescopeAuthModule, imports: [DescopeComponent,
29
+ SignInFlowComponent,
30
+ SignUpFlowComponent,
31
+ SignUpOrInFlowComponent,
32
+ UserManagementComponent,
33
+ RoleManagementComponent,
34
+ AccessKeyManagementComponent,
35
+ AuditManagementComponent,
36
+ UserProfileComponent,
37
+ ApplicationsPortalComponent], exports: [DescopeComponent,
38
+ SignInFlowComponent,
39
+ SignUpFlowComponent,
40
+ SignUpOrInFlowComponent,
41
+ UserManagementComponent,
42
+ RoleManagementComponent,
43
+ AccessKeyManagementComponent,
44
+ AuditManagementComponent,
45
+ UserProfileComponent,
46
+ ApplicationsPortalComponent] }); }
47
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: DescopeAuthModule }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: DescopeAuthModule, decorators: [{
50
+ type: NgModule,
51
+ args: [{
52
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
53
+ imports: [
54
+ DescopeComponent,
55
+ SignInFlowComponent,
56
+ SignUpFlowComponent,
57
+ SignUpOrInFlowComponent,
58
+ UserManagementComponent,
59
+ RoleManagementComponent,
60
+ AccessKeyManagementComponent,
61
+ AuditManagementComponent,
62
+ UserProfileComponent,
63
+ ApplicationsPortalComponent
64
+ ],
65
+ exports: [
66
+ DescopeComponent,
67
+ SignInFlowComponent,
68
+ SignUpFlowComponent,
69
+ SignUpOrInFlowComponent,
70
+ UserManagementComponent,
71
+ RoleManagementComponent,
72
+ AccessKeyManagementComponent,
73
+ AuditManagementComponent,
74
+ UserProfileComponent,
75
+ ApplicationsPortalComponent
76
+ ]
77
+ }]
78
+ }], ctorParameters: () => [{ type: DescopeAuthModule, decorators: [{
79
+ type: Optional
80
+ }, {
81
+ type: SkipSelf
82
+ }] }] });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2RrL3NyYy9saWIvZGVzY29wZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsc0JBQXNCLEVBRXRCLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUE2QmxELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0MsWUFBZ0M7UUFDbEUsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixzQ0FBc0M7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FDWixNQUEwQjtRQUUxQixPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDOUQsQ0FBQztJQUNKLENBQUM7OEdBZlUsaUJBQWlCOytHQUFqQixpQkFBaUIsWUF4QjFCLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsdUJBQXVCO1lBQ3ZCLDRCQUE0QjtZQUM1Qix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLDJCQUEyQixhQUczQixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2Qiw0QkFBNEI7WUFDNUIsd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQiwyQkFBMkI7K0dBR2xCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkEzQjdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQiwyQkFBMkI7cUJBQzVCO2lCQUNGOzswQkFFYyxRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG4gIE9wdGlvbmFsLFxuICBTa2lwU2VsZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc2NvcGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVzY29wZS9kZXNjb3BlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaWduSW5GbG93Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NpZ24taW4tZmxvdy9zaWduLWluLWZsb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFNpZ25VcEZsb3dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2lnbi11cC1mbG93L3NpZ24tdXAtZmxvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2lnblVwT3JJbkZsb3dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2lnbi11cC1vci1pbi1mbG93L3NpZ24tdXAtb3ItaW4tZmxvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlck1hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdXNlci1tYW5hZ2VtZW50L3VzZXItbWFuYWdlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm9sZU1hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcm9sZS1tYW5hZ2VtZW50L3JvbGUtbWFuYWdlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWNjZXNzS2V5TWFuYWdlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY2Nlc3Mta2V5LW1hbmFnZW1lbnQvYWNjZXNzLWtleS1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdWRpdE1hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXVkaXQtbWFuYWdlbWVudC9hdWRpdC1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyUHJvZmlsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLXByb2ZpbGUvdXNlci1wcm9maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXBwbGljYXRpb25zLXBvcnRhbC9hcHBsaWNhdGlvbnMtcG9ydGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjb3BlQXV0aENvbmZpZyB9IGZyb20gJy4vdHlwZXMvdHlwZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIGltcG9ydHM6IFtcbiAgICBEZXNjb3BlQ29tcG9uZW50LFxuICAgIFNpZ25JbkZsb3dDb21wb25lbnQsXG4gICAgU2lnblVwRmxvd0NvbXBvbmVudCxcbiAgICBTaWduVXBPckluRmxvd0NvbXBvbmVudCxcbiAgICBVc2VyTWFuYWdlbWVudENvbXBvbmVudCxcbiAgICBSb2xlTWFuYWdlbWVudENvbXBvbmVudCxcbiAgICBBY2Nlc3NLZXlNYW5hZ2VtZW50Q29tcG9uZW50LFxuICAgIEF1ZGl0TWFuYWdlbWVudENvbXBvbmVudCxcbiAgICBVc2VyUHJvZmlsZUNvbXBvbmVudCxcbiAgICBBcHBsaWNhdGlvbnNQb3J0YWxDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIERlc2NvcGVDb21wb25lbnQsXG4gICAgU2lnbkluRmxvd0NvbXBvbmVudCxcbiAgICBTaWduVXBGbG93Q29tcG9uZW50LFxuICAgIFNpZ25VcE9ySW5GbG93Q29tcG9uZW50LFxuICAgIFVzZXJNYW5hZ2VtZW50Q29tcG9uZW50LFxuICAgIFJvbGVNYW5hZ2VtZW50Q29tcG9uZW50LFxuICAgIEFjY2Vzc0tleU1hbmFnZW1lbnRDb21wb25lbnQsXG4gICAgQXVkaXRNYW5hZ2VtZW50Q29tcG9uZW50LFxuICAgIFVzZXJQcm9maWxlQ29tcG9uZW50LFxuICAgIEFwcGxpY2F0aW9uc1BvcnRhbENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERlc2NvcGVBdXRoTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlPzogRGVzY29wZUF1dGhNb2R1bGUpIHtcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5sb2coJ0Rlc2NvcGVBdXRoTW9kdWxlIGlzIGxvYWRlZCBpbiBhIGNoaWxkIG1vZHVsZScpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmb3JSb290KFxuICAgIGNvbmZpZz86IERlc2NvcGVBdXRoQ29uZmlnXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGVzY29wZUF1dGhNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERlc2NvcGVBdXRoTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBEZXNjb3BlQXV0aENvbmZpZywgdXNlVmFsdWU6IGNvbmZpZyB9XVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -12,4 +12,4 @@ export const descopeAuthGuard = (route) => {
12
12
  }
13
13
  return of(isAuthenticated);
14
14
  };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS1hdXRoLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1zZGsvc3JjL2xpYi9zZXJ2aWNlcy9kZXNjb3BlLWF1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQTBCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBNkIsRUFBRSxFQUFFO0lBQ2pFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDckQsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RELElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRTtRQUN0QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzVDO0lBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERlc2NvcGVBdXRoU2VydmljZSB9IGZyb20gJy4vZGVzY29wZS1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZyb20sIG9mIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBkZXNjb3BlQXV0aEd1YXJkID0gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSA9PiB7XG5cdGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KERlc2NvcGVBdXRoU2VydmljZSk7XG5cdGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXHRjb25zdCBmYWxsYmFja1VybCA9IHJvdXRlLmRhdGFbJ2Rlc2NvcGVGYWxsYmFja1VybCddO1xuXHRjb25zdCBpc0F1dGhlbnRpY2F0ZWQgPSBhdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcblx0aWYgKCFpc0F1dGhlbnRpY2F0ZWQgJiYgISFmYWxsYmFja1VybCkge1xuXHRcdHJldHVybiBmcm9tKHJvdXRlci5uYXZpZ2F0ZShbZmFsbGJhY2tVcmxdKSk7XG5cdH1cblx0cmV0dXJuIG9mKGlzQXV0aGVudGljYXRlZCk7XG59O1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS1hdXRoLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1zZGsvc3JjL2xpYi9zZXJ2aWNlcy9kZXNjb3BlLWF1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQTBCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBNkIsRUFBRSxFQUFFO0lBQ2hFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDckQsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RELElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEZXNjb3BlQXV0aFNlcnZpY2UgfSBmcm9tICcuL2Rlc2NvcGUtYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmcm9tLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgZGVzY29wZUF1dGhHdWFyZCA9IChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4ge1xuICBjb25zdCBhdXRoU2VydmljZSA9IGluamVjdChEZXNjb3BlQXV0aFNlcnZpY2UpO1xuICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgY29uc3QgZmFsbGJhY2tVcmwgPSByb3V0ZS5kYXRhWydkZXNjb3BlRmFsbGJhY2tVcmwnXTtcbiAgY29uc3QgaXNBdXRoZW50aWNhdGVkID0gYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCk7XG4gIGlmICghaXNBdXRoZW50aWNhdGVkICYmICEhZmFsbGJhY2tVcmwpIHtcbiAgICByZXR1cm4gZnJvbShyb3V0ZXIubmF2aWdhdGUoW2ZhbGxiYWNrVXJsXSkpO1xuICB9XG4gIHJldHVybiBvZihpc0F1dGhlbnRpY2F0ZWQpO1xufTtcbiJdfQ==
@@ -0,0 +1,145 @@
1
+ import { Injectable } from '@angular/core';
2
+ import createSdk from '@descope/web-js-sdk';
3
+ import { BehaviorSubject, finalize, tap } from 'rxjs';
4
+ import { observabilify } from '../utils/helpers';
5
+ import { baseHeaders, isBrowser } from '../utils/constants';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../types/types";
8
+ export class DescopeAuthService {
9
+ constructor(config) {
10
+ this.descopeSdk = observabilify(createSdk({
11
+ persistTokens: isBrowser(),
12
+ ...config,
13
+ storeLastAuthenticatedUser: isBrowser(),
14
+ autoRefresh: isBrowser(),
15
+ baseHeaders
16
+ }));
17
+ this.sessionSubject = new BehaviorSubject({
18
+ isAuthenticated: false,
19
+ isSessionLoading: false,
20
+ sessionToken: ''
21
+ });
22
+ this.session$ = this.sessionSubject.asObservable();
23
+ this.userSubject = new BehaviorSubject({
24
+ isUserLoading: false
25
+ });
26
+ this.user$ = this.userSubject.asObservable();
27
+ this.descopeSdk.onSessionTokenChange(this.setSession.bind(this));
28
+ this.descopeSdk.onIsAuthenticatedChange(this.setIsAuthenticated.bind(this));
29
+ this.descopeSdk.onUserChange(this.setUser.bind(this));
30
+ }
31
+ refreshSession() {
32
+ const beforeRefreshSession = this.sessionSubject.value;
33
+ this.sessionSubject.next({
34
+ ...beforeRefreshSession,
35
+ isSessionLoading: true
36
+ });
37
+ return this.descopeSdk.refresh().pipe(finalize(() => {
38
+ const afterRefreshSession = this.sessionSubject.value;
39
+ this.sessionSubject.next({
40
+ ...afterRefreshSession,
41
+ isSessionLoading: false
42
+ });
43
+ }));
44
+ }
45
+ refreshUser() {
46
+ const beforeRefreshUser = this.userSubject.value;
47
+ this.userSubject.next({
48
+ ...beforeRefreshUser,
49
+ isUserLoading: true
50
+ });
51
+ return this.descopeSdk.me().pipe(tap((data) => {
52
+ const afterRequestUser = this.userSubject.value;
53
+ if (data.data) {
54
+ this.userSubject.next({
55
+ ...afterRequestUser,
56
+ user: {
57
+ ...data.data
58
+ }
59
+ });
60
+ }
61
+ }), finalize(() => {
62
+ const afterRefreshUser = this.userSubject.value;
63
+ this.userSubject.next({
64
+ ...afterRefreshUser,
65
+ isUserLoading: false
66
+ });
67
+ }));
68
+ }
69
+ getSessionToken() {
70
+ if (isBrowser()) {
71
+ return this.descopeSdk.getSessionToken();
72
+ }
73
+ console.warn('Get session token is not supported in SSR');
74
+ return '';
75
+ }
76
+ getRefreshToken() {
77
+ if (isBrowser()) {
78
+ return this.descopeSdk.getRefreshToken();
79
+ }
80
+ this.descopeSdk.getJwtPermissions;
81
+ console.warn('Get refresh token is not supported in SSR');
82
+ return '';
83
+ }
84
+ isSessionTokenExpired(token = this.getSessionToken()) {
85
+ if (isBrowser()) {
86
+ return this.descopeSdk.isJwtExpired(token ?? '');
87
+ }
88
+ console.warn('isSessionTokenExpired is not supported in SSR');
89
+ return true;
90
+ }
91
+ isRefreshTokenExpired(token = this.getRefreshToken()) {
92
+ if (isBrowser()) {
93
+ return this.descopeSdk.isJwtExpired(token ?? '');
94
+ }
95
+ console.warn('isRefreshTokenExpired is not supported in SSR');
96
+ return true;
97
+ }
98
+ getJwtPermissions(token = this.getSessionToken(), tenant) {
99
+ if (token === null) {
100
+ console.error('Could not get JWT Permissions - not authenticated');
101
+ return [];
102
+ }
103
+ return this.descopeSdk.getJwtPermissions(token, tenant);
104
+ }
105
+ getJwtRoles(token = this.getSessionToken(), tenant) {
106
+ if (token === null) {
107
+ console.error('Could not get JWT Roles - not authenticated');
108
+ return [];
109
+ }
110
+ return this.descopeSdk.getJwtRoles(token, tenant);
111
+ }
112
+ isAuthenticated() {
113
+ return this.sessionSubject.value.isAuthenticated;
114
+ }
115
+ setSession(sessionToken) {
116
+ const currentSession = this.sessionSubject.value;
117
+ this.sessionSubject.next({
118
+ ...currentSession,
119
+ sessionToken
120
+ });
121
+ }
122
+ setIsAuthenticated(isAuthenticated) {
123
+ const currentSession = this.sessionSubject.value;
124
+ this.sessionSubject.next({
125
+ ...currentSession,
126
+ isAuthenticated
127
+ });
128
+ }
129
+ setUser(user) {
130
+ const currentUser = this.userSubject.value;
131
+ this.userSubject.next({
132
+ isUserLoading: currentUser.isUserLoading,
133
+ user
134
+ });
135
+ }
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: DescopeAuthService, deps: [{ token: i1.DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
137
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: DescopeAuthService, providedIn: 'root' }); }
138
+ }
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: DescopeAuthService, decorators: [{
140
+ type: Injectable,
141
+ args: [{
142
+ providedIn: 'root'
143
+ }]
144
+ }], ctorParameters: () => [{ type: i1.DescopeAuthConfig }] });
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY29wZS1hdXRoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXNkay9zcmMvbGliL3NlcnZpY2VzL2Rlc2NvcGUtYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBb0I1RCxNQUFNLE9BQU8sa0JBQWtCO0lBTzdCLFlBQVksTUFBeUI7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQzdCLFNBQVMsQ0FBQztZQUNSLGFBQWEsRUFBRSxTQUFTLEVBQVU7WUFDbEMsR0FBRyxNQUFNO1lBQ1QsMEJBQTBCLEVBQUUsU0FBUyxFQUFVO1lBQy9DLFdBQVcsRUFBRSxTQUFTLEVBQVU7WUFDaEMsV0FBVztTQUNaLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBaUI7WUFDeEQsZUFBZSxFQUFFLEtBQUs7WUFDdEIsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixZQUFZLEVBQUUsRUFBRTtTQUNqQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBYztZQUNsRCxhQUFhLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxH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QU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDbkQsQ0FBQztJQUVELFVBQVUsQ0FBQyxZQUEyQjtRQUNwQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUN2QixHQUFHLGNBQWM7WUFDakIsWUFBWTtTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxlQUF3QjtRQUN6QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUN2QixHQUFHLGNBQWM7WUFDakIsZUFBZTtTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQXlCO1FBQy9CLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BCLGFBQWEsRUFBRSxXQUFXLENBQUMsYUFBYTtZQUN4QyxJQUFJO1NBQ0wsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FyS1Usa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbi8vIHdvcmthcm91bmQgZm9yIFRTIGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvNDI4NzNcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuaW1wb3J0IHR5cGUgKiBhcyBfMSBmcm9tICdAZGVzY29wZS9jb3JlLWpzLXNkayc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFVzZXJSZXNwb25zZSB9IGZyb20gJ0BkZXNjb3BlL3dlYi1qcy1zZGsnO1xuaW1wb3J0IHR5cGUgKiBhcyBfMiBmcm9tICdvaWRjLWNsaWVudC10cyc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbmltcG9ydCBjcmVhdGVTZGsgZnJvbSAnQGRlc2NvcGUvd2ViLWpzLXNkayc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbmFsaXplLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG9ic2VydmFiaWxpZnksIE9ic2VydmFibGVmaWVkIH0gZnJvbSAnLi4vdXRpbHMvaGVscGVycyc7XG5pbXBvcnQgeyBiYXNlSGVhZGVycywgaXNCcm93c2VyIH0gZnJvbSAnLi4vdXRpbHMvY29uc3RhbnRzJztcbmltcG9ydCB7IERlc2NvcGVBdXRoQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xuXG50eXBlIERlc2NvcGVTREsgPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVTZGs+O1xudHlwZSBBbmd1bGFyRGVzY29wZVNESyA9IE9ic2VydmFibGVmaWVkPERlc2NvcGVTREs+O1xuXG5leHBvcnQgaW50ZXJmYWNlIERlc2NvcGVTZXNzaW9uIHtcbiAgaXNBdXRoZW50aWNhdGVkOiBib29sZWFuO1xuICBpc1Nlc3Npb25Mb2FkaW5nOiBib29sZWFuO1xuICBzZXNzaW9uVG9rZW46IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIERlc2NvcGVVc2VyID0ge1xuICB1c2VyPzogVXNlclJlc3BvbnNlIHwgbnVsbDtcbiAgaXNVc2VyTG9hZGluZzogYm9vbGVhbjtcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERlc2NvcGVBdXRoU2VydmljZSB7XG4gIHB1YmxpYyBkZXNjb3BlU2RrOiBBbmd1bGFyRGVzY29wZVNESztcbiAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PERlc2NvcGVTZXNzaW9uPjtcbiAgcHJpdmF0ZSByZWFkb25seSB1c2VyU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PERlc2NvcGVVc2VyPjtcbiAgcmVhZG9ubHkgc2Vzc2lvbiQ6IE9ic2VydmFibGU8RGVzY29wZVNlc3Npb24+O1xuICByZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxEZXNjb3BlVXNlcj47XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBEZXNjb3BlQXV0aENvbmZpZykge1xuICAgIHRoaXMuZGVzY29wZVNkayA9IG9ic2VydmFiaWxpZnk8RGVzY29wZVNESz4oXG4gICAgICBjcmVhdGVTZGsoe1xuICAgICAgICBwZXJzaXN0VG9rZW5zOiBpc0Jyb3dzZXIoKSBhcyB0cnVlLFxuICAgICAgICAuLi5jb25maWcsXG4gICAgICAgIHN0b3JlTGFzdEF1dGhlbnRpY2F0ZWRVc2VyOiBpc0Jyb3dzZXIoKSBhcyB0cnVlLFxuICAgICAgICBhdXRvUmVmcmVzaDogaXNCcm93c2VyKCkgYXMgdHJ1ZSxcbiAgICAgICAgYmFzZUhlYWRlcnNcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc2Vzc2lvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERlc2NvcGVTZXNzaW9uPih7XG4gICAgICBpc0F1dGhlbnRpY2F0ZWQ6IGZhbHNlLFxuICAgICAgaXNTZXNzaW9uTG9hZGluZzogZmFsc2UsXG4gICAgICBzZXNzaW9uVG9rZW46ICcnXG4gICAgfSk7XG4gICAgdGhpcy5zZXNzaW9uJCA9IHRoaXMuc2Vzc2lvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy51c2VyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGVzY29wZVVzZXI+KHtcbiAgICAgIGlzVXNlckxvYWRpbmc6IGZhbHNlXG4gICAgfSk7XG4gICAgdGhpcy51c2VyJCA9IHRoaXMudXNlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5kZXNjb3BlU2RrLm9uU2Vzc2lvblRva2VuQ2hhbmdlKHRoaXMuc2V0U2Vzc2lvbi5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmRlc2NvcGVTZGsub25Jc0F1dGhlbnRpY2F0ZWRDaGFuZ2UodGhpcy5zZXRJc0F1dGhlbnRpY2F0ZWQuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5kZXNjb3BlU2RrLm9uVXNlckNoYW5nZSh0aGlzLnNldFVzZXIuYmluZCh0aGlzKSk7XG4gIH1cblxuICByZWZyZXNoU2Vzc2lvbigpIHtcbiAgICBjb25zdCBiZWZvcmVSZWZyZXNoU2Vzc2lvbiA9IHRoaXMuc2Vzc2lvblN1YmplY3QudmFsdWU7XG4gICAgdGhpcy5zZXNzaW9uU3ViamVjdC5uZXh0KHtcbiAgICAgIC4uLmJlZm9yZVJlZnJlc2hTZXNzaW9uLFxuICAgICAgaXNTZXNzaW9uTG9hZGluZzogdHJ1ZVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmRlc2NvcGVTZGsucmVmcmVzaCgpLnBpcGUoXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFmdGVyUmVmcmVzaFNlc3Npb24gPSB0aGlzLnNlc3Npb25TdWJqZWN0LnZhbHVlO1xuICAgICAgICB0aGlzLnNlc3Npb25TdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIC4uLmFmdGVyUmVmcmVzaFNlc3Npb24sXG4gICAgICAgICAgaXNTZXNzaW9uTG9hZGluZzogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZWZyZXNoVXNlcigpIHtcbiAgICBjb25zdCBiZWZvcmVSZWZyZXNoVXNlciA9IHRoaXMudXNlclN1YmplY3QudmFsdWU7XG4gICAgdGhpcy51c2VyU3ViamVjdC5uZXh0KHtcbiAgICAgIC4uLmJlZm9yZVJlZnJlc2hVc2VyLFxuICAgICAgaXNVc2VyTG9hZGluZzogdHJ1ZVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmRlc2NvcGVTZGsubWUoKS5waXBlKFxuICAgICAgdGFwKChkYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IGFmdGVyUmVxdWVzdFVzZXIgPSB0aGlzLnVzZXJTdWJqZWN0LnZhbHVlO1xuICAgICAgICBpZiAoZGF0YS5kYXRhKSB7XG4gICAgICAgICAgdGhpcy51c2VyU3ViamVjdC5uZXh0KHtcbiAgICAgICAgICAgIC4uLmFmdGVyUmVxdWVzdFVzZXIsXG4gICAgICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICAgIC4uLmRhdGEuZGF0YVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgY29uc3QgYWZ0ZXJSZWZyZXNoVXNlciA9IHRoaXMudXNlclN1YmplY3QudmFsdWU7XG4gICAgICAgIHRoaXMudXNlclN1YmplY3QubmV4dCh7XG4gICAgICAgICAgLi4uYWZ0ZXJSZWZyZXNoVXNlcixcbiAgICAgICAgICBpc1VzZXJMb2FkaW5nOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFNlc3Npb25Ub2tlbigpIHtcbiAgICBpZiAoaXNCcm93c2VyKCkpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuZGVzY29wZVNkayBhcyBBbmd1bGFyRGVzY29wZVNESyAmIHtcbiAgICAgICAgICBnZXRTZXNzaW9uVG9rZW46ICgpID0+IHN0cmluZyB8IG51bGw7XG4gICAgICAgIH1cbiAgICAgICkuZ2V0U2Vzc2lvblRva2VuKCk7XG4gICAgfVxuICAgIGNvbnNvbGUud2FybignR2V0IHNlc3Npb24gdG9rZW4gaXMgbm90IHN1cHBvcnRlZCBpbiBTU1InKTtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRSZWZyZXNoVG9rZW4oKSB7XG4gICAgaWYgKGlzQnJvd3NlcigpKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLmRlc2NvcGVTZGsgYXMgQW5ndWxhckRlc2NvcGVTREsgJiB7XG4gICAgICAgICAgZ2V0UmVmcmVzaFRva2VuOiAoKSA9PiBzdHJpbmcgfCBudWxsO1xuICAgICAgICB9XG4gICAgICApLmdldFJlZnJlc2hUb2tlbigpO1xuICAgIH1cbiAgICB0aGlzLmRlc2NvcGVTZGsuZ2V0Snd0UGVybWlzc2lvbnM7XG4gICAgY29uc29sZS53YXJuKCdHZXQgcmVmcmVzaCB0b2tlbiBpcyBub3Qgc3VwcG9ydGVkIGluIFNTUicpO1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGlzU2Vzc2lvblRva2VuRXhwaXJlZCh0b2tlbiA9IHRoaXMuZ2V0U2Vzc2lvblRva2VuKCkpIHtcbiAgICBpZiAoaXNCcm93c2VyKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRlc2NvcGVTZGsuaXNKd3RFeHBpcmVkKHRva2VuID8/ICcnKTtcbiAgICB9XG4gICAgY29uc29sZS53YXJuKCdpc1Nlc3Npb25Ub2tlbkV4cGlyZWQgaXMgbm90IHN1cHBvcnRlZCBpbiBTU1InKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlzUmVmcmVzaFRva2VuRXhwaXJlZCh0b2tlbiA9IHRoaXMuZ2V0UmVmcmVzaFRva2VuKCkpIHtcbiAgICBpZiAoaXNCcm93c2VyKCkpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuZGVzY29wZVNkayBhcyBBbmd1bGFyRGVzY29wZVNESyAmIHtcbiAgICAgICAgICBpc0p3dEV4cGlyZWQ6ICh0b2tlbjogc3RyaW5nKSA9PiBib29sZWFuIHwgbnVsbDtcbiAgICAgICAgfVxuICAgICAgKS5pc0p3dEV4cGlyZWQodG9rZW4gPz8gJycpO1xuICAgIH1cbiAgICBjb25zb2xlLndhcm4oJ2lzUmVmcmVzaFRva2VuRXhwaXJlZCBpcyBub3Qgc3VwcG9ydGVkIGluIFNTUicpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0Snd0UGVybWlzc2lvbnModG9rZW4gPSB0aGlzLmdldFNlc3Npb25Ub2tlbigpLCB0ZW5hbnQ/OiBzdHJpbmcpIHtcbiAgICBpZiAodG9rZW4gPT09IG51bGwpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0NvdWxkIG5vdCBnZXQgSldUIFBlcm1pc3Npb25zIC0gbm90IGF1dGhlbnRpY2F0ZWQnKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGVzY29wZVNkay5nZXRKd3RQZXJtaXNzaW9ucyh0b2tlbiwgdGVuYW50KTtcbiAgfVxuXG4gIGdldEp3dFJvbGVzKHRva2VuID0gdGhpcy5nZXRTZXNzaW9uVG9rZW4oKSwgdGVuYW50Pzogc3RyaW5nKSB7XG4gICAgaWYgKHRva2VuID09PSBudWxsKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgZ2V0IEpXVCBSb2xlcyAtIG5vdCBhdXRoZW50aWNhdGVkJyk7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmRlc2NvcGVTZGsuZ2V0Snd0Um9sZXModG9rZW4sIHRlbmFudCk7XG4gIH1cblxuICBpc0F1dGhlbnRpY2F0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvblN1YmplY3QudmFsdWUuaXNBdXRoZW50aWNhdGVkO1xuICB9XG5cbiAgc2V0U2Vzc2lvbihzZXNzaW9uVG9rZW46IHN0cmluZyB8IG51bGwpIHtcbiAgICBjb25zdCBjdXJyZW50U2Vzc2lvbiA9IHRoaXMuc2Vzc2lvblN1YmplY3QudmFsdWU7XG4gICAgdGhpcy5zZXNzaW9uU3ViamVjdC5uZXh0KHtcbiAgICAgIC4uLmN1cnJlbnRTZXNzaW9uLFxuICAgICAgc2Vzc2lvblRva2VuXG4gICAgfSk7XG4gIH1cblxuICBzZXRJc0F1dGhlbnRpY2F0ZWQoaXNBdXRoZW50aWNhdGVkOiBib29sZWFuKSB7XG4gICAgY29uc3QgY3VycmVudFNlc3Npb24gPSB0aGlzLnNlc3Npb25TdWJqZWN0LnZhbHVlO1xuICAgIHRoaXMuc2Vzc2lvblN1YmplY3QubmV4dCh7XG4gICAgICAuLi5jdXJyZW50U2Vzc2lvbixcbiAgICAgIGlzQXV0aGVudGljYXRlZFxuICAgIH0pO1xuICB9XG5cbiAgc2V0VXNlcih1c2VyOiBVc2VyUmVzcG9uc2UgfCBudWxsKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLnVzZXJTdWJqZWN0LnZhbHVlO1xuICAgIHRoaXMudXNlclN1YmplY3QubmV4dCh7XG4gICAgICBpc1VzZXJMb2FkaW5nOiBjdXJyZW50VXNlci5pc1VzZXJMb2FkaW5nLFxuICAgICAgdXNlclxuICAgIH0pO1xuICB9XG59XG4iXX0=