b-components-js
Version:
Generate Bootstrap components through JavaScript
8 lines (7 loc) • 2.98 kB
JavaScript
/*!
* 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?module.exports=a(require("bootstrap")):"function"==typeof define&&define.amd?define(["bootstrap"],a):(e="undefined"!=typeof globalThis?globalThis:e||self).bModal=a(e.bootstrap)}(this,(function(e){"use strict";const a=e=>null===e,t=e=>"string"==typeof e&&""===e,d=e=>{if(a(e)||t(e))return"";const d=document.createElement("div"),s=document.createElement("h5");return d.className="modal-header",s.className="modal-title",s.id="modalTitleLabel",e instanceof Function?s.append(e()):e instanceof HTMLElement?s.append(e):s.innerHTML=e,d.append(s,((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})("modal")),d};return(s,n,l,o,c,i,r,m,u)=>{const b="modalId_"+Date.now().toString(),f=(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})(b),p=((e="",a=!1,t=!1)=>{const d=document.createElement("div");switch(d.className="modal-dialog",e){case"sm":d.classList.add("modal-sm");break;case"lg":d.classList.add("modal-lg");break;case"xl":d.classList.add("modal-xl");break;case"full":d.classList.add("modal-fullscreen");break;case"full-sm":d.classList.add("modal-fullscreen-sm-down");break;case"full-md":d.classList.add("modal-fullscreen-md-down");break;case"full-lg":d.classList.add("modal-fullscreen-lg-down");break;case"full-xl":d.classList.add("modal-fullscreen-xl-down");break;case"":case"default":break;default:d.classList.add(e)}!0===a&&d.classList.add("modal-dialog-centered");!0===t&&d.classList.add("modal-dialog-scrollable");return d})(o,c,i),L=(()=>{const e=document.createElement("div");return e.className="modal-content",e})(),h=d(s),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})(n),v=(e=>{if(a(e)||t(e))return"";const d=document.createElement("div");return d.className="modal-footer",e instanceof Function?d.append(e()):e instanceof HTMLElement?d.append(e):d.innerHTML=e,d})(l);L.append(h,E,v),p.append(L),f.append(p),document.body.append(f),m&&u&&((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()))}})(f,m,u);return(r?new e.Modal(f,r):new e.Modal(f)).show(),(a=>{a.addEventListener("hidden.bs.modal",(()=>{e.Modal.getInstance(a).dispose(),setTimeout((()=>{a.remove()}),2e3)}))})(f),b}}));
//# sourceMappingURL=bModal.min.js.map