tab.cjs 3.4 KB

12
  1. "use strict";const t=require("./base-component-njT02uAw.js"),v=require("./collapsingClass-CLblascz.js"),c=require("./activeClass-CxJYQAGN.js"),h=require("./fadeClass-Co6nOzNJ.js"),f=require("./showClass-D_Ms1FgG.js"),T=require("./dropdownClasses-CnEyz_iw.js"),N=require("./dataBsToggle-Dj-Ng54N.js"),p=require("./getTargetElement-Cx6QKLhG.js"),d="tab",q="Tab",w=`[${N.dataBsToggle}="${d}"]`,B=o=>t.to(o,q),P=o=>new M(o),u=t.mo(`show.bs.${d}`),E=t.mo(`shown.bs.${d}`),C=t.mo(`hide.bs.${d}`),_=t.mo(`hidden.bs.${d}`),b=new Map,H=o=>{const{tabContent:n,nav:e}=o;n&&t._n(n,v.collapsingClass)&&(n.style.height="",t.Zn(n,v.collapsingClass)),e&&t.ho.clear(e)},x=o=>{const{element:n,tabContent:e,content:s,nav:l}=o,{tab:a}=t.b(l)&&b.get(l)||{tab:null};if(e&&s&&t._n(s,h.fadeClass)){const{currentHeight:i,nextHeight:r}=b.get(n)||{currentHeight:0,nextHeight:0};i!==r?setTimeout(()=>{e.style.height=`${r}px`,t.bo(e),t.so(e,()=>H(o))},50):H(o)}else l&&t.ho.clear(l);E.relatedTarget=a,t.Z(n,E)},G=o=>{const{element:n,content:e,tabContent:s,nav:l}=o,{tab:a,content:i}=l&&b.get(l)||{tab:null,content:null};let r=0;if(s&&e&&t._n(e,h.fadeClass)&&([i,e].forEach(g=>{g&&t.Gn(g,"overflow-hidden")}),r=i?i.scrollHeight:0),u.relatedTarget=a,_.relatedTarget=n,t.Z(n,u),!u.defaultPrevented){if(e&&t.Gn(e,c.activeClass),i&&t.Zn(i,c.activeClass),s&&e&&t._n(e,h.fadeClass)){const g=e.scrollHeight;b.set(n,{currentHeight:r,nextHeight:g,tab:null,content:null}),t.Gn(s,v.collapsingClass),s.style.height=`${r}px`,t.bo(s),[i,e].forEach(m=>{m&&t.Zn(m,"overflow-hidden")})}e&&e&&t._n(e,h.fadeClass)?setTimeout(()=>{t.Gn(e,f.showClass),t.so(e,()=>{x(o)})},1):(e&&t.Gn(e,f.showClass),x(o)),a&&t.Z(a,_)}},Z=o=>{const{nav:n}=o;if(!t.b(n))return{tab:null,content:null};const e=t.jo(c.activeClass,n);let s=null;e.length===1&&!T.dropdownMenuClasses.some(a=>t._n(e[0].parentElement,a))?[s]=e:e.length>1&&(s=e[e.length-1]);const l=t.b(s)?p.getTargetElement(s):null;return{tab:s,content:l}},$=o=>{if(!t.b(o))return null;const n=t.Ne(o,`.${T.dropdownMenuClasses.join(",.")}`);return n?t.Wo(`.${T.dropdownMenuClasses[0]}-toggle`,n):null},y=o=>{const n=t.Ne(o.target,w),e=n&&B(n);e&&(o.preventDefault(),e.show())};class M extends t.BaseComponent{static selector=w;static init=P;static getInstance=B;constructor(n){super(n);const{element:e}=this,s=p.getTargetElement(e);if(!s)return;const l=t.Ne(e,".nav"),a=t.Ne(s,".tab-content");this.nav=l,this.content=s,this.tabContent=a,this.dropdown=$(e);const{tab:i}=Z(this);if(l&&!i){const r=t.Wo(w,l),g=r&&p.getTargetElement(r);g&&(t.Gn(r,c.activeClass),t.Gn(g,f.showClass),t.Gn(g,c.activeClass),t.Qn(e,t.Be,"true"))}this._toggleEventListeners(!0)}get name(){return q}show(){const{element:n,content:e,nav:s,dropdown:l}=this;if(s&&t.ho.get(s)||t._n(n,c.activeClass))return;const{tab:a,content:i}=Z(this);if(s&&a&&b.set(s,{tab:a,content:i,currentHeight:0,nextHeight:0}),C.relatedTarget=n,!t.b(a)||(t.Z(a,C),C.defaultPrevented))return;t.Gn(n,c.activeClass),t.Qn(n,t.Be,"true");const r=t.b(a)&&$(a);if(r&&t._n(r,c.activeClass)&&t.Zn(r,c.activeClass),s){const g=()=>{a&&(t.Zn(a,c.activeClass),t.Qn(a,t.Be,"false")),l&&!t._n(l,c.activeClass)&&t.Gn(l,c.activeClass)};i&&(t._n(i,h.fadeClass)||e&&t._n(e,h.fadeClass))?t.ho.set(s,g,1):g()}i&&(t.Zn(i,f.showClass),t._n(i,h.fadeClass)?t.so(i,()=>G(this)):G(this))}_toggleEventListeners=n=>{(n?t.E:t.r)(this.element,t.vt,y)};dispose(){this._toggleEventListeners(),super.dispose()}}module.exports=M;
  2. //# sourceMappingURL=tab.cjs.map