ng-prime-tools 1.0.26 → 1.0.28

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 (31) hide show
  1. package/README.md +9 -0
  2. package/esm2022/lib/ng-prime-tools.module.mjs +18 -5
  3. package/esm2022/lib/pt-button/pt-button.component.mjs +13 -9
  4. package/esm2022/lib/pt-dialog/pt-dialog.component.mjs +15 -28
  5. package/esm2022/lib/pt-dialog/pt-dialog.module.mjs +4 -19
  6. package/esm2022/lib/pt-toast-notifier/index.mjs +2 -0
  7. package/esm2022/lib/pt-toast-notifier/pt-toast-notifier.component.mjs +29 -0
  8. package/esm2022/lib/pt-toast-notifier/pt-toast-notifier.module.mjs +21 -0
  9. package/esm2022/lib/pt-toast-notifier/public-api.mjs +3 -0
  10. package/esm2022/public-api.mjs +3 -1
  11. package/fesm2022/ng-prime-tools.mjs +88 -58
  12. package/fesm2022/ng-prime-tools.mjs.map +1 -1
  13. package/lib/ng-prime-tools.module.d.ts +2 -1
  14. package/lib/ng-prime-tools.module.d.ts.map +1 -1
  15. package/lib/pt-button/pt-button.component.d.ts +3 -2
  16. package/lib/pt-button/pt-button.component.d.ts.map +1 -1
  17. package/lib/pt-dialog/pt-dialog.component.d.ts +0 -1
  18. package/lib/pt-dialog/pt-dialog.component.d.ts.map +1 -1
  19. package/lib/pt-dialog/pt-dialog.module.d.ts +2 -3
  20. package/lib/pt-dialog/pt-dialog.module.d.ts.map +1 -1
  21. package/lib/pt-toast-notifier/index.d.ts +2 -0
  22. package/lib/pt-toast-notifier/index.d.ts.map +1 -0
  23. package/lib/pt-toast-notifier/pt-toast-notifier.component.d.ts +12 -0
  24. package/lib/pt-toast-notifier/pt-toast-notifier.component.d.ts.map +1 -0
  25. package/lib/pt-toast-notifier/pt-toast-notifier.module.d.ts +10 -0
  26. package/lib/pt-toast-notifier/pt-toast-notifier.module.d.ts.map +1 -0
  27. package/lib/pt-toast-notifier/public-api.d.ts +3 -0
  28. package/lib/pt-toast-notifier/public-api.d.ts.map +1 -0
  29. package/package.json +1 -1
  30. package/public-api.d.ts +1 -0
  31. package/public-api.d.ts.map +1 -1
@@ -47,11 +47,11 @@ import { filter } from 'rxjs/operators';
47
47
  import { BehaviorSubject } from 'rxjs';
48
48
  import * as i3$6 from 'primeng/breadcrumb';
49
49
  import { BreadcrumbModule } from 'primeng/breadcrumb';
50
- import * as i3$7 from 'primeng/toast';
51
- import { ToastModule } from 'primeng/toast';
52
- import * as i4$2 from 'primeng/confirmdialog';
50
+ import * as i3$7 from 'primeng/confirmdialog';
53
51
  import { ConfirmDialogModule } from 'primeng/confirmdialog';
54
52
  import { DialogModule } from 'primeng/dialog';
53
+ import * as i2$2 from 'primeng/toast';
54
+ import { ToastModule } from 'primeng/toast';
55
55
 
