@bravobit/bb-foundation 0.22.1 → 0.22.2
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/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +3 -3
- package/fesm2015/bravobit-bb-foundation-dialog.mjs +2 -2
- package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-dialog.mjs +2 -2
- package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -21,13 +21,13 @@ export class BbDialogModal {
|
|
|
21
21
|
this.allowGlobalOverflow(true);
|
|
22
22
|
}
|
|
23
23
|
allowGlobalOverflow(allow) {
|
|
24
|
-
const element = this._document?.
|
|
24
|
+
const element = this._document?.body ?? null;
|
|
25
25
|
if (!element) {
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
28
|
allow
|
|
29
29
|
? this._renderer.removeStyle(element, 'overflow')
|
|
30
|
-
: this._renderer.setStyle(element, 'overflow', '
|
|
30
|
+
: this._renderer.setStyle(element, 'overflow', 'hidden');
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
BbDialogModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }, { token: i0.Renderer2 }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
|
|
|
64
64
|
type: HostListener,
|
|
65
65
|
args: ['mousedown', ['$event']]
|
|
66
66
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZGlhbG9nL3NyYy9saWIvZGlhbG9nLW1vZGFsL2RpYWxvZy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1tb2RhbC9kaWFsb2ctbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFhLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTNKLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBY3pDLE1BQU0sT0FBTyxhQUFhO0lBY3RCLFlBQW9CLE1BQWEsRUFDYixTQUFvQixFQUNVLFNBQW9CO1FBRmxELFdBQU0sR0FBTixNQUFNLENBQU87UUFDYixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ1UsY0FBUyxHQUFULFNBQVMsQ0FBVztRQWR0RSxXQUFXO1FBQzhCLGFBQVEsR0FBa0IsT0FBTyxDQUFDO0lBYzNFLENBQUM7SUFQRCxxQkFBcUIsQ0FBQyxLQUFpQjtRQUNuQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQU9ELFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTztTQUNWO1FBRUQsS0FBSztZQUNELENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO1lBQ2pELENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7OzBHQXJDUSxhQUFhLGdFQWdCVSxRQUFROzhGQWhCL0IsYUFBYSw2Y0NoQjFCLDhNQVdBOzJGREthLGFBQWE7a0JBWnpCLFNBQVM7K0JBQ0ksbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUssUUFDcEI7d0JBQ0YsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsTUFBTSxFQUFFLFFBQVE7cUJBQ25CO3NHQWtCNkQsUUFBUTswQkFBekQsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFROzRDQWJDLFFBQVE7c0JBQWhELFdBQVc7dUJBQUMsaUJBQWlCOztzQkFBRyxLQUFLO2dCQU90QyxxQkFBcUI7c0JBTHBCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDaEMsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNyQyxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ25DLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDbEMsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQYXRjaH0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24nO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbYmItZGlhbG9nLW1vZGFsXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1kaWFsb2ctbW9kYWwnLFxuICAgICAgICAncm9sZSc6ICdkaWFsb2cnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYkRpYWxvZ01vZGFsIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIC8vIFN0eWxpbmcuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKSBASW5wdXQoKSBtYXhXaWR0aDogc3RyaW5nIHwgbnVsbCA9ICc0MjBweCc7XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigndG91Y2hlbmQnLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25PdmVybGF5Q2xpY2tlZEV2ZW50KGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BhdGNoOiBQYXRjaCxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50PzogRG9jdW1lbnQpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fcGF0Y2gubW9iaWxlVmVydGljYWxIZWlnaHQoKTtcbiAgICAgICAgdGhpcy5hbGxvd0dsb2JhbE92ZXJmbG93KGZhbHNlKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5hbGxvd0dsb2JhbE92ZXJmbG93KHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWxsb3dHbG9iYWxPdmVyZmxvdyhhbGxvdzogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZG9jdW1lbnQ/LmJvZHkgPz8gbnVsbDtcbiAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBhbGxvd1xuICAgICAgICAgICAgPyB0aGlzLl9yZW5kZXJlci5yZW1vdmVTdHlsZShlbGVtZW50LCAnb3ZlcmZsb3cnKVxuICAgICAgICAgICAgOiB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XG4gICAgfVxuXG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJbYmItZGlhbG9nLWhlYWRlcl1cIj5cblxuPC9uZy1jb250ZW50PlxuXG48ZGl2IGNsYXNzPVwiYmItZGlhbG9nLW1vZGFsLWJvZHlcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JiLWRpYWxvZy1hY3Rpb25zXVwiPlxuXG48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -155,13 +155,13 @@ class BbDialogModal {
|
|
|
155
155
|
}
|
|
156
156
|
allowGlobalOverflow(allow) {
|
|
157
157
|
var _a, _b;
|
|
158
|
-
const element = (_b = (_a = this._document) === null || _a === void 0 ? void 0 : _a.
|
|
158
|
+
const element = (_b = (_a = this._document) === null || _a === void 0 ? void 0 : _a.body) !== null && _b !== void 0 ? _b : null;
|
|
159
159
|
if (!element) {
|
|
160
160
|
return;
|
|
161
161
|
}
|
|
162
162
|
allow
|
|
163
163
|
? this._renderer.removeStyle(element, 'overflow')
|
|
164
|
-
: this._renderer.setStyle(element, 'overflow', '
|
|
164
|
+
: this._renderer.setStyle(element, 'overflow', 'hidden');
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
BbDialogModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }, { token: i0.Renderer2 }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -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.animations.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-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-link/dialog-link.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-link/dialog-link.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-container/dialog-container.animations.ts","../../../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.injector.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.service.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 get afterClosed() {\n return this._afterClosed$.pipe(\n take(1)\n );\n }\n\n get overlayClicked() {\n return this._overlayClicked$.pipe(\n take(1)\n );\n }\n\n onOverlayClicked() {\n this._overlayClicked$.next();\n }\n\n close(result?: T) {\n this._afterClosed$.next(result);\n }\n\n}\n","export class BbDialogConfig<T = any> {\n data?: T;\n}\n","import {animate, group, query, style, transition, trigger} from '@angular/animations';\n\nexport const bbDialogOverlayAnimation = trigger('bbDialogOverlayAnimation', [\n transition(':enter, * => open', [\n group([\n query('.bb-dialog-overlay-backdrop', [\n style({opacity: 0}),\n animate('240ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1}))\n ]),\n query('.bb-dialog-modal', [\n style({opacity: 0, transform: 'scale(0.98)'}),\n animate('200ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1, transform: 'none'}))\n ])\n ])\n ]),\n transition(':leave, * => close', [\n group([\n query('.bb-dialog-modal', [\n animate('200ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0, transform: 'scale(0.98)'}))\n ]),\n query('.bb-dialog-overlay-backdrop', [\n animate('240ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0}))\n ])\n ])\n ])\n]);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {fromEvent, lastValueFrom, race, Subject, Subscription} from 'rxjs';\nimport {bbDialogOverlayAnimation} from './dialog-overlay.animations';\nimport {AnimationEvent} from '@angular/animations';\nimport {switchMap, take} 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 preserveWhitespaces: false,\n host: {\n 'class': 'bb-dialog-overlay',\n '[@bbDialogOverlayAnimation]': 'state'\n },\n animations: [bbDialogOverlayAnimation]\n})\nexport class BbDialogOverlay implements OnInit, OnDestroy {\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n // State.\n state: 'open' | 'close' = 'open';\n private _closed$ = new Subject<void>();\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n constructor(private _elementRef: ElementRef,\n private _changeDetection: ChangeDetectorRef) {\n }\n\n ngOnInit() {\n this.listenForClicks();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n @HostListener('window:keyup', ['$event'])\n onKeyEvent(event: KeyboardEvent) {\n if (event?.key === 'Escape') {\n this.closeRequested.emit();\n }\n }\n\n @HostListener('@bbDialogOverlayAnimation.done', ['$event'])\n onAnimationDone(event: AnimationEvent) {\n // Check if the dialog is being destroyed.\n if (!['close'].includes(event?.toState)) {\n return;\n }\n\n this._closed$.next();\n this._closed$.complete();\n }\n\n close() {\n // We need change detection to run\n // here else it won't close in all scenario's.\n this.state = 'close';\n this._changeDetection.markForCheck();\n\n // Listen for the closed trigger.\n const observable$ = this._closed$.pipe(take(1));\n return lastValueFrom(observable$);\n }\n\n private listenForClicks() {\n const element = this._elementRef?.nativeElement ?? null;\n if (!element) {\n return;\n }\n\n const mouseDown$ = fromEvent(element, 'mousedown');\n const touchStart$ = fromEvent(element, 'touchstart');\n const start$ = race([mouseDown$, touchStart$]);\n\n const mouseUp$ = fromEvent(element, 'mouseup');\n const touchEnd$ = fromEvent(element, 'touchend');\n const end$ = race([mouseUp$, touchEnd$]);\n\n const clicks$ = start$.pipe(switchMap(() => end$));\n const subscription = clicks$.subscribe(() => this.closeRequested.next());\n this._subscription.add(subscription);\n }\n\n}\n","<div class=\"bb-dialog-overlay-backdrop\"></div>\n\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnInit,\n Optional,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport {Patch} from '@bravobit/bb-foundation';\nimport {DOCUMENT} from '@angular/common';\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 preserveWhitespaces: false,\n host: {\n 'class': 'bb-dialog-modal',\n 'role': 'dialog'\n }\n})\nexport class BbDialogModal implements OnInit {\n\n // Styling.\n @HostBinding('style.max-width') @Input() maxWidth: string | null = '420px';\n\n @HostListener('click', ['$event'])\n @HostListener('touchstart', ['$event'])\n @HostListener('touchend', ['$event'])\n @HostListener('mouseup', ['$event'])\n @HostListener('mousedown', ['$event'])\n onOverlayClickedEvent(event: MouseEvent) {\n event.stopPropagation();\n }\n\n constructor(private _patch: Patch,\n private _renderer: Renderer2,\n @Optional() @Inject(DOCUMENT) private _document?: Document) {\n }\n\n ngOnInit() {\n this._patch.mobileVerticalHeight();\n this.allowGlobalOverflow(false);\n }\n\n ngOnDestroy() {\n this.allowGlobalOverflow(true);\n }\n\n private allowGlobalOverflow(allow: boolean) {\n const element = this._document?.documentElement ?? null;\n if (!element) {\n return;\n }\n\n allow\n ? this._renderer.removeStyle(element, 'overflow')\n : this._renderer.setStyle(element, 'overflow', 'clip');\n }\n\n}\n","<ng-content select=\"[bb-dialog-header]\">\n\n</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]\">\n\n</ng-content>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation} from '@angular/core';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-header'}\n})\nexport class BbDialogHeader {\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n}\n","<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observed\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: '[bb-dialog-link]',\n templateUrl: './dialog-link.component.html',\n styleUrls: ['./dialog-link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {'class': 'bb-dialog-link'}\n})\nexport class BbDialogLink {\n}\n","<ng-content></ng-content>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-actions'}\n})\nexport class BbDialogActions {\n}\n","<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n","import {animate, group, query, style, transition, trigger} from '@angular/animations';\n\nexport const bbDialogContainerAnimation = trigger('bbDialogContainerAnimation', [\n transition(':enter', [\n group([\n query('.bb-dialog-container-backdrop', [\n style({opacity: 0}),\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1}))\n ]),\n query('.bb-dialog-container-component', [\n style({opacity: 0, transform: 'scale(0.96)'}),\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1, transform: 'none'}))\n ])\n ])\n ]),\n transition(':leave', [\n group([\n query('.bb-dialog-container-backdrop', [\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0}))\n ]),\n query('.bb-dialog-container-component', [\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 0,\n transform: 'scale(0.96)'\n }))\n ])\n ])\n ])\n]);\n","import {Directive, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbDialogInsertion]'\n})\nexport class BbDialogInsertion {\n\n constructor(public viewContainerRef: ViewContainerRef) {\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n HostListener,\n OnDestroy,\n OnInit,\n Type,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {bbDialogContainerAnimation} from './dialog-container.animations';\nimport {fromEvent, race, Subject, Subscription} from 'rxjs';\nimport {BbDialogInsertion} from '../dialog.insertion';\nimport {AnimationEvent} from '@angular/animations';\nimport {switchMap, take} from 'rxjs/operators';\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: {\n 'class': 'bb-dialog-container',\n '[@bbDialogContainerAnimation]': 'true'\n },\n preserveWhitespaces: false,\n animations: [bbDialogContainerAnimation]\n})\nexport class BbDialogContainer implements OnInit, OnDestroy {\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 overlayClicked$ = new Subject<void>();\n\n // Subscription.\n private _subscription = new Subscription();\n\n get onOverlayClicked() {\n return this.overlayClicked$.pipe(\n take(1)\n );\n }\n\n constructor(private _elementRef: ElementRef) {\n }\n\n ngOnInit() {\n // Load the child component.\n this.loadChildComponent(this.childComponentType);\n\n // Listen for mouse click on the dialog container.\n this.listenForClicks();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n @HostListener('@bbDialogContainerAnimation.done', ['$event'])\n onAnimationDone(event: AnimationEvent) {\n // Check if the dialog is being destroyed.\n if (event.toState !== 'void') {\n return;\n }\n\n // Destroy the ref if it exists.\n this.componentRef?.destroy();\n }\n\n private listenForClicks() {\n const element = this._elementRef?.nativeElement ?? null;\n if (!element) {\n return;\n }\n\n const mouseDown$ = fromEvent(element, 'mousedown');\n const touchStart$ = fromEvent(element, 'touchstart');\n const start$ = race([mouseDown$, touchStart$]);\n\n const mouseUp$ = fromEvent(element, 'mouseup');\n const touchEnd$ = fromEvent(element, 'touchend');\n const end$ = race([mouseUp$, touchEnd$]);\n\n const clicks$ = start$.pipe(switchMap(() => end$));\n const subscription = clicks$.subscribe(() => this.overlayClicked$.next());\n this._subscription.add(subscription);\n }\n\n private loadChildComponent(componentType: Type<any>) {\n // Get the view container ref and clear it.\n const viewContainerRef = this.insertion.viewContainerRef;\n viewContainerRef.clear();\n\n // Create an instance of the component.\n this.componentRef = viewContainerRef.createComponent(componentType);\n }\n\n}\n","<div class=\"bb-dialog-container-backdrop\"></div>\n\n<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n","import {AfterViewInit, ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {BbButton} from '@bravobit/bb-foundation/elements';\nimport {BbDialogConfig} from '../dialog.interfaces';\nimport {BbDialogRef} from '../dialog.ref';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-confirm'}\n})\nexport class BbDialogConfirm implements AfterViewInit {\n\n // Readonly data.\n readonly title: string = this._config?.data?.title ?? null;\n readonly description: string | TemplateRef<any> = this._config?.data?.description ?? null;\n readonly cancelButtonText: string = this._config?.data?.cancelButtonText ?? null;\n readonly confirmButtonText: string = this._config?.data?.confirmButtonText ?? null;\n readonly width: string = this._config?.data?.width ?? null;\n\n // Views.\n @ViewChild('confirm', {read: BbButton, static: false}) confirmButton?: BbButton;\n\n // Id.\n dialogId = `bb-dialog-confirm-${nextUniqueId++}`;\n\n constructor(private _config: BbDialogConfig,\n private _dialogRef: BbDialogRef<boolean>) {\n }\n\n ngAfterViewInit() {\n // Initial focus the button.\n this.confirmButton?.focus();\n }\n\n onClose(result: boolean) {\n this._dialogRef.close(result);\n }\n}\n","<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"title as titleLabel\"\n [id]=\"dialogId\">\n {{ titleLabel | bbLocalize:{optional: true} }}\n </h1>\n </header>\n\n <p *ngIf=\"description as descriptionContent\"\n class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"cancelButtonText as cancelButtonTextLabel\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"confirmButtonText as confirmButtonTextLabel\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\"\n class=\"destructive\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n","import {InjectionToken, Injector, Type} from '@angular/core';\n\nexport class BbDialogInjector implements Injector {\n\n constructor(private _parentInjector: Injector,\n private _additionalTokens: WeakMap<any, any>) {\n }\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\n get(token: any, notFoundValue?: any);\n get(token: any, notFoundValue?: any) {\n // First check if the additional token\n // contains the token.\n const value = this._additionalTokens.get(token);\n\n // If that value exists return it.\n if (value) {\n return value;\n }\n\n // Else query the parent injector.\n return this._parentInjector.get<any>(token, notFoundValue);\n }\n\n}\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable, Injector, TemplateRef, Type} from '@angular/core';\nimport {BbDialogContainer} from './dialog-container/dialog-container.component';\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\nimport {BbDialogInjector} from './dialog.injector';\nimport {BbDialogConfig} from './dialog.interfaces';\nimport {BbDialogRef} from './dialog.ref';\n\n@Injectable()\nexport class Dialog {\n\n constructor(private _injector: Injector,\n private _applicationRef: ApplicationRef,\n private _componentFactoryResolver: ComponentFactoryResolver) {\n }\n\n open<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n return this.createDialog<T>(componentType, config);\n }\n\n confirm(title: string, description: string | TemplateRef<any>, options: { cancelButtonText?: string, confirmButtonText?: string, width?: string } = {}) {\n return this.open<boolean>(BbDialogConfirm, {\n data: {\n title,\n description,\n width: options?.width ?? '420px',\n cancelButtonText: options.cancelButtonText ?? 'dialog.default_cancel_button',\n confirmButtonText: options.confirmButtonText ?? 'dialog.default_confirm_button'\n }\n });\n }\n\n private createDialog<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n // Create a reference.\n const dialogRef = new BbDialogRef<T>();\n\n // Create a map with the config.\n const map = new WeakMap();\n map.set(BbDialogConfig, config ?? {});\n map.set(BbDialogRef, dialogRef);\n\n // Create a custom injector.\n const dialogInjector = new BbDialogInjector(this._injector, map);\n\n // Resolve the dialog component reference.\n const dialogComponentRef = this._componentFactoryResolver\n .resolveComponentFactory(BbDialogContainer)\n .create(dialogInjector);\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(() => this.deleteDialog(dialogComponentRef));\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 {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 {BbDialogLink} from './dialog-link/dialog-link.component';\nimport {LocalizeModule} from '@bravobit/bb-foundation/localize';\nimport {ElementsModule} from '@bravobit/bb-foundation/elements';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbDialogInsertion} from './dialog.insertion';\nimport {CommonModule} from '@angular/common';\nimport {Dialog} from './dialog.service';\n\n@NgModule({\n imports: [\n CommonModule,\n LocalizeModule,\n ElementsModule\n ],\n declarations: [\n BbDialogContainer,\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogLink,\n BbDialogActions,\n BbDialogConfirm,\n BbDialogInsertion\n ],\n exports: [\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogLink,\n BbDialogActions\n ]\n})\nexport class DialogModule {\n\n static forRoot(): ModuleWithProviders<DialogModule> {\n return {\n ngModule: DialogModule,\n providers: [Dialog]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.BbDialogInsertion","i1.BbDialogConfig","i2.BbDialogRef","i3","i5.BbDialogModal","i6.BbDialogHeader","i7.BbDialogActions"],"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.animations.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-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-link/dialog-link.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-link/dialog-link.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-container/dialog-container.animations.ts","../../../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.injector.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.service.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 get afterClosed() {\n return this._afterClosed$.pipe(\n take(1)\n );\n }\n\n get overlayClicked() {\n return this._overlayClicked$.pipe(\n take(1)\n );\n }\n\n onOverlayClicked() {\n this._overlayClicked$.next();\n }\n\n close(result?: T) {\n this._afterClosed$.next(result);\n }\n\n}\n","export class BbDialogConfig<T = any> {\n data?: T;\n}\n","import {animate, group, query, style, transition, trigger} from '@angular/animations';\n\nexport const bbDialogOverlayAnimation = trigger('bbDialogOverlayAnimation', [\n transition(':enter, * => open', [\n group([\n query('.bb-dialog-overlay-backdrop', [\n style({opacity: 0}),\n animate('240ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1}))\n ]),\n query('.bb-dialog-modal', [\n style({opacity: 0, transform: 'scale(0.98)'}),\n animate('200ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1, transform: 'none'}))\n ])\n ])\n ]),\n transition(':leave, * => close', [\n group([\n query('.bb-dialog-modal', [\n animate('200ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0, transform: 'scale(0.98)'}))\n ]),\n query('.bb-dialog-overlay-backdrop', [\n animate('240ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0}))\n ])\n ])\n ])\n]);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {fromEvent, lastValueFrom, race, Subject, Subscription} from 'rxjs';\nimport {bbDialogOverlayAnimation} from './dialog-overlay.animations';\nimport {AnimationEvent} from '@angular/animations';\nimport {switchMap, take} 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 preserveWhitespaces: false,\n host: {\n 'class': 'bb-dialog-overlay',\n '[@bbDialogOverlayAnimation]': 'state'\n },\n animations: [bbDialogOverlayAnimation]\n})\nexport class BbDialogOverlay implements OnInit, OnDestroy {\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n // State.\n state: 'open' | 'close' = 'open';\n private _closed$ = new Subject<void>();\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n constructor(private _elementRef: ElementRef,\n private _changeDetection: ChangeDetectorRef) {\n }\n\n ngOnInit() {\n this.listenForClicks();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n @HostListener('window:keyup', ['$event'])\n onKeyEvent(event: KeyboardEvent) {\n if (event?.key === 'Escape') {\n this.closeRequested.emit();\n }\n }\n\n @HostListener('@bbDialogOverlayAnimation.done', ['$event'])\n onAnimationDone(event: AnimationEvent) {\n // Check if the dialog is being destroyed.\n if (!['close'].includes(event?.toState)) {\n return;\n }\n\n this._closed$.next();\n this._closed$.complete();\n }\n\n close() {\n // We need change detection to run\n // here else it won't close in all scenario's.\n this.state = 'close';\n this._changeDetection.markForCheck();\n\n // Listen for the closed trigger.\n const observable$ = this._closed$.pipe(take(1));\n return lastValueFrom(observable$);\n }\n\n private listenForClicks() {\n const element = this._elementRef?.nativeElement ?? null;\n if (!element) {\n return;\n }\n\n const mouseDown$ = fromEvent(element, 'mousedown');\n const touchStart$ = fromEvent(element, 'touchstart');\n const start$ = race([mouseDown$, touchStart$]);\n\n const mouseUp$ = fromEvent(element, 'mouseup');\n const touchEnd$ = fromEvent(element, 'touchend');\n const end$ = race([mouseUp$, touchEnd$]);\n\n const clicks$ = start$.pipe(switchMap(() => end$));\n const subscription = clicks$.subscribe(() => this.closeRequested.next());\n this._subscription.add(subscription);\n }\n\n}\n","<div class=\"bb-dialog-overlay-backdrop\"></div>\n\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n","import {ChangeDetectionStrategy, Component, HostBinding, HostListener, Inject, Input, OnInit, Optional, Renderer2, ViewEncapsulation} from '@angular/core';\nimport {Patch} from '@bravobit/bb-foundation';\nimport {DOCUMENT} from '@angular/common';\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 preserveWhitespaces: false,\n host: {\n 'class': 'bb-dialog-modal',\n 'role': 'dialog'\n }\n})\nexport class BbDialogModal implements OnInit {\n\n // Styling.\n @HostBinding('style.max-width') @Input() maxWidth: string | null = '420px';\n\n @HostListener('click', ['$event'])\n @HostListener('touchstart', ['$event'])\n @HostListener('touchend', ['$event'])\n @HostListener('mouseup', ['$event'])\n @HostListener('mousedown', ['$event'])\n onOverlayClickedEvent(event: MouseEvent) {\n event.stopPropagation();\n }\n\n constructor(private _patch: Patch,\n private _renderer: Renderer2,\n @Optional() @Inject(DOCUMENT) private _document?: Document) {\n }\n\n ngOnInit() {\n this._patch.mobileVerticalHeight();\n this.allowGlobalOverflow(false);\n }\n\n ngOnDestroy() {\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]\">\n\n</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]\">\n\n</ng-content>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation} from '@angular/core';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-header'}\n})\nexport class BbDialogHeader {\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n}\n","<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observed\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: '[bb-dialog-link]',\n templateUrl: './dialog-link.component.html',\n styleUrls: ['./dialog-link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {'class': 'bb-dialog-link'}\n})\nexport class BbDialogLink {\n}\n","<ng-content></ng-content>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-actions'}\n})\nexport class BbDialogActions {\n}\n","<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n","import {animate, group, query, style, transition, trigger} from '@angular/animations';\n\nexport const bbDialogContainerAnimation = trigger('bbDialogContainerAnimation', [\n transition(':enter', [\n group([\n query('.bb-dialog-container-backdrop', [\n style({opacity: 0}),\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1}))\n ]),\n query('.bb-dialog-container-component', [\n style({opacity: 0, transform: 'scale(0.96)'}),\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1, transform: 'none'}))\n ])\n ])\n ]),\n transition(':leave', [\n group([\n query('.bb-dialog-container-backdrop', [\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0}))\n ]),\n query('.bb-dialog-container-component', [\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 0,\n transform: 'scale(0.96)'\n }))\n ])\n ])\n ])\n]);\n","import {Directive, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbDialogInsertion]'\n})\nexport class BbDialogInsertion {\n\n constructor(public viewContainerRef: ViewContainerRef) {\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n HostListener,\n OnDestroy,\n OnInit,\n Type,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {bbDialogContainerAnimation} from './dialog-container.animations';\nimport {fromEvent, race, Subject, Subscription} from 'rxjs';\nimport {BbDialogInsertion} from '../dialog.insertion';\nimport {AnimationEvent} from '@angular/animations';\nimport {switchMap, take} from 'rxjs/operators';\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: {\n 'class': 'bb-dialog-container',\n '[@bbDialogContainerAnimation]': 'true'\n },\n preserveWhitespaces: false,\n animations: [bbDialogContainerAnimation]\n})\nexport class BbDialogContainer implements OnInit, OnDestroy {\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 overlayClicked$ = new Subject<void>();\n\n // Subscription.\n private _subscription = new Subscription();\n\n get onOverlayClicked() {\n return this.overlayClicked$.pipe(\n take(1)\n );\n }\n\n constructor(private _elementRef: ElementRef) {\n }\n\n ngOnInit() {\n // Load the child component.\n this.loadChildComponent(this.childComponentType);\n\n // Listen for mouse click on the dialog container.\n this.listenForClicks();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n @HostListener('@bbDialogContainerAnimation.done', ['$event'])\n onAnimationDone(event: AnimationEvent) {\n // Check if the dialog is being destroyed.\n if (event.toState !== 'void') {\n return;\n }\n\n // Destroy the ref if it exists.\n this.componentRef?.destroy();\n }\n\n private listenForClicks() {\n const element = this._elementRef?.nativeElement ?? null;\n if (!element) {\n return;\n }\n\n const mouseDown$ = fromEvent(element, 'mousedown');\n const touchStart$ = fromEvent(element, 'touchstart');\n const start$ = race([mouseDown$, touchStart$]);\n\n const mouseUp$ = fromEvent(element, 'mouseup');\n const touchEnd$ = fromEvent(element, 'touchend');\n const end$ = race([mouseUp$, touchEnd$]);\n\n const clicks$ = start$.pipe(switchMap(() => end$));\n const subscription = clicks$.subscribe(() => this.overlayClicked$.next());\n this._subscription.add(subscription);\n }\n\n private loadChildComponent(componentType: Type<any>) {\n // Get the view container ref and clear it.\n const viewContainerRef = this.insertion.viewContainerRef;\n viewContainerRef.clear();\n\n // Create an instance of the component.\n this.componentRef = viewContainerRef.createComponent(componentType);\n }\n\n}\n","<div class=\"bb-dialog-container-backdrop\"></div>\n\n<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n","import {AfterViewInit, ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {BbButton} from '@bravobit/bb-foundation/elements';\nimport {BbDialogConfig} from '../dialog.interfaces';\nimport {BbDialogRef} from '../dialog.ref';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-confirm'}\n})\nexport class BbDialogConfirm implements AfterViewInit {\n\n // Readonly data.\n readonly title: string = this._config?.data?.title ?? null;\n readonly description: string | TemplateRef<any> = this._config?.data?.description ?? null;\n readonly cancelButtonText: string = this._config?.data?.cancelButtonText ?? null;\n readonly confirmButtonText: string = this._config?.data?.confirmButtonText ?? null;\n readonly width: string = this._config?.data?.width ?? null;\n\n // Views.\n @ViewChild('confirm', {read: BbButton, static: false}) confirmButton?: BbButton;\n\n // Id.\n dialogId = `bb-dialog-confirm-${nextUniqueId++}`;\n\n constructor(private _config: BbDialogConfig,\n private _dialogRef: BbDialogRef<boolean>) {\n }\n\n ngAfterViewInit() {\n // Initial focus the button.\n this.confirmButton?.focus();\n }\n\n onClose(result: boolean) {\n this._dialogRef.close(result);\n }\n}\n","<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"title as titleLabel\"\n [id]=\"dialogId\">\n {{ titleLabel | bbLocalize:{optional: true} }}\n </h1>\n </header>\n\n <p *ngIf=\"description as descriptionContent\"\n class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"cancelButtonText as cancelButtonTextLabel\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"confirmButtonText as confirmButtonTextLabel\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\"\n class=\"destructive\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n","import {InjectionToken, Injector, Type} from '@angular/core';\n\nexport class BbDialogInjector implements Injector {\n\n constructor(private _parentInjector: Injector,\n private _additionalTokens: WeakMap<any, any>) {\n }\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\n get(token: any, notFoundValue?: any);\n get(token: any, notFoundValue?: any) {\n // First check if the additional token\n // contains the token.\n const value = this._additionalTokens.get(token);\n\n // If that value exists return it.\n if (value) {\n return value;\n }\n\n // Else query the parent injector.\n return this._parentInjector.get<any>(token, notFoundValue);\n }\n\n}\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable, Injector, TemplateRef, Type} from '@angular/core';\nimport {BbDialogContainer} from './dialog-container/dialog-container.component';\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\nimport {BbDialogInjector} from './dialog.injector';\nimport {BbDialogConfig} from './dialog.interfaces';\nimport {BbDialogRef} from './dialog.ref';\n\n@Injectable()\nexport class Dialog {\n\n constructor(private _injector: Injector,\n private _applicationRef: ApplicationRef,\n private _componentFactoryResolver: ComponentFactoryResolver) {\n }\n\n open<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n return this.createDialog<T>(componentType, config);\n }\n\n confirm(title: string, description: string | TemplateRef<any>, options: { cancelButtonText?: string, confirmButtonText?: string, width?: string } = {}) {\n return this.open<boolean>(BbDialogConfirm, {\n data: {\n title,\n description,\n width: options?.width ?? '420px',\n cancelButtonText: options.cancelButtonText ?? 'dialog.default_cancel_button',\n confirmButtonText: options.confirmButtonText ?? 'dialog.default_confirm_button'\n }\n });\n }\n\n private createDialog<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n // Create a reference.\n const dialogRef = new BbDialogRef<T>();\n\n // Create a map with the config.\n const map = new WeakMap();\n map.set(BbDialogConfig, config ?? {});\n map.set(BbDialogRef, dialogRef);\n\n // Create a custom injector.\n const dialogInjector = new BbDialogInjector(this._injector, map);\n\n // Resolve the dialog component reference.\n const dialogComponentRef = this._componentFactoryResolver\n .resolveComponentFactory(BbDialogContainer)\n .create(dialogInjector);\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(() => this.deleteDialog(dialogComponentRef));\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 {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 {BbDialogLink} from './dialog-link/dialog-link.component';\nimport {LocalizeModule} from '@bravobit/bb-foundation/localize';\nimport {ElementsModule} from '@bravobit/bb-foundation/elements';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbDialogInsertion} from './dialog.insertion';\nimport {CommonModule} from '@angular/common';\nimport {Dialog} from './dialog.service';\n\n@NgModule({\n imports: [\n CommonModule,\n LocalizeModule,\n ElementsModule\n ],\n declarations: [\n BbDialogContainer,\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogLink,\n BbDialogActions,\n BbDialogConfirm,\n BbDialogInsertion\n ],\n exports: [\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogLink,\n BbDialogActions\n ]\n})\nexport class DialogModule {\n\n static forRoot(): ModuleWithProviders<DialogModule> {\n return {\n ngModule: DialogModule,\n providers: [Dialog]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.BbDialogInsertion","i1.BbDialogConfig","i2.BbDialogRef","i3","i5.BbDialogModal","i6.BbDialogHeader","i7.BbDialogActions"],"mappings":"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"}
|
|
@@ -152,13 +152,13 @@ class BbDialogModal {
|
|
|
152
152
|
this.allowGlobalOverflow(true);
|
|
153
153
|
}
|
|
154
154
|
allowGlobalOverflow(allow) {
|
|
155
|
-
const element = this._document?.
|
|
155
|
+
const element = this._document?.body ?? null;
|
|
156
156
|
if (!element) {
|
|
157
157
|
return;
|
|
158
158
|
}
|
|
159
159
|
allow
|
|
160
160
|
? this._renderer.removeStyle(element, 'overflow')
|
|
161
|
-
: this._renderer.setStyle(element, 'overflow', '
|
|
161
|
+
: this._renderer.setStyle(element, 'overflow', 'hidden');
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
BbDialogModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }, { token: i0.Renderer2 }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -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.animations.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-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-link/dialog-link.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-link/dialog-link.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-container/dialog-container.animations.ts","../../../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.injector.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.service.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 get afterClosed() {\n return this._afterClosed$.pipe(\n take(1)\n );\n }\n\n get overlayClicked() {\n return this._overlayClicked$.pipe(\n take(1)\n );\n }\n\n onOverlayClicked() {\n this._overlayClicked$.next();\n }\n\n close(result?: T) {\n this._afterClosed$.next(result);\n }\n\n}\n","export class BbDialogConfig<T = any> {\n data?: T;\n}\n","import {animate, group, query, style, transition, trigger} from '@angular/animations';\n\nexport const bbDialogOverlayAnimation = trigger('bbDialogOverlayAnimation', [\n transition(':enter, * => open', [\n group([\n query('.bb-dialog-overlay-backdrop', [\n style({opacity: 0}),\n animate('240ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1}))\n ]),\n query('.bb-dialog-modal', [\n style({opacity: 0, transform: 'scale(0.98)'}),\n animate('200ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1, transform: 'none'}))\n ])\n ])\n ]),\n transition(':leave, * => close', [\n group([\n query('.bb-dialog-modal', [\n animate('200ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0, transform: 'scale(0.98)'}))\n ]),\n query('.bb-dialog-overlay-backdrop', [\n animate('240ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0}))\n ])\n ])\n ])\n]);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {fromEvent, lastValueFrom, race, Subject, Subscription} from 'rxjs';\nimport {bbDialogOverlayAnimation} from './dialog-overlay.animations';\nimport {AnimationEvent} from '@angular/animations';\nimport {switchMap, take} 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 preserveWhitespaces: false,\n host: {\n 'class': 'bb-dialog-overlay',\n '[@bbDialogOverlayAnimation]': 'state'\n },\n animations: [bbDialogOverlayAnimation]\n})\nexport class BbDialogOverlay implements OnInit, OnDestroy {\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n // State.\n state: 'open' | 'close' = 'open';\n private _closed$ = new Subject<void>();\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n constructor(private _elementRef: ElementRef,\n private _changeDetection: ChangeDetectorRef) {\n }\n\n ngOnInit() {\n this.listenForClicks();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n @HostListener('window:keyup', ['$event'])\n onKeyEvent(event: KeyboardEvent) {\n if (event?.key === 'Escape') {\n this.closeRequested.emit();\n }\n }\n\n @HostListener('@bbDialogOverlayAnimation.done', ['$event'])\n onAnimationDone(event: AnimationEvent) {\n // Check if the dialog is being destroyed.\n if (!['close'].includes(event?.toState)) {\n return;\n }\n\n this._closed$.next();\n this._closed$.complete();\n }\n\n close() {\n // We need change detection to run\n // here else it won't close in all scenario's.\n this.state = 'close';\n this._changeDetection.markForCheck();\n\n // Listen for the closed trigger.\n const observable$ = this._closed$.pipe(take(1));\n return lastValueFrom(observable$);\n }\n\n private listenForClicks() {\n const element = this._elementRef?.nativeElement ?? null;\n if (!element) {\n return;\n }\n\n const mouseDown$ = fromEvent(element, 'mousedown');\n const touchStart$ = fromEvent(element, 'touchstart');\n const start$ = race([mouseDown$, touchStart$]);\n\n const mouseUp$ = fromEvent(element, 'mouseup');\n const touchEnd$ = fromEvent(element, 'touchend');\n const end$ = race([mouseUp$, touchEnd$]);\n\n const clicks$ = start$.pipe(switchMap(() => end$));\n const subscription = clicks$.subscribe(() => this.closeRequested.next());\n this._subscription.add(subscription);\n }\n\n}\n","<div class=\"bb-dialog-overlay-backdrop\"></div>\n\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnInit,\n Optional,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport {Patch} from '@bravobit/bb-foundation';\nimport {DOCUMENT} from '@angular/common';\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 preserveWhitespaces: false,\n host: {\n 'class': 'bb-dialog-modal',\n 'role': 'dialog'\n }\n})\nexport class BbDialogModal implements OnInit {\n\n // Styling.\n @HostBinding('style.max-width') @Input() maxWidth: string | null = '420px';\n\n @HostListener('click', ['$event'])\n @HostListener('touchstart', ['$event'])\n @HostListener('touchend', ['$event'])\n @HostListener('mouseup', ['$event'])\n @HostListener('mousedown', ['$event'])\n onOverlayClickedEvent(event: MouseEvent) {\n event.stopPropagation();\n }\n\n constructor(private _patch: Patch,\n private _renderer: Renderer2,\n @Optional() @Inject(DOCUMENT) private _document?: Document) {\n }\n\n ngOnInit() {\n this._patch.mobileVerticalHeight();\n this.allowGlobalOverflow(false);\n }\n\n ngOnDestroy() {\n this.allowGlobalOverflow(true);\n }\n\n private allowGlobalOverflow(allow: boolean) {\n const element = this._document?.documentElement ?? null;\n if (!element) {\n return;\n }\n\n allow\n ? this._renderer.removeStyle(element, 'overflow')\n : this._renderer.setStyle(element, 'overflow', 'clip');\n }\n\n}\n","<ng-content select=\"[bb-dialog-header]\">\n\n</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]\">\n\n</ng-content>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation} from '@angular/core';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-header'}\n})\nexport class BbDialogHeader {\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n}\n","<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observed\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: '[bb-dialog-link]',\n templateUrl: './dialog-link.component.html',\n styleUrls: ['./dialog-link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {'class': 'bb-dialog-link'}\n})\nexport class BbDialogLink {\n}\n","<ng-content></ng-content>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-actions'}\n})\nexport class BbDialogActions {\n}\n","<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n","import {animate, group, query, style, transition, trigger} from '@angular/animations';\n\nexport const bbDialogContainerAnimation = trigger('bbDialogContainerAnimation', [\n transition(':enter', [\n group([\n query('.bb-dialog-container-backdrop', [\n style({opacity: 0}),\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1}))\n ]),\n query('.bb-dialog-container-component', [\n style({opacity: 0, transform: 'scale(0.96)'}),\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1, transform: 'none'}))\n ])\n ])\n ]),\n transition(':leave', [\n group([\n query('.bb-dialog-container-backdrop', [\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0}))\n ]),\n query('.bb-dialog-container-component', [\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 0,\n transform: 'scale(0.96)'\n }))\n ])\n ])\n ])\n]);\n","import {Directive, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbDialogInsertion]'\n})\nexport class BbDialogInsertion {\n\n constructor(public viewContainerRef: ViewContainerRef) {\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n HostListener,\n OnDestroy,\n OnInit,\n Type,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {bbDialogContainerAnimation} from './dialog-container.animations';\nimport {fromEvent, race, Subject, Subscription} from 'rxjs';\nimport {BbDialogInsertion} from '../dialog.insertion';\nimport {AnimationEvent} from '@angular/animations';\nimport {switchMap, take} from 'rxjs/operators';\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: {\n 'class': 'bb-dialog-container',\n '[@bbDialogContainerAnimation]': 'true'\n },\n preserveWhitespaces: false,\n animations: [bbDialogContainerAnimation]\n})\nexport class BbDialogContainer implements OnInit, OnDestroy {\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 overlayClicked$ = new Subject<void>();\n\n // Subscription.\n private _subscription = new Subscription();\n\n get onOverlayClicked() {\n return this.overlayClicked$.pipe(\n take(1)\n );\n }\n\n constructor(private _elementRef: ElementRef) {\n }\n\n ngOnInit() {\n // Load the child component.\n this.loadChildComponent(this.childComponentType);\n\n // Listen for mouse click on the dialog container.\n this.listenForClicks();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n @HostListener('@bbDialogContainerAnimation.done', ['$event'])\n onAnimationDone(event: AnimationEvent) {\n // Check if the dialog is being destroyed.\n if (event.toState !== 'void') {\n return;\n }\n\n // Destroy the ref if it exists.\n this.componentRef?.destroy();\n }\n\n private listenForClicks() {\n const element = this._elementRef?.nativeElement ?? null;\n if (!element) {\n return;\n }\n\n const mouseDown$ = fromEvent(element, 'mousedown');\n const touchStart$ = fromEvent(element, 'touchstart');\n const start$ = race([mouseDown$, touchStart$]);\n\n const mouseUp$ = fromEvent(element, 'mouseup');\n const touchEnd$ = fromEvent(element, 'touchend');\n const end$ = race([mouseUp$, touchEnd$]);\n\n const clicks$ = start$.pipe(switchMap(() => end$));\n const subscription = clicks$.subscribe(() => this.overlayClicked$.next());\n this._subscription.add(subscription);\n }\n\n private loadChildComponent(componentType: Type<any>) {\n // Get the view container ref and clear it.\n const viewContainerRef = this.insertion.viewContainerRef;\n viewContainerRef.clear();\n\n // Create an instance of the component.\n this.componentRef = viewContainerRef.createComponent(componentType);\n }\n\n}\n","<div class=\"bb-dialog-container-backdrop\"></div>\n\n<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n","import {AfterViewInit, ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {BbButton} from '@bravobit/bb-foundation/elements';\nimport {BbDialogConfig} from '../dialog.interfaces';\nimport {BbDialogRef} from '../dialog.ref';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-confirm'}\n})\nexport class BbDialogConfirm implements AfterViewInit {\n\n // Readonly data.\n readonly title: string = this._config?.data?.title ?? null;\n readonly description: string | TemplateRef<any> = this._config?.data?.description ?? null;\n readonly cancelButtonText: string = this._config?.data?.cancelButtonText ?? null;\n readonly confirmButtonText: string = this._config?.data?.confirmButtonText ?? null;\n readonly width: string = this._config?.data?.width ?? null;\n\n // Views.\n @ViewChild('confirm', {read: BbButton, static: false}) confirmButton?: BbButton;\n\n // Id.\n dialogId = `bb-dialog-confirm-${nextUniqueId++}`;\n\n constructor(private _config: BbDialogConfig,\n private _dialogRef: BbDialogRef<boolean>) {\n }\n\n ngAfterViewInit() {\n // Initial focus the button.\n this.confirmButton?.focus();\n }\n\n onClose(result: boolean) {\n this._dialogRef.close(result);\n }\n}\n","<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"title as titleLabel\"\n [id]=\"dialogId\">\n {{ titleLabel | bbLocalize:{optional: true} }}\n </h1>\n </header>\n\n <p *ngIf=\"description as descriptionContent\"\n class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"cancelButtonText as cancelButtonTextLabel\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"confirmButtonText as confirmButtonTextLabel\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\"\n class=\"destructive\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n","import {InjectionToken, Injector, Type} from '@angular/core';\n\nexport class BbDialogInjector implements Injector {\n\n constructor(private _parentInjector: Injector,\n private _additionalTokens: WeakMap<any, any>) {\n }\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\n get(token: any, notFoundValue?: any);\n get(token: any, notFoundValue?: any) {\n // First check if the additional token\n // contains the token.\n const value = this._additionalTokens.get(token);\n\n // If that value exists return it.\n if (value) {\n return value;\n }\n\n // Else query the parent injector.\n return this._parentInjector.get<any>(token, notFoundValue);\n }\n\n}\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable, Injector, TemplateRef, Type} from '@angular/core';\nimport {BbDialogContainer} from './dialog-container/dialog-container.component';\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\nimport {BbDialogInjector} from './dialog.injector';\nimport {BbDialogConfig} from './dialog.interfaces';\nimport {BbDialogRef} from './dialog.ref';\n\n@Injectable()\nexport class Dialog {\n\n constructor(private _injector: Injector,\n private _applicationRef: ApplicationRef,\n private _componentFactoryResolver: ComponentFactoryResolver) {\n }\n\n open<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n return this.createDialog<T>(componentType, config);\n }\n\n confirm(title: string, description: string | TemplateRef<any>, options: { cancelButtonText?: string, confirmButtonText?: string, width?: string } = {}) {\n return this.open<boolean>(BbDialogConfirm, {\n data: {\n title,\n description,\n width: options?.width ?? '420px',\n cancelButtonText: options.cancelButtonText ?? 'dialog.default_cancel_button',\n confirmButtonText: options.confirmButtonText ?? 'dialog.default_confirm_button'\n }\n });\n }\n\n private createDialog<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n // Create a reference.\n const dialogRef = new BbDialogRef<T>();\n\n // Create a map with the config.\n const map = new WeakMap();\n map.set(BbDialogConfig, config ?? {});\n map.set(BbDialogRef, dialogRef);\n\n // Create a custom injector.\n const dialogInjector = new BbDialogInjector(this._injector, map);\n\n // Resolve the dialog component reference.\n const dialogComponentRef = this._componentFactoryResolver\n .resolveComponentFactory(BbDialogContainer)\n .create(dialogInjector);\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(() => this.deleteDialog(dialogComponentRef));\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 {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 {BbDialogLink} from './dialog-link/dialog-link.component';\nimport {LocalizeModule} from '@bravobit/bb-foundation/localize';\nimport {ElementsModule} from '@bravobit/bb-foundation/elements';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbDialogInsertion} from './dialog.insertion';\nimport {CommonModule} from '@angular/common';\nimport {Dialog} from './dialog.service';\n\n@NgModule({\n imports: [\n CommonModule,\n LocalizeModule,\n ElementsModule\n ],\n declarations: [\n BbDialogContainer,\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogLink,\n BbDialogActions,\n BbDialogConfirm,\n BbDialogInsertion\n ],\n exports: [\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogLink,\n BbDialogActions\n ]\n})\nexport class DialogModule {\n\n static forRoot(): ModuleWithProviders<DialogModule> {\n return {\n ngModule: DialogModule,\n providers: [Dialog]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.BbDialogInsertion","i1.BbDialogConfig","i2.BbDialogRef","i3","i5.BbDialogModal","i6.BbDialogHeader","i7.BbDialogActions"],"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.animations.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-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-link/dialog-link.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-link/dialog-link.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-container/dialog-container.animations.ts","../../../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.injector.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.service.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 get afterClosed() {\n return this._afterClosed$.pipe(\n take(1)\n );\n }\n\n get overlayClicked() {\n return this._overlayClicked$.pipe(\n take(1)\n );\n }\n\n onOverlayClicked() {\n this._overlayClicked$.next();\n }\n\n close(result?: T) {\n this._afterClosed$.next(result);\n }\n\n}\n","export class BbDialogConfig<T = any> {\n data?: T;\n}\n","import {animate, group, query, style, transition, trigger} from '@angular/animations';\n\nexport const bbDialogOverlayAnimation = trigger('bbDialogOverlayAnimation', [\n transition(':enter, * => open', [\n group([\n query('.bb-dialog-overlay-backdrop', [\n style({opacity: 0}),\n animate('240ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1}))\n ]),\n query('.bb-dialog-modal', [\n style({opacity: 0, transform: 'scale(0.98)'}),\n animate('200ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1, transform: 'none'}))\n ])\n ])\n ]),\n transition(':leave, * => close', [\n group([\n query('.bb-dialog-modal', [\n animate('200ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0, transform: 'scale(0.98)'}))\n ]),\n query('.bb-dialog-overlay-backdrop', [\n animate('240ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0}))\n ])\n ])\n ])\n]);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {fromEvent, lastValueFrom, race, Subject, Subscription} from 'rxjs';\nimport {bbDialogOverlayAnimation} from './dialog-overlay.animations';\nimport {AnimationEvent} from '@angular/animations';\nimport {switchMap, take} 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 preserveWhitespaces: false,\n host: {\n 'class': 'bb-dialog-overlay',\n '[@bbDialogOverlayAnimation]': 'state'\n },\n animations: [bbDialogOverlayAnimation]\n})\nexport class BbDialogOverlay implements OnInit, OnDestroy {\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n // State.\n state: 'open' | 'close' = 'open';\n private _closed$ = new Subject<void>();\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n constructor(private _elementRef: ElementRef,\n private _changeDetection: ChangeDetectorRef) {\n }\n\n ngOnInit() {\n this.listenForClicks();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n @HostListener('window:keyup', ['$event'])\n onKeyEvent(event: KeyboardEvent) {\n if (event?.key === 'Escape') {\n this.closeRequested.emit();\n }\n }\n\n @HostListener('@bbDialogOverlayAnimation.done', ['$event'])\n onAnimationDone(event: AnimationEvent) {\n // Check if the dialog is being destroyed.\n if (!['close'].includes(event?.toState)) {\n return;\n }\n\n this._closed$.next();\n this._closed$.complete();\n }\n\n close() {\n // We need change detection to run\n // here else it won't close in all scenario's.\n this.state = 'close';\n this._changeDetection.markForCheck();\n\n // Listen for the closed trigger.\n const observable$ = this._closed$.pipe(take(1));\n return lastValueFrom(observable$);\n }\n\n private listenForClicks() {\n const element = this._elementRef?.nativeElement ?? null;\n if (!element) {\n return;\n }\n\n const mouseDown$ = fromEvent(element, 'mousedown');\n const touchStart$ = fromEvent(element, 'touchstart');\n const start$ = race([mouseDown$, touchStart$]);\n\n const mouseUp$ = fromEvent(element, 'mouseup');\n const touchEnd$ = fromEvent(element, 'touchend');\n const end$ = race([mouseUp$, touchEnd$]);\n\n const clicks$ = start$.pipe(switchMap(() => end$));\n const subscription = clicks$.subscribe(() => this.closeRequested.next());\n this._subscription.add(subscription);\n }\n\n}\n","<div class=\"bb-dialog-overlay-backdrop\"></div>\n\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n","import {ChangeDetectionStrategy, Component, HostBinding, HostListener, Inject, Input, OnInit, Optional, Renderer2, ViewEncapsulation} from '@angular/core';\nimport {Patch} from '@bravobit/bb-foundation';\nimport {DOCUMENT} from '@angular/common';\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 preserveWhitespaces: false,\n host: {\n 'class': 'bb-dialog-modal',\n 'role': 'dialog'\n }\n})\nexport class BbDialogModal implements OnInit {\n\n // Styling.\n @HostBinding('style.max-width') @Input() maxWidth: string | null = '420px';\n\n @HostListener('click', ['$event'])\n @HostListener('touchstart', ['$event'])\n @HostListener('touchend', ['$event'])\n @HostListener('mouseup', ['$event'])\n @HostListener('mousedown', ['$event'])\n onOverlayClickedEvent(event: MouseEvent) {\n event.stopPropagation();\n }\n\n constructor(private _patch: Patch,\n private _renderer: Renderer2,\n @Optional() @Inject(DOCUMENT) private _document?: Document) {\n }\n\n ngOnInit() {\n this._patch.mobileVerticalHeight();\n this.allowGlobalOverflow(false);\n }\n\n ngOnDestroy() {\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]\">\n\n</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]\">\n\n</ng-content>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation} from '@angular/core';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-header'}\n})\nexport class BbDialogHeader {\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n}\n","<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observed\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: '[bb-dialog-link]',\n templateUrl: './dialog-link.component.html',\n styleUrls: ['./dialog-link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {'class': 'bb-dialog-link'}\n})\nexport class BbDialogLink {\n}\n","<ng-content></ng-content>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-actions'}\n})\nexport class BbDialogActions {\n}\n","<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n","import {animate, group, query, style, transition, trigger} from '@angular/animations';\n\nexport const bbDialogContainerAnimation = trigger('bbDialogContainerAnimation', [\n transition(':enter', [\n group([\n query('.bb-dialog-container-backdrop', [\n style({opacity: 0}),\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1}))\n ]),\n query('.bb-dialog-container-component', [\n style({opacity: 0, transform: 'scale(0.96)'}),\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1, transform: 'none'}))\n ])\n ])\n ]),\n transition(':leave', [\n group([\n query('.bb-dialog-container-backdrop', [\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0}))\n ]),\n query('.bb-dialog-container-component', [\n animate('180ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 0,\n transform: 'scale(0.96)'\n }))\n ])\n ])\n ])\n]);\n","import {Directive, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbDialogInsertion]'\n})\nexport class BbDialogInsertion {\n\n constructor(public viewContainerRef: ViewContainerRef) {\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n HostListener,\n OnDestroy,\n OnInit,\n Type,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {bbDialogContainerAnimation} from './dialog-container.animations';\nimport {fromEvent, race, Subject, Subscription} from 'rxjs';\nimport {BbDialogInsertion} from '../dialog.insertion';\nimport {AnimationEvent} from '@angular/animations';\nimport {switchMap, take} from 'rxjs/operators';\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: {\n 'class': 'bb-dialog-container',\n '[@bbDialogContainerAnimation]': 'true'\n },\n preserveWhitespaces: false,\n animations: [bbDialogContainerAnimation]\n})\nexport class BbDialogContainer implements OnInit, OnDestroy {\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 overlayClicked$ = new Subject<void>();\n\n // Subscription.\n private _subscription = new Subscription();\n\n get onOverlayClicked() {\n return this.overlayClicked$.pipe(\n take(1)\n );\n }\n\n constructor(private _elementRef: ElementRef) {\n }\n\n ngOnInit() {\n // Load the child component.\n this.loadChildComponent(this.childComponentType);\n\n // Listen for mouse click on the dialog container.\n this.listenForClicks();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n @HostListener('@bbDialogContainerAnimation.done', ['$event'])\n onAnimationDone(event: AnimationEvent) {\n // Check if the dialog is being destroyed.\n if (event.toState !== 'void') {\n return;\n }\n\n // Destroy the ref if it exists.\n this.componentRef?.destroy();\n }\n\n private listenForClicks() {\n const element = this._elementRef?.nativeElement ?? null;\n if (!element) {\n return;\n }\n\n const mouseDown$ = fromEvent(element, 'mousedown');\n const touchStart$ = fromEvent(element, 'touchstart');\n const start$ = race([mouseDown$, touchStart$]);\n\n const mouseUp$ = fromEvent(element, 'mouseup');\n const touchEnd$ = fromEvent(element, 'touchend');\n const end$ = race([mouseUp$, touchEnd$]);\n\n const clicks$ = start$.pipe(switchMap(() => end$));\n const subscription = clicks$.subscribe(() => this.overlayClicked$.next());\n this._subscription.add(subscription);\n }\n\n private loadChildComponent(componentType: Type<any>) {\n // Get the view container ref and clear it.\n const viewContainerRef = this.insertion.viewContainerRef;\n viewContainerRef.clear();\n\n // Create an instance of the component.\n this.componentRef = viewContainerRef.createComponent(componentType);\n }\n\n}\n","<div class=\"bb-dialog-container-backdrop\"></div>\n\n<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n","import {AfterViewInit, ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {BbButton} from '@bravobit/bb-foundation/elements';\nimport {BbDialogConfig} from '../dialog.interfaces';\nimport {BbDialogRef} from '../dialog.ref';\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 preserveWhitespaces: false,\n host: {'class': 'bb-dialog-confirm'}\n})\nexport class BbDialogConfirm implements AfterViewInit {\n\n // Readonly data.\n readonly title: string = this._config?.data?.title ?? null;\n readonly description: string | TemplateRef<any> = this._config?.data?.description ?? null;\n readonly cancelButtonText: string = this._config?.data?.cancelButtonText ?? null;\n readonly confirmButtonText: string = this._config?.data?.confirmButtonText ?? null;\n readonly width: string = this._config?.data?.width ?? null;\n\n // Views.\n @ViewChild('confirm', {read: BbButton, static: false}) confirmButton?: BbButton;\n\n // Id.\n dialogId = `bb-dialog-confirm-${nextUniqueId++}`;\n\n constructor(private _config: BbDialogConfig,\n private _dialogRef: BbDialogRef<boolean>) {\n }\n\n ngAfterViewInit() {\n // Initial focus the button.\n this.confirmButton?.focus();\n }\n\n onClose(result: boolean) {\n this._dialogRef.close(result);\n }\n}\n","<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"title as titleLabel\"\n [id]=\"dialogId\">\n {{ titleLabel | bbLocalize:{optional: true} }}\n </h1>\n </header>\n\n <p *ngIf=\"description as descriptionContent\"\n class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"cancelButtonText as cancelButtonTextLabel\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"confirmButtonText as confirmButtonTextLabel\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\"\n class=\"destructive\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n","import {InjectionToken, Injector, Type} from '@angular/core';\n\nexport class BbDialogInjector implements Injector {\n\n constructor(private _parentInjector: Injector,\n private _additionalTokens: WeakMap<any, any>) {\n }\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\n get(token: any, notFoundValue?: any);\n get(token: any, notFoundValue?: any) {\n // First check if the additional token\n // contains the token.\n const value = this._additionalTokens.get(token);\n\n // If that value exists return it.\n if (value) {\n return value;\n }\n\n // Else query the parent injector.\n return this._parentInjector.get<any>(token, notFoundValue);\n }\n\n}\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable, Injector, TemplateRef, Type} from '@angular/core';\nimport {BbDialogContainer} from './dialog-container/dialog-container.component';\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\nimport {BbDialogInjector} from './dialog.injector';\nimport {BbDialogConfig} from './dialog.interfaces';\nimport {BbDialogRef} from './dialog.ref';\n\n@Injectable()\nexport class Dialog {\n\n constructor(private _injector: Injector,\n private _applicationRef: ApplicationRef,\n private _componentFactoryResolver: ComponentFactoryResolver) {\n }\n\n open<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n return this.createDialog<T>(componentType, config);\n }\n\n confirm(title: string, description: string | TemplateRef<any>, options: { cancelButtonText?: string, confirmButtonText?: string, width?: string } = {}) {\n return this.open<boolean>(BbDialogConfirm, {\n data: {\n title,\n description,\n width: options?.width ?? '420px',\n cancelButtonText: options.cancelButtonText ?? 'dialog.default_cancel_button',\n confirmButtonText: options.confirmButtonText ?? 'dialog.default_confirm_button'\n }\n });\n }\n\n private createDialog<T = any>(componentType: Type<any>, config?: BbDialogConfig) {\n // Create a reference.\n const dialogRef = new BbDialogRef<T>();\n\n // Create a map with the config.\n const map = new WeakMap();\n map.set(BbDialogConfig, config ?? {});\n map.set(BbDialogRef, dialogRef);\n\n // Create a custom injector.\n const dialogInjector = new BbDialogInjector(this._injector, map);\n\n // Resolve the dialog component reference.\n const dialogComponentRef = this._componentFactoryResolver\n .resolveComponentFactory(BbDialogContainer)\n .create(dialogInjector);\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(() => this.deleteDialog(dialogComponentRef));\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 {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 {BbDialogLink} from './dialog-link/dialog-link.component';\nimport {LocalizeModule} from '@bravobit/bb-foundation/localize';\nimport {ElementsModule} from '@bravobit/bb-foundation/elements';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbDialogInsertion} from './dialog.insertion';\nimport {CommonModule} from '@angular/common';\nimport {Dialog} from './dialog.service';\n\n@NgModule({\n imports: [\n CommonModule,\n LocalizeModule,\n ElementsModule\n ],\n declarations: [\n BbDialogContainer,\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogLink,\n BbDialogActions,\n BbDialogConfirm,\n BbDialogInsertion\n ],\n exports: [\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogLink,\n BbDialogActions\n ]\n})\nexport class DialogModule {\n\n static forRoot(): ModuleWithProviders<DialogModule> {\n return {\n ngModule: DialogModule,\n providers: [Dialog]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.BbDialogInsertion","i1.BbDialogConfig","i2.BbDialogRef","i3","i5.BbDialogModal","i6.BbDialogHeader","i7.BbDialogActions"],"mappings":"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"}
|