UNPKG

b-components-js

Version:

Generate Bootstrap components through JavaScript

8 lines (7 loc) 6.35 kB
/*! * b-components-js v0.0.2 * https://github.com/ZhangChengLin/b-components * Copyright (c) 2020 - 2022 MIT */ !function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(require("bootstrap")):"function"==typeof define&&define.amd?define(["bootstrap"],a):a((e="undefined"!=typeof globalThis?globalThis:e||self).bootstrap)}(this,(function(e){"use strict";const a=e=>null===e,t=e=>"string"==typeof e&&""===e,n=(e,a=!1)=>{const t=document.createElement("button");return t.className=a?"btn-close btn-close-white":"btn-close",t.type="button",t.dataset.bsDismiss=e,t.ariaLabel="Close",t},s=()=>Date.now().toString();Object.assign(window,{bModal:(d,o,c,r,l,i,m,b,f)=>{const u="modalId_"+s(),p=(e=>{const a=document.createElement("div");return a.className="modal fade",a.id=e,a.tabIndex=-1,a.role="dialog",a.setAttribute("aria-labelledby","modalTitleLabel"),a})(u),v=((e="",a=!1,t=!1)=>{const n=document.createElement("div");switch(n.className="modal-dialog",e){case"sm":n.classList.add("modal-sm");break;case"lg":n.classList.add("modal-lg");break;case"xl":n.classList.add("modal-xl");break;case"full":n.classList.add("modal-fullscreen");break;case"full-sm":n.classList.add("modal-fullscreen-sm-down");break;case"full-md":n.classList.add("modal-fullscreen-md-down");break;case"full-lg":n.classList.add("modal-fullscreen-lg-down");break;case"full-xl":n.classList.add("modal-fullscreen-xl-down");break;case"":case"default":break;default:n.classList.add(e)}!0===a&&n.classList.add("modal-dialog-centered");!0===t&&n.classList.add("modal-dialog-scrollable");return n})(r,l,i),h=(()=>{const e=document.createElement("div");return e.className="modal-content",e})(),L=(e=>{if(a(e)||t(e))return"";const s=document.createElement("div"),d=document.createElement("h5");return s.className="modal-header",d.className="modal-title",d.id="modalTitleLabel",e instanceof Function?d.append(e()):e instanceof HTMLElement?d.append(e):d.innerHTML=e,s.append(d,n("modal")),s})(d),E=(e=>{const a=document.createElement("div");return a.className="modal-body",e instanceof Function?a.append(e()):e instanceof HTMLElement?a.append(e):a.innerHTML=e,a})(o),w=(e=>{if(a(e)||t(e))return"";const n=document.createElement("div");return n.className="modal-footer",e instanceof Function?n.append(e()):e instanceof HTMLElement?n.append(e):n.innerHTML=e,n})(c);h.append(L,E,w),v.append(h),p.append(v),document.body.append(p),b&&f&&((e,a,t)=>{switch(a){case"show":e.addEventListener("show.bs.modal",(()=>t()));break;case"shown":e.addEventListener("shown.bs.modal",(()=>t()));break;case"hide":e.addEventListener("hide.bs.modal",(()=>t()));break;case"hidden":e.addEventListener("hidden.bs.modal",(()=>t()));break;case"hidePrevented":e.addEventListener("hidePrevented.bs.modal",(()=>t()))}})(p,b,f);return(m?new e.Modal(p,m):new e.Modal(p)).show(),(a=>{a.addEventListener("hidden.bs.modal",(()=>{e.Modal.getInstance(a).dispose(),setTimeout((()=>{a.remove()}),2e3)}))})(p),u},bOffcanvas:(d,o,c,r,l,i)=>{const m="offcanvasId_"+s(),b=((e,a)=>{const t=document.createElement("div");switch(e=e??"start"){case"start":case"top":case"end":case"bottom":break;default:throw"Placement error"}return t.className=`offcanvas offcanvas-${e}`,t.id=a,t.tabIndex=-1,t.role="dialog",t.setAttribute("aria-labelledby","offcanvasTitleLabel"),t})(c,m),f=(e=>{if(a(e)||t(e))return"";const s=document.createElement("div"),d=document.createElement("h5");return s.className="offcanvas-header",d.className="offcanvas-title",d.id="offcanvasTitleLabel",e instanceof Function?d.append(e()):e instanceof HTMLElement?d.append(e):d.innerHTML=e,s.append(d,n("offcanvas")),s})(d),u=(e=>{const a=document.createElement("div");return a.className="offcanvas-body",e instanceof Function?a.append(e()):e instanceof HTMLElement?a.append(e):a.innerHTML=e,a})(o);b.append(f,u),document.body.append(b),l&&i&&((e,a,t)=>{switch(a){case"show":e.addEventListener("show.bs.offcanvas",(()=>t()));break;case"shown":e.addEventListener("shown.bs.offcanvas",(()=>t()));break;case"hide":e.addEventListener("hide.bs.offcanvas",(()=>t()));break;case"hidden":e.addEventListener("hidden.bs.offcanvas",(()=>t()));break;default:throw"eventsType error"}})(b,l,i);return(r?new e.Offcanvas(b,r):new e.Offcanvas(b)).show(),(a=>{a.addEventListener("hidden.bs.offcanvas",(()=>{e.Offcanvas.getInstance(a).dispose(),setTimeout((()=>{a.remove()}),3e3)}))})(b),m},bToast:(d,o,c,r,l,i)=>{const m="toastId_"+s(),b=(e=>{const a=document.createElement("div");return a.className="position-relative",a.ariaLive=e??"polite",a.ariaAtomic="true",a})(),f=document.querySelector(".toast-container")??(e=>{const a=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 a.className=`toast-container position-fixed ${e}`,a})(c),u=(e=>{const a=document.createElement("div");return a.className="toast",a.id=e,a.role="alert",a.ariaLive="assertive",a.ariaAtomic="true",a})(m),p=(e=>{if(a(e)||t(e))return"";const s=document.createElement("div"),d=document.createElement("strong");return s.className="toast-header",d.className="toast-title me-auto",e instanceof Function?d.append(e()):e instanceof HTMLElement?d.append(e):d.innerHTML=e,s.append(d,n("toast")),s})(d),v=(e=>{const a=document.createElement("div");return a.className="toast-body",e instanceof Function?a.append(e()):e instanceof HTMLElement?a.append(e):a.innerHTML=e,a})(o);u.append(p,v),f.append(u),b.append(f),document.body.append(b),l&&i&&((e,a,t)=>{switch(a){case"show":e.addEventListener("show.bs.toast",(()=>t()));break;case"shown":e.addEventListener("shown.bs.toast",(()=>t()));break;case"hide":e.addEventListener("hide.bs.toast",(()=>t()));break;case"hidden":e.addEventListener("hidden.bs.toast",(()=>t()));break;default:throw"eventsType error"}})(u,l,i);return(r?new e.Toast(u,r):new e.Toast(u)).show(),(a=>{a.addEventListener("hidden.bs.toast",(()=>{e.Toast.getInstance(a).dispose(),setTimeout((()=>{a.remove()}),3e3)}))})(u),m}})})); //# sourceMappingURL=b.bundle.min.js.map