ng-prime-tools 1.0.32 → 1.0.34

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.
Files changed (42) hide show
  1. package/README.md +3 -3
  2. package/esm2022/lib/enums/form-input-type.enum.mjs +2 -1
  3. package/esm2022/lib/enums/input-validation.enum.mjs +2 -1
  4. package/esm2022/lib/ng-prime-tools.module.mjs +9 -5
  5. package/esm2022/lib/pt-advanced-prime-table/pt-advanced-prime-table.component.mjs +80 -48
  6. package/esm2022/lib/pt-confirm-dialog/index.mjs +2 -0
  7. package/esm2022/lib/pt-confirm-dialog/pt-confirm-dialog.component.mjs +285 -0
  8. package/esm2022/lib/pt-confirm-dialog/pt-confirm-dialog.module.mjs +21 -0
  9. package/esm2022/lib/pt-confirm-dialog/public-api.mjs +3 -0
  10. package/esm2022/lib/pt-dialog/pt-dialog.component.mjs +96 -268
  11. package/esm2022/lib/pt-dialog/pt-dialog.module.mjs +5 -7
  12. package/esm2022/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field.component.mjs +3 -3
  13. package/esm2022/lib/pt-form-builder/pt-form-builder.component.mjs +67 -4
  14. package/esm2022/public-api.mjs +2 -1
  15. package/fesm2022/ng-prime-tools.mjs +301 -78
  16. package/fesm2022/ng-prime-tools.mjs.map +1 -1
  17. package/lib/enums/form-input-type.enum.d.ts +1 -0
  18. package/lib/enums/form-input-type.enum.d.ts.map +1 -1
  19. package/lib/enums/input-validation.enum.d.ts +2 -1
  20. package/lib/enums/input-validation.enum.d.ts.map +1 -1
  21. package/lib/ng-prime-tools.module.d.ts +3 -2
  22. package/lib/ng-prime-tools.module.d.ts.map +1 -1
  23. package/lib/pt-advanced-prime-table/pt-advanced-prime-table.component.d.ts +36 -11
  24. package/lib/pt-advanced-prime-table/pt-advanced-prime-table.component.d.ts.map +1 -1
  25. package/lib/pt-confirm-dialog/index.d.ts +2 -0
  26. package/lib/pt-confirm-dialog/index.d.ts.map +1 -0
  27. package/lib/pt-confirm-dialog/pt-confirm-dialog.component.d.ts +44 -0
  28. package/lib/pt-confirm-dialog/pt-confirm-dialog.component.d.ts.map +1 -0
  29. package/lib/pt-confirm-dialog/pt-confirm-dialog.module.d.ts +12 -0
  30. package/lib/pt-confirm-dialog/pt-confirm-dialog.module.d.ts.map +1 -0
  31. package/lib/pt-confirm-dialog/public-api.d.ts +3 -0
  32. package/lib/pt-confirm-dialog/public-api.d.ts.map +1 -0
  33. package/lib/pt-dialog/pt-dialog.component.d.ts +47 -40
  34. package/lib/pt-dialog/pt-dialog.component.d.ts.map +1 -1
  35. package/lib/pt-dialog/pt-dialog.module.d.ts +1 -3
  36. package/lib/pt-dialog/pt-dialog.module.d.ts.map +1 -1
  37. package/lib/pt-form-builder/pt-form-builder.component.d.ts +5 -1
  38. package/lib/pt-form-builder/pt-form-builder.component.d.ts.map +1 -1
  39. package/lib/pt-metric-panel/pt-metric-panel.component.d.ts +1 -1
  40. package/package.json +1 -1
  41. package/public-api.d.ts +1 -0
  42. package/public-api.d.ts.map +1 -1
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWNvbmZpcm0tZGlhbG9nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,285 @@
1
+ import { Component, Input, Output, EventEmitter, } from '@angular/core';
2
+ import { ConfirmationService, MessageService, } from 'primeng/api';
3
+ import { SeverityEnum } from '../enums';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "primeng/api";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../pt-button/pt-button.component";
8
+ import * as i4 from "primeng/confirmdialog";
9
+ /**
10
+ * Styles per severity:
11
+ * - Only header (text/color) is provided here.
12
+ * - No default "content" text anymore.
13
+ */
14
+ const DIALOG_STYLES = {
15
+ [SeverityEnum.WARNING]: {
16
+ header: { text: 'Avertissement', color: '#8a4b00' },
17
+ },
18
+ [SeverityEnum.SUCCESS]: {
19
+ header: { text: 'Succès', color: '#166534' },
20
+ },
21
+ [SeverityEnum.DANGER]: {
22
+ header: { text: 'Erreur', color: '#7f1d1d' },
23
+ },
24
+ [SeverityEnum.INFO]: {
25
+ header: { text: 'Information', color: '#2563eb' },
26
+ },
27
+ };
28
+ /**
29
+ * Default config:
30
+ * - content is now empty string (no default message).
31
+ */
32
+ const DEFAULT_DIALOG_CONFIG = {
33
+ header: { text: 'Confirmation' },
34
+ visible: false,
35
+ width: '720px',
36
+ height: 'auto',
37
+ content: '', // no default message
38
+ confirmButtonConfig: {
39
+ label: 'Confirmer',
40
+ },
41
+ cancelButtonConfig: {
42
+ label: 'Annuler',
43
+ },
44
+ dialogStyle: SeverityEnum.INFO,
45
+ };
46
+ export class PTConfirmDialogComponent {
47
+ constructor(confirmationService, messageService, renderer, el) {
48
+ this.confirmationService = confirmationService;
49
+ this.messageService = messageService;
50
+ this.renderer = renderer;
51
+ this.el = el;
52
+ this.dialogConfig = { ...DEFAULT_DIALOG_CONFIG };
53
+ this.confirm = new EventEmitter();
54
+ this.cancel = new EventEmitter();
55
+ this.SeverityEnum = SeverityEnum;
56
+ }
57
+ ngOnChanges(changes) {
58
+ if (changes['dialogConfig']) {
59
+ const current = changes['dialogConfig'].currentValue;
60
+ if (changes['dialogConfig'].previousValue?.dialogStyle !==
61
+ current?.dialogStyle) {
62
+ this.applyDialogStyle();
63
+ }
64
+ if (this.dialogConfig.visible) {
65
+ this.showDialog();
66
+ }
67
+ }
68
+ }
69
+ /**
70
+ * Merge defaults + current config + severity style.
71
+ * We are careful NOT to spread header (it can be string or object).
72
+ */
73
+ applyDialogStyle() {
74
+ const dialogStyle = this.dialogConfig.dialogStyle || SeverityEnum.INFO;
75
+ const styleConfig = DIALOG_STYLES[dialogStyle] || {};
76
+ const current = this.dialogConfig;
77
+ // Decide which header to use without spreading non-object types
78
+ const mergedHeader = current.header !== undefined
79
+ ? current.header
80
+ : styleConfig.header !== undefined
81
+ ? styleConfig.header
82
+ : DEFAULT_DIALOG_CONFIG.header;
83
+ this.dialogConfig = {
84
+ ...DEFAULT_DIALOG_CONFIG,
85
+ ...current,
86
+ ...styleConfig,
87
+ header: mergedHeader,
88
+ confirmButtonConfig: {
89
+ ...DEFAULT_DIALOG_CONFIG.confirmButtonConfig,
90
+ ...current.confirmButtonConfig,
91
+ },
92
+ cancelButtonConfig: {
93
+ ...DEFAULT_DIALOG_CONFIG.cancelButtonConfig,
94
+ ...current.cancelButtonConfig,
95
+ },
96
+ visible: current.visible,
97
+ };
98
+ }
99
+ getSeverityClass() {
100
+ const style = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO;
101
+ switch (style) {
102
+ case SeverityEnum.DANGER:
103
+ return 'pt-confirm-dialog-danger';
104
+ case SeverityEnum.WARNING:
105
+ return 'pt-confirm-dialog-warning';
106
+ case SeverityEnum.SUCCESS:
107
+ return 'pt-confirm-dialog-success';
108
+ case SeverityEnum.INFO:
109
+ default:
110
+ return 'pt-confirm-dialog-info';
111
+ }
112
+ }
113
+ /** SUCCESS & INFO share same behaviour, only color differs */
114
+ getSeverityColors() {
115
+ const style = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO;
116
+ switch (style) {
117
+ case SeverityEnum.DANGER:
118
+ return { header: '#b91c1c', message: '#4b5563' };
119
+ case SeverityEnum.WARNING:
120
+ return { header: '#b45309', message: '#92400e' };
121
+ case SeverityEnum.SUCCESS:
122
+ return { header: '#15803d', message: '#166534' };
123
+ case SeverityEnum.INFO:
124
+ default:
125
+ return { header: '#2563eb', message: '#2563eb' };
126
+ }
127
+ }
128
+ // ───────────── Button models for pt-button ─────────────
129
+ get confirmButtonModel() {
130
+ const style = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO;
131
+ const confirmSeverity = style === SeverityEnum.DANGER
132
+ ? SeverityEnum.DANGER
133
+ : style === SeverityEnum.WARNING
134
+ ? SeverityEnum.WARNING
135
+ : style === SeverityEnum.SUCCESS
136
+ ? SeverityEnum.SUCCESS
137
+ : SeverityEnum.INFO;
138
+ return {
139
+ label: this.dialogConfig.confirmButtonConfig?.label ?? 'Confirmer',
140
+ icon: this.dialogConfig.confirmButtonConfig?.icon ?? 'pi pi-check',
141
+ iconPos: 'left',
142
+ type: 'button',
143
+ outlined: true,
144
+ severity: confirmSeverity,
145
+ styleClass: (this.dialogConfig.confirmButtonConfig?.styleClass || '') +
146
+ ' pt-confirm-dialog-confirm-btn',
147
+ width: 'auto',
148
+ };
149
+ }
150
+ get cancelButtonModel() {
151
+ return {
152
+ label: this.dialogConfig.cancelButtonConfig?.label ?? 'Annuler',
153
+ icon: this.dialogConfig.cancelButtonConfig?.icon ?? 'pi pi-times',
154
+ iconPos: 'left',
155
+ type: 'button',
156
+ outlined: true,
157
+ severity: SeverityEnum.INFO,
158
+ styleClass: (this.dialogConfig.cancelButtonConfig?.styleClass || '') +
159
+ ' pt-confirm-dialog-cancel-btn',
160
+ width: 'auto',
161
+ };
162
+ }
163
+ showDialog() {
164
+ this.confirmationService.confirm({
165
+ header: '',
166
+ // message is not really used visually, but kept here
167
+ message: this.getDialogContentText(),
168
+ accept: () => this.confirm.emit(),
169
+ reject: (_type) => this.cancel.emit(),
170
+ });
171
+ setTimeout(() => {
172
+ const dialogElement = document.querySelector('.p-confirm-dialog');
173
+ if (dialogElement) {
174
+ this.renderer.addClass(dialogElement, 'pt-confirm-dialog-overlay');
175
+ this.renderer.removeClass(dialogElement, 'pt-confirm-dialog-danger');
176
+ this.renderer.removeClass(dialogElement, 'pt-confirm-dialog-warning');
177
+ this.renderer.removeClass(dialogElement, 'pt-confirm-dialog-success');
178
+ this.renderer.removeClass(dialogElement, 'pt-confirm-dialog-info');
179
+ const severityClass = this.getSeverityClass();
180
+ this.renderer.addClass(dialogElement, severityClass);
181
+ this.renderer.setStyle(dialogElement, 'width', this.dialogConfig.width || '720px');
182
+ this.renderer.setStyle(dialogElement, 'height', this.dialogConfig.height || 'auto');
183
+ }
184
+ }, 0);
185
+ }
186
+ // ── header / icon / content helpers ───────────────────────────────
187
+ getDialogHeaderText() {
188
+ const header = this.dialogConfig.header;
189
+ const dialogStyle = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO;
190
+ const styleHeader = DIALOG_STYLES[dialogStyle]?.header;
191
+ return typeof header === 'object' && header !== null && 'text' in header
192
+ ? header.text
193
+ : typeof header === 'string'
194
+ ? header
195
+ : typeof styleHeader === 'object' &&
196
+ styleHeader !== null &&
197
+ 'text' in styleHeader
198
+ ? styleHeader.text
199
+ : 'Confirmation';
200
+ }
201
+ getDialogHeaderStyle() {
202
+ const header = this.dialogConfig.header;
203
+ const { header: color } = this.getSeverityColors();
204
+ const fontSize = typeof header === 'object' && header !== null && header.fontSize
205
+ ? header.fontSize
206
+ : '20px';
207
+ return {
208
+ color,
209
+ fontSize,
210
+ fontWeight: 700,
211
+ };
212
+ }
213
+ getDialogIconClass() {
214
+ const header = this.dialogConfig.header;
215
+ const dialogStyle = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO;
216
+ const styleHeader = DIALOG_STYLES[dialogStyle]?.header;
217
+ const icon = typeof header === 'object' && header !== null && 'icon' in header
218
+ ? header.icon
219
+ : typeof styleHeader === 'object' && 'icon' in styleHeader
220
+ ? styleHeader.icon
221
+ : undefined;
222
+ return typeof icon === 'string'
223
+ ? icon
224
+ : icon?.code || 'pi pi-exclamation-circle';
225
+ }
226
+ getDialogIconStyle() {
227
+ const header = this.dialogConfig.header;
228
+ const { header: defaultColor } = this.getSeverityColors();
229
+ const icon = typeof header === 'object' && header !== null && 'icon' in header
230
+ ? header.icon
231
+ : undefined;
232
+ return {
233
+ color: icon?.color || defaultColor,
234
+ fontSize: icon?.fontSize || '2.2rem',
235
+ };
236
+ }
237
+ /**
238
+ * No default text anymore.
239
+ * - If dialogConfig.content is a string, we return it.
240
+ * - If it is an object with text, we use that.
241
+ * - Otherwise we return '' (empty) so the body is blank.
242
+ */
243
+ getDialogContentText() {
244
+ const content = this.dialogConfig.content;
245
+ if (typeof content === 'string') {
246
+ return content;
247
+ }
248
+ if (content && typeof content === 'object' && 'text' in content) {
249
+ return content.text ?? '';
250
+ }
251
+ return '';
252
+ }
253
+ getDialogContentStyle() {
254
+ const content = this.dialogConfig.content;
255
+ const { message } = this.getSeverityColors();
256
+ let fontSize = '18px';
257
+ let textAlign;
258
+ if (typeof content === 'object' && content !== null) {
259
+ if (content.fontSize) {
260
+ fontSize = content.fontSize;
261
+ }
262
+ if (content.position) {
263
+ textAlign = content.position;
264
+ }
265
+ }
266
+ return {
267
+ color: message,
268
+ fontSize,
269
+ ...(textAlign ? { textAlign } : {}),
270
+ };
271
+ }
272
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTConfirmDialogComponent, deps: [{ token: i1.ConfirmationService }, { token: i1.MessageService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
273
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTConfirmDialogComponent, selector: "pt-confirm-dialog", inputs: { dialogConfig: "dialogConfig" }, outputs: { confirm: "confirm", cancel: "cancel" }, providers: [ConfirmationService, MessageService], usesOnChanges: true, ngImport: i0, template: "<div class=\"pt-confirm-dialog\">\n <p-confirmDialog #cd>\n <ng-template pTemplate=\"header\"></ng-template>\n\n <ng-template pTemplate=\"message\">\n <div class=\"pt-confirm-dialog-card\">\n <div class=\"pt-confirm-dialog-card-top\">\n <div class=\"pt-confirm-dialog-icon-wrapper\">\n <i\n class=\"pt-confirm-dialog-icon\"\n [class]=\"getDialogIconClass()\"\n [ngStyle]=\"getDialogIconStyle()\"\n ></i>\n </div>\n\n <div class=\"pt-confirm-dialog-text-wrapper\">\n <div\n class=\"pt-confirm-dialog-title\"\n [ngStyle]=\"getDialogHeaderStyle()\"\n >\n {{ getDialogHeaderText() }}\n </div>\n\n <div\n class=\"pt-confirm-dialog-message\"\n [ngStyle]=\"getDialogContentStyle()\"\n >\n {{ getDialogContentText() }}\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"pt-confirm-dialog-footer-buttons\">\n <pt-button\n *ngIf=\"dialogConfig.cancelButtonConfig\"\n [buttonConfig]=\"cancelButtonModel\"\n (click)=\"cd.reject()\"\n ></pt-button>\n\n <pt-button\n *ngIf=\"dialogConfig.confirmButtonConfig\"\n [buttonConfig]=\"confirmButtonModel\"\n (click)=\"cd.accept()\"\n ></pt-button>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n", styles: ["::ng-deep .p-confirm-dialog.pt-confirm-dialog-overlay{border-radius:18px;overflow:hidden;box-shadow:0 20px 45px #0f172a59}::ng-deep .p-confirm-dialog.pt-confirm-dialog-overlay .p-dialog-header{display:none!important;padding:0!important;border:0!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-overlay .p-dialog-content{padding:0;background:transparent;border-top-left-radius:18px;border-top-right-radius:18px}.pt-confirm-dialog-card{border-radius:18px 18px 0 0;overflow:hidden}.pt-confirm-dialog-card-top{padding:28px 40px;display:flex;align-items:flex-start}::ng-deep .p-confirm-dialog.pt-confirm-dialog-danger .pt-confirm-dialog-card{background-color:#fde4e4}::ng-deep .p-confirm-dialog.pt-confirm-dialog-warning .pt-confirm-dialog-card{background-color:#fff4d1}::ng-deep .p-confirm-dialog.pt-confirm-dialog-success .pt-confirm-dialog-card{background-color:#dcfce7}::ng-deep .p-confirm-dialog.pt-confirm-dialog-info .pt-confirm-dialog-card{background-color:#e0f2fe}.pt-confirm-dialog-icon-wrapper{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:18px;box-sizing:border-box}.pt-confirm-dialog-icon{font-size:30px;line-height:1;color:#b91c1c}.pt-confirm-dialog-text-wrapper{flex:1}.pt-confirm-dialog-title{font-size:22px;font-weight:700;margin-bottom:8px;color:#b91c1c}.pt-confirm-dialog-message{font-size:18px;line-height:1.5;color:#4b5563}::ng-deep .p-confirm-dialog.pt-confirm-dialog-overlay .p-dialog-footer{background:#fff;border-top:1px solid rgba(148,163,184,.25);padding:16px 32px 22px}.pt-confirm-dialog-footer-buttons{display:flex;justify-content:center;gap:16px}::ng-deep .p-confirm-dialog .p-dialog-footer .p-button{border-radius:9999px;padding:.75rem 1.8rem;font-weight:600}::ng-deep .p-confirm-dialog .p-dialog-footer .p-button i.pi{margin-right:.5rem}::ng-deep .p-confirm-dialog.pt-confirm-dialog-danger .p-dialog-footer .p-button{background:#fff!important;border-color:#dc2626!important;color:#dc2626!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-warning .p-dialog-footer .p-button{background:#fff!important;border-color:#d97706!important;color:#b45309!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-success .p-dialog-footer .p-button{background:#fff!important;border-color:#16a34a!important;color:#15803d!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-info .p-dialog-footer .p-button{background:#fff!important;border-color:#2563eb!important;color:#2563eb!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-info .p-dialog-footer .p-button:hover{background:#eff6ff!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-overlay .p-dialog-content{padding:0;background:transparent;border-top-left-radius:18px;border-top-right-radius:18px;display:block}.pt-confirm-dialog-card{border-radius:18px 18px 0 0;overflow:hidden;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.PTButtonComponent, selector: "pt-button", inputs: ["buttonConfig"] }, { kind: "component", type: i4.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }] }); }
274
+ }
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTConfirmDialogComponent, decorators: [{
276
+ type: Component,
277
+ args: [{ selector: 'pt-confirm-dialog', providers: [ConfirmationService, MessageService], template: "<div class=\"pt-confirm-dialog\">\n <p-confirmDialog #cd>\n <ng-template pTemplate=\"header\"></ng-template>\n\n <ng-template pTemplate=\"message\">\n <div class=\"pt-confirm-dialog-card\">\n <div class=\"pt-confirm-dialog-card-top\">\n <div class=\"pt-confirm-dialog-icon-wrapper\">\n <i\n class=\"pt-confirm-dialog-icon\"\n [class]=\"getDialogIconClass()\"\n [ngStyle]=\"getDialogIconStyle()\"\n ></i>\n </div>\n\n <div class=\"pt-confirm-dialog-text-wrapper\">\n <div\n class=\"pt-confirm-dialog-title\"\n [ngStyle]=\"getDialogHeaderStyle()\"\n >\n {{ getDialogHeaderText() }}\n </div>\n\n <div\n class=\"pt-confirm-dialog-message\"\n [ngStyle]=\"getDialogContentStyle()\"\n >\n {{ getDialogContentText() }}\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <div class=\"pt-confirm-dialog-footer-buttons\">\n <pt-button\n *ngIf=\"dialogConfig.cancelButtonConfig\"\n [buttonConfig]=\"cancelButtonModel\"\n (click)=\"cd.reject()\"\n ></pt-button>\n\n <pt-button\n *ngIf=\"dialogConfig.confirmButtonConfig\"\n [buttonConfig]=\"confirmButtonModel\"\n (click)=\"cd.accept()\"\n ></pt-button>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n", styles: ["::ng-deep .p-confirm-dialog.pt-confirm-dialog-overlay{border-radius:18px;overflow:hidden;box-shadow:0 20px 45px #0f172a59}::ng-deep .p-confirm-dialog.pt-confirm-dialog-overlay .p-dialog-header{display:none!important;padding:0!important;border:0!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-overlay .p-dialog-content{padding:0;background:transparent;border-top-left-radius:18px;border-top-right-radius:18px}.pt-confirm-dialog-card{border-radius:18px 18px 0 0;overflow:hidden}.pt-confirm-dialog-card-top{padding:28px 40px;display:flex;align-items:flex-start}::ng-deep .p-confirm-dialog.pt-confirm-dialog-danger .pt-confirm-dialog-card{background-color:#fde4e4}::ng-deep .p-confirm-dialog.pt-confirm-dialog-warning .pt-confirm-dialog-card{background-color:#fff4d1}::ng-deep .p-confirm-dialog.pt-confirm-dialog-success .pt-confirm-dialog-card{background-color:#dcfce7}::ng-deep .p-confirm-dialog.pt-confirm-dialog-info .pt-confirm-dialog-card{background-color:#e0f2fe}.pt-confirm-dialog-icon-wrapper{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:18px;box-sizing:border-box}.pt-confirm-dialog-icon{font-size:30px;line-height:1;color:#b91c1c}.pt-confirm-dialog-text-wrapper{flex:1}.pt-confirm-dialog-title{font-size:22px;font-weight:700;margin-bottom:8px;color:#b91c1c}.pt-confirm-dialog-message{font-size:18px;line-height:1.5;color:#4b5563}::ng-deep .p-confirm-dialog.pt-confirm-dialog-overlay .p-dialog-footer{background:#fff;border-top:1px solid rgba(148,163,184,.25);padding:16px 32px 22px}.pt-confirm-dialog-footer-buttons{display:flex;justify-content:center;gap:16px}::ng-deep .p-confirm-dialog .p-dialog-footer .p-button{border-radius:9999px;padding:.75rem 1.8rem;font-weight:600}::ng-deep .p-confirm-dialog .p-dialog-footer .p-button i.pi{margin-right:.5rem}::ng-deep .p-confirm-dialog.pt-confirm-dialog-danger .p-dialog-footer .p-button{background:#fff!important;border-color:#dc2626!important;color:#dc2626!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-warning .p-dialog-footer .p-button{background:#fff!important;border-color:#d97706!important;color:#b45309!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-success .p-dialog-footer .p-button{background:#fff!important;border-color:#16a34a!important;color:#15803d!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-info .p-dialog-footer .p-button{background:#fff!important;border-color:#2563eb!important;color:#2563eb!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-info .p-dialog-footer .p-button:hover{background:#eff6ff!important}::ng-deep .p-confirm-dialog.pt-confirm-dialog-overlay .p-dialog-content{padding:0;background:transparent;border-top-left-radius:18px;border-top-right-radius:18px;display:block}.pt-confirm-dialog-card{border-radius:18px 18px 0 0;overflow:hidden;width:100%}\n"] }]
278
+ }], ctorParameters: () => [{ type: i1.ConfirmationService }, { type: i1.MessageService }, { type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { dialogConfig: [{
279
+ type: Input
280
+ }], confirm: [{
281
+ type: Output
282
+ }], cancel: [{
283
+ type: Output
284
+ }] } });
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9wdC1jb25maXJtLWRpYWxvZy9wdC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWNvbmZpcm0tZGlhbG9nL3B0LWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBS2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUVuQixjQUFjLEdBQ2YsTUFBTSxhQUFhLENBQUM7QUFJckIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7O0FBRXhDOzs7O0dBSUc7QUFDSCxNQUFNLGFBQWEsR0FBZ0Q7SUFDakUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdEIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO0tBQ3BEO0lBQ0QsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdEIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO0tBQzdDO0lBQ0QsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDckIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO0tBQzdDO0lBQ0QsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUs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O1lBQ0wsS0FBSyxFQUFFLE9BQU87WUFDZCxRQUFRO1lBQ1IsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ3BDLENBQUM7SUFDSixDQUFDOytHQTlSVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix5SUFGeEIsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsK0NDL0RsRCw4aERBbURBOzs0RkRjYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0UsbUJBQW1CLGFBR2xCLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxDQUFDO3NLQUd2QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFJlbmRlcmVyMixcbiAgRWxlbWVudFJlZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25DaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbmZpcm1hdGlvblNlcnZpY2UsXG4gIENvbmZpcm1FdmVudFR5cGUsXG4gIE1lc3NhZ2VTZXJ2aWNlLFxufSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBEaWFsb2dDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGlhbG9nLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBCdXR0b25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9idXR0b24ubW9kZWwnO1xuaW1wb3J0IHsgSWNvblN0eWxlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFNldmVyaXR5RW51bSB9IGZyb20gJy4uL2VudW1zJztcblxuLyoqXG4gKiBTdHlsZXMgcGVyIHNldmVyaXR5OlxuICogIC0gT25seSBoZWFkZXIgKHRleHQvY29sb3IpIGlzIHByb3ZpZGVkIGhlcmUuXG4gKiAgLSBObyBkZWZhdWx0IFwiY29udGVudFwiIHRleHQgYW55bW9yZS5cbiAqL1xuY29uc3QgRElBTE9HX1NUWUxFUzogUmVjb3JkPFNldmVyaXR5RW51bSwgUGFydGlhbDxEaWFsb2dDb25maWc+PiA9IHtcbiAgW1NldmVyaXR5RW51bS5XQVJOSU5HXToge1xuICAgIGhlYWRlcjogeyB0ZXh0OiAnQXZlcnRpc3NlbWVudCcsIGNvbG9yOiAnIzhhNGIwMCcgfSxcbiAgfSxcbiAgW1NldmVyaXR5RW51bS5TVUNDRVNTXToge1xuICAgIGhlYWRlcjogeyB0ZXh0OiAnU3VjY8OocycsIGNvbG9yOiAnIzE2NjUzNCcgfSxcbiAgfSxcbiAgW1NldmVyaXR5RW51bS5EQU5HRVJdOiB7XG4gICAgaGVhZGVyOiB7IHRleHQ6ICdFcnJldXInLCBjb2xvcjogJyM3ZjFkMWQnIH0sXG4gIH0sXG4gIFtTZXZlcml0eUVudW0uSU5GT106IHtcbiAgICBoZWFkZXI6IHsgdGV4dDogJ0luZm9ybWF0aW9uJywgY29sb3I6ICcjMjU2M2ViJyB9LFxuICB9LFxufTtcblxuLyoqXG4gKiBEZWZhdWx0IGNvbmZpZzpcbiAqICAtIGNvbnRlbnQgaXMgbm93IGVtcHR5IHN0cmluZyAobm8gZGVmYXVsdCBtZXNzYWdlKS5cbiAqL1xuY29uc3QgREVGQVVMVF9ESUFMT0dfQ09ORklHOiBEaWFsb2dDb25maWcgPSB7XG4gIGhlYWRlcjogeyB0ZXh0OiAnQ29uZmlybWF0aW9uJyB9LFxuICB2aXNpYmxlOiBmYWxzZSxcbiAgd2lkdGg6ICc3MjBweCcsXG4gIGhlaWdodDogJ2F1dG8nLFxuICBjb250ZW50OiAnJywgLy8gbm8gZGVmYXVsdCBtZXNzYWdlXG4gIGNvbmZpcm1CdXR0b25Db25maWc6IHtcbiAgICBsYWJlbDogJ0NvbmZpcm1lcicsXG4gIH0sXG4gIGNhbmNlbEJ1dHRvbkNvbmZpZzoge1xuICAgIGxhYmVsOiAnQW5udWxlcicsXG4gIH0sXG4gIGRpYWxvZ1N0eWxlOiBTZXZlcml0eUVudW0uSU5GTyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3B0LWNvbmZpcm0tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3B0LWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHQtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmNzcyddLFxuICBwcm92aWRlcnM6IFtDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFBUQ29uZmlybURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGRpYWxvZ0NvbmZpZzogRGlhbG9nQ29uZmlnID0geyAuLi5ERUZBVUxUX0RJQUxPR19DT05GSUcgfTtcbiAgQE91dHB1dCgpIGNvbmZpcm0gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgU2V2ZXJpdHlFbnVtID0gU2V2ZXJpdHlFbnVtO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZlxuICApIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydkaWFsb2dDb25maWcnXSkge1xuICAgICAgY29uc3QgY3VycmVudCA9IGNoYW5nZXNbJ2RpYWxvZ0NvbmZpZyddLmN1cnJlbnRWYWx1ZSBhcyBEaWFsb2dDb25maWc7XG5cbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlc1snZGlhbG9nQ29uZmlnJ10ucHJldmlvdXNWYWx1ZT8uZGlhbG9nU3R5bGUgIT09XG4gICAgICAgIGN1cnJlbnQ/LmRpYWxvZ1N0eWxlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5hcHBseURpYWxvZ1N0eWxlKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmRpYWxvZ0NvbmZpZy52aXNpYmxlKSB7XG4gICAgICAgIHRoaXMuc2hvd0RpYWxvZygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBkZWZhdWx0cyArIGN1cnJlbnQgY29uZmlnICsgc2V2ZXJpdHkgc3R5bGUuXG4gICAqIFdlIGFyZSBjYXJlZnVsIE5PVCB0byBzcHJlYWQgaGVhZGVyIChpdCBjYW4gYmUgc3RyaW5nIG9yIG9iamVjdCkuXG4gICAqL1xuICBwcml2YXRlIGFwcGx5RGlhbG9nU3R5bGUoKTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nU3R5bGUgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kaWFsb2dTdHlsZSB8fCBTZXZlcml0eUVudW0uSU5GTztcbiAgICBjb25zdCBzdHlsZUNvbmZpZyA9IERJQUxPR19TVFlMRVNbZGlhbG9nU3R5bGVdIHx8IHt9O1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmRpYWxvZ0NvbmZpZztcblxuICAgIC8vIERlY2lkZSB3aGljaCBoZWFkZXIgdG8gdXNlIHdpdGhvdXQgc3ByZWFkaW5nIG5vbi1vYmplY3QgdHlwZXNcbiAgICBjb25zdCBtZXJnZWRIZWFkZXIgPVxuICAgICAgY3VycmVudC5oZWFkZXIgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IGN1cnJlbnQuaGVhZGVyXG4gICAgICAgIDogc3R5bGVDb25maWcuaGVhZGVyICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBzdHlsZUNvbmZpZy5oZWFkZXJcbiAgICAgICAgOiBERUZBVUxUX0RJQUxPR19DT05GSUcuaGVhZGVyO1xuXG4gICAgdGhpcy5kaWFsb2dDb25maWcgPSB7XG4gICAgICAuLi5ERUZBVUxUX0RJQUxPR19DT05GSUcsXG4gICAgICAuLi5jdXJyZW50LFxuICAgICAgLi4uc3R5bGVDb25maWcsXG4gICAgICBoZWFkZXI6IG1lcmdlZEhlYWRlcixcbiAgICAgIGNvbmZpcm1CdXR0b25Db25maWc6IHtcbiAgICAgICAgLi4uREVGQVVMVF9ESUFMT0dfQ09ORklHLmNvbmZpcm1CdXR0b25Db25maWcsXG4gICAgICAgIC4uLmN1cnJlbnQuY29uZmlybUJ1dHRvbkNvbmZpZyxcbiAgICAgIH0sXG4gICAgICBjYW5jZWxCdXR0b25Db25maWc6IHtcbiAgICAgICAgLi4uREVGQVVMVF9ESUFMT0dfQ09ORklHLmNhbmNlbEJ1dHRvbkNvbmZpZyxcbiAgICAgICAgLi4uY3VycmVudC5jYW5jZWxCdXR0b25Db25maWcsXG4gICAgICB9LFxuICAgICAgdmlzaWJsZTogY3VycmVudC52aXNpYmxlLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFNldmVyaXR5Q2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuZGlhbG9nQ29uZmlnLmRpYWxvZ1N0eWxlID8/IFNldmVyaXR5RW51bS5JTkZPO1xuICAgIHN3aXRjaCAoc3R5bGUpIHtcbiAgICAgIGNhc2UgU2V2ZXJpdHlFbnVtLkRBTkdFUjpcbiAgICAgICAgcmV0dXJuICdwdC1jb25maXJtLWRpYWxvZy1kYW5nZXInO1xuICAgICAgY2FzZSBTZXZlcml0eUVudW0uV0FSTklORzpcbiAgICAgICAgcmV0dXJuICdwdC1jb25maXJtLWRpYWxvZy13YXJuaW5nJztcbiAgICAgIGNhc2UgU2V2ZXJpdHlFbnVtLlNVQ0NFU1M6XG4gICAgICAgIHJldHVybiAncHQtY29uZmlybS1kaWFsb2ctc3VjY2Vzcyc7XG4gICAgICBjYXNlIFNldmVyaXR5RW51bS5JTkZPOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdwdC1jb25maXJtLWRpYWxvZy1pbmZvJztcbiAgICB9XG4gIH1cblxuICAvKiogU1VDQ0VTUyAmIElORk8gc2hhcmUgc2FtZSBiZWhhdmlvdXIsIG9ubHkgY29sb3IgZGlmZmVycyAqL1xuICBwcml2YXRlIGdldFNldmVyaXR5Q29sb3JzKCk6IHsgaGVhZGVyOiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9IHtcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuZGlhbG9nQ29uZmlnLmRpYWxvZ1N0eWxlID8/IFNldmVyaXR5RW51bS5JTkZPO1xuXG4gICAgc3dpdGNoIChzdHlsZSkge1xuICAgICAgY2FzZSBTZXZlcml0eUVudW0uREFOR0VSOlxuICAgICAgICByZXR1cm4geyBoZWFkZXI6ICcjYjkxYzFjJywgbWVzc2FnZTogJyM0YjU1NjMnIH07XG4gICAgICBjYXNlIFNldmVyaXR5RW51bS5XQVJOSU5HOlxuICAgICAgICByZXR1cm4geyBoZWFkZXI6ICcjYjQ1MzA5JywgbWVzc2FnZTogJyM5MjQwMGUnIH07XG4gICAgICBjYXNlIFNldmVyaXR5RW51bS5TVUNDRVNTOlxuICAgICAgICByZXR1cm4geyBoZWFkZXI6ICcjMTU4MDNkJywgbWVzc2FnZTogJyMxNjY1MzQnIH07XG4gICAgICBjYXNlIFNldmVyaXR5RW51bS5JTkZPOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHsgaGVhZGVyOiAnIzI1NjNlYicsIG1lc3NhZ2U6ICcjMjU2M2ViJyB9O1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCBCdXR0b24gbW9kZWxzIGZvciBwdC1idXR0b24g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgZ2V0IGNvbmZpcm1CdXR0b25Nb2RlbCgpOiBCdXR0b25Nb2RlbCB7XG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kaWFsb2dTdHlsZSA/PyBTZXZlcml0eUVudW0uSU5GTztcblxuICAgIGNvbnN0IGNvbmZpcm1TZXZlcml0eSA9XG4gICAgICBzdHlsZSA9PT0gU2V2ZXJpdHlFbnVtLkRBTkdFUlxuICAgICAgICA/IFNldmVyaXR5RW51bS5EQU5HRVJcbiAgICAgICAgOiBzdHlsZSA9PT0gU2V2ZXJpdHlFbnVtLldBUk5JTkdcbiAgICAgICAgPyBTZXZlcml0eUVudW0uV0FSTklOR1xuICAgICAgICA6IHN0eWxlID09PSBTZXZlcml0eUVudW0uU1VDQ0VTU1xuICAgICAgICA/IFNldmVyaXR5RW51bS5TVUNDRVNTXG4gICAgICAgIDogU2V2ZXJpdHlFbnVtLklORk87XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IHRoaXMuZGlhbG9nQ29uZmlnLmNvbmZpcm1CdXR0b25Db25maWc/LmxhYmVsID8/ICdDb25maXJtZXInLFxuICAgICAgaWNvbjogdGhpcy5kaWFsb2dDb25maWcuY29uZmlybUJ1dHRvbkNvbmZpZz8uaWNvbiA/PyAncGkgcGktY2hlY2snLFxuICAgICAgaWNvblBvczogJ2xlZnQnLFxuICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICBvdXRsaW5lZDogdHJ1ZSxcbiAgICAgIHNldmVyaXR5OiBjb25maXJtU2V2ZXJpdHksXG4gICAgICBzdHlsZUNsYXNzOlxuICAgICAgICAodGhpcy5kaWFsb2dDb25maWcuY29uZmlybUJ1dHRvbkNvbmZpZz8uc3R5bGVDbGFzcyB8fCAnJykgK1xuICAgICAgICAnIHB0LWNvbmZpcm0tZGlhbG9nLWNvbmZpcm0tYnRuJyxcbiAgICAgIHdpZHRoOiAnYXV0bycsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBjYW5jZWxCdXR0b25Nb2RlbCgpOiBCdXR0b25Nb2RlbCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiB0aGlzLmRpYWxvZ0NvbmZpZy5jYW5jZWxCdXR0b25Db25maWc/LmxhYmVsID8/ICdBbm51bGVyJyxcbiAgICAgIGljb246IHRoaXMuZGlhbG9nQ29uZmlnLmNhbmNlbEJ1dHRvbkNvbmZpZz8uaWNvbiA/PyAncGkgcGktdGltZXMnLFxuICAgICAgaWNvblBvczogJ2xlZnQnLFxuICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICBvdXRsaW5lZDogdHJ1ZSxcbiAgICAgIHNldmVyaXR5OiBTZXZlcml0eUVudW0uSU5GTyxcbiAgICAgIHN0eWxlQ2xhc3M6XG4gICAgICAgICh0aGlzLmRpYWxvZ0NvbmZpZy5jYW5jZWxCdXR0b25Db25maWc/LnN0eWxlQ2xhc3MgfHwgJycpICtcbiAgICAgICAgJyBwdC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnRuJyxcbiAgICAgIHdpZHRoOiAnYXV0bycsXG4gICAgfTtcbiAgfVxuXG4gIHNob3dEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgaGVhZGVyOiAnJyxcbiAgICAgIC8vIG1lc3NhZ2UgaXMgbm90IHJlYWxseSB1c2VkIHZpc3VhbGx5LCBidXQga2VwdCBoZXJlXG4gICAgICBtZXNzYWdlOiB0aGlzLmdldERpYWxvZ0NvbnRlbnRUZXh0KCksXG4gICAgICBhY2NlcHQ6ICgpID0+IHRoaXMuY29uZmlybS5lbWl0KCksXG4gICAgICByZWplY3Q6IChfdHlwZTogQ29uZmlybUV2ZW50VHlwZSkgPT4gdGhpcy5jYW5jZWwuZW1pdCgpLFxuICAgIH0pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBkaWFsb2dFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJy5wLWNvbmZpcm0tZGlhbG9nJ1xuICAgICAgKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgICAgIGlmIChkaWFsb2dFbGVtZW50KSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZGlhbG9nRWxlbWVudCwgJ3B0LWNvbmZpcm0tZGlhbG9nLW92ZXJsYXknKTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRpYWxvZ0VsZW1lbnQsICdwdC1jb25maXJtLWRpYWxvZy1kYW5nZXInKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhkaWFsb2dFbGVtZW50LCAncHQtY29uZmlybS1kaWFsb2ctd2FybmluZycpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRpYWxvZ0VsZW1lbnQsICdwdC1jb25maXJtLWRpYWxvZy1zdWNjZXNzJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZGlhbG9nRWxlbWVudCwgJ3B0LWNvbmZpcm0tZGlhbG9nLWluZm8nKTtcblxuICAgICAgICBjb25zdCBzZXZlcml0eUNsYXNzID0gdGhpcy5nZXRTZXZlcml0eUNsYXNzKCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZGlhbG9nRWxlbWVudCwgc2V2ZXJpdHlDbGFzcyk7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICBkaWFsb2dFbGVtZW50LFxuICAgICAgICAgICd3aWR0aCcsXG4gICAgICAgICAgdGhpcy5kaWFsb2dDb25maWcud2lkdGggfHwgJzcyMHB4J1xuICAgICAgICApO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIGRpYWxvZ0VsZW1lbnQsXG4gICAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgICAgdGhpcy5kaWFsb2dDb25maWcuaGVpZ2h0IHx8ICdhdXRvJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG5cbiAgLy8g4pSA4pSAIGhlYWRlciAvIGljb24gLyBjb250ZW50IGhlbHBlcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgZ2V0RGlhbG9nSGVhZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuZGlhbG9nQ29uZmlnLmhlYWRlcjtcbiAgICBjb25zdCBkaWFsb2dTdHlsZSA9IHRoaXMuZGlhbG9nQ29uZmlnLmRpYWxvZ1N0eWxlID8/IFNldmVyaXR5RW51bS5JTkZPO1xuICAgIGNvbnN0IHN0eWxlSGVhZGVyID0gRElBTE9HX1NUWUxFU1tkaWFsb2dTdHlsZV0/LmhlYWRlcjtcblxuICAgIHJldHVybiB0eXBlb2YgaGVhZGVyID09PSAnb2JqZWN0JyAmJiBoZWFkZXIgIT09IG51bGwgJiYgJ3RleHQnIGluIGhlYWRlclxuICAgICAgPyBoZWFkZXIudGV4dFxuICAgICAgOiB0eXBlb2YgaGVhZGVyID09PSAnc3RyaW5nJ1xuICAgICAgPyBoZWFkZXJcbiAgICAgIDogdHlwZW9mIHN0eWxlSGVhZGVyID09PSAnb2JqZWN0JyAmJlxuICAgICAgICBzdHlsZUhlYWRlciAhPT0gbnVsbCAmJlxuICAgICAgICAndGV4dCcgaW4gc3R5bGVIZWFkZXJcbiAgICAgID8gc3R5bGVIZWFkZXIudGV4dFxuICAgICAgOiAnQ29uZmlybWF0aW9uJztcbiAgfVxuXG4gIGdldERpYWxvZ0hlYWRlclN0eWxlKCk6IGFueSB7XG4gICAgY29uc3QgaGVhZGVyID0gdGhpcy5kaWFsb2dDb25maWcuaGVhZGVyO1xuICAgIGNvbnN0IHsgaGVhZGVyOiBjb2xvciB9ID0gdGhpcy5nZXRTZXZlcml0eUNvbG9ycygpO1xuXG4gICAgY29uc3QgZm9udFNpemUgPVxuICAgICAgdHlwZW9mIGhlYWRlciA9PT0gJ29iamVjdCcgJiYgaGVhZGVyICE9PSBudWxsICYmIGhlYWRlci5mb250U2l6ZVxuICAgICAgICA/IGhlYWRlci5mb250U2l6ZVxuICAgICAgICA6ICcyMHB4JztcblxuICAgIHJldHVybiB7XG4gICAgICBjb2xvcixcbiAgICAgIGZvbnRTaXplLFxuICAgICAgZm9udFdlaWdodDogNzAwLFxuICAgIH07XG4gIH1cblxuICBnZXREaWFsb2dJY29uQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBoZWFkZXIgPSB0aGlzLmRpYWxvZ0NvbmZpZy5oZWFkZXI7XG4gICAgY29uc3QgZGlhbG9nU3R5bGUgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kaWFsb2dTdHlsZSA/PyBTZXZlcml0eUVudW0uSU5GTztcbiAgICBjb25zdCBzdHlsZUhlYWRlciA9IERJQUxPR19TVFlMRVNbZGlhbG9nU3R5bGVdPy5oZWFkZXI7XG5cbiAgICBjb25zdCBpY29uID1cbiAgICAgIHR5cGVvZiBoZWFkZXIgPT09ICdvYmplY3QnICYmIGhlYWRlciAhPT0gbnVsbCAmJiAnaWNvbicgaW4gaGVhZGVyXG4gICAgICAgID8gaGVhZGVyLmljb25cbiAgICAgICAgOiB0eXBlb2Ygc3R5bGVIZWFkZXIgPT09ICdvYmplY3QnICYmICdpY29uJyBpbiBzdHlsZUhlYWRlclxuICAgICAgICA/IHN0eWxlSGVhZGVyLmljb25cbiAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gdHlwZW9mIGljb24gPT09ICdzdHJpbmcnXG4gICAgICA/IGljb25cbiAgICAgIDogKGljb24gYXMgSWNvblN0eWxlKT8uY29kZSB8fCAncGkgcGktZXhjbGFtYXRpb24tY2lyY2xlJztcbiAgfVxuXG4gIGdldERpYWxvZ0ljb25TdHlsZSgpOiBhbnkge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuZGlhbG9nQ29uZmlnLmhlYWRlcjtcbiAgICBjb25zdCB7IGhlYWRlcjogZGVmYXVsdENvbG9yIH0gPSB0aGlzLmdldFNldmVyaXR5Q29sb3JzKCk7XG5cbiAgICBjb25zdCBpY29uOiBJY29uU3R5bGUgfCB1bmRlZmluZWQgPVxuICAgICAgdHlwZW9mIGhlYWRlciA9PT0gJ29iamVjdCcgJiYgaGVhZGVyICE9PSBudWxsICYmICdpY29uJyBpbiBoZWFkZXJcbiAgICAgICAgPyAoaGVhZGVyLmljb24gYXMgSWNvblN0eWxlKVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICBjb2xvcjogaWNvbj8uY29sb3IgfHwgZGVmYXVsdENvbG9yLFxuICAgICAgZm9udFNpemU6IGljb24/LmZvbnRTaXplIHx8ICcyLjJyZW0nLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogTm8gZGVmYXVsdCB0ZXh0IGFueW1vcmUuXG4gICAqIC0gSWYgZGlhbG9nQ29uZmlnLmNvbnRlbnQgaXMgYSBzdHJpbmcsIHdlIHJldHVybiBpdC5cbiAgICogLSBJZiBpdCBpcyBhbiBvYmplY3Qgd2l0aCB0ZXh0LCB3ZSB1c2UgdGhhdC5cbiAgICogLSBPdGhlcndpc2Ugd2UgcmV0dXJuICcnIChlbXB0eSkgc28gdGhlIGJvZHkgaXMgYmxhbmsuXG4gICAqL1xuICBnZXREaWFsb2dDb250ZW50VGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmRpYWxvZ0NvbmZpZy5jb250ZW50O1xuXG4gICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRlbnQgJiYgdHlwZW9mIGNvbnRlbnQgPT09ICdvYmplY3QnICYmICd0ZXh0JyBpbiBjb250ZW50KSB7XG4gICAgICByZXR1cm4gY29udGVudC50ZXh0ID8/ICcnO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldERpYWxvZ0NvbnRlbnRTdHlsZSgpOiBhbnkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmRpYWxvZ0NvbmZpZy5jb250ZW50O1xuICAgIGNvbnN0IHsgbWVzc2FnZSB9ID0gdGhpcy5nZXRTZXZlcml0eUNvbG9ycygpO1xuXG4gICAgbGV0IGZvbnRTaXplID0gJzE4cHgnO1xuICAgIGxldCB0ZXh0QWxpZ246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ29iamVjdCcgJiYgY29udGVudCAhPT0gbnVsbCkge1xuICAgICAgaWYgKGNvbnRlbnQuZm9udFNpemUpIHtcbiAgICAgICAgZm9udFNpemUgPSBjb250ZW50LmZvbnRTaXplO1xuICAgICAgfVxuICAgICAgaWYgKGNvbnRlbnQucG9zaXRpb24pIHtcbiAgICAgICAgdGV4dEFsaWduID0gY29udGVudC5wb3NpdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IG1lc3NhZ2UsXG4gICAgICBmb250U2l6ZSxcbiAgICAgIC4uLih0ZXh0QWxpZ24gPyB7IHRleHRBbGlnbiB9IDoge30pLFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwdC1jb25maXJtLWRpYWxvZ1wiPlxuICA8cC1jb25maXJtRGlhbG9nICNjZD5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+PC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJtZXNzYWdlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicHQtY29uZmlybS1kaWFsb2ctY2FyZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHQtY29uZmlybS1kaWFsb2ctY2FyZC10b3BcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHQtY29uZmlybS1kaWFsb2ctaWNvbi13cmFwcGVyXCI+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICBjbGFzcz1cInB0LWNvbmZpcm0tZGlhbG9nLWljb25cIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiZ2V0RGlhbG9nSWNvbkNsYXNzKClcIlxuICAgICAgICAgICAgICBbbmdTdHlsZV09XCJnZXREaWFsb2dJY29uU3R5bGUoKVwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInB0LWNvbmZpcm0tZGlhbG9nLXRleHQtd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInB0LWNvbmZpcm0tZGlhbG9nLXRpdGxlXCJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0RGlhbG9nSGVhZGVyU3R5bGUoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGdldERpYWxvZ0hlYWRlclRleHQoKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJwdC1jb25maXJtLWRpYWxvZy1tZXNzYWdlXCJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0RGlhbG9nQ29udGVudFN0eWxlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBnZXREaWFsb2dDb250ZW50VGV4dCgpIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInB0LWNvbmZpcm0tZGlhbG9nLWZvb3Rlci1idXR0b25zXCI+XG4gICAgICAgIDxwdC1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImRpYWxvZ0NvbmZpZy5jYW5jZWxCdXR0b25Db25maWdcIlxuICAgICAgICAgIFtidXR0b25Db25maWddPVwiY2FuY2VsQnV0dG9uTW9kZWxcIlxuICAgICAgICAgIChjbGljayk9XCJjZC5yZWplY3QoKVwiXG4gICAgICAgID48L3B0LWJ1dHRvbj5cblxuICAgICAgICA8cHQtYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJkaWFsb2dDb25maWcuY29uZmlybUJ1dHRvbkNvbmZpZ1wiXG4gICAgICAgICAgW2J1dHRvbkNvbmZpZ109XCJjb25maXJtQnV0dG9uTW9kZWxcIlxuICAgICAgICAgIChjbGljayk9XCJjZC5hY2NlcHQoKVwiXG4gICAgICAgID48L3B0LWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC1jb25maXJtRGlhbG9nPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { PTConfirmDialogComponent } from './pt-confirm-dialog.component';
4
+ import { DialogModule } from 'primeng/dialog';
5
+ import { PTButtonModule } from '../pt-button';
6
+ import { ConfirmDialogModule } from 'primeng/confirmdialog';
7
+ import * as i0 from "@angular/core";
8
+ export class PTConfirmDialogModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTConfirmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTConfirmDialogModule, declarations: [PTConfirmDialogComponent], imports: [CommonModule, DialogModule, PTButtonModule, ConfirmDialogModule], exports: [PTConfirmDialogComponent] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTConfirmDialogModule, imports: [CommonModule, DialogModule, PTButtonModule, ConfirmDialogModule] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTConfirmDialogModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [PTConfirmDialogComponent],
17
+ imports: [CommonModule, DialogModule, PTButtonModule, ConfirmDialogModule],
18
+ exports: [PTConfirmDialogComponent],
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtY29uZmlybS1kaWFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9wdC1jb25maXJtLWRpYWxvZy9wdC1jb25maXJtLWRpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTzVELE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjtnSEFBckIscUJBQXFCLGlCQUpqQix3QkFBd0IsYUFDN0IsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsbUJBQW1CLGFBQy9ELHdCQUF3QjtnSEFFdkIscUJBQXFCLFlBSHRCLFlBQVksRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLG1CQUFtQjs7NEZBRzlELHFCQUFxQjtrQkFMakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUM7b0JBQzFFLE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUFRDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9wdC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgUFRCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9wdC1idXR0b24nO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybWRpYWxvZyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1BUQ29uZmlybURpYWxvZ0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERpYWxvZ01vZHVsZSwgUFRCdXR0b25Nb2R1bGUsIENvbmZpcm1EaWFsb2dNb2R1bGVdLFxuICBleHBvcnRzOiBbUFRDb25maXJtRGlhbG9nQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUFRDb25maXJtRGlhbG9nTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './pt-confirm-dialog.component';
2
+ export * from './pt-confirm-dialog.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtY29uZmlybS1kaWFsb2cvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B0LWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3B0LWNvbmZpcm0tZGlhbG9nLm1vZHVsZSc7XG4iXX0=