ng-prime-tools 1.0.51 → 1.0.52

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,3 +1,3 @@
1
1
  // src/lib/models/pt-dialog-config.model.ts
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZGlhbG9nLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL3B0LWRpYWxvZy1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2xpYi9tb2RlbHMvcHQtZGlhbG9nLWNvbmZpZy5tb2RlbC50c1xuXG5leHBvcnQgdHlwZSBEaWFsb2dQb3NpdGlvbiA9XG4gIHwgJ3JpZ2h0J1xuICB8ICdsZWZ0J1xuICB8ICdjZW50ZXInXG4gIHwgJ3RvcCdcbiAgfCAnYm90dG9tJ1xuICB8ICd0b3BsZWZ0J1xuICB8ICd0b3ByaWdodCdcbiAgfCAnYm90dG9tbGVmdCdcbiAgfCAnYm90dG9tcmlnaHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBURGlhbG9nQ29uZmlnIHtcbiAgLyoqIFRpdGxlIHRleHQgaW4gdGhlIGhlYWRlciAqL1xuICBoZWFkZXI/OiBzdHJpbmc7XG5cbiAgLyoqIElubGluZSBzdHlsZSBmb3IgdGhlIHdob2xlIGRpYWxvZyBjb250YWluZXIgKFByaW1lTkcgW3N0eWxlXSkgKi9cbiAgc3R5bGU/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIC8qKiBFeHRyYSBjbGFzc2VzIGFwcGxpZWQgdG8gUHJpbWVORyBkaWFsb2cgKi9cbiAgc3R5bGVDbGFzcz86IHN0cmluZztcblxuICAvKiogT3B0aW9uYWwgaWNvbiBpbiB0aGUgaGVhZGVyIChlLmcuICdwaSBwaS1pbmZvLWNpcmNsZSB0ZXh0LWJsdWUtNTAwJykgKi9cbiAgaGVhZGVySWNvbkNsYXNzPzogc3RyaW5nO1xuXG4gIC8qKiBPcHRpb25hbCBib2R5IG1heCB3aWR0aCAvIGhlaWdodCAoZS5nLiAnNTAwcHgnLCAnNjB2aCcpICovXG4gIGJvZHlXaWR0aD86IHN0cmluZztcbiAgYm9keUhlaWdodD86IHN0cmluZztcblxuICAvKiogRW5hYmxlIHNjcm9sbCB3aGVuIGJvZHkgZXhjZWVkcyBnaXZlbiBoZWlnaHQvd2lkdGggKGRlZmF1bHQ6IHRydWUpICovXG4gIGJvZHlTY3JvbGxhYmxlPzogYm9vbGVhbjtcblxuICAvKiogQ29udHJvbCBmb290ZXIgdmlzaWJpbGl0eSAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgc2hvd0Zvb3Rlcj86IGJvb2xlYW47XG5cbiAgLyoqIFByaW1lTkcgZGlhbG9nIGJlaGF2aW9yIGZsYWdzICovXG4gIG1vZGFsPzogYm9vbGVhbjtcbiAgY2xvc2FibGU/OiBib29sZWFuO1xuICBkcmFnZ2FibGU/OiBib29sZWFuO1xuICByZXNpemFibGU/OiBib29sZWFuO1xuICBtYXhpbWl6YWJsZT86IGJvb2xlYW47XG4gIGRpc21pc3NhYmxlTWFzaz86IGJvb2xlYW47XG4gIGNsb3NlT25Fc2NhcGU/OiBib29sZWFuO1xuICBibG9ja1Njcm9sbD86IGJvb2xlYW47XG5cbiAgLyoqIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgKi9cbiAgYnJlYWtwb2ludHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKiBEaWFsb2cgcG9zaXRpb24gKFByaW1lTkcgPHAtZGlhbG9nPiBwb3NpdGlvbikgKi9cbiAgcG9zaXRpb24/OiBEaWFsb2dQb3NpdGlvbjtcblxuICAvKiogRXh0cmEgc3R5bGUgZm9yIGNvbnRlbnQgKFByaW1lTkcgW2NvbnRlbnRTdHlsZV0pICovXG4gIGNvbnRlbnRTdHlsZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZGlhbG9nLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL3B0LWRpYWxvZy1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2xpYi9tb2RlbHMvcHQtZGlhbG9nLWNvbmZpZy5tb2RlbC50c1xuXG5pbXBvcnQgeyBTZXZlcml0eUVudW0gfSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCB0eXBlIERpYWxvZ1Bvc2l0aW9uID1cbiAgfCAncmlnaHQnXG4gIHwgJ2xlZnQnXG4gIHwgJ2NlbnRlcidcbiAgfCAndG9wJ1xuICB8ICdib3R0b20nXG4gIHwgJ3RvcGxlZnQnXG4gIHwgJ3RvcHJpZ2h0J1xuICB8ICdib3R0b21sZWZ0J1xuICB8ICdib3R0b21yaWdodCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUFREaWFsb2dDb25maWcge1xuICAvKiogVGl0bGUgdGV4dCBpbiB0aGUgaGVhZGVyICovXG4gIGhlYWRlcj86IHN0cmluZztcblxuICAvKiogSW5saW5lIHN0eWxlIGZvciB0aGUgd2hvbGUgZGlhbG9nIGNvbnRhaW5lciAoUHJpbWVORyBbc3R5bGVdKSAqL1xuICBzdHlsZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgLyoqIEV4dHJhIGNsYXNzZXMgYXBwbGllZCB0byBQcmltZU5HIGRpYWxvZyAqL1xuICBzdHlsZUNsYXNzPzogc3RyaW5nO1xuXG4gIC8qKiBPcHRpb25hbCBpY29uIGluIHRoZSBoZWFkZXIgKGUuZy4gJ3BpIHBpLWluZm8tY2lyY2xlIHRleHQtYmx1ZS01MDAnKSAqL1xuICBoZWFkZXJJY29uQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqIE9wdGlvbmFsIGJvZHkgbWF4IHdpZHRoIC8gaGVpZ2h0IChlLmcuICc1MDBweCcsICc2MHZoJykgKi9cbiAgYm9keVdpZHRoPzogc3RyaW5nO1xuICBib2R5SGVpZ2h0Pzogc3RyaW5nO1xuXG4gIC8qKiBFbmFibGUgc2Nyb2xsIHdoZW4gYm9keSBleGNlZWRzIGdpdmVuIGhlaWdodC93aWR0aCAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgYm9keVNjcm9sbGFibGU/OiBib29sZWFuO1xuXG4gIC8qKiBDb250cm9sIGZvb3RlciB2aXNpYmlsaXR5IChkZWZhdWx0OiB0cnVlKSAqL1xuICBzaG93Rm9vdGVyPzogYm9vbGVhbjtcblxuICAvKiogUHJpbWVORyBkaWFsb2cgYmVoYXZpb3IgZmxhZ3MgKi9cbiAgbW9kYWw/OiBib29sZWFuO1xuICBjbG9zYWJsZT86IGJvb2xlYW47XG4gIGRyYWdnYWJsZT86IGJvb2xlYW47XG4gIHJlc2l6YWJsZT86IGJvb2xlYW47XG4gIG1heGltaXphYmxlPzogYm9vbGVhbjtcbiAgZGlzbWlzc2FibGVNYXNrPzogYm9vbGVhbjtcbiAgY2xvc2VPbkVzY2FwZT86IGJvb2xlYW47XG4gIGJsb2NrU2Nyb2xsPzogYm9vbGVhbjtcblxuICAvKiogUmVzcG9uc2l2ZSBicmVha3BvaW50cyAqL1xuICBicmVha3BvaW50cz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqIERpYWxvZyBwb3NpdGlvbiAoUHJpbWVORyA8cC1kaWFsb2c+IHBvc2l0aW9uKSAqL1xuICBwb3NpdGlvbj86IERpYWxvZ1Bvc2l0aW9uO1xuXG4gIC8qKiBFeHRyYSBzdHlsZSBmb3IgY29udGVudCAoUHJpbWVORyBbY29udGVudFN0eWxlXSkgKi9cbiAgY29udGVudFN0eWxlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblxuICBkaWFsb2dTdHlsZT86IFNldmVyaXR5RW51bTtcbn1cbiJdfQ==
@@ -1,9 +1,11 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { SeverityEnum } from '../enums';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/common";
4
5
  import * as i2 from "primeng/dialog";
5
6
  import * as i3 from "primeng/api";
