@descope/angular-sdk 0.28.10 → 0.28.12
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export const environment = {
|
|
2
|
-
buildVersion: '0.28.
|
|
2
|
+
buildVersion: '0.28.12'
|
|
3
3
|
};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXNkay9zcmMvZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLFlBQVksRUFBRSxTQUFTO0NBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW52aXJvbm1lbnQgPSB7XG4gIGJ1aWxkVmVyc2lvbjogJzAuMjguMTInXG59O1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descope-angular-sdk.mjs","sources":["../../projects/angular-sdk/src/lib/utils/helpers.ts","../../projects/angular-sdk/src/environment.ts","../../projects/angular-sdk/src/lib/utils/constants.ts","../../projects/angular-sdk/src/lib/types/types.ts","../../projects/angular-sdk/src/lib/services/descope-auth.service.ts","../../projects/angular-sdk/src/lib/services/descope-auth.guard.ts","../../projects/angular-sdk/src/lib/services/descope.interceptor.ts","../../projects/angular-sdk/src/lib/components/descope/descope.component.ts","../../projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.ts","../../projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.html","../../projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.ts","../../projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.html","../../projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.ts","../../projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.html","../../projects/angular-sdk/src/lib/base/base-lazy-widget.component.ts","../../projects/angular-sdk/src/lib/components/user-management/user-management.component.ts","../../projects/angular-sdk/src/lib/components/role-management/role-management.component.ts","../../projects/angular-sdk/src/lib/components/access-key-management/access-key-management.component.ts","../../projects/angular-sdk/src/lib/components/audit-management/audit-management.component.ts","../../projects/angular-sdk/src/lib/components/user-profile/user-profile.component.ts","../../projects/angular-sdk/src/lib/components/applications-portal/applications-portal.component.ts","../../projects/angular-sdk/src/lib/descope-auth.module.ts","../../projects/angular-sdk/src/public-api.ts","../../projects/angular-sdk/src/descope-angular-sdk.ts"],"sourcesContent":["import { from, Observable } from 'rxjs';\n\nexport type Observablefied<T> = {\n [K in keyof T]: T[K] extends (...args: infer Args) => Promise<infer R>\n ? (...args: Args) => Observable<R>\n : T[K] extends (...args: infer Args) => infer R\n ? (...args: Args) => R\n : T[K] extends object\n ? Observablefied<T[K]>\n : T[K];\n};\n\nexport function observabilify<T>(value: T): Observablefied<T> {\n /* eslint-disable @typescript-eslint/no-explicit-any */\n const observableValue: any = {};\n\n for (const key in value) {\n if (typeof value[key] === 'function') {\n const fn = value[key] as (...args: unknown[]) => unknown;\n observableValue[key] = (...args: unknown[]) => {\n const fnResult = fn(...args);\n if (fnResult instanceof Promise) {\n return from(fnResult);\n } else {\n return fnResult;\n }\n };\n } else if (typeof value[key] === 'object' && value[key] !== null) {\n observableValue[key] = observabilify(value[key]);\n } else {\n observableValue[key] = value[key];\n }\n }\n\n return observableValue as Observablefied<T>;\n}\n","export const environment = {\n buildVersion: '0.28.10'\n};\n","import { environment } from '../../environment';\n\nexport const baseHeaders = {\n 'x-descope-sdk-name': 'angular',\n 'x-descope-sdk-version': environment.buildVersion\n};\n\n// Detect if running in a native flow (e.g., mobile app with Descope bridge in a webview)\nexport const isDescopeBridge = () =>\n typeof window !== 'undefined' && !!(window as any)['descopeBridge'];\n\nexport const isBrowser = () => typeof window !== 'undefined';\n","import { CookieConfig, OidcConfig } from '@descope/web-js-sdk';\nimport type { CustomStorage, ILogger } from '@descope/web-component';\nexport class DescopeAuthConfig {\n projectId = '';\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n // Default is true. If true, tokens will be stored on local storage.\n persistTokens?: boolean;\n // Default is true. If true, the SDK will automatically refresh the session token when it is about to expire\n autoRefresh?: boolean;\n sessionTokenViaCookie?: CookieConfig;\n // If truthy the SDK refresh and logout functions will use the OIDC client\n // Accepts boolean or OIDC configuration\n oidcConfig?: OidcConfig;\n // Default is true. If true, last authenticated user will be stored on local storage and can accessed with getUser function\n storeLastAuthenticatedUser?: boolean;\n pathsToIntercept?: string[];\n // Custom storage configuration for tokens and user data\n customStorage?: CustomStorage;\n}\n\nexport type { ILogger };\n","/* eslint-disable no-console */\n// workaround for TS issue https://github.com/microsoft/TypeScript/issues/42873\n// eslint-disable-next-line\nimport type * as _1 from '@descope/core-js-sdk';\nimport { Injectable } from '@angular/core';\nimport type { UserResponse } from '@descope/web-js-sdk';\nimport type * as _2 from 'oidc-client-ts'; // eslint-disable-line\nimport createSdk from '@descope/web-js-sdk';\nimport { BehaviorSubject, finalize, Observable, tap } from 'rxjs';\nimport { observabilify, Observablefied } from '../utils/helpers';\nimport { baseHeaders, isBrowser } from '../utils/constants';\nimport { DescopeAuthConfig } from '../types/types';\n\ntype DescopeSDK = ReturnType<typeof createSdk>;\ntype AngularDescopeSDK = Observablefied<DescopeSDK>;\n\nexport interface DescopeSession {\n isAuthenticated: boolean;\n isSessionLoading: boolean;\n sessionToken: string | null;\n claims?: Record<string, any>;\n}\n\nexport type DescopeUser = {\n user?: UserResponse | null;\n isUserLoading: boolean;\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DescopeAuthService {\n public descopeSdk: AngularDescopeSDK;\n private readonly sessionSubject: BehaviorSubject<DescopeSession>;\n private readonly userSubject: BehaviorSubject<DescopeUser>;\n readonly session$: Observable<DescopeSession>;\n readonly user$: Observable<DescopeUser>;\n\n constructor(config: DescopeAuthConfig) {\n this.descopeSdk = observabilify<DescopeSDK>(\n createSdk({\n persistTokens: isBrowser() as true,\n storeLastAuthenticatedUser: isBrowser() as true,\n autoRefresh: isBrowser() as true,\n ...config,\n baseHeaders\n })\n );\n\n this.sessionSubject = new BehaviorSubject<DescopeSession>({\n isAuthenticated: false,\n isSessionLoading: false,\n sessionToken: '',\n claims: undefined\n });\n this.session$ = this.sessionSubject.asObservable();\n this.userSubject = new BehaviorSubject<DescopeUser>({\n isUserLoading: false\n });\n this.user$ = this.userSubject.asObservable();\n this.descopeSdk.onSessionTokenChange(this.setSession.bind(this));\n this.descopeSdk.onIsAuthenticatedChange(this.setIsAuthenticated.bind(this));\n this.descopeSdk.onUserChange(this.setUser.bind(this));\n this.descopeSdk.onClaimsChange(this.setClaims.bind(this));\n }\n\n refreshSession(tryRefresh?: boolean) {\n const beforeRefreshSession = this.sessionSubject.value;\n this.sessionSubject.next({\n ...beforeRefreshSession,\n isSessionLoading: true\n });\n return this.descopeSdk.refresh(undefined, tryRefresh).pipe(\n finalize(() => {\n const afterRefreshSession = this.sessionSubject.value;\n this.sessionSubject.next({\n ...afterRefreshSession,\n isSessionLoading: false\n });\n })\n );\n }\n\n refreshUser() {\n const beforeRefreshUser = this.userSubject.value;\n this.userSubject.next({\n ...beforeRefreshUser,\n isUserLoading: true\n });\n return this.descopeSdk.me().pipe(\n tap((data) => {\n const afterRequestUser = this.userSubject.value;\n if (data.data) {\n this.userSubject.next({\n ...afterRequestUser,\n user: {\n ...data.data\n }\n });\n }\n }),\n finalize(() => {\n const afterRefreshUser = this.userSubject.value;\n this.userSubject.next({\n ...afterRefreshUser,\n isUserLoading: false\n });\n })\n );\n }\n\n getSessionToken() {\n if (isBrowser()) {\n return (\n this.descopeSdk as AngularDescopeSDK & {\n getSessionToken: () => string | null;\n }\n ).getSessionToken();\n }\n console.warn('Get session token is not supported in SSR');\n return '';\n }\n\n getRefreshToken() {\n if (isBrowser()) {\n return (\n this.descopeSdk as AngularDescopeSDK & {\n getRefreshToken: () => string | null;\n }\n ).getRefreshToken();\n }\n this.descopeSdk.getJwtPermissions;\n console.warn('Get refresh token is not supported in SSR');\n return '';\n }\n\n isSessionTokenExpired(token = this.getSessionToken()) {\n if (isBrowser()) {\n return this.descopeSdk.isJwtExpired(token ?? '');\n }\n console.warn('isSessionTokenExpired is not supported in SSR');\n return true;\n }\n\n isRefreshTokenExpired(token = this.getRefreshToken()) {\n if (isBrowser()) {\n return (\n this.descopeSdk as AngularDescopeSDK & {\n isJwtExpired: (token: string) => boolean | null;\n }\n ).isJwtExpired(token ?? '');\n }\n console.warn('isRefreshTokenExpired is not supported in SSR');\n return true;\n }\n\n getJwtPermissions(token = this.getSessionToken(), tenant?: string) {\n if (token === null) {\n console.error('Could not get JWT Permissions - not authenticated');\n return [];\n }\n return this.descopeSdk.getJwtPermissions(token, tenant);\n }\n\n getJwtRoles(token = this.getSessionToken(), tenant?: string) {\n if (token === null) {\n console.error('Could not get JWT Roles - not authenticated');\n return [];\n }\n return this.descopeSdk.getJwtRoles(token, tenant);\n }\n\n isAuthenticated() {\n return this.sessionSubject.value.isAuthenticated;\n }\n\n setSession(sessionToken: string | null) {\n const currentSession = this.sessionSubject.value;\n this.sessionSubject.next({\n ...currentSession,\n sessionToken\n });\n }\n\n setIsAuthenticated(isAuthenticated: boolean) {\n const currentSession = this.sessionSubject.value;\n this.sessionSubject.next({\n ...currentSession,\n isAuthenticated\n });\n }\n\n setUser(user: UserResponse | null) {\n const currentUser = this.userSubject.value;\n this.userSubject.next({\n isUserLoading: currentUser.isUserLoading,\n user\n });\n }\n\n setClaims(claims?: DescopeSession['claims']) {\n const currentSession = this.sessionSubject.value;\n this.sessionSubject.next({\n ...currentSession,\n claims\n });\n }\n}\n","import { inject } from '@angular/core';\n\nimport { DescopeAuthService } from './descope-auth.service';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { from, of } from 'rxjs';\n\nexport const descopeAuthGuard = (route: ActivatedRouteSnapshot) => {\n const authService = inject(DescopeAuthService);\n const router = inject(Router);\n const fallbackUrl = route.data['descopeFallbackUrl'];\n const isAuthenticated = authService.isAuthenticated();\n if (!isAuthenticated && !!fallbackUrl) {\n return from(router.navigate([fallbackUrl]));\n }\n return of(isAuthenticated);\n};\n","import { inject } from '@angular/core';\nimport {\n HttpErrorResponse,\n HttpHandlerFn,\n HttpInterceptorFn,\n HttpRequest\n} from '@angular/common/http';\nimport { throwError } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\nimport { DescopeAuthService } from './descope-auth.service';\nimport { DescopeAuthConfig } from '../types/types';\nimport { isDescopeBridge } from '../utils/constants';\n\nexport const descopeInterceptor: HttpInterceptorFn = (request, next) => {\n const config = inject(DescopeAuthConfig);\n const authService = inject(DescopeAuthService);\n\n function refreshAndRetry(\n request: HttpRequest<unknown>,\n next: HttpHandlerFn,\n error?: HttpErrorResponse\n ) {\n return authService.refreshSession().pipe(\n switchMap((refreshed) => {\n if (refreshed.ok && refreshed.data) {\n const requestWithRefreshedToken = addTokenToRequest(\n request,\n refreshed.data?.sessionJwt\n );\n return next(requestWithRefreshedToken);\n } else {\n return throwError(\n () => error ?? new Error('Could not refresh session!')\n );\n }\n })\n );\n }\n\n function shouldIntercept(request: HttpRequest<unknown>): boolean {\n if (isDescopeBridge()) return false;\n return (\n (config.pathsToIntercept?.length === 0 ||\n config.pathsToIntercept?.some((path) => request.url.includes(path))) ??\n true\n );\n }\n\n function addTokenToRequest(\n request: HttpRequest<unknown>,\n token: string\n ): HttpRequest<unknown> {\n return request.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`\n }\n });\n }\n\n if (shouldIntercept(request)) {\n const token = authService.getSessionToken();\n if (!token) {\n return refreshAndRetry(request, next);\n }\n const requestWithToken = addTokenToRequest(request, token);\n return next(requestWithToken).pipe(\n catchError((error: HttpErrorResponse) => {\n if (error.status === 401 || error.status === 403) {\n return refreshAndRetry(request, next, error);\n } else {\n return throwError(() => error);\n }\n })\n );\n } else {\n return next(request);\n }\n};\n","import {\n Component,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n CUSTOM_ELEMENTS_SCHEMA,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { DescopeAuthService } from '../../services/descope-auth.service';\nimport { from } from 'rxjs';\nimport { baseHeaders } from '../../utils/constants';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\n\n// Use \"import type\" to import only the TypeScript type information.\n// This is safe for SSR because it's completely erased at compile time and generates no runtime import.\nimport type DescopeWebComponent from '@descope/web-component';\nimport type { CustomStorage } from '@descope/web-component';\nimport OverrideThemes from '@descope/web-component';\n\n// Node.ELEMENT_NODE, as a literal - the Node global is not guaranteed to exist\n// during server-side rendering.\nconst ELEMENT_NODE = 1;\n\n@Component({\n selector: 'descope[flowId]',\n standalone: true,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n // The subtree is built imperatively (see ngOnInit), so there is nothing for\n // Angular to hydrate here - it re-renders it on the client instead.\n host: { ngSkipHydration: 'true' },\n // The element is intentionally declared inside an <ng-template> instead of\n // rendered directly. Angular appends an element to the DOM in its creation\n // pass but applies [attr.*] bindings in the later update pass, so a\n // <descope-wc> rendered directly here would be connected - and would run its\n // connectedCallback - before it had a project-id. The custom element reads\n // project-id at that moment, fails, and can never recover, which broke every\n // mount after the first (descope/etc#18415). Building the template by hand\n // lets the bindings run while the nodes are still detached.\n template: `\n <ng-container #wcAnchor></ng-container>\n <ng-template #wcTpl>\n <descope-wc\n [attr.project-id]=\"projectId\"\n [attr.flow-id]=\"flowId\"\n [attr.base-url]=\"baseUrl\"\n [attr.base-static-url]=\"baseStaticUrl\"\n [attr.base-cdn-url]=\"baseCdnUrl\"\n [attr.store-last-authenticated-user]=\"storeLastAuthenticatedUser\"\n [attr.theme]=\"theme\"\n [attr.locale]=\"locale\"\n [attr.tenant]=\"tenant\"\n [attr.telemetry-key]=\"telemetryKey\"\n [attr.redirect-url]=\"redirectUrl\"\n [attr.auto-focus]=\"autoFocus\"\n [attr.validate-on-blur]=\"validateOnBlur\"\n [attr.restart-on-error]=\"restartOnError\"\n [attr.send-session-token]=\"sendSessionToken\"\n [attr.debug]=\"debug\"\n [attr.style-id]=\"styleId\"\n [attr.theme-override]=\"themeOverride\"\n [attr.client]=\"clientString\"\n [attr.nonce]=\"nonceString\"\n [attr.dismiss-screen-error-on-input]=\"dismissScreenErrorOnInput\"\n [attr.popup-origin]=\"popupOrigin\"\n [attr.form]=\"formString\"\n [customStorage]=\"customStorage\"\n >\n <ng-content></ng-content>\n </descope-wc>\n </ng-template>\n `\n})\nexport class DescopeComponent implements OnInit, OnChanges, OnDestroy {\n @ViewChild('wcTpl', { static: true })\n private readonly wcTpl!: TemplateRef<unknown>;\n\n // Anchor inside this component's own view, so the inserted view stays in the\n // component's change-detection tree and Angular destroys it with the component.\n @ViewChild('wcAnchor', { read: ViewContainerRef, static: true })\n private readonly wcAnchor!: ViewContainerRef;\n\n private wcView?: EmbeddedViewRef<unknown>;\n\n private isDestroyed = false;\n\n get clientString(): string | undefined {\n if (!this.client) return undefined;\n try {\n return JSON.stringify(this.client);\n } catch {\n return undefined;\n }\n }\n\n get nonceString(): string | undefined {\n if (!this.nonce) return undefined;\n return typeof this.nonce === 'string' ? this.nonce : undefined;\n }\n\n get formString(): string | undefined {\n if (!this.form) return undefined;\n try {\n return JSON.stringify(this.form);\n } catch {\n return undefined;\n }\n }\n\n projectId!: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n storeLastAuthenticatedUser?: boolean;\n customStorage?: CustomStorage;\n @Input() flowId!: string;\n\n @Input() locale: string;\n @Input() theme: 'light' | 'dark' | 'os';\n @Input() tenant: string;\n @Input() telemetryKey: string;\n @Input() redirectUrl: string;\n @Input() autoFocus: true | false | 'skipFirstScreen';\n @Input() validateOnBlur: boolean;\n @Input() restartOnError: boolean;\n @Input() sendSessionToken: boolean;\n\n @Input() debug: boolean;\n @Input() errorTransformer: (error: { text: string; type: string }) => string;\n @Input() onScreenUpdate: (\n screenName: string,\n context: Record<string, any>,\n next: (\n interactionId: string,\n form: Record<string, any>\n ) => Promise<unknown>,\n ref: HTMLElement\n ) => boolean | Promise<boolean>;\n @Input() client: Record<string, any>;\n @Input() nonce: string;\n @Input() dismissScreenErrorOnInput: boolean;\n @Input() form: Record<string, any>;\n @Input() logger: ILogger;\n @Input() styleId: string;\n @Input() themeOverride: OverrideThemes;\n @Input() popupOrigin: string;\n\n @Output() success: EventEmitter<CustomEvent> =\n new EventEmitter<CustomEvent>();\n @Output() error: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n private webComponent?: DescopeWebComponent;\n private isWebComponentLoaded = false;\n\n constructor(\n private elementRef: ElementRef,\n private authService: DescopeAuthService,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) private platformId: object\n ) {\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n this.storeLastAuthenticatedUser = descopeConfig.storeLastAuthenticatedUser;\n this.customStorage = descopeConfig.customStorage;\n }\n\n async ngOnInit(): Promise<void> {\n // Load the web component before building the element. The order matters:\n // loadWebComponent sets DescopeWc.sdkConfigOverrides, and if something else\n // on the page already imported @descope/web-component then descope-wc is\n // already defined, so the element would initialize the moment it is\n // connected. Connecting it first would let the flow start without the\n // Angular SDK's base headers, persistTokens: false, and beforeRequest hook.\n if (isPlatformBrowser(this.platformId)) {\n await this.loadWebComponent();\n }\n\n // Built on the server too, so the server-rendered markup keeps containing\n // descope-wc as it did before. ngSkipHydration means the client re-renders\n // this subtree anyway, so the server copy only serves the first paint.\n this.createWebComponent();\n }\n\n /**\n * Builds the template while its nodes are still detached from the document,\n * applies the attribute bindings, and only then connects the element. This is\n * what guarantees project-id and flow-id are present when the custom element\n * runs its connectedCallback.\n */\n private createWebComponent(): void {\n // ngOnInit awaits the import, so the component can already be destroyed by\n // the time we get here (a route change while the chunk is downloading).\n // Inserting into a destroyed ViewContainerRef would throw, and nothing\n // would ever clean the view up.\n if (this.isDestroyed || this.wcView) return;\n\n // createEmbeddedView builds the nodes without putting them in the document,\n // so the element is not connected yet and its connectedCallback has not run.\n const view = this.wcTpl.createEmbeddedView(undefined);\n // Apply the [attr.*] bindings while the nodes are still detached.\n view.detectChanges();\n this.wcView = view;\n\n // The template holds exactly one element, <descope-wc>, and each component\n // instance builds its own view - so this picks that instance's own element\n // and never sees another instance's. Selected by node type rather than as\n // rootNodes[0] so template whitespace can never shift it, and compared\n // against a literal because Node is not guaranteed to exist during SSR.\n this.webComponent = view.rootNodes.find(\n (node: { nodeType: number }) => node.nodeType === ELEMENT_NODE\n ) as DescopeWebComponent | undefined;\n\n // Inserting connects the element - its connectedCallback runs here, with\n // every attribute already set.\n this.wcAnchor.insert(view);\n\n if (!this.webComponent) return;\n\n this.setupNonAttributeProperties();\n this.setupEventListeners();\n }\n\n private async loadWebComponent(): Promise<void> {\n if (this.isWebComponentLoaded) {\n return;\n }\n\n try {\n // Dynamically import the web component only in browser context\n const DescopeWcModule = await import('@descope/web-component');\n const DescopeWc = DescopeWcModule.default;\n const sdk = this.authService.descopeSdk;\n\n DescopeWc.sdkConfigOverrides = {\n // Overrides the web-component's base headers to indicate usage via the Angular SDK\n baseHeaders,\n // Disables token persistence within the web-component to delegate token management\n // to the global SDK hooks. This ensures token handling aligns with the SDK's configuration,\n // and web-component requests leverage the global SDK's beforeRequest hooks for consistency\n persistTokens: false,\n hooks: {\n get beforeRequest() {\n // Retrieves the beforeRequest hook from the global SDK, which is initialized\n // within the AuthProvider using the desired configuration. This approach ensures\n // the web-component utilizes the same beforeRequest hooks as the global SDK\n return sdk.httpClient.hooks?.beforeRequest;\n },\n set beforeRequest(_) {\n // The empty setter prevents runtime errors when attempts are made to assign a value to 'beforeRequest'.\n // JavaScript objects default to having both getters and setters\n }\n }\n };\n\n this.isWebComponentLoaded = true;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load Descope web component:', error);\n }\n }\n\n ngOnDestroy(): void {\n // Guards the ngOnInit race - the continuation can still be pending here.\n this.isDestroyed = true;\n\n // wcAnchor owns the view, so Angular would tear it down anyway - but when a\n // parent view is going away Angular skips removing the individual nodes, and\n // then the element never disconnects. Destroying it here takes the element\n // out of the DOM, so the web component's disconnectedCallback runs and drops\n // its window listeners and flow-state subscriptions.\n this.wcView?.destroy();\n this.wcView = undefined;\n this.webComponent = undefined;\n }\n\n ngOnChanges(): void {\n if (this.webComponent) {\n this.setupNonAttributeProperties();\n }\n }\n\n private setupNonAttributeProperties(): void {\n if (!this.webComponent) return;\n\n // Handle non-attribute properties\n if (this.errorTransformer) {\n this.webComponent.errorTransformer = this.errorTransformer;\n }\n\n if (this.onScreenUpdate) {\n this.webComponent.onScreenUpdate = this.onScreenUpdate;\n }\n\n if (this.logger) {\n this.webComponent.logger = this.logger;\n }\n }\n\n private setupEventListeners(): void {\n if (!this.webComponent) return;\n\n this.webComponent.addEventListener('success', (e: Event) => {\n from(\n this.authService.descopeSdk.httpClient.hooks?.afterRequest!(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {} as any,\n new Response(JSON.stringify((e as CustomEvent).detail))\n ) as Promise<unknown>\n ).subscribe(() => {\n if (this.success) {\n this.success?.emit(e as CustomEvent);\n }\n });\n });\n\n if (this.error) {\n this.webComponent.addEventListener('error', (e: Event) => {\n this.error?.emit(e as CustomEvent);\n });\n }\n\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\nimport { DescopeComponent } from '../descope/descope.component';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\n\n@Component({\n selector: 'descope-sign-in-flow',\n standalone: true,\n imports: [DescopeComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './sign-in-flow.component.html'\n})\nexport class SignInFlowComponent {\n projectId: string;\n\n @Input() locale: string;\n @Input() theme: 'light' | 'dark' | 'os';\n @Input() tenant: string;\n @Input() telemetryKey: string;\n @Input() redirectUrl: string;\n @Input() autoFocus: true | false | 'skipFirstScreen';\n @Input() validateOnBlur: boolean;\n @Input() restartOnError: boolean;\n @Input() sendSessionToken: boolean;\n\n @Input() debug: boolean;\n @Input() errorTransformer: (error: { text: string; type: string }) => string;\n @Input() onScreenUpdate: (\n screenName: string,\n context: Record<string, any>,\n next: (\n interactionId: string,\n form: Record<string, any>\n ) => Promise<unknown>,\n ref: HTMLElement\n ) => boolean | Promise<boolean>;\n @Input() client: Record<string, any>;\n @Input() nonce: string;\n @Input() dismissScreenErrorOnInput: boolean;\n @Input() form: Record<string, any>;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() success: EventEmitter<CustomEvent> =\n new EventEmitter<CustomEvent>();\n @Output() error: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n\n constructor(descopeConfig: DescopeAuthConfig) {\n this.projectId = descopeConfig.projectId;\n }\n}\n","<descope\n (success)=\"success.emit($event)\"\n (error)=\"error.emit($event)\"\n flowId=\"sign-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 [sendSessionToken]=\"sendSessionToken\"\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","import {\n Component,\n EventEmitter,\n Input,\n Output,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\nimport { DescopeComponent } from '../descope/descope.component';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\n\n@Component({\n selector: 'descope-sign-up-flow',\n standalone: true,\n imports: [DescopeComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './sign-up-flow.component.html'\n})\nexport class SignUpFlowComponent {\n projectId: string;\n\n @Input() locale: string;\n @Input() theme: 'light' | 'dark' | 'os';\n @Input() tenant: string;\n @Input() telemetryKey: string;\n @Input() redirectUrl: string;\n @Input() autoFocus: true | false | 'skipFirstScreen';\n @Input() validateOnBlur: boolean;\n @Input() restartOnError: boolean;\n @Input() sendSessionToken: boolean;\n\n @Input() debug: boolean;\n @Input() errorTransformer: (error: { text: string; type: string }) => string;\n @Input() onScreenUpdate: (\n screenName: string,\n context: Record<string, any>,\n next: (\n interactionId: string,\n form: Record<string, any>\n ) => Promise<unknown>,\n ref: HTMLElement\n ) => boolean | Promise<boolean>;\n @Input() client: Record<string, any>;\n @Input() nonce: string;\n @Input() dismissScreenErrorOnInput: boolean;\n @Input() form: Record<string, any>;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() success: EventEmitter<CustomEvent> =\n new EventEmitter<CustomEvent>();\n @Output() error: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n\n constructor(descopeConfig: DescopeAuthConfig) {\n this.projectId = descopeConfig.projectId;\n }\n}\n","<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 [sendSessionToken]=\"sendSessionToken\"\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","import {\n Component,\n EventEmitter,\n Input,\n Output,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\nimport { DescopeComponent } from '../descope/descope.component';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\n\n@Component({\n selector: 'descope-sign-up-or-in-flow',\n standalone: true,\n imports: [DescopeComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './sign-up-or-in-flow.component.html'\n})\nexport class SignUpOrInFlowComponent {\n projectId: string;\n\n @Input() locale: string;\n @Input() theme: 'light' | 'dark' | 'os';\n @Input() tenant: string;\n @Input() telemetryKey: string;\n @Input() redirectUrl: string;\n @Input() autoFocus: true | false | 'skipFirstScreen';\n @Input() validateOnBlur: boolean;\n @Input() restartOnError: boolean;\n @Input() sendSessionToken: boolean;\n\n @Input() debug: boolean;\n @Input() errorTransformer: (error: { text: string; type: string }) => string;\n @Input() onScreenUpdate: (\n screenName: string,\n context: Record<string, any>,\n next: (\n interactionId: string,\n form: Record<string, any>\n ) => Promise<unknown>,\n ref: HTMLElement\n ) => boolean | Promise<boolean>;\n @Input() client: Record<string, any>;\n @Input() nonce: string;\n @Input() dismissScreenErrorOnInput: boolean;\n @Input() form: Record<string, any>;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() success: EventEmitter<CustomEvent> =\n new EventEmitter<CustomEvent>();\n @Output() error: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n\n constructor(descopeConfig: DescopeAuthConfig) {\n this.projectId = descopeConfig.projectId;\n }\n}\n","<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 [sendSessionToken]=\"sendSessionToken\"\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","import {\n Directive,\n ElementRef,\n Inject,\n OnChanges,\n OnInit,\n PLATFORM_ID\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * Abstract base class for widget components that need to be lazily loaded\n * with SSR support. This class handles the common lifecycle patterns:\n * - Browser detection for SSR compatibility\n * - Lazy loading of widgets\n * - DOM manipulation (appending to element)\n * - Lifecycle coordination between loading, setup, and event listeners\n *\n * Derived components must implement:\n * - loadWidget(): Dynamic import and instantiation of the specific widget\n * - setupWebComponent(): Configure attributes and properties on the widget\n * - setupEventListeners(): Attach event listeners to the widget\n */\n@Directive()\nexport abstract class BaseLazyWidgetComponent implements OnInit, OnChanges {\n protected webComponent?: HTMLElement;\n\n constructor(\n protected elementRef: ElementRef,\n @Inject(PLATFORM_ID) protected platformId: object\n ) {}\n\n async ngOnInit(): Promise<void> {\n // Only load widget in browser environment\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n const widget = await this.loadWidget();\n if (widget) {\n this.webComponent = widget;\n this.setupWebComponent();\n this.elementRef.nativeElement.appendChild(this.webComponent);\n // Set up event listeners after the widget is loaded and appended\n this.setupEventListeners();\n }\n }\n\n ngOnChanges(): void {\n if (this.webComponent) {\n this.setupWebComponent();\n }\n }\n\n /**\n * Load the widget module dynamically. This method should:\n * 1. Dynamically import the widget module\n * 2. Instantiate the widget\n * 3. Return the widget as an HTMLElement\n * 4. Handle errors appropriately\n *\n * @returns The instantiated widget element, or null if loading failed\n */\n protected abstract loadWidget(): Promise<HTMLElement | null>;\n\n /**\n * Configure the web component by setting attributes and properties.\n * This is called after the widget is loaded and whenever inputs change.\n */\n protected abstract setupWebComponent(): void;\n\n /**\n * Attach event listeners to the web component.\n * This is called once after the view is initialized.\n */\n protected abstract setupEventListeners(): void;\n}\n","import {\n Component,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n CUSTOM_ELEMENTS_SCHEMA,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'user-management[tenant]',\n standalone: true,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: ''\n})\nexport class UserManagementComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() tenant: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import('@descope/user-management-widget');\n const DescopeUserManagementWidget = WidgetModule.default;\n return new DescopeUserManagementWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load User Management widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('tenant', this.tenant);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n if (this.styleId) {\n this.webComponent.setAttribute('style-id', this.styleId);\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n CUSTOM_ELEMENTS_SCHEMA,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'role-management[tenant]',\n standalone: true,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: ''\n})\nexport class RoleManagementComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() tenant: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import('@descope/role-management-widget');\n const DescopeRoleManagementWidget = WidgetModule.default;\n return new DescopeRoleManagementWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load Role Management widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('tenant', this.tenant);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n if (this.styleId) {\n this.webComponent.setAttribute('style-id', this.styleId);\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n CUSTOM_ELEMENTS_SCHEMA,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'access-key-management[tenant]',\n standalone: true,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: ''\n})\nexport class AccessKeyManagementComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() tenant: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import(\n '@descope/access-key-management-widget'\n );\n const DescopeAccessKeyManagementWidget = WidgetModule.default;\n return new DescopeAccessKeyManagementWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load Access Key Management widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('tenant', this.tenant);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n CUSTOM_ELEMENTS_SCHEMA,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'audit-management[tenant]',\n standalone: true,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: ''\n})\nexport class AuditManagementComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() tenant: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import('@descope/audit-management-widget');\n const DescopeAuditManagementWidget = WidgetModule.default;\n return new DescopeAuditManagementWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load Audit Management widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('tenant', this.tenant);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n if (this.styleId) {\n this.webComponent.setAttribute('style-id', this.styleId);\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { DescopeAuthService } from '../../services/descope-auth.service';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'user-profile',\n standalone: true,\n template: ''\n})\nexport class UserProfileComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() logout: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n private descopeAuthService: DescopeAuthService,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import('@descope/user-profile-widget');\n const DescopeUserProfileWidget = WidgetModule.default;\n return new DescopeUserProfileWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load User Profile widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n if (this.styleId) {\n this.webComponent.setAttribute('style-id', this.styleId);\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n this.webComponent.addEventListener('logout', (e: Event) => {\n this.logout?.emit(e as CustomEvent);\n this.descopeAuthService.setSession('');\n this.descopeAuthService.setIsAuthenticated(false);\n this.descopeAuthService.setUser(null);\n });\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'applications-portal',\n standalone: true,\n template: ''\n})\nexport class ApplicationsPortalComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() logout: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import('@descope/applications-portal-widget');\n const DescopeApplicationsPortalWidget = WidgetModule.default;\n return new DescopeApplicationsPortalWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load Applications Portal widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n if (this.styleId) {\n this.webComponent.setAttribute('style-id', this.styleId);\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n if (this.logout) {\n this.webComponent.addEventListener('logout', (e: Event) => {\n this.logout?.emit(e as CustomEvent);\n });\n }\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n CUSTOM_ELEMENTS_SCHEMA,\n ModuleWithProviders,\n NgModule,\n Optional,\n SkipSelf\n} from '@angular/core';\nimport { DescopeComponent } from './components/descope/descope.component';\nimport { SignInFlowComponent } from './components/sign-in-flow/sign-in-flow.component';\nimport { SignUpFlowComponent } from './components/sign-up-flow/sign-up-flow.component';\nimport { SignUpOrInFlowComponent } from './components/sign-up-or-in-flow/sign-up-or-in-flow.component';\nimport { UserManagementComponent } from './components/user-management/user-management.component';\nimport { RoleManagementComponent } from './components/role-management/role-management.component';\nimport { AccessKeyManagementComponent } from './components/access-key-management/access-key-management.component';\nimport { AuditManagementComponent } from './components/audit-management/audit-management.component';\nimport { UserProfileComponent } from './components/user-profile/user-profile.component';\nimport { ApplicationsPortalComponent } from './components/applications-portal/applications-portal.component';\nimport { DescopeAuthConfig } from './types/types';\n\n@NgModule({\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n imports: [\n DescopeComponent,\n SignInFlowComponent,\n SignUpFlowComponent,\n SignUpOrInFlowComponent,\n UserManagementComponent,\n RoleManagementComponent,\n AccessKeyManagementComponent,\n AuditManagementComponent,\n UserProfileComponent,\n ApplicationsPortalComponent\n ],\n exports: [\n DescopeComponent,\n SignInFlowComponent,\n SignUpFlowComponent,\n SignUpOrInFlowComponent,\n UserManagementComponent,\n RoleManagementComponent,\n AccessKeyManagementComponent,\n AuditManagementComponent,\n UserProfileComponent,\n ApplicationsPortalComponent\n ]\n})\nexport class DescopeAuthModule {\n constructor(@Optional() @SkipSelf() parentModule?: DescopeAuthModule) {\n if (parentModule) {\n // eslint-disable-next-line no-console\n console.log('DescopeAuthModule is loaded in a child module');\n }\n }\n\n static forRoot(\n config?: DescopeAuthConfig\n ): ModuleWithProviders<DescopeAuthModule> {\n return {\n ngModule: DescopeAuthModule,\n providers: [{ provide: DescopeAuthConfig, useValue: config }]\n };\n }\n}\n","/*\n * Public API Surface of angular-sdk\n */\n\nexport * from './lib/services/descope-auth.service';\nexport * from './lib/services/descope-auth.guard';\nexport * from './lib/services/descope.interceptor';\nexport * from './lib/descope-auth.module';\nexport * from './lib/components/descope/descope.component';\nexport * from './lib/components/sign-in-flow/sign-in-flow.component';\nexport * from './lib/components/sign-up-flow/sign-up-flow.component';\nexport * from './lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component';\nexport * from './lib/components/user-management/user-management.component';\nexport * from './lib/components/role-management/role-management.component';\nexport * from './lib/components/access-key-management/access-key-management.component';\nexport * from './lib/components/audit-management/audit-management.component';\nexport * from './lib/components/user-profile/user-profile.component';\nexport * from './lib/components/applications-portal/applications-portal.component';\nexport * from './lib/types/types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DescopeAuthConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"descope-angular-sdk.mjs","sources":["../../projects/angular-sdk/src/lib/utils/helpers.ts","../../projects/angular-sdk/src/environment.ts","../../projects/angular-sdk/src/lib/utils/constants.ts","../../projects/angular-sdk/src/lib/types/types.ts","../../projects/angular-sdk/src/lib/services/descope-auth.service.ts","../../projects/angular-sdk/src/lib/services/descope-auth.guard.ts","../../projects/angular-sdk/src/lib/services/descope.interceptor.ts","../../projects/angular-sdk/src/lib/components/descope/descope.component.ts","../../projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.ts","../../projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.html","../../projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.ts","../../projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.html","../../projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.ts","../../projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.html","../../projects/angular-sdk/src/lib/base/base-lazy-widget.component.ts","../../projects/angular-sdk/src/lib/components/user-management/user-management.component.ts","../../projects/angular-sdk/src/lib/components/role-management/role-management.component.ts","../../projects/angular-sdk/src/lib/components/access-key-management/access-key-management.component.ts","../../projects/angular-sdk/src/lib/components/audit-management/audit-management.component.ts","../../projects/angular-sdk/src/lib/components/user-profile/user-profile.component.ts","../../projects/angular-sdk/src/lib/components/applications-portal/applications-portal.component.ts","../../projects/angular-sdk/src/lib/descope-auth.module.ts","../../projects/angular-sdk/src/public-api.ts","../../projects/angular-sdk/src/descope-angular-sdk.ts"],"sourcesContent":["import { from, Observable } from 'rxjs';\n\nexport type Observablefied<T> = {\n [K in keyof T]: T[K] extends (...args: infer Args) => Promise<infer R>\n ? (...args: Args) => Observable<R>\n : T[K] extends (...args: infer Args) => infer R\n ? (...args: Args) => R\n : T[K] extends object\n ? Observablefied<T[K]>\n : T[K];\n};\n\nexport function observabilify<T>(value: T): Observablefied<T> {\n /* eslint-disable @typescript-eslint/no-explicit-any */\n const observableValue: any = {};\n\n for (const key in value) {\n if (typeof value[key] === 'function') {\n const fn = value[key] as (...args: unknown[]) => unknown;\n observableValue[key] = (...args: unknown[]) => {\n const fnResult = fn(...args);\n if (fnResult instanceof Promise) {\n return from(fnResult);\n } else {\n return fnResult;\n }\n };\n } else if (typeof value[key] === 'object' && value[key] !== null) {\n observableValue[key] = observabilify(value[key]);\n } else {\n observableValue[key] = value[key];\n }\n }\n\n return observableValue as Observablefied<T>;\n}\n","export const environment = {\n buildVersion: '0.28.12'\n};\n","import { environment } from '../../environment';\n\nexport const baseHeaders = {\n 'x-descope-sdk-name': 'angular',\n 'x-descope-sdk-version': environment.buildVersion\n};\n\n// Detect if running in a native flow (e.g., mobile app with Descope bridge in a webview)\nexport const isDescopeBridge = () =>\n typeof window !== 'undefined' && !!(window as any)['descopeBridge'];\n\nexport const isBrowser = () => typeof window !== 'undefined';\n","import { CookieConfig, OidcConfig } from '@descope/web-js-sdk';\nimport type { CustomStorage, ILogger } from '@descope/web-component';\nexport class DescopeAuthConfig {\n projectId = '';\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n // Default is true. If true, tokens will be stored on local storage.\n persistTokens?: boolean;\n // Default is true. If true, the SDK will automatically refresh the session token when it is about to expire\n autoRefresh?: boolean;\n sessionTokenViaCookie?: CookieConfig;\n // If truthy the SDK refresh and logout functions will use the OIDC client\n // Accepts boolean or OIDC configuration\n oidcConfig?: OidcConfig;\n // Default is true. If true, last authenticated user will be stored on local storage and can accessed with getUser function\n storeLastAuthenticatedUser?: boolean;\n pathsToIntercept?: string[];\n // Custom storage configuration for tokens and user data\n customStorage?: CustomStorage;\n}\n\nexport type { ILogger };\n","/* eslint-disable no-console */\n// workaround for TS issue https://github.com/microsoft/TypeScript/issues/42873\n// eslint-disable-next-line\nimport type * as _1 from '@descope/core-js-sdk';\nimport { Injectable } from '@angular/core';\nimport type { UserResponse } from '@descope/web-js-sdk';\nimport type * as _2 from 'oidc-client-ts'; // eslint-disable-line\nimport createSdk from '@descope/web-js-sdk';\nimport { BehaviorSubject, finalize, Observable, tap } from 'rxjs';\nimport { observabilify, Observablefied } from '../utils/helpers';\nimport { baseHeaders, isBrowser } from '../utils/constants';\nimport { DescopeAuthConfig } from '../types/types';\n\ntype DescopeSDK = ReturnType<typeof createSdk>;\ntype AngularDescopeSDK = Observablefied<DescopeSDK>;\n\nexport interface DescopeSession {\n isAuthenticated: boolean;\n isSessionLoading: boolean;\n sessionToken: string | null;\n claims?: Record<string, any>;\n}\n\nexport type DescopeUser = {\n user?: UserResponse | null;\n isUserLoading: boolean;\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DescopeAuthService {\n public descopeSdk: AngularDescopeSDK;\n private readonly sessionSubject: BehaviorSubject<DescopeSession>;\n private readonly userSubject: BehaviorSubject<DescopeUser>;\n readonly session$: Observable<DescopeSession>;\n readonly user$: Observable<DescopeUser>;\n\n constructor(config: DescopeAuthConfig) {\n this.descopeSdk = observabilify<DescopeSDK>(\n createSdk({\n persistTokens: isBrowser() as true,\n storeLastAuthenticatedUser: isBrowser() as true,\n autoRefresh: isBrowser() as true,\n ...config,\n baseHeaders\n })\n );\n\n this.sessionSubject = new BehaviorSubject<DescopeSession>({\n isAuthenticated: false,\n isSessionLoading: false,\n sessionToken: '',\n claims: undefined\n });\n this.session$ = this.sessionSubject.asObservable();\n this.userSubject = new BehaviorSubject<DescopeUser>({\n isUserLoading: false\n });\n this.user$ = this.userSubject.asObservable();\n this.descopeSdk.onSessionTokenChange(this.setSession.bind(this));\n this.descopeSdk.onIsAuthenticatedChange(this.setIsAuthenticated.bind(this));\n this.descopeSdk.onUserChange(this.setUser.bind(this));\n this.descopeSdk.onClaimsChange(this.setClaims.bind(this));\n }\n\n refreshSession(tryRefresh?: boolean) {\n const beforeRefreshSession = this.sessionSubject.value;\n this.sessionSubject.next({\n ...beforeRefreshSession,\n isSessionLoading: true\n });\n return this.descopeSdk.refresh(undefined, tryRefresh).pipe(\n finalize(() => {\n const afterRefreshSession = this.sessionSubject.value;\n this.sessionSubject.next({\n ...afterRefreshSession,\n isSessionLoading: false\n });\n })\n );\n }\n\n refreshUser() {\n const beforeRefreshUser = this.userSubject.value;\n this.userSubject.next({\n ...beforeRefreshUser,\n isUserLoading: true\n });\n return this.descopeSdk.me().pipe(\n tap((data) => {\n const afterRequestUser = this.userSubject.value;\n if (data.data) {\n this.userSubject.next({\n ...afterRequestUser,\n user: {\n ...data.data\n }\n });\n }\n }),\n finalize(() => {\n const afterRefreshUser = this.userSubject.value;\n this.userSubject.next({\n ...afterRefreshUser,\n isUserLoading: false\n });\n })\n );\n }\n\n getSessionToken() {\n if (isBrowser()) {\n return (\n this.descopeSdk as AngularDescopeSDK & {\n getSessionToken: () => string | null;\n }\n ).getSessionToken();\n }\n console.warn('Get session token is not supported in SSR');\n return '';\n }\n\n getRefreshToken() {\n if (isBrowser()) {\n return (\n this.descopeSdk as AngularDescopeSDK & {\n getRefreshToken: () => string | null;\n }\n ).getRefreshToken();\n }\n this.descopeSdk.getJwtPermissions;\n console.warn('Get refresh token is not supported in SSR');\n return '';\n }\n\n isSessionTokenExpired(token = this.getSessionToken()) {\n if (isBrowser()) {\n return this.descopeSdk.isJwtExpired(token ?? '');\n }\n console.warn('isSessionTokenExpired is not supported in SSR');\n return true;\n }\n\n isRefreshTokenExpired(token = this.getRefreshToken()) {\n if (isBrowser()) {\n return (\n this.descopeSdk as AngularDescopeSDK & {\n isJwtExpired: (token: string) => boolean | null;\n }\n ).isJwtExpired(token ?? '');\n }\n console.warn('isRefreshTokenExpired is not supported in SSR');\n return true;\n }\n\n getJwtPermissions(token = this.getSessionToken(), tenant?: string) {\n if (token === null) {\n console.error('Could not get JWT Permissions - not authenticated');\n return [];\n }\n return this.descopeSdk.getJwtPermissions(token, tenant);\n }\n\n getJwtRoles(token = this.getSessionToken(), tenant?: string) {\n if (token === null) {\n console.error('Could not get JWT Roles - not authenticated');\n return [];\n }\n return this.descopeSdk.getJwtRoles(token, tenant);\n }\n\n isAuthenticated() {\n return this.sessionSubject.value.isAuthenticated;\n }\n\n setSession(sessionToken: string | null) {\n const currentSession = this.sessionSubject.value;\n this.sessionSubject.next({\n ...currentSession,\n sessionToken\n });\n }\n\n setIsAuthenticated(isAuthenticated: boolean) {\n const currentSession = this.sessionSubject.value;\n this.sessionSubject.next({\n ...currentSession,\n isAuthenticated\n });\n }\n\n setUser(user: UserResponse | null) {\n const currentUser = this.userSubject.value;\n this.userSubject.next({\n isUserLoading: currentUser.isUserLoading,\n user\n });\n }\n\n setClaims(claims?: DescopeSession['claims']) {\n const currentSession = this.sessionSubject.value;\n this.sessionSubject.next({\n ...currentSession,\n claims\n });\n }\n}\n","import { inject } from '@angular/core';\n\nimport { DescopeAuthService } from './descope-auth.service';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { from, of } from 'rxjs';\n\nexport const descopeAuthGuard = (route: ActivatedRouteSnapshot) => {\n const authService = inject(DescopeAuthService);\n const router = inject(Router);\n const fallbackUrl = route.data['descopeFallbackUrl'];\n const isAuthenticated = authService.isAuthenticated();\n if (!isAuthenticated && !!fallbackUrl) {\n return from(router.navigate([fallbackUrl]));\n }\n return of(isAuthenticated);\n};\n","import { inject } from '@angular/core';\nimport {\n HttpErrorResponse,\n HttpHandlerFn,\n HttpInterceptorFn,\n HttpRequest\n} from '@angular/common/http';\nimport { throwError } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\nimport { DescopeAuthService } from './descope-auth.service';\nimport { DescopeAuthConfig } from '../types/types';\nimport { isDescopeBridge } from '../utils/constants';\n\nexport const descopeInterceptor: HttpInterceptorFn = (request, next) => {\n const config = inject(DescopeAuthConfig);\n const authService = inject(DescopeAuthService);\n\n function refreshAndRetry(\n request: HttpRequest<unknown>,\n next: HttpHandlerFn,\n error?: HttpErrorResponse\n ) {\n return authService.refreshSession().pipe(\n switchMap((refreshed) => {\n if (refreshed.ok && refreshed.data) {\n const requestWithRefreshedToken = addTokenToRequest(\n request,\n refreshed.data?.sessionJwt\n );\n return next(requestWithRefreshedToken);\n } else {\n return throwError(\n () => error ?? new Error('Could not refresh session!')\n );\n }\n })\n );\n }\n\n function shouldIntercept(request: HttpRequest<unknown>): boolean {\n if (isDescopeBridge()) return false;\n return (\n (config.pathsToIntercept?.length === 0 ||\n config.pathsToIntercept?.some((path) => request.url.includes(path))) ??\n true\n );\n }\n\n function addTokenToRequest(\n request: HttpRequest<unknown>,\n token: string\n ): HttpRequest<unknown> {\n return request.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`\n }\n });\n }\n\n if (shouldIntercept(request)) {\n const token = authService.getSessionToken();\n if (!token) {\n return refreshAndRetry(request, next);\n }\n const requestWithToken = addTokenToRequest(request, token);\n return next(requestWithToken).pipe(\n catchError((error: HttpErrorResponse) => {\n if (error.status === 401 || error.status === 403) {\n return refreshAndRetry(request, next, error);\n } else {\n return throwError(() => error);\n }\n })\n );\n } else {\n return next(request);\n }\n};\n","import {\n Component,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n CUSTOM_ELEMENTS_SCHEMA,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { DescopeAuthService } from '../../services/descope-auth.service';\nimport { from } from 'rxjs';\nimport { baseHeaders } from '../../utils/constants';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\n\n// Use \"import type\" to import only the TypeScript type information.\n// This is safe for SSR because it's completely erased at compile time and generates no runtime import.\nimport type DescopeWebComponent from '@descope/web-component';\nimport type { CustomStorage } from '@descope/web-component';\nimport OverrideThemes from '@descope/web-component';\n\n// Node.ELEMENT_NODE, as a literal - the Node global is not guaranteed to exist\n// during server-side rendering.\nconst ELEMENT_NODE = 1;\n\n@Component({\n selector: 'descope[flowId]',\n standalone: true,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n // The subtree is built imperatively (see ngOnInit), so there is nothing for\n // Angular to hydrate here - it re-renders it on the client instead.\n host: { ngSkipHydration: 'true' },\n // The element is intentionally declared inside an <ng-template> instead of\n // rendered directly. Angular appends an element to the DOM in its creation\n // pass but applies [attr.*] bindings in the later update pass, so a\n // <descope-wc> rendered directly here would be connected - and would run its\n // connectedCallback - before it had a project-id. The custom element reads\n // project-id at that moment, fails, and can never recover, which broke every\n // mount after the first (descope/etc#18415). Building the template by hand\n // lets the bindings run while the nodes are still detached.\n template: `\n <ng-container #wcAnchor></ng-container>\n <ng-template #wcTpl>\n <descope-wc\n [attr.project-id]=\"projectId\"\n [attr.flow-id]=\"flowId\"\n [attr.base-url]=\"baseUrl\"\n [attr.base-static-url]=\"baseStaticUrl\"\n [attr.base-cdn-url]=\"baseCdnUrl\"\n [attr.store-last-authenticated-user]=\"storeLastAuthenticatedUser\"\n [attr.theme]=\"theme\"\n [attr.locale]=\"locale\"\n [attr.tenant]=\"tenant\"\n [attr.telemetry-key]=\"telemetryKey\"\n [attr.redirect-url]=\"redirectUrl\"\n [attr.auto-focus]=\"autoFocus\"\n [attr.validate-on-blur]=\"validateOnBlur\"\n [attr.restart-on-error]=\"restartOnError\"\n [attr.send-session-token]=\"sendSessionToken\"\n [attr.debug]=\"debug\"\n [attr.style-id]=\"styleId\"\n [attr.theme-override]=\"themeOverride\"\n [attr.client]=\"clientString\"\n [attr.nonce]=\"nonceString\"\n [attr.dismiss-screen-error-on-input]=\"dismissScreenErrorOnInput\"\n [attr.popup-origin]=\"popupOrigin\"\n [attr.form]=\"formString\"\n [customStorage]=\"customStorage\"\n >\n <ng-content></ng-content>\n </descope-wc>\n </ng-template>\n `\n})\nexport class DescopeComponent implements OnInit, OnChanges, OnDestroy {\n @ViewChild('wcTpl', { static: true })\n private readonly wcTpl!: TemplateRef<unknown>;\n\n // Anchor inside this component's own view, so the inserted view stays in the\n // component's change-detection tree and Angular destroys it with the component.\n @ViewChild('wcAnchor', { read: ViewContainerRef, static: true })\n private readonly wcAnchor!: ViewContainerRef;\n\n private wcView?: EmbeddedViewRef<unknown>;\n\n private isDestroyed = false;\n\n get clientString(): string | undefined {\n if (!this.client) return undefined;\n try {\n return JSON.stringify(this.client);\n } catch {\n return undefined;\n }\n }\n\n get nonceString(): string | undefined {\n if (!this.nonce) return undefined;\n return typeof this.nonce === 'string' ? this.nonce : undefined;\n }\n\n get formString(): string | undefined {\n if (!this.form) return undefined;\n try {\n return JSON.stringify(this.form);\n } catch {\n return undefined;\n }\n }\n\n projectId!: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n storeLastAuthenticatedUser?: boolean;\n customStorage?: CustomStorage;\n @Input() flowId!: string;\n\n @Input() locale: string;\n @Input() theme: 'light' | 'dark' | 'os';\n @Input() tenant: string;\n @Input() telemetryKey: string;\n @Input() redirectUrl: string;\n @Input() autoFocus: true | false | 'skipFirstScreen';\n @Input() validateOnBlur: boolean;\n @Input() restartOnError: boolean;\n @Input() sendSessionToken: boolean;\n\n @Input() debug: boolean;\n @Input() errorTransformer: (error: { text: string; type: string }) => string;\n @Input() onScreenUpdate: (\n screenName: string,\n context: Record<string, any>,\n next: (\n interactionId: string,\n form: Record<string, any>\n ) => Promise<unknown>,\n ref: HTMLElement\n ) => boolean | Promise<boolean>;\n @Input() client: Record<string, any>;\n @Input() nonce: string;\n @Input() dismissScreenErrorOnInput: boolean;\n @Input() form: Record<string, any>;\n @Input() logger: ILogger;\n @Input() styleId: string;\n @Input() themeOverride: OverrideThemes;\n @Input() popupOrigin: string;\n\n @Output() success: EventEmitter<CustomEvent> =\n new EventEmitter<CustomEvent>();\n @Output() error: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n private webComponent?: DescopeWebComponent;\n private isWebComponentLoaded = false;\n\n constructor(\n private elementRef: ElementRef,\n private authService: DescopeAuthService,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) private platformId: object\n ) {\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n this.storeLastAuthenticatedUser = descopeConfig.storeLastAuthenticatedUser;\n this.customStorage = descopeConfig.customStorage;\n }\n\n async ngOnInit(): Promise<void> {\n // Load the web component before building the element. The order matters:\n // loadWebComponent sets DescopeWc.sdkConfigOverrides, and if something else\n // on the page already imported @descope/web-component then descope-wc is\n // already defined, so the element would initialize the moment it is\n // connected. Connecting it first would let the flow start without the\n // Angular SDK's base headers, persistTokens: false, and beforeRequest hook.\n if (isPlatformBrowser(this.platformId)) {\n await this.loadWebComponent();\n }\n\n // Built on the server too, so the server-rendered markup keeps containing\n // descope-wc as it did before. ngSkipHydration means the client re-renders\n // this subtree anyway, so the server copy only serves the first paint.\n this.createWebComponent();\n }\n\n /**\n * Builds the template while its nodes are still detached from the document,\n * applies the attribute bindings, and only then connects the element. This is\n * what guarantees project-id and flow-id are present when the custom element\n * runs its connectedCallback.\n */\n private createWebComponent(): void {\n // ngOnInit awaits the import, so the component can already be destroyed by\n // the time we get here (a route change while the chunk is downloading).\n // Inserting into a destroyed ViewContainerRef would throw, and nothing\n // would ever clean the view up.\n if (this.isDestroyed || this.wcView) return;\n\n // createEmbeddedView builds the nodes without putting them in the document,\n // so the element is not connected yet and its connectedCallback has not run.\n const view = this.wcTpl.createEmbeddedView(undefined);\n // Apply the [attr.*] bindings while the nodes are still detached.\n view.detectChanges();\n this.wcView = view;\n\n // The template holds exactly one element, <descope-wc>, and each component\n // instance builds its own view - so this picks that instance's own element\n // and never sees another instance's. Selected by node type rather than as\n // rootNodes[0] so template whitespace can never shift it, and compared\n // against a literal because Node is not guaranteed to exist during SSR.\n this.webComponent = view.rootNodes.find(\n (node: { nodeType: number }) => node.nodeType === ELEMENT_NODE\n ) as DescopeWebComponent | undefined;\n\n // Inserting connects the element - its connectedCallback runs here, with\n // every attribute already set.\n this.wcAnchor.insert(view);\n\n if (!this.webComponent) return;\n\n this.setupNonAttributeProperties();\n this.setupEventListeners();\n }\n\n private async loadWebComponent(): Promise<void> {\n if (this.isWebComponentLoaded) {\n return;\n }\n\n try {\n // Dynamically import the web component only in browser context\n const DescopeWcModule = await import('@descope/web-component');\n const DescopeWc = DescopeWcModule.default;\n const sdk = this.authService.descopeSdk;\n\n DescopeWc.sdkConfigOverrides = {\n // Overrides the web-component's base headers to indicate usage via the Angular SDK\n baseHeaders,\n // Disables token persistence within the web-component to delegate token management\n // to the global SDK hooks. This ensures token handling aligns with the SDK's configuration,\n // and web-component requests leverage the global SDK's beforeRequest hooks for consistency\n persistTokens: false,\n hooks: {\n get beforeRequest() {\n // Retrieves the beforeRequest hook from the global SDK, which is initialized\n // within the AuthProvider using the desired configuration. This approach ensures\n // the web-component utilizes the same beforeRequest hooks as the global SDK\n return sdk.httpClient.hooks?.beforeRequest;\n },\n set beforeRequest(_) {\n // The empty setter prevents runtime errors when attempts are made to assign a value to 'beforeRequest'.\n // JavaScript objects default to having both getters and setters\n }\n }\n };\n\n this.isWebComponentLoaded = true;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load Descope web component:', error);\n }\n }\n\n ngOnDestroy(): void {\n // Guards the ngOnInit race - the continuation can still be pending here.\n this.isDestroyed = true;\n\n // wcAnchor owns the view, so Angular would tear it down anyway - but when a\n // parent view is going away Angular skips removing the individual nodes, and\n // then the element never disconnects. Destroying it here takes the element\n // out of the DOM, so the web component's disconnectedCallback runs and drops\n // its window listeners and flow-state subscriptions.\n this.wcView?.destroy();\n this.wcView = undefined;\n this.webComponent = undefined;\n }\n\n ngOnChanges(): void {\n if (this.webComponent) {\n this.setupNonAttributeProperties();\n }\n }\n\n private setupNonAttributeProperties(): void {\n if (!this.webComponent) return;\n\n // Handle non-attribute properties\n if (this.errorTransformer) {\n this.webComponent.errorTransformer = this.errorTransformer;\n }\n\n if (this.onScreenUpdate) {\n this.webComponent.onScreenUpdate = this.onScreenUpdate;\n }\n\n if (this.logger) {\n this.webComponent.logger = this.logger;\n }\n }\n\n private setupEventListeners(): void {\n if (!this.webComponent) return;\n\n this.webComponent.addEventListener('success', (e: Event) => {\n from(\n this.authService.descopeSdk.httpClient.hooks?.afterRequest!(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {} as any,\n new Response(JSON.stringify((e as CustomEvent).detail))\n ) as Promise<unknown>\n ).subscribe(() => {\n if (this.success) {\n this.success?.emit(e as CustomEvent);\n }\n });\n });\n\n if (this.error) {\n this.webComponent.addEventListener('error', (e: Event) => {\n this.error?.emit(e as CustomEvent);\n });\n }\n\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\nimport { DescopeComponent } from '../descope/descope.component';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\n\n@Component({\n selector: 'descope-sign-in-flow',\n standalone: true,\n imports: [DescopeComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './sign-in-flow.component.html'\n})\nexport class SignInFlowComponent {\n projectId: string;\n\n @Input() locale: string;\n @Input() theme: 'light' | 'dark' | 'os';\n @Input() tenant: string;\n @Input() telemetryKey: string;\n @Input() redirectUrl: string;\n @Input() autoFocus: true | false | 'skipFirstScreen';\n @Input() validateOnBlur: boolean;\n @Input() restartOnError: boolean;\n @Input() sendSessionToken: boolean;\n\n @Input() debug: boolean;\n @Input() errorTransformer: (error: { text: string; type: string }) => string;\n @Input() onScreenUpdate: (\n screenName: string,\n context: Record<string, any>,\n next: (\n interactionId: string,\n form: Record<string, any>\n ) => Promise<unknown>,\n ref: HTMLElement\n ) => boolean | Promise<boolean>;\n @Input() client: Record<string, any>;\n @Input() nonce: string;\n @Input() dismissScreenErrorOnInput: boolean;\n @Input() form: Record<string, any>;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() success: EventEmitter<CustomEvent> =\n new EventEmitter<CustomEvent>();\n @Output() error: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n\n constructor(descopeConfig: DescopeAuthConfig) {\n this.projectId = descopeConfig.projectId;\n }\n}\n","<descope\n (success)=\"success.emit($event)\"\n (error)=\"error.emit($event)\"\n flowId=\"sign-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 [sendSessionToken]=\"sendSessionToken\"\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","import {\n Component,\n EventEmitter,\n Input,\n Output,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\nimport { DescopeComponent } from '../descope/descope.component';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\n\n@Component({\n selector: 'descope-sign-up-flow',\n standalone: true,\n imports: [DescopeComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './sign-up-flow.component.html'\n})\nexport class SignUpFlowComponent {\n projectId: string;\n\n @Input() locale: string;\n @Input() theme: 'light' | 'dark' | 'os';\n @Input() tenant: string;\n @Input() telemetryKey: string;\n @Input() redirectUrl: string;\n @Input() autoFocus: true | false | 'skipFirstScreen';\n @Input() validateOnBlur: boolean;\n @Input() restartOnError: boolean;\n @Input() sendSessionToken: boolean;\n\n @Input() debug: boolean;\n @Input() errorTransformer: (error: { text: string; type: string }) => string;\n @Input() onScreenUpdate: (\n screenName: string,\n context: Record<string, any>,\n next: (\n interactionId: string,\n form: Record<string, any>\n ) => Promise<unknown>,\n ref: HTMLElement\n ) => boolean | Promise<boolean>;\n @Input() client: Record<string, any>;\n @Input() nonce: string;\n @Input() dismissScreenErrorOnInput: boolean;\n @Input() form: Record<string, any>;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() success: EventEmitter<CustomEvent> =\n new EventEmitter<CustomEvent>();\n @Output() error: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n\n constructor(descopeConfig: DescopeAuthConfig) {\n this.projectId = descopeConfig.projectId;\n }\n}\n","<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 [sendSessionToken]=\"sendSessionToken\"\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","import {\n Component,\n EventEmitter,\n Input,\n Output,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\nimport { DescopeComponent } from '../descope/descope.component';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\n\n@Component({\n selector: 'descope-sign-up-or-in-flow',\n standalone: true,\n imports: [DescopeComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './sign-up-or-in-flow.component.html'\n})\nexport class SignUpOrInFlowComponent {\n projectId: string;\n\n @Input() locale: string;\n @Input() theme: 'light' | 'dark' | 'os';\n @Input() tenant: string;\n @Input() telemetryKey: string;\n @Input() redirectUrl: string;\n @Input() autoFocus: true | false | 'skipFirstScreen';\n @Input() validateOnBlur: boolean;\n @Input() restartOnError: boolean;\n @Input() sendSessionToken: boolean;\n\n @Input() debug: boolean;\n @Input() errorTransformer: (error: { text: string; type: string }) => string;\n @Input() onScreenUpdate: (\n screenName: string,\n context: Record<string, any>,\n next: (\n interactionId: string,\n form: Record<string, any>\n ) => Promise<unknown>,\n ref: HTMLElement\n ) => boolean | Promise<boolean>;\n @Input() client: Record<string, any>;\n @Input() nonce: string;\n @Input() dismissScreenErrorOnInput: boolean;\n @Input() form: Record<string, any>;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() success: EventEmitter<CustomEvent> =\n new EventEmitter<CustomEvent>();\n @Output() error: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n\n constructor(descopeConfig: DescopeAuthConfig) {\n this.projectId = descopeConfig.projectId;\n }\n}\n","<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 [sendSessionToken]=\"sendSessionToken\"\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","import {\n Directive,\n ElementRef,\n Inject,\n OnChanges,\n OnInit,\n PLATFORM_ID\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * Abstract base class for widget components that need to be lazily loaded\n * with SSR support. This class handles the common lifecycle patterns:\n * - Browser detection for SSR compatibility\n * - Lazy loading of widgets\n * - DOM manipulation (appending to element)\n * - Lifecycle coordination between loading, setup, and event listeners\n *\n * Derived components must implement:\n * - loadWidget(): Dynamic import and instantiation of the specific widget\n * - setupWebComponent(): Configure attributes and properties on the widget\n * - setupEventListeners(): Attach event listeners to the widget\n */\n@Directive()\nexport abstract class BaseLazyWidgetComponent implements OnInit, OnChanges {\n protected webComponent?: HTMLElement;\n\n constructor(\n protected elementRef: ElementRef,\n @Inject(PLATFORM_ID) protected platformId: object\n ) {}\n\n async ngOnInit(): Promise<void> {\n // Only load widget in browser environment\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n const widget = await this.loadWidget();\n if (widget) {\n this.webComponent = widget;\n this.setupWebComponent();\n this.elementRef.nativeElement.appendChild(this.webComponent);\n // Set up event listeners after the widget is loaded and appended\n this.setupEventListeners();\n }\n }\n\n ngOnChanges(): void {\n if (this.webComponent) {\n this.setupWebComponent();\n }\n }\n\n /**\n * Load the widget module dynamically. This method should:\n * 1. Dynamically import the widget module\n * 2. Instantiate the widget\n * 3. Return the widget as an HTMLElement\n * 4. Handle errors appropriately\n *\n * @returns The instantiated widget element, or null if loading failed\n */\n protected abstract loadWidget(): Promise<HTMLElement | null>;\n\n /**\n * Configure the web component by setting attributes and properties.\n * This is called after the widget is loaded and whenever inputs change.\n */\n protected abstract setupWebComponent(): void;\n\n /**\n * Attach event listeners to the web component.\n * This is called once after the view is initialized.\n */\n protected abstract setupEventListeners(): void;\n}\n","import {\n Component,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n CUSTOM_ELEMENTS_SCHEMA,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'user-management[tenant]',\n standalone: true,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: ''\n})\nexport class UserManagementComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() tenant: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import('@descope/user-management-widget');\n const DescopeUserManagementWidget = WidgetModule.default;\n return new DescopeUserManagementWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load User Management widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('tenant', this.tenant);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n if (this.styleId) {\n this.webComponent.setAttribute('style-id', this.styleId);\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n CUSTOM_ELEMENTS_SCHEMA,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'role-management[tenant]',\n standalone: true,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: ''\n})\nexport class RoleManagementComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() tenant: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import('@descope/role-management-widget');\n const DescopeRoleManagementWidget = WidgetModule.default;\n return new DescopeRoleManagementWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load Role Management widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('tenant', this.tenant);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n if (this.styleId) {\n this.webComponent.setAttribute('style-id', this.styleId);\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n CUSTOM_ELEMENTS_SCHEMA,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'access-key-management[tenant]',\n standalone: true,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: ''\n})\nexport class AccessKeyManagementComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() tenant: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import(\n '@descope/access-key-management-widget'\n );\n const DescopeAccessKeyManagementWidget = WidgetModule.default;\n return new DescopeAccessKeyManagementWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load Access Key Management widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('tenant', this.tenant);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n CUSTOM_ELEMENTS_SCHEMA,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'audit-management[tenant]',\n standalone: true,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n template: ''\n})\nexport class AuditManagementComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() tenant: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import('@descope/audit-management-widget');\n const DescopeAuditManagementWidget = WidgetModule.default;\n return new DescopeAuditManagementWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load Audit Management widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('tenant', this.tenant);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n if (this.styleId) {\n this.webComponent.setAttribute('style-id', this.styleId);\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { DescopeAuthService } from '../../services/descope-auth.service';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'user-profile',\n standalone: true,\n template: ''\n})\nexport class UserProfileComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() logout: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n private descopeAuthService: DescopeAuthService,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import('@descope/user-profile-widget');\n const DescopeUserProfileWidget = WidgetModule.default;\n return new DescopeUserProfileWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load User Profile widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n if (this.styleId) {\n this.webComponent.setAttribute('style-id', this.styleId);\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n this.webComponent.addEventListener('logout', (e: Event) => {\n this.logout?.emit(e as CustomEvent);\n this.descopeAuthService.setSession('');\n this.descopeAuthService.setIsAuthenticated(false);\n this.descopeAuthService.setUser(null);\n });\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n Inject,\n PLATFORM_ID\n} from '@angular/core';\nimport { DescopeAuthConfig, ILogger } from '../../types/types';\nimport { BaseLazyWidgetComponent } from '../../base/base-lazy-widget.component';\n\n@Component({\n selector: 'applications-portal',\n standalone: true,\n template: ''\n})\nexport class ApplicationsPortalComponent extends BaseLazyWidgetComponent {\n projectId: string;\n baseUrl?: string;\n baseStaticUrl?: string;\n baseCdnUrl?: string;\n @Input() widgetId: string;\n\n @Input() theme: 'light' | 'dark' | 'os';\n\n @Input() locale: string;\n @Input() debug: boolean;\n @Input() logger: ILogger;\n @Input() styleId: string;\n\n @Output() logout: EventEmitter<CustomEvent> = new EventEmitter<CustomEvent>();\n\n @Output() ready: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n elementRef: ElementRef,\n descopeConfig: DescopeAuthConfig,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n super(elementRef, platformId);\n this.projectId = descopeConfig.projectId;\n this.baseUrl = descopeConfig.baseUrl;\n this.baseStaticUrl = descopeConfig.baseStaticUrl;\n this.baseCdnUrl = descopeConfig.baseCdnUrl;\n }\n\n protected async loadWidget(): Promise<HTMLElement | null> {\n try {\n const WidgetModule = await import('@descope/applications-portal-widget');\n const DescopeApplicationsPortalWidget = WidgetModule.default;\n return new DescopeApplicationsPortalWidget() as unknown as HTMLElement;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load Applications Portal widget:', error);\n return null;\n }\n }\n\n protected setupWebComponent() {\n if (!this.webComponent) return;\n\n this.webComponent.setAttribute('project-id', this.projectId);\n this.webComponent.setAttribute('widget-id', this.widgetId);\n if (this.baseUrl) {\n this.webComponent.setAttribute('base-url', this.baseUrl);\n }\n if (this.baseStaticUrl) {\n this.webComponent.setAttribute('base-static-url', this.baseStaticUrl);\n }\n if (this.baseCdnUrl) {\n this.webComponent.setAttribute('base-cdn-url', this.baseCdnUrl);\n }\n if (this.theme) {\n this.webComponent.setAttribute('theme', this.theme);\n }\n if (this.locale) {\n this.webComponent.setAttribute('locale', this.locale);\n }\n if (this.debug) {\n this.webComponent.setAttribute('debug', this.debug.toString());\n }\n\n if (this.logger) {\n (this.webComponent as any).logger = this.logger;\n }\n if (this.styleId) {\n this.webComponent.setAttribute('style-id', this.styleId);\n }\n }\n\n protected setupEventListeners(): void {\n if (!this.webComponent) return;\n\n if (this.logout) {\n this.webComponent.addEventListener('logout', (e: Event) => {\n this.logout?.emit(e as CustomEvent);\n });\n }\n if (this.ready) {\n this.webComponent.addEventListener('ready', () => {\n this.ready?.emit();\n });\n }\n }\n}\n","import {\n CUSTOM_ELEMENTS_SCHEMA,\n ModuleWithProviders,\n NgModule,\n Optional,\n SkipSelf\n} from '@angular/core';\nimport { DescopeComponent } from './components/descope/descope.component';\nimport { SignInFlowComponent } from './components/sign-in-flow/sign-in-flow.component';\nimport { SignUpFlowComponent } from './components/sign-up-flow/sign-up-flow.component';\nimport { SignUpOrInFlowComponent } from './components/sign-up-or-in-flow/sign-up-or-in-flow.component';\nimport { UserManagementComponent } from './components/user-management/user-management.component';\nimport { RoleManagementComponent } from './components/role-management/role-management.component';\nimport { AccessKeyManagementComponent } from './components/access-key-management/access-key-management.component';\nimport { AuditManagementComponent } from './components/audit-management/audit-management.component';\nimport { UserProfileComponent } from './components/user-profile/user-profile.component';\nimport { ApplicationsPortalComponent } from './components/applications-portal/applications-portal.component';\nimport { DescopeAuthConfig } from './types/types';\n\n@NgModule({\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n imports: [\n DescopeComponent,\n SignInFlowComponent,\n SignUpFlowComponent,\n SignUpOrInFlowComponent,\n UserManagementComponent,\n RoleManagementComponent,\n AccessKeyManagementComponent,\n AuditManagementComponent,\n UserProfileComponent,\n ApplicationsPortalComponent\n ],\n exports: [\n DescopeComponent,\n SignInFlowComponent,\n SignUpFlowComponent,\n SignUpOrInFlowComponent,\n UserManagementComponent,\n RoleManagementComponent,\n AccessKeyManagementComponent,\n AuditManagementComponent,\n UserProfileComponent,\n ApplicationsPortalComponent\n ]\n})\nexport class DescopeAuthModule {\n constructor(@Optional() @SkipSelf() parentModule?: DescopeAuthModule) {\n if (parentModule) {\n // eslint-disable-next-line no-console\n console.log('DescopeAuthModule is loaded in a child module');\n }\n }\n\n static forRoot(\n config?: DescopeAuthConfig\n ): ModuleWithProviders<DescopeAuthModule> {\n return {\n ngModule: DescopeAuthModule,\n providers: [{ provide: DescopeAuthConfig, useValue: config }]\n };\n }\n}\n","/*\n * Public API Surface of angular-sdk\n */\n\nexport * from './lib/services/descope-auth.service';\nexport * from './lib/services/descope-auth.guard';\nexport * from './lib/services/descope.interceptor';\nexport * from './lib/descope-auth.module';\nexport * from './lib/components/descope/descope.component';\nexport * from './lib/components/sign-in-flow/sign-in-flow.component';\nexport * from './lib/components/sign-up-flow/sign-up-flow.component';\nexport * from './lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component';\nexport * from './lib/components/user-management/user-management.component';\nexport * from './lib/components/role-management/role-management.component';\nexport * from './lib/components/access-key-management/access-key-management.component';\nexport * from './lib/components/audit-management/audit-management.component';\nexport * from './lib/components/user-profile/user-profile.component';\nexport * from './lib/components/applications-portal/applications-portal.component';\nexport * from './lib/types/types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DescopeAuthConfig"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@descope/angular-sdk",
|
|
3
|
-
"version": "0.28.
|
|
3
|
+
"version": "0.28.12",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": ">=16.0.0",
|
|
6
6
|
"@angular/core": ">=16.0.0"
|
|
@@ -25,16 +25,16 @@
|
|
|
25
25
|
"sideEffects": false,
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"tslib": "^2.3.0",
|
|
28
|
-
"@descope/access-key-management-widget": "0.10.
|
|
29
|
-
"@descope/
|
|
30
|
-
"@descope/
|
|
31
|
-
"@descope/tenant-profile-widget": "0.
|
|
32
|
-
"@descope/applications-portal-widget": "0.9.
|
|
33
|
-
"@descope/
|
|
34
|
-
"@descope/
|
|
35
|
-
"@descope/
|
|
36
|
-
"@descope/
|
|
37
|
-
"@descope/
|
|
28
|
+
"@descope/access-key-management-widget": "0.10.8",
|
|
29
|
+
"@descope/audit-management-widget": "0.9.8",
|
|
30
|
+
"@descope/role-management-widget": "0.10.8",
|
|
31
|
+
"@descope/tenant-profile-widget": "0.11.0",
|
|
32
|
+
"@descope/applications-portal-widget": "0.9.8",
|
|
33
|
+
"@descope/web-component": "4.4.5",
|
|
34
|
+
"@descope/web-js-sdk": "1.54.0",
|
|
35
|
+
"@descope/user-management-widget": "0.20.6",
|
|
36
|
+
"@descope/core-js-sdk": "2.74.0",
|
|
37
|
+
"@descope/user-profile-widget": "0.19.6"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@angular-devkit/build-angular": "^19.0.0",
|