{"version":3,"file":"ngx-alertifying.mjs","sources":["../../../projects/ngx-alertifying/src/lib/shared/enums/alert-styles.enum.ts","../../../projects/ngx-alertifying/src/lib/shared/properties.ts","../../../projects/ngx-alertifying/src/lib/shared/interfaces/ngx-alertifying-config.interface.ts","../../../projects/ngx-alertifying/src/lib/ngx-alertifying.service.ts","../../../projects/ngx-alertifying/src/lib/ngx-alertifying/ngx-alert.component.ts","../../../projects/ngx-alertifying/src/lib/ngx-alertifying/ngx-alert.component.html","../../../projects/ngx-alertifying/src/lib/shared/injection-token/config-token.ts","../../../projects/ngx-alertifying/src/lib/ngx-alertifying.module.ts","../../../projects/ngx-alertifying/src/lib/shared/enums/alert-type.enum.ts","../../../projects/ngx-alertifying/src/lib/shared/services/toast.service.ts","../../../projects/ngx-alertifying/src/public-api.ts","../../../projects/ngx-alertifying/src/ngx-alertifying.ts"],"sourcesContent":["export enum ALERT_SYLES {\r\n    MATERIAL = 'material',\r\n    BOOTSTRAP = 'bootstrap'\r\n}","export const DEFAULT_INFO_COLOR: string = '#3498db'\r\nexport const DEFAULT_WARNING_COLOR: string = '#f39c12';\r\nexport const DEFAULT_SUCCESS_COLOR: string = '#2ecc71';\r\nexport const DEFAULT_DARNGER_COLOR: string = '#e74c3c';\r\nexport const DEFAULT_TOAST_DURATION: number = 3000;","/**\r\n * Define color configuration for alerts and the style\r\n */\r\n\r\nimport { ALERT_SYLES } from \"../enums/alert-styles.enum\";\r\nimport { DEFAULT_DARNGER_COLOR, DEFAULT_INFO_COLOR, DEFAULT_SUCCESS_COLOR, DEFAULT_TOAST_DURATION, DEFAULT_WARNING_COLOR } from \"../properties\";\r\n\r\nexport class NgxAlertifyingConfig {\r\n\r\n    constructor(\r\n        public infoColor: string = DEFAULT_INFO_COLOR,\r\n        public dangerColor: string = DEFAULT_DARNGER_COLOR,\r\n        public warningColor: string = DEFAULT_WARNING_COLOR,\r\n        public successColor: string = DEFAULT_SUCCESS_COLOR,\r\n        public style: ALERT_SYLES = ALERT_SYLES.MATERIAL,\r\n        public toastDuration: number = DEFAULT_TOAST_DURATION\r\n    ) {}\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { NgxAlertifyingConfig } from './shared/interfaces/ngx-alertifying-config.interface';\r\nimport { CONFIG } from '../public-api';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class NgxAlertifyingService {\r\n\r\n  constructor(@Inject(CONFIG) private config?: NgxAlertifyingConfig) { \r\n  }\r\n\r\n  getConfiguration(): NgxAlertifyingConfig {\r\n    return this.config || new NgxAlertifyingConfig();\r\n  }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ALERT_TYPE } from '../../public-api';\r\nimport { NgxAlertifyingService } from '../ngx-alertifying.service';\r\nimport { NgxAlertifyingConfig } from '../shared/interfaces/ngx-alertifying-config.interface';\r\n\r\n@Component({\r\n  selector: 'ngx-alert',\r\n  standalone: false,\r\n  templateUrl: './ngx-alert.component.html',\r\n  styleUrls: ['./ngx-alert.component.scss']\r\n})\r\nexport class NgxAlertComponent implements OnInit {\r\n  @Input() message: string;\r\n  @Input() title: string;\r\n  @Input() type: ALERT_TYPE;\r\n  @Input() showBackground: boolean = false;\r\n\r\n  config: NgxAlertifyingConfig;\r\n  alertColor: string;\r\n  alertBackground: string = '#fff';\r\n\r\n  constructor(private ngxAlertifying: NgxAlertifyingService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.config = this.ngxAlertifying.getConfiguration();\r\n    this.getAlertColor();\r\n  }\r\n\r\n  getAlertColor(): void {\r\n    const colorMapping: { [key in ALERT_TYPE]: string } = {\r\n      [ALERT_TYPE.INFO]: this.config.infoColor,\r\n      [ALERT_TYPE.WARNING]: this.config.warningColor,\r\n      [ALERT_TYPE.DANGER]: this.config.dangerColor,\r\n      [ALERT_TYPE.SUCCESS]: this.config.successColor\r\n    };\r\n\r\n    this.alertColor = colorMapping[this.type] || this.config.infoColor;\r\n    if (this.showBackground) this.getColorHexARgba(this.alertColor);\r\n  }\r\n\r\n  getColorHexARgba(colorHex: string): void {\r\n    const opacity: number = 0.1;\r\n    const r: number = parseInt(colorHex.slice(1, 3), 16);\r\n    const g: number = parseInt(colorHex.slice(3, 5), 16);\r\n    const b: number = parseInt(colorHex.slice(5, 7), 16);\r\n\r\n    this.alertBackground = `rgba(${r}, ${g}, ${b}, ${opacity.toFixed(2)})`;\r\n  }\r\n}\r\n","<div class=\"ngx-alert-ext\">\r\n    <div class=\"ngx-alert\" id=\"ngx-alert-message-box\" \r\n    [style.border-left-color]=\"alertColor\"\r\n    [style.background-color]=\"alertBackground\">\r\n        <div class=\"message\">\r\n            <span class=\"title\" id=\"ngx-alertifying-message-{{type}}-title\" *ngIf=\"title\">{{ title }}</span>\r\n            <span id=\"ngx-alertifying-message-{{type}}\">{{ message }}</span>\r\n        </div>\r\n    </div>\r\n</div>","import { NgxAlertifyingConfig } from \"../interfaces/ngx-alertifying-config.interface\";\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport const CONFIG = new InjectionToken<NgxAlertifyingConfig>('config');","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { NgxAlertComponent } from './ngx-alertifying/ngx-alert.component';\r\nimport { NgxAlertifyingService } from './ngx-alertifying.service';\r\nimport { NgxAlertifyingConfig } from './shared/interfaces/ngx-alertifying-config.interface';\r\nimport { CONFIG } from './shared/injection-token/config-token';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    NgxAlertComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    NgxAlertComponent\r\n  ],\r\n  providers: []\r\n})\r\nexport class NgxAlertifyingModule { \r\n  static forRoot(config: NgxAlertifyingConfig = new NgxAlertifyingConfig()): ModuleWithProviders<NgxAlertifyingModule>  {\r\n    return {\r\n      ngModule: NgxAlertifyingModule,\r\n      providers: [ NgxAlertifyingService, { provide: CONFIG, useValue: config } ]\r\n    };\r\n  }\r\n}\r\n","export enum ALERT_TYPE {\r\n    INFO = 'info',\r\n    WARNING = 'waraning',\r\n    DANGER = 'danger',\r\n    SUCCESS = 'success'\r\n}","// toast.service.ts\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { CONFIG } from '../injection-token/config-token';\r\nimport { NgxAlertifyingConfig } from '../interfaces/ngx-alertifying-config.interface';\r\nimport { ALERT_TYPE } from '../enums/alert-type.enum';\r\nimport { DEFAULT_DARNGER_COLOR, DEFAULT_INFO_COLOR, DEFAULT_SUCCESS_COLOR, DEFAULT_WARNING_COLOR } from '../properties';\r\n\r\n@Injectable({\r\n    providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n    private keyframes: string = `\r\n    @keyframes slideInFromRight {\r\n        from {\r\n        transform: translateX(100%);\r\n        }\r\n        to {\r\n        transform: translateX(0);\r\n        }\r\n    }`;\r\n\r\n    constructor(@Inject(CONFIG) private config?: NgxAlertifyingConfig) {\r\n        const styleElement = document.createElement('style');\r\n        styleElement.type = 'text/css';\r\n        styleElement.appendChild(document.createTextNode(this.keyframes));\r\n        document.head.appendChild(styleElement);\r\n\r\n        const container = document.createElement('div');\r\n        // Add container styles\r\n        container.style.position = 'fixed';\r\n        container.style.top = '20px';\r\n        container.style.right = '1rem';\r\n        container.style.display = 'flex';\r\n        container.style.flexDirection = 'column-reverse';\r\n        container.style.zIndex = '10000';\r\n        container.id = 'toast-container';\r\n        \r\n        document.body.appendChild(container);\r\n    }\r\n\r\n    addInfo(message: string): void {\r\n        this.addToast(message, ALERT_TYPE.INFO);\r\n    }\r\n\r\n    addError(message: string): void {\r\n        this.addToast(message, ALERT_TYPE.DANGER);\r\n    }\r\n\r\n    addSuccess(message: string): void {\r\n        this.addToast(message, ALERT_TYPE.SUCCESS);\r\n    }\r\n\r\n    addWarning(message: string): void {\r\n        this.addToast(message, ALERT_TYPE.WARNING);\r\n    }\r\n\r\n    private addToast(message: string, type: ALERT_TYPE): void {\r\n        const toast = document.createElement('div');\r\n        toast.classList.add('toast');\r\n        toast.textContent = message;\r\n        // Toast style\r\n        toast.style.zIndex = '10000';\r\n        toast.style.position = 'relative';\r\n        toast.style.top = '1.5rem';\r\n        toast.style.transform = 'translateX(-20%)';\r\n        toast.style.padding = '1rem 2rem'\r\n        toast.style.borderRadius = '.8rem'\r\n        toast.style.backgroundColor = '#fff';\r\n        toast.style.border = '1px solid #f0f0f0'\r\n        toast.style.borderLeft = `.8rem solid ${this.getColor(type)}`;\r\n        toast.style.boxShadow = '0 2px 4px rgba(0, 0, 0, 0.1)';\r\n        toast.style.animation = 'slideInFromRight 0.3s ease forwards';\r\n        toast.style.marginBottom = '.5rem';\r\n        toast.style.maxWidth = '400px'\r\n        toast.style.minWidth = '400px'\r\n        toast.style.wordWrap = 'break-word'\r\n\r\n        document.getElementById('toast-container')?.appendChild(toast);\r\n        setTimeout(() => {\r\n            document.getElementById('toast-container')?.removeChild(toast);\r\n        }, this.config?.toastDuration);\r\n    }\r\n\r\n    private getColor(type: ALERT_TYPE): string {\r\n        const colorMapping: { [key in ALERT_TYPE]: string } = {\r\n            [ALERT_TYPE.INFO]: this.config?.infoColor || DEFAULT_INFO_COLOR,\r\n            [ALERT_TYPE.WARNING]: this.config?.warningColor || DEFAULT_WARNING_COLOR,\r\n            [ALERT_TYPE.DANGER]: this.config?.dangerColor || DEFAULT_DARNGER_COLOR,\r\n            [ALERT_TYPE.SUCCESS]: this.config?.successColor || DEFAULT_SUCCESS_COLOR\r\n        };\r\n\r\n        return colorMapping[type];\r\n    }\r\n}\r\n","/*\r\n * Public API Surface of ngx-alertifying\r\n */\r\n\r\nexport * from './lib/ngx-alertifying.service';\r\nexport * from './lib/ngx-alertifying/ngx-alert.component';\r\nexport * from './lib/ngx-alertifying.module';\r\n\r\n/* Alertifying */\r\nexport * from './lib/shared/enums/alert-styles.enum';\r\nexport * from './lib/shared/enums/alert-type.enum';\r\nexport * from './lib/shared/interfaces/ngx-alertifying-config.interface';\r\nexport * from './lib/shared/injection-token/config-token';\r\nexport * from './lib/shared/services/toast.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxAlertifyingService"],"mappings":"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"}