@descope/angular-sdk 0.22.3 → 0.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/esm2022/environment.mjs +2 -2
- package/dist/esm2022/lib/base/base-lazy-widget.component.mjs +50 -0
- package/dist/esm2022/lib/components/access-key-management/access-key-management.component.mjs +27 -19
- package/dist/esm2022/lib/components/applications-portal/applications-portal.component.mjs +27 -19
- package/dist/esm2022/lib/components/audit-management/audit-management.component.mjs +27 -19
- package/dist/esm2022/lib/components/descope/descope.component.mjs +52 -27
- package/dist/esm2022/lib/components/role-management/role-management.component.mjs +27 -19
- package/dist/esm2022/lib/components/sign-in-flow/sign-in-flow.component.mjs +1 -1
- package/dist/esm2022/lib/components/sign-up-flow/sign-up-flow.component.mjs +1 -1
- package/dist/esm2022/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.mjs +1 -1
- package/dist/esm2022/lib/components/user-management/user-management.component.mjs +27 -19
- package/dist/esm2022/lib/components/user-profile/user-profile.component.mjs +27 -19
- package/dist/esm2022/lib/types/types.mjs +1 -1
- package/dist/fesm2022/descope-angular-sdk.mjs +242 -128
- package/dist/fesm2022/descope-angular-sdk.mjs.map +1 -1
- package/dist/lib/base/base-lazy-widget.component.d.ts +45 -0
- package/dist/lib/components/access-key-management/access-key-management.component.d.ts +8 -12
- package/dist/lib/components/applications-portal/applications-portal.component.d.ts +8 -12
- package/dist/lib/components/audit-management/audit-management.component.d.ts +8 -12
- package/dist/lib/components/descope/descope.component.d.ts +7 -4
- package/dist/lib/components/role-management/role-management.component.d.ts +8 -12
- package/dist/lib/components/sign-in-flow/sign-in-flow.component.d.ts +1 -2
- package/dist/lib/components/sign-up-flow/sign-up-flow.component.d.ts +1 -2
- package/dist/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.d.ts +1 -2
- package/dist/lib/components/user-management/user-management.component.d.ts +8 -12
- package/dist/lib/components/user-profile/user-profile.component.d.ts +8 -12
- package/dist/lib/types/types.d.ts +1 -2
- package/package.json +11 -11
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, inject, EventEmitter, Component, CUSTOM_ELEMENTS_SCHEMA, ViewChild, Input, Output, NgModule, Optional, SkipSelf } from '@angular/core';
|
|
2
|
+
import { Injectable, inject, EventEmitter, PLATFORM_ID, Component, CUSTOM_ELEMENTS_SCHEMA, Inject, ViewChild, Input, Output, Directive, NgModule, Optional, SkipSelf } from '@angular/core';
|
|
3
3
|
import createSdk from '@descope/web-js-sdk';
|
|
4
4
|
import { from, BehaviorSubject, finalize, tap, of, throwError } from 'rxjs';
|
|
5
5
|
import { Router } from '@angular/router';
|
|
6
6
|
import { switchMap, catchError } from 'rxjs/operators';
|
|
7
|
-
import
|
|
8
|
-
import DescopeUserManagementWidget from '@descope/user-management-widget';
|
|
9
|
-
import DescopeRoleManagementWidget from '@descope/role-management-widget';
|
|
10
|
-
import DescopeAccessKeyManagementWidget from '@descope/access-key-management-widget';
|
|
11
|
-
import DescopeAuditManagementWidget from '@descope/audit-management-widget';
|
|
12
|
-
import DescopeUserProfileWidget from '@descope/user-profile-widget';
|
|
13
|
-
import DescopeApplicationsPortalWidget from '@descope/applications-portal-widget';
|
|
7
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
14
8
|
|
|
15
9
|
function observabilify(value) {
|
|
16
10
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -39,7 +33,7 @@ function observabilify(value) {
|
|
|
39
33
|
}
|
|
40
34
|
|
|
41
35
|
const environment = {
|
|
42
|
-
buildVersion: '0.
|
|
36
|
+
buildVersion: '0.23.1'
|
|
43
37
|
};
|
|
44
38
|
|
|
45
39
|
const baseHeaders = {
|
|
@@ -288,12 +282,14 @@ class DescopeComponent {
|
|
|
288
282
|
return undefined;
|
|
289
283
|
}
|
|
290
284
|
}
|
|
291
|
-
constructor(elementRef, authService, descopeConfig) {
|
|
285
|
+
constructor(elementRef, authService, descopeConfig, platformId) {
|
|
292
286
|
this.elementRef = elementRef;
|
|
293
287
|
this.authService = authService;
|
|
288
|
+
this.platformId = platformId;
|
|
294
289
|
this.success = new EventEmitter();
|
|
295
290
|
this.error = new EventEmitter();
|
|
296
291
|
this.ready = new EventEmitter();
|
|
292
|
+
this.isWebComponentLoaded = false;
|
|
297
293
|
this.projectId = descopeConfig.projectId;
|
|
298
294
|
this.baseUrl = descopeConfig.baseUrl;
|
|
299
295
|
this.baseStaticUrl = descopeConfig.baseStaticUrl;
|
|
@@ -301,28 +297,48 @@ class DescopeComponent {
|
|
|
301
297
|
this.storeLastAuthenticatedUser = descopeConfig.storeLastAuthenticatedUser;
|
|
302
298
|
this.customStorage = descopeConfig.customStorage;
|
|
303
299
|
}
|
|
304
|
-
ngOnInit() {
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
300
|
+
async ngOnInit() {
|
|
301
|
+
// Only load web component in browser environment
|
|
302
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
await this.loadWebComponent();
|
|
306
|
+
}
|
|
307
|
+
async loadWebComponent() {
|
|
308
|
+
if (this.isWebComponentLoaded) {
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
try {
|
|
312
|
+
// Dynamically import the web component only in browser context
|
|
313
|
+
const DescopeWcModule = await import('@descope/web-component');
|
|
314
|
+
const DescopeWc = DescopeWcModule.default;
|
|
315
|
+
const sdk = this.authService.descopeSdk;
|
|
316
|
+
DescopeWc.sdkConfigOverrides = {
|
|
317
|
+
// Overrides the web-component's base headers to indicate usage via the Angular SDK
|
|
318
|
+
baseHeaders,
|
|
319
|
+
// Disables token persistence within the web-component to delegate token management
|
|
320
|
+
// to the global SDK hooks. This ensures token handling aligns with the SDK's configuration,
|
|
321
|
+
// and web-component requests leverage the global SDK's beforeRequest hooks for consistency
|
|
322
|
+
persistTokens: false,
|
|
323
|
+
hooks: {
|
|
324
|
+
get beforeRequest() {
|
|
325
|
+
// Retrieves the beforeRequest hook from the global SDK, which is initialized
|
|
326
|
+
// within the AuthProvider using the desired configuration. This approach ensures
|
|
327
|
+
// the web-component utilizes the same beforeRequest hooks as the global SDK
|
|
328
|
+
return sdk.httpClient.hooks?.beforeRequest;
|
|
329
|
+
},
|
|
330
|
+
set beforeRequest(_) {
|
|
331
|
+
// The empty setter prevents runtime errors when attempts are made to assign a value to 'beforeRequest'.
|
|
332
|
+
// JavaScript objects default to having both getters and setters
|
|
333
|
+
}
|
|
323
334
|
}
|
|
324
|
-
}
|
|
325
|
-
|
|
335
|
+
};
|
|
336
|
+
this.isWebComponentLoaded = true;
|
|
337
|
+
}
|
|
338
|
+
catch (error) {
|
|
339
|
+
// eslint-disable-next-line no-console
|
|
340
|
+
console.error('Failed to load Descope web component:', error);
|
|
341
|
+
}
|
|
326
342
|
}
|
|
327
343
|
ngAfterViewInit() {
|
|
328
344
|
if (!this.descopeWc?.nativeElement)
|
|
@@ -373,7 +389,7 @@ class DescopeComponent {
|
|
|
373
389
|
});
|
|
374
390
|
}
|
|
375
391
|
}
|
|
376
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DescopeComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthService }, { token: DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
392
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DescopeComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthService }, { token: DescopeAuthConfig }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
377
393
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", 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", popupOrigin: "popupOrigin" }, outputs: { success: "success", error: "error", ready: "ready" }, viewQueries: [{ propertyName: "descopeWc", first: true, predicate: ["descopeWc"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
378
394
|
<descope-wc
|
|
379
395
|
#descopeWc
|
|
@@ -440,7 +456,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
440
456
|
</descope-wc>
|
|
441
457
|
`
|
|
442
458
|
}]
|
|
443
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthService }, { type: DescopeAuthConfig }
|
|
459
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthService }, { type: DescopeAuthConfig }, { type: undefined, decorators: [{
|
|
460
|
+
type: Inject,
|
|
461
|
+
args: [PLATFORM_ID]
|
|
462
|
+
}] }], propDecorators: { descopeWc: [{
|
|
444
463
|
type: ViewChild,
|
|
445
464
|
args: ['descopeWc']
|
|
446
465
|
}], flowId: [{
|
|
@@ -645,27 +664,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
645
664
|
type: Output
|
|
646
665
|
}] } });
|
|
647
666
|
|
|
648
|
-
|
|
649
|
-
|
|
667
|
+
/**
|
|
668
|
+
* Abstract base class for widget components that need to be lazily loaded
|
|
669
|
+
* with SSR support. This class handles the common lifecycle patterns:
|
|
670
|
+
* - Browser detection for SSR compatibility
|
|
671
|
+
* - Lazy loading of widgets
|
|
672
|
+
* - DOM manipulation (appending to element)
|
|
673
|
+
* - Lifecycle coordination between loading, setup, and event listeners
|
|
674
|
+
*
|
|
675
|
+
* Derived components must implement:
|
|
676
|
+
* - loadWidget(): Dynamic import and instantiation of the specific widget
|
|
677
|
+
* - setupWebComponent(): Configure attributes and properties on the widget
|
|
678
|
+
* - setupEventListeners(): Attach event listeners to the widget
|
|
679
|
+
*/
|
|
680
|
+
class BaseLazyWidgetComponent {
|
|
681
|
+
constructor(elementRef, platformId) {
|
|
650
682
|
this.elementRef = elementRef;
|
|
683
|
+
this.platformId = platformId;
|
|
684
|
+
}
|
|
685
|
+
async ngOnInit() {
|
|
686
|
+
// Only load widget in browser environment
|
|
687
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
688
|
+
return;
|
|
689
|
+
}
|
|
690
|
+
const widget = await this.loadWidget();
|
|
691
|
+
if (widget) {
|
|
692
|
+
this.webComponent = widget;
|
|
693
|
+
this.setupWebComponent();
|
|
694
|
+
this.elementRef.nativeElement.appendChild(this.webComponent);
|
|
695
|
+
// Set up event listeners after the widget is loaded and appended
|
|
696
|
+
this.setupEventListeners();
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
ngOnChanges() {
|
|
700
|
+
if (this.webComponent) {
|
|
701
|
+
this.setupWebComponent();
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BaseLazyWidgetComponent, deps: [{ token: i0.ElementRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
705
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: BaseLazyWidgetComponent, isStandalone: true, usesOnChanges: true, ngImport: i0 }); }
|
|
706
|
+
}
|
|
707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BaseLazyWidgetComponent, decorators: [{
|
|
708
|
+
type: Directive
|
|
709
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
710
|
+
type: Inject,
|
|
711
|
+
args: [PLATFORM_ID]
|
|
712
|
+
}] }] });
|
|
713
|
+
|
|
714
|
+
class UserManagementComponent extends BaseLazyWidgetComponent {
|
|
715
|
+
constructor(elementRef, descopeConfig, platformId) {
|
|
716
|
+
super(elementRef, platformId);
|
|
651
717
|
this.ready = new EventEmitter();
|
|
652
|
-
this.webComponent = new DescopeUserManagementWidget();
|
|
653
718
|
this.projectId = descopeConfig.projectId;
|
|
654
719
|
this.baseUrl = descopeConfig.baseUrl;
|
|
655
720
|
this.baseStaticUrl = descopeConfig.baseStaticUrl;
|
|
656
721
|
this.baseCdnUrl = descopeConfig.baseCdnUrl;
|
|
657
722
|
}
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
723
|
+
async loadWidget() {
|
|
724
|
+
try {
|
|
725
|
+
const WidgetModule = await import('@descope/user-management-widget');
|
|
726
|
+
const DescopeUserManagementWidget = WidgetModule.default;
|
|
727
|
+
return new DescopeUserManagementWidget();
|
|
728
|
+
}
|
|
729
|
+
catch (error) {
|
|
730
|
+
// eslint-disable-next-line no-console
|
|
731
|
+
console.error('Failed to load User Management widget:', error);
|
|
732
|
+
return null;
|
|
733
|
+
}
|
|
667
734
|
}
|
|
668
735
|
setupWebComponent() {
|
|
736
|
+
if (!this.webComponent)
|
|
737
|
+
return;
|
|
669
738
|
this.webComponent.setAttribute('project-id', this.projectId);
|
|
670
739
|
this.webComponent.setAttribute('tenant', this.tenant);
|
|
671
740
|
this.webComponent.setAttribute('widget-id', this.widgetId);
|
|
@@ -692,14 +761,16 @@ class UserManagementComponent {
|
|
|
692
761
|
}
|
|
693
762
|
}
|
|
694
763
|
setupEventListeners() {
|
|
764
|
+
if (!this.webComponent)
|
|
765
|
+
return;
|
|
695
766
|
if (this.ready) {
|
|
696
767
|
this.webComponent.addEventListener('ready', () => {
|
|
697
768
|
this.ready?.emit();
|
|
698
769
|
});
|
|
699
770
|
}
|
|
700
771
|
}
|
|
701
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: UserManagementComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
702
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: UserManagementComponent, isStandalone: true, selector: "user-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { ready: "ready" },
|
|
772
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: UserManagementComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
773
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: UserManagementComponent, isStandalone: true, selector: "user-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { ready: "ready" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
703
774
|
}
|
|
704
775
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: UserManagementComponent, decorators: [{
|
|
705
776
|
type: Component,
|
|
@@ -709,7 +780,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
709
780
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
710
781
|
template: ''
|
|
711
782
|
}]
|
|
712
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }
|
|
783
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }, { type: undefined, decorators: [{
|
|
784
|
+
type: Inject,
|
|
785
|
+
args: [PLATFORM_ID]
|
|
786
|
+
}] }], propDecorators: { tenant: [{
|
|
713
787
|
type: Input
|
|
714
788
|
}], widgetId: [{
|
|
715
789
|
type: Input
|
|
@@ -725,27 +799,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
725
799
|
type: Output
|
|
726
800
|
}] } });
|
|
727
801
|
|
|
728
|
-
class RoleManagementComponent {
|
|
729
|
-
constructor(elementRef, descopeConfig) {
|
|
730
|
-
|
|
802
|
+
class RoleManagementComponent extends BaseLazyWidgetComponent {
|
|
803
|
+
constructor(elementRef, descopeConfig, platformId) {
|
|
804
|
+
super(elementRef, platformId);
|
|
731
805
|
this.ready = new EventEmitter();
|
|
732
|
-
this.webComponent = new DescopeRoleManagementWidget();
|
|
733
806
|
this.projectId = descopeConfig.projectId;
|
|
734
807
|
this.baseUrl = descopeConfig.baseUrl;
|
|
735
808
|
this.baseStaticUrl = descopeConfig.baseStaticUrl;
|
|
736
809
|
this.baseCdnUrl = descopeConfig.baseCdnUrl;
|
|
737
810
|
}
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
811
|
+
async loadWidget() {
|
|
812
|
+
try {
|
|
813
|
+
const WidgetModule = await import('@descope/role-management-widget');
|
|
814
|
+
const DescopeRoleManagementWidget = WidgetModule.default;
|
|
815
|
+
return new DescopeRoleManagementWidget();
|
|
816
|
+
}
|
|
817
|
+
catch (error) {
|
|
818
|
+
// eslint-disable-next-line no-console
|
|
819
|
+
console.error('Failed to load Role Management widget:', error);
|
|
820
|
+
return null;
|
|
821
|
+
}
|
|
747
822
|
}
|
|
748
823
|
setupWebComponent() {
|
|
824
|
+
if (!this.webComponent)
|
|
825
|
+
return;
|
|
749
826
|
this.webComponent.setAttribute('project-id', this.projectId);
|
|
750
827
|
this.webComponent.setAttribute('tenant', this.tenant);
|
|
751
828
|
this.webComponent.setAttribute('widget-id', this.widgetId);
|
|
@@ -772,14 +849,16 @@ class RoleManagementComponent {
|
|
|
772
849
|
}
|
|
773
850
|
}
|
|
774
851
|
setupEventListeners() {
|
|
852
|
+
if (!this.webComponent)
|
|
853
|
+
return;
|
|
775
854
|
if (this.ready) {
|
|
776
855
|
this.webComponent.addEventListener('ready', () => {
|
|
777
856
|
this.ready?.emit();
|
|
778
857
|
});
|
|
779
858
|
}
|
|
780
859
|
}
|
|
781
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RoleManagementComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
782
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: RoleManagementComponent, isStandalone: true, selector: "role-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { ready: "ready" },
|
|
860
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RoleManagementComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
861
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: RoleManagementComponent, isStandalone: true, selector: "role-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { ready: "ready" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
783
862
|
}
|
|
784
863
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: RoleManagementComponent, decorators: [{
|
|
785
864
|
type: Component,
|
|
@@ -789,7 +868,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
789
868
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
790
869
|
template: ''
|
|
791
870
|
}]
|
|
792
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }
|
|
871
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }, { type: undefined, decorators: [{
|
|
872
|
+
type: Inject,
|
|
873
|
+
args: [PLATFORM_ID]
|
|
874
|
+
}] }], propDecorators: { tenant: [{
|
|
793
875
|
type: Input
|
|
794
876
|
}], widgetId: [{
|
|
795
877
|
type: Input
|
|
@@ -805,27 +887,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
805
887
|
type: Output
|
|
806
888
|
}] } });
|
|
807
889
|
|
|
808
|
-
class AccessKeyManagementComponent {
|
|
809
|
-
constructor(elementRef, descopeConfig) {
|
|
810
|
-
|
|
890
|
+
class AccessKeyManagementComponent extends BaseLazyWidgetComponent {
|
|
891
|
+
constructor(elementRef, descopeConfig, platformId) {
|
|
892
|
+
super(elementRef, platformId);
|
|
811
893
|
this.ready = new EventEmitter();
|
|
812
|
-
this.webComponent = new DescopeAccessKeyManagementWidget();
|
|
813
894
|
this.projectId = descopeConfig.projectId;
|
|
814
895
|
this.baseUrl = descopeConfig.baseUrl;
|
|
815
896
|
this.baseStaticUrl = descopeConfig.baseStaticUrl;
|
|
816
897
|
this.baseCdnUrl = descopeConfig.baseCdnUrl;
|
|
817
898
|
}
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
899
|
+
async loadWidget() {
|
|
900
|
+
try {
|
|
901
|
+
const WidgetModule = await import('@descope/access-key-management-widget');
|
|
902
|
+
const DescopeAccessKeyManagementWidget = WidgetModule.default;
|
|
903
|
+
return new DescopeAccessKeyManagementWidget();
|
|
904
|
+
}
|
|
905
|
+
catch (error) {
|
|
906
|
+
// eslint-disable-next-line no-console
|
|
907
|
+
console.error('Failed to load Access Key Management widget:', error);
|
|
908
|
+
return null;
|
|
909
|
+
}
|
|
827
910
|
}
|
|
828
911
|
setupWebComponent() {
|
|
912
|
+
if (!this.webComponent)
|
|
913
|
+
return;
|
|
829
914
|
this.webComponent.setAttribute('project-id', this.projectId);
|
|
830
915
|
this.webComponent.setAttribute('tenant', this.tenant);
|
|
831
916
|
this.webComponent.setAttribute('widget-id', this.widgetId);
|
|
@@ -849,14 +934,16 @@ class AccessKeyManagementComponent {
|
|
|
849
934
|
}
|
|
850
935
|
}
|
|
851
936
|
setupEventListeners() {
|
|
937
|
+
if (!this.webComponent)
|
|
938
|
+
return;
|
|
852
939
|
if (this.ready) {
|
|
853
940
|
this.webComponent.addEventListener('ready', () => {
|
|
854
941
|
this.ready?.emit();
|
|
855
942
|
});
|
|
856
943
|
}
|
|
857
944
|
}
|
|
858
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AccessKeyManagementComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
859
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: AccessKeyManagementComponent, isStandalone: true, selector: "access-key-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { ready: "ready" },
|
|
945
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AccessKeyManagementComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
946
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: AccessKeyManagementComponent, isStandalone: true, selector: "access-key-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { ready: "ready" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
860
947
|
}
|
|
861
948
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AccessKeyManagementComponent, decorators: [{
|
|
862
949
|
type: Component,
|
|
@@ -866,7 +953,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
866
953
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
867
954
|
template: ''
|
|
868
955
|
}]
|
|
869
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }
|
|
956
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }, { type: undefined, decorators: [{
|
|
957
|
+
type: Inject,
|
|
958
|
+
args: [PLATFORM_ID]
|
|
959
|
+
}] }], propDecorators: { tenant: [{
|
|
870
960
|
type: Input
|
|
871
961
|
}], widgetId: [{
|
|
872
962
|
type: Input
|
|
@@ -882,27 +972,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
882
972
|
type: Output
|
|
883
973
|
}] } });
|
|
884
974
|
|
|
885
|
-
class AuditManagementComponent {
|
|
886
|
-
constructor(elementRef, descopeConfig) {
|
|
887
|
-
|
|
975
|
+
class AuditManagementComponent extends BaseLazyWidgetComponent {
|
|
976
|
+
constructor(elementRef, descopeConfig, platformId) {
|
|
977
|
+
super(elementRef, platformId);
|
|
888
978
|
this.ready = new EventEmitter();
|
|
889
|
-
this.webComponent = new DescopeAuditManagementWidget();
|
|
890
979
|
this.projectId = descopeConfig.projectId;
|
|
891
980
|
this.baseUrl = descopeConfig.baseUrl;
|
|
892
981
|
this.baseStaticUrl = descopeConfig.baseStaticUrl;
|
|
893
982
|
this.baseCdnUrl = descopeConfig.baseCdnUrl;
|
|
894
983
|
}
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
984
|
+
async loadWidget() {
|
|
985
|
+
try {
|
|
986
|
+
const WidgetModule = await import('@descope/audit-management-widget');
|
|
987
|
+
const DescopeAuditManagementWidget = WidgetModule.default;
|
|
988
|
+
return new DescopeAuditManagementWidget();
|
|
989
|
+
}
|
|
990
|
+
catch (error) {
|
|
991
|
+
// eslint-disable-next-line no-console
|
|
992
|
+
console.error('Failed to load Audit Management widget:', error);
|
|
993
|
+
return null;
|
|
994
|
+
}
|
|
904
995
|
}
|
|
905
996
|
setupWebComponent() {
|
|
997
|
+
if (!this.webComponent)
|
|
998
|
+
return;
|
|
906
999
|
this.webComponent.setAttribute('project-id', this.projectId);
|
|
907
1000
|
this.webComponent.setAttribute('tenant', this.tenant);
|
|
908
1001
|
this.webComponent.setAttribute('widget-id', this.widgetId);
|
|
@@ -929,14 +1022,16 @@ class AuditManagementComponent {
|
|
|
929
1022
|
}
|
|
930
1023
|
}
|
|
931
1024
|
setupEventListeners() {
|
|
1025
|
+
if (!this.webComponent)
|
|
1026
|
+
return;
|
|
932
1027
|
if (this.ready) {
|
|
933
1028
|
this.webComponent.addEventListener('ready', () => {
|
|
934
1029
|
this.ready?.emit();
|
|
935
1030
|
});
|
|
936
1031
|
}
|
|
937
1032
|
}
|
|
938
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AuditManagementComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
939
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: AuditManagementComponent, isStandalone: true, selector: "audit-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { ready: "ready" },
|
|
1033
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AuditManagementComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1034
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: AuditManagementComponent, isStandalone: true, selector: "audit-management[tenant]", inputs: { tenant: "tenant", widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { ready: "ready" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
940
1035
|
}
|
|
941
1036
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AuditManagementComponent, decorators: [{
|
|
942
1037
|
type: Component,
|
|
@@ -946,7 +1041,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
946
1041
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
947
1042
|
template: ''
|
|
948
1043
|
}]
|
|
949
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }
|
|
1044
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }, { type: undefined, decorators: [{
|
|
1045
|
+
type: Inject,
|
|
1046
|
+
args: [PLATFORM_ID]
|
|
1047
|
+
}] }], propDecorators: { tenant: [{
|
|
950
1048
|
type: Input
|
|
951
1049
|
}], widgetId: [{
|
|
952
1050
|
type: Input
|
|
@@ -962,29 +1060,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
962
1060
|
type: Output
|
|
963
1061
|
}] } });
|
|
964
1062
|
|
|
965
|
-
class UserProfileComponent {
|
|
966
|
-
constructor(elementRef, descopeConfig, descopeAuthService) {
|
|
967
|
-
|
|
1063
|
+
class UserProfileComponent extends BaseLazyWidgetComponent {
|
|
1064
|
+
constructor(elementRef, descopeConfig, descopeAuthService, platformId) {
|
|
1065
|
+
super(elementRef, platformId);
|
|
968
1066
|
this.descopeAuthService = descopeAuthService;
|
|
969
1067
|
this.logout = new EventEmitter();
|
|
970
1068
|
this.ready = new EventEmitter();
|
|
971
|
-
this.webComponent = new DescopeUserProfileWidget();
|
|
972
1069
|
this.projectId = descopeConfig.projectId;
|
|
973
1070
|
this.baseUrl = descopeConfig.baseUrl;
|
|
974
1071
|
this.baseStaticUrl = descopeConfig.baseStaticUrl;
|
|
975
1072
|
this.baseCdnUrl = descopeConfig.baseCdnUrl;
|
|
976
1073
|
}
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
1074
|
+
async loadWidget() {
|
|
1075
|
+
try {
|
|
1076
|
+
const WidgetModule = await import('@descope/user-profile-widget');
|
|
1077
|
+
const DescopeUserProfileWidget = WidgetModule.default;
|
|
1078
|
+
return new DescopeUserProfileWidget();
|
|
1079
|
+
}
|
|
1080
|
+
catch (error) {
|
|
1081
|
+
// eslint-disable-next-line no-console
|
|
1082
|
+
console.error('Failed to load User Profile widget:', error);
|
|
1083
|
+
return null;
|
|
1084
|
+
}
|
|
986
1085
|
}
|
|
987
1086
|
setupWebComponent() {
|
|
1087
|
+
if (!this.webComponent)
|
|
1088
|
+
return;
|
|
988
1089
|
this.webComponent.setAttribute('project-id', this.projectId);
|
|
989
1090
|
this.webComponent.setAttribute('widget-id', this.widgetId);
|
|
990
1091
|
if (this.baseUrl) {
|
|
@@ -1010,6 +1111,8 @@ class UserProfileComponent {
|
|
|
1010
1111
|
}
|
|
1011
1112
|
}
|
|
1012
1113
|
setupEventListeners() {
|
|
1114
|
+
if (!this.webComponent)
|
|
1115
|
+
return;
|
|
1013
1116
|
this.webComponent.addEventListener('logout', (e) => {
|
|
1014
1117
|
this.logout?.emit(e);
|
|
1015
1118
|
this.descopeAuthService.setSession('');
|
|
@@ -1022,8 +1125,8 @@ class UserProfileComponent {
|
|
|
1022
1125
|
});
|
|
1023
1126
|
}
|
|
1024
1127
|
}
|
|
1025
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: UserProfileComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }, { token: DescopeAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1026
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: UserProfileComponent, isStandalone: true, selector: "user-profile", inputs: { widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { logout: "logout", ready: "ready" },
|
|
1128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: UserProfileComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }, { token: DescopeAuthService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1129
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: UserProfileComponent, isStandalone: true, selector: "user-profile", inputs: { widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { logout: "logout", ready: "ready" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
1027
1130
|
}
|
|
1028
1131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: UserProfileComponent, decorators: [{
|
|
1029
1132
|
type: Component,
|
|
@@ -1032,7 +1135,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
1032
1135
|
standalone: true,
|
|
1033
1136
|
template: ''
|
|
1034
1137
|
}]
|
|
1035
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }, { type: DescopeAuthService }
|
|
1138
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }, { type: DescopeAuthService }, { type: undefined, decorators: [{
|
|
1139
|
+
type: Inject,
|
|
1140
|
+
args: [PLATFORM_ID]
|
|
1141
|
+
}] }], propDecorators: { widgetId: [{
|
|
1036
1142
|
type: Input
|
|
1037
1143
|
}], theme: [{
|
|
1038
1144
|
type: Input
|
|
@@ -1048,28 +1154,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
1048
1154
|
type: Output
|
|
1049
1155
|
}] } });
|
|
1050
1156
|
|
|
1051
|
-
class ApplicationsPortalComponent {
|
|
1052
|
-
constructor(elementRef, descopeConfig) {
|
|
1053
|
-
|
|
1157
|
+
class ApplicationsPortalComponent extends BaseLazyWidgetComponent {
|
|
1158
|
+
constructor(elementRef, descopeConfig, platformId) {
|
|
1159
|
+
super(elementRef, platformId);
|
|
1054
1160
|
this.logout = new EventEmitter();
|
|
1055
1161
|
this.ready = new EventEmitter();
|
|
1056
|
-
this.webComponent = new DescopeApplicationsPortalWidget();
|
|
1057
1162
|
this.projectId = descopeConfig.projectId;
|
|
1058
1163
|
this.baseUrl = descopeConfig.baseUrl;
|
|
1059
1164
|
this.baseStaticUrl = descopeConfig.baseStaticUrl;
|
|
1060
1165
|
this.baseCdnUrl = descopeConfig.baseCdnUrl;
|
|
1061
1166
|
}
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1167
|
+
async loadWidget() {
|
|
1168
|
+
try {
|
|
1169
|
+
const WidgetModule = await import('@descope/applications-portal-widget');
|
|
1170
|
+
const DescopeApplicationsPortalWidget = WidgetModule.default;
|
|
1171
|
+
return new DescopeApplicationsPortalWidget();
|
|
1172
|
+
}
|
|
1173
|
+
catch (error) {
|
|
1174
|
+
// eslint-disable-next-line no-console
|
|
1175
|
+
console.error('Failed to load Applications Portal widget:', error);
|
|
1176
|
+
return null;
|
|
1177
|
+
}
|
|
1071
1178
|
}
|
|
1072
1179
|
setupWebComponent() {
|
|
1180
|
+
if (!this.webComponent)
|
|
1181
|
+
return;
|
|
1073
1182
|
this.webComponent.setAttribute('project-id', this.projectId);
|
|
1074
1183
|
this.webComponent.setAttribute('widget-id', this.widgetId);
|
|
1075
1184
|
if (this.baseUrl) {
|
|
@@ -1095,6 +1204,8 @@ class ApplicationsPortalComponent {
|
|
|
1095
1204
|
}
|
|
1096
1205
|
}
|
|
1097
1206
|
setupEventListeners() {
|
|
1207
|
+
if (!this.webComponent)
|
|
1208
|
+
return;
|
|
1098
1209
|
if (this.logout) {
|
|
1099
1210
|
this.webComponent.addEventListener('logout', (e) => {
|
|
1100
1211
|
this.logout?.emit(e);
|
|
@@ -1106,8 +1217,8 @@ class ApplicationsPortalComponent {
|
|
|
1106
1217
|
});
|
|
1107
1218
|
}
|
|
1108
1219
|
}
|
|
1109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ApplicationsPortalComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: ApplicationsPortalComponent, isStandalone: true, selector: "applications-portal", inputs: { widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { logout: "logout", ready: "ready" },
|
|
1220
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ApplicationsPortalComponent, deps: [{ token: i0.ElementRef }, { token: DescopeAuthConfig }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1221
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: ApplicationsPortalComponent, isStandalone: true, selector: "applications-portal", inputs: { widgetId: "widgetId", theme: "theme", debug: "debug", logger: "logger", styleId: "styleId" }, outputs: { logout: "logout", ready: "ready" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
1111
1222
|
}
|
|
1112
1223
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ApplicationsPortalComponent, decorators: [{
|
|
1113
1224
|
type: Component,
|
|
@@ -1116,7 +1227,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
|
|
|
1116
1227
|
standalone: true,
|
|
1117
1228
|
template: ''
|
|
1118
1229
|
}]
|
|
1119
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }
|
|
1230
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: DescopeAuthConfig }, { type: undefined, decorators: [{
|
|
1231
|
+
type: Inject,
|
|
1232
|
+
args: [PLATFORM_ID]
|
|
1233
|
+
}] }], propDecorators: { widgetId: [{
|
|
1120
1234
|
type: Input
|
|
1121
1235
|
}], theme: [{
|
|
1122
1236
|
type: Input
|