@wizco/fenixds-ngx 17.11.2 → 17.12.0

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.
@@ -0,0 +1,88 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/platform-browser";
5
+ import * as i2 from "@angular/common";
6
+ export class WcoToastComponent {
7
+ sanitizer;
8
+ position = 'bottom-right';
9
+ configManual;
10
+ toasts = [];
11
+ constructor(sanitizer) {
12
+ this.sanitizer = sanitizer;
13
+ }
14
+ ngOnInit() { }
15
+ ngOnDestroy() {
16
+ this.toasts.forEach((t) => {
17
+ if (t.timer)
18
+ clearTimeout(t.timer);
19
+ });
20
+ }
21
+ add(config) {
22
+ const id = 'wco-toast-' + Math.random().toString(36).substring(7);
23
+ const duration = config.duration ?? 4000;
24
+ const item = {
25
+ id,
26
+ config: { showIcon: true, type: 'info', ...config },
27
+ visible: true,
28
+ };
29
+ this.toasts.push(item);
30
+ setTimeout(() => {
31
+ const el = document.getElementById(id);
32
+ if (el && el.offsetHeight > 55)
33
+ item.tall = true;
34
+ }, 50);
35
+ if (duration > 0) {
36
+ item.timer = setTimeout(() => this.dismiss(id), duration);
37
+ }
38
+ return id;
39
+ }
40
+ dismiss(id) {
41
+ const item = this.toasts.find((t) => t.id === id);
42
+ if (!item)
43
+ return;
44
+ if (item.timer)
45
+ clearTimeout(item.timer);
46
+ item.visible = false;
47
+ setTimeout(() => {
48
+ this.toasts = this.toasts.filter((t) => t.id !== id);
49
+ }, 300);
50
+ }
51
+ getSafeHtml(value) {
52
+ return this.sanitizer.bypassSecurityTrustHtml(value || '');
53
+ }
54
+ getIconMaterial(config) {
55
+ switch (config.type) {
56
+ case 'error':
57
+ return { icon: 'error_outline', color: 'error' };
58
+ case 'warning':
59
+ return { icon: 'warning_amber', color: 'warning' };
60
+ case 'success':
61
+ return { icon: 'check_circle_outline', color: 'success' };
62
+ case 'loading':
63
+ return { icon: 'autorenew', color: 'loading' };
64
+ default:
65
+ return { icon: 'info', color: 'info' };
66
+ }
67
+ }
68
+ getButtonClass(action) {
69
+ const extraClasse = action.extraClasse ?? 'wco-btn btn-sm btn-outline btn-link wco-toast-btn';
70
+ return `${extraClasse}`.trim();
71
+ }
72
+ trackById(_, item) {
73
+ return item.id;
74
+ }
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WcoToastComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
76
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WcoToastComponent, isStandalone: true, selector: "wco-toast", inputs: { position: "position", configManual: "configManual", toasts: "toasts" }, ngImport: i0, template: "<dialog open class=\"wco-toast-container\" [class]=\"'wco-toast-container--' + position\">\n <span class=\"wco-toast__hover-zone\"></span>\n <div\n *ngFor=\"let toast of toasts; trackBy: trackById;let i = index\"\n class=\"wco-toast\"\n [id]=\"toast.id\"\n [class.wco-toast--visible]=\"toast.visible\"\n [class.wco-toast--start]=\"toast.tall\"\n [attr.data-position]=\"i\"\n [class]=\"'wco-toast wco-toast--mini wco-toast--' + getIconMaterial(toast.config).color + (toast.visible ? ' wco-toast--visible' : '')\"\n >\n <div class=\"wco-toast__body\">\n <ng-container *ngIf=\"toast.config.showIcon\">\n <span class=\"wco-toast__icon material-icons-round\">\n <ng-container *ngIf=\"toast.config.materialIcon; else defaultIcon\">\n {{ toast.config.materialIcon }}\n </ng-container>\n <ng-template #defaultIcon>\n {{ getIconMaterial(toast.config).icon }}\n </ng-template>\n </span>\n </ng-container>\n\n <div class=\"wco-toast__content\">\n <span>\n <p class=\"wco-toast__title\" *ngIf=\"toast.config.title\" [innerHTML]=\"getSafeHtml(toast.config.title)\"></p>\n <p class=\"wco-toast__message\" *ngIf=\"toast.config.message && toast.config.message.length \" [innerHTML]=\"getSafeHtml(toast.config.message)\"></p>\n </span>\n <div class=\"wco-toast__actions\" *ngIf=\"toast.config.actions && toast.config.actions.length > 0\">\n <button\n type=\"button\"\n *ngFor=\"let action of toast.config.actions\"\n [class]=\"getButtonClass(action)\"\n (click)=\"action.action(); dismiss(toast.id)\"\n >\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconLeft\">{{ action.materialIconLeft }}</span>\n {{ action.text }}\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconRight\">{{ action.materialIconRight }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <button class=\"wco-toast__close\" *ngIf=\"toast.config.close !== false\" (click)=\"dismiss(toast.id)\" aria-label=\"Fechar\">\n <span class=\"material-icons\">close</span>\n </button>\n </div>\n \n</dialog>\n", styles: ["@layer state{.wco-toast-container{--wco-toast-padding: var(--wco-spacing-nano, 8px);--wco-toast-gap: var(--wco-spacing-nano, 8px);--wco-toast-radius: var(--wco-radius-md, 8px);--wco-toast-w-clamp: clamp(250px, 280px, 420px);--wco-toast-bg: var(--wco-color-panel) }}.wco-toast-container{margin:0;padding:0;border:none;background:transparent;max-width:none;max-height:none;overflow:visible;top:unset;right:unset;bottom:unset;left:unset;transition:all .1s linear .3s;opacity:1;transform:translateY(0);position:fixed;z-index:9999;display:flex;flex-direction:column;gap:var(--wco-spacing-xs);pointer-events:none}@starting-style{.wco-toast-container{opacity:0;transform:scaleY(12px)}}.wco-toast-container:has(.wco-toast-btn){--wco-toast-align-flex: flex- --wc-toast-align-direction: }.wco-toast-container::backdrop{display:none}.wco-toast-container--top-right{top:var(--wco-spacing-md);right:var(--wco-spacing-md);align-items:flex-end}.wco-toast-container--top-left{top:var(--wco-spacing-md);left:var(--wco-spacing-md);align-items:flex-start}.wco-toast-container--bottom-right{bottom:var(--wco-spacing-md);right:var(--wco-spacing-md);align-items:flex-end}.wco-toast-container--bottom-left{bottom:var(--wco-spacing-md);left:var(--wco-spacing-md);align-items:flex-start}.wco-toast-container--top-center{top:var(--wco-spacing-md);left:50%;transform:translate(-50%);align-items:center}.wco-toast-container--bottom-center{bottom:var(--wco-spacing-md);left:50%;transform:translate(-50%);align-items:center}@media (max-width: 600px){.wco-toast-container--top-right,.wco-toast-container--top-left,.wco-toast-container--top-center,.wco-toast-container--bottom-right,.wco-toast-container--bottom-left,.wco-toast-container--bottom-center{top:unset;right:unset;left:50%;bottom:var(--wco-spacing-xxs);transform:translate(-50%);align-items:center;width:calc(100vw - var(--wco-spacing-xxxs))}.wco-toast-container--top-right .wco-toast,.wco-toast-container--top-left .wco-toast,.wco-toast-container--top-center .wco-toast,.wco-toast-container--bottom-right .wco-toast,.wco-toast-container--bottom-left .wco-toast,.wco-toast-container--bottom-center .wco-toast{width:100%}}.wco-toast{pointer-events:all;display:flex;align-items:center;gap:var(--wco-toast-gap, 8px);width:var(--wco-toast-w-clamp, 250px);padding:var(--wco-toast-padding, 8px);border-radius:var(--wco-toast-radius, 8px);background:var(--wco-toast-bg, #fff);box-shadow:var(--wco-shadow-level-1);opacity:0;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease}.wco-toast.wco-toast--start{align-items:flex-start}.wco-toast.wco-toast--start:has(.btn-link) .wco-toast__close{margin-top:var(--wco-spacing-nano)}.wco-toast.wco-toast--start>.wco-toast__body,.wco-toast.wco-toast--start .wco-toast__content{align-items:flex-start}.wco-toast:has(.wco-toast__message) .wco-toast__title{font-weight:600}.wco-toast.wco-toast--mini{--wco-toast-w-clamp: fit-content;max-width:570px}.wco-toast--visible{opacity:1;transform:translateY(0)}.wco-toast--info{--wco-toast-color-type: var(--wco-color-info-600)}.wco-toast--success{--wco-toast-color-type: var(--wco-color-success-600)}.wco-toast--warning{--wco-toast-color-type: var(--wco-color-warning-600)}.wco-toast--error{--wco-toast-color-type: var(--wco-color-danger-600)}.wco-toast--loading{--wco-toast-color-type: var(--wco-color-secondary-600)}.wco-toast--loading .wco-toast__icon{animation:wco-toast-spin 1s linear infinite}@keyframes wco-toast-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wco-toast__body{display:flex;align-items:center;gap:var(--wco-toast-gap, 8px);flex:1;min-width:0}.wco-toast__icon{font-size:var(--wco-iconography-size-xs);color:var(--wco-toast-color-type);flex-shrink:0;margin-top:0}.wco-toast__content{display:flex;flex-direction:row;align-items:center;gap:var(--wco-toast-gap, 8px);flex:1;min-width:0}.wco-toast__title{font-size:var(--wco-font-size-xs, 14px);font-weight:300;color:var(--wco-color-neutral-900);line-height:1.4;margin:0}.wco-toast__message{font-size:var(--wco-font-size-xxs, 12px);font-weight:400;color:var(--wco-color-neutral-700);line-height:1.5;margin:0}.wco-toast__actions{display:flex;flex-wrap:wrap;gap:var(--wco-spacing-nano)}.wco-toast__close{background:none;border:none;cursor:pointer;padding:0;color:var(--wco-color-neutral-500);display:flex;align-items:center;flex-shrink:0;line-height:1}.wco-toast__close span{font-size:18px}.wco-toast__close:hover{color:var(--wco-color-neutral-900)}.wco-toast-container .wco-toast__hover-zone{position:absolute;inset:-16px;pointer-events:auto;z-index:0}.wco-toast-container .wco-toast{position:relative;z-index:1;transition:transform .2s ease,opacity .2s ease,top .2s ease}@starting-style{.wco-toast-container .wco-toast{transform:translateY(24px)}}.wco-toast-container:not(:hover) .wco-toast:not(:last-child){position:absolute;box-shadow:none;width:100%;height:50px;overflow:hidden;transform:scale(.95)}.wco-toast-container:not(:hover) .wco-toast:not(:last-child)>*{opacity:0;transition:opacity .15s ease}.wco-toast-container:not(:hover) .wco-toast:nth-last-child(2){top:-10px;transform:scale(.95);box-shadow:var(--wco-shadow-level-3)}.wco-toast-container:not(:hover) .wco-toast:nth-last-child(3){top:-20px;transform:scale(.85);box-shadow:var(--wco-shadow-level-2)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WcoToastComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'wco-toast', standalone: true, imports: [CommonModule], template: "<dialog open class=\"wco-toast-container\" [class]=\"'wco-toast-container--' + position\">\n <span class=\"wco-toast__hover-zone\"></span>\n <div\n *ngFor=\"let toast of toasts; trackBy: trackById;let i = index\"\n class=\"wco-toast\"\n [id]=\"toast.id\"\n [class.wco-toast--visible]=\"toast.visible\"\n [class.wco-toast--start]=\"toast.tall\"\n [attr.data-position]=\"i\"\n [class]=\"'wco-toast wco-toast--mini wco-toast--' + getIconMaterial(toast.config).color + (toast.visible ? ' wco-toast--visible' : '')\"\n >\n <div class=\"wco-toast__body\">\n <ng-container *ngIf=\"toast.config.showIcon\">\n <span class=\"wco-toast__icon material-icons-round\">\n <ng-container *ngIf=\"toast.config.materialIcon; else defaultIcon\">\n {{ toast.config.materialIcon }}\n </ng-container>\n <ng-template #defaultIcon>\n {{ getIconMaterial(toast.config).icon }}\n </ng-template>\n </span>\n </ng-container>\n\n <div class=\"wco-toast__content\">\n <span>\n <p class=\"wco-toast__title\" *ngIf=\"toast.config.title\" [innerHTML]=\"getSafeHtml(toast.config.title)\"></p>\n <p class=\"wco-toast__message\" *ngIf=\"toast.config.message && toast.config.message.length \" [innerHTML]=\"getSafeHtml(toast.config.message)\"></p>\n </span>\n <div class=\"wco-toast__actions\" *ngIf=\"toast.config.actions && toast.config.actions.length > 0\">\n <button\n type=\"button\"\n *ngFor=\"let action of toast.config.actions\"\n [class]=\"getButtonClass(action)\"\n (click)=\"action.action(); dismiss(toast.id)\"\n >\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconLeft\">{{ action.materialIconLeft }}</span>\n {{ action.text }}\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconRight\">{{ action.materialIconRight }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <button class=\"wco-toast__close\" *ngIf=\"toast.config.close !== false\" (click)=\"dismiss(toast.id)\" aria-label=\"Fechar\">\n <span class=\"material-icons\">close</span>\n </button>\n </div>\n \n</dialog>\n", styles: ["@layer state{.wco-toast-container{--wco-toast-padding: var(--wco-spacing-nano, 8px);--wco-toast-gap: var(--wco-spacing-nano, 8px);--wco-toast-radius: var(--wco-radius-md, 8px);--wco-toast-w-clamp: clamp(250px, 280px, 420px);--wco-toast-bg: var(--wco-color-panel) }}.wco-toast-container{margin:0;padding:0;border:none;background:transparent;max-width:none;max-height:none;overflow:visible;top:unset;right:unset;bottom:unset;left:unset;transition:all .1s linear .3s;opacity:1;transform:translateY(0);position:fixed;z-index:9999;display:flex;flex-direction:column;gap:var(--wco-spacing-xs);pointer-events:none}@starting-style{.wco-toast-container{opacity:0;transform:scaleY(12px)}}.wco-toast-container:has(.wco-toast-btn){--wco-toast-align-flex: flex- --wc-toast-align-direction: }.wco-toast-container::backdrop{display:none}.wco-toast-container--top-right{top:var(--wco-spacing-md);right:var(--wco-spacing-md);align-items:flex-end}.wco-toast-container--top-left{top:var(--wco-spacing-md);left:var(--wco-spacing-md);align-items:flex-start}.wco-toast-container--bottom-right{bottom:var(--wco-spacing-md);right:var(--wco-spacing-md);align-items:flex-end}.wco-toast-container--bottom-left{bottom:var(--wco-spacing-md);left:var(--wco-spacing-md);align-items:flex-start}.wco-toast-container--top-center{top:var(--wco-spacing-md);left:50%;transform:translate(-50%);align-items:center}.wco-toast-container--bottom-center{bottom:var(--wco-spacing-md);left:50%;transform:translate(-50%);align-items:center}@media (max-width: 600px){.wco-toast-container--top-right,.wco-toast-container--top-left,.wco-toast-container--top-center,.wco-toast-container--bottom-right,.wco-toast-container--bottom-left,.wco-toast-container--bottom-center{top:unset;right:unset;left:50%;bottom:var(--wco-spacing-xxs);transform:translate(-50%);align-items:center;width:calc(100vw - var(--wco-spacing-xxxs))}.wco-toast-container--top-right .wco-toast,.wco-toast-container--top-left .wco-toast,.wco-toast-container--top-center .wco-toast,.wco-toast-container--bottom-right .wco-toast,.wco-toast-container--bottom-left .wco-toast,.wco-toast-container--bottom-center .wco-toast{width:100%}}.wco-toast{pointer-events:all;display:flex;align-items:center;gap:var(--wco-toast-gap, 8px);width:var(--wco-toast-w-clamp, 250px);padding:var(--wco-toast-padding, 8px);border-radius:var(--wco-toast-radius, 8px);background:var(--wco-toast-bg, #fff);box-shadow:var(--wco-shadow-level-1);opacity:0;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease}.wco-toast.wco-toast--start{align-items:flex-start}.wco-toast.wco-toast--start:has(.btn-link) .wco-toast__close{margin-top:var(--wco-spacing-nano)}.wco-toast.wco-toast--start>.wco-toast__body,.wco-toast.wco-toast--start .wco-toast__content{align-items:flex-start}.wco-toast:has(.wco-toast__message) .wco-toast__title{font-weight:600}.wco-toast.wco-toast--mini{--wco-toast-w-clamp: fit-content;max-width:570px}.wco-toast--visible{opacity:1;transform:translateY(0)}.wco-toast--info{--wco-toast-color-type: var(--wco-color-info-600)}.wco-toast--success{--wco-toast-color-type: var(--wco-color-success-600)}.wco-toast--warning{--wco-toast-color-type: var(--wco-color-warning-600)}.wco-toast--error{--wco-toast-color-type: var(--wco-color-danger-600)}.wco-toast--loading{--wco-toast-color-type: var(--wco-color-secondary-600)}.wco-toast--loading .wco-toast__icon{animation:wco-toast-spin 1s linear infinite}@keyframes wco-toast-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wco-toast__body{display:flex;align-items:center;gap:var(--wco-toast-gap, 8px);flex:1;min-width:0}.wco-toast__icon{font-size:var(--wco-iconography-size-xs);color:var(--wco-toast-color-type);flex-shrink:0;margin-top:0}.wco-toast__content{display:flex;flex-direction:row;align-items:center;gap:var(--wco-toast-gap, 8px);flex:1;min-width:0}.wco-toast__title{font-size:var(--wco-font-size-xs, 14px);font-weight:300;color:var(--wco-color-neutral-900);line-height:1.4;margin:0}.wco-toast__message{font-size:var(--wco-font-size-xxs, 12px);font-weight:400;color:var(--wco-color-neutral-700);line-height:1.5;margin:0}.wco-toast__actions{display:flex;flex-wrap:wrap;gap:var(--wco-spacing-nano)}.wco-toast__close{background:none;border:none;cursor:pointer;padding:0;color:var(--wco-color-neutral-500);display:flex;align-items:center;flex-shrink:0;line-height:1}.wco-toast__close span{font-size:18px}.wco-toast__close:hover{color:var(--wco-color-neutral-900)}.wco-toast-container .wco-toast__hover-zone{position:absolute;inset:-16px;pointer-events:auto;z-index:0}.wco-toast-container .wco-toast{position:relative;z-index:1;transition:transform .2s ease,opacity .2s ease,top .2s ease}@starting-style{.wco-toast-container .wco-toast{transform:translateY(24px)}}.wco-toast-container:not(:hover) .wco-toast:not(:last-child){position:absolute;box-shadow:none;width:100%;height:50px;overflow:hidden;transform:scale(.95)}.wco-toast-container:not(:hover) .wco-toast:not(:last-child)>*{opacity:0;transition:opacity .15s ease}.wco-toast-container:not(:hover) .wco-toast:nth-last-child(2){top:-10px;transform:scale(.95);box-shadow:var(--wco-shadow-level-3)}.wco-toast-container:not(:hover) .wco-toast:nth-last-child(3){top:-20px;transform:scale(.85);box-shadow:var(--wco-shadow-level-2)}\n"] }]
81
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { position: [{
82
+ type: Input
83
+ }], configManual: [{
84
+ type: Input
85
+ }], toasts: [{
86
+ type: Input
87
+ }] } });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvbmVudHMvc3JjL2xpYi90b2FzdC90b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3RvYXN0L3RvYXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7Ozs7QUFtQnBFLE1BQU0sT0FBTyxpQkFBaUI7SUFPUjtJQU5YLFFBQVEsR0FBK0IsY0FBYyxDQUFDO0lBRXRELFlBQVksQ0FBaUI7SUFFN0IsTUFBTSxHQUFtQixFQUFFLENBQUM7SUFFckMsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFHLENBQUM7SUFFL0MsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLENBQUMsS0FBSztnQkFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEdBQUcsQ0FBQyxNQUFzQjtRQUN4QixNQUFNLEVBQUUsR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFFekMsTUFBTSxJQUFJLEdBQWlCO1lBQ3pCLEVBQUU7WUFDRixNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUU7WUFDbkQsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLFlBQVksR0FBRyxFQUFFO2dCQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25ELENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVO1FBQ2hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUVsQixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUVyQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQXNCO1FBQ3BDLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLEtBQUssT0FBTztnQkFDVixPQUFPLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDbkQsS0FBSyxTQUFTO2dCQUNaLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUNyRCxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDNUQsS0FBSyxTQUFTO2dCQUNaLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUNqRDtnQkFDRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsTUFBa0M7UUFDL0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxtREFBbUQsQ0FBQztRQUM5RixPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVMsQ0FBQyxDQUFTLEVBQUUsSUFBa0I7UUFDckMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7d0dBaEZVLGlCQUFpQjs0RkFBakIsaUJBQWlCLHVKQ3BCOUIsNnRFQWlEQSwwc0tEakNZLFlBQVk7OzRGQUlYLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDO2lGQUtkLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgV2NvVG9hc3RDb25maWcsIFdjb1RvYXN0Q29uZmlnQWN0aW9uc1R5cGVzIH0gZnJvbSAnLi90b2FzdC50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2NvVG9hc3RJdGVtIHtcbiAgaWQ6IHN0cmluZztcbiAgY29uZmlnOiBXY29Ub2FzdENvbmZpZztcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgdGFsbD86IGJvb2xlYW47XG4gIHRpbWVyPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby10b2FzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2FzdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBXY29Ub2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcG9zaXRpb246IFdjb1RvYXN0Q29uZmlnWydwb3NpdGlvbiddID0gJ2JvdHRvbS1yaWdodCc7XG5cbiAgQElucHV0KCkgY29uZmlnTWFudWFsPzogV2NvVG9hc3RDb25maWdcblxuICBASW5wdXQoKSB0b2FzdHM6IFdjb1RvYXN0SXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50b2FzdHMuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgaWYgKHQudGltZXIpIGNsZWFyVGltZW91dCh0LnRpbWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFkZChjb25maWc6IFdjb1RvYXN0Q29uZmlnKTogc3RyaW5nIHtcbiAgICBjb25zdCBpZCA9ICd3Y28tdG9hc3QtJyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KTtcbiAgICBjb25zdCBkdXJhdGlvbiA9IGNvbmZpZy5kdXJhdGlvbiA/PyA0MDAwO1xuXG4gICAgY29uc3QgaXRlbTogV2NvVG9hc3RJdGVtID0ge1xuICAgICAgaWQsXG4gICAgICBjb25maWc6IHsgc2hvd0ljb246IHRydWUsIHR5cGU6ICdpbmZvJywgLi4uY29uZmlnIH0sXG4gICAgICB2aXNpYmxlOiB0cnVlLFxuICAgIH07XG5cbiAgICB0aGlzLnRvYXN0cy5wdXNoKGl0ZW0pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICAgIGlmIChlbCAmJiBlbC5vZmZzZXRIZWlnaHQgPiA1NSkgaXRlbS50YWxsID0gdHJ1ZTtcbiAgICB9LCA1MCk7XG5cbiAgICBpZiAoZHVyYXRpb24gPiAwKSB7XG4gICAgICBpdGVtLnRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmRpc21pc3MoaWQpLCBkdXJhdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgZGlzbWlzcyhpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMudG9hc3RzLmZpbmQoKHQpID0+IHQuaWQgPT09IGlkKTtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcblxuICAgIGlmIChpdGVtLnRpbWVyKSBjbGVhclRpbWVvdXQoaXRlbS50aW1lcik7XG5cbiAgICBpdGVtLnZpc2libGUgPSBmYWxzZTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy50b2FzdHMgPSB0aGlzLnRvYXN0cy5maWx0ZXIoKHQpID0+IHQuaWQgIT09IGlkKTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgZ2V0U2FmZUh0bWwodmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZSB8fCAnJyk7XG4gIH1cblxuICBnZXRJY29uTWF0ZXJpYWwoY29uZmlnOiBXY29Ub2FzdENvbmZpZykge1xuICAgIHN3aXRjaCAoY29uZmlnLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgcmV0dXJuIHsgaWNvbjogJ2Vycm9yX291dGxpbmUnLCBjb2xvcjogJ2Vycm9yJyB9O1xuICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgIHJldHVybiB7IGljb246ICd3YXJuaW5nX2FtYmVyJywgY29sb3I6ICd3YXJuaW5nJyB9O1xuICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgIHJldHVybiB7IGljb246ICdjaGVja19jaXJjbGVfb3V0bGluZScsIGNvbG9yOiAnc3VjY2VzcycgfTtcbiAgICAgIGNhc2UgJ2xvYWRpbmcnOlxuICAgICAgICByZXR1cm4geyBpY29uOiAnYXV0b3JlbmV3JywgY29sb3I6ICdsb2FkaW5nJyB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHsgaWNvbjogJ2luZm8nLCBjb2xvcjogJ2luZm8nIH07XG4gICAgfVxuICB9XG5cbiAgZ2V0QnV0dG9uQ2xhc3MoYWN0aW9uOiBXY29Ub2FzdENvbmZpZ0FjdGlvbnNUeXBlcyk6IHN0cmluZyB7XG4gICAgY29uc3QgZXh0cmFDbGFzc2UgPSBhY3Rpb24uZXh0cmFDbGFzc2UgPz8gJ3djby1idG4gYnRuLXNtIGJ0bi1vdXRsaW5lIGJ0bi1saW5rIHdjby10b2FzdC1idG4nO1xuICAgIHJldHVybiBgJHtleHRyYUNsYXNzZX1gLnRyaW0oKTtcbiAgfVxuXG4gIHRyYWNrQnlJZChfOiBudW1iZXIsIGl0ZW06IFdjb1RvYXN0SXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGl0ZW0uaWQ7XG4gIH1cbn1cbiIsIjxkaWFsb2cgb3BlbiBjbGFzcz1cIndjby10b2FzdC1jb250YWluZXJcIiBbY2xhc3NdPVwiJ3djby10b2FzdC1jb250YWluZXItLScgKyBwb3NpdGlvblwiPlxuICA8c3BhbiBjbGFzcz1cIndjby10b2FzdF9faG92ZXItem9uZVwiPjwvc3Bhbj5cbiAgPGRpdlxuICAgICpuZ0Zvcj1cImxldCB0b2FzdCBvZiB0b2FzdHM7IHRyYWNrQnk6IHRyYWNrQnlJZDtsZXQgaSA9IGluZGV4XCJcbiAgICBjbGFzcz1cIndjby10b2FzdFwiXG4gICAgW2lkXT1cInRvYXN0LmlkXCJcbiAgICBbY2xhc3Mud2NvLXRvYXN0LS12aXNpYmxlXT1cInRvYXN0LnZpc2libGVcIlxuICAgIFtjbGFzcy53Y28tdG9hc3QtLXN0YXJ0XT1cInRvYXN0LnRhbGxcIlxuICAgIFthdHRyLmRhdGEtcG9zaXRpb25dPVwiaVwiXG4gICAgW2NsYXNzXT1cIid3Y28tdG9hc3Qgd2NvLXRvYXN0LS1taW5pIHdjby10b2FzdC0tJyArIGdldEljb25NYXRlcmlhbCh0b2FzdC5jb25maWcpLmNvbG9yICsgKHRvYXN0LnZpc2libGUgPyAnIHdjby10b2FzdC0tdmlzaWJsZScgOiAnJylcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIndjby10b2FzdF9fYm9keVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvYXN0LmNvbmZpZy5zaG93SWNvblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndjby10b2FzdF9faWNvbiBtYXRlcmlhbC1pY29ucy1yb3VuZFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b2FzdC5jb25maWcubWF0ZXJpYWxJY29uOyBlbHNlIGRlZmF1bHRJY29uXCI+XG4gICAgICAgICAgICB7eyB0b2FzdC5jb25maWcubWF0ZXJpYWxJY29uIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0SWNvbj5cbiAgICAgICAgICAgIHt7IGdldEljb25NYXRlcmlhbCh0b2FzdC5jb25maWcpLmljb24gfX1cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiBjbGFzcz1cIndjby10b2FzdF9fY29udGVudFwiPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICA8cCBjbGFzcz1cIndjby10b2FzdF9fdGl0bGVcIiAqbmdJZj1cInRvYXN0LmNvbmZpZy50aXRsZVwiIFtpbm5lckhUTUxdPVwiZ2V0U2FmZUh0bWwodG9hc3QuY29uZmlnLnRpdGxlKVwiPjwvcD5cbiAgICAgICAgICA8cCBjbGFzcz1cIndjby10b2FzdF9fbWVzc2FnZVwiICpuZ0lmPVwidG9hc3QuY29uZmlnLm1lc3NhZ2UgJiYgdG9hc3QuY29uZmlnLm1lc3NhZ2UubGVuZ3RoIFwiIFtpbm5lckhUTUxdPVwiZ2V0U2FmZUh0bWwodG9hc3QuY29uZmlnLm1lc3NhZ2UpXCI+PC9wPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3Y28tdG9hc3RfX2FjdGlvbnNcIiAqbmdJZj1cInRvYXN0LmNvbmZpZy5hY3Rpb25zICYmIHRvYXN0LmNvbmZpZy5hY3Rpb25zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgdG9hc3QuY29uZmlnLmFjdGlvbnNcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImdldEJ1dHRvbkNsYXNzKGFjdGlvbilcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5hY3Rpb24oKTsgZGlzbWlzcyh0b2FzdC5pZClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtcm91bmRcIiAqbmdJZj1cImFjdGlvbi5tYXRlcmlhbEljb25MZWZ0XCI+e3sgYWN0aW9uLm1hdGVyaWFsSWNvbkxlZnQgfX08L3NwYW4+XG4gICAgICAgICAgICB7eyBhY3Rpb24udGV4dCB9fVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1yb3VuZFwiICpuZ0lmPVwiYWN0aW9uLm1hdGVyaWFsSWNvblJpZ2h0XCI+e3sgYWN0aW9uLm1hdGVyaWFsSWNvblJpZ2h0IH19PC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiBjbGFzcz1cIndjby10b2FzdF9fY2xvc2VcIiAqbmdJZj1cInRvYXN0LmNvbmZpZy5jbG9zZSAhPT0gZmFsc2VcIiAoY2xpY2spPVwiZGlzbWlzcyh0b2FzdC5pZClcIiBhcmlhLWxhYmVsPVwiRmVjaGFyXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+Y2xvc2U8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICBcbjwvZGlhbG9nPlxuIl19
@@ -0,0 +1,34 @@
1
+ import { ApplicationRef, createComponent, EnvironmentInjector, inject, Injectable, } from '@angular/core';
2
+ import { WcoToastComponent } from './toast.component';
3
+ import * as i0 from "@angular/core";
4
+ export class WcoToastService {
5
+ appRef = inject(ApplicationRef);
6
+ injector = inject(EnvironmentInjector);
7
+ componentRef = null;
8
+ get instance() {
9
+ if (!this.componentRef) {
10
+ this.componentRef = createComponent(WcoToastComponent, {
11
+ environmentInjector: this.injector,
12
+ });
13
+ this.appRef.attachView(this.componentRef.hostView);
14
+ document.body.appendChild(this.componentRef.location.nativeElement);
15
+ }
16
+ return this.componentRef.instance;
17
+ }
18
+ show(config) {
19
+ if (config.position) {
20
+ this.instance.position = config.position;
21
+ }
22
+ return this.instance.add(config);
23
+ }
24
+ dismiss(id) {
25
+ this.componentRef?.instance.dismiss(id);
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WcoToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WcoToastService, providedIn: 'root' });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WcoToastService, decorators: [{
31
+ type: Injectable,
32
+ args: [{ providedIn: 'root' }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9saWIvdG9hc3QvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUVkLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFJdEQsTUFBTSxPQUFPLGVBQWU7SUFDbEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoQyxRQUFRLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFdkMsWUFBWSxHQUEyQyxJQUFJLENBQUM7SUFFcEUsSUFBWSxRQUFRO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxlQUFlLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3JELG1CQUFtQixFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ25DLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFzQjtRQUN6QixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQzNDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVTtRQUNoQixJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQzt3R0E1QlUsZUFBZTs0R0FBZixlQUFlLGNBREYsTUFBTTs7NEZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudFJlZixcbiAgY3JlYXRlQ29tcG9uZW50LFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBpbmplY3QsXG4gIEluamVjdGFibGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2NvVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXY29Ub2FzdENvbmZpZyB9IGZyb20gJy4vdG9hc3QudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFdjb1RvYXN0U2VydmljZSB7XG4gIHByaXZhdGUgYXBwUmVmID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcbiAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKTtcblxuICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFdjb1RvYXN0Q29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgZ2V0IGluc3RhbmNlKCk6IFdjb1RvYXN0Q29tcG9uZW50IHtcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudChXY29Ub2FzdENvbXBvbmVudCwge1xuICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmluamVjdG9yLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gIH1cblxuICBzaG93KGNvbmZpZzogV2NvVG9hc3RDb25maWcpOiBzdHJpbmcge1xuICAgIGlmIChjb25maWcucG9zaXRpb24pIHtcbiAgICAgIHRoaXMuaW5zdGFuY2UucG9zaXRpb24gPSBjb25maWcucG9zaXRpb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmluc3RhbmNlLmFkZChjb25maWcpO1xuICB9XG5cbiAgZGlzbWlzcyhpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRSZWY/Lmluc3RhbmNlLmRpc21pc3MoaWQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3RvYXN0L3RvYXN0LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFdjb1RvYXN0Q29uZmlnQWN0aW9uc1R5cGVzIHtcbiAgZXh0cmFDbGFzc2U/OiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgbWF0ZXJpYWxJY29uTGVmdD86IHN0cmluZztcbiAgbWF0ZXJpYWxJY29uUmlnaHQ/OiBzdHJpbmc7XG4gIGFjdGlvbjogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXY29Ub2FzdENvbmZpZyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGlwbyBkbyB0b2FzdCAoZXJyb3IsIHdhcm5pbmcsIHN1Y2Nlc3MsIGluZm8pXG4gICAqL1xuICB0eXBlPzogJ2Vycm9yJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICdsb2FkaW5nJztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBNb3N0cmFyIG91IG7Do28gbyDDrWNvbmVcbiAgICovXG4gIHNob3dJY29uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiDDjWNvbmUgTWF0ZXJpYWwgY3VzdG9taXphZG9cbiAgICovXG4gIG1hdGVyaWFsSWNvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUw610dWxvIGRvIHRvYXN0IChhY2VpdGEgSFRNTClcbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE1lbnNhZ2VtIGRvIHRvYXN0IChhY2VpdGEgSFRNTClcbiAgICovXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQcOnw7VlcyBkbyB0b2FzdFxuICAgKi9cbiAgYWN0aW9ucz86IFdjb1RvYXN0Q29uZmlnQWN0aW9uc1R5cGVzW107XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGVtcG8gZW0gbXMgcGFyYSBmZWNoYXIgYXV0b21hdGljYW1lbnRlLiAwID0gbsOjbyBmZWNoYSBhdXRvbWF0aWNhbWVudGUuXG4gICAqIEBkZWZhdWx0IDQwMDBcbiAgICovXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBvc2nDp8OjbyBkbyB0b2FzdCBuYSB0ZWxhXG4gICAqIEBkZWZhdWx0ICdib3R0b20tcmlnaHQnXG4gICAqL1xuICBwb3NpdGlvbj86ICd0b3AtcmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICdib3R0b20tcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICd0b3AtY2VudGVyJyB8ICdib3R0b20tY2VudGVyJztcblxuXG4gIC8qKiBcbiAgICogQGRlc2NyaXB0aW9uIFBlcm1pdGUgb2N1bGFyIG8gaWNvbmUgZGUgZmVjaGFyIGRvIHRvYXN0LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBjbG9zZT86IGJvb2xlYW47XG59XG4iXX0=
@@ -30,6 +30,10 @@ export * from './lib/modal-alert/modal-alert.types';
30
30
  // Table
31
31
  export * from './lib/table/table.component';
32
32
  export * from './lib/table/table.types';
33
+ // Toast
34
+ export * from './lib/toast/toast.component';
35
+ export * from './lib/toast/toast.service';
36
+ export * from './lib/toast/toast.types';
33
37
  // Sub Tabs
34
38
  export * from './lib/sub-tabs/sub-tabs.component';
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLG1CQUFtQjtBQUNuQixjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsOENBQThDLENBQUM7QUFFN0QsYUFBYTtBQUNiLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxZQUFZO0FBQ1osY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxTQUFTO0FBQ1QsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxlQUFlO0FBQ2YsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1EQUFtRCxDQUFDO0FBRWxFLFdBQVc7QUFDWCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGVBQWU7QUFDZixjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsUUFBUTtBQUNSLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxRQUFRO0FBQ1IsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLFdBQVc7QUFDWCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZmVuaXhkc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXAvc3RlcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyLWdyb3VwL3N0ZXBwZXItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC91cGxvYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC91cGxvYWQudHlwZXMnO1xuXG4vLyBtc2cgYm94IGZlZWRiYWNrXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tc2ctYm94LWZlZWRiYWNrL21zZy1ib3gtZmVlZGJhY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21zZy1ib3gtZmVlZGJhY2svbXNnLWJveC1mZWViYWNrLnR5cGVzJztcblxuLy9tc2cgbmF2dGFic1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFicy90YWJzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL3RhYnMudHlwZXMnO1xuXG4vL1BhZ2luYXRpb25cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuXG4vLyBBdmF0YXJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudCc7XG5cbi8vIFNtYXJ0IFNlbGVjdFxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc2VsZWN0L3NtYXJ0LXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc2VsZWN0L3NtYXJ0LXNlbGVjdC1vcHRpb25zLmNvbXBvbmVudCc7XG5cbi8vIFRpbWVsaW5lXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lbGluZS90aW1lbGluZS5jb21wb25lbnQnO1xuXG4vLyBQcmV2aWV3IEZpbGVcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByZXZpZXctZmlsZS9wcmV2aWV3LWZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByZXZpZXctZmlsZS9wcmV2aWV3LWZpbGUudHlwZXMnO1xuXG4vLyBNb2RhbFxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kYWwtYWxlcnQvbW9kYWwtYWxlcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsLWFsZXJ0L21vZGFsLWFsZXJ0LnR5cGVzJztcblxuLy8gVGFibGVcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS90YWJsZS50eXBlcyc7XG5cbi8vIFN1YiBUYWJzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdWItdGFicy9zdWItdGFicy5jb21wb25lbnQnO1xuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLG1CQUFtQjtBQUNuQixjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsOENBQThDLENBQUM7QUFFN0QsYUFBYTtBQUNiLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxZQUFZO0FBQ1osY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxTQUFTO0FBQ1QsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxlQUFlO0FBQ2YsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1EQUFtRCxDQUFDO0FBRWxFLFdBQVc7QUFDWCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGVBQWU7QUFDZixjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsUUFBUTtBQUNSLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxRQUFRO0FBQ1IsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLFFBQVE7QUFDUixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxXQUFXO0FBQ1gsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWZlbml4ZHNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwL3N0ZXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci1ncm91cC9zdGVwcGVyLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91cGxvYWQvdXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91cGxvYWQvdXBsb2FkLnR5cGVzJztcblxuLy8gbXNnIGJveCBmZWVkYmFja1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbXNnLWJveC1mZWVkYmFjay9tc2ctYm94LWZlZWRiYWNrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tc2ctYm94LWZlZWRiYWNrL21zZy1ib3gtZmVlYmFjay50eXBlcyc7XG5cbi8vbXNnIG5hdnRhYnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYnMvdGFicy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFicy90YWJzLnR5cGVzJztcblxuLy9QYWdpbmF0aW9uXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcblxuLy8gQXZhdGFyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91c2VyLWF2YXRhci91c2VyLWF2YXRhci5jb21wb25lbnQnO1xuXG4vLyBTbWFydCBTZWxlY3RcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LXNlbGVjdC9zbWFydC1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LXNlbGVjdC9zbWFydC1zZWxlY3Qtb3B0aW9ucy5jb21wb25lbnQnO1xuXG4vLyBUaW1lbGluZVxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50JztcblxuLy8gUHJldmlldyBGaWxlXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcmV2aWV3LWZpbGUvcHJldmlldy1maWxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcmV2aWV3LWZpbGUvcHJldmlldy1maWxlLnR5cGVzJztcblxuLy8gTW9kYWxcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsLWFsZXJ0L21vZGFsLWFsZXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RhbC1hbGVydC9tb2RhbC1hbGVydC50eXBlcyc7XG5cbi8vIFRhYmxlXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvdGFibGUudHlwZXMnO1xuXG4vLyBUb2FzdFxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9hc3QvdG9hc3QudHlwZXMnO1xuLy8gU3ViIFRhYnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N1Yi10YWJzL3N1Yi10YWJzLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { EventEmitter, Component, ViewEncapsulation, Input, Output, ContentChildren, ViewChild, HostListener, SkipSelf, ChangeDetectionStrategy, forwardRef, signal } from '@angular/core';
4
+ import { EventEmitter, Component, ViewEncapsulation, Input, Output, ContentChildren, ViewChild, HostListener, SkipSelf, ChangeDetectionStrategy, forwardRef, signal, inject, ApplicationRef, EnvironmentInjector, createComponent, Injectable } from '@angular/core';
5
5
  import * as i1$1 from '@angular/common/http';
6
6
  import { HttpEventType, HttpClientModule } from '@angular/common/http';
7
7
  import * as i1$2 from '@angular/router';
@@ -2187,6 +2187,120 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2187
2187
  args: ['table']
2188
2188
  }] } });
