UNPKG

systelab-components

Version:

systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.

64 lines 9.94 kB
import { Component } from '@angular/core'; import { toastAnimations } from './toast-animation'; import { ToastSize } from './toast-config'; import * as i0 from "@angular/core"; import * as i1 from "./toast-config"; import * as i2 from "./toast-ref"; import * as i3 from "./toast.service"; import * as i4 from "@angular/common"; const ICONS = { success: 'icon-check-circle', info: 'icon-info-circle', warning: 'icon-warning', error: 'icon-times-circle', }; export class ToastComponent { constructor(data, ref, toastService) { this.data = data; this.ref = ref; this.toastService = toastService; this.animationState = 'default'; this.config = this.toastService.getConfig(); this.iconClass = `fa ${ICONS[data.type]}`; this.toastClass = `slab-toast slab-toast--${data.type}`; if (this.config.autoWidth) { this.toastClass = `${this.toastClass} slab-toast--auto-width`; } else if (this.config.fixedSize === ToastSize.small) { this.toastClass = `${this.toastClass} slab-toast--fixed-size-small`; } else if (this.config.fixedSize === ToastSize.large) { this.toastClass = `${this.toastClass} slab-toast--fixed-size-large`; } if (this.config.showCloseButton) { this.toastClass = `${this.toastClass} show-close-button`; } } ngOnInit() { this._intervalId = window.setTimeout(() => (this.animationState = 'closing'), this.config.timeout); } closeToast() { this.close(); } onFadeFinished(event) { const { toState } = event; const isFadeOut = toState === 'closing'; const isFinished = this.animationState === 'closing'; if (isFadeOut && isFinished) { this.close(); } } ngOnDestroy() { clearTimeout(this._intervalId); } close() { this.ref.close(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToastComponent, deps: [{ token: i1.ToastData }, { token: i2.ToastRef }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.9", type: ToastComponent, selector: "systelab-toast", ngImport: i0, template: "<div [ngClass]=\"toastClass\"\n [@fadeAnimation]=\"{ value: animationState, params: { fadeIn: 1000, fadeOut: 1000 } }\"\n (@fadeAnimation.done)=\"onFadeFinished($event)\">\n <i class=\"type\" [ngClass]=\"iconClass\"></i>\n <div>{{ data.text }}</div>\n @if (config.showCloseButton) {\n <i class=\"close\" (click)=\"closeToast()\"></i>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [toastAnimations.fadeToast] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToastComponent, decorators: [{ type: Component, args: [{ selector: 'systelab-toast', animations: [toastAnimations.fadeToast], template: "<div [ngClass]=\"toastClass\"\n [@fadeAnimation]=\"{ value: animationState, params: { fadeIn: 1000, fadeOut: 1000 } }\"\n (@fadeAnimation.done)=\"onFadeFinished($event)\">\n <i class=\"type\" [ngClass]=\"iconClass\"></i>\n <div>{{ data.text }}</div>\n @if (config.showCloseButton) {\n <i class=\"close\" (click)=\"closeToast()\"></i>\n }\n</div>\n" }] }], ctorParameters: () => [{ type: i1.ToastData }, { type: i2.ToastRef }, { type: i3.ToastService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3lzdGVsYWItY29tcG9uZW50cy9zcmMvbGliL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5c3RlbGFiLWNvbXBvbmVudHMvc3JjL2xpYi90b2FzdC90b2FzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZUFBZSxFQUF1QixNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFBMEIsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUluRSxNQUFNLEtBQUssR0FBRztJQUNaLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsSUFBSSxFQUFFLGtCQUFrQjtJQUN4QixPQUFPLEVBQUUsY0FBYztJQUN2QixLQUFLLEVBQUUsbUJBQW1CO0NBQzNCLENBQUM7QUFPRixNQUFNLE9BQU8sY0FBYztJQVF6QixZQUFxQixJQUFlLEVBQVcsR0FBYSxFQUFXLFlBQTBCO1FBQTVFLFNBQUksR0FBSixJQUFJLENBQVc7UUFBVyxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQVcsaUJBQVksR0FBWixZQUFZLENBQWM7UUFMMUYsbUJBQWMsR0FBd0IsU0FBUyxDQUFDO1FBTXJELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsMEJBQTBCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4RCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSx5QkFBeUIsQ0FBQztTQUMvRDthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLEtBQUssRUFBRTtZQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsK0JBQStCLENBQUM7U0FDckU7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLCtCQUErQixDQUFDO1NBQ3JFO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsb0JBQW9CLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBcUI7UUFDekMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUMxQixNQUFNLFNBQVMsR0FBSSxPQUErQixLQUFLLFNBQVMsQ0FBQztRQUNqRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsQ0FBQztRQUVyRCxJQUFJLFNBQVMsSUFBSSxVQUFVLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxLQUFLO1FBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQixDQUFDOzhHQWhEVSxjQUFjO2tHQUFkLGNBQWMsc0RDbkIzQixvWEFTQSw0SERRYyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7OzJGQUU1QixjQUFjO2tCQUwxQixTQUFTOytCQUNFLGdCQUFnQixjQUVkLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyB0b2FzdEFuaW1hdGlvbnMsIFRvYXN0QW5pbWF0aW9uU3RhdGUgfSBmcm9tICcuL3RvYXN0LWFuaW1hdGlvbic7XG5pbXBvcnQgeyBUb2FzdENvbmZpZywgVG9hc3REYXRhLCBUb2FzdFNpemUgfSBmcm9tICcuL3RvYXN0LWNvbmZpZyc7XG5pbXBvcnQgeyBUb2FzdFJlZiB9IGZyb20gJy4vdG9hc3QtcmVmJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4vdG9hc3Quc2VydmljZSc7XG5cbmNvbnN0IElDT05TID0ge1xuICBzdWNjZXNzOiAnaWNvbi1jaGVjay1jaXJjbGUnLFxuICBpbmZvOiAnaWNvbi1pbmZvLWNpcmNsZScsXG4gIHdhcm5pbmc6ICdpY29uLXdhcm5pbmcnLFxuICBlcnJvcjogJ2ljb24tdGltZXMtY2lyY2xlJyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5c3RlbGFiLXRvYXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW3RvYXN0QW5pbWF0aW9ucy5mYWRlVG9hc3RdLFxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGljb25DbGFzczogc3RyaW5nO1xuICBwdWJsaWMgdG9hc3RDbGFzczogc3RyaW5nO1xuICBwdWJsaWMgYW5pbWF0aW9uU3RhdGU6IFRvYXN0QW5pbWF0aW9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gIHB1YmxpYyBjb25maWc6IFRvYXN0Q29uZmlnO1xuXG4gIHByaXZhdGUgX2ludGVydmFsSWQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkYXRhOiBUb2FzdERhdGEsIHJlYWRvbmx5IHJlZjogVG9hc3RSZWYsIHJlYWRvbmx5IHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlKSB7XG4gICAgdGhpcy5jb25maWcgPSB0aGlzLnRvYXN0U2VydmljZS5nZXRDb25maWcoKTtcbiAgICB0aGlzLmljb25DbGFzcyA9IGBmYSAke0lDT05TW2RhdGEudHlwZV19YDtcbiAgICB0aGlzLnRvYXN0Q2xhc3MgPSBgc2xhYi10b2FzdCBzbGFiLXRvYXN0LS0ke2RhdGEudHlwZX1gO1xuICAgIGlmICh0aGlzLmNvbmZpZy5hdXRvV2lkdGgpIHtcbiAgICAgIHRoaXMudG9hc3RDbGFzcyA9IGAke3RoaXMudG9hc3RDbGFzc30gc2xhYi10b2FzdC0tYXV0by13aWR0aGA7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5maXhlZFNpemUgPT09IFRvYXN0U2l6ZS5zbWFsbCkge1xuICAgICAgdGhpcy50b2FzdENsYXNzID0gYCR7dGhpcy50b2FzdENsYXNzfSBzbGFiLXRvYXN0LS1maXhlZC1zaXplLXNtYWxsYDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLmZpeGVkU2l6ZSA9PT0gVG9hc3RTaXplLmxhcmdlKSB7XG4gICAgICB0aGlzLnRvYXN0Q2xhc3MgPSBgJHt0aGlzLnRvYXN0Q2xhc3N9IHNsYWItdG9hc3QtLWZpeGVkLXNpemUtbGFyZ2VgO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcuc2hvd0Nsb3NlQnV0dG9uKSB7XG4gICAgICB0aGlzLnRvYXN0Q2xhc3MgPSBgJHt0aGlzLnRvYXN0Q2xhc3N9IHNob3ctY2xvc2UtYnV0dG9uYDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faW50ZXJ2YWxJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+ICh0aGlzLmFuaW1hdGlvblN0YXRlID0gJ2Nsb3NpbmcnKSwgdGhpcy5jb25maWcudGltZW91dCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VUb2FzdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgb25GYWRlRmluaXNoZWQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgY29uc3QgeyB0b1N0YXRlIH0gPSBldmVudDtcbiAgICBjb25zdCBpc0ZhZGVPdXQgPSAodG9TdGF0ZSBhcyBUb2FzdEFuaW1hdGlvblN0YXRlKSA9PT0gJ2Nsb3NpbmcnO1xuICAgIGNvbnN0IGlzRmluaXNoZWQgPSB0aGlzLmFuaW1hdGlvblN0YXRlID09PSAnY2xvc2luZyc7XG5cbiAgICBpZiAoaXNGYWRlT3V0ICYmIGlzRmluaXNoZWQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2ludGVydmFsSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZi5jbG9zZSgpO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInRvYXN0Q2xhc3NcIlxuICAgICBbQGZhZGVBbmltYXRpb25dPVwieyB2YWx1ZTogYW5pbWF0aW9uU3RhdGUsIHBhcmFtczogeyBmYWRlSW46IDEwMDAsIGZhZGVPdXQ6IDEwMDAgfSB9XCJcbiAgICAgKEBmYWRlQW5pbWF0aW9uLmRvbmUpPVwib25GYWRlRmluaXNoZWQoJGV2ZW50KVwiPlxuICAgIDxpIGNsYXNzPVwidHlwZVwiIFtuZ0NsYXNzXT1cImljb25DbGFzc1wiPjwvaT5cbiAgICA8ZGl2Pnt7IGRhdGEudGV4dCB9fTwvZGl2PlxuICAgIEBpZiAoY29uZmlnLnNob3dDbG9zZUJ1dHRvbikge1xuICAgIDxpIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2VUb2FzdCgpXCI+PC9pPlxuICAgIH1cbjwvZGl2PlxuIl19