{"version":3,"file":"ng-angular-popup.mjs","sources":["../../../projects/ng-toast/src/lib/toast-message.model.ts","../../../projects/ng-toast/src/lib/toast-type.enum.ts","../../../projects/ng-toast/src/lib/ng-toast.service.ts","../../../projects/ng-toast/src/lib/toaster-position.enum.ts","../../../projects/ng-toast/src/lib/toast-icon.directive.ts","../../../projects/ng-toast/src/lib/ng-toast.component.ts","../../../projects/ng-toast/src/lib/ng-toast.component.html","../../../projects/ng-toast/src/lib/ng-toast.module.ts","../../../projects/ng-toast/src/public-api.ts","../../../projects/ng-toast/src/ng-angular-popup.ts"],"sourcesContent":["import { ToastType } from './toast-type.enum';\n\nexport class ToastMessage {\n  public id: number;\n  constructor(\n    public message: string,\n    public type: ToastType,\n    public title?: string,\n    public duration: number = 2000\n  ) {\n    this.id = new Date().getTime();\n  }\n}\n","export enum ToastType {\n  PRIMARY = 'toast-primary',\n  SECONDARY = 'toast-secondary',\n  SUCCESS = 'toast-success',\n  INFO = 'toast-info',\n  WARNING = 'toast-warning',\n  DANGER = 'toast-danger'\n}\n","import { Injectable } from '@angular/core';\nimport { Subject, Observable } from 'rxjs';\nimport { ToastMessage } from './toast-message.model';\nimport { ToastType } from './toast-type.enum';\n\n@Injectable({\n  providedIn: 'root'\n})\n\n/**\n * Service for displaying toast messages.\n */\nexport class NgToastService {\n  #defaultDuration: number;\n  #toastMessageSource: Subject<ToastMessage>;\n\n  /**\n   * Constructs a new NgToastService instance.\n   */\n  constructor() {\n    this.#defaultDuration = 2000;\n    this.#toastMessageSource = new Subject<ToastMessage>();\n  }\n\n  /**\n   * Displays a toast message.\n   * @param message The message to display.\n   * @param type The type of the toast message.\n   * @param title The optional title of the toast message.\n   * @param duration The duration in milliseconds for which the toast message should be displayed. Defaults to the default duration.\n   */\n  public toast(message: string, type: ToastType, title?: string, duration: number = this.#defaultDuration): void {\n    this.#toastMessageSource.next(new ToastMessage(message, type, title, duration));\n  }\n\n  /**\n   * Displays a success toast message.\n   * @param message The message to display.\n   * @param title The optional title of the toast message.\n   * @param duration The duration in milliseconds for which the toast message should be displayed. Defaults to the default duration.\n   */\n  public success(message: string, title?: string, duration: number = this.#defaultDuration): void {\n    this.toast(message, ToastType.SUCCESS, title, duration);\n  }\n\n  /**\n   * Displays an info toast message.\n   * @param message The message to display.\n   * @param title The optional title of the toast message.\n   * @param duration The duration in milliseconds for which the toast message should be displayed. Defaults to the default duration.\n   */\n  public info(message: string, title?: string, duration: number = this.#defaultDuration): void {\n    this.toast(message, ToastType.INFO, title, duration);\n  }\n\n  /**\n   * Displays a warning toast message.\n   * @param message The message to display.\n   * @param title The optional title of the toast message.\n   * @param duration The duration in milliseconds for which the toast message should be displayed. Defaults to the default duration.\n   */\n  public warning(message: string, title?: string, duration: number = this.#defaultDuration): void {\n    this.toast(message, ToastType.WARNING, title, duration);\n  }\n\n  /**\n   * Displays a danger/error toast message.\n   * @param message The message to display.\n   * @param title The optional title of the toast message.\n   * @param duration The duration in milliseconds for which the toast message should be displayed. Defaults to the default duration.\n   */\n  public danger(message: string, title?: string, duration: number = this.#defaultDuration): void {\n    this.toast(message, ToastType.DANGER, title, duration);\n  }\n\n  /**\n   * Returns an observable that emits the toast messages.\n   * @returns An observable that emits the toast messages.\n   */\n  public onToastMessage(): Observable<ToastMessage> {\n    return this.#toastMessageSource.asObservable();\n  }\n}\n","export enum ToasterPosition {\n  TOP_LEFT = 'toaster-top-left',\n  TOP_CENTER = 'toaster-top-center',\n  TOP_RIGHT = 'toaster-top-right',\n  BOTTOM_LEFT = 'toaster-bottom-left',\n  BOTTOM_CENTER = 'toaster-bottom-center',\n  BOTTOM_RIGHT = 'toaster-bottom-right'\n}","import { Directive, ElementRef, Input, OnInit, inject, input } from '@angular/core';\n\n@Directive({\n    selector: '[toastIcon]',\n    standalone: false\n})\nexport class ToastIconDirective implements OnInit {\n  type = input.required<string>({alias: 'toastIcon'});\n  #el = inject(ElementRef);\n\n  ngOnInit() {\n    this.setIcon();\n  }\n\n  setIcon() {\n    let svgContent: string;\n\n    switch (this.type()) {\n      case 'toast-success':\n        svgContent = `\n          <svg width=\"14\" height=\"14\" viewBox=\"0 0 448 512\">\n            <path fill=\"#ffffff\" d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"/>\n          </svg>`;\n        break;\n      case 'toast-danger':\n        svgContent = `\n          <svg width=\"14\" height=\"14\" viewBox=\"0 0 384 512\">\n            <path fill=\"#ffffff\" d=\"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z\"/>\n          </svg>`;\n        break;\n      case 'toast-info':\n        svgContent = `\n          <svg width=\"14\" height=\"14\" viewBox=\"0 0 192 512\">\n            <path fill=\"#ffffff\" d=\"M48 80a48 48 0 1 1 96 0A48 48 0 1 1 48 80zM0 224c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32V448h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64V256H32c-17.7 0-32-14.3-32-32z\"/>\n          </svg>`;\n        break;\n      case 'toast-warning':\n        svgContent = `\n          <svg width=\"14\" height=\"14\" viewBox=\"0 0 64 512\">\n            <path fill=\"#ffffff\" d=\"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V320c0 17.7 14.3 32 32 32s32-14.3 32-32V64zM32 480a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"/>\n          </svg>`;\n        break;\n      default:\n        svgContent = '';\n    }\n\n    this.#el.nativeElement.innerHTML = svgContent;\n  }\n}\n","import { Component, OnInit, input, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { ToastMessage } from './toast-message.model';\nimport { trigger, style, animate, transition } from '@angular/animations';\nimport { ToasterPosition } from './toaster-position.enum';\nimport { NgToastService } from './ng-toast.service';\n\n@Component({\n    selector: 'ng-toast',\n    templateUrl: './ng-toast.component.html',\n    styleUrls: ['./ng-toast.component.scss'\n    ],\n    animations: [trigger('showHide', [\n            transition(':enter', [\n                style({\n                    opacity: 0,\n                    transform: 'scaleX(0.98) scaleY(0)',\n                    position: 'relative'\n                }),\n                animate('250ms', style({\n                    opacity: 1,\n                    transform: 'scale(1)'\n                }))\n            ]),\n            transition(':leave', [\n                style({\n                    opacity: 1,\n                    transform: 'scale(1)'\n                }),\n                animate('250ms', style({\n                    opacity: 0,\n                    transform: 'scaleX(0.98) scaleY(0)'\n                }))\n            ])\n        ])],\n    standalone: false\n})\nexport class NgToastComponent implements OnInit {\n\n  position = input<ToasterPosition>(ToasterPosition.BOTTOM_RIGHT);\n  width = input<number>(350);\n\n  private _toasterSubject$: Subject<void>;\n  public messages = signal<ToastMessage[]>([]);\n\n  constructor(private toastService: NgToastService) {\n    this._toasterSubject$ = new Subject<void>();\n  }\n\n  ngOnInit(): void {\n    this.toastService.onToastMessage()\n      .pipe(takeUntil(this._toasterSubject$))\n      .subscribe(message => this._handleToastMessage(message))\n  }\n\n  private _handleToastMessage(message: ToastMessage) {\n    if (this._isToasterPositionTop()) {\n      const messages = this.messages();\n      messages.unshift(message);\n      this.messages.set(messages);\n    } else {\n      const messages = this.messages();\n      messages.push(message);\n      this.messages.set(messages);\n    }\n    setTimeout(() => this._removeMessage(message), message.duration);\n  }\n\n  private _isToasterPositionTop() {\n    return this.position() === ToasterPosition.TOP_LEFT ||\n      this.position() === ToasterPosition.TOP_CENTER ||\n      this.position() === ToasterPosition.TOP_RIGHT;\n  }\n\n  private _removeMessage(message: ToastMessage) {\n    const index: number = this.messages().findIndex(e => e.id === message.id);\n    if (index > -1) {\n      const messages = this.messages();\n      messages.splice(index, 1);\n      this.messages.set(messages);\n    }\n  }\n\n  remove(message: ToastMessage){\n    this._removeMessage(message);\n  }\n\n  ngOnDestroy(): void {\n    this._toasterSubject$.next();\n    this._toasterSubject$.complete();\n  }\n\n}\n","<div style.min-width=\"{{width()}}px\" style.max-width=\"{{width()}}px\" class=\"toaster\" [ngClass]=\"position()\">\n\n  <div class=\"toast-message\" *ngFor=\"let message of messages()\" [ngClass]=\"message.type\" [@showHide]>\n    <div class=\"flex-start-center gap-3\">\n      <div [ngClass]=\"message.type\" class=\"toast-icon\">\n        <div [toastIcon]=\"message.type\" class=\"toast-icon\"></div>\n      </div>\n      <div class=\"flex-col\">\n        @if (message.title && message.title !== '') {\n          <span class=\"msg-title\">{{message.title}}</span>\n        }\n        <span style.max-width=\"{{width() - 30}}px\" class=\"msg-summary\">{{message.message}}</span>\n      </div>\n    </div>\n    <button (click)=\"remove(message)\" [ngClass]=\"message.type\" class=\"cross-icon\">\n      <svg width=\"10\" height=\"10\" viewBox=\"0 0 14 14\" fill=\"none\" class=\"p-icon p-toast-icon-close-icon\"\n        aria-hidden=\"true\">\n        <path\n          d=\"M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z\"\n          fill=\"currentColor\"></path>\n      </svg></button>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgToastComponent } from './ng-toast.component';\nimport { ToastIconDirective } from './toast-icon.directive';\n\n@NgModule({\n  declarations: [NgToastComponent, ToastIconDirective],\n  imports: [CommonModule],\n  exports: [NgToastComponent, ToastIconDirective],\n})\nexport class NgToastModule {}\n","/*\n * Public API Surface of ng-toast\n */\n\nexport * from './lib/ng-toast.service';\nexport * from './lib/ng-toast.component';\nexport * from './lib/ng-toast.module';\nexport * from './lib/toast-type.enum';\nexport * from './lib/toast-message.model';\nexport * from './lib/toaster-position.enum';\nexport * from './lib/toast-icon.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgToastService","i3.ToastIconDirective"],"mappings":"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"}