56
56
  /**
57
57
  * Calculates the width required for a column based on the header text (column title).
@@ -3242,6 +3242,11 @@ class PTButtonComponent {
3242
3242
  ngOnInit() {
3243
3243
  // Initialization logic if needed
3244
3244
  }
3245
+ ngOnChanges(changes) {
3246
+ if (changes['buttonConfig']) {
3247
+ this.applyButtonStyles();
3248
+ }
3249
+ }
3245
3250
  ngAfterViewInit() {
3246
3251
  this.applyButtonStyles();
3247
3252
  }
@@ -3252,23 +3257,22 @@ class PTButtonComponent {
3252
3257
  return this.buttonConfig.type || 'button';
3253
3258
  }
3254
3259
  applyButtonStyles() {
3255
- // Select the native button element inside the p-button
3256
3260
  const buttonElement = this.el.nativeElement.querySelector('button.p-element');
3257
- if (buttonElement) {
3258
- // Apply dynamic styles using Renderer2
3259
- this.renderer.setStyle(buttonElement, 'color', this.buttonConfig.fontColor);
3260
- this.renderer.setStyle(buttonElement, 'background-color', this.buttonConfig.backgroundColor);
3261
- this.renderer.setStyle(buttonElement, 'border-color', this.buttonConfig.borderColor);
3261
+ if (buttonElement && this.buttonConfig) {
3262
+ const isDisabled = this.buttonConfig.disabled;
3263
+ this.renderer.setStyle(buttonElement, 'color', isDisabled ? '#999' : this.buttonConfig.fontColor);
3264
+ this.renderer.setStyle(buttonElement, 'background-color', isDisabled ? '#e0e0e0' : this.buttonConfig.backgroundColor);
3265
+ this.renderer.setStyle(buttonElement, 'border-color', isDisabled ? '#bdbdbd' : this.buttonConfig.borderColor);
3262
3266
  this.renderer.setStyle(buttonElement, 'width', this.buttonConfig.width || 'auto');
3263
3267
  this.renderer.setStyle(buttonElement, 'height', this.buttonConfig.height || 'auto');
3264
3268
  }
3265
3269
  }
3266
3270
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTButtonComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
3267
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTButtonComponent, selector: "pt-button", inputs: { buttonConfig: "buttonConfig" }, ngImport: i0, template: "<p-button\n [label]=\"buttonConfig.label\"\n [icon]=\"buttonConfig.icon || ''\"\n [iconPos]=\"getIconPos()\"\n [disabled]=\"buttonConfig.disabled\"\n [loading]=\"buttonConfig.loading\"\n [class]=\"buttonConfig.styleClass\"\n [type]=\"getType()\"\n></p-button>\n", styles: ["::ng-deep p-button{display:block}\n"], dependencies: [{ kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }] }); }
3271
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTButtonComponent, selector: "pt-button", inputs: { buttonConfig: "buttonConfig" }, usesOnChanges: true, ngImport: i0, template: "<p-button\n [label]=\"buttonConfig?.label\"\n [icon]=\"buttonConfig?.icon || ''\"\n [iconPos]=\"getIconPos()\"\n [disabled]=\"buttonConfig?.disabled\"\n [loading]=\"buttonConfig?.loading\"\n [class]=\"buttonConfig?.styleClass || ''\"\n [type]=\"getType()\"\n></p-button>\n", styles: ["::ng-deep p-button{display:block}\n"], dependencies: [{ kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }] }); }
3268
3272
  }
3269
3273
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTButtonComponent, decorators: [{
3270
3274
  type: Component,
3271
- args: [{ selector: 'pt-button', template: "<p-button\n [label]=\"buttonConfig.label\"\n [icon]=\"buttonConfig.icon || ''\"\n [iconPos]=\"getIconPos()\"\n [disabled]=\"buttonConfig.disabled\"\n [loading]=\"buttonConfig.loading\"\n [class]=\"buttonConfig.styleClass\"\n [type]=\"getType()\"\n></p-button>\n", styles: ["::ng-deep p-button{display:block}\n"] }]
3275
+ args: [{ selector: 'pt-button', template: "<p-button\n [label]=\"buttonConfig?.label\"\n [icon]=\"buttonConfig?.icon || ''\"\n [iconPos]=\"getIconPos()\"\n [disabled]=\"buttonConfig?.disabled\"\n [loading]=\"buttonConfig?.loading\"\n [class]=\"buttonConfig?.styleClass || ''\"\n [type]=\"getType()\"\n></p-button>\n", styles: ["::ng-deep p-button{display:block}\n"] }]
3272
3276
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { buttonConfig: [{
3273
3277
  type: Input
3274
3278
  }] } });
@@ -3575,18 +3579,18 @@ class PTDialogComponent {
3575
3579
  }
3576
3580
  }
3577
3581
  applyDialogStyle() {
3578
- const dialogStyle = this.dialogConfig.dialogStyle || SeverityEnum.INFO; // ✅ Ensure dialogStyle is always defined
3579
- const styleConfig = DIALOG_STYLES[dialogStyle] || {}; // ✅ Get the styles for the selected dialogStyle
3582
+ const dialogStyle = this.dialogConfig.dialogStyle || SeverityEnum.INFO;
3583
+ const styleConfig = DIALOG_STYLES[dialogStyle] || {};
3580
3584
  this.dialogConfig = {
3581
- ...DEFAULT_DIALOG_CONFIG, // ✅ Start with the default values
3582
- ...styleConfig, // ✅ Override with the selected dialogStyle values
3585
+ ...DEFAULT_DIALOG_CONFIG,
3586
+ ...styleConfig,
3583
3587
  confirmButtonConfig: {
3584
- ...DEFAULT_DIALOG_CONFIG.confirmButtonConfig, // ✅ Start with default confirm button styles
3585
- ...styleConfig.confirmButtonConfig, // ✅ Override with the confirm button styles for the selected dialogStyle
3588
+ ...DEFAULT_DIALOG_CONFIG.confirmButtonConfig,
3589
+ ...styleConfig.confirmButtonConfig,
3586
3590
  },
3587
3591
  cancelButtonConfig: {
3588
- ...DEFAULT_DIALOG_CONFIG.cancelButtonConfig, // ✅ Start with default cancel button styles
3589
- ...styleConfig.cancelButtonConfig, // ✅ Override with the cancel button styles for the selected dialogStyle
3592
+ ...DEFAULT_DIALOG_CONFIG.cancelButtonConfig,
3593
+ ...styleConfig.cancelButtonConfig,
3590
3594
  },
3591
3595
  };
3592
3596
  }
@@ -3603,14 +3607,12 @@ class PTDialogComponent {
3603
3607
  accept: () => {
3604
3608
  this.confirm.emit();
3605
3609
  if (this.dialogConfig.toastOnConfirm) {
3606
- this.showToast(this.dialogConfig.toastOnConfirm);
3607
3610
  }
3608
3611
  },
3609
3612
  reject: (type) => {
3610
3613
  this.cancel.emit();
3611
3614
  if (type === ConfirmEventType.REJECT &&
3612
3615
  this.dialogConfig.toastOnCancel) {
3613
- this.showToast(this.dialogConfig.toastOnCancel);
3614
3616
  }
3615
3617
  },
3616
3618
  });
@@ -3623,18 +3625,8 @@ class PTDialogComponent {
3623
3625
  }
3624
3626
  }, 0);
3625
3627
  }
3626
- showToast(toast) {
3627
- if (toast) {
3628
- this.messageService.add({
3629
- severity: toast.severity,
3630
- summary: toast.summary,
3631
- detail: toast.detail,
3632
- life: toast.life || 3000,
3633
- });
3634
- }
3635
- }
3636
3628
  getButtonStyle(buttonConfig, isConfirm = false) {
3637
- let styleClass = buttonConfig?.styleClass ?? 'p-button-sm'; // ✅ Default button size
3629
+ let styleClass = buttonConfig?.styleClass ?? 'p-button-sm';
3638
3630
  // ✅ Apply width dynamically if provided, otherwise default to 100%
3639
3631
  const buttonWidth = buttonConfig?.width ?? '100%';
3640
3632
  // ✅ Set default severity: SUCCESS for confirm, SECONDARY for cancel
@@ -3676,8 +3668,8 @@ class PTDialogComponent {
3676
3668
  }
3677
3669
  getDialogHeaderStyle() {
3678
3670
  const header = this.dialogConfig.header;
3679
- const dialogStyle = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO; // ✅ Ensure dialogStyle is always defined
3680
- const styleHeader = DIALOG_STYLES[dialogStyle]?.header; // ✅ Store the style header separately
3671
+ const dialogStyle = this.dialogConfig.dialogStyle ?? SeverityEnum.INFO;
3672
+ const styleHeader = DIALOG_STYLES[dialogStyle]?.header;
3681
3673
  return typeof header === 'object' && header !== null
3682
3674
  ? {
3683
3675
  color: header.color ||
@@ -3749,11 +3741,11 @@ class PTDialogComponent {
3749
3741
  };
3750
3742
  }
3751
3743
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogComponent, deps: [{ token: i1$1.ConfirmationService }, { token: i1$1.MessageService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
3752
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTDialogComponent, selector: "pt-dialog", inputs: { dialogConfig: "dialogConfig" }, outputs: { confirm: "confirm", cancel: "cancel" }, providers: [ConfirmationService, MessageService], usesOnChanges: true, ngImport: i0, template: "<div class=\"pt-dialog\">\n <p-toast></p-toast>\n <p-confirmDialog>\n <!-- Header with Icon and Title aligned horizontally -->\n <ng-template pTemplate=\"header\">\n <div class=\"popup-header bordered-section\">\n <i [class]=\"getDialogIconClass()\" [ngStyle]=\"getDialogIconStyle()\"></i>\n <span class=\"popup-title\" [ngStyle]=\"getDialogHeaderStyle()\">\n {{ getDialogHeaderText() }}\n </span>\n </div>\n </ng-template>\n\n <!-- Message Content with Divider -->\n <ng-template pTemplate=\"message\" let-message>\n <div\n class=\"popup-content bordered-section\"\n [ngStyle]=\"getDialogContentStyle()\"\n >\n <p>{{ getDialogContentText() }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n", styles: ["::ng-deep .pt-dialog .p-dialog .p-dialog-header{padding-bottom:0}::ng-deep .pt-dialog .p-dialog .p-dialog-content{padding:0}::ng-deep .pt-dialog .full-width-button{width:100%;display:block;text-align:center}::ng-deep .pt-dialog .p-dialog-footer{display:flex;justify-content:center;gap:10px;width:100%;padding:10px}::ng-deep .pt-dialog .p-confirm-dialog-accept,::ng-deep .pt-dialog .p-confirm-dialog-reject{flex:1;max-width:50%;text-align:center;display:flex;justify-content:center;align-items:center;height:40px}::ng-deep .pt-dialog .p-confirm-dialog-accept i,::ng-deep .pt-dialog .p-confirm-dialog-reject i{margin-right:5px}::ng-deep .pt-dialog .p-confirm-dialog-accept .p-button-label,::ng-deep .pt-dialog .p-confirm-dialog-reject .p-button-label{font-weight:700;flex-grow:1;text-align:center}.pt-dialog .popup-header{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;padding-bottom:10px;width:100%}.pt-dialog .popup-title{color:#333;font-size:1.2rem}.pt-dialog .bordered-section{width:100%;border-bottom:1px solid rgba(0,0,0,.2);padding-bottom:10px;margin-bottom:10px}.pt-dialog .popup-content{display:flex;justify-content:center;text-align:center;padding:15px;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3$7.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i4$2.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"] }] }); }
3744
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTDialogComponent, selector: "pt-dialog", inputs: { dialogConfig: "dialogConfig" }, outputs: { confirm: "confirm", cancel: "cancel" }, providers: [ConfirmationService, MessageService], usesOnChanges: true, ngImport: i0, template: "<div class=\"pt-dialog\">\n <p-confirmDialog>\n <!-- Header with Icon and Title aligned horizontally -->\n <ng-template pTemplate=\"header\">\n <div class=\"popup-header bordered-section\">\n <i [class]=\"getDialogIconClass()\" [ngStyle]=\"getDialogIconStyle()\"></i>\n <span class=\"popup-title\" [ngStyle]=\"getDialogHeaderStyle()\">\n {{ getDialogHeaderText() }}\n </span>\n </div>\n </ng-template>\n\n <!-- Message Content with Divider -->\n <ng-template pTemplate=\"message\" let-message>\n <div\n class=\"popup-content bordered-section\"\n [ngStyle]=\"getDialogContentStyle()\"\n >\n <p>{{ getDialogContentText() }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n", styles: ["::ng-deep .pt-dialog .p-dialog .p-dialog-header{padding-bottom:0}::ng-deep .pt-dialog .p-dialog .p-dialog-content{padding:0}::ng-deep .pt-dialog .full-width-button{width:100%;display:block;text-align:center}::ng-deep .pt-dialog .p-dialog-footer{display:flex;justify-content:center;gap:10px;width:100%;padding:10px}::ng-deep .pt-dialog .p-confirm-dialog-accept,::ng-deep .pt-dialog .p-confirm-dialog-reject{flex:1;max-width:50%;text-align:center;display:flex;justify-content:center;align-items:center;height:40px}::ng-deep .pt-dialog .p-confirm-dialog-accept i,::ng-deep .pt-dialog .p-confirm-dialog-reject i{margin-right:5px}::ng-deep .pt-dialog .p-confirm-dialog-accept .p-button-label,::ng-deep .pt-dialog .p-confirm-dialog-reject .p-button-label{font-weight:700;flex-grow:1;text-align:center}.pt-dialog .popup-header{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;padding-bottom:10px;width:100%}.pt-dialog .popup-title{color:#333;font-size:1.2rem}.pt-dialog .bordered-section{width:100%;border-bottom:1px solid rgba(0,0,0,.2);padding-bottom:10px;margin-bottom:10px}.pt-dialog .popup-content{display:flex;justify-content:center;text-align:center;padding:15px;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3$7.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"] }] }); }
3753
3745
  }
3754
3746
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogComponent, decorators: [{
3755
3747
  type: Component,
3756
- args: [{ selector: 'pt-dialog', providers: [ConfirmationService, MessageService], template: "<div class=\"pt-dialog\">\n <p-toast></p-toast>\n <p-confirmDialog>\n <!-- Header with Icon and Title aligned horizontally -->\n <ng-template pTemplate=\"header\">\n <div class=\"popup-header bordered-section\">\n <i [class]=\"getDialogIconClass()\" [ngStyle]=\"getDialogIconStyle()\"></i>\n <span class=\"popup-title\" [ngStyle]=\"getDialogHeaderStyle()\">\n {{ getDialogHeaderText() }}\n </span>\n </div>\n </ng-template>\n\n <!-- Message Content with Divider -->\n <ng-template pTemplate=\"message\" let-message>\n <div\n class=\"popup-content bordered-section\"\n [ngStyle]=\"getDialogContentStyle()\"\n >\n <p>{{ getDialogContentText() }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n", styles: ["::ng-deep .pt-dialog .p-dialog .p-dialog-header{padding-bottom:0}::ng-deep .pt-dialog .p-dialog .p-dialog-content{padding:0}::ng-deep .pt-dialog .full-width-button{width:100%;display:block;text-align:center}::ng-deep .pt-dialog .p-dialog-footer{display:flex;justify-content:center;gap:10px;width:100%;padding:10px}::ng-deep .pt-dialog .p-confirm-dialog-accept,::ng-deep .pt-dialog .p-confirm-dialog-reject{flex:1;max-width:50%;text-align:center;display:flex;justify-content:center;align-items:center;height:40px}::ng-deep .pt-dialog .p-confirm-dialog-accept i,::ng-deep .pt-dialog .p-confirm-dialog-reject i{margin-right:5px}::ng-deep .pt-dialog .p-confirm-dialog-accept .p-button-label,::ng-deep .pt-dialog .p-confirm-dialog-reject .p-button-label{font-weight:700;flex-grow:1;text-align:center}.pt-dialog .popup-header{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;padding-bottom:10px;width:100%}.pt-dialog .popup-title{color:#333;font-size:1.2rem}.pt-dialog .bordered-section{width:100%;border-bottom:1px solid rgba(0,0,0,.2);padding-bottom:10px;margin-bottom:10px}.pt-dialog .popup-content{display:flex;justify-content:center;text-align:center;padding:15px;width:100%}\n"] }]
3748
+ args: [{ selector: 'pt-dialog', providers: [ConfirmationService, MessageService], template: "<div class=\"pt-dialog\">\n <p-confirmDialog>\n <!-- Header with Icon and Title aligned horizontally -->\n <ng-template pTemplate=\"header\">\n <div class=\"popup-header bordered-section\">\n <i [class]=\"getDialogIconClass()\" [ngStyle]=\"getDialogIconStyle()\"></i>\n <span class=\"popup-title\" [ngStyle]=\"getDialogHeaderStyle()\">\n {{ getDialogHeaderText() }}\n </span>\n </div>\n </ng-template>\n\n <!-- Message Content with Divider -->\n <ng-template pTemplate=\"message\" let-message>\n <div\n class=\"popup-content bordered-section\"\n [ngStyle]=\"getDialogContentStyle()\"\n >\n <p>{{ getDialogContentText() }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n", styles: ["::ng-deep .pt-dialog .p-dialog .p-dialog-header{padding-bottom:0}::ng-deep .pt-dialog .p-dialog .p-dialog-content{padding:0}::ng-deep .pt-dialog .full-width-button{width:100%;display:block;text-align:center}::ng-deep .pt-dialog .p-dialog-footer{display:flex;justify-content:center;gap:10px;width:100%;padding:10px}::ng-deep .pt-dialog .p-confirm-dialog-accept,::ng-deep .pt-dialog .p-confirm-dialog-reject{flex:1;max-width:50%;text-align:center;display:flex;justify-content:center;align-items:center;height:40px}::ng-deep .pt-dialog .p-confirm-dialog-accept i,::ng-deep .pt-dialog .p-confirm-dialog-reject i{margin-right:5px}::ng-deep .pt-dialog .p-confirm-dialog-accept .p-button-label,::ng-deep .pt-dialog .p-confirm-dialog-reject .p-button-label{font-weight:700;flex-grow:1;text-align:center}.pt-dialog .popup-header{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;padding-bottom:10px;width:100%}.pt-dialog .popup-title{color:#333;font-size:1.2rem}.pt-dialog .bordered-section{width:100%;border-bottom:1px solid rgba(0,0,0,.2);padding-bottom:10px;margin-bottom:10px}.pt-dialog .popup-content{display:flex;justify-content:center;text-align:center;padding:15px;width:100%}\n"] }]
3757
3749
  }], ctorParameters: () => [{ type: i1$1.ConfirmationService }, { type: i1$1.MessageService }, { type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { dialogConfig: [{
3758
3750
  type: Input
3759
3751
  }], confirm: [{
@@ -3764,32 +3756,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
3764
3756
 
3765
3757
  class PTDialogModule {
3766
3758
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3767
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTDialogModule, declarations: [PTDialogComponent], imports: [CommonModule,
3768
- DialogModule,
3769
- PTButtonModule,
3770
- ToastModule,
3771
- ConfirmDialogModule], exports: [PTDialogComponent] }); }
3772
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogModule, imports: [CommonModule,
3773
- DialogModule,
3774
- PTButtonModule,
3775
- ToastModule,
3776
- ConfirmDialogModule] }); }
3759
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTDialogModule, declarations: [PTDialogComponent], imports: [CommonModule, DialogModule, PTButtonModule, ConfirmDialogModule], exports: [PTDialogComponent] }); }
3760
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogModule, imports: [CommonModule, DialogModule, PTButtonModule, ConfirmDialogModule] }); }
3777
3761
  }
3778
3762
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogModule, decorators: [{
3779
3763
  type: NgModule,
3780
3764
  args: [{
3781
3765
  declarations: [PTDialogComponent],
3782
- imports: [
3783
- CommonModule,
3784
- DialogModule,
3785
- PTButtonModule,
3786
- ToastModule,
3787
- ConfirmDialogModule,
3788
- ],
3766
+ imports: [CommonModule, DialogModule, PTButtonModule, ConfirmDialogModule],
3789
3767
  exports: [PTDialogComponent],
3790
3768
  }]
3791
3769
  }] });
3792
3770
 
3771
+ class PTToastNotifierComponent {
3772
+ constructor(messageService) {
3773
+ this.messageService = messageService;
3774
+ }
3775
+ show(toast) {
3776
+ if (toast) {
3777
+ this.messageService.add({
3778
+ severity: toast.severity,
3779
+ summary: toast.summary,
3780
+ detail: toast.detail,
3781
+ life: toast.life || 3000,
3782
+ });
3783
+ }
3784
+ }
3785
+ clear() {
3786
+ this.messageService.clear();
3787
+ }
3788
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTToastNotifierComponent, deps: [{ token: i1$1.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
3789
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTToastNotifierComponent, selector: "pt-toast-notifier", ngImport: i0, template: "<p-toast position=\"top-right\"></p-toast>\n", dependencies: [{ kind: "component", type: i2$2.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }] }); }
3790
+ }
3791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTToastNotifierComponent, decorators: [{
3792
+ type: Component,
3793
+ args: [{ selector: 'pt-toast-notifier', template: "<p-toast position=\"top-right\"></p-toast>\n" }]
3794
+ }], ctorParameters: () => [{ type: i1$1.MessageService }] });
3795
+
3796
+ class PTToastNotifierModule {
3797
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTToastNotifierModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3798
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTToastNotifierModule, declarations: [PTToastNotifierComponent], imports: [CommonModule, ToastModule], exports: [PTToastNotifierComponent] }); }
3799
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTToastNotifierModule, providers: [MessageService], imports: [CommonModule, ToastModule] }); }
3800
+ }
3801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTToastNotifierModule, decorators: [{
3802
+ type: NgModule,
3803
+ args: [{
3804
+ declarations: [PTToastNotifierComponent],
3805
+ imports: [CommonModule, ToastModule],
3806
+ exports: [PTToastNotifierComponent],
3807
+ providers: [MessageService],
3808
+ }]
3809
+ }] });
3810
+
3793
3811
  class NgPrimeToolsModule {
3794
3812
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgPrimeToolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3795
3813
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: NgPrimeToolsModule, imports: [CommonModule,
@@ -3829,7 +3847,9 @@ class NgPrimeToolsModule {
3829
3847
  // Button
3830
3848
  PTButtonModule,
3831
3849
  // Dialog
3832
- PTDialogModule], exports: [PTAdvancedPrimeTableModule,
3850
+ PTDialogModule,
3851
+ // Toasts
3852
+ PTToastNotifierModule], exports: [PTAdvancedPrimeTableModule,
3833
3853
  MultiSearchCriteriaModule,
3834
3854
  // Inputs
3835
3855
  PTCheckBoxInputModule,
@@ -3864,7 +3884,9 @@ class NgPrimeToolsModule {
3864
3884
  // Button
3865
3885
  PTButtonModule,
3866
3886
  // Dialog
3867
- PTDialogModule] }); }
3887
+ PTDialogModule,
3888
+ // Toasts
3889
+ PTToastNotifierModule] }); }
3868
3890
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgPrimeToolsModule, imports: [CommonModule,
3869
3891
  FormsModule,
3870
3892
  PTAdvancedPrimeTableModule,
@@ -3902,7 +3924,9 @@ class NgPrimeToolsModule {
3902
3924
  // Button
3903
3925
  PTButtonModule,
3904
3926
  // Dialog
3905
- PTDialogModule, PTAdvancedPrimeTableModule,
3927
+ PTDialogModule,
3928
+ // Toasts
3929
+ PTToastNotifierModule, PTAdvancedPrimeTableModule,
3906
3930
  MultiSearchCriteriaModule,
3907
3931
  // Inputs
3908
3932
  PTCheckBoxInputModule,
@@ -3937,7 +3961,9 @@ class NgPrimeToolsModule {
3937
3961
  // Button
3938
3962
  PTButtonModule,
3939
3963
  // Dialog
3940
- PTDialogModule] }); }
3964
+ PTDialogModule,
3965
+ // Toasts
3966
+ PTToastNotifierModule] }); }
3941
3967
  }
3942
3968
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NgPrimeToolsModule, decorators: [{
3943
3969
  type: NgModule,
@@ -3981,6 +4007,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
3981
4007
  PTButtonModule,
3982
4008
  // Dialog
3983
4009
  PTDialogModule,
4010
+ // Toasts
4011
+ PTToastNotifierModule,
3984
4012
  ],
3985
4013
  exports: [
3986
4014
  PTAdvancedPrimeTableModule,
@@ -4019,6 +4047,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
4019
4047
  PTButtonModule,
4020
4048
  // Dialog
4021
4049
  PTDialogModule,
4050
+ // Toasts
4051
+ PTToastNotifierModule,
4022
4052
  ],
4023
4053
  }]
4024
4054
  }] });
@@ -4459,5 +4489,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
4459
4489
  * Generated bundle index. Do not edit.
4460
4490
  */
