UNPKG

b-components-js

Version:

Generate Bootstrap components through JavaScript

8 lines (7 loc) 2.62 kB
/*! * b-components-js v0.0.2 * https://github.com/ZhangChengLin/b-components * Copyright (c) 2020 - 2022 MIT */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("bootstrap")):"function"==typeof define&&define.amd?define(["bootstrap"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).bToast=t(e.bootstrap)}(this,(function(e){"use strict";const t=e=>{if(null===e||(e=>"string"==typeof e&&""===e)(e))return"";const t=document.createElement("div"),a=document.createElement("strong");return t.className="toast-header",a.className="toast-title me-auto",e instanceof Function?a.append(e()):e instanceof HTMLElement?a.append(e):a.innerHTML=e,t.append(a,((e,t=!1)=>{const a=document.createElement("button");return a.className=t?"btn-close btn-close-white":"btn-close",a.type="button",a.dataset.bsDismiss=e,a.ariaLabel="Close",a})("toast")),t};return(a,n,s,o,r,d)=>{const i="toastId_"+Date.now().toString(),c=(e=>{const t=document.createElement("div");return t.className="position-relative",t.ariaLive=e??"polite",t.ariaAtomic="true",t})(),l=document.querySelector(".toast-container")??(e=>{const t=document.createElement("div");switch(e=e??"be"){case"ts":e="top-0 start-0";break;case"tc":e="top-0 start-50 translate-middle-x";break;case"te":e="top-0 end-0";break;case"ms":e="top-50 start-0 translate-middle-y";break;case"mc":e="top-50 start-50 translate-middle";break;case"me":e="top-50 end-0 translate-middle-y";break;case"bs":e="bottom-0 start-0";break;case"bc":e="bottom-0 start-50 translate-middle-x";break;case"be":e="bottom-0 end-0";break;default:throw"Placement error"}return t.className=`toast-container position-fixed ${e}`,t})(s),m=(e=>{const t=document.createElement("div");return t.className="toast",t.id=e,t.role="alert",t.ariaLive="assertive",t.ariaAtomic="true",t})(i),b=t(a),p=(e=>{const t=document.createElement("div");return t.className="toast-body",e instanceof Function?t.append(e()):e instanceof HTMLElement?t.append(e):t.innerHTML=e,t})(n);m.append(b,p),l.append(m),c.append(l),document.body.append(c),r&&d&&((e,t,a)=>{switch(t){case"show":e.addEventListener("show.bs.toast",(()=>a()));break;case"shown":e.addEventListener("shown.bs.toast",(()=>a()));break;case"hide":e.addEventListener("hide.bs.toast",(()=>a()));break;case"hidden":e.addEventListener("hidden.bs.toast",(()=>a()));break;default:throw"eventsType error"}})(m,r,d);return(o?new e.Toast(m,o):new e.Toast(m)).show(),(t=>{t.addEventListener("hidden.bs.toast",(()=>{e.Toast.getInstance(t).dispose(),setTimeout((()=>{t.remove()}),3e3)}))})(m),i}})); //# sourceMappingURL=bToast.min.js.map