2189
2189
 
2190
+ class WcoToastComponent {
2191
+ sanitizer;
2192
+ position = 'bottom-right';
2193
+ configManual;
2194
+ toasts = [];
2195
+ constructor(sanitizer) {
2196
+ this.sanitizer = sanitizer;
2197
+ }
2198
+ ngOnInit() { }
2199
+ ngOnDestroy() {
2200
+ this.toasts.forEach((t) => {
2201
+ if (t.timer)
2202
+ clearTimeout(t.timer);
2203
+ });
2204
+ }
2205
+ add(config) {
2206
+ const id = 'wco-toast-' + Math.random().toString(36).substring(7);
2207
+ const duration = config.duration ?? 4000;
2208
+ const item = {
2209
+ id,
2210
+ config: { showIcon: true, type: 'info', ...config },
2211
+ visible: true,
2212
+ };
2213
+ this.toasts.push(item);
2214
+ setTimeout(() => {
2215
+ const el = document.getElementById(id);
2216
+ if (el && el.offsetHeight > 55)
2217
+ item.tall = true;
2218
+ }, 50);
2219
+ if (duration > 0) {
2220
+ item.timer = setTimeout(() => this.dismiss(id), duration);
2221
+ }
2222
+ return id;
2223
+ }
2224
+ dismiss(id) {
2225
+ const item = this.toasts.find((t) => t.id === id);
2226
+ if (!item)
2227
+ return;
2228
+ if (item.timer)
2229
+ clearTimeout(item.timer);
2230
+ item.visible = false;
2231
+ setTimeout(() => {
2232
+ this.toasts = this.toasts.filter((t) => t.id !== id);
2233
+ }, 300);
2234
+ }
2235
+ getSafeHtml(value) {
2236
+ return this.sanitizer.bypassSecurityTrustHtml(value || '');
2237
+ }
2238
+ getIconMaterial(config) {
2239
+ switch (config.type) {
2240
+ case 'error':
2241
+ return { icon: 'error_outline', color: 'error' };
2242
+ case 'warning':
2243
+ return { icon: 'warning_amber', color: 'warning' };
2244
+ case 'success':
2245
+ return { icon: 'check_circle_outline', color: 'success' };
2246
+ case 'loading':
2247
+ return { icon: 'autorenew', color: 'loading' };
2248
+ default:
2249
+ return { icon: 'info', color: 'info' };
2250
+ }
2251
+ }
2252
+ getButtonClass(action) {
2253
+ const extraClasse = action.extraClasse ?? 'wco-btn btn-sm btn-outline btn-link wco-toast-btn';
2254
+ return `${extraClasse}`.trim();
2255
+ }
2256
+ trackById(_, item) {
2257
+ return item.id;
2258
+ }
2259
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WcoToastComponent, deps: [{ token: i1$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
2260
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WcoToastComponent, isStandalone: true, selector: "wco-toast", inputs: { position: "position", configManual: "configManual", toasts: "toasts" }, ngImport: i0, template: "<dialog open class=\"wco-toast-container\" [class]=\"'wco-toast-container--' + position\">\n <span class=\"wco-toast__hover-zone\"></span>\n <div\n *ngFor=\"let toast of toasts; trackBy: trackById;let i = index\"\n class=\"wco-toast\"\n [id]=\"toast.id\"\n [class.wco-toast--visible]=\"toast.visible\"\n [class.wco-toast--start]=\"toast.tall\"\n [attr.data-position]=\"i\"\n [class]=\"'wco-toast wco-toast--mini wco-toast--' + getIconMaterial(toast.config).color + (toast.visible ? ' wco-toast--visible' : '')\"\n >\n <div class=\"wco-toast__body\">\n <ng-container *ngIf=\"toast.config.showIcon\">\n <span class=\"wco-toast__icon material-icons-round\">\n <ng-container *ngIf=\"toast.config.materialIcon; else defaultIcon\">\n {{ toast.config.materialIcon }}\n </ng-container>\n <ng-template #defaultIcon>\n {{ getIconMaterial(toast.config).icon }}\n </ng-template>\n </span>\n </ng-container>\n\n <div class=\"wco-toast__content\">\n <span>\n <p class=\"wco-toast__title\" *ngIf=\"toast.config.title\" [innerHTML]=\"getSafeHtml(toast.config.title)\"></p>\n <p class=\"wco-toast__message\" *ngIf=\"toast.config.message && toast.config.message.length \" [innerHTML]=\"getSafeHtml(toast.config.message)\"></p>\n </span>\n <div class=\"wco-toast__actions\" *ngIf=\"toast.config.actions && toast.config.actions.length > 0\">\n <button\n type=\"button\"\n *ngFor=\"let action of toast.config.actions\"\n [class]=\"getButtonClass(action)\"\n (click)=\"action.action(); dismiss(toast.id)\"\n >\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconLeft\">{{ action.materialIconLeft }}</span>\n {{ action.text }}\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconRight\">{{ action.materialIconRight }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <button class=\"wco-toast__close\" *ngIf=\"toast.config.close !== false\" (click)=\"dismiss(toast.id)\" aria-label=\"Fechar\">\n <span class=\"material-icons\">close</span>\n </button>\n </div>\n \n</dialog>\n", styles: ["@layer state{.wco-toast-container{--wco-toast-padding: var(--wco-spacing-nano, 8px);--wco-toast-gap: var(--wco-spacing-nano, 8px);--wco-toast-radius: var(--wco-radius-md, 8px);--wco-toast-w-clamp: clamp(250px, 280px, 420px);--wco-toast-bg: var(--wco-color-panel) }}.wco-toast-container{margin:0;padding:0;border:none;background:transparent;max-width:none;max-height:none;overflow:visible;top:unset;right:unset;bottom:unset;left:unset;transition:all .1s linear .3s;opacity:1;transform:translateY(0);position:fixed;z-index:9999;display:flex;flex-direction:column;gap:var(--wco-spacing-xs);pointer-events:none}@starting-style{.wco-toast-container{opacity:0;transform:scaleY(12px)}}.wco-toast-container:has(.wco-toast-btn){--wco-toast-align-flex: flex- --wc-toast-align-direction: }.wco-toast-container::backdrop{display:none}.wco-toast-container--top-right{top:var(--wco-spacing-md);right:var(--wco-spacing-md);align-items:flex-end}.wco-toast-container--top-left{top:var(--wco-spacing-md);left:var(--wco-spacing-md);align-items:flex-start}.wco-toast-container--bottom-right{bottom:var(--wco-spacing-md);right:var(--wco-spacing-md);align-items:flex-end}.wco-toast-container--bottom-left{bottom:var(--wco-spacing-md);left:var(--wco-spacing-md);align-items:flex-start}.wco-toast-container--top-center{top:var(--wco-spacing-md);left:50%;transform:translate(-50%);align-items:center}.wco-toast-container--bottom-center{bottom:var(--wco-spacing-md);left:50%;transform:translate(-50%);align-items:center}@media (max-width: 600px){.wco-toast-container--top-right,.wco-toast-container--top-left,.wco-toast-container--top-center,.wco-toast-container--bottom-right,.wco-toast-container--bottom-left,.wco-toast-container--bottom-center{top:unset;right:unset;left:50%;bottom:var(--wco-spacing-xxs);transform:translate(-50%);align-items:center;width:calc(100vw - var(--wco-spacing-xxxs))}.wco-toast-container--top-right .wco-toast,.wco-toast-container--top-left .wco-toast,.wco-toast-container--top-center .wco-toast,.wco-toast-container--bottom-right .wco-toast,.wco-toast-container--bottom-left .wco-toast,.wco-toast-container--bottom-center .wco-toast{width:100%}}.wco-toast{pointer-events:all;display:flex;align-items:center;gap:var(--wco-toast-gap, 8px);width:var(--wco-toast-w-clamp, 250px);padding:var(--wco-toast-padding, 8px);border-radius:var(--wco-toast-radius, 8px);background:var(--wco-toast-bg, #fff);box-shadow:var(--wco-shadow-level-1);opacity:0;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease}.wco-toast.wco-toast--start{align-items:flex-start}.wco-toast.wco-toast--start:has(.btn-link) .wco-toast__close{margin-top:var(--wco-spacing-nano)}.wco-toast.wco-toast--start>.wco-toast__body,.wco-toast.wco-toast--start .wco-toast__content{align-items:flex-start}.wco-toast:has(.wco-toast__message) .wco-toast__title{font-weight:600}.wco-toast.wco-toast--mini{--wco-toast-w-clamp: fit-content;max-width:570px}.wco-toast--visible{opacity:1;transform:translateY(0)}.wco-toast--info{--wco-toast-color-type: var(--wco-color-info-600)}.wco-toast--success{--wco-toast-color-type: var(--wco-color-success-600)}.wco-toast--warning{--wco-toast-color-type: var(--wco-color-warning-600)}.wco-toast--error{--wco-toast-color-type: var(--wco-color-danger-600)}.wco-toast--loading{--wco-toast-color-type: var(--wco-color-secondary-600)}.wco-toast--loading .wco-toast__icon{animation:wco-toast-spin 1s linear infinite}@keyframes wco-toast-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wco-toast__body{display:flex;align-items:center;gap:var(--wco-toast-gap, 8px);flex:1;min-width:0}.wco-toast__icon{font-size:var(--wco-iconography-size-xs);color:var(--wco-toast-color-type);flex-shrink:0;margin-top:0}.wco-toast__content{display:flex;flex-direction:row;align-items:center;gap:var(--wco-toast-gap, 8px);flex:1;min-width:0}.wco-toast__title{font-size:var(--wco-font-size-xs, 14px);font-weight:300;color:var(--wco-color-neutral-900);line-height:1.4;margin:0}.wco-toast__message{font-size:var(--wco-font-size-xxs, 12px);font-weight:400;color:var(--wco-color-neutral-700);line-height:1.5;margin:0}.wco-toast__actions{display:flex;flex-wrap:wrap;gap:var(--wco-spacing-nano)}.wco-toast__close{background:none;border:none;cursor:pointer;padding:0;color:var(--wco-color-neutral-500);display:flex;align-items:center;flex-shrink:0;line-height:1}.wco-toast__close span{font-size:18px}.wco-toast__close:hover{color:var(--wco-color-neutral-900)}.wco-toast-container .wco-toast__hover-zone{position:absolute;inset:-16px;pointer-events:auto;z-index:0}.wco-toast-container .wco-toast{position:relative;z-index:1;transition:transform .2s ease,opacity .2s ease,top .2s ease}@starting-style{.wco-toast-container .wco-toast{transform:translateY(24px)}}.wco-toast-container:not(:hover) .wco-toast:not(:last-child){position:absolute;box-shadow:none;width:100%;height:50px;overflow:hidden;transform:scale(.95)}.wco-toast-container:not(:hover) .wco-toast:not(:last-child)>*{opacity:0;transition:opacity .15s ease}.wco-toast-container:not(:hover) .wco-toast:nth-last-child(2){top:-10px;transform:scale(.95);box-shadow:var(--wco-shadow-level-3)}.wco-toast-container:not(:hover) .wco-toast:nth-last-child(3){top:-20px;transform:scale(.85);box-shadow:var(--wco-shadow-level-2)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2261
+ }
2262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WcoToastComponent, decorators: [{
2263
+ type: Component,
2264
+ args: [{ selector: 'wco-toast', standalone: true, imports: [CommonModule], template: "<dialog open class=\"wco-toast-container\" [class]=\"'wco-toast-container--' + position\">\n <span class=\"wco-toast__hover-zone\"></span>\n <div\n *ngFor=\"let toast of toasts; trackBy: trackById;let i = index\"\n class=\"wco-toast\"\n [id]=\"toast.id\"\n [class.wco-toast--visible]=\"toast.visible\"\n [class.wco-toast--start]=\"toast.tall\"\n [attr.data-position]=\"i\"\n [class]=\"'wco-toast wco-toast--mini wco-toast--' + getIconMaterial(toast.config).color + (toast.visible ? ' wco-toast--visible' : '')\"\n >\n <div class=\"wco-toast__body\">\n <ng-container *ngIf=\"toast.config.showIcon\">\n <span class=\"wco-toast__icon material-icons-round\">\n <ng-container *ngIf=\"toast.config.materialIcon; else defaultIcon\">\n {{ toast.config.materialIcon }}\n </ng-container>\n <ng-template #defaultIcon>\n {{ getIconMaterial(toast.config).icon }}\n </ng-template>\n </span>\n </ng-container>\n\n <div class=\"wco-toast__content\">\n <span>\n <p class=\"wco-toast__title\" *ngIf=\"toast.config.title\" [innerHTML]=\"getSafeHtml(toast.config.title)\"></p>\n <p class=\"wco-toast__message\" *ngIf=\"toast.config.message && toast.config.message.length \" [innerHTML]=\"getSafeHtml(toast.config.message)\"></p>\n </span>\n <div class=\"wco-toast__actions\" *ngIf=\"toast.config.actions && toast.config.actions.length > 0\">\n <button\n type=\"button\"\n *ngFor=\"let action of toast.config.actions\"\n [class]=\"getButtonClass(action)\"\n (click)=\"action.action(); dismiss(toast.id)\"\n >\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconLeft\">{{ action.materialIconLeft }}</span>\n {{ action.text }}\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconRight\">{{ action.materialIconRight }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <button class=\"wco-toast__close\" *ngIf=\"toast.config.close !== false\" (click)=\"dismiss(toast.id)\" aria-label=\"Fechar\">\n <span class=\"material-icons\">close</span>\n </button>\n </div>\n \n</dialog>\n", styles: ["@layer state{.wco-toast-container{--wco-toast-padding: var(--wco-spacing-nano, 8px);--wco-toast-gap: var(--wco-spacing-nano, 8px);--wco-toast-radius: var(--wco-radius-md, 8px);--wco-toast-w-clamp: clamp(250px, 280px, 420px);--wco-toast-bg: var(--wco-color-panel) }}.wco-toast-container{margin:0;padding:0;border:none;background:transparent;max-width:none;max-height:none;overflow:visible;top:unset;right:unset;bottom:unset;left:unset;transition:all .1s linear .3s;opacity:1;transform:translateY(0);position:fixed;z-index:9999;display:flex;flex-direction:column;gap:var(--wco-spacing-xs);pointer-events:none}@starting-style{.wco-toast-container{opacity:0;transform:scaleY(12px)}}.wco-toast-container:has(.wco-toast-btn){--wco-toast-align-flex: flex- --wc-toast-align-direction: }.wco-toast-container::backdrop{display:none}.wco-toast-container--top-right{top:var(--wco-spacing-md);right:var(--wco-spacing-md);align-items:flex-end}.wco-toast-container--top-left{top:var(--wco-spacing-md);left:var(--wco-spacing-md);align-items:flex-start}.wco-toast-container--bottom-right{bottom:var(--wco-spacing-md);right:var(--wco-spacing-md);align-items:flex-end}.wco-toast-container--bottom-left{bottom:var(--wco-spacing-md);left:var(--wco-spacing-md);align-items:flex-start}.wco-toast-container--top-center{top:var(--wco-spacing-md);left:50%;transform:translate(-50%);align-items:center}.wco-toast-container--bottom-center{bottom:var(--wco-spacing-md);left:50%;transform:translate(-50%);align-items:center}@media (max-width: 600px){.wco-toast-container--top-right,.wco-toast-container--top-left,.wco-toast-container--top-center,.wco-toast-container--bottom-right,.wco-toast-container--bottom-left,.wco-toast-container--bottom-center{top:unset;right:unset;left:50%;bottom:var(--wco-spacing-xxs);transform:translate(-50%);align-items:center;width:calc(100vw - var(--wco-spacing-xxxs))}.wco-toast-container--top-right .wco-toast,.wco-toast-container--top-left .wco-toast,.wco-toast-container--top-center .wco-toast,.wco-toast-container--bottom-right .wco-toast,.wco-toast-container--bottom-left .wco-toast,.wco-toast-container--bottom-center .wco-toast{width:100%}}.wco-toast{pointer-events:all;display:flex;align-items:center;gap:var(--wco-toast-gap, 8px);width:var(--wco-toast-w-clamp, 250px);padding:var(--wco-toast-padding, 8px);border-radius:var(--wco-toast-radius, 8px);background:var(--wco-toast-bg, #fff);box-shadow:var(--wco-shadow-level-1);opacity:0;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease}.wco-toast.wco-toast--start{align-items:flex-start}.wco-toast.wco-toast--start:has(.btn-link) .wco-toast__close{margin-top:var(--wco-spacing-nano)}.wco-toast.wco-toast--start>.wco-toast__body,.wco-toast.wco-toast--start .wco-toast__content{align-items:flex-start}.wco-toast:has(.wco-toast__message) .wco-toast__title{font-weight:600}.wco-toast.wco-toast--mini{--wco-toast-w-clamp: fit-content;max-width:570px}.wco-toast--visible{opacity:1;transform:translateY(0)}.wco-toast--info{--wco-toast-color-type: var(--wco-color-info-600)}.wco-toast--success{--wco-toast-color-type: var(--wco-color-success-600)}.wco-toast--warning{--wco-toast-color-type: var(--wco-color-warning-600)}.wco-toast--error{--wco-toast-color-type: var(--wco-color-danger-600)}.wco-toast--loading{--wco-toast-color-type: var(--wco-color-secondary-600)}.wco-toast--loading .wco-toast__icon{animation:wco-toast-spin 1s linear infinite}@keyframes wco-toast-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wco-toast__body{display:flex;align-items:center;gap:var(--wco-toast-gap, 8px);flex:1;min-width:0}.wco-toast__icon{font-size:var(--wco-iconography-size-xs);color:var(--wco-toast-color-type);flex-shrink:0;margin-top:0}.wco-toast__content{display:flex;flex-direction:row;align-items:center;gap:var(--wco-toast-gap, 8px);flex:1;min-width:0}.wco-toast__title{font-size:var(--wco-font-size-xs, 14px);font-weight:300;color:var(--wco-color-neutral-900);line-height:1.4;margin:0}.wco-toast__message{font-size:var(--wco-font-size-xxs, 12px);font-weight:400;color:var(--wco-color-neutral-700);line-height:1.5;margin:0}.wco-toast__actions{display:flex;flex-wrap:wrap;gap:var(--wco-spacing-nano)}.wco-toast__close{background:none;border:none;cursor:pointer;padding:0;color:var(--wco-color-neutral-500);display:flex;align-items:center;flex-shrink:0;line-height:1}.wco-toast__close span{font-size:18px}.wco-toast__close:hover{color:var(--wco-color-neutral-900)}.wco-toast-container .wco-toast__hover-zone{position:absolute;inset:-16px;pointer-events:auto;z-index:0}.wco-toast-container .wco-toast{position:relative;z-index:1;transition:transform .2s ease,opacity .2s ease,top .2s ease}@starting-style{.wco-toast-container .wco-toast{transform:translateY(24px)}}.wco-toast-container:not(:hover) .wco-toast:not(:last-child){position:absolute;box-shadow:none;width:100%;height:50px;overflow:hidden;transform:scale(.95)}.wco-toast-container:not(:hover) .wco-toast:not(:last-child)>*{opacity:0;transition:opacity .15s ease}.wco-toast-container:not(:hover) .wco-toast:nth-last-child(2){top:-10px;transform:scale(.95);box-shadow:var(--wco-shadow-level-3)}.wco-toast-container:not(:hover) .wco-toast:nth-last-child(3){top:-20px;transform:scale(.85);box-shadow:var(--wco-shadow-level-2)}\n"] }]
2265
+ }], ctorParameters: () => [{ type: i1$3.DomSanitizer }], propDecorators: { position: [{
2266
+ type: Input
2267
+ }], configManual: [{
2268
+ type: Input
2269
+ }], toasts: [{
2270
+ type: Input
2271
+ }] } });
2272
+
2273
+ class WcoToastService {
2274
+ appRef = inject(ApplicationRef);
2275
+ injector = inject(EnvironmentInjector);
2276
+ componentRef = null;
2277
+ get instance() {
2278
+ if (!this.componentRef) {
2279
+ this.componentRef = createComponent(WcoToastComponent, {
2280
+ environmentInjector: this.injector,
2281
+ });
2282
+ this.appRef.attachView(this.componentRef.hostView);
2283
+ document.body.appendChild(this.componentRef.location.nativeElement);
2284
+ }
2285
+ return this.componentRef.instance;
2286
+ }
2287
+ show(config) {
2288
+ if (config.position) {
2289
+ this.instance.position = config.position;
2290
+ }
2291
+ return this.instance.add(config);
2292
+ }
2293
+ dismiss(id) {
2294
+ this.componentRef?.instance.dismiss(id);
2295
+ }
2296
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WcoToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2297
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WcoToastService, providedIn: 'root' });
2298
+ }
2299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WcoToastService, decorators: [{
2300
+ type: Injectable,
2301
+ args: [{ providedIn: 'root' }]
2302
+ }] });
2303
+
2190
2304
  class SubTabsComponent {
2191
2305
  el;
2192
2306
  selectedIndex = 0;
@@ -2302,5 +2416,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2302
2416
  * Generated bundle index. Do not edit.
2303
2417
  */
2304
2418
 
2305
- export { MsgBoxFeedbackComponent, PaginationComponent, PreviewFileComponent, SmartSelectComponent, SmartSelectOptionComponent, StepComponent, StepperComponent, StepperGroupComponent, SubTabsComponent, TableComponent, TabsComponent, TimelineComponent, UploadComponent, UserAvatarComponent, WcoModalAlertComponent };
2419
+ export { MsgBoxFeedbackComponent, PaginationComponent, PreviewFileComponent, SmartSelectComponent, SmartSelectOptionComponent, StepComponent, StepperComponent, StepperGroupComponent, SubTabsComponent, TableComponent, TabsComponent, TimelineComponent, UploadComponent, UserAvatarComponent, WcoModalAlertComponent, WcoToastComponent, WcoToastService };
2306
2420
  //# sourceMappingURL=wizco-fenixds-ngx.mjs.map