4461
4491
 
4462
- export { BadgeType, BadgeTypeStyles, ButtonColorEnum, FormInputTypeEnum, InputValidationEnum, MultiSearchCriteriaComponent, MultiSearchCriteriaModule, NgPrimeToolsModule, PTAdvancedPrimeTableComponent, PTAdvancedPrimeTableModule, PTBreadCrumbComponent, PTBreadCrumbModule, PTButtonComponent, PTButtonModule, PTCardComponent, PTCardModule, PTChartComparisonComponent, PTChartComparisonModule, PTChartComponent, PTChartModule, PTCheckBoxInputComponent, PTCheckBoxInputModule, PTDateInputComponent, PTDateInputModule, PTDialogComponent, PTDialogModule, PTDropdownComponent, PTDropdownModule, PTFooterComponent, PTFooterModule, PTFormBuilderComponent, PTFormBuilderModule, PTGroupComponent, PTGroupModule, PTLineChartComponent, PTLineChartModule, PTLoginPageComponent, PTLoginPageModule, PTMenuComponent, PTMenuFancyComponent, PTMenuFancyModule, PTMenuModule, PTMetricCardComponent, PTMetricCardGroupComponent, PTMetricCardGroupModule, PTMetricCardModule, PTMetricPanelComponent, PTMetricPanelModule, PTNavbarMenuComponent, PTNavbarMenuModule, PTNumberInputComponent, PTNumberInputModule, PTPageSkeletonComponent, PTPageSkeletonModule, PTSideBarMenuComponent, PTSideBarMenuModule, PTSwitchInputComponent, PTSwitchInputModule, PTTextAreaInputComponent, PTTextAreaInputModule, PTTextInputComponent, PTTextInputModule, SearchCriteriaTypeEnum, SeverityEnum, TableTypeEnum };
4492
+ export { BadgeType, BadgeTypeStyles, ButtonColorEnum, FormInputTypeEnum, InputValidationEnum, MultiSearchCriteriaComponent, MultiSearchCriteriaModule, NgPrimeToolsModule, PTAdvancedPrimeTableComponent, PTAdvancedPrimeTableModule, PTBreadCrumbComponent, PTBreadCrumbModule, PTButtonComponent, PTButtonModule, PTCardComponent, PTCardModule, PTChartComparisonComponent, PTChartComparisonModule, PTChartComponent, PTChartModule, PTCheckBoxInputComponent, PTCheckBoxInputModule, PTDateInputComponent, PTDateInputModule, PTDialogComponent, PTDialogModule, PTDropdownComponent, PTDropdownModule, PTFooterComponent, PTFooterModule, PTFormBuilderComponent, PTFormBuilderModule, PTGroupComponent, PTGroupModule, PTLineChartComponent, PTLineChartModule, PTLoginPageComponent, PTLoginPageModule, PTMenuComponent, PTMenuFancyComponent, PTMenuFancyModule, PTMenuModule, PTMetricCardComponent, PTMetricCardGroupComponent, PTMetricCardGroupModule, PTMetricCardModule, PTMetricPanelComponent, PTMetricPanelModule, PTNavbarMenuComponent, PTNavbarMenuModule, PTNumberInputComponent, PTNumberInputModule, PTPageSkeletonComponent, PTPageSkeletonModule, PTSideBarMenuComponent, PTSideBarMenuModule, PTSwitchInputComponent, PTSwitchInputModule, PTTextAreaInputComponent, PTTextAreaInputModule, PTTextInputComponent, PTTextInputModule, PTToastNotifierComponent, PTToastNotifierModule, SearchCriteriaTypeEnum, SeverityEnum, TableTypeEnum };
4463
4493
  //# sourceMappingURL=ng-prime-tools.mjs.map