{"version":3,"file":"takkion-components-toast.mjs","sources":["../../../libraries/components/toast/toast.service.ts","../../../libraries/components/toast/index.ts","../../../libraries/components/toast/takkion-components-toast.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n  MatSnackBar,\n  MatSnackBarHorizontalPosition,\n  MatSnackBarVerticalPosition,\n} from '@takkion/material/snack-bar';\n\nexport type TakToastType = 'notification' | 'danger' | 'success';\n\nexport interface TakToastConfig {\n  hasDissmissButton?: boolean;\n  dissmissButtonMessage?: string;\n  horizontalPosition?: MatSnackBarHorizontalPosition;\n  verticalPosition?: MatSnackBarVerticalPosition;\n  duration?: number;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class TakToast {\n  constructor(private _snackBar: MatSnackBar) {}\n\n  public notification(message: string, payload: TakToastConfig = {}): void {\n    this._generateTakToast(message, 'notification', this._managePayload(payload));\n  }\n\n  public success(message: string, payload: TakToastConfig = {}): void {\n    this._generateTakToast(message, 'success', this._managePayload(payload));\n  }\n  public danger(message: string, payload: TakToastConfig = {}): void {\n    this._generateTakToast(message, 'danger', this._managePayload(payload));\n  }\n\n  private _generateTakToast(message: string, type: TakToastType, payload: TakToastConfig) {\n    const {\n      duration,\n      verticalPosition,\n      horizontalPosition,\n      hasDissmissButton,\n      dissmissButtonMessage,\n    } = payload;\n\n    this._snackBar.open(message, `${hasDissmissButton ? dissmissButtonMessage : ''}`, {\n      duration,\n      verticalPosition,\n      horizontalPosition,\n      panelClass: `tak-snackbar-${type}`,\n    });\n  }\n\n  private _managePayload(payload: TakToastConfig): TakToastConfig {\n    return {\n      hasDissmissButton: payload.hasDissmissButton || true,\n      duration: payload.duration || 5000,\n      dissmissButtonMessage: payload.dissmissButtonMessage || 'Cerrar',\n      horizontalPosition: payload.horizontalPosition || 'center',\n      verticalPosition: payload.verticalPosition || 'bottom',\n    };\n  }\n}\n","/*\n * Public API Surface of @takkion/components/toast\n */\nexport * from './toast.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAkBa,QAAQ,CAAA;AACnB,IAAA,WAAA,CAAoB,SAAsB,EAAA;QAAtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAa;KAAI;AAEvC,IAAA,YAAY,CAAC,OAAe,EAAE,OAAA,GAA0B,EAAE,EAAA;AAC/D,QAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/E;AAEM,IAAA,OAAO,CAAC,OAAe,EAAE,OAAA,GAA0B,EAAE,EAAA;AAC1D,QAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1E;AACM,IAAA,MAAM,CAAC,OAAe,EAAE,OAAA,GAA0B,EAAE,EAAA;AACzD,QAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;KACzE;AAEO,IAAA,iBAAiB,CAAC,OAAe,EAAE,IAAkB,EAAE,OAAuB,EAAA;AACpF,QAAA,MAAM,EACJ,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,GAAG,OAAO,CAAC;AAEZ,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAG,EAAA,iBAAiB,GAAG,qBAAqB,GAAG,EAAE,EAAE,EAAE;YAChF,QAAQ;YACR,gBAAgB;YAChB,kBAAkB;YAClB,UAAU,EAAE,CAAgB,aAAA,EAAA,IAAI,CAAE,CAAA;AACnC,SAAA,CAAC,CAAC;KACJ;AAEO,IAAA,cAAc,CAAC,OAAuB,EAAA;QAC5C,OAAO;AACL,YAAA,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;AACpD,YAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;AAClC,YAAA,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,IAAI,QAAQ;AAChE,YAAA,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,QAAQ;AAC1D,YAAA,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,QAAQ;SACvD,CAAC;KACH;8GAvCU,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAR,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAQ,cADK,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,QAAQ,EAAA,UAAA,EAAA,CAAA;kBADpB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACjBlC;;AAEG;;ACFH;;AAEG;;;;"}