@strivacity/sdk-angular 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 2.1.1 (2026-01-13)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated sdk-core to 2.1.2
6
+ - Updated testing to 2.1.1
7
+
1
8
  ## 2.1.0 (2025-11-10)
2
9
 
3
10
  ### 🚀 Features
@@ -31,10 +31,10 @@ class StrivacityWidgetService {
31
31
  messages[formId] = { ...(messages[formId] || {}), [widgetId]: value };
32
32
  this.messages$.next(messages);
33
33
  }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StrivacityWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StrivacityWidgetService, providedIn: 'root' });
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StrivacityWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StrivacityWidgetService, providedIn: 'root' });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StrivacityWidgetService, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StrivacityWidgetService, decorators: [{
38
38
  type: Injectable,
39
39
  args: [{
40
40
  providedIn: 'root',
@@ -96,10 +96,10 @@ class StyWidgetRenderer {
96
96
  }
97
97
  }
98
98
  }
99
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StyWidgetRenderer, deps: [{ token: StrivacityWidgetService }], target: i0.ɵɵFactoryTarget.Component });
100
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: StyWidgetRenderer, isStandalone: true, selector: "sty-widget-renderer", inputs: { items: "items", widgets: "widgets" }, viewQueries: [{ propertyName: "$containerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: '<ng-container #container></ng-container>', isInline: true, styles: [":host{display:contents}\n"] });
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StyWidgetRenderer, deps: [{ token: StrivacityWidgetService }], target: i0.ɵɵFactoryTarget.Component });
100
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: StyWidgetRenderer, isStandalone: true, selector: "sty-widget-renderer", inputs: { items: "items", widgets: "widgets" }, viewQueries: [{ propertyName: "$containerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: '<ng-container #container></ng-container>', isInline: true, styles: [":host{display:contents}\n"] });
101
101
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StyWidgetRenderer, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StyWidgetRenderer, decorators: [{
103
103
  type: Component,
104
104
  args: [{ standalone: true, selector: 'sty-widget-renderer', template: '<ng-container #container></ng-container>', styles: [":host{display:contents}\n"] }]
105
105
  }], ctorParameters: () => [{ type: StrivacityWidgetService }], propDecorators: { items: [{
@@ -269,10 +269,10 @@ class StrivacityAuthService {
269
269
  handleCallback(url) {
270
270
  return from(this.sdk.handleCallback(url));
271
271
  }
272
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StrivacityAuthService, deps: [{ token: STRIVACITY_SDK }], target: i0.ɵɵFactoryTarget.Injectable });
273
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StrivacityAuthService, providedIn: 'root' });
272
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StrivacityAuthService, deps: [{ token: STRIVACITY_SDK }], target: i0.ɵɵFactoryTarget.Injectable });
273
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StrivacityAuthService, providedIn: 'root' });
274
274
  }
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StrivacityAuthService, decorators: [{
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StrivacityAuthService, decorators: [{
276
276
  type: Injectable,
277
277
  args: [{
278
278
  providedIn: 'root',
@@ -466,10 +466,10 @@ class StyLoginRenderer {
466
466
  this.createdComponentRefs = [];
467
467
  this.$containerRef?.clear();
468
468
  }
469
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StyLoginRenderer, deps: [{ token: StrivacityAuthService }, { token: StrivacityWidgetService }], target: i0.ɵɵFactoryTarget.Component });
470
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: StyLoginRenderer, isStandalone: true, selector: "sty-login-renderer", inputs: { widgets: "widgets", sessionId: "sessionId", params: "params" }, outputs: { onLogin: "login", onFallback: "fallback", onClose: "close", onError: "error", onGlobalMessage: "globalMessage", onBlockReady: "blockReady" }, host: { classAttribute: "login-renderer" }, viewQueries: [{ propertyName: "$containerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-container #container></ng-container>', isInline: true });
469
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StyLoginRenderer, deps: [{ token: StrivacityAuthService }, { token: StrivacityWidgetService }], target: i0.ɵɵFactoryTarget.Component });
470
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: StyLoginRenderer, isStandalone: true, selector: "sty-login-renderer", inputs: { widgets: "widgets", sessionId: "sessionId", params: "params" }, outputs: { onLogin: "login", onFallback: "fallback", onClose: "close", onError: "error", onGlobalMessage: "globalMessage", onBlockReady: "blockReady" }, host: { classAttribute: "login-renderer" }, viewQueries: [{ propertyName: "$containerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-container #container></ng-container>', isInline: true });
471
471
  }
472
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StyLoginRenderer, decorators: [{
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StyLoginRenderer, decorators: [{
473
473
  type: Component,
474
474
  args: [{
475
475
  standalone: true,
@@ -517,11 +517,11 @@ class StrivacityAuthModule {
517
517
  providers: [provideStrivacity(options)],
518
518
  };
519
519
  }
520
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StrivacityAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
521
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: StrivacityAuthModule, imports: [StyLoginRenderer], exports: [StyLoginRenderer] });
522
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StrivacityAuthModule, providers: [StrivacityAuthService] });
520
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StrivacityAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
521
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: StrivacityAuthModule, imports: [StyLoginRenderer], exports: [StyLoginRenderer] });
522
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StrivacityAuthModule, providers: [StrivacityAuthService] });
523
523
  }
524
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StrivacityAuthModule, decorators: [{
524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: StrivacityAuthModule, decorators: [{
525
525
  type: NgModule,
526
526
  args: [{
527
527
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
@@ -1 +1 @@
1
- {"version":3,"file":"strivacity-sdk-angular.mjs","sources":["../../src/lib/services/widget.service.ts","../../src/lib/components/widget-renderer.component.ts","../../src/lib/utils/helpers.ts","../../src/lib/services/auth.service.ts","../../src/lib/components/login-renderer.component.ts","../../src/lib/strivacity-auth.module.ts","../../src/strivacity-sdk-angular.ts"],"sourcesContent":["import type { LoginFlowMessage, LoginFlowState } from '@strivacity/sdk-core';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface NativeFlowState {\n\tloading: boolean;\n\tformContexts: Record<string, Record<string, unknown>>;\n\tmessageContexts: Record<string, Record<string, string | null>>;\n\tstate: LoginFlowState;\n}\n\n/**\n * Service that manages Strivacity native widgets.\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class StrivacityWidgetService {\n\treadonly loading$ = new BehaviorSubject<boolean>(false);\n\treadonly forms$ = new BehaviorSubject<Record<string, Record<string, unknown>>>({});\n\treadonly messages$ = new BehaviorSubject<Record<string, Record<string, LoginFlowMessage>>>({});\n\treadonly state$ = new BehaviorSubject<LoginFlowState>({});\n\n\ttriggerFallback!: (hostedUrl?: string) => void;\n\ttriggerClose!: () => void;\n\tsubmitForm!: (formId: string) => Promise<void>;\n\n\tsetFormValue(formId: string, widgetId: string, value: unknown) {\n\t\tconst forms = { ...this.forms$.value };\n\t\tforms[formId] = { ...(forms[formId] || {}), [widgetId]: value === '' ? null : value };\n\n\t\tthis.forms$.next(forms);\n\t}\n\n\tsetMessage(formId: string, widgetId: string, value: LoginFlowMessage) {\n\t\tconst messages = { ...this.messages$.value };\n\t\tmessages[formId] = { ...(messages[formId] || {}), [widgetId]: value };\n\n\t\tthis.messages$.next(messages);\n\t}\n}\n","import type { Type, SimpleChanges, OnChanges } from '@angular/core';\nimport type { WidgetType, LayoutWidget, Widget } from '@strivacity/sdk-core';\nimport { Component, Input, ViewContainerRef, ViewChild } from '@angular/core';\nimport { StrivacityWidgetService } from '../services/widget.service';\n\n@Component({\n\tstandalone: true,\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'sty-widget-renderer',\n\ttemplate: '<ng-container #container></ng-container>',\n\tstyles: `\n\t\t:host {\n\t\t\tdisplay: contents;\n\t\t}\n\t`,\n})\nexport class StyWidgetRenderer implements OnChanges {\n\t@Input() items: LayoutWidget['items'] = [];\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t@Input({ required: true }) widgets!: Record<WidgetType, Type<any>>;\n\n\t@ViewChild('container', { read: ViewContainerRef, static: true }) readonly $containerRef!: ViewContainerRef;\n\n\tconstructor(protected widgetService: StrivacityWidgetService) {}\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['items']) {\n\t\t\tthis.render();\n\t\t}\n\t}\n\n\trender(): void {\n\t\tthis.$containerRef.clear();\n\n\t\tif (!this.items) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const item of this.items) {\n\t\t\tif (item.type === 'widget') {\n\t\t\t\tconst form = this.widgetService.state$.value.forms?.find((f) => f.id === item.formId);\n\t\t\t\tconst widget = form?.widgets.find((w) => w.id === item.widgetId);\n\t\t\t\tconst component = widget ? this.widgets[widget.type] : undefined;\n\n\t\t\t\tif (!form || !widget || !component) {\n\t\t\t\t\tthis.widgetService.triggerFallback();\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst componentRef = this.$containerRef.createComponent(component);\n\t\t\t\tcomponentRef.setInput('formId', item.formId);\n\t\t\t\tcomponentRef.setInput('config', widget);\n\t\t\t\tcomponentRef.changeDetectorRef.detectChanges();\n\t\t\t} else if (item.type === 'vertical' || item.type === 'horizontal') {\n\t\t\t\tconst component = this.widgets.layout;\n\n\t\t\t\tif (!component) {\n\t\t\t\t\tthis.widgetService.triggerFallback();\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst widgetRendererRef = this.$containerRef.createComponent(StyWidgetRenderer);\n\t\t\t\twidgetRendererRef.setInput('items', item.items);\n\t\t\t\twidgetRendererRef.setInput('widgets', this.widgets);\n\t\t\t\twidgetRendererRef.changeDetectorRef.detectChanges();\n\n\t\t\t\tconst layoutRef = this.$containerRef.createComponent(component, {\n\t\t\t\t\tprojectableNodes: [[widgetRendererRef.location.nativeElement]],\n\t\t\t\t});\n\t\t\t\tlayoutRef.setInput('formId', (item.items[0] as Widget)?.formId);\n\t\t\t\tlayoutRef.setInput('type', item.type);\n\t\t\t\tlayoutRef.changeDetectorRef.detectChanges();\n\t\t\t} else {\n\t\t\t\tthis.widgetService.triggerFallback();\n\t\t\t}\n\t\t}\n\t}\n}\n","import { InjectionToken } from '@angular/core';\nimport type { SDKOptions } from '@strivacity/sdk-core';\n\nexport const STRIVACITY_SDK = new InjectionToken<SDKOptions>('sty');\n\n/**\n * Provides the Strivacity SDK configuration as a dependency injection token.\n *\n * This function is used to supply the Strivacity SDK configuration to the application\n * by binding it to the `STRIVACITY_SDK` token.\n *\n * @param {SDKOptions} config The SDK configuration options.\n * @returns {{ provide: InjectionToken<SDKOptions>, useValue: SDKOptions }} An object that provides the SDK configuration using the `STRIVACITY_SDK` token.\n */\nexport function provideStrivacity(config: SDKOptions) {\n\treturn { provide: STRIVACITY_SDK, useValue: config };\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { type Observable, BehaviorSubject, from } from 'rxjs';\nimport type { PopupFlow } from '@strivacity/sdk-core/flows/PopupFlow';\nimport type { RedirectFlow } from '@strivacity/sdk-core/flows/RedirectFlow';\nimport type { NativeFlow } from '@strivacity/sdk-core/flows/NativeFlow';\nimport { type SDKOptions, initFlow } from '@strivacity/sdk-core';\nimport type { Session } from '../utils/types';\nimport { STRIVACITY_SDK } from '../utils/helpers';\n\n/**\n * Service that manages Strivacity authentication flows.\n * Supports either PopupFlow or RedirectFlow types.\n *\n * @template Flow Type of authentication flow (PopupFlow or RedirectFlow).\n * @template Options Type of SDK options (defaults to SDKOptions).\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class StrivacityAuthService<\n\tFlow extends PopupFlow | RedirectFlow | NativeFlow = PopupFlow | RedirectFlow | NativeFlow,\n\tOptions extends SDKOptions = SDKOptions,\n> {\n\t/**\n\t * Instance of the authentication flow (PopupFlow or RedirectFlow).\n\t */\n\tsdk: Flow;\n\n\t/**\n\t * BehaviorSubject that holds the current session state.\n\t * @protected\n\t * @readonly\n\t */\n\tprivate readonly sessionSubject: BehaviorSubject<Session>;\n\n\t/**\n\t * Observable that emits the session state changes.\n\t * @readonly\n\t */\n\treadonly session$: Observable<Session>;\n\n\t/**\n\t * Creates an instance of StrivacityAuthService.\n\t *\n\t * @param {Options} options SDK configuration options injected via STRIVACITY_SDK.\n\t */\n\tconstructor(@Inject(STRIVACITY_SDK) public options: Options) {\n\t\tthis.sdk = initFlow(options) as Flow;\n\t\tthis.sessionSubject = new BehaviorSubject<Session>({\n\t\t\tloading: true,\n\t\t\tisAuthenticated: false,\n\t\t\tidTokenClaims: null,\n\t\t\taccessToken: null,\n\t\t\trefreshToken: null,\n\t\t\taccessTokenExpired: true,\n\t\t\taccessTokenExpirationDate: null,\n\t\t});\n\t\tthis.session$ = this.sessionSubject.asObservable();\n\n\t\tconst updateSession = async () => {\n\t\t\tthis.sessionSubject.next({\n\t\t\t\tloading: false,\n\t\t\t\tisAuthenticated: await this.sdk.isAuthenticated,\n\t\t\t\tidTokenClaims: this.sdk.idTokenClaims || null,\n\t\t\t\taccessToken: this.sdk.accessToken || null,\n\t\t\t\trefreshToken: this.sdk.refreshToken || null,\n\t\t\t\taccessTokenExpired: this.sdk.accessTokenExpired,\n\t\t\t\taccessTokenExpirationDate: this.sdk.accessTokenExpirationDate || null,\n\t\t\t});\n\t\t};\n\n\t\tthis.sdk.subscribeToEvent('init', updateSession);\n\t\tthis.sdk.subscribeToEvent('loggedIn', updateSession);\n\t\tthis.sdk.subscribeToEvent('sessionLoaded', updateSession);\n\t\tthis.sdk.subscribeToEvent('tokenRefreshed', updateSession);\n\t\tthis.sdk.subscribeToEvent('tokenRefreshFailed', updateSession);\n\t\tthis.sdk.subscribeToEvent('logoutInitiated', updateSession);\n\t\tthis.sdk.subscribeToEvent('tokenRevoked', updateSession);\n\t\tthis.sdk.subscribeToEvent('tokenRevokeFailed', updateSession);\n\t}\n\n\t/**\n\t * Checks if the user is authenticated.\n\t *\n\t * @returns {Observable<boolean>} An observable that emits the authentication status.\n\t */\n\tisAuthenticated() {\n\t\treturn from(this.sdk.isAuthenticated);\n\t}\n\n\t/**\n\t * Logs the user in using the specified options.\n\t *\n\t * @param {Parameters<Flow['login']>[0]} [options] Options to customize the login behavior.\n\t * @returns {Observable<void>} An observable that completes when the login process is done.\n\t */\n\tlogin(options?: Parameters<Flow['login']>[0]) {\n\t\tconst result = this.sdk.login(options);\n\n\t\tif (result instanceof Promise) {\n\t\t\treturn from(result);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Initiates the entry process using the provided challenge.\n\t *\n\t * @param {string} [url] Optional URL to use for the entry process. If not provided, the current window location will be used.\n\t * @returns {Observable<void>} An observable that completes when the entry process is done.\n\t */\n\tentry(url?: string) {\n\t\tconst result = this.sdk.entry(url);\n\n\t\tif (result instanceof Promise) {\n\t\t\treturn from(result);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Registers a new user using the specified options.\n\t *\n\t * @param {Parameters<Flow['register']>[0]} [options] Options to customize the registration behavior.\n\t * @returns {Observable<void>} An observable that completes when the registration process is done.\n\t */\n\tregister(options?: Parameters<Flow['register']>[0]) {\n\t\tconst result = this.sdk.register(options);\n\n\t\tif (result instanceof Promise) {\n\t\t\treturn from(result);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Refreshes the current authentication session.\n\t *\n\t * @returns {Observable<void>} An observable that completes when the session is refreshed.\n\t */\n\trefresh() {\n\t\treturn from(this.sdk.refresh());\n\t}\n\n\t/**\n\t * Revokes the current session tokens.\n\t *\n\t * @returns {Observable<void>} An observable that completes when the tokens are revoked.\n\t */\n\trevoke() {\n\t\treturn from(this.sdk.revoke());\n\t}\n\n\t/**\n\t * Logs the user out using the specified options.\n\t *\n\t * @param {Parameters<Flow['logout']>[0]} [options] Options to customize the logout behavior.\n\t * @returns {Observable<void>} An observable that completes when the logout process is done.\n\t */\n\tlogout(options?: Parameters<Flow['logout']>[0]) {\n\t\treturn from(this.sdk.logout(options));\n\t}\n\n\t/**\n\t * Handles the authentication callback (e.g., after a redirect or popup flow).\n\t *\n\t * @param {Parameters<Flow['handleCallback']>[0]} [url] The URL to handle for the callback.\n\t * @returns {Observable<void>} An observable that completes when the callback is handled.\n\t */\n\thandleCallback(url?: Parameters<Flow['handleCallback']>[0]) {\n\t\treturn from(this.sdk.handleCallback(url));\n\t}\n}\n","import type { OnInit, OnDestroy, ComponentRef } from '@angular/core';\nimport type { NativeFlow } from '@strivacity/sdk-core/flows/NativeFlow';\nimport type { IdTokenClaims, NativeParams, WidgetType, LoginFlowState, LoginFlowMessage, Widget } from '@strivacity/sdk-core';\nimport { Component, EventEmitter, Input, Output, Type, ViewChild, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { FallbackError } from '@strivacity/sdk-core';\nimport { StrivacityAuthService } from '../services/auth.service';\nimport { StrivacityWidgetService } from '../services/widget.service';\nimport { unflattenObject } from '@strivacity/sdk-core/utils/object';\nimport { StyWidgetRenderer } from './widget-renderer.component';\n\n@Component({\n\tstandalone: true,\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'sty-login-renderer',\n\ttemplate: '<ng-container #container></ng-container>',\n\thost: {\n\t\tclass: 'login-renderer',\n\t},\n})\nexport class StyLoginRenderer implements OnInit, OnDestroy {\n\tprivate subscriptions = new Subscription();\n\tprivate stateSub?: Subscription;\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tprivate createdComponentRefs: ComponentRef<any>[] = [];\n\tloginHandler!: ReturnType<StrivacityAuthService<NativeFlow>['sdk']['login']>;\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t@Input({ required: true }) widgets!: Record<WidgetType, Type<any>>;\n\t@Input() sessionId?: string | null;\n\t@Input() params: NativeParams = {};\n\n\t@Output('login') readonly onLogin = new EventEmitter<IdTokenClaims | null | undefined>();\n\t@Output('fallback') readonly onFallback = new EventEmitter<FallbackError>();\n\t@Output('close') readonly onClose = new EventEmitter();\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t@Output('error') readonly onError = new EventEmitter<any>();\n\t@Output('globalMessage') readonly onGlobalMessage = new EventEmitter<string>();\n\t@Output('blockReady') readonly onBlockReady = new EventEmitter<{ previousState: LoginFlowState; state: LoginFlowState }>();\n\n\t@ViewChild('container', { read: ViewContainerRef, static: true }) readonly $containerRef!: ViewContainerRef;\n\n\tconstructor(\n\t\tprotected authService: StrivacityAuthService<NativeFlow>,\n\t\tprotected widgetService: StrivacityWidgetService,\n\t) {\n\t\tthis.widgetService.triggerFallback = (hostedUrl?: string) => {\n\t\t\tconst url = hostedUrl || this.widgetService.state$.value.hostedUrl;\n\n\t\t\tif (!url) {\n\t\t\t\tthrow new Error('No hosted URL provided');\n\t\t\t}\n\n\t\t\tthis.onFallback.emit(new FallbackError(new URL(url)));\n\t\t};\n\t\tthis.widgetService.triggerClose = () => {\n\t\t\tthis.onClose.emit();\n\t\t};\n\t\tthis.widgetService.submitForm = async (formId: string) => {\n\t\t\ttry {\n\t\t\t\tthis.widgetService.loading$.next(true);\n\n\t\t\t\tconst data = await this.loginHandler.submitForm(formId, unflattenObject(this.widgetService.forms$.value[formId]));\n\n\t\t\t\tif (await this.authService.sdk.isAuthenticated) {\n\t\t\t\t\tthis.onLogin.emit(this.authService.sdk.idTokenClaims);\n\t\t\t\t} else {\n\t\t\t\t\tconst previousState = JSON.parse(JSON.stringify(this.widgetService.state$.value));\n\t\t\t\t\tconst newState: LoginFlowState = {\n\t\t\t\t\t\thostedUrl: data?.hostedUrl ?? this.widgetService.state$.value.hostedUrl,\n\t\t\t\t\t\tfinalizeUrl: data?.finalizeUrl ?? this.widgetService.state$.value.finalizeUrl,\n\t\t\t\t\t\tscreen: data?.screen ?? this.widgetService.state$.value.screen,\n\t\t\t\t\t\tforms: data?.forms ?? this.widgetService.state$.value.forms,\n\t\t\t\t\t\tlayout: data?.layout ?? this.widgetService.state$.value.layout,\n\t\t\t\t\t\tmessages: data?.messages ?? this.widgetService.state$.value.messages,\n\t\t\t\t\t\tbranding: data?.branding ?? this.widgetService.state$.value.branding,\n\t\t\t\t\t};\n\n\t\t\t\t\tif (newState.screen !== this.widgetService.state$.value.screen) {\n\t\t\t\t\t\tconst forms: Record<string, Record<string, unknown>> = {};\n\t\t\t\t\t\tconst messages: Record<string, Record<string, LoginFlowMessage>> = {};\n\n\t\t\t\t\t\tfor (const form of newState.forms ?? []) {\n\t\t\t\t\t\t\tforms[form.id] = {};\n\t\t\t\t\t\t\tmessages[form.id] = {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis.widgetService.forms$.next(forms);\n\t\t\t\t\t\tthis.widgetService.messages$.next(messages);\n\t\t\t\t\t}\n\n\t\t\t\t\tObject.keys(newState.messages ?? {}).forEach((formId) => {\n\t\t\t\t\t\tif (formId === 'global') {\n\t\t\t\t\t\t\tthis.onGlobalMessage.emit(newState.messages?.global?.text ?? '');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst messages = { ...this.widgetService.messages$.value };\n\t\t\t\t\t\t\tmessages[formId] = newState.messages![formId];\n\t\t\t\t\t\t\tthis.widgetService.messages$.next(messages);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.widgetService.state$.next(newState);\n\t\t\t\t\tthis.onBlockReady.emit({ previousState, state: structuredClone(newState) });\n\t\t\t\t\tthis.widgetService.loading$.next(false);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof FallbackError) {\n\t\t\t\t\tthis.onFallback.emit(error);\n\t\t\t\t} else {\n\t\t\t\t\tthis.onError.emit(error);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tngOnInit() {\n\t\tthis.subscriptions.add(\n\t\t\tthis.widgetService.state$.subscribe((state) => {\n\t\t\t\tthis.render(state);\n\t\t\t}),\n\t\t);\n\t\tvoid this.init();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.subscriptions.unsubscribe();\n\t\tthis.clearAndDestroyComponents();\n\t}\n\n\tasync init() {\n\t\ttry {\n\t\t\tthis.loginHandler = this.authService.sdk.login(this.params);\n\n\t\t\tconst data = (await this.loginHandler.startSession(this.sessionId)) as LoginFlowState;\n\t\t\tconst previousState = JSON.parse(JSON.stringify(this.widgetService.state$.value));\n\t\t\tconst newState = {\n\t\t\t\thostedUrl: data?.hostedUrl ?? this.widgetService.state$.value.hostedUrl,\n\t\t\t\tfinalizeUrl: data?.finalizeUrl ?? this.widgetService.state$.value.finalizeUrl,\n\t\t\t\tscreen: data?.screen ?? this.widgetService.state$.value.screen,\n\t\t\t\tforms: data?.forms ?? this.widgetService.state$.value.forms,\n\t\t\t\tlayout: data?.layout ?? this.widgetService.state$.value.layout,\n\t\t\t\tmessages: data?.messages ?? this.widgetService.state$.value.messages,\n\t\t\t\tbranding: data?.branding ?? this.widgetService.state$.value.branding,\n\t\t\t};\n\n\t\t\tif (await this.authService.sdk.isAuthenticated) {\n\t\t\t\tthis.onLogin.emit(this.authService.sdk.idTokenClaims);\n\t\t\t} else {\n\t\t\t\tif (newState.screen !== this.widgetService.state$.value.screen) {\n\t\t\t\t\tconst newFormContexts: Record<string, Record<string, unknown>> = {};\n\t\t\t\t\tconst newMessageContexts: Record<string, Record<string, LoginFlowMessage>> = {};\n\n\t\t\t\t\tfor (const form of newState.forms ?? []) {\n\t\t\t\t\t\tnewFormContexts[form.id] = {};\n\t\t\t\t\t\tnewMessageContexts[form.id] = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.widgetService.forms$.next(newFormContexts);\n\t\t\t\t\tthis.widgetService.messages$.next(newMessageContexts);\n\t\t\t\t}\n\n\t\t\t\tObject.keys(newState.messages ?? {}).forEach((formId) => {\n\t\t\t\t\tif (formId === 'global') {\n\t\t\t\t\t\tthis.onGlobalMessage.emit(newState.messages?.global?.text ?? '');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst messages = { ...this.widgetService.messages$.value };\n\t\t\t\t\t\tmessages[formId] = newState.messages![formId];\n\n\t\t\t\t\t\tthis.widgetService.messages$.next(messages);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tthis.widgetService.state$.next(newState);\n\t\t\t\tthis.onBlockReady.emit({ previousState, state: structuredClone(newState) });\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (error instanceof FallbackError) {\n\t\t\t\tthis.onFallback.emit(error);\n\t\t\t} else {\n\t\t\t\tthis.onError.emit(error);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate render(state: LoginFlowState): void {\n\t\tthis.clearAndDestroyComponents();\n\n\t\tif (state.screen) {\n\t\t\tconst component = this.widgets['layout'];\n\n\t\t\tif (!component) {\n\t\t\t\treturn this.widgetService.triggerFallback();\n\t\t\t}\n\n\t\t\tconst widgetRendererRef = this.$containerRef.createComponent(StyWidgetRenderer);\n\t\t\twidgetRendererRef.setInput('items', state.layout?.items);\n\t\t\twidgetRendererRef.setInput('widgets', this.widgets);\n\t\t\twidgetRendererRef.changeDetectorRef.detectChanges();\n\n\t\t\tconst layoutRef = this.$containerRef.createComponent(component, {\n\t\t\t\tprojectableNodes: [[widgetRendererRef.location.nativeElement]],\n\t\t\t});\n\t\t\tlayoutRef.setInput('formId', (state.layout?.items[0] as Widget)?.formId);\n\t\t\tlayoutRef.setInput('type', state.layout?.type);\n\t\t\tlayoutRef.setInput('tag', 'form');\n\t\t\tlayoutRef.changeDetectorRef.detectChanges();\n\n\t\t\tthis.createdComponentRefs.push(widgetRendererRef, layoutRef);\n\t\t} else {\n\t\t\tconst loadingComponentType = this.widgets['loading'];\n\n\t\t\tif (loadingComponentType) {\n\t\t\t\tconst loadingRef = this.$containerRef.createComponent(loadingComponentType);\n\n\t\t\t\tthis.createdComponentRefs.push(loadingRef);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate clearAndDestroyComponents(): void {\n\t\tthis.createdComponentRefs.forEach((ref) => {\n\t\t\tif (!ref.hostView.destroyed) {\n\t\t\t\tref.destroy();\n\t\t\t}\n\t\t});\n\t\tthis.createdComponentRefs = [];\n\t\tthis.$containerRef?.clear();\n\t}\n}\n","import { type ModuleWithProviders, CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport type { SDKOptions } from '@strivacity/sdk-core';\nimport { StrivacityAuthService } from './services/auth.service';\nimport { provideStrivacity } from './utils/helpers';\nimport { StyLoginRenderer } from './components/login-renderer.component';\n\n@NgModule({\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\tproviders: [StrivacityAuthService],\n\timports: [StyLoginRenderer],\n\texports: [StyLoginRenderer],\n})\nexport class StrivacityAuthModule {\n\tstatic forRoot(options: SDKOptions): ModuleWithProviders<StrivacityAuthModule> {\n\t\treturn {\n\t\t\tngModule: StrivacityAuthModule,\n\t\t\tproviders: [provideStrivacity(options)],\n\t\t};\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StrivacityWidgetService","i1.StrivacityAuthService","i2.StrivacityWidgetService"],"mappings":"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"}
1
+ {"version":3,"file":"strivacity-sdk-angular.mjs","sources":["../../src/lib/services/widget.service.ts","../../src/lib/components/widget-renderer.component.ts","../../src/lib/utils/helpers.ts","../../src/lib/services/auth.service.ts","../../src/lib/components/login-renderer.component.ts","../../src/lib/strivacity-auth.module.ts","../../src/strivacity-sdk-angular.ts"],"sourcesContent":["import type { LoginFlowMessage, LoginFlowState } from '@strivacity/sdk-core';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface NativeFlowState {\n\tloading: boolean;\n\tformContexts: Record<string, Record<string, unknown>>;\n\tmessageContexts: Record<string, Record<string, string | null>>;\n\tstate: LoginFlowState;\n}\n\n/**\n * Service that manages Strivacity native widgets.\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class StrivacityWidgetService {\n\treadonly loading$ = new BehaviorSubject<boolean>(false);\n\treadonly forms$ = new BehaviorSubject<Record<string, Record<string, unknown>>>({});\n\treadonly messages$ = new BehaviorSubject<Record<string, Record<string, LoginFlowMessage>>>({});\n\treadonly state$ = new BehaviorSubject<LoginFlowState>({});\n\n\ttriggerFallback!: (hostedUrl?: string) => void;\n\ttriggerClose!: () => void;\n\tsubmitForm!: (formId: string) => Promise<void>;\n\n\tsetFormValue(formId: string, widgetId: string, value: unknown) {\n\t\tconst forms = { ...this.forms$.value };\n\t\tforms[formId] = { ...(forms[formId] || {}), [widgetId]: value === '' ? null : value };\n\n\t\tthis.forms$.next(forms);\n\t}\n\n\tsetMessage(formId: string, widgetId: string, value: LoginFlowMessage) {\n\t\tconst messages = { ...this.messages$.value };\n\t\tmessages[formId] = { ...(messages[formId] || {}), [widgetId]: value };\n\n\t\tthis.messages$.next(messages);\n\t}\n}\n","import type { Type, SimpleChanges, OnChanges } from '@angular/core';\nimport type { WidgetType, LayoutWidget, Widget } from '@strivacity/sdk-core';\nimport { Component, Input, ViewContainerRef, ViewChild } from '@angular/core';\nimport { StrivacityWidgetService } from '../services/widget.service';\n\n@Component({\n\tstandalone: true,\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'sty-widget-renderer',\n\ttemplate: '<ng-container #container></ng-container>',\n\tstyles: `\n\t\t:host {\n\t\t\tdisplay: contents;\n\t\t}\n\t`,\n})\nexport class StyWidgetRenderer implements OnChanges {\n\t@Input() items: LayoutWidget['items'] = [];\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t@Input({ required: true }) widgets!: Record<WidgetType, Type<any>>;\n\n\t@ViewChild('container', { read: ViewContainerRef, static: true }) readonly $containerRef!: ViewContainerRef;\n\n\tconstructor(protected widgetService: StrivacityWidgetService) {}\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['items']) {\n\t\t\tthis.render();\n\t\t}\n\t}\n\n\trender(): void {\n\t\tthis.$containerRef.clear();\n\n\t\tif (!this.items) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const item of this.items) {\n\t\t\tif (item.type === 'widget') {\n\t\t\t\tconst form = this.widgetService.state$.value.forms?.find((f) => f.id === item.formId);\n\t\t\t\tconst widget = form?.widgets.find((w) => w.id === item.widgetId);\n\t\t\t\tconst component = widget ? this.widgets[widget.type] : undefined;\n\n\t\t\t\tif (!form || !widget || !component) {\n\t\t\t\t\tthis.widgetService.triggerFallback();\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst componentRef = this.$containerRef.createComponent(component);\n\t\t\t\tcomponentRef.setInput('formId', item.formId);\n\t\t\t\tcomponentRef.setInput('config', widget);\n\t\t\t\tcomponentRef.changeDetectorRef.detectChanges();\n\t\t\t} else if (item.type === 'vertical' || item.type === 'horizontal') {\n\t\t\t\tconst component = this.widgets.layout;\n\n\t\t\t\tif (!component) {\n\t\t\t\t\tthis.widgetService.triggerFallback();\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst widgetRendererRef = this.$containerRef.createComponent(StyWidgetRenderer);\n\t\t\t\twidgetRendererRef.setInput('items', item.items);\n\t\t\t\twidgetRendererRef.setInput('widgets', this.widgets);\n\t\t\t\twidgetRendererRef.changeDetectorRef.detectChanges();\n\n\t\t\t\tconst layoutRef = this.$containerRef.createComponent(component, {\n\t\t\t\t\tprojectableNodes: [[widgetRendererRef.location.nativeElement]],\n\t\t\t\t});\n\t\t\t\tlayoutRef.setInput('formId', (item.items[0] as Widget)?.formId);\n\t\t\t\tlayoutRef.setInput('type', item.type);\n\t\t\t\tlayoutRef.changeDetectorRef.detectChanges();\n\t\t\t} else {\n\t\t\t\tthis.widgetService.triggerFallback();\n\t\t\t}\n\t\t}\n\t}\n}\n","import { InjectionToken } from '@angular/core';\nimport type { SDKOptions } from '@strivacity/sdk-core';\n\nexport const STRIVACITY_SDK = new InjectionToken<SDKOptions>('sty');\n\n/**\n * Provides the Strivacity SDK configuration as a dependency injection token.\n *\n * This function is used to supply the Strivacity SDK configuration to the application\n * by binding it to the `STRIVACITY_SDK` token.\n *\n * @param {SDKOptions} config The SDK configuration options.\n * @returns {{ provide: InjectionToken<SDKOptions>, useValue: SDKOptions }} An object that provides the SDK configuration using the `STRIVACITY_SDK` token.\n */\nexport function provideStrivacity(config: SDKOptions) {\n\treturn { provide: STRIVACITY_SDK, useValue: config };\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { type Observable, BehaviorSubject, from } from 'rxjs';\nimport type { PopupFlow } from '@strivacity/sdk-core/flows/PopupFlow';\nimport type { RedirectFlow } from '@strivacity/sdk-core/flows/RedirectFlow';\nimport type { NativeFlow } from '@strivacity/sdk-core/flows/NativeFlow';\nimport { type SDKOptions, initFlow } from '@strivacity/sdk-core';\nimport type { Session } from '../utils/types';\nimport { STRIVACITY_SDK } from '../utils/helpers';\n\n/**\n * Service that manages Strivacity authentication flows.\n * Supports either PopupFlow or RedirectFlow types.\n *\n * @template Flow Type of authentication flow (PopupFlow or RedirectFlow).\n * @template Options Type of SDK options (defaults to SDKOptions).\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class StrivacityAuthService<\n\tFlow extends PopupFlow | RedirectFlow | NativeFlow = PopupFlow | RedirectFlow | NativeFlow,\n\tOptions extends SDKOptions = SDKOptions,\n> {\n\t/**\n\t * Instance of the authentication flow (PopupFlow or RedirectFlow).\n\t */\n\tsdk: Flow;\n\n\t/**\n\t * BehaviorSubject that holds the current session state.\n\t * @protected\n\t * @readonly\n\t */\n\tprivate readonly sessionSubject: BehaviorSubject<Session>;\n\n\t/**\n\t * Observable that emits the session state changes.\n\t * @readonly\n\t */\n\treadonly session$: Observable<Session>;\n\n\t/**\n\t * Creates an instance of StrivacityAuthService.\n\t *\n\t * @param {Options} options SDK configuration options injected via STRIVACITY_SDK.\n\t */\n\tconstructor(@Inject(STRIVACITY_SDK) public options: Options) {\n\t\tthis.sdk = initFlow(options) as Flow;\n\t\tthis.sessionSubject = new BehaviorSubject<Session>({\n\t\t\tloading: true,\n\t\t\tisAuthenticated: false,\n\t\t\tidTokenClaims: null,\n\t\t\taccessToken: null,\n\t\t\trefreshToken: null,\n\t\t\taccessTokenExpired: true,\n\t\t\taccessTokenExpirationDate: null,\n\t\t});\n\t\tthis.session$ = this.sessionSubject.asObservable();\n\n\t\tconst updateSession = async () => {\n\t\t\tthis.sessionSubject.next({\n\t\t\t\tloading: false,\n\t\t\t\tisAuthenticated: await this.sdk.isAuthenticated,\n\t\t\t\tidTokenClaims: this.sdk.idTokenClaims || null,\n\t\t\t\taccessToken: this.sdk.accessToken || null,\n\t\t\t\trefreshToken: this.sdk.refreshToken || null,\n\t\t\t\taccessTokenExpired: this.sdk.accessTokenExpired,\n\t\t\t\taccessTokenExpirationDate: this.sdk.accessTokenExpirationDate || null,\n\t\t\t});\n\t\t};\n\n\t\tthis.sdk.subscribeToEvent('init', updateSession);\n\t\tthis.sdk.subscribeToEvent('loggedIn', updateSession);\n\t\tthis.sdk.subscribeToEvent('sessionLoaded', updateSession);\n\t\tthis.sdk.subscribeToEvent('tokenRefreshed', updateSession);\n\t\tthis.sdk.subscribeToEvent('tokenRefreshFailed', updateSession);\n\t\tthis.sdk.subscribeToEvent('logoutInitiated', updateSession);\n\t\tthis.sdk.subscribeToEvent('tokenRevoked', updateSession);\n\t\tthis.sdk.subscribeToEvent('tokenRevokeFailed', updateSession);\n\t}\n\n\t/**\n\t * Checks if the user is authenticated.\n\t *\n\t * @returns {Observable<boolean>} An observable that emits the authentication status.\n\t */\n\tisAuthenticated() {\n\t\treturn from(this.sdk.isAuthenticated);\n\t}\n\n\t/**\n\t * Logs the user in using the specified options.\n\t *\n\t * @param {Parameters<Flow['login']>[0]} [options] Options to customize the login behavior.\n\t * @returns {Observable<void>} An observable that completes when the login process is done.\n\t */\n\tlogin(options?: Parameters<Flow['login']>[0]) {\n\t\tconst result = this.sdk.login(options);\n\n\t\tif (result instanceof Promise) {\n\t\t\treturn from(result);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Initiates the entry process using the provided challenge.\n\t *\n\t * @param {string} [url] Optional URL to use for the entry process. If not provided, the current window location will be used.\n\t * @returns {Observable<void>} An observable that completes when the entry process is done.\n\t */\n\tentry(url?: string) {\n\t\tconst result = this.sdk.entry(url);\n\n\t\tif (result instanceof Promise) {\n\t\t\treturn from(result);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Registers a new user using the specified options.\n\t *\n\t * @param {Parameters<Flow['register']>[0]} [options] Options to customize the registration behavior.\n\t * @returns {Observable<void>} An observable that completes when the registration process is done.\n\t */\n\tregister(options?: Parameters<Flow['register']>[0]) {\n\t\tconst result = this.sdk.register(options);\n\n\t\tif (result instanceof Promise) {\n\t\t\treturn from(result);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Refreshes the current authentication session.\n\t *\n\t * @returns {Observable<void>} An observable that completes when the session is refreshed.\n\t */\n\trefresh() {\n\t\treturn from(this.sdk.refresh());\n\t}\n\n\t/**\n\t * Revokes the current session tokens.\n\t *\n\t * @returns {Observable<void>} An observable that completes when the tokens are revoked.\n\t */\n\trevoke() {\n\t\treturn from(this.sdk.revoke());\n\t}\n\n\t/**\n\t * Logs the user out using the specified options.\n\t *\n\t * @param {Parameters<Flow['logout']>[0]} [options] Options to customize the logout behavior.\n\t * @returns {Observable<void>} An observable that completes when the logout process is done.\n\t */\n\tlogout(options?: Parameters<Flow['logout']>[0]) {\n\t\treturn from(this.sdk.logout(options));\n\t}\n\n\t/**\n\t * Handles the authentication callback (e.g., after a redirect or popup flow).\n\t *\n\t * @param {Parameters<Flow['handleCallback']>[0]} [url] The URL to handle for the callback.\n\t * @returns {Observable<void>} An observable that completes when the callback is handled.\n\t */\n\thandleCallback(url?: Parameters<Flow['handleCallback']>[0]) {\n\t\treturn from(this.sdk.handleCallback(url));\n\t}\n}\n","import type { OnInit, OnDestroy, ComponentRef } from '@angular/core';\nimport type { NativeFlow } from '@strivacity/sdk-core/flows/NativeFlow';\nimport type { IdTokenClaims, NativeParams, WidgetType, LoginFlowState, LoginFlowMessage, Widget } from '@strivacity/sdk-core';\nimport { Component, EventEmitter, Input, Output, Type, ViewChild, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { FallbackError } from '@strivacity/sdk-core';\nimport { StrivacityAuthService } from '../services/auth.service';\nimport { StrivacityWidgetService } from '../services/widget.service';\nimport { unflattenObject } from '@strivacity/sdk-core/utils/object';\nimport { StyWidgetRenderer } from './widget-renderer.component';\n\n@Component({\n\tstandalone: true,\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'sty-login-renderer',\n\ttemplate: '<ng-container #container></ng-container>',\n\thost: {\n\t\tclass: 'login-renderer',\n\t},\n})\nexport class StyLoginRenderer implements OnInit, OnDestroy {\n\tprivate subscriptions = new Subscription();\n\tprivate stateSub?: Subscription;\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tprivate createdComponentRefs: ComponentRef<any>[] = [];\n\tloginHandler!: ReturnType<StrivacityAuthService<NativeFlow>['sdk']['login']>;\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t@Input({ required: true }) widgets!: Record<WidgetType, Type<any>>;\n\t@Input() sessionId?: string | null;\n\t@Input() params: NativeParams = {};\n\n\t@Output('login') readonly onLogin = new EventEmitter<IdTokenClaims | null | undefined>();\n\t@Output('fallback') readonly onFallback = new EventEmitter<FallbackError>();\n\t@Output('close') readonly onClose = new EventEmitter();\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t@Output('error') readonly onError = new EventEmitter<any>();\n\t@Output('globalMessage') readonly onGlobalMessage = new EventEmitter<string>();\n\t@Output('blockReady') readonly onBlockReady = new EventEmitter<{ previousState: LoginFlowState; state: LoginFlowState }>();\n\n\t@ViewChild('container', { read: ViewContainerRef, static: true }) readonly $containerRef!: ViewContainerRef;\n\n\tconstructor(\n\t\tprotected authService: StrivacityAuthService<NativeFlow>,\n\t\tprotected widgetService: StrivacityWidgetService,\n\t) {\n\t\tthis.widgetService.triggerFallback = (hostedUrl?: string) => {\n\t\t\tconst url = hostedUrl || this.widgetService.state$.value.hostedUrl;\n\n\t\t\tif (!url) {\n\t\t\t\tthrow new Error('No hosted URL provided');\n\t\t\t}\n\n\t\t\tthis.onFallback.emit(new FallbackError(new URL(url)));\n\t\t};\n\t\tthis.widgetService.triggerClose = () => {\n\t\t\tthis.onClose.emit();\n\t\t};\n\t\tthis.widgetService.submitForm = async (formId: string) => {\n\t\t\ttry {\n\t\t\t\tthis.widgetService.loading$.next(true);\n\n\t\t\t\tconst data = await this.loginHandler.submitForm(formId, unflattenObject(this.widgetService.forms$.value[formId]));\n\n\t\t\t\tif (await this.authService.sdk.isAuthenticated) {\n\t\t\t\t\tthis.onLogin.emit(this.authService.sdk.idTokenClaims);\n\t\t\t\t} else {\n\t\t\t\t\tconst previousState = JSON.parse(JSON.stringify(this.widgetService.state$.value));\n\t\t\t\t\tconst newState: LoginFlowState = {\n\t\t\t\t\t\thostedUrl: data?.hostedUrl ?? this.widgetService.state$.value.hostedUrl,\n\t\t\t\t\t\tfinalizeUrl: data?.finalizeUrl ?? this.widgetService.state$.value.finalizeUrl,\n\t\t\t\t\t\tscreen: data?.screen ?? this.widgetService.state$.value.screen,\n\t\t\t\t\t\tforms: data?.forms ?? this.widgetService.state$.value.forms,\n\t\t\t\t\t\tlayout: data?.layout ?? this.widgetService.state$.value.layout,\n\t\t\t\t\t\tmessages: data?.messages ?? this.widgetService.state$.value.messages,\n\t\t\t\t\t\tbranding: data?.branding ?? this.widgetService.state$.value.branding,\n\t\t\t\t\t};\n\n\t\t\t\t\tif (newState.screen !== this.widgetService.state$.value.screen) {\n\t\t\t\t\t\tconst forms: Record<string, Record<string, unknown>> = {};\n\t\t\t\t\t\tconst messages: Record<string, Record<string, LoginFlowMessage>> = {};\n\n\t\t\t\t\t\tfor (const form of newState.forms ?? []) {\n\t\t\t\t\t\t\tforms[form.id] = {};\n\t\t\t\t\t\t\tmessages[form.id] = {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis.widgetService.forms$.next(forms);\n\t\t\t\t\t\tthis.widgetService.messages$.next(messages);\n\t\t\t\t\t}\n\n\t\t\t\t\tObject.keys(newState.messages ?? {}).forEach((formId) => {\n\t\t\t\t\t\tif (formId === 'global') {\n\t\t\t\t\t\t\tthis.onGlobalMessage.emit(newState.messages?.global?.text ?? '');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst messages = { ...this.widgetService.messages$.value };\n\t\t\t\t\t\t\tmessages[formId] = newState.messages![formId];\n\t\t\t\t\t\t\tthis.widgetService.messages$.next(messages);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.widgetService.state$.next(newState);\n\t\t\t\t\tthis.onBlockReady.emit({ previousState, state: structuredClone(newState) });\n\t\t\t\t\tthis.widgetService.loading$.next(false);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof FallbackError) {\n\t\t\t\t\tthis.onFallback.emit(error);\n\t\t\t\t} else {\n\t\t\t\t\tthis.onError.emit(error);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tngOnInit() {\n\t\tthis.subscriptions.add(\n\t\t\tthis.widgetService.state$.subscribe((state) => {\n\t\t\t\tthis.render(state);\n\t\t\t}),\n\t\t);\n\t\tvoid this.init();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.subscriptions.unsubscribe();\n\t\tthis.clearAndDestroyComponents();\n\t}\n\n\tasync init() {\n\t\ttry {\n\t\t\tthis.loginHandler = this.authService.sdk.login(this.params);\n\n\t\t\tconst data = (await this.loginHandler.startSession(this.sessionId)) as LoginFlowState;\n\t\t\tconst previousState = JSON.parse(JSON.stringify(this.widgetService.state$.value));\n\t\t\tconst newState = {\n\t\t\t\thostedUrl: data?.hostedUrl ?? this.widgetService.state$.value.hostedUrl,\n\t\t\t\tfinalizeUrl: data?.finalizeUrl ?? this.widgetService.state$.value.finalizeUrl,\n\t\t\t\tscreen: data?.screen ?? this.widgetService.state$.value.screen,\n\t\t\t\tforms: data?.forms ?? this.widgetService.state$.value.forms,\n\t\t\t\tlayout: data?.layout ?? this.widgetService.state$.value.layout,\n\t\t\t\tmessages: data?.messages ?? this.widgetService.state$.value.messages,\n\t\t\t\tbranding: data?.branding ?? this.widgetService.state$.value.branding,\n\t\t\t};\n\n\t\t\tif (await this.authService.sdk.isAuthenticated) {\n\t\t\t\tthis.onLogin.emit(this.authService.sdk.idTokenClaims);\n\t\t\t} else {\n\t\t\t\tif (newState.screen !== this.widgetService.state$.value.screen) {\n\t\t\t\t\tconst newFormContexts: Record<string, Record<string, unknown>> = {};\n\t\t\t\t\tconst newMessageContexts: Record<string, Record<string, LoginFlowMessage>> = {};\n\n\t\t\t\t\tfor (const form of newState.forms ?? []) {\n\t\t\t\t\t\tnewFormContexts[form.id] = {};\n\t\t\t\t\t\tnewMessageContexts[form.id] = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.widgetService.forms$.next(newFormContexts);\n\t\t\t\t\tthis.widgetService.messages$.next(newMessageContexts);\n\t\t\t\t}\n\n\t\t\t\tObject.keys(newState.messages ?? {}).forEach((formId) => {\n\t\t\t\t\tif (formId === 'global') {\n\t\t\t\t\t\tthis.onGlobalMessage.emit(newState.messages?.global?.text ?? '');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst messages = { ...this.widgetService.messages$.value };\n\t\t\t\t\t\tmessages[formId] = newState.messages![formId];\n\n\t\t\t\t\t\tthis.widgetService.messages$.next(messages);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tthis.widgetService.state$.next(newState);\n\t\t\t\tthis.onBlockReady.emit({ previousState, state: structuredClone(newState) });\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (error instanceof FallbackError) {\n\t\t\t\tthis.onFallback.emit(error);\n\t\t\t} else {\n\t\t\t\tthis.onError.emit(error);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate render(state: LoginFlowState): void {\n\t\tthis.clearAndDestroyComponents();\n\n\t\tif (state.screen) {\n\t\t\tconst component = this.widgets['layout'];\n\n\t\t\tif (!component) {\n\t\t\t\treturn this.widgetService.triggerFallback();\n\t\t\t}\n\n\t\t\tconst widgetRendererRef = this.$containerRef.createComponent(StyWidgetRenderer);\n\t\t\twidgetRendererRef.setInput('items', state.layout?.items);\n\t\t\twidgetRendererRef.setInput('widgets', this.widgets);\n\t\t\twidgetRendererRef.changeDetectorRef.detectChanges();\n\n\t\t\tconst layoutRef = this.$containerRef.createComponent(component, {\n\t\t\t\tprojectableNodes: [[widgetRendererRef.location.nativeElement]],\n\t\t\t});\n\t\t\tlayoutRef.setInput('formId', (state.layout?.items[0] as Widget)?.formId);\n\t\t\tlayoutRef.setInput('type', state.layout?.type);\n\t\t\tlayoutRef.setInput('tag', 'form');\n\t\t\tlayoutRef.changeDetectorRef.detectChanges();\n\n\t\t\tthis.createdComponentRefs.push(widgetRendererRef, layoutRef);\n\t\t} else {\n\t\t\tconst loadingComponentType = this.widgets['loading'];\n\n\t\t\tif (loadingComponentType) {\n\t\t\t\tconst loadingRef = this.$containerRef.createComponent(loadingComponentType);\n\n\t\t\t\tthis.createdComponentRefs.push(loadingRef);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate clearAndDestroyComponents(): void {\n\t\tthis.createdComponentRefs.forEach((ref) => {\n\t\t\tif (!ref.hostView.destroyed) {\n\t\t\t\tref.destroy();\n\t\t\t}\n\t\t});\n\t\tthis.createdComponentRefs = [];\n\t\tthis.$containerRef?.clear();\n\t}\n}\n","import { type ModuleWithProviders, CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport type { SDKOptions } from '@strivacity/sdk-core';\nimport { StrivacityAuthService } from './services/auth.service';\nimport { provideStrivacity } from './utils/helpers';\nimport { StyLoginRenderer } from './components/login-renderer.component';\n\n@NgModule({\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\tproviders: [StrivacityAuthService],\n\timports: [StyLoginRenderer],\n\texports: [StyLoginRenderer],\n})\nexport class StrivacityAuthModule {\n\tstatic forRoot(options: SDKOptions): ModuleWithProviders<StrivacityAuthModule> {\n\t\treturn {\n\t\t\tngModule: StrivacityAuthModule,\n\t\t\tproviders: [provideStrivacity(options)],\n\t\t};\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StrivacityWidgetService","i1.StrivacityAuthService","i2.StrivacityWidgetService"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@strivacity/sdk-angular",
3
- "version": "2.1.0",
4
- "type": "module",
3
+ "version": "2.1.1",
5
4
  "license": "MIT",
6
- "author": "strivacity <opensource@strivacity.com>",
7
5
  "description": "Strivacity Angular SDK client",
6
+ "author": "strivacity <opensource@strivacity.com>",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/Strivacity/sdk-js"
10
+ },
11
+ "type": "module",
8
12
  "dependencies": {
9
- "@strivacity/sdk-core": "2.1.0"
13
+ "@strivacity/sdk-core": "2.1.2"
10
14
  },
11
15
  "peerDependencies": {
12
16
  "@angular/core": ">=14"