6
7
  const DEFAULT_DIALOG_CONFIG = {
8
+ dialogStyle: SeverityEnum.INFO,
7
9
  modal: true,
8
10
  closable: true,
9
11
  draggable: true,
@@ -37,12 +39,38 @@ export class PTDialogComponent {
37
39
  set visible(v) {
38
40
  this._internalVisible = v;
39
41
  }
42
+ /** ✅ Same mapping logic as pt-confirm-dialog */
43
+ get dialogSeverity() {
44
+ const style = this.config.dialogStyle ?? SeverityEnum.INFO;
45
+ return style === SeverityEnum.DANGER
46
+ ? SeverityEnum.DANGER
47
+ : style === SeverityEnum.WARNING
48
+ ? SeverityEnum.WARNING
49
+ : style === SeverityEnum.SUCCESS
50
+ ? SeverityEnum.SUCCESS
51
+ : SeverityEnum.INFO;
52
+ }
53
+ /** ✅ Used in [styleClass] to apply CSS theme per severity */
54
+ getSeverityClass() {
55
+ switch (this.dialogSeverity) {
56
+ case SeverityEnum.DANGER:
57
+ return 'pt-dialog-danger';
58
+ case SeverityEnum.WARNING:
59
+ return 'pt-dialog-warning';
60
+ case SeverityEnum.SUCCESS:
61
+ return 'pt-dialog-success';
62
+ case SeverityEnum.INFO:
63
+ default:
64
+ return 'pt-dialog-info';
65
+ }
66
+ }
40
67
  get dialogStyleClass() {
41
68
  return [
42
69
  'border-round-3xl',
43
70
  'shadow-6',
44
71
  'overflow-hidden',
45
- 'pt-dialog-header-blue',
72
+ 'pt-dialog-overlay',
73
+ this.getSeverityClass(),
46
74
  this.config.styleClass,
47
75
  ]
48
76
  .filter(Boolean)
@@ -70,12 +98,48 @@ export class PTDialogComponent {
70
98
  this._internalVisible = v;
71
99
  this.visibleChange.emit(v);
72
100
  }
101
+ // ============================================================
102
+ // ✅ Severity colors for header elements (icon + title)
103
+ // ============================================================
104
+ getSeverityHeaderColor() {
105
+ switch (this.dialogSeverity) {
106
+ case SeverityEnum.DANGER:
107
+ return '#b91c1c';
108
+ case SeverityEnum.WARNING:
109
+ return '#b45309';
110
+ case SeverityEnum.SUCCESS:
111
+ return '#15803d';
112
+ case SeverityEnum.INFO:
113
+ default:
114
+ return '#2563eb';
115
+ }
116
+ }
117
+ /** ✅ Inline style to override text-primary / utility classes */
118
+ get headerIconStyle() {
119
+ return { color: this.getSeverityHeaderColor() };
120
+ }
121
+ /** ✅ Optional but recommended: keep title consistent with icon */
122
+ get headerTitleStyle() {
123
+ return { color: this.getSeverityHeaderColor() };
124
+ }
125
+ removeTextUtilityClasses(cls) {
126
+ if (!cls)
127
+ return '';
128
+ return cls
129
+ .split(/\s+/)
130
+ .filter(Boolean)
131
+ .filter((c) => !c.startsWith('text-')) // removes text-primary, text-danger, etc.
132
+ .join(' ');
133
+ }
134
+ get safeHeaderIconClass() {
135
+ return this.removeTextUtilityClasses(this.config.headerIconClass);
136
+ }
73
137
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTDialogComponent, selector: "pt-dialog", inputs: { config: "config", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: "<p-dialog\n [visible]=\"_internalVisible\"\n (visibleChange)=\"onInternalVisibleChange($event)\"\n [header]=\"config.header\"\n [modal]=\"config.modal\"\n [style]=\"config.style\"\n [breakpoints]=\"config.breakpoints\"\n [closable]=\"config.closable\"\n [draggable]=\"config.draggable\"\n [resizable]=\"config.resizable\"\n [maximizable]=\"config.maximizable\"\n [dismissableMask]=\"config.dismissableMask\"\n [closeOnEscape]=\"config.closeOnEscape\"\n [blockScroll]=\"config.blockScroll\"\n [position]=\"primePosition\"\n [contentStyle]=\"config.contentStyle\"\n [styleClass]=\"dialogStyleClass\"\n>\n <!-- HEADER -->\n <ng-template pTemplate=\"header\">\n <div class=\"pt-dialog-header-inner\">\n <div class=\"pt-dialog-header-left\">\n <i\n *ngIf=\"config.headerIconClass\"\n class=\"pt-dialog-header-icon\"\n [ngClass]=\"config.headerIconClass\"\n ></i>\n\n <ng-content select=\"[ptDialogHeader]\"></ng-content>\n\n <span *ngIf=\"config.header\" class=\"pt-dialog-header-title\">\n {{ config.header }}\n </span>\n </div>\n </div>\n </ng-template>\n\n <!-- BODY -->\n <div class=\"pt-dialog-body\" [ngStyle]=\"bodyStyle\">\n <div class=\"pt-dialog-body-inner\">\n <ng-content select=\"[ptDialogContent]\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- FOOTER -->\n <ng-template pTemplate=\"footer\" *ngIf=\"config.showFooter !== false\">\n <div class=\"surface-100 px-4 py-2 flex justify-content-end gap-2\">\n <ng-content select=\"[ptDialogFooter]\"></ng-content>\n </div>\n </ng-template>\n</p-dialog>\n", styles: [":host ::ng-deep .pt-dialog-header-blue .p-dialog-header{background-color:#e0f2ff;border-bottom:0}:host ::ng-deep .pt-dialog-header-blue .p-dialog-footer{background-color:#f5f6f8!important;border-top:0!important}.pt-dialog-header-inner{width:100%;padding:1rem 1rem .75rem;display:flex;align-items:center;justify-content:space-between}.pt-dialog-header-left{display:flex;align-items:center}.pt-dialog-header-icon{margin-right:.5rem}.pt-dialog-header-title{font-weight:700;font-size:1.125rem}.pt-dialog-body{padding:1.25rem 1rem 1rem;display:flex;justify-content:center}.pt-dialog-body-inner{width:100%;max-width:100%;display:flex;flex-direction:column;gap:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTDialogComponent, selector: "pt-dialog", inputs: { config: "config", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: "<p-dialog\n [visible]=\"_internalVisible\"\n (visibleChange)=\"onInternalVisibleChange($event)\"\n [header]=\"config.header\"\n [modal]=\"config.modal\"\n [style]=\"config.style\"\n [breakpoints]=\"config.breakpoints\"\n [closable]=\"config.closable\"\n [draggable]=\"config.draggable\"\n [resizable]=\"config.resizable\"\n [maximizable]=\"config.maximizable\"\n [dismissableMask]=\"config.dismissableMask\"\n [closeOnEscape]=\"config.closeOnEscape\"\n [blockScroll]=\"config.blockScroll\"\n [position]=\"primePosition\"\n [contentStyle]=\"config.contentStyle\"\n [styleClass]=\"dialogStyleClass\"\n>\n <!-- HEADER -->\n <ng-template pTemplate=\"header\">\n <div class=\"pt-dialog-header-inner\">\n <div class=\"pt-dialog-header-left\">\n <i\n *ngIf=\"config.headerIconClass\"\n class=\"pt-dialog-header-icon\"\n [ngClass]=\"safeHeaderIconClass\"\n [ngStyle]=\"headerIconStyle\"\n ></i>\n\n <ng-content select=\"[ptDialogHeader]\"></ng-content>\n\n <span\n *ngIf=\"config.header\"\n class=\"pt-dialog-header-title\"\n [ngStyle]=\"headerTitleStyle\"\n >\n {{ config.header }}\n </span>\n </div>\n </div>\n </ng-template>\n\n <!-- BODY -->\n <div class=\"pt-dialog-body\" [ngStyle]=\"bodyStyle\">\n <div class=\"pt-dialog-body-inner\">\n <ng-content select=\"[ptDialogContent]\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- FOOTER -->\n <ng-template pTemplate=\"footer\" *ngIf=\"config.showFooter !== false\">\n <div class=\"surface-100 px-4 py-2 flex justify-content-end gap-2\">\n <ng-content select=\"[ptDialogFooter]\"></ng-content>\n </div>\n </ng-template>\n</p-dialog>\n", styles: [":host ::ng-deep .p-dialog.pt-dialog-overlay{border-radius:18px;overflow:hidden;box-shadow:0 20px 45px #0f172a59}:host ::ng-deep .p-dialog.pt-dialog-info .p-dialog-header{background-color:#e0f2fe;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-success .p-dialog-header{background-color:#dcfce7;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-warning .p-dialog-header{background-color:#fff4d1;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-danger .p-dialog-header{background-color:#fde4e4;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-overlay .p-dialog-footer{background:#fff!important;border-top:1px solid rgba(148,163,184,.25)!important;padding:16px 32px 22px!important}:host ::ng-deep .p-dialog.pt-dialog-overlay .p-dialog-footer .surface-100{background:transparent!important}.pt-dialog-header-inner{width:100%;padding:1rem 1rem .75rem;display:flex;align-items:center;justify-content:space-between}.pt-dialog-header-left{display:flex;align-items:center}.pt-dialog-header-icon{margin-right:.5rem}.pt-dialog-header-title{font-weight:700;font-size:1.125rem}:host ::ng-deep .p-dialog.pt-dialog-info .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-info .pt-dialog-header-icon{color:#2563eb}:host ::ng-deep .p-dialog.pt-dialog-success .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-success .pt-dialog-header-icon{color:#15803d}:host ::ng-deep .p-dialog.pt-dialog-warning .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-warning .pt-dialog-header-icon{color:#b45309}:host ::ng-deep .p-dialog.pt-dialog-danger .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-danger .pt-dialog-header-icon{color:#b91c1c}.pt-dialog-body{padding:1.25rem 1rem 1rem;display:flex;justify-content:center}.pt-dialog-body-inner{width:100%;max-width:100%;display:flex;flex-direction:column;gap:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
75
139
  }
76
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogComponent, decorators: [{
77
141
  type: Component,
78
- args: [{ selector: 'pt-dialog', template: "<p-dialog\n [visible]=\"_internalVisible\"\n (visibleChange)=\"onInternalVisibleChange($event)\"\n [header]=\"config.header\"\n [modal]=\"config.modal\"\n [style]=\"config.style\"\n [breakpoints]=\"config.breakpoints\"\n [closable]=\"config.closable\"\n [draggable]=\"config.draggable\"\n [resizable]=\"config.resizable\"\n [maximizable]=\"config.maximizable\"\n [dismissableMask]=\"config.dismissableMask\"\n [closeOnEscape]=\"config.closeOnEscape\"\n [blockScroll]=\"config.blockScroll\"\n [position]=\"primePosition\"\n [contentStyle]=\"config.contentStyle\"\n [styleClass]=\"dialogStyleClass\"\n>\n <!-- HEADER -->\n <ng-template pTemplate=\"header\">\n <div class=\"pt-dialog-header-inner\">\n <div class=\"pt-dialog-header-left\">\n <i\n *ngIf=\"config.headerIconClass\"\n class=\"pt-dialog-header-icon\"\n [ngClass]=\"config.headerIconClass\"\n ></i>\n\n <ng-content select=\"[ptDialogHeader]\"></ng-content>\n\n <span *ngIf=\"config.header\" class=\"pt-dialog-header-title\">\n {{ config.header }}\n </span>\n </div>\n </div>\n </ng-template>\n\n <!-- BODY -->\n <div class=\"pt-dialog-body\" [ngStyle]=\"bodyStyle\">\n <div class=\"pt-dialog-body-inner\">\n <ng-content select=\"[ptDialogContent]\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- FOOTER -->\n <ng-template pTemplate=\"footer\" *ngIf=\"config.showFooter !== false\">\n <div class=\"surface-100 px-4 py-2 flex justify-content-end gap-2\">\n <ng-content select=\"[ptDialogFooter]\"></ng-content>\n </div>\n </ng-template>\n</p-dialog>\n", styles: [":host ::ng-deep .pt-dialog-header-blue .p-dialog-header{background-color:#e0f2ff;border-bottom:0}:host ::ng-deep .pt-dialog-header-blue .p-dialog-footer{background-color:#f5f6f8!important;border-top:0!important}.pt-dialog-header-inner{width:100%;padding:1rem 1rem .75rem;display:flex;align-items:center;justify-content:space-between}.pt-dialog-header-left{display:flex;align-items:center}.pt-dialog-header-icon{margin-right:.5rem}.pt-dialog-header-title{font-weight:700;font-size:1.125rem}.pt-dialog-body{padding:1.25rem 1rem 1rem;display:flex;justify-content:center}.pt-dialog-body-inner{width:100%;max-width:100%;display:flex;flex-direction:column;gap:.75rem}\n"] }]
142
+ args: [{ selector: 'pt-dialog', template: "<p-dialog\n [visible]=\"_internalVisible\"\n (visibleChange)=\"onInternalVisibleChange($event)\"\n [header]=\"config.header\"\n [modal]=\"config.modal\"\n [style]=\"config.style\"\n [breakpoints]=\"config.breakpoints\"\n [closable]=\"config.closable\"\n [draggable]=\"config.draggable\"\n [resizable]=\"config.resizable\"\n [maximizable]=\"config.maximizable\"\n [dismissableMask]=\"config.dismissableMask\"\n [closeOnEscape]=\"config.closeOnEscape\"\n [blockScroll]=\"config.blockScroll\"\n [position]=\"primePosition\"\n [contentStyle]=\"config.contentStyle\"\n [styleClass]=\"dialogStyleClass\"\n>\n <!-- HEADER -->\n <ng-template pTemplate=\"header\">\n <div class=\"pt-dialog-header-inner\">\n <div class=\"pt-dialog-header-left\">\n <i\n *ngIf=\"config.headerIconClass\"\n class=\"pt-dialog-header-icon\"\n [ngClass]=\"safeHeaderIconClass\"\n [ngStyle]=\"headerIconStyle\"\n ></i>\n\n <ng-content select=\"[ptDialogHeader]\"></ng-content>\n\n <span\n *ngIf=\"config.header\"\n class=\"pt-dialog-header-title\"\n [ngStyle]=\"headerTitleStyle\"\n >\n {{ config.header }}\n </span>\n </div>\n </div>\n </ng-template>\n\n <!-- BODY -->\n <div class=\"pt-dialog-body\" [ngStyle]=\"bodyStyle\">\n <div class=\"pt-dialog-body-inner\">\n <ng-content select=\"[ptDialogContent]\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- FOOTER -->\n <ng-template pTemplate=\"footer\" *ngIf=\"config.showFooter !== false\">\n <div class=\"surface-100 px-4 py-2 flex justify-content-end gap-2\">\n <ng-content select=\"[ptDialogFooter]\"></ng-content>\n </div>\n </ng-template>\n</p-dialog>\n", styles: [":host ::ng-deep .p-dialog.pt-dialog-overlay{border-radius:18px;overflow:hidden;box-shadow:0 20px 45px #0f172a59}:host ::ng-deep .p-dialog.pt-dialog-info .p-dialog-header{background-color:#e0f2fe;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-success .p-dialog-header{background-color:#dcfce7;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-warning .p-dialog-header{background-color:#fff4d1;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-danger .p-dialog-header{background-color:#fde4e4;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-overlay .p-dialog-footer{background:#fff!important;border-top:1px solid rgba(148,163,184,.25)!important;padding:16px 32px 22px!important}:host ::ng-deep .p-dialog.pt-dialog-overlay .p-dialog-footer .surface-100{background:transparent!important}.pt-dialog-header-inner{width:100%;padding:1rem 1rem .75rem;display:flex;align-items:center;justify-content:space-between}.pt-dialog-header-left{display:flex;align-items:center}.pt-dialog-header-icon{margin-right:.5rem}.pt-dialog-header-title{font-weight:700;font-size:1.125rem}:host ::ng-deep .p-dialog.pt-dialog-info .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-info .pt-dialog-header-icon{color:#2563eb}:host ::ng-deep .p-dialog.pt-dialog-success .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-success .pt-dialog-header-icon{color:#15803d}:host ::ng-deep .p-dialog.pt-dialog-warning .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-warning .pt-dialog-header-icon{color:#b45309}:host ::ng-deep .p-dialog.pt-dialog-danger .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-danger .pt-dialog-header-icon{color:#b91c1c}.pt-dialog-body{padding:1.25rem 1rem 1rem;display:flex;justify-content:center}.pt-dialog-body-inner{width:100%;max-width:100%;display:flex;flex-direction:column;gap:.75rem}\n"] }]
79
143
  }], propDecorators: { config: [{
80
144
  type: Input
81
145
  }], visible: [{
@@ -83,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
83
147
  }], visibleChange: [{
84
148
  type: Output
85
149
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZGlhbG9nL3B0LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWRpYWxvZy9wdC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFNdkUsTUFBTSxxQkFBcUIsR0FBbUI7SUFDNUMsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsSUFBSTtJQUNkLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsS0FBSztJQUNsQixlQUFlLEVBQUUsS0FBSztJQUN0QixhQUFhLEVBQUUsSUFBSTtJQUNuQixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSTtJQUNwQixVQUFVLEVBQUUsSUFBSTtJQUNoQixRQUFRLEVBQUUsUUFBUTtDQUNuQixDQUFDO0FBT0YsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQU1FLGtDQUFrQztRQUMxQixZQUFPLEdBQW1CLEVBQUUsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO1FBVS9ELG9FQUFvRTtRQUNwRSxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFXZixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0F5Q3ZEO0lBN0RDLElBQ0ksTUFBTSxDQUFDLEtBQWlDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFLRCxnQ0FBZ0M7SUFDaEMsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLENBQVU7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBSUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTztZQUNMLGtCQUFrQjtZQUNsQixVQUFVO1lBQ1YsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVU7U0FDdkI7YUFDRSxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQW1CLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUV0QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQzdDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0IsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQzdDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ3pDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxNQUFNLENBQUM7Z0JBQzdCLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCwrQkFBK0I7SUFDL0IsdUJBQXVCLENBQUMsQ0FBVTtRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBaEVVLGlCQUFpQjttR0FBakIsaUJBQWlCLGdKQ3pCOUIsdW9EQW9EQTs7NEZEM0JhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxXQUFXOzhCQVNqQixNQUFNO3NCQURULEtBQUs7Z0JBYUYsT0FBTztzQkFEVixLQUFLO2dCQVFJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRGlhbG9nUG9zaXRpb24sXG4gIFBURGlhbG9nQ29uZmlnLFxufSBmcm9tICcuLi9tb2RlbHMvcHQtZGlhbG9nLWNvbmZpZy5tb2RlbCc7XG5cbmNvbnN0IERFRkFVTFRfRElBTE9HX0NPTkZJRzogUFREaWFsb2dDb25maWcgPSB7XG4gIG1vZGFsOiB0cnVlLFxuICBjbG9zYWJsZTogdHJ1ZSxcbiAgZHJhZ2dhYmxlOiB0cnVlLFxuICByZXNpemFibGU6IHRydWUsXG4gIG1heGltaXphYmxlOiBmYWxzZSxcbiAgZGlzbWlzc2FibGVNYXNrOiBmYWxzZSxcbiAgY2xvc2VPbkVzY2FwZTogdHJ1ZSxcbiAgYmxvY2tTY3JvbGw6IHRydWUsXG4gIGJvZHlTY3JvbGxhYmxlOiB0cnVlLFxuICBzaG93Rm9vdGVyOiB0cnVlLFxuICBwb3NpdGlvbjogJ2NlbnRlcicsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwdC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHQtZGlhbG9nLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFREaWFsb2dDb21wb25lbnQge1xuICAvKiogU2luZ2xlIGNvbmZpZ3VyYXRpb24gb2JqZWN0ICovXG4gIHByaXZhdGUgX2NvbmZpZzogUFREaWFsb2dDb25maWcgPSB7IC4uLkRFRkFVTFRfRElBTE9HX0NPTkZJRyB9O1xuXG4gIEBJbnB1dCgpXG4gIHNldCBjb25maWcodmFsdWU6IFBURGlhbG9nQ29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fY29uZmlnID0geyAuLi5ERUZBVUxUX0RJQUxPR19DT05GSUcsIC4uLih2YWx1ZSB8fCB7fSkgfTtcbiAgfVxuICBnZXQgY29uZmlnKCk6IFBURGlhbG9nQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgLy8gLS0tLSBJbnRlcm5hbCB2aXNpYmxlIHN0YXRlIChQVUJMSUMgc28gdGVtcGxhdGUgY2FuIHJlYWQgaXQpIC0tLS1cbiAgX2ludGVybmFsVmlzaWJsZSA9IGZhbHNlO1xuXG4gIC8qKiBJbnB1dCB2aXNpYmxlIGZyb20gcGFyZW50ICovXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbFZpc2libGU7XG4gIH1cbiAgc2V0IHZpc2libGUodjogYm9vbGVhbikge1xuICAgIHRoaXMuX2ludGVybmFsVmlzaWJsZSA9IHY7XG4gIH1cblxuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBnZXQgZGlhbG9nU3R5bGVDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbXG4gICAgICAnYm9yZGVyLXJvdW5kLTN4bCcsXG4gICAgICAnc2hhZG93LTYnLFxuICAgICAgJ292ZXJmbG93LWhpZGRlbicsXG4gICAgICAncHQtZGlhbG9nLWhlYWRlci1ibHVlJyxcbiAgICAgIHRoaXMuY29uZmlnLnN0eWxlQ2xhc3MsXG4gICAgXVxuICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGdldCBwcmltZVBvc2l0aW9uKCk6IERpYWxvZ1Bvc2l0aW9uIHtcbiAgICByZXR1cm4gKHRoaXMuY29uZmlnLnBvc2l0aW9uID8/ICdjZW50ZXInKSBhcyBEaWFsb2dQb3NpdGlvbjtcbiAgfVxuXG4gIGdldCBib2R5U3R5bGUoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3Qgc3R5bGU6IGFueSA9IHt9O1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLmJvZHlXaWR0aCkge1xuICAgICAgc3R5bGVbJ21heC13aWR0aCddID0gdGhpcy5jb25maWcuYm9keVdpZHRoO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbmZpZy5ib2R5SGVpZ2h0KSB7XG4gICAgICBzdHlsZVsnbWF4LWhlaWdodCddID0gdGhpcy5jb25maWcuYm9keUhlaWdodDtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5ib2R5U2Nyb2xsYWJsZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgc3R5bGVbJ292ZXJmbG93LXknXSA9ICdhdXRvJztcbiAgICAgICAgc3R5bGVbJ292ZXJmbG93LXgnXSA9ICdhdXRvJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3R5bGU7XG4gIH1cblxuICAvKiogU3luYyA8cC1kaWFsb2c+IOKGkiBwYXJlbnQgKi9cbiAgb25JbnRlcm5hbFZpc2libGVDaGFuZ2UodjogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2ludGVybmFsVmlzaWJsZSA9IHY7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodik7XG4gIH1cbn1cbiIsIjxwLWRpYWxvZ1xuICBbdmlzaWJsZV09XCJfaW50ZXJuYWxWaXNpYmxlXCJcbiAgKHZpc2libGVDaGFuZ2UpPVwib25JbnRlcm5hbFZpc2libGVDaGFuZ2UoJGV2ZW50KVwiXG4gIFtoZWFkZXJdPVwiY29uZmlnLmhlYWRlclwiXG4gIFttb2RhbF09XCJjb25maWcubW9kYWxcIlxuICBbc3R5bGVdPVwiY29uZmlnLnN0eWxlXCJcbiAgW2JyZWFrcG9pbnRzXT1cImNvbmZpZy5icmVha3BvaW50c1wiXG4gIFtjbG9zYWJsZV09XCJjb25maWcuY2xvc2FibGVcIlxuICBbZHJhZ2dhYmxlXT1cImNvbmZpZy5kcmFnZ2FibGVcIlxuICBbcmVzaXphYmxlXT1cImNvbmZpZy5yZXNpemFibGVcIlxuICBbbWF4aW1pemFibGVdPVwiY29uZmlnLm1heGltaXphYmxlXCJcbiAgW2Rpc21pc3NhYmxlTWFza109XCJjb25maWcuZGlzbWlzc2FibGVNYXNrXCJcbiAgW2Nsb3NlT25Fc2NhcGVdPVwiY29uZmlnLmNsb3NlT25Fc2NhcGVcIlxuICBbYmxvY2tTY3JvbGxdPVwiY29uZmlnLmJsb2NrU2Nyb2xsXCJcbiAgW3Bvc2l0aW9uXT1cInByaW1lUG9zaXRpb25cIlxuICBbY29udGVudFN0eWxlXT1cImNvbmZpZy5jb250ZW50U3R5bGVcIlxuICBbc3R5bGVDbGFzc109XCJkaWFsb2dTdHlsZUNsYXNzXCJcbj5cbiAgPCEtLSBIRUFERVIgLS0+XG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicHQtZGlhbG9nLWhlYWRlci1pbm5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInB0LWRpYWxvZy1oZWFkZXItbGVmdFwiPlxuICAgICAgICA8aVxuICAgICAgICAgICpuZ0lmPVwiY29uZmlnLmhlYWRlckljb25DbGFzc1wiXG4gICAgICAgICAgY2xhc3M9XCJwdC1kaWFsb2ctaGVhZGVyLWljb25cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbmZpZy5oZWFkZXJJY29uQ2xhc3NcIlxuICAgICAgICA+PC9pPlxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwdERpYWxvZ0hlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJjb25maWcuaGVhZGVyXCIgY2xhc3M9XCJwdC1kaWFsb2ctaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAge3sgY29uZmlnLmhlYWRlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIEJPRFkgLS0+XG4gIDxkaXYgY2xhc3M9XCJwdC1kaWFsb2ctYm9keVwiIFtuZ1N0eWxlXT1cImJvZHlTdHlsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJwdC1kaWFsb2ctYm9keS1pbm5lclwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3B0RGlhbG9nQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gRk9PVEVSIC0tPlxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCIgKm5nSWY9XCJjb25maWcuc2hvd0Zvb3RlciAhPT0gZmFsc2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3VyZmFjZS0xMDAgcHgtNCBweS0yIGZsZXgganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMlwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3B0RGlhbG9nRm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvcC1kaWFsb2c+XG4iXX0=
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZGlhbG9nL3B0LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWRpYWxvZy9wdC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7OztBQUV4QyxNQUFNLHFCQUFxQixHQUFtQjtJQUM1QyxXQUFXLEVBQUUsWUFBWSxDQUFDLElBQUk7SUFDOUIsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsSUFBSTtJQUNkLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsS0FBSztJQUNsQixlQUFlLEVBQUUsS0FBSztJQUN0QixhQUFhLEVBQUUsSUFBSTtJQUNuQixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsSUFBSTtJQUNwQixVQUFVLEVBQUUsSUFBSTtJQUNoQixRQUFRLEVBQUUsUUFBUTtDQUNuQixDQUFDO0FBT0YsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQU1FLGtDQUFrQztRQUMxQixZQUFPLEdBQW1CLEVBQUUsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO1FBVS9ELG9FQUFvRTtRQUNwRSxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFXZixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0E4R3ZEO0lBbElDLElBQ0ksTUFBTSxDQUFDLEtBQWlDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFH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SkMzQjlCLHV2REF5REE7OzRGRDlCYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVzs4QkFTakIsTUFBTTtzQkFEVCxLQUFLO2dCQWFGLE9BQU87c0JBRFYsS0FBSztnQkFRSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIERpYWxvZ1Bvc2l0aW9uLFxuICBQVERpYWxvZ0NvbmZpZyxcbn0gZnJvbSAnLi4vbW9kZWxzL3B0LWRpYWxvZy1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgU2V2ZXJpdHlFbnVtIH0gZnJvbSAnLi4vZW51bXMnO1xuXG5jb25zdCBERUZBVUxUX0RJQUxPR19DT05GSUc6IFBURGlhbG9nQ29uZmlnID0ge1xuICBkaWFsb2dTdHlsZTogU2V2ZXJpdHlFbnVtLklORk8sXG4gIG1vZGFsOiB0cnVlLFxuICBjbG9zYWJsZTogdHJ1ZSxcbiAgZHJhZ2dhYmxlOiB0cnVlLFxuICByZXNpemFibGU6IHRydWUsXG4gIG1heGltaXphYmxlOiBmYWxzZSxcbiAgZGlzbWlzc2FibGVNYXNrOiBmYWxzZSxcbiAgY2xvc2VPbkVzY2FwZTogdHJ1ZSxcbiAgYmxvY2tTY3JvbGw6IHRydWUsXG4gIGJvZHlTY3JvbGxhYmxlOiB0cnVlLFxuICBzaG93Rm9vdGVyOiB0cnVlLFxuICBwb3NpdGlvbjogJ2NlbnRlcicsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwdC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHQtZGlhbG9nLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFREaWFsb2dDb21wb25lbnQge1xuICAvKiogU2luZ2xlIGNvbmZpZ3VyYXRpb24gb2JqZWN0ICovXG4gIHByaXZhdGUgX2NvbmZpZzogUFREaWFsb2dDb25maWcgPSB7IC4uLkRFRkFVTFRfRElBTE9HX0NPTkZJRyB9O1xuXG4gIEBJbnB1dCgpXG4gIHNldCBjb25maWcodmFsdWU6IFBURGlhbG9nQ29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fY29uZmlnID0geyAuLi5ERUZBVUxUX0RJQUxPR19DT05GSUcsIC4uLih2YWx1ZSB8fCB7fSkgfTtcbiAgfVxuICBnZXQgY29uZmlnKCk6IFBURGlhbG9nQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgLy8gLS0tLSBJbnRlcm5hbCB2aXNpYmxlIHN0YXRlIChQVUJMSUMgc28gdGVtcGxhdGUgY2FuIHJlYWQgaXQpIC0tLS1cbiAgX2ludGVybmFsVmlzaWJsZSA9IGZhbHNlO1xuXG4gIC8qKiBJbnB1dCB2aXNpYmxlIGZyb20gcGFyZW50ICovXG4gIEBJbnB1dCgpXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbFZpc2libGU7XG4gIH1cbiAgc2V0IHZpc2libGUodjogYm9vbGVhbikge1xuICAgIHRoaXMuX2ludGVybmFsVmlzaWJsZSA9IHY7XG4gIH1cblxuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKiog4pyFIFNhbWUgbWFwcGluZyBsb2dpYyBhcyBwdC1jb25maXJtLWRpYWxvZyAqL1xuICBnZXQgZGlhbG9nU2V2ZXJpdHkoKTogU2V2ZXJpdHlFbnVtIHtcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuY29uZmlnLmRpYWxvZ1N0eWxlID8/IFNldmVyaXR5RW51bS5JTkZPO1xuXG4gICAgcmV0dXJuIHN0eWxlID09PSBTZXZlcml0eUVudW0uREFOR0VSXG4gICAgICA/IFNldmVyaXR5RW51bS5EQU5HRVJcbiAgICAgIDogc3R5bGUgPT09IFNldmVyaXR5RW51bS5XQVJOSU5HXG4gICAgICAgID8gU2V2ZXJpdHlFbnVtLldBUk5JTkdcbiAgICAgICAgOiBzdHlsZSA9PT0gU2V2ZXJpdHlFbnVtLlNVQ0NFU1NcbiAgICAgICAgICA/IFNldmVyaXR5RW51bS5TVUNDRVNTXG4gICAgICAgICAgOiBTZXZlcml0eUVudW0uSU5GTztcbiAgfVxuXG4gIC8qKiDinIUgVXNlZCBpbiBbc3R5bGVDbGFzc10gdG8gYXBwbHkgQ1NTIHRoZW1lIHBlciBzZXZlcml0eSAqL1xuICBwcml2YXRlIGdldFNldmVyaXR5Q2xhc3MoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuZGlhbG9nU2V2ZXJpdHkpIHtcbiAgICAgIGNhc2UgU2V2ZXJpdHlFbnVtLkRBTkdFUjpcbiAgICAgICAgcmV0dXJuICdwdC1kaWFsb2ctZGFuZ2VyJztcbiAgICAgIGNhc2UgU2V2ZXJpdHlFbnVtLldBUk5JTkc6XG4gICAgICAgIHJldHVybiAncHQtZGlhbG9nLXdhcm5pbmcnO1xuICAgICAgY2FzZSBTZXZlcml0eUVudW0uU1VDQ0VTUzpcbiAgICAgICAgcmV0dXJuICdwdC1kaWFsb2ctc3VjY2Vzcyc7XG4gICAgICBjYXNlIFNldmVyaXR5RW51bS5JTkZPOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdwdC1kaWFsb2ctaW5mbyc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGRpYWxvZ1N0eWxlQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2JvcmRlci1yb3VuZC0zeGwnLFxuICAgICAgJ3NoYWRvdy02JyxcbiAgICAgICdvdmVyZmxvdy1oaWRkZW4nLFxuICAgICAgJ3B0LWRpYWxvZy1vdmVybGF5JyxcbiAgICAgIHRoaXMuZ2V0U2V2ZXJpdHlDbGFzcygpLFxuICAgICAgdGhpcy5jb25maWcuc3R5bGVDbGFzcyxcbiAgICBdXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAuam9pbignICcpO1xuICB9XG5cbiAgZ2V0IHByaW1lUG9zaXRpb24oKTogRGlhbG9nUG9zaXRpb24ge1xuICAgIHJldHVybiAodGhpcy5jb25maWcucG9zaXRpb24gPz8gJ2NlbnRlcicpIGFzIERpYWxvZ1Bvc2l0aW9uO1xuICB9XG5cbiAgZ2V0IGJvZHlTdHlsZSgpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBzdHlsZTogYW55ID0ge307XG5cbiAgICBpZiAodGhpcy5jb25maWcuYm9keVdpZHRoKSB7XG4gICAgICBzdHlsZVsnbWF4LXdpZHRoJ10gPSB0aGlzLmNvbmZpZy5ib2R5V2lkdGg7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmlnLmJvZHlIZWlnaHQpIHtcbiAgICAgIHN0eWxlWydtYXgtaGVpZ2h0J10gPSB0aGlzLmNvbmZpZy5ib2R5SGVpZ2h0O1xuICAgICAgaWYgKHRoaXMuY29uZmlnLmJvZHlTY3JvbGxhYmxlICE9PSBmYWxzZSkge1xuICAgICAgICBzdHlsZVsnb3ZlcmZsb3cteSddID0gJ2F1dG8nO1xuICAgICAgICBzdHlsZVsnb3ZlcmZsb3cteCddID0gJ2F1dG8nO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdHlsZTtcbiAgfVxuXG4gIC8qKiBTeW5jIDxwLWRpYWxvZz4g4oaSIHBhcmVudCAqL1xuICBvbkludGVybmFsVmlzaWJsZUNoYW5nZSh2OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5faW50ZXJuYWxWaXNpYmxlID0gdjtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2KTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyDinIUgU2V2ZXJpdHkgY29sb3JzIGZvciBoZWFkZXIgZWxlbWVudHMgKGljb24gKyB0aXRsZSlcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHByaXZhdGUgZ2V0U2V2ZXJpdHlIZWFkZXJDb2xvcigpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy5kaWFsb2dTZXZlcml0eSkge1xuICAgICAgY2FzZSBTZXZlcml0eUVudW0uREFOR0VSOlxuICAgICAgICByZXR1cm4gJyNiOTFjMWMnO1xuICAgICAgY2FzZSBTZXZlcml0eUVudW0uV0FSTklORzpcbiAgICAgICAgcmV0dXJuICcjYjQ1MzA5JztcbiAgICAgIGNhc2UgU2V2ZXJpdHlFbnVtLlNVQ0NFU1M6XG4gICAgICAgIHJldHVybiAnIzE1ODAzZCc7XG4gICAgICBjYXNlIFNldmVyaXR5RW51bS5JTkZPOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcjMjU2M2ViJztcbiAgICB9XG4gIH1cblxuICAvKiog4pyFIElubGluZSBzdHlsZSB0byBvdmVycmlkZSB0ZXh0LXByaW1hcnkgLyB1dGlsaXR5IGNsYXNzZXMgKi9cbiAgZ2V0IGhlYWRlckljb25TdHlsZSgpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4geyBjb2xvcjogdGhpcy5nZXRTZXZlcml0eUhlYWRlckNvbG9yKCkgfTtcbiAgfVxuXG4gIC8qKiDinIUgT3B0aW9uYWwgYnV0IHJlY29tbWVuZGVkOiBrZWVwIHRpdGxlIGNvbnNpc3RlbnQgd2l0aCBpY29uICovXG4gIGdldCBoZWFkZXJUaXRsZVN0eWxlKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7IGNvbG9yOiB0aGlzLmdldFNldmVyaXR5SGVhZGVyQ29sb3IoKSB9O1xuICB9XG4gIHByaXZhdGUgcmVtb3ZlVGV4dFV0aWxpdHlDbGFzc2VzKGNsczogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICBpZiAoIWNscykgcmV0dXJuICcnO1xuXG4gICAgcmV0dXJuIGNsc1xuICAgICAgLnNwbGl0KC9cXHMrLylcbiAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIC5maWx0ZXIoKGMpID0+ICFjLnN0YXJ0c1dpdGgoJ3RleHQtJykpIC8vIHJlbW92ZXMgdGV4dC1wcmltYXJ5LCB0ZXh0LWRhbmdlciwgZXRjLlxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGdldCBzYWZlSGVhZGVySWNvbkNsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlVGV4dFV0aWxpdHlDbGFzc2VzKHRoaXMuY29uZmlnLmhlYWRlckljb25DbGFzcyk7XG4gIH1cbn1cbiIsIjxwLWRpYWxvZ1xuICBbdmlzaWJsZV09XCJfaW50ZXJuYWxWaXNpYmxlXCJcbiAgKHZpc2libGVDaGFuZ2UpPVwib25JbnRlcm5hbFZpc2libGVDaGFuZ2UoJGV2ZW50KVwiXG4gIFtoZWFkZXJdPVwiY29uZmlnLmhlYWRlclwiXG4gIFttb2RhbF09XCJjb25maWcubW9kYWxcIlxuICBbc3R5bGVdPVwiY29uZmlnLnN0eWxlXCJcbiAgW2JyZWFrcG9pbnRzXT1cImNvbmZpZy5icmVha3BvaW50c1wiXG4gIFtjbG9zYWJsZV09XCJjb25maWcuY2xvc2FibGVcIlxuICBbZHJhZ2dhYmxlXT1cImNvbmZpZy5kcmFnZ2FibGVcIlxuICBbcmVzaXphYmxlXT1cImNvbmZpZy5yZXNpemFibGVcIlxuICBbbWF4aW1pemFibGVdPVwiY29uZmlnLm1heGltaXphYmxlXCJcbiAgW2Rpc21pc3NhYmxlTWFza109XCJjb25maWcuZGlzbWlzc2FibGVNYXNrXCJcbiAgW2Nsb3NlT25Fc2NhcGVdPVwiY29uZmlnLmNsb3NlT25Fc2NhcGVcIlxuICBbYmxvY2tTY3JvbGxdPVwiY29uZmlnLmJsb2NrU2Nyb2xsXCJcbiAgW3Bvc2l0aW9uXT1cInByaW1lUG9zaXRpb25cIlxuICBbY29udGVudFN0eWxlXT1cImNvbmZpZy5jb250ZW50U3R5bGVcIlxuICBbc3R5bGVDbGFzc109XCJkaWFsb2dTdHlsZUNsYXNzXCJcbj5cbiAgPCEtLSBIRUFERVIgLS0+XG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicHQtZGlhbG9nLWhlYWRlci1pbm5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInB0LWRpYWxvZy1oZWFkZXItbGVmdFwiPlxuICAgICAgICA8aVxuICAgICAgICAgICpuZ0lmPVwiY29uZmlnLmhlYWRlckljb25DbGFzc1wiXG4gICAgICAgICAgY2xhc3M9XCJwdC1kaWFsb2ctaGVhZGVyLWljb25cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInNhZmVIZWFkZXJJY29uQ2xhc3NcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cImhlYWRlckljb25TdHlsZVwiXG4gICAgICAgID48L2k+XG5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3B0RGlhbG9nSGVhZGVyXVwiPjwvbmctY29udGVudD5cblxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiY29uZmlnLmhlYWRlclwiXG4gICAgICAgICAgY2xhc3M9XCJwdC1kaWFsb2ctaGVhZGVyLXRpdGxlXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJoZWFkZXJUaXRsZVN0eWxlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGNvbmZpZy5oZWFkZXIgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBCT0RZIC0tPlxuICA8ZGl2IGNsYXNzPVwicHQtZGlhbG9nLWJvZHlcIiBbbmdTdHlsZV09XCJib2R5U3R5bGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwicHQtZGlhbG9nLWJvZHktaW5uZXJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwdERpYWxvZ0NvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIEZPT1RFUiAtLT5cbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiICpuZ0lmPVwiY29uZmlnLnNob3dGb290ZXIgIT09IGZhbHNlXCI+XG4gICAgPGRpdiBjbGFzcz1cInN1cmZhY2UtMTAwIHB4LTQgcHktMiBmbGV4IGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwdERpYWxvZ0Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3AtZGlhbG9nPlxuIl19
@@ -4755,6 +4755,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
4755
4755
  }] });
4756
4756
 
4757
4757
  const DEFAULT_DIALOG_CONFIG = {
4758
+ dialogStyle: SeverityEnum.INFO,
4758
4759
  modal: true,
4759
4760
  closable: true,
4760
4761
  draggable: true,
@@ -4788,12 +4789,38 @@ class PTDialogComponent {
4788
4789
  set visible(v) {
4789
4790
  this._internalVisible = v;
4790
4791
  }
4792
+ /** ✅ Same mapping logic as pt-confirm-dialog */
4793
+ get dialogSeverity() {
4794
+ const style = this.config.dialogStyle ?? SeverityEnum.INFO;
4795
+ return style === SeverityEnum.DANGER
4796
+ ? SeverityEnum.DANGER
4797
+ : style === SeverityEnum.WARNING
4798
+ ? SeverityEnum.WARNING
4799
+ : style === SeverityEnum.SUCCESS
4800
+ ? SeverityEnum.SUCCESS
4801
+ : SeverityEnum.INFO;
4802
+ }
4803
+ /** ✅ Used in [styleClass] to apply CSS theme per severity */
4804
+ getSeverityClass() {
4805
+ switch (this.dialogSeverity) {
4806
+ case SeverityEnum.DANGER:
4807
+ return 'pt-dialog-danger';
4808
+ case SeverityEnum.WARNING:
4809
+ return 'pt-dialog-warning';
4810
+ case SeverityEnum.SUCCESS:
4811
+ return 'pt-dialog-success';
4812
+ case SeverityEnum.INFO:
4813
+ default:
4814
+ return 'pt-dialog-info';
4815
+ }
4816
+ }
4791
4817
  get dialogStyleClass() {
4792
4818
  return [
4793
4819
  'border-round-3xl',
4794
4820
  'shadow-6',
4795
4821
  'overflow-hidden',
4796
- 'pt-dialog-header-blue',
4822
+ 'pt-dialog-overlay',
4823
+ this.getSeverityClass(),
4797
4824
  this.config.styleClass,
4798
4825
  ]
4799
4826
  .filter(Boolean)
@@ -4821,12 +4848,48 @@ class PTDialogComponent {
4821
4848
  this._internalVisible = v;
4822
4849
  this.visibleChange.emit(v);
4823
4850
  }
4851
+ // ============================================================
4852
+ // ✅ Severity colors for header elements (icon + title)
4853
+ // ============================================================
4854
+ getSeverityHeaderColor() {
4855
+ switch (this.dialogSeverity) {
4856
+ case SeverityEnum.DANGER:
4857
+ return '#b91c1c';
4858
+ case SeverityEnum.WARNING:
4859
+ return '#b45309';
4860
+ case SeverityEnum.SUCCESS:
4861
+ return '#15803d';
4862
+ case SeverityEnum.INFO:
4863
+ default:
4864
+ return '#2563eb';
4865
+ }
4866
+ }
4867
+ /** ✅ Inline style to override text-primary / utility classes */
4868
+ get headerIconStyle() {
4869
+ return { color: this.getSeverityHeaderColor() };
4870
+ }
4871
+ /** ✅ Optional but recommended: keep title consistent with icon */
4872
+ get headerTitleStyle() {
4873
+ return { color: this.getSeverityHeaderColor() };
4874
+ }
4875
+ removeTextUtilityClasses(cls) {
4876
+ if (!cls)
4877
+ return '';
4878
+ return cls
4879
+ .split(/\s+/)
4880
+ .filter(Boolean)
4881
+ .filter((c) => !c.startsWith('text-')) // removes text-primary, text-danger, etc.
4882
+ .join(' ');
4883
+ }
4884
+ get safeHeaderIconClass() {
4885
+ return this.removeTextUtilityClasses(this.config.headerIconClass);
4886
+ }
4824
4887
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4825
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTDialogComponent, selector: "pt-dialog", inputs: { config: "config", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: "<p-dialog\n [visible]=\"_internalVisible\"\n (visibleChange)=\"onInternalVisibleChange($event)\"\n [header]=\"config.header\"\n [modal]=\"config.modal\"\n [style]=\"config.style\"\n [breakpoints]=\"config.breakpoints\"\n [closable]=\"config.closable\"\n [draggable]=\"config.draggable\"\n [resizable]=\"config.resizable\"\n [maximizable]=\"config.maximizable\"\n [dismissableMask]=\"config.dismissableMask\"\n [closeOnEscape]=\"config.closeOnEscape\"\n [blockScroll]=\"config.blockScroll\"\n [position]=\"primePosition\"\n [contentStyle]=\"config.contentStyle\"\n [styleClass]=\"dialogStyleClass\"\n>\n <!-- HEADER -->\n <ng-template pTemplate=\"header\">\n <div class=\"pt-dialog-header-inner\">\n <div class=\"pt-dialog-header-left\">\n <i\n *ngIf=\"config.headerIconClass\"\n class=\"pt-dialog-header-icon\"\n [ngClass]=\"config.headerIconClass\"\n ></i>\n\n <ng-content select=\"[ptDialogHeader]\"></ng-content>\n\n <span *ngIf=\"config.header\" class=\"pt-dialog-header-title\">\n {{ config.header }}\n </span>\n </div>\n </div>\n </ng-template>\n\n <!-- BODY -->\n <div class=\"pt-dialog-body\" [ngStyle]=\"bodyStyle\">\n <div class=\"pt-dialog-body-inner\">\n <ng-content select=\"[ptDialogContent]\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- FOOTER -->\n <ng-template pTemplate=\"footer\" *ngIf=\"config.showFooter !== false\">\n <div class=\"surface-100 px-4 py-2 flex justify-content-end gap-2\">\n <ng-content select=\"[ptDialogFooter]\"></ng-content>\n </div>\n </ng-template>\n</p-dialog>\n", styles: [":host ::ng-deep .pt-dialog-header-blue .p-dialog-header{background-color:#e0f2ff;border-bottom:0}:host ::ng-deep .pt-dialog-header-blue .p-dialog-footer{background-color:#f5f6f8!important;border-top:0!important}.pt-dialog-header-inner{width:100%;padding:1rem 1rem .75rem;display:flex;align-items:center;justify-content:space-between}.pt-dialog-header-left{display:flex;align-items:center}.pt-dialog-header-icon{margin-right:.5rem}.pt-dialog-header-title{font-weight:700;font-size:1.125rem}.pt-dialog-body{padding:1.25rem 1rem 1rem;display:flex;justify-content:center}.pt-dialog-body-inner{width:100%;max-width:100%;display:flex;flex-direction:column;gap:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$3.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
4888
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTDialogComponent, selector: "pt-dialog", inputs: { config: "config", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: "<p-dialog\n [visible]=\"_internalVisible\"\n (visibleChange)=\"onInternalVisibleChange($event)\"\n [header]=\"config.header\"\n [modal]=\"config.modal\"\n [style]=\"config.style\"\n [breakpoints]=\"config.breakpoints\"\n [closable]=\"config.closable\"\n [draggable]=\"config.draggable\"\n [resizable]=\"config.resizable\"\n [maximizable]=\"config.maximizable\"\n [dismissableMask]=\"config.dismissableMask\"\n [closeOnEscape]=\"config.closeOnEscape\"\n [blockScroll]=\"config.blockScroll\"\n [position]=\"primePosition\"\n [contentStyle]=\"config.contentStyle\"\n [styleClass]=\"dialogStyleClass\"\n>\n <!-- HEADER -->\n <ng-template pTemplate=\"header\">\n <div class=\"pt-dialog-header-inner\">\n <div class=\"pt-dialog-header-left\">\n <i\n *ngIf=\"config.headerIconClass\"\n class=\"pt-dialog-header-icon\"\n [ngClass]=\"safeHeaderIconClass\"\n [ngStyle]=\"headerIconStyle\"\n ></i>\n\n <ng-content select=\"[ptDialogHeader]\"></ng-content>\n\n <span\n *ngIf=\"config.header\"\n class=\"pt-dialog-header-title\"\n [ngStyle]=\"headerTitleStyle\"\n >\n {{ config.header }}\n </span>\n </div>\n </div>\n </ng-template>\n\n <!-- BODY -->\n <div class=\"pt-dialog-body\" [ngStyle]=\"bodyStyle\">\n <div class=\"pt-dialog-body-inner\">\n <ng-content select=\"[ptDialogContent]\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- FOOTER -->\n <ng-template pTemplate=\"footer\" *ngIf=\"config.showFooter !== false\">\n <div class=\"surface-100 px-4 py-2 flex justify-content-end gap-2\">\n <ng-content select=\"[ptDialogFooter]\"></ng-content>\n </div>\n </ng-template>\n</p-dialog>\n", styles: [":host ::ng-deep .p-dialog.pt-dialog-overlay{border-radius:18px;overflow:hidden;box-shadow:0 20px 45px #0f172a59}:host ::ng-deep .p-dialog.pt-dialog-info .p-dialog-header{background-color:#e0f2fe;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-success .p-dialog-header{background-color:#dcfce7;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-warning .p-dialog-header{background-color:#fff4d1;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-danger .p-dialog-header{background-color:#fde4e4;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-overlay .p-dialog-footer{background:#fff!important;border-top:1px solid rgba(148,163,184,.25)!important;padding:16px 32px 22px!important}:host ::ng-deep .p-dialog.pt-dialog-overlay .p-dialog-footer .surface-100{background:transparent!important}.pt-dialog-header-inner{width:100%;padding:1rem 1rem .75rem;display:flex;align-items:center;justify-content:space-between}.pt-dialog-header-left{display:flex;align-items:center}.pt-dialog-header-icon{margin-right:.5rem}.pt-dialog-header-title{font-weight:700;font-size:1.125rem}:host ::ng-deep .p-dialog.pt-dialog-info .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-info .pt-dialog-header-icon{color:#2563eb}:host ::ng-deep .p-dialog.pt-dialog-success .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-success .pt-dialog-header-icon{color:#15803d}:host ::ng-deep .p-dialog.pt-dialog-warning .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-warning .pt-dialog-header-icon{color:#b45309}:host ::ng-deep .p-dialog.pt-dialog-danger .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-danger .pt-dialog-header-icon{color:#b91c1c}.pt-dialog-body{padding:1.25rem 1rem 1rem;display:flex;justify-content:center}.pt-dialog-body-inner{width:100%;max-width:100%;display:flex;flex-direction:column;gap:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$3.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
4826
4889
  }
4827
4890
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogComponent, decorators: [{
4828
4891
  type: Component,
4829
- args: [{ selector: 'pt-dialog', template: "<p-dialog\n [visible]=\"_internalVisible\"\n (visibleChange)=\"onInternalVisibleChange($event)\"\n [header]=\"config.header\"\n [modal]=\"config.modal\"\n [style]=\"config.style\"\n [breakpoints]=\"config.breakpoints\"\n [closable]=\"config.closable\"\n [draggable]=\"config.draggable\"\n [resizable]=\"config.resizable\"\n [maximizable]=\"config.maximizable\"\n [dismissableMask]=\"config.dismissableMask\"\n [closeOnEscape]=\"config.closeOnEscape\"\n [blockScroll]=\"config.blockScroll\"\n [position]=\"primePosition\"\n [contentStyle]=\"config.contentStyle\"\n [styleClass]=\"dialogStyleClass\"\n>\n <!-- HEADER -->\n <ng-template pTemplate=\"header\">\n <div class=\"pt-dialog-header-inner\">\n <div class=\"pt-dialog-header-left\">\n <i\n *ngIf=\"config.headerIconClass\"\n class=\"pt-dialog-header-icon\"\n [ngClass]=\"config.headerIconClass\"\n ></i>\n\n <ng-content select=\"[ptDialogHeader]\"></ng-content>\n\n <span *ngIf=\"config.header\" class=\"pt-dialog-header-title\">\n {{ config.header }}\n </span>\n </div>\n </div>\n </ng-template>\n\n <!-- BODY -->\n <div class=\"pt-dialog-body\" [ngStyle]=\"bodyStyle\">\n <div class=\"pt-dialog-body-inner\">\n <ng-content select=\"[ptDialogContent]\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- FOOTER -->\n <ng-template pTemplate=\"footer\" *ngIf=\"config.showFooter !== false\">\n <div class=\"surface-100 px-4 py-2 flex justify-content-end gap-2\">\n <ng-content select=\"[ptDialogFooter]\"></ng-content>\n </div>\n </ng-template>\n</p-dialog>\n", styles: [":host ::ng-deep .pt-dialog-header-blue .p-dialog-header{background-color:#e0f2ff;border-bottom:0}:host ::ng-deep .pt-dialog-header-blue .p-dialog-footer{background-color:#f5f6f8!important;border-top:0!important}.pt-dialog-header-inner{width:100%;padding:1rem 1rem .75rem;display:flex;align-items:center;justify-content:space-between}.pt-dialog-header-left{display:flex;align-items:center}.pt-dialog-header-icon{margin-right:.5rem}.pt-dialog-header-title{font-weight:700;font-size:1.125rem}.pt-dialog-body{padding:1.25rem 1rem 1rem;display:flex;justify-content:center}.pt-dialog-body-inner{width:100%;max-width:100%;display:flex;flex-direction:column;gap:.75rem}\n"] }]
4892
+ args: [{ selector: 'pt-dialog', template: "<p-dialog\n [visible]=\"_internalVisible\"\n (visibleChange)=\"onInternalVisibleChange($event)\"\n [header]=\"config.header\"\n [modal]=\"config.modal\"\n [style]=\"config.style\"\n [breakpoints]=\"config.breakpoints\"\n [closable]=\"config.closable\"\n [draggable]=\"config.draggable\"\n [resizable]=\"config.resizable\"\n [maximizable]=\"config.maximizable\"\n [dismissableMask]=\"config.dismissableMask\"\n [closeOnEscape]=\"config.closeOnEscape\"\n [blockScroll]=\"config.blockScroll\"\n [position]=\"primePosition\"\n [contentStyle]=\"config.contentStyle\"\n [styleClass]=\"dialogStyleClass\"\n>\n <!-- HEADER -->\n <ng-template pTemplate=\"header\">\n <div class=\"pt-dialog-header-inner\">\n <div class=\"pt-dialog-header-left\">\n <i\n *ngIf=\"config.headerIconClass\"\n class=\"pt-dialog-header-icon\"\n [ngClass]=\"safeHeaderIconClass\"\n [ngStyle]=\"headerIconStyle\"\n ></i>\n\n <ng-content select=\"[ptDialogHeader]\"></ng-content>\n\n <span\n *ngIf=\"config.header\"\n class=\"pt-dialog-header-title\"\n [ngStyle]=\"headerTitleStyle\"\n >\n {{ config.header }}\n </span>\n </div>\n </div>\n </ng-template>\n\n <!-- BODY -->\n <div class=\"pt-dialog-body\" [ngStyle]=\"bodyStyle\">\n <div class=\"pt-dialog-body-inner\">\n <ng-content select=\"[ptDialogContent]\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- FOOTER -->\n <ng-template pTemplate=\"footer\" *ngIf=\"config.showFooter !== false\">\n <div class=\"surface-100 px-4 py-2 flex justify-content-end gap-2\">\n <ng-content select=\"[ptDialogFooter]\"></ng-content>\n </div>\n </ng-template>\n</p-dialog>\n", styles: [":host ::ng-deep .p-dialog.pt-dialog-overlay{border-radius:18px;overflow:hidden;box-shadow:0 20px 45px #0f172a59}:host ::ng-deep .p-dialog.pt-dialog-info .p-dialog-header{background-color:#e0f2fe;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-success .p-dialog-header{background-color:#dcfce7;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-warning .p-dialog-header{background-color:#fff4d1;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-danger .p-dialog-header{background-color:#fde4e4;border-bottom:0}:host ::ng-deep .p-dialog.pt-dialog-overlay .p-dialog-footer{background:#fff!important;border-top:1px solid rgba(148,163,184,.25)!important;padding:16px 32px 22px!important}:host ::ng-deep .p-dialog.pt-dialog-overlay .p-dialog-footer .surface-100{background:transparent!important}.pt-dialog-header-inner{width:100%;padding:1rem 1rem .75rem;display:flex;align-items:center;justify-content:space-between}.pt-dialog-header-left{display:flex;align-items:center}.pt-dialog-header-icon{margin-right:.5rem}.pt-dialog-header-title{font-weight:700;font-size:1.125rem}:host ::ng-deep .p-dialog.pt-dialog-info .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-info .pt-dialog-header-icon{color:#2563eb}:host ::ng-deep .p-dialog.pt-dialog-success .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-success .pt-dialog-header-icon{color:#15803d}:host ::ng-deep .p-dialog.pt-dialog-warning .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-warning .pt-dialog-header-icon{color:#b45309}:host ::ng-deep .p-dialog.pt-dialog-danger .pt-dialog-header-title,:host ::ng-deep .p-dialog.pt-dialog-danger .pt-dialog-header-icon{color:#b91c1c}.pt-dialog-body{padding:1.25rem 1rem 1rem;display:flex;justify-content:center}.pt-dialog-body-inner{width:100%;max-width:100%;display:flex;flex-direction:column;gap:.75rem}\n"] }]
4830
4893
  }], propDecorators: { config: [{
4831
4894
  type: Input
4832
4895
  }], visible: [{