{ "version": 3, "sources": ["libs/angular/ng-toast/src/lib/toast.service.ts"], "sourcesContent": ["import { Injectable } from '@angular/core';\nimport { combineLatest, interval, map, ReplaySubject, switchMap } from 'rxjs';\n\ntype severity = 'error' | 'warning' | 'info' | 'success';\n\ninterface ToastMessage {\n message: string;\n showForMs: number;\n severity?: severity;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ItkToastService {\n private readonly toastSource = new ReplaySubject(1);\n public readonly message$ = this.toastSource.pipe(map((m) => m.message));\n public readonly severity$ = this.toastSource.pipe(\n map((m) => {\n switch (m.severity) {\n case 'error':\n return 'bg-red-500';\n case 'warning':\n return 'bg-yellow-500';\n case 'info':\n return 'bg-blue-500';\n case 'success':\n return 'bg-green-500';\n default:\n return '';\n }\n }),\n );\n\n public readonly show$ = this.toastSource.pipe(\n switchMap((toast) => interval(100).pipe(map((x) => x <= toast.showForMs))),\n );\n\n public readonly vm$ = combineLatest({\n show: this.show$,\n severity: this.severity$,\n message: this.message$,\n });\n\n displayToast(message: string, severity: severity): void {\n this.toastSource.next({ message, showForMs: 25, severity: severity });\n }\n\n clearToast(): void {\n this.toastSource.next({ message: '', showForMs: 0 });\n }\n}\n"], "mappings": "sEAYA,IAAaA,GAAe,IAAA,CAAtB,IAAOA,EAAP,MAAOA,CAAe,CAD5BC,aAAA,CAEmB,KAAAC,YAAc,IAAIC,EAA4B,CAAC,EAChD,KAAAC,SAAW,KAAKF,YAAYG,KAAKC,EAAKC,GAAMA,EAAEC,OAAO,CAAC,EACtD,KAAAC,UAAY,KAAKP,YAAYG,KAC3CC,EAAKC,GAAK,CACR,OAAQA,EAAEG,SAAQ,CAChB,IAAK,QACH,MAAO,aACT,IAAK,UACH,MAAO,gBACT,IAAK,OACH,MAAO,cACT,IAAK,UACH,MAAO,eACT,QACE,MAAO,EACX,CACF,CAAC,CAAC,EAGY,KAAAC,MAAQ,KAAKT,YAAYG,KACvCO,EAAWC,GAAUC,EAAS,GAAG,EAAET,KAAKC,EAAKS,GAAMA,GAAKF,EAAMG,SAAS,CAAC,CAAC,CAAC,EAG5D,KAAAC,IAAMC,EAAc,CAClCC,KAAM,KAAKR,MACXD,SAAU,KAAKD,UACfD,QAAS,KAAKJ,SACf,EAEDgB,aAAaZ,EAAiBE,EAAkB,CAC9C,KAAKR,YAAYmB,KAAK,CAAEb,QAAAA,EAASQ,UAAW,GAAIN,SAAUA,CAAQ,CAAE,CACtE,CAEAY,YAAU,CACR,KAAKpB,YAAYmB,KAAK,CAAEb,QAAS,GAAIQ,UAAW,CAAC,CAAE,CACrD,yCApCWhB,EAAe,wBAAfA,EAAeuB,QAAfvB,EAAewB,UAAAC,WADF,MAAM,CAAA,EAC1B,IAAOzB,EAAP0B,SAAO1B,CAAe,GAAA", "names": ["ItkToastService", "constructor", "toastSource", "ReplaySubject", "message$", "pipe", "map", "m", "message", "severity$", "severity", "show$", "switchMap", "toast", "interval", "x", "showForMs", "vm$", "combineLatest", "show", "displayToast", "next", "clearToast", "factory", "\u0275fac", "providedIn", "_ItkToastService"] }