UNPKG

b-components-js

Version:

Generate Bootstrap components through JavaScript

8 lines (7 loc) 2.09 kB
/*! * b-components-js v0.0.2 * https://github.com/ZhangChengLin/b-components * Copyright (c) 2020 - 2022 MIT */ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("bootstrap")):"function"==typeof define&&define.amd?define(["bootstrap"],n):(e="undefined"!=typeof globalThis?globalThis:e||self).bOffcanvas=n(e.bootstrap)}(this,(function(e){"use strict";const n=e=>{if(null===e||(e=>"string"==typeof e&&""===e)(e))return"";const n=document.createElement("div"),t=document.createElement("h5");return n.className="offcanvas-header",t.className="offcanvas-title",t.id="offcanvasTitleLabel",e instanceof Function?t.append(e()):e instanceof HTMLElement?t.append(e):t.innerHTML=e,n.append(t,((e,n=!1)=>{const t=document.createElement("button");return t.className=n?"btn-close btn-close-white":"btn-close",t.type="button",t.dataset.bsDismiss=e,t.ariaLabel="Close",t})("offcanvas")),n};return(t,a,s,o,c,d)=>{const f="offcanvasId_"+Date.now().toString(),r=((e,n)=>{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=n,t.tabIndex=-1,t.role="dialog",t.setAttribute("aria-labelledby","offcanvasTitleLabel"),t})(s,f),i=n(t),l=(e=>{const n=document.createElement("div");return n.className="offcanvas-body",e instanceof Function?n.append(e()):e instanceof HTMLElement?n.append(e):n.innerHTML=e,n})(a);r.append(i,l),document.body.append(r),c&&d&&((e,n,t)=>{switch(n){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"}})(r,c,d);return(o?new e.Offcanvas(r,o):new e.Offcanvas(r)).show(),(n=>{n.addEventListener("hidden.bs.offcanvas",(()=>{e.Offcanvas.getInstance(n).dispose(),setTimeout((()=>{n.remove()}),3e3)}))})(r),f}})); //# sourceMappingURL=bOffcanvas.min.js.map