@bravobit/bb-foundation 0.60.0 → 0.60.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.
@@ -23,6 +23,7 @@ class BbDialogRef {
23
23
 
24
24
  class BbDialogConfig {
25
25
  data;
26
+ injector;
26
27
  }
27
28
  class DialogConfig {
28
29
  animationMs;
@@ -218,6 +219,7 @@ class BbDialogContainer {
218
219
  // Data.
219
220
  componentRef = null;
220
221
  childComponentType = null;
222
+ parentInjector = null;
221
223
  // State.
222
224
  _overlayClicked$ = new Subject();
223
225
  onOverlayClicked = this._overlayClicked$.pipe(take(1));
@@ -238,7 +240,9 @@ class BbDialogContainer {
238
240
  loadChildComponent(componentType) {
239
241
  const viewContainerRef = this.insertion.viewContainerRef;
240
242
  viewContainerRef.clear();
241
- this.componentRef = viewContainerRef.createComponent(componentType);
243
+ this.componentRef = viewContainerRef.createComponent(componentType, {
244
+ injector: this.parentInjector ?? undefined
245
+ });
242
246
  }
243
247
  handleOverlayClicks() {
244
248
  const element = this._elementRef.nativeElement ?? null;
@@ -349,6 +353,7 @@ class Dialog {
349
353
  }
350
354
  // Set the child component type on the component.
351
355
  dialogComponentRef.instance.childComponentType = componentType;
356
+ dialogComponentRef.instance.parentInjector = config?.injector ?? null;
352
357
  dialogComponentRef.instance.onOverlayClicked.subscribe(() => dialogRef.onOverlayClicked());
353
358
  // Listen for close events.
354
359
  dialogRef.afterClosed.subscribe(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"bravobit-bb-foundation-dialog.mjs","sources":["../../../projects/bb-foundation/dialog/src/lib/dialog.ref.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.interfaces.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-overlay/dialog-overlay.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-overlay/dialog-overlay.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-registry.service.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-modal/dialog-modal.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-modal/dialog-modal.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-header/dialog-header.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-header/dialog-header.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-actions/dialog-actions.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-actions/dialog-actions.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog.insertion.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-container/dialog-container.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-container/dialog-container.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-confirm/dialog-confirm.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-confirm/dialog-confirm.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog.service.ts","../../../projects/bb-foundation/dialog/src/lib/directives/confirm.directive.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.config.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.module.ts","../../../projects/bb-foundation/dialog/src/bravobit-bb-foundation-dialog.ts"],"sourcesContent":["import {take} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\n\nexport class BbDialogRef<T = any> {\n\n // Data.\n private readonly _afterClosed$ = new Subject<T>();\n private readonly _overlayClicked$ = new Subject<void>();\n\n readonly afterClosed = this._afterClosed$.pipe(take(1));\n readonly overlayClicked = this._overlayClicked$.pipe(take(1));\n\n onOverlayClicked() {\n this._overlayClicked$.next();\n }\n\n close(result?: T) {\n this._afterClosed$.next(result);\n }\n\n}\n","import {InjectionToken} from '@angular/core';\n\nexport class BbDialogConfig<T = any> {\n data?: T;\n}\n\nexport interface DialogConfirmOptions {\n cancelButtonClass: string;\n cancelButtonText: string;\n confirmButtonText: string;\n confirmButtonClass: string;\n confirmIconName: string;\n width: string;\n onConfirmed: () => Promise<any>;\n}\n\nexport class DialogConfig {\n animationMs?: number;\n icons?: {\n closeIcon?: string;\n confirmIcon?: string;\n };\n}\n\nexport const DIALOG_CONFIG: InjectionToken<DialogConfig> = new InjectionToken('dialog config');\n","import {booleanAttribute, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Input, OnDestroy, OnInit, Output, Renderer2, ViewEncapsulation, DOCUMENT} from '@angular/core';\nimport {firstValueFrom, fromEvent, Subscription, takeUntil, timer} from 'rxjs';\nimport {DIALOG_CONFIG, DialogConfig} from '../dialog.interfaces';\nimport {filter, switchMap} from 'rxjs/operators';\n\n@Component({\n selector: 'bb-dialog-overlay',\n templateUrl: './dialog-overlay.component.html',\n styleUrls: ['./dialog-overlay.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dialog-overlay'}\n})\nexport class BbDialogOverlay implements OnInit, OnDestroy {\n\n // Dependencies.\n private readonly _config?: DialogConfig = inject(DIALOG_CONFIG, {optional: true});\n private readonly _renderer: Renderer2 = inject(Renderer2);\n private readonly _elementRef: ElementRef = inject(ElementRef);\n private readonly _document: Document = inject(DOCUMENT);\n\n // Inputs.\n @Input({transform: booleanAttribute}) closeRequestedDisabled: boolean = false;\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n ngOnInit() {\n this.handleOverlayClicks();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n async close() {\n this._renderer.addClass(this._elementRef.nativeElement, 'leaving');\n const timer$ = timer(this._config?.animationMs ?? 240);\n return firstValueFrom(timer$);\n }\n\n private handleOverlayClicks() {\n const element = this._elementRef.nativeElement ?? null;\n const elementMovePx = 20;\n const subscription = fromEvent<PointerEvent>(this._document, 'pointerdown').pipe(\n filter(event => event?.target === element),\n switchMap(pointerDownEvent => {\n const startX = pointerDownEvent.clientX;\n const startY = pointerDownEvent.clientY;\n\n return fromEvent<PointerEvent>(this._document, 'pointerup').pipe(\n filter(pointerUpEvent => pointerUpEvent?.target === element && this.getMoveDistance(pointerUpEvent, startX, startY) <= elementMovePx),\n takeUntil(\n fromEvent<PointerEvent>(this._document, 'pointermove').pipe(\n filter(pointerMoveEvent => this.getMoveDistance(pointerMoveEvent, startX, startY) > elementMovePx)\n )\n )\n );\n })\n ).subscribe(() => {\n if (this.closeRequestedDisabled) {\n return;\n }\n this.closeRequested.emit();\n });\n this._subscription.add(subscription);\n }\n\n private getMoveDistance(event: PointerEvent, initialX: number, initialY: number) {\n return Math.sqrt(\n Math.pow(event.clientX - initialX, 2) +\n Math.pow(event.clientY - initialY, 2)\n );\n }\n\n}\n","<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n","import {BbDialogModal} from './dialog-modal/dialog-modal.component';\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogRegistry {\n\n private _items: string[] = [];\n\n add(id: string) {\n this._items.push(id);\n }\n\n remove(id: string) {\n this._items = this._items.filter(item => item !== id);\n }\n\n isActive(modal: BbDialogModal) {\n return this._items?.[this._items?.length - 1] === modal?.id;\n }\n\n}\n","import {booleanAttribute, ChangeDetectionStrategy, Component, inject, OnInit, Renderer2, ViewEncapsulation, DOCUMENT, input} from '@angular/core';\nimport {DialogRegistry} from '../dialog-registry.service';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: '[bb-dialog-modal]',\n templateUrl: './dialog-modal.component.html',\n styleUrls: ['./dialog-modal.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dialog-modal',\n '[class.without-body-padding]': 'withoutBodyPadding()',\n '[class.fullscreen]': 'appearance() === \\'fullscreen\\'',\n '[class.bottom-sheet]': 'appearance() === \\'bottom-sheet\\'',\n '[style.max-width]': 'appearance() === \\'modal\\' ? maxWidth() : null',\n 'role': 'dialog'\n }\n})\nexport class BbDialogModal implements OnInit {\n\n // Dependencies.\n private readonly _renderer: Renderer2 = inject(Renderer2);\n private readonly _registry: DialogRegistry = inject(DialogRegistry);\n private readonly _document?: Document = inject(DOCUMENT, {optional: true});\n\n // Readonly data.\n readonly id: string = `bb-dialog-${nextUniqueId++}`;\n\n // Inputs.\n readonly appearance = input<'modal' | 'fullscreen' | 'bottom-sheet'>('modal');\n readonly withoutBodyPadding = input(false, {transform: booleanAttribute});\n readonly maxWidth = input<string>('30rem');\n\n ngOnInit() {\n this._registry.add(this.id);\n this.allowGlobalOverflow(false);\n }\n\n ngOnDestroy() {\n this._registry.remove(this.id);\n this.allowGlobalOverflow(true);\n }\n\n private allowGlobalOverflow(allow: boolean) {\n const element = this._document?.body ?? null;\n if (!element) {\n return;\n }\n\n allow\n ? this._renderer.removeStyle(element, 'overflow')\n : this._renderer.setStyle(element, 'overflow', 'hidden');\n }\n\n}\n","<ng-content select=\"[bb-dialog-header]\"></ng-content>\n\n<div class=\"bb-dialog-modal-body\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"[bb-dialog-actions]\"></ng-content>\n","import {booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, HostListener, inject, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {BbDialogModal} from '../dialog-modal/dialog-modal.component';\nimport {DIALOG_CONFIG, DialogConfig} from '../dialog.interfaces';\nimport {DialogRegistry} from '../dialog-registry.service';\nimport {BbIcon} from '@bravobit/bb-foundation/elements';\n\n@Component({\n selector: '[bb-dialog-header]',\n templateUrl: './dialog-header.component.html',\n styleUrls: ['./dialog-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dialog-header'},\n imports: [BbIcon]\n})\nexport class BbDialogHeader {\n\n // Dependencies.\n private readonly _config: DialogConfig = inject(DIALOG_CONFIG);\n private readonly _registry: DialogRegistry = inject(DialogRegistry);\n private readonly _modal?: BbDialogModal = inject(BbDialogModal, {optional: true});\n\n // Readonly data.\n readonly closeIconName: string = this._config?.icons?.closeIcon ?? 'material:close';\n\n // Inputs.\n @Input() icon: string | null = null;\n @Input({transform: booleanAttribute}) closeRequestedDisabled: boolean = false;\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n @HostListener('window:keyup.escape')\n onKeyEvent() {\n if (this.closeRequestedDisabled || !this._registry.isActive(this._modal)) {\n return;\n }\n this.closeRequested.emit();\n }\n\n}\n","@if (icon; as iconSrc) {\n <bb-icon [src]=\"iconSrc\"></bb-icon>\n}\n\n<ng-content></ng-content>\n\n@if (closeRequested?.observed && !closeRequestedDisabled) {\n <button (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n <bb-icon [src]=\"closeIconName\"></bb-icon>\n </button>\n}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {BbFormGroup} from '@bravobit/bb-foundation/elements';\n\n@Component({\n selector: '[bb-dialog-actions]',\n templateUrl: './dialog-actions.component.html',\n styleUrls: ['./dialog-actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dialog-actions'},\n imports: [BbFormGroup]\n})\nexport class BbDialogActions {\n}\n","<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n","import {Directive, inject, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbDialogInsertion]'\n})\nexport class BbDialogInsertion {\n\n public readonly viewContainerRef: ViewContainerRef = inject(ViewContainerRef);\n\n}\n","import {ChangeDetectionStrategy, Component, ComponentRef, ElementRef, inject, OnDestroy, OnInit, Renderer2, Type, ViewChild, ViewEncapsulation, DOCUMENT} from '@angular/core';\nimport {firstValueFrom, fromEvent, Subject, Subscription, takeUntil, timer} from 'rxjs';\nimport {DIALOG_CONFIG, DialogConfig} from '../dialog.interfaces';\nimport {filter, switchMap, take} from 'rxjs/operators';\nimport {BbDialogInsertion} from '../dialog.insertion';\n\n@Component({\n selector: 'bb-dialog-container',\n templateUrl: './dialog-container.component.html',\n styleUrls: ['./dialog-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dialog-container'},\n imports: [BbDialogInsertion]\n})\nexport class BbDialogContainer implements OnInit, OnDestroy {\n\n // Dependencies.\n private readonly _config?: DialogConfig = inject(DIALOG_CONFIG, {optional: true});\n private readonly _renderer: Renderer2 = inject(Renderer2);\n private readonly _elementRef: ElementRef = inject(ElementRef);\n private readonly _document: Document = inject(DOCUMENT);\n\n // Views.\n @ViewChild(BbDialogInsertion, {static: true}) insertion: BbDialogInsertion;\n\n // Data.\n componentRef: ComponentRef<any> | null = null;\n childComponentType: Type<any> | null = null;\n\n // State.\n private _overlayClicked$ = new Subject<void>();\n onOverlayClicked = this._overlayClicked$.pipe(take(1));\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n ngOnInit() {\n this.handleOverlayClicks();\n this.loadChildComponent(this.childComponentType);\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n async close() {\n this._renderer.addClass(this._elementRef.nativeElement, 'leaving');\n const timer$ = timer(this._config?.animationMs ?? 240);\n return firstValueFrom(timer$);\n }\n\n private loadChildComponent(componentType: Type<any>) {\n const viewContainerRef = this.insertion.viewContainerRef;\n viewContainerRef.clear();\n this.componentRef = viewContainerRef.createComponent(componentType);\n }\n\n private handleOverlayClicks() {\n const element = this._elementRef.nativeElement ?? null;\n const elementMovePx = 20;\n const subscription = fromEvent<PointerEvent>(this._document, 'pointerdown').pipe(\n filter(event => event?.target === element),\n switchMap(pointerDownEvent => {\n const startX = pointerDownEvent.clientX;\n const startY = pointerDownEvent.clientY;\n\n return fromEvent<PointerEvent>(this._document, 'pointerup').pipe(\n filter(pointerUpEvent => pointerUpEvent?.target === element && this.getMoveDistance(pointerUpEvent, startX, startY) <= elementMovePx),\n takeUntil(\n fromEvent<PointerEvent>(this._document, 'pointermove').pipe(\n filter(pointerMoveEvent => this.getMoveDistance(pointerMoveEvent, startX, startY) > elementMovePx)\n )\n )\n );\n })\n ).subscribe(() => {\n this._overlayClicked$.next();\n });\n this._subscription.add(subscription);\n }\n\n private getMoveDistance(event: PointerEvent, initialX: number, initialY: number) {\n return Math.sqrt(\n Math.pow(event.clientX - initialX, 2) +\n Math.pow(event.clientY - initialY, 2)\n );\n }\n\n}\n","<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n","import {ChangeDetectionStrategy, Component, inject, TemplateRef, ViewEncapsulation} from '@angular/core';\nimport {BbFocusTrap, BbTemplate, BbFocus} from '@bravobit/bb-foundation/utils';\nimport {BbDialogHeader} from '../dialog-header/dialog-header.component';\nimport {BbDialogModal} from '../dialog-modal/dialog-modal.component';\nimport {BbLocalize} from '@bravobit/bb-foundation/localize';\nimport {BbButton} from '@bravobit/bb-foundation/elements';\nimport {BbDialogConfig} from '../dialog.interfaces';\nimport {AsyncPipe, NgClass} from '@angular/common';\nimport {BbDialogRef} from '../dialog.ref';\nimport {BehaviorSubject} from 'rxjs';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'bb-dialog-confirm',\n templateUrl: './dialog-confirm.component.html',\n styleUrls: ['./dialog-confirm.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dialog-confirm'},\n imports: [BbDialogModal, BbDialogHeader, BbFocusTrap, BbLocalize, BbTemplate, NgClass, BbButton, BbFocus, AsyncPipe]\n})\nexport class BbDialogConfirm {\n\n // Dependencies.\n private readonly _config: BbDialogConfig = inject(BbDialogConfig);\n private readonly _dialogRef: BbDialogRef<boolean> = inject(BbDialogRef);\n\n // Readonly data.\n readonly dialogId: string = `bb-dialog-confirm-${nextUniqueId++}`;\n readonly title: string | TemplateRef<any> = this._config?.data?.title ?? null;\n readonly description: string | TemplateRef<any> = this._config?.data?.description ?? null;\n readonly confirmButtonText: string = this._config?.data?.confirmButtonText ?? 'dialog.default_confirm_button';\n readonly cancelButtonText: string = this._config?.data?.cancelButtonText ?? 'dialog.default_cancel_button';\n readonly confirmButtonClass: string = this._config?.data?.confirmButtonClass ?? null;\n readonly cancelButtonClass: string = this._config?.data?.cancelButtonClass ?? null;\n readonly onConfirmed: () => Promise<any> = this._config?.data?.onConfirmed ?? null;\n readonly icon: string = this._config?.data?.icon ?? 'material:notifications_active';\n readonly width: string = this._config?.data?.width ?? '30rem';\n\n // State.\n loading$ = new BehaviorSubject(false);\n\n async onClose(result: boolean) {\n if (!result || (this.onConfirmed === null || this.onConfirmed === undefined)) {\n return this._dialogRef.close(result);\n }\n\n return this.onConfirmedClose();\n }\n\n async onConfirmedClose() {\n try {\n this.loading$.next(true);\n await this.onConfirmed();\n } catch {\n // Do nothing.\n } finally {\n this.loading$.next(false);\n this._dialogRef.close(true);\n }\n }\n}\n","<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header [icon]=\"icon\"\n bb-dialog-header>\n @if (title; as titleContent) {\n <strong [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </strong>\n }\n </header>\n\n @if (description; as descriptionContent) {\n <p class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n }\n\n <footer class=\"bb-dialog-confirm-footer\">\n @if (cancelButtonText; as cancelButtonTextLabel) {\n <button [ngClass]=\"cancelButtonClass ? cancelButtonClass : 'secondary full'\"\n [disabled]=\"loading$ | async\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n @if (confirmButtonText; as confirmButtonTextLabel) {\n <button [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive full'\"\n [loading]=\"loading$ | async\"\n (click)=\"onClose(true)\"\n bb-button\n bbFocus\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n </footer>\n</div>\n","import {ApplicationRef, ComponentRef, createComponent, createEnvironmentInjector, EnvironmentInjector, inject, Injectable, TemplateRef, Type} from '@angular/core';\nimport {BbDialogConfig, DIALOG_CONFIG, DialogConfig, DialogConfirmOptions} from './dialog.interfaces';\nimport {BbDialogContainer} from './dialog-container/dialog-container.component';\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\nimport {BbDialogRef} from './dialog.ref';\nimport {firstValueFrom} from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Dialog {\n\n // Dependencies.\n private readonly _config?: DialogConfig = inject(DIALOG_CONFIG, {optional: true});\n private readonly _applicationRef: ApplicationRef = inject(ApplicationRef);\n private readonly _environmentInjector: EnvironmentInjector = inject(EnvironmentInjector);\n\n open<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n return this.createDialog<T>(componentType, config);\n }\n\n async confirm(title: string | TemplateRef<any>, description: string | TemplateRef<any>, options?: Partial<DialogConfirmOptions>) {\n const icon = options?.confirmIconName ?? this._config?.icons?.confirmIcon ?? null;\n const dialogRef = this.open<boolean>(BbDialogConfirm, {\n data: {title, description, ...(options ?? {}), icon}\n });\n return await firstValueFrom(dialogRef.afterClosed);\n }\n\n private createDialog<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n // Create a reference.\n const dialogRef = new BbDialogRef<T>();\n const environmentInjector = createEnvironmentInjector([\n {provide: BbDialogConfig, useValue: config ?? {}},\n {provide: BbDialogRef, useValue: dialogRef}\n ], this._environmentInjector);\n const dialogComponentRef = createComponent(BbDialogContainer, {environmentInjector});\n\n // Attach the host view to the application.\n this._applicationRef.attachView(dialogComponentRef.hostView);\n\n try {\n // Remove the current focus.\n const activeElement = document.activeElement as HTMLElement;\n activeElement.blur();\n\n // Append the element to the DOM.\n document.body.appendChild(dialogComponentRef.location.nativeElement);\n } catch {\n // Don't do anything, because it must've failed.\n }\n\n // Set the child component type on the component.\n dialogComponentRef.instance.childComponentType = componentType;\n dialogComponentRef.instance.onOverlayClicked.subscribe(() => dialogRef.onOverlayClicked());\n\n // Listen for close events.\n dialogRef.afterClosed.subscribe(async () => {\n await dialogComponentRef?.instance?.close();\n return this.deleteDialog(dialogComponentRef);\n });\n\n // Return the reference.\n return dialogRef;\n }\n\n private deleteDialog(dialogComponentRef: ComponentRef<BbDialogContainer>) {\n // Only continue if the dialog component ref exists.\n if (!dialogComponentRef) {\n return;\n }\n\n // Detach the dialog.\n this._applicationRef.detachView(dialogComponentRef.hostView);\n\n // Destroy the dialog.\n dialogComponentRef.destroy();\n dialogComponentRef = null;\n }\n\n}\n","import {Directive, EventEmitter, HostListener, inject, Input, Output, TemplateRef} from '@angular/core';\nimport {Dialog} from '../dialog.service';\n\n@Directive({\n selector: '[bbConfirm]'\n})\nexport class BbConfirm {\n\n // Dependencies.\n private _dialog = inject(Dialog);\n\n // Inputs.\n @Input() bbConfirmTitle: string | TemplateRef<any> = 'dialog.default_title';\n @Input() bbConfirmDescription: string | TemplateRef<any> = 'dialog.default_description';\n @Input() bbConfirmIconName: string | null = null;\n @Input() bbConfirmButtonText: string | null = null;\n @Input() bbConfirmWidth: string | null = null;\n @Input() bbCancelButtonText: string | null = null;\n\n // Outputs.\n @Output('bbConfirm') confirm = new EventEmitter<MouseEvent>();\n\n @HostListener('click', ['$event'])\n async onClick(event: MouseEvent) {\n const confirmed = await this._dialog.confirm(this.bbConfirmTitle, this.bbConfirmDescription, {\n confirmButtonText: this.bbConfirmButtonText,\n cancelButtonText: this.bbCancelButtonText,\n confirmIconName: this.bbConfirmIconName,\n width: this.bbConfirmWidth\n });\n if (!confirmed) {\n return;\n }\n\n this.confirm.emit(event);\n }\n\n}\n","import {EnvironmentProviders, makeEnvironmentProviders} from '@angular/core';\nimport {DIALOG_CONFIG, DialogConfig} from './dialog.interfaces';\n\nexport function provideDialogConfig(config?: DialogConfig): EnvironmentProviders {\n return makeEnvironmentProviders([\n {provide: DIALOG_CONFIG, useValue: config ?? {}}\n ]);\n}\n","import {BbDialogContainer} from './dialog-container/dialog-container.component';\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\nimport {BbDialogActions} from './dialog-actions/dialog-actions.component';\nimport {BbDialogOverlay} from './dialog-overlay/dialog-overlay.component';\nimport {BbDialogHeader} from './dialog-header/dialog-header.component';\nimport {BbDialogModal} from './dialog-modal/dialog-modal.component';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbConfirm} from './directives/confirm.directive';\nimport {BbDialogInsertion} from './dialog.insertion';\nimport {provideDialogConfig} from './dialog.config';\nimport {DialogConfig} from './dialog.interfaces';\n\n@NgModule({\n imports: [\n BbDialogContainer,\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogActions,\n BbDialogConfirm,\n BbDialogInsertion,\n BbConfirm\n ],\n exports: [\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogActions,\n BbConfirm\n ]\n})\nexport class DialogModule {\n\n static forRoot(config?: DialogConfig): ModuleWithProviders<DialogModule> {\n return {\n ngModule: DialogModule,\n providers: [\n provideDialogConfig(config)\n ]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["nextUniqueId"],"mappings":"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"}
1
+ {"version":3,"file":"bravobit-bb-foundation-dialog.mjs","sources":["../../../projects/bb-foundation/dialog/src/lib/dialog.ref.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.interfaces.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-overlay/dialog-overlay.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-overlay/dialog-overlay.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-registry.service.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-modal/dialog-modal.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-modal/dialog-modal.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-header/dialog-header.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-header/dialog-header.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-actions/dialog-actions.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-actions/dialog-actions.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog.insertion.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-container/dialog-container.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-container/dialog-container.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-confirm/dialog-confirm.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-confirm/dialog-confirm.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog.service.ts","../../../projects/bb-foundation/dialog/src/lib/directives/confirm.directive.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.config.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.module.ts","../../../projects/bb-foundation/dialog/src/bravobit-bb-foundation-dialog.ts"],"sourcesContent":["import {take} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\n\nexport class BbDialogRef<T = any> {\n\n // Data.\n private readonly _afterClosed$ = new Subject<T>();\n private readonly _overlayClicked$ = new Subject<void>();\n\n readonly afterClosed = this._afterClosed$.pipe(take(1));\n readonly overlayClicked = this._overlayClicked$.pipe(take(1));\n\n onOverlayClicked() {\n this._overlayClicked$.next();\n }\n\n close(result?: T) {\n this._afterClosed$.next(result);\n }\n\n}\n","import {InjectionToken, Injector} from '@angular/core';\n\nexport class BbDialogConfig<T = any> {\n data?: T;\n injector?: Injector;\n}\n\nexport interface DialogConfirmOptions {\n cancelButtonClass: string;\n cancelButtonText: string;\n confirmButtonText: string;\n confirmButtonClass: string;\n confirmIconName: string;\n width: string;\n onConfirmed: () => Promise<any>;\n}\n\nexport class DialogConfig {\n animationMs?: number;\n icons?: {\n closeIcon?: string;\n confirmIcon?: string;\n };\n}\n\nexport const DIALOG_CONFIG: InjectionToken<DialogConfig> = new InjectionToken('dialog config');\n","import {booleanAttribute, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Input, OnDestroy, OnInit, Output, Renderer2, ViewEncapsulation, DOCUMENT} from '@angular/core';\nimport {firstValueFrom, fromEvent, Subscription, takeUntil, timer} from 'rxjs';\nimport {DIALOG_CONFIG, DialogConfig} from '../dialog.interfaces';\nimport {filter, switchMap} from 'rxjs/operators';\n\n@Component({\n selector: 'bb-dialog-overlay',\n templateUrl: './dialog-overlay.component.html',\n styleUrls: ['./dialog-overlay.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dialog-overlay'}\n})\nexport class BbDialogOverlay implements OnInit, OnDestroy {\n\n // Dependencies.\n private readonly _config?: DialogConfig = inject(DIALOG_CONFIG, {optional: true});\n private readonly _renderer: Renderer2 = inject(Renderer2);\n private readonly _elementRef: ElementRef = inject(ElementRef);\n private readonly _document: Document = inject(DOCUMENT);\n\n // Inputs.\n @Input({transform: booleanAttribute}) closeRequestedDisabled: boolean = false;\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n ngOnInit() {\n this.handleOverlayClicks();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n async close() {\n this._renderer.addClass(this._elementRef.nativeElement, 'leaving');\n const timer$ = timer(this._config?.animationMs ?? 240);\n return firstValueFrom(timer$);\n }\n\n private handleOverlayClicks() {\n const element = this._elementRef.nativeElement ?? null;\n const elementMovePx = 20;\n const subscription = fromEvent<PointerEvent>(this._document, 'pointerdown').pipe(\n filter(event => event?.target === element),\n switchMap(pointerDownEvent => {\n const startX = pointerDownEvent.clientX;\n const startY = pointerDownEvent.clientY;\n\n return fromEvent<PointerEvent>(this._document, 'pointerup').pipe(\n filter(pointerUpEvent => pointerUpEvent?.target === element && this.getMoveDistance(pointerUpEvent, startX, startY) <= elementMovePx),\n takeUntil(\n fromEvent<PointerEvent>(this._document, 'pointermove').pipe(\n filter(pointerMoveEvent => this.getMoveDistance(pointerMoveEvent, startX, startY) > elementMovePx)\n )\n )\n );\n })\n ).subscribe(() => {\n if (this.closeRequestedDisabled) {\n return;\n }\n this.closeRequested.emit();\n });\n this._subscription.add(subscription);\n }\n\n private getMoveDistance(event: PointerEvent, initialX: number, initialY: number) {\n return Math.sqrt(\n Math.pow(event.clientX - initialX, 2) +\n Math.pow(event.clientY - initialY, 2)\n );\n }\n\n}\n","<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n","import {BbDialogModal} from './dialog-modal/dialog-modal.component';\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogRegistry {\n\n private _items: string[] = [];\n\n add(id: string) {\n this._items.push(id);\n }\n\n remove(id: string) {\n this._items = this._items.filter(item => item !== id);\n }\n\n isActive(modal: BbDialogModal) {\n return this._items?.[this._items?.length - 1] === modal?.id;\n }\n\n}\n","import {booleanAttribute, ChangeDetectionStrategy, Component, inject, OnInit, Renderer2, ViewEncapsulation, DOCUMENT, input} from '@angular/core';\nimport {DialogRegistry} from '../dialog-registry.service';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: '[bb-dialog-modal]',\n templateUrl: './dialog-modal.component.html',\n styleUrls: ['./dialog-modal.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dialog-modal',\n '[class.without-body-padding]': 'withoutBodyPadding()',\n '[class.fullscreen]': 'appearance() === \\'fullscreen\\'',\n '[class.bottom-sheet]': 'appearance() === \\'bottom-sheet\\'',\n '[style.max-width]': 'appearance() === \\'modal\\' ? maxWidth() : null',\n 'role': 'dialog'\n }\n})\nexport class BbDialogModal implements OnInit {\n\n // Dependencies.\n private readonly _renderer: Renderer2 = inject(Renderer2);\n private readonly _registry: DialogRegistry = inject(DialogRegistry);\n private readonly _document?: Document = inject(DOCUMENT, {optional: true});\n\n // Readonly data.\n readonly id: string = `bb-dialog-${nextUniqueId++}`;\n\n // Inputs.\n readonly appearance = input<'modal' | 'fullscreen' | 'bottom-sheet'>('modal');\n readonly withoutBodyPadding = input(false, {transform: booleanAttribute});\n readonly maxWidth = input<string>('30rem');\n\n ngOnInit() {\n this._registry.add(this.id);\n this.allowGlobalOverflow(false);\n }\n\n ngOnDestroy() {\n this._registry.remove(this.id);\n this.allowGlobalOverflow(true);\n }\n\n private allowGlobalOverflow(allow: boolean) {\n const element = this._document?.body ?? null;\n if (!element) {\n return;\n }\n\n allow\n ? this._renderer.removeStyle(element, 'overflow')\n : this._renderer.setStyle(element, 'overflow', 'hidden');\n }\n\n}\n","<ng-content select=\"[bb-dialog-header]\"></ng-content>\n\n<div class=\"bb-dialog-modal-body\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"[bb-dialog-actions]\"></ng-content>\n","import {booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, HostListener, inject, Input, Output, ViewEncapsulation} from '@angular/core';\nimport {BbDialogModal} from '../dialog-modal/dialog-modal.component';\nimport {DIALOG_CONFIG, DialogConfig} from '../dialog.interfaces';\nimport {DialogRegistry} from '../dialog-registry.service';\nimport {BbIcon} from '@bravobit/bb-foundation/elements';\n\n@Component({\n selector: '[bb-dialog-header]',\n templateUrl: './dialog-header.component.html',\n styleUrls: ['./dialog-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dialog-header'},\n imports: [BbIcon]\n})\nexport class BbDialogHeader {\n\n // Dependencies.\n private readonly _config: DialogConfig = inject(DIALOG_CONFIG);\n private readonly _registry: DialogRegistry = inject(DialogRegistry);\n private readonly _modal?: BbDialogModal = inject(BbDialogModal, {optional: true});\n\n // Readonly data.\n readonly closeIconName: string = this._config?.icons?.closeIcon ?? 'material:close';\n\n // Inputs.\n @Input() icon: string | null = null;\n @Input({transform: booleanAttribute}) closeRequestedDisabled: boolean = false;\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n @HostListener('window:keyup.escape')\n onKeyEvent() {\n if (this.closeRequestedDisabled || !this._registry.isActive(this._modal)) {\n return;\n }\n this.closeRequested.emit();\n }\n\n}\n","@if (icon; as iconSrc) {\n <bb-icon [src]=\"iconSrc\"></bb-icon>\n}\n\n<ng-content></ng-content>\n\n@if (closeRequested?.observed && !closeRequestedDisabled) {\n <button (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n <bb-icon [src]=\"closeIconName\"></bb-icon>\n </button>\n}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {BbFormGroup} from '@bravobit/bb-foundation/elements';\n\n@Component({\n selector: '[bb-dialog-actions]',\n templateUrl: './dialog-actions.component.html',\n styleUrls: ['./dialog-actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dialog-actions'},\n imports: [BbFormGroup]\n})\nexport class BbDialogActions {\n}\n","<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n","import {Directive, inject, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbDialogInsertion]'\n})\nexport class BbDialogInsertion {\n\n public readonly viewContainerRef: ViewContainerRef = inject(ViewContainerRef);\n\n}\n","import {ChangeDetectionStrategy, Component, ComponentRef, ElementRef, inject, Injector, OnDestroy, OnInit, Renderer2, Type, ViewChild, ViewEncapsulation, DOCUMENT} from '@angular/core';\nimport {firstValueFrom, fromEvent, Subject, Subscription, takeUntil, timer} from 'rxjs';\nimport {DIALOG_CONFIG, DialogConfig} from '../dialog.interfaces';\nimport {filter, switchMap, take} from 'rxjs/operators';\nimport {BbDialogInsertion} from '../dialog.insertion';\n\n@Component({\n selector: 'bb-dialog-container',\n templateUrl: './dialog-container.component.html',\n styleUrls: ['./dialog-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dialog-container'},\n imports: [BbDialogInsertion]\n})\nexport class BbDialogContainer implements OnInit, OnDestroy {\n\n // Dependencies.\n private readonly _config?: DialogConfig = inject(DIALOG_CONFIG, {optional: true});\n private readonly _renderer: Renderer2 = inject(Renderer2);\n private readonly _elementRef: ElementRef = inject(ElementRef);\n private readonly _document: Document = inject(DOCUMENT);\n\n // Views.\n @ViewChild(BbDialogInsertion, {static: true}) insertion: BbDialogInsertion;\n\n // Data.\n componentRef: ComponentRef<any> | null = null;\n childComponentType: Type<any> | null = null;\n parentInjector: Injector | null = null;\n\n // State.\n private _overlayClicked$ = new Subject<void>();\n onOverlayClicked = this._overlayClicked$.pipe(take(1));\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n ngOnInit() {\n this.handleOverlayClicks();\n this.loadChildComponent(this.childComponentType);\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n async close() {\n this._renderer.addClass(this._elementRef.nativeElement, 'leaving');\n const timer$ = timer(this._config?.animationMs ?? 240);\n return firstValueFrom(timer$);\n }\n\n private loadChildComponent(componentType: Type<any>) {\n const viewContainerRef = this.insertion.viewContainerRef;\n viewContainerRef.clear();\n this.componentRef = viewContainerRef.createComponent(componentType, {\n injector: this.parentInjector ?? undefined\n });\n }\n\n private handleOverlayClicks() {\n const element = this._elementRef.nativeElement ?? null;\n const elementMovePx = 20;\n const subscription = fromEvent<PointerEvent>(this._document, 'pointerdown').pipe(\n filter(event => event?.target === element),\n switchMap(pointerDownEvent => {\n const startX = pointerDownEvent.clientX;\n const startY = pointerDownEvent.clientY;\n\n return fromEvent<PointerEvent>(this._document, 'pointerup').pipe(\n filter(pointerUpEvent => pointerUpEvent?.target === element && this.getMoveDistance(pointerUpEvent, startX, startY) <= elementMovePx),\n takeUntil(\n fromEvent<PointerEvent>(this._document, 'pointermove').pipe(\n filter(pointerMoveEvent => this.getMoveDistance(pointerMoveEvent, startX, startY) > elementMovePx)\n )\n )\n );\n })\n ).subscribe(() => {\n this._overlayClicked$.next();\n });\n this._subscription.add(subscription);\n }\n\n private getMoveDistance(event: PointerEvent, initialX: number, initialY: number) {\n return Math.sqrt(\n Math.pow(event.clientX - initialX, 2) +\n Math.pow(event.clientY - initialY, 2)\n );\n }\n\n}\n","<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n","import {ChangeDetectionStrategy, Component, inject, TemplateRef, ViewEncapsulation} from '@angular/core';\nimport {BbFocusTrap, BbTemplate, BbFocus} from '@bravobit/bb-foundation/utils';\nimport {BbDialogHeader} from '../dialog-header/dialog-header.component';\nimport {BbDialogModal} from '../dialog-modal/dialog-modal.component';\nimport {BbLocalize} from '@bravobit/bb-foundation/localize';\nimport {BbButton} from '@bravobit/bb-foundation/elements';\nimport {BbDialogConfig} from '../dialog.interfaces';\nimport {AsyncPipe, NgClass} from '@angular/common';\nimport {BbDialogRef} from '../dialog.ref';\nimport {BehaviorSubject} from 'rxjs';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'bb-dialog-confirm',\n templateUrl: './dialog-confirm.component.html',\n styleUrls: ['./dialog-confirm.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dialog-confirm'},\n imports: [BbDialogModal, BbDialogHeader, BbFocusTrap, BbLocalize, BbTemplate, NgClass, BbButton, BbFocus, AsyncPipe]\n})\nexport class BbDialogConfirm {\n\n // Dependencies.\n private readonly _config: BbDialogConfig = inject(BbDialogConfig);\n private readonly _dialogRef: BbDialogRef<boolean> = inject(BbDialogRef);\n\n // Readonly data.\n readonly dialogId: string = `bb-dialog-confirm-${nextUniqueId++}`;\n readonly title: string | TemplateRef<any> = this._config?.data?.title ?? null;\n readonly description: string | TemplateRef<any> = this._config?.data?.description ?? null;\n readonly confirmButtonText: string = this._config?.data?.confirmButtonText ?? 'dialog.default_confirm_button';\n readonly cancelButtonText: string = this._config?.data?.cancelButtonText ?? 'dialog.default_cancel_button';\n readonly confirmButtonClass: string = this._config?.data?.confirmButtonClass ?? null;\n readonly cancelButtonClass: string = this._config?.data?.cancelButtonClass ?? null;\n readonly onConfirmed: () => Promise<any> = this._config?.data?.onConfirmed ?? null;\n readonly icon: string = this._config?.data?.icon ?? 'material:notifications_active';\n readonly width: string = this._config?.data?.width ?? '30rem';\n\n // State.\n loading$ = new BehaviorSubject(false);\n\n async onClose(result: boolean) {\n if (!result || (this.onConfirmed === null || this.onConfirmed === undefined)) {\n return this._dialogRef.close(result);\n }\n\n return this.onConfirmedClose();\n }\n\n async onConfirmedClose() {\n try {\n this.loading$.next(true);\n await this.onConfirmed();\n } catch {\n // Do nothing.\n } finally {\n this.loading$.next(false);\n this._dialogRef.close(true);\n }\n }\n}\n","<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header [icon]=\"icon\"\n bb-dialog-header>\n @if (title; as titleContent) {\n <strong [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </strong>\n }\n </header>\n\n @if (description; as descriptionContent) {\n <p class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n }\n\n <footer class=\"bb-dialog-confirm-footer\">\n @if (cancelButtonText; as cancelButtonTextLabel) {\n <button [ngClass]=\"cancelButtonClass ? cancelButtonClass : 'secondary full'\"\n [disabled]=\"loading$ | async\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n @if (confirmButtonText; as confirmButtonTextLabel) {\n <button [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive full'\"\n [loading]=\"loading$ | async\"\n (click)=\"onClose(true)\"\n bb-button\n bbFocus\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n </footer>\n</div>\n","import {ApplicationRef, ComponentRef, createComponent, createEnvironmentInjector, EnvironmentInjector, inject, Injectable, TemplateRef, Type} from '@angular/core';\nimport {BbDialogConfig, DIALOG_CONFIG, DialogConfig, DialogConfirmOptions} from './dialog.interfaces';\nimport {BbDialogContainer} from './dialog-container/dialog-container.component';\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\nimport {BbDialogRef} from './dialog.ref';\nimport {firstValueFrom} from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Dialog {\n\n // Dependencies.\n private readonly _config?: DialogConfig = inject(DIALOG_CONFIG, {optional: true});\n private readonly _applicationRef: ApplicationRef = inject(ApplicationRef);\n private readonly _environmentInjector: EnvironmentInjector = inject(EnvironmentInjector);\n\n open<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n return this.createDialog<T>(componentType, config);\n }\n\n async confirm(title: string | TemplateRef<any>, description: string | TemplateRef<any>, options?: Partial<DialogConfirmOptions>) {\n const icon = options?.confirmIconName ?? this._config?.icons?.confirmIcon ?? null;\n const dialogRef = this.open<boolean>(BbDialogConfirm, {\n data: {title, description, ...(options ?? {}), icon}\n });\n return await firstValueFrom(dialogRef.afterClosed);\n }\n\n private createDialog<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n // Create a reference.\n const dialogRef = new BbDialogRef<T>();\n const environmentInjector = createEnvironmentInjector([\n {provide: BbDialogConfig, useValue: config ?? {}},\n {provide: BbDialogRef, useValue: dialogRef}\n ], this._environmentInjector);\n const dialogComponentRef = createComponent(BbDialogContainer, {environmentInjector});\n\n // Attach the host view to the application.\n this._applicationRef.attachView(dialogComponentRef.hostView);\n\n try {\n // Remove the current focus.\n const activeElement = document.activeElement as HTMLElement;\n activeElement.blur();\n\n // Append the element to the DOM.\n document.body.appendChild(dialogComponentRef.location.nativeElement);\n } catch {\n // Don't do anything, because it must've failed.\n }\n\n // Set the child component type on the component.\n dialogComponentRef.instance.childComponentType = componentType;\n dialogComponentRef.instance.parentInjector = config?.injector ?? null;\n dialogComponentRef.instance.onOverlayClicked.subscribe(() => dialogRef.onOverlayClicked());\n\n // Listen for close events.\n dialogRef.afterClosed.subscribe(async () => {\n await dialogComponentRef?.instance?.close();\n return this.deleteDialog(dialogComponentRef);\n });\n\n // Return the reference.\n return dialogRef;\n }\n\n private deleteDialog(dialogComponentRef: ComponentRef<BbDialogContainer>) {\n // Only continue if the dialog component ref exists.\n if (!dialogComponentRef) {\n return;\n }\n\n // Detach the dialog.\n this._applicationRef.detachView(dialogComponentRef.hostView);\n\n // Destroy the dialog.\n dialogComponentRef.destroy();\n dialogComponentRef = null;\n }\n\n}\n","import {Directive, EventEmitter, HostListener, inject, Input, Output, TemplateRef} from '@angular/core';\nimport {Dialog} from '../dialog.service';\n\n@Directive({\n selector: '[bbConfirm]'\n})\nexport class BbConfirm {\n\n // Dependencies.\n private _dialog = inject(Dialog);\n\n // Inputs.\n @Input() bbConfirmTitle: string | TemplateRef<any> = 'dialog.default_title';\n @Input() bbConfirmDescription: string | TemplateRef<any> = 'dialog.default_description';\n @Input() bbConfirmIconName: string | null = null;\n @Input() bbConfirmButtonText: string | null = null;\n @Input() bbConfirmWidth: string | null = null;\n @Input() bbCancelButtonText: string | null = null;\n\n // Outputs.\n @Output('bbConfirm') confirm = new EventEmitter<MouseEvent>();\n\n @HostListener('click', ['$event'])\n async onClick(event: MouseEvent) {\n const confirmed = await this._dialog.confirm(this.bbConfirmTitle, this.bbConfirmDescription, {\n confirmButtonText: this.bbConfirmButtonText,\n cancelButtonText: this.bbCancelButtonText,\n confirmIconName: this.bbConfirmIconName,\n width: this.bbConfirmWidth\n });\n if (!confirmed) {\n return;\n }\n\n this.confirm.emit(event);\n }\n\n}\n","import {EnvironmentProviders, makeEnvironmentProviders} from '@angular/core';\nimport {DIALOG_CONFIG, DialogConfig} from './dialog.interfaces';\n\nexport function provideDialogConfig(config?: DialogConfig): EnvironmentProviders {\n return makeEnvironmentProviders([\n {provide: DIALOG_CONFIG, useValue: config ?? {}}\n ]);\n}\n","import {BbDialogContainer} from './dialog-container/dialog-container.component';\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\nimport {BbDialogActions} from './dialog-actions/dialog-actions.component';\nimport {BbDialogOverlay} from './dialog-overlay/dialog-overlay.component';\nimport {BbDialogHeader} from './dialog-header/dialog-header.component';\nimport {BbDialogModal} from './dialog-modal/dialog-modal.component';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbConfirm} from './directives/confirm.directive';\nimport {BbDialogInsertion} from './dialog.insertion';\nimport {provideDialogConfig} from './dialog.config';\nimport {DialogConfig} from './dialog.interfaces';\n\n@NgModule({\n imports: [\n BbDialogContainer,\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogActions,\n BbDialogConfirm,\n BbDialogInsertion,\n BbConfirm\n ],\n exports: [\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogActions,\n BbConfirm\n ]\n})\nexport class DialogModule {\n\n static forRoot(config?: DialogConfig): ModuleWithProviders<DialogModule> {\n return {\n ngModule: DialogModule,\n providers: [\n provideDialogConfig(config)\n ]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["nextUniqueId"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bravobit/bb-foundation",
3
- "version": "0.60.0",
3
+ "version": "0.60.1",
4
4
  "description": "The Angular core foundation of the Bravobit team.",
5
5
  "author": {
6
6
  "name": "Stan van Heumen",
@@ -1,7 +1,7 @@
1
1
  import * as rxjs from 'rxjs';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, OnInit, OnDestroy, EventEmitter, TemplateRef, Type, EnvironmentProviders, ViewContainerRef, ComponentRef, ModuleWithProviders } from '@angular/core';
4
+ import { Injector, InjectionToken, OnInit, OnDestroy, EventEmitter, TemplateRef, Type, EnvironmentProviders, ViewContainerRef, ComponentRef, ModuleWithProviders } from '@angular/core';
5
5
 
6
6
  declare class BbDialogRef<T = any> {
7
7
  private readonly _afterClosed$;
@@ -14,6 +14,7 @@ declare class BbDialogRef<T = any> {
14
14
 
15
15
  declare class BbDialogConfig<T = any> {
16
16
  data?: T;
17
+ injector?: Injector;
17
18
  }
18
19
  interface DialogConfirmOptions {
19
20
  cancelButtonClass: string;
@@ -127,6 +128,7 @@ declare class BbDialogContainer implements OnInit, OnDestroy {
127
128
  insertion: BbDialogInsertion;
128
129
  componentRef: ComponentRef<any> | null;
129
130
  childComponentType: Type<any> | null;
131
+ parentInjector: Injector | null;
130
132
  private _overlayClicked$;
131
133
  onOverlayClicked: rxjs.Observable<void>;
132
134
  private _subscription;