lct-components
Version:
LCT basic components
32 lines • 4.91 kB
JavaScript
import { Component } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "../toast.service";
import * as i2 from "@angular/common";
export class ToastComponent {
constructor(toastService) {
this.toastService = toastService;
this.toasts = [];
}
ngOnInit() {
this.toastService.toasts$.subscribe(toasts => {
this.toasts = toasts;
});
}
removeToast(toast) {
this.toastService.removeToast(toast);
}
ngOnDestroy() {
this.toastService.clearToasts(); // Opcional: Limpia los toasts al destruir el componente
}
}
ToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ToastComponent, deps: [{ token: i1.ToastService }], target: i0.ɵɵFactoryTarget.Component });
ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: ToastComponent, selector: "app-toast", ngImport: i0, template: "<!-- toast.component.html -->\n<div class=\"toast-container\">\n <div class=\"toast\" [ngClass]=\"toast.type\" *ngFor=\"let toast of toasts\">\n <span >{{ toast.message }}</span>\n <button (click)=\"removeToast(toast)\">X</button>\n </div>\n</div>", styles: ["@charset \"UTF-8\";.toast-container{position:fixed;top:10px;right:10px;z-index:1000}.toast{margin:5px;padding:10px;border-radius:5px;color:#fff;font-family:\"Barlow\";display:flex!important;justify-content:space-between;animation:slide-in-left 1s ease-out forwards}@keyframes slide-in-left{0%{opacity:0;transform:translateX 100%}to{opacity:1;transform:translateX 0}}.toastPrimary{background-color:#2649b6}.toastSecondary{background-color:#b19300}.toastError{background-color:#c60e4c}button{background:none;border:none;color:#fff;cursor:pointer}\n"], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ToastComponent, decorators: [{
type: Component,
args: [{
selector: 'app-toast',
templateUrl: './toast.component.html',
styleUrls: ['./toast.component.scss']
}]
}], ctorParameters: function () { return [{ type: i1.ToastService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGN0LWNvbXBvbmVudHMvc3JjL2xpYi90b2FzdC90b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sY3QtY29tcG9uZW50cy9zcmMvbGliL3RvYXN0L3RvYXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTdELE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRjlDLFdBQU0sR0FBVSxFQUFFLENBQUM7SUFFOEIsQ0FBQztJQUVsRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFTO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFFLHdEQUF3RDtJQUM1RixDQUFDOzsyR0FqQlUsY0FBYzsrRkFBZCxjQUFjLGlEQ1IzQixrUUFNTTsyRkRFTyxjQUFjO2tCQUwxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRvYXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9hc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgdG9hc3RzOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50b2FzdFNlcnZpY2UudG9hc3RzJC5zdWJzY3JpYmUodG9hc3RzID0+IHtcbiAgICAgIHRoaXMudG9hc3RzID0gdG9hc3RzO1xuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlVG9hc3QodG9hc3Q6YW55KSB7XG4gICAgdGhpcy50b2FzdFNlcnZpY2UucmVtb3ZlVG9hc3QodG9hc3QpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy50b2FzdFNlcnZpY2UuY2xlYXJUb2FzdHMoKTsgIC8vIE9wY2lvbmFsOiBMaW1waWEgbG9zIHRvYXN0cyBhbCBkZXN0cnVpciBlbCBjb21wb25lbnRlXG4gIH1cbn1cbiIsIjwhLS0gdG9hc3QuY29tcG9uZW50Lmh0bWwgLS0+XG48ZGl2IGNsYXNzPVwidG9hc3QtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ0b2FzdFwiICBbbmdDbGFzc109XCJ0b2FzdC50eXBlXCIgKm5nRm9yPVwibGV0IHRvYXN0IG9mIHRvYXN0c1wiPlxuICAgIDxzcGFuID57eyB0b2FzdC5tZXNzYWdlIH19PC9zcGFuPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInJlbW92ZVRvYXN0KHRvYXN0KVwiPlg8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=