{"version":3,"file":"DluN2GP6.js","sources":["../../../../src/stores/useToastStore.ts"],"sourcesContent":["import StoreIds from './storeIds';\nimport { v4 as uuidv4 } from 'uuid';\n\nexport enum ToastStatus {\n SUCCESS = 'success',\n WARNING = 'warning',\n ERROR = 'error',\n}\n\nexport type TToastStatus =\n | ToastStatus.SUCCESS\n | ToastStatus.WARNING\n | ToastStatus.ERROR;\n\ninterface IToast {\n text: string;\n status: TToastStatus;\n id: string;\n}\ntype ToastPayload = { timeout?: number; text: string };\n\nconst defaultTimeout = 4000;\n\nconst createToast = (text: string, status: TToastStatus): IToast => ({\n text,\n status,\n id: uuidv4(),\n});\n\nexport const useToastStore = defineStore(StoreIds.TOAST, {\n state: (): { toasts: IToast[] } => ({\n toasts: [],\n }),\n actions: {\n updateState(payload: ToastPayload, status: TToastStatus) {\n const { text, timeout } = payload;\n\n const toast = createToast(text, status);\n\n this.toasts.push(toast);\n\n setTimeout(() => {\n this.toasts = this.toasts.filter((t) => t.id !== toast.id);\n }, timeout ?? defaultTimeout);\n },\n success(payload: ToastPayload) {\n this.updateState(payload, ToastStatus.SUCCESS);\n },\n\n warning(payload: ToastPayload) {\n this.updateState(payload, ToastStatus.WARNING);\n },\n\n error(payload: ToastPayload) {\n this.updateState(payload, ToastStatus.ERROR);\n },\n },\n});\n"],"names":["defaultTimeout","createToast","text","status","uuidv4","useToastStore","defineStore","StoreIds","payload","timeout","toast","t"],"mappings":"mDAqBA,MAAMA,EAAiB,IAEjBC,EAAc,CAACC,EAAcC,KAAkC,CACnE,KAAAD,EACA,OAAAC,EACA,GAAIC,EAAO,CACb,GAEaC,EAAgBC,EAAYC,EAAS,MAAO,CACvD,MAAO,KAA6B,CAClC,OAAQ,CAAC,CAAA,GAEX,QAAS,CACP,YAAYC,EAAuBL,EAAsB,CACjD,KAAA,CAAE,KAAAD,EAAM,QAAAO,CAAY,EAAAD,EAEpBE,EAAQT,EAAYC,EAAMC,CAAM,EAEjC,KAAA,OAAO,KAAKO,CAAK,EAEtB,WAAW,IAAM,CACV,KAAA,OAAS,KAAK,OAAO,OAAQC,GAAMA,EAAE,KAAOD,EAAM,EAAE,CAAA,EACxDD,GAAWT,CAAc,CAC9B,EACA,QAAQQ,EAAuB,CACxB,KAAA,YAAYA,EAAS,UAC5B,EAEA,QAAQA,EAAuB,CACxB,KAAA,YAAYA,EAAS,UAC5B,EAEA,MAAMA,EAAuB,CACtB,KAAA,YAAYA,EAAS,QAC5B,CACF,CACF,CAAC"}