@cuby-ui/core 0.0.148 → 0.0.149

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import type { OnDestroy, OnInit } from '@angular/core';
1
+ import type { OnInit } from '@angular/core';
2
2
  import { Type } from '@angular/core';
3
3
  import { TemplateRef } from '@angular/core';
4
4
  import type { CuiValueOf } from '@cuby-ui/cdk';
@@ -11,8 +11,7 @@ declare const ContentType: {
11
11
  readonly Component: "component";
12
12
  };
13
13
  type IContentType = CuiValueOf<typeof ContentType>;
14
- export declare class CuiDialogComponent implements OnInit, OnDestroy {
15
- protected readonly document: Document;
14
+ export declare class CuiDialogComponent implements OnInit {
16
15
  protected readonly element: HTMLElement;
17
16
  protected readonly context: import("@cuby-ui/cdk").CuiPopover<import("./dialog.interfaces").CuiDialogOptions<any>>;
18
17
  protected readonly LAST_OF_TYPE_SELECTOR = ":last-of-type";
@@ -24,13 +23,10 @@ export declare class CuiDialogComponent implements OnInit, OnDestroy {
24
23
  protected contentType: IContentType;
25
24
  protected get size(): CuiDialogSize;
26
25
  ngOnInit(): void;
27
- ngOnDestroy(): void;
28
26
  protected get contentTemplateRef(): TemplateRef<unknown>;
29
27
  protected get componentType(): Type<unknown>;
30
28
  protected onEscape(): void;
31
29
  private initContentType;
32
- private initBodyScrollHiding;
33
- private destroyBodyScrollHiding;
34
30
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiDialogComponent, never>;
35
31
  static ɵcmp: i0.ɵɵComponentDeclaration<CuiDialogComponent, "cui-dialog", never, {}, {}, never, never, false, [{ directive: typeof i1.CuiFocusTrapDirective; inputs: {}; outputs: {}; }]>;
36
32
  }
@@ -5,13 +5,14 @@ import type { Observable } from 'rxjs';
5
5
  import type { CuiDialogOptions } from './dialog.interfaces';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class CuiDialogsComponent implements OnInit {
8
+ private readonly document;
8
9
  private readonly destroy$;
9
10
  protected readonly dialogs$: Observable<ReadonlyArray<CuiPopover<CuiDialogOptions>>>;
10
11
  protected dialogInjectorCache: Map<string, Injector>;
11
12
  protected dialogInjectors: ReadonlyArray<Injector>;
12
13
  ngOnInit(): void;
13
14
  protected trackByFn(_: number, dialog: CuiPopover<CuiDialogOptions>): string;
14
- protected initDialogInjectorsSubscription(): void;
15
+ protected initDialogsSubscription(): void;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiDialogsComponent, never>;
16
17
  static ɵcmp: i0.ɵɵComponentDeclaration<CuiDialogsComponent, "cui-dialogs", never, {}, {}, never, never, false, never>;
17
18
  }
@@ -1,5 +1,4 @@
1
1
  import { HostBinding, HostListener } from '@angular/core';
2
- import { DOCUMENT } from '@angular/common';
3
2
  import { ChangeDetectionStrategy, Component, inject, TemplateRef, ElementRef } from '@angular/core';
4
3
  import { CuiFocusTrapDirective } from '@cuby-ui/cdk';
5
4
  import { CUI_DIALOG_CONTEXT } from './dialog.tokens';
@@ -14,7 +13,6 @@ const ContentType = {
14
13
  };
15
14
  export class CuiDialogComponent {
16
15
  constructor() {
17
- this.document = inject(DOCUMENT);
18
16
  this.element = inject(ElementRef).nativeElement;
19
17
  this.context = inject(CUI_DIALOG_CONTEXT);
20
18
  this.LAST_OF_TYPE_SELECTOR = ':last-of-type';
@@ -25,12 +23,8 @@ export class CuiDialogComponent {
25
23
  return this.context.size;
26
24
  }
27
25
  ngOnInit() {
28
- this.initBodyScrollHiding();
29
26
  this.initContentType();
30
27
  }
31
- ngOnDestroy() {
32
- this.destroyBodyScrollHiding();
33
- }
34
28
  get contentTemplateRef() {
35
29
  return this.context.content;
36
30
  }
@@ -54,12 +48,6 @@ export class CuiDialogComponent {
54
48
  return;
55
49
  }
56
50
  }
57
- initBodyScrollHiding() {
58
- this.document.body.style.overflow = 'hidden';
59
- }
60
- destroyBodyScrollHiding() {
61
- this.document.body.style.overflow = '';
62
- }
63
51
  }
64
52
  CuiDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
65
53
  CuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiDialogComponent, selector: "cui-dialog", host: { listeners: { "document:keydown.escape": "onEscape($event)" }, properties: { "attr.data-size": "this.size" } }, hostDirectives: [{ directive: i1.CuiFocusTrapDirective }], ngImport: i0, template: "<ng-container [ngSwitch]=\"contentType\">\n <ng-container *ngSwitchCase=\"ContentType.String\">\n {{ context.content }}\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.Template\">\n <ng-container *ngTemplateOutlet=\"contentTemplateRef; context: context\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.Component\">\n <div class=\"c-component-container\">\n <ng-container *ngComponentOutlet=\"componentType\"></ng-container>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{box-shadow:0 2px 4px -1px #0000000f,0 4px 6px -1px #0000001a;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;box-sizing:border-box;max-height:calc(100vh - 40px);width:100%;border-radius:12px;outline:none;background:var(--cui-base-0);font-family:var(--cui-main-font)}:host:last-of-type{z-index:1}:host[data-size=auto]{width:auto}:host[data-size=xl]{max-width:1080px}.c-component-container{display:contents}.c-component-container ::ng-deep>*{display:contents}\n"], dependencies: [{ kind: "directive", type: i2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
@@ -73,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
73
61
  type: HostListener,
74
62
  args: ['document:keydown.escape', ['$event']]
75
63
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRXJELHNDQUFzQztBQUN0QyxNQUFNLFdBQVcsR0FBRztJQUNsQixNQUFNLEVBQUUsUUFBUTtJQUNoQixRQUFRLEVBQUUsVUFBVTtJQUNwQixTQUFTLEVBQUUsV0FBVztDQUNkLENBQUM7QUFXWCxNQUFNLE9BQU8sa0JBQWtCO0lBUC9CO1FBUXFCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUE0QixDQUFDO1FBQzFELFlBQU8sR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVyQywwQkFBcUIsR0FBRyxlQUFlLENBQUM7UUFFeEMsZ0JBQVcsR0FBRyxXQUFXLENBQUM7UUFFbkMsZ0JBQVcsR0FBaUIsV0FBVyxDQUFDLFNBQVMsQ0FBQztLQXdEN0Q7SUF0REMsSUFDYyxJQUFJO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELElBQWMsa0JBQWtCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUErQixDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFjLGFBQWE7UUFDekIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQXdCLENBQUM7SUFDL0MsQ0FBQztJQUdTLFFBQVE7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7WUFDckQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUVyQyxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssQ0FBQyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztnQkFFdEMsT0FBTztZQUVULEtBQUssQ0FBQyxPQUFPLFlBQVksV0FBVyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUM7Z0JBRXhDLE9BQU87U0FDVjtJQUNILENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDL0MsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN6QyxDQUFDOztnSEFoRVUsa0JBQWtCO29HQUFsQixrQkFBa0Isb09DMUIvQiwyaEJBYUE7NEZEYWEsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0IsQ0FBQyxxQkFBcUIsQ0FBQzs4QkFjekIsSUFBSTtzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBdUJuQixRQUFRO3NCQURqQixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDdWlWYWx1ZU9mIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUZvY3VzVHJhcERpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5cbmltcG9ydCB0eXBlIHsgQ3VpRGlhbG9nU2l6ZSB9IGZyb20gJy4vZGlhbG9nLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ1VJX0RJQUxPR19DT05URVhUIH0gZnJvbSAnLi9kaWFsb2cudG9rZW5zJztcblxuLy8gVE9ETzog0YHQtNC10LvQsNGC0Ywg0YHRgtGA0YPQutGC0YPRgNC90YPRjiDQtNC40YDQtdC60YLQuNCy0YNcbmNvbnN0IENvbnRlbnRUeXBlID0ge1xuICBTdHJpbmc6ICdzdHJpbmcnLFxuICBUZW1wbGF0ZTogJ3RlbXBsYXRlJyxcbiAgQ29tcG9uZW50OiAnY29tcG9uZW50J1xufSBhcyBjb25zdDtcblxudHlwZSBJQ29udGVudFR5cGUgPSBDdWlWYWx1ZU9mPHR5cGVvZiBDb250ZW50VHlwZT47XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1aS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2cuc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtDdWlGb2N1c1RyYXBEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIEN1aURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRleHQgPSBpbmplY3QoQ1VJX0RJQUxPR19DT05URVhUKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgTEFTVF9PRl9UWVBFX1NFTEVDVE9SID0gJzpsYXN0LW9mLXR5cGUnO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBDb250ZW50VHlwZSA9IENvbnRlbnRUeXBlO1xuXG4gIHByb3RlY3RlZCBjb250ZW50VHlwZTogSUNvbnRlbnRUeXBlID0gQ29udGVudFR5cGUuQ29tcG9uZW50O1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICBwcm90ZWN0ZWQgZ2V0IHNpemUoKTogQ3VpRGlhbG9nU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5zaXplO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdEJvZHlTY3JvbGxIaWRpbmcoKTtcbiAgICB0aGlzLmluaXRDb250ZW50VHlwZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveUJvZHlTY3JvbGxIaWRpbmcoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29udGVudFRlbXBsYXRlUmVmKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmNvbnRlbnQgYXMgVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGNvbXBvbmVudFR5cGUoKTogVHlwZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5jb250ZW50IGFzIFR5cGU8dW5rbm93bj47XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvbkVzY2FwZSgpOiB2b2lkIHtcbiAgICAgIGlmICghdGhpcy5lbGVtZW50Lm1hdGNoZXModGhpcy5MQVNUX09GX1RZUEVfU0VMRUNUT1IpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jb250ZXh0LmNvbXBsZXRlV2l0aCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q29udGVudFR5cGUoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGV4dC5jb250ZW50O1xuXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpOlxuICAgICAgICB0aGlzLmNvbnRlbnRUeXBlID0gQ29udGVudFR5cGUuU3RyaW5nO1xuXG4gICAgICAgIHJldHVybjtcblxuICAgICAgY2FzZSAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKTpcbiAgICAgICAgdGhpcy5jb250ZW50VHlwZSA9IENvbnRlbnRUeXBlLlRlbXBsYXRlO1xuXG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRCb2R5U2Nyb2xsSGlkaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95Qm9keVNjcm9sbEhpZGluZygpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnJztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29udGVudFR5cGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQ29udGVudFR5cGUuU3RyaW5nXCI+XG4gICAge3sgY29udGV4dC5jb250ZW50IH19XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDb250ZW50VHlwZS5UZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVSZWY7IGNvbnRleHQ6IGNvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbnRlbnRUeXBlLkNvbXBvbmVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjLWNvbXBvbmVudC1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiY29tcG9uZW50VHlwZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFckQsc0NBQXNDO0FBQ3RDLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFNBQVMsRUFBRSxXQUFXO0NBQ2QsQ0FBQztBQVdYLE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFRcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUE0QixDQUFDO1FBQzFELFlBQU8sR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVyQywwQkFBcUIsR0FBRyxlQUFlLENBQUM7UUFFeEMsZ0JBQVcsR0FBRyxXQUFXLENBQUM7UUFFbkMsZ0JBQVcsR0FBaUIsV0FBVyxDQUFDLFNBQVMsQ0FBQztLQTJDN0Q7SUF6Q0MsSUFDYyxJQUFJO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQWMsa0JBQWtCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUErQixDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFjLGFBQWE7UUFDekIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQXdCLENBQUM7SUFDL0MsQ0FBQztJQUdTLFFBQVE7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7WUFDckQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUVyQyxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssQ0FBQyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztnQkFFdEMsT0FBTztZQUVULEtBQUssQ0FBQyxPQUFPLFlBQVksV0FBVyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUM7Z0JBRXhDLE9BQU87U0FDVjtJQUNILENBQUM7O2dIQWxEVSxrQkFBa0I7b0dBQWxCLGtCQUFrQixvT0N6Qi9CLDJoQkFhQTs0RkRZYSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQixDQUFDLHFCQUFxQixDQUFDOzhCQWF6QixJQUFJO3NCQURqQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFrQm5CLFFBQVE7c0JBRGpCLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDdWlWYWx1ZU9mIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUZvY3VzVHJhcERpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5cbmltcG9ydCB0eXBlIHsgQ3VpRGlhbG9nU2l6ZSB9IGZyb20gJy4vZGlhbG9nLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ1VJX0RJQUxPR19DT05URVhUIH0gZnJvbSAnLi9kaWFsb2cudG9rZW5zJztcblxuLy8gVE9ETzog0YHQtNC10LvQsNGC0Ywg0YHRgtGA0YPQutGC0YPRgNC90YPRjiDQtNC40YDQtdC60YLQuNCy0YNcbmNvbnN0IENvbnRlbnRUeXBlID0ge1xuICBTdHJpbmc6ICdzdHJpbmcnLFxuICBUZW1wbGF0ZTogJ3RlbXBsYXRlJyxcbiAgQ29tcG9uZW50OiAnY29tcG9uZW50J1xufSBhcyBjb25zdDtcblxudHlwZSBJQ29udGVudFR5cGUgPSBDdWlWYWx1ZU9mPHR5cGVvZiBDb250ZW50VHlwZT47XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1aS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2cuc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtDdWlGb2N1c1RyYXBEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIEN1aURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0KENVSV9ESUFMT0dfQ09OVEVYVCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IExBU1RfT0ZfVFlQRV9TRUxFQ1RPUiA9ICc6bGFzdC1vZi10eXBlJztcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ29udGVudFR5cGUgPSBDb250ZW50VHlwZTtcblxuICBwcm90ZWN0ZWQgY29udGVudFR5cGU6IElDb250ZW50VHlwZSA9IENvbnRlbnRUeXBlLkNvbXBvbmVudDtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgcHJvdGVjdGVkIGdldCBzaXplKCk6IEN1aURpYWxvZ1NpemUge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQuc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRDb250ZW50VHlwZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBjb250ZW50VGVtcGxhdGVSZWYoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQuY29udGVudCBhcyBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29tcG9uZW50VHlwZSgpOiBUeXBlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmNvbnRlbnQgYXMgVHlwZTx1bmtub3duPjtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uRXNjYXBlKCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLmVsZW1lbnQubWF0Y2hlcyh0aGlzLkxBU1RfT0ZfVFlQRV9TRUxFQ1RPUikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNvbnRleHQuY29tcGxldGVXaXRoKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRDb250ZW50VHlwZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5jb250ZXh0LmNvbnRlbnQ7XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJyk6XG4gICAgICAgIHRoaXMuY29udGVudFR5cGUgPSBDb250ZW50VHlwZS5TdHJpbmc7XG5cbiAgICAgICAgcmV0dXJuO1xuXG4gICAgICBjYXNlIChjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpOlxuICAgICAgICB0aGlzLmNvbnRlbnRUeXBlID0gQ29udGVudFR5cGUuVGVtcGxhdGU7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29udGVudFR5cGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQ29udGVudFR5cGUuU3RyaW5nXCI+XG4gICAge3sgY29udGV4dC5jb250ZW50IH19XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDb250ZW50VHlwZS5UZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVSZWY7IGNvbnRleHQ6IGNvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNvbnRlbnRUeXBlLkNvbXBvbmVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjLWNvbXBvbmVudC1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiY29tcG9uZW50VHlwZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,4 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, inject, Injector } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
2
3
  import { CuiDestroyService } from '@cuby-ui/cdk';
3
4
  import { takeUntil } from 'rxjs';
4
5
  import { CUI_DIALOG_CONTEXT, CUI_DIALOGS } from './dialog.tokens';
@@ -7,20 +8,22 @@ import * as i1 from "@angular/common";
7
8
  import * as i2 from "@cuby-ui/cdk";
8
9
  export class CuiDialogsComponent {
9
10
  constructor() {
11
+ this.document = inject(DOCUMENT);
10
12
  this.destroy$ = inject(CuiDestroyService, { self: true });
11
13
  this.dialogs$ = inject(CUI_DIALOGS);
12
14
  this.dialogInjectorCache = new Map();
13
15
  }
14
16
  ngOnInit() {
15
- this.initDialogInjectorsSubscription();
17
+ this.initDialogsSubscription();
16
18
  }
17
19
  trackByFn(_, dialog) {
18
20
  return dialog.id;
19
21
  }
20
- initDialogInjectorsSubscription() {
22
+ initDialogsSubscription() {
21
23
  this.dialogs$
22
24
  .pipe(takeUntil(this.destroy$))
23
25
  .subscribe(dialogs => {
26
+ this.document.body.style.overflow = dialogs.length ? 'hidden' : '';
24
27
  this.dialogInjectors = dialogs.map(dialog => {
25
28
  if (!this.dialogInjectorCache.has(dialog.id)) {
26
29
  this.dialogInjectorCache.set(dialog.id, Injector.create({
@@ -45,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
45
48
  type: Component,
46
49
  args: [{ selector: 'cui-dialogs', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], template: "<ng-container *cuiLet=\"dialogs$ | async as dialogs\">\n <ng-container *ngFor=\"let dialog of dialogs; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"dialog.component; injector: dialogInjectors[i]\"></ng-container>\n </ng-container>\n <div\n *ngIf=\"dialogs!.length\"\n class=\"c-overlay\"\n ></div>\n</ng-container>\n", styles: [":host{isolation:isolate}.c-overlay{position:fixed;inset:0;background:var(--cui-base);opacity:.3}\n"] }]
47
50
  }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2dzLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVVsRSxNQUFNLE9BQU8sbUJBQW1CO0lBUGhDO1FBUW1CLGFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVuRCxhQUFRLEdBQTRELE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRyx3QkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztLQW1DN0Q7SUFoQ1EsUUFBUTtRQUNiLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFUyxTQUFTLENBQUMsQ0FBUyxFQUFFLE1BQW9DO1FBQ2pFLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRVMsK0JBQStCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRO2FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUM1QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQzt3QkFDdEQsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO3dCQUM5RCxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVE7cUJBQ3hCLENBQUMsQ0FBQyxDQUFDO2lCQUNMO2dCQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFFLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUMvQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxFQUFFO29CQUNsRCxPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQXRDVSxtQkFBbUI7cUdBQW5CLG1CQUFtQixzQ0FGbkIsQ0FBQyxpQkFBaUIsQ0FBQywwQkNmaEMsd1dBU0E7NEZEUWEsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQ3VpUG9wb3ZlciB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBDdWlEZXN0cm95U2VydmljZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDVUlfRElBTE9HX0NPTlRFWFQsIENVSV9ESUFMT0dTIH0gZnJvbSAnLi9kaWFsb2cudG9rZW5zJztcbmltcG9ydCB0eXBlIHsgQ3VpRGlhbG9nT3B0aW9ucyB9IGZyb20gJy4vZGlhbG9nLmludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdWktZGlhbG9ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2dzLnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2dzLnN0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0N1aURlc3Ryb3lTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBDdWlEaWFsb2dzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IGluamVjdChDdWlEZXN0cm95U2VydmljZSwgeyBzZWxmOiB0cnVlIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBkaWFsb2dzJDogT2JzZXJ2YWJsZTxSZWFkb25seUFycmF5PEN1aVBvcG92ZXI8Q3VpRGlhbG9nT3B0aW9ucz4+PiA9IGluamVjdChDVUlfRElBTE9HUyk7XG4gIHByb3RlY3RlZCBkaWFsb2dJbmplY3RvckNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEluamVjdG9yPigpO1xuICBwcm90ZWN0ZWQgZGlhbG9nSW5qZWN0b3JzITogUmVhZG9ubHlBcnJheTxJbmplY3Rvcj47XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdERpYWxvZ0luamVjdG9yc1N1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRyYWNrQnlGbihfOiBudW1iZXIsIGRpYWxvZzogQ3VpUG9wb3ZlcjxDdWlEaWFsb2dPcHRpb25zPik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRpYWxvZy5pZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0RGlhbG9nSW5qZWN0b3JzU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9ncyRcbiAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgLnN1YnNjcmliZShkaWFsb2dzID0+IHtcbiAgICAgIHRoaXMuZGlhbG9nSW5qZWN0b3JzID0gZGlhbG9ncy5tYXAoZGlhbG9nID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmRpYWxvZ0luamVjdG9yQ2FjaGUuaGFzKGRpYWxvZy5pZCkpIHtcbiAgICAgICAgICB0aGlzLmRpYWxvZ0luamVjdG9yQ2FjaGUuc2V0KGRpYWxvZy5pZCwgSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ1VJX0RJQUxPR19DT05URVhULCB1c2VWYWx1ZTogZGlhbG9nIH1dLFxuICAgICAgICAgICAgcGFyZW50OiBkaWFsb2cuaW5qZWN0b3JcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2dJbmplY3RvckNhY2hlLmdldChkaWFsb2cuaWQpITtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmRpYWxvZ0luamVjdG9yQ2FjaGUuZm9yRWFjaCgoXywgZGlhbG9nSWQpID0+IHtcbiAgICAgICAgaWYgKGRpYWxvZ3MuZmluZChkaWFsb2cgPT4gZGlhbG9nLmlkID09PSBkaWFsb2dJZCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpYWxvZ0luamVjdG9yQ2FjaGUuZGVsZXRlKGRpYWxvZ0lkKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpjdWlMZXQ9XCJkaWFsb2dzJCB8IGFzeW5jIGFzIGRpYWxvZ3NcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZGlhbG9nIG9mIGRpYWxvZ3M7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiZGlhbG9nLmNvbXBvbmVudDsgaW5qZWN0b3I6IGRpYWxvZ0luamVjdG9yc1tpXVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiZGlhbG9ncyEubGVuZ3RoXCJcbiAgICBjbGFzcz1cImMtb3ZlcmxheVwiXG4gID48L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2dzLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFVbEUsTUFBTSxPQUFPLG1CQUFtQjtJQVBoQztRQVFtQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVuRCxhQUFRLEdBQTRELE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRyx3QkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztLQW9DN0Q7SUFqQ1EsUUFBUTtRQUNiLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFUyxTQUFTLENBQUMsQ0FBUyxFQUFFLE1BQW9DO1FBQ2pFLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLElBQUksQ0FBQyxRQUFRO2FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQzVDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO3dCQUN0RCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7d0JBQzlELE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUTtxQkFDeEIsQ0FBQyxDQUFDLENBQUM7aUJBQ0w7Z0JBRUQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUUsQ0FBQztZQUNsRCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQy9DLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLEVBQUU7b0JBQ2xELE9BQU87aUJBQ1I7Z0JBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7aUhBeENVLG1CQUFtQjtxR0FBbkIsbUJBQW1CLHNDQUZuQixDQUFDLGlCQUFpQixDQUFDLDBCQ2hCaEMsd1dBU0E7NEZEU2EsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHsgQ3VpUG9wb3ZlciB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBDdWlEZXN0cm95U2VydmljZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDVUlfRElBTE9HX0NPTlRFWFQsIENVSV9ESUFMT0dTIH0gZnJvbSAnLi9kaWFsb2cudG9rZW5zJztcbmltcG9ydCB0eXBlIHsgQ3VpRGlhbG9nT3B0aW9ucyB9IGZyb20gJy4vZGlhbG9nLmludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdWktZGlhbG9ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2dzLnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2dzLnN0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW0N1aURlc3Ryb3lTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBDdWlEaWFsb2dzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBpbmplY3QoQ3VpRGVzdHJveVNlcnZpY2UsIHsgc2VsZjogdHJ1ZSB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlhbG9ncyQ6IE9ic2VydmFibGU8UmVhZG9ubHlBcnJheTxDdWlQb3BvdmVyPEN1aURpYWxvZ09wdGlvbnM+Pj4gPSBpbmplY3QoQ1VJX0RJQUxPR1MpO1xuICBwcm90ZWN0ZWQgZGlhbG9nSW5qZWN0b3JDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBJbmplY3Rvcj4oKTtcbiAgcHJvdGVjdGVkIGRpYWxvZ0luamVjdG9ycyE6IFJlYWRvbmx5QXJyYXk8SW5qZWN0b3I+O1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXREaWFsb2dzU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdHJhY2tCeUZuKF86IG51bWJlciwgZGlhbG9nOiBDdWlQb3BvdmVyPEN1aURpYWxvZ09wdGlvbnM+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGlhbG9nLmlkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXREaWFsb2dzU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9ncyRcbiAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgLnN1YnNjcmliZShkaWFsb2dzID0+IHtcbiAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IGRpYWxvZ3MubGVuZ3RoID8gJ2hpZGRlbicgOiAnJztcbiAgICAgIHRoaXMuZGlhbG9nSW5qZWN0b3JzID0gZGlhbG9ncy5tYXAoZGlhbG9nID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmRpYWxvZ0luamVjdG9yQ2FjaGUuaGFzKGRpYWxvZy5pZCkpIHtcbiAgICAgICAgICB0aGlzLmRpYWxvZ0luamVjdG9yQ2FjaGUuc2V0KGRpYWxvZy5pZCwgSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ1VJX0RJQUxPR19DT05URVhULCB1c2VWYWx1ZTogZGlhbG9nIH1dLFxuICAgICAgICAgICAgcGFyZW50OiBkaWFsb2cuaW5qZWN0b3JcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2dJbmplY3RvckNhY2hlLmdldChkaWFsb2cuaWQpITtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmRpYWxvZ0luamVjdG9yQ2FjaGUuZm9yRWFjaCgoXywgZGlhbG9nSWQpID0+IHtcbiAgICAgICAgaWYgKGRpYWxvZ3MuZmluZChkaWFsb2cgPT4gZGlhbG9nLmlkID09PSBkaWFsb2dJZCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpYWxvZ0luamVjdG9yQ2FjaGUuZGVsZXRlKGRpYWxvZ0lkKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpjdWlMZXQ9XCJkaWFsb2dzJCB8IGFzeW5jIGFzIGRpYWxvZ3NcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZGlhbG9nIG9mIGRpYWxvZ3M7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiZGlhbG9nLmNvbXBvbmVudDsgaW5qZWN0b3I6IGRpYWxvZ0luamVjdG9yc1tpXVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiZGlhbG9ncyEubGVuZ3RoXCJcbiAgICBjbGFzcz1cImMtb3ZlcmxheVwiXG4gID48L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -725,20 +725,22 @@ const CUI_DIALOG_CONTEXT = new InjectionToken('');
725
725
 
726
726
  class CuiDialogsComponent {
727
727
  constructor() {
728
+ this.document = inject(DOCUMENT);
728
729
  this.destroy$ = inject(CuiDestroyService, { self: true });
729
730
  this.dialogs$ = inject(CUI_DIALOGS);
730
731
  this.dialogInjectorCache = new Map();
731
732
  }
732
733
  ngOnInit() {
733
- this.initDialogInjectorsSubscription();
734
+ this.initDialogsSubscription();
734
735
  }
735
736
  trackByFn(_, dialog) {
736
737
  return dialog.id;
737
738
  }
738
- initDialogInjectorsSubscription() {
739
+ initDialogsSubscription() {
739
740
  this.dialogs$
740
741
  .pipe(takeUntil(this.destroy$))
741
742
  .subscribe(dialogs => {
743
+ this.document.body.style.overflow = dialogs.length ? 'hidden' : '';
742
744
  this.dialogInjectors = dialogs.map(dialog => {
743
745
  if (!this.dialogInjectorCache.has(dialog.id)) {
744
746
  this.dialogInjectorCache.set(dialog.id, Injector.create({
@@ -794,7 +796,6 @@ const ContentType = {
794
796
  };
795
797
  class CuiDialogComponent {
796
798
  constructor() {
797
- this.document = inject(DOCUMENT);
798
799
  this.element = inject(ElementRef).nativeElement;
799
800
  this.context = inject(CUI_DIALOG_CONTEXT);
800
801
  this.LAST_OF_TYPE_SELECTOR = ':last-of-type';
@@ -805,12 +806,8 @@ class CuiDialogComponent {
805
806
  return this.context.size;
806
807
  }
807
808
  ngOnInit() {
808
- this.initBodyScrollHiding();
809
809
  this.initContentType();
810
810
  }
811
- ngOnDestroy() {
812
- this.destroyBodyScrollHiding();
813
- }
814
811
  get contentTemplateRef() {
815
812
  return this.context.content;
816
813
  }
@@ -834,12 +831,6 @@ class CuiDialogComponent {
834
831
  return;
835
832
  }
836
833
  }
837
- initBodyScrollHiding() {
838
- this.document.body.style.overflow = 'hidden';
839
- }
840
- destroyBodyScrollHiding() {
841
- this.document.body.style.overflow = '';
842
- }
843
834
  }
844
835
  CuiDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
845
836
  CuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiDialogComponent, selector: "cui-dialog", host: { listeners: { "document:keydown.escape": "onEscape($event)" }, properties: { "attr.data-size": "this.size" } }, hostDirectives: [{ directive: i2.CuiFocusTrapDirective }], ngImport: i0, template: "<ng-container [ngSwitch]=\"contentType\">\n <ng-container *ngSwitchCase=\"ContentType.String\">\n {{ context.content }}\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.Template\">\n <ng-container *ngTemplateOutlet=\"contentTemplateRef; context: context\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"ContentType.Component\">\n <div class=\"c-component-container\">\n <ng-container *ngComponentOutlet=\"componentType\"></ng-container>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{box-shadow:0 2px 4px -1px #0000000f,0 4px 6px -1px #0000001a;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;box-sizing:border-box;max-height:calc(100vh - 40px);width:100%;border-radius:12px;outline:none;background:var(--cui-base-0);font-family:var(--cui-main-font)}:host:last-of-type{z-index:1}:host[data-size=auto]{width:auto}:host[data-size=xl]{max-width:1080px}.c-component-container{display:contents}.c-component-container ::ng-deep>*{display:contents